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
package/dist-elements/map.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import "./tag/map
|
|
1
|
+
import "./tag/map.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Bt as e, Gt as t, Ht as n,
|
|
1
|
+
import { Bt as e, Gt as t, Ht as n, Z as r, qt as i, zt as a } from "../chunks/base-Bg-IFOPG.js";
|
|
2
2
|
//#region src/components/tables/activity-log/activity-log.css?inline
|
|
3
3
|
var o = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-activity-log {\n font: var(--text-ui);\n color: var(--color-text-primary);\n}\n.lintje-activity-log__heading {\n margin: 0 0 var(--space-3);\n font: var(--text-tile-title);\n}\n.lintje-activity-log__list { list-style: none; margin: 0; padding: 0; }\n\n.lintje-activity-log__entry { display: flex; gap: var(--space-3); }\n.lintje-activity-log__rail {\n flex: 0 0 10px;\n display: flex; flex-direction: column; align-items: center;\n}\n/* The square sits on the sentence's first line; this stub joins it to the square above. */\n.lintje-activity-log__rail::before {\n content: '';\n flex: 0 0 6px;\n width: 2px;\n background: var(--color-border-default);\n}\n.lintje-activity-log__entry.is-newest .lintje-activity-log__rail::before { visibility: hidden; }\n.lintje-activity-log__mark {\n flex: none;\n width: 10px; height: 10px;\n background: var(--color-border-heavy);\n}\n.lintje-activity-log__entry.is-newest .lintje-activity-log__mark { background: var(--color-accent-line); }\n.lintje-activity-log__line {\n flex: 1 1 auto;\n width: 2px;\n background: var(--color-border-default);\n}\n.lintje-activity-log__entry.is-last .lintje-activity-log__line { visibility: hidden; }\n\n.lintje-activity-log__body { min-width: 0; padding-bottom: var(--space-4); }\n.lintje-activity-log__entry.is-last .lintje-activity-log__body { padding-bottom: 0; }\n.lintje-activity-log__what { margin: 0; }\n.lintje-activity-log__who { font-weight: 700; }\n.lintje-activity-log__when {\n display: block;\n font: var(--text-meta);\n color: var(--color-text-muted);\n}\n\n.lintje-activity-log__more { margin-top: var(--space-3); }\n\n/* Forced colours drop fills, so the rail is drawn in the text colour. */\n@media (forced-colors: active) {\n .lintje-activity-log__rail::before,\n .lintje-activity-log__mark,\n .lintje-activity-log__line { forced-color-adjust: none; background: CanvasText; }\n .lintje-activity-log__entry.is-newest .lintje-activity-log__mark { background: Highlight; }\n}\n", s = 10, c = class extends a {
|
|
4
4
|
constructor(...e) {
|
|
@@ -25,16 +25,16 @@ var o = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
25
25
|
if (!this.heading) return t;
|
|
26
26
|
let e = this.heading, n = "lintje-activity-log-heading";
|
|
27
27
|
switch (this.level) {
|
|
28
|
-
case 2: return
|
|
29
|
-
case 4: return
|
|
30
|
-
case 5: return
|
|
31
|
-
case 6: return
|
|
32
|
-
default: return
|
|
28
|
+
case 2: return i`<h2 id=${n} class="lintje-activity-log__heading">${e}</h2>`;
|
|
29
|
+
case 4: return i`<h4 id=${n} class="lintje-activity-log__heading">${e}</h4>`;
|
|
30
|
+
case 5: return i`<h5 id=${n} class="lintje-activity-log__heading">${e}</h5>`;
|
|
31
|
+
case 6: return i`<h6 id=${n} class="lintje-activity-log__heading">${e}</h6>`;
|
|
32
|
+
default: return i`<h3 id=${n} class="lintje-activity-log__heading">${e}</h3>`;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
entry(e, t, n) {
|
|
36
|
-
return
|
|
37
|
-
class=${
|
|
36
|
+
return i`<li
|
|
37
|
+
class=${r({
|
|
38
38
|
"lintje-activity-log__entry": !0,
|
|
39
39
|
"is-newest": t === 0,
|
|
40
40
|
"is-last": n
|
|
@@ -48,13 +48,13 @@ var o = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
48
48
|
<p class="lintje-activity-log__what">
|
|
49
49
|
<strong class="lintje-activity-log__who">${e.who}</strong> ${e.what}
|
|
50
50
|
</p>
|
|
51
|
-
${e.at ?
|
|
51
|
+
${e.at ? i`<time class="lintje-activity-log__when" datetime=${e.at}>${e.when}</time>` : i`<span class="lintje-activity-log__when">${e.when}</span>`}
|
|
52
52
|
</div>
|
|
53
53
|
</li>`;
|
|
54
54
|
}
|
|
55
55
|
render() {
|
|
56
56
|
let e = this.entries.slice(0, Math.max(0, this.limit)), n = this.entries.length - e.length;
|
|
57
|
-
return
|
|
57
|
+
return i`<section class="lintje-activity-log">
|
|
58
58
|
${this.renderHeading()}
|
|
59
59
|
<ol
|
|
60
60
|
class="lintje-activity-log__list"
|
|
@@ -62,7 +62,7 @@ var o = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
62
62
|
>
|
|
63
63
|
${e.map((t, n) => this.entry(t, n, n === e.length - 1))}
|
|
64
64
|
</ol>
|
|
65
|
-
${n > 0 ?
|
|
65
|
+
${n > 0 ? i`<lintje-button
|
|
66
66
|
class="lintje-activity-log__more"
|
|
67
67
|
variant="link"
|
|
68
68
|
@click=${() => void this.showMore()}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { $ as e, Bt as t, Gt as n, Ht as r,
|
|
1
|
+
import { $ as e, Bt as t, Gt as n, Ht as r, X as i, Y as a, et as o, qt as s, zt as c } from "../chunks/base-Bg-IFOPG.js";
|
|
2
2
|
//#region src/components/feedback/ai-label/ai-label.css?inline
|
|
3
3
|
var l = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-ai-label {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--space-2) var(--space-3);\n}\n/* Unlike other badges this one may wrap: a long name would run past a 390 px screen. */\n.lintje-ai-label__box {\n max-width: 100%;\n height: auto;\n min-height: 1.5rem;\n line-height: 1.25;\n white-space: normal;\n}\n.lintje-ai-label__badge { display: inline-flex; align-items: center; gap: var(--space-1); min-width: 0; }\n.lintje-ai-label__icon { flex: none; }\n.lintje-ai-label__hint { font: var(--text-meta); color: var(--color-text-muted); }\n", u = "Controleer de tekst voor je hem gebruikt", d = class extends c {
|
|
4
4
|
static {
|
|
5
5
|
this.styles = [
|
|
6
6
|
e,
|
|
7
|
-
|
|
7
|
+
a,
|
|
8
8
|
r(l)
|
|
9
9
|
];
|
|
10
10
|
}
|
|
@@ -18,18 +18,18 @@ var l = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
render() {
|
|
21
|
-
let e = !!this.checkedBy, t = this.hint ?? (e ? "" : u), r =
|
|
22
|
-
>${
|
|
21
|
+
let e = !!this.checkedBy, t = this.hint ?? (e ? "" : u), r = s`<span class="lintje-ai-label__badge"
|
|
22
|
+
>${o(e ? "functioneel-vinkje" : "gereedschap-half-tandwiel-half-brein", {
|
|
23
23
|
size: 14,
|
|
24
24
|
className: "lintje-ai-label__icon"
|
|
25
25
|
})}<span>${e ? `Gecontroleerd door ${this.checkedBy}` : "Gemaakt door AI"}</span></span
|
|
26
26
|
>`;
|
|
27
|
-
return
|
|
28
|
-
${
|
|
27
|
+
return s`<span class="lintje-ai-label">
|
|
28
|
+
${i({
|
|
29
29
|
value: r,
|
|
30
30
|
tone: "neutral",
|
|
31
31
|
className: "lintje-ai-label__box"
|
|
32
|
-
})}${t ?
|
|
32
|
+
})}${t ? s`<span class="lintje-ai-label__hint">${t}</span>` : n}
|
|
33
33
|
</span>`;
|
|
34
34
|
}
|
|
35
35
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $ as e, Bt as t, Gt as n, H as r, Ht as i,
|
|
2
|
-
import { r as d } from "../chunks/focus-trap-
|
|
1
|
+
import { $ as e, Bt as t, Gt as n, H as r, Ht as i, O as a, S as o, U as s, et as c, k as l, qt as u } from "../chunks/base-Bg-IFOPG.js";
|
|
2
|
+
import { r as d } from "../chunks/focus-trap-9BnE-xWv.js";
|
|
3
3
|
//#region src/components/shared/view-tile.css?inline
|
|
4
4
|
var f = "/*\n * A view element around a tile: the tile fills the host, so the footnote\n * (`margin-top: auto`) reaches the bottom of the grid cell.\n * `display: block` because a standalone custom element is inline.\n */\n:host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) {\n display: none;\n}\n/* `min-height: inherit`: a held host has a min-height and no height, so `100%` resolves to auto. */\nlintje-tile {\n height: 100%;\n min-height: inherit;\n}\n", p = {
|
|
5
5
|
warning: "functioneel-waarschuwing",
|
|
@@ -16,16 +16,16 @@ var f = "/*\n * A view element around a tile: the tile fills the host, so the fo
|
|
|
16
16
|
outage: "Storing",
|
|
17
17
|
info: "Informatie",
|
|
18
18
|
ok: "Gelukt"
|
|
19
|
-
}, g = (e) => `lintje-announcement-dismissed:${e}`, _ = class extends
|
|
19
|
+
}, g = (e) => `lintje-announcement-dismissed:${e}`, _ = class extends a {
|
|
20
20
|
constructor(...e) {
|
|
21
21
|
super(...e), this.compact = !1, this.dismissed = null, this.filled = null, this.fillFrame = 0;
|
|
22
22
|
}
|
|
23
23
|
static {
|
|
24
24
|
this.styles = [
|
|
25
25
|
e,
|
|
26
|
-
|
|
26
|
+
l,
|
|
27
27
|
i(f),
|
|
28
|
-
i(
|
|
28
|
+
i(o)
|
|
29
29
|
];
|
|
30
30
|
}
|
|
31
31
|
static {
|
|
@@ -75,7 +75,7 @@ var f = "/*\n * A view element around a tile: the tile fills the host, so the fo
|
|
|
75
75
|
return e.slice(t + 1).find(n) ?? e.slice(0, t).reverse().find(n) ?? null;
|
|
76
76
|
}
|
|
77
77
|
async close() {
|
|
78
|
-
let e =
|
|
78
|
+
let e = s(this) ? this.neighbour() : null, t = this.data?.announcementId;
|
|
79
79
|
if (t) try {
|
|
80
80
|
localStorage.setItem(g(t), "1");
|
|
81
81
|
} catch {}
|
|
@@ -93,7 +93,7 @@ var f = "/*\n * A view element around a tile: the tile fills the host, so the fo
|
|
|
93
93
|
let e = this.data;
|
|
94
94
|
if (!e || this.isDismissed) return n;
|
|
95
95
|
let t = this.block(e), r = e.tile;
|
|
96
|
-
return r ?
|
|
96
|
+
return r ? u`<lintje-tile
|
|
97
97
|
id=${this.id ? `${this.id}-tile` : n}
|
|
98
98
|
span=${r.span ?? n}
|
|
99
99
|
heading=${r.title ?? n}
|
|
@@ -105,25 +105,25 @@ var f = "/*\n * A view element around a tile: the tile fills the host, so the fo
|
|
|
105
105
|
>` : t;
|
|
106
106
|
}
|
|
107
107
|
block(e) {
|
|
108
|
-
let t = e.kind ?? "warning", r = !!e.dismissible && t !== "outage", i = e.live === !0,
|
|
109
|
-
return
|
|
108
|
+
let t = e.kind ?? "warning", r = !!e.dismissible && t !== "outage", i = e.live === !0, a = i && this.filled !== this.identity;
|
|
109
|
+
return u`<div
|
|
110
110
|
class="lintje-announcement lintje-announcement--${t} ${this.compact ? "is-compact" : ""}"
|
|
111
111
|
role=${i ? m[t] ?? n : n}
|
|
112
112
|
>
|
|
113
|
-
${
|
|
113
|
+
${a ? n : this.content(e, t, r)}
|
|
114
114
|
</div>`;
|
|
115
115
|
}
|
|
116
116
|
content(e, t, r) {
|
|
117
|
-
let i =
|
|
118
|
-
return
|
|
119
|
-
>${p[t] ?
|
|
117
|
+
let i = u`<span class="visually-hidden">${h[t] ?? ""}: </span>`;
|
|
118
|
+
return u`<span class="lintje-announcement__icon" aria-hidden="true"
|
|
119
|
+
>${p[t] ? c(p[t], { size: 16 }) : n}</span
|
|
120
120
|
>
|
|
121
121
|
<div class="lintje-announcement__body">
|
|
122
122
|
<div class="lintje-announcement__content">
|
|
123
|
-
${e.title ?
|
|
124
|
-
${e.text ?
|
|
125
|
-
${e.meta || e.link ?
|
|
126
|
-
${e.meta ?? n}${e.meta && e.link ? " · " : n}${e.link ?
|
|
123
|
+
${e.title ? u`<p class="lintje-announcement__title">${i}${e.title}</p>` : n}
|
|
124
|
+
${e.text ? u`<p class="lintje-announcement__text">${e.title ? n : i}${e.text}</p>` : n}
|
|
125
|
+
${e.meta || e.link ? u`<p class="lintje-announcement__meta">
|
|
126
|
+
${e.meta ?? n}${e.meta && e.link ? " · " : n}${e.link ? u`<a class="lintje-announcement__link" href=${e.link.href}
|
|
127
127
|
>${e.link.label}</a
|
|
128
128
|
>` : n}
|
|
129
129
|
</p>` : n}
|
|
@@ -131,13 +131,13 @@ var f = "/*\n * A view element around a tile: the tile fills the host, so the fo
|
|
|
131
131
|
<slot name="action" class="lintje-announcement__action"></slot>
|
|
132
132
|
</div>
|
|
133
133
|
<slot name="media" class="lintje-announcement__media"></slot>
|
|
134
|
-
${r ?
|
|
134
|
+
${r ? u`<button
|
|
135
135
|
type="button"
|
|
136
136
|
class="lintje-announcement__close"
|
|
137
137
|
aria-label="Mededeling sluiten"
|
|
138
138
|
@click=${() => void this.close()}
|
|
139
139
|
>
|
|
140
|
-
${
|
|
140
|
+
${c("functioneel-kruis", { size: 16 })}
|
|
141
141
|
</button>` : n}`;
|
|
142
142
|
}
|
|
143
143
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $ as e, Bt as t, Gt as n, Ht as r, I as i, It as a,
|
|
2
|
-
import { t as p } from "../chunks/focus-trap-
|
|
1
|
+
import { $ as e, Bt as t, Gt as n, Ht as r, I as i, It as a, Lt as o, Nt as s, St as c, Z as l, et as u, qt as d, zt as f } from "../chunks/base-Bg-IFOPG.js";
|
|
2
|
+
import { t as p } from "../chunks/focus-trap-9BnE-xWv.js";
|
|
3
3
|
import { t as m } from "../chunks/dialog-close-u75fVEw4.js";
|
|
4
4
|
import { t as h } from "../chunks/key-CuuOw1KE.js";
|
|
5
5
|
import { t as g } from "../chunks/debounce-JXnLMCcF.js";
|
|
@@ -20,7 +20,7 @@ function x(e, t, n) {
|
|
|
20
20
|
}
|
|
21
21
|
var S = class extends f {
|
|
22
22
|
constructor(...e) {
|
|
23
|
-
super(...e), this.open = !1, this.label = "Zoeken", this.query = "", this.loading = !1, this.groups = [], this.active = -1, this.#e = new
|
|
23
|
+
super(...e), this.open = !1, this.label = "Zoeken", this.query = "", this.loading = !1, this.groups = [], this.active = -1, this.#e = new o(this, a), this.#t = new g(this, 200), this.#n = `lintje-app-search-${++y}`, this.#r = null, this.#i = null, this.#a = new p(), this.#o = (e) => {
|
|
24
24
|
e.key === "Escape" && this.#a.isTopmost() && this.close("escape");
|
|
25
25
|
};
|
|
26
26
|
}
|
|
@@ -65,7 +65,7 @@ var S = class extends f {
|
|
|
65
65
|
}
|
|
66
66
|
#o;
|
|
67
67
|
connectedCallback() {
|
|
68
|
-
super.connectedCallback(), this.#r =
|
|
68
|
+
super.connectedCallback(), this.#r = c({
|
|
69
69
|
keys: "/",
|
|
70
70
|
description: "Zoeken",
|
|
71
71
|
handler: () => {
|
|
@@ -86,7 +86,7 @@ var S = class extends f {
|
|
|
86
86
|
super.updated(e), this.open && !this.#i ? this.#s() : !this.open && this.#i && this.#c(), e.has("active") && this.active >= 0 && this.renderRoot.querySelector(`#${this.optionId(this.active)}`)?.scrollIntoView?.({ block: "nearest" });
|
|
87
87
|
}
|
|
88
88
|
#s() {
|
|
89
|
-
this.#i =
|
|
89
|
+
this.#i = s(), document.addEventListener("keydown", this.#o);
|
|
90
90
|
let e = this.renderRoot.querySelector(".lintje-app-search");
|
|
91
91
|
e && this.#a.activate(e, { focus: this.input ?? !0 });
|
|
92
92
|
}
|
|
@@ -121,38 +121,38 @@ var S = class extends f {
|
|
|
121
121
|
}
|
|
122
122
|
renderLabel(e) {
|
|
123
123
|
let t = b(e, this.query);
|
|
124
|
-
return t ?
|
|
124
|
+
return t ? d`${t[0]}<strong class="lintje-app-search__match">${t[1]}</strong>${t[2]}` : d`${e}`;
|
|
125
125
|
}
|
|
126
126
|
renderOption(e, t) {
|
|
127
|
-
let r = t === this.active, i =
|
|
127
|
+
let r = t === this.active, i = l({
|
|
128
128
|
"lintje-app-search__option": !0,
|
|
129
129
|
"is-active": r
|
|
130
|
-
}), a =
|
|
131
|
-
return e.href ?
|
|
130
|
+
}), a = d`<span class="lintje-app-search__label">${this.renderLabel(e.label)}</span>${e.meta ? d`<span class="lintje-app-search__meta">${e.meta}</span>` : n}`, o = (t) => this.choose(e, t);
|
|
131
|
+
return e.href ? d`<a
|
|
132
132
|
id=${this.optionId(t)}
|
|
133
133
|
class=${i}
|
|
134
134
|
role="option"
|
|
135
135
|
aria-selected=${String(r)}
|
|
136
136
|
tabindex="-1"
|
|
137
137
|
href=${e.href}
|
|
138
|
-
@click=${
|
|
138
|
+
@click=${o}
|
|
139
139
|
>${a}</a
|
|
140
|
-
>` :
|
|
140
|
+
>` : d`<div
|
|
141
141
|
id=${this.optionId(t)}
|
|
142
142
|
class=${i}
|
|
143
143
|
role="option"
|
|
144
144
|
aria-selected=${String(r)}
|
|
145
|
-
@click=${
|
|
145
|
+
@click=${o}
|
|
146
146
|
>
|
|
147
147
|
${a}
|
|
148
148
|
</div>`;
|
|
149
149
|
}
|
|
150
150
|
renderResults() {
|
|
151
151
|
let e = 0, t = `${this.#n}-list`, r = this.results.length, i = this.query.trim();
|
|
152
|
-
return
|
|
153
|
-
${this.loading ?
|
|
152
|
+
return d`
|
|
153
|
+
${this.loading ? d`<div class="lintje-app-search__busy">
|
|
154
154
|
<lintje-spinner label="Zoeken"></lintje-spinner>
|
|
155
|
-
</div>` : !r && i ?
|
|
155
|
+
</div>` : !r && i ? d`<p class="lintje-app-search__empty">Geen resultaten voor “${i}”</p>` : n}
|
|
156
156
|
<div
|
|
157
157
|
id=${t}
|
|
158
158
|
class="lintje-app-search__list"
|
|
@@ -163,7 +163,7 @@ var S = class extends f {
|
|
|
163
163
|
${this.groups.map((t, r) => {
|
|
164
164
|
if (!t.items.length) return n;
|
|
165
165
|
let i = `${this.#n}-group-${r}`;
|
|
166
|
-
return
|
|
166
|
+
return d`<div class="lintje-app-search__group" role="group" aria-labelledby=${i}>
|
|
167
167
|
<div id=${i} class="lintje-app-search__heading">${t.label}</div>
|
|
168
168
|
${t.items.map((t) => this.renderOption(t, e++))}
|
|
169
169
|
</div>`;
|
|
@@ -174,7 +174,7 @@ var S = class extends f {
|
|
|
174
174
|
render() {
|
|
175
175
|
if (!this.open) return n;
|
|
176
176
|
let e = `${this.#n}-list`, t = this.results.length, r = !this.loading && t > 0;
|
|
177
|
-
return
|
|
177
|
+
return d`<div class="lintje-app-search__scrim" @click=${() => this.close("scrim")}>
|
|
178
178
|
<div
|
|
179
179
|
class="lintje-app-search"
|
|
180
180
|
role="dialog"
|
|
@@ -183,7 +183,7 @@ var S = class extends f {
|
|
|
183
183
|
tabindex="-1"
|
|
184
184
|
@click=${(e) => e.stopPropagation()}
|
|
185
185
|
>
|
|
186
|
-
${this.#e.matches ?
|
|
186
|
+
${this.#e.matches ? d`<div class="lintje-app-search__header">
|
|
187
187
|
<h2 class="lintje-app-search__title">Zoeken</h2>
|
|
188
188
|
<button
|
|
189
189
|
type="button"
|
|
@@ -191,11 +191,11 @@ var S = class extends f {
|
|
|
191
191
|
aria-label="Zoeken sluiten"
|
|
192
192
|
@click=${() => this.close("button")}
|
|
193
193
|
>
|
|
194
|
-
${
|
|
194
|
+
${u("functioneel-kruis", { size: 16 })}
|
|
195
195
|
</button>
|
|
196
196
|
</div>` : n}
|
|
197
197
|
<div class="lintje-app-search__field">
|
|
198
|
-
${
|
|
198
|
+
${u("functioneel-zoek", {
|
|
199
199
|
size: 20,
|
|
200
200
|
className: "lintje-app-search__icon"
|
|
201
201
|
})}
|
|
@@ -225,7 +225,7 @@ var S = class extends f {
|
|
|
225
225
|
<p class="visually-hidden" aria-live="polite">
|
|
226
226
|
${x(t, this.query, this.loading)}
|
|
227
227
|
</p>
|
|
228
|
-
${this.#e.matches ? n :
|
|
228
|
+
${this.#e.matches ? n : d`<p class="lintje-app-search__keys">
|
|
229
229
|
<span class="lintje-app-search__hint"
|
|
230
230
|
><kbd class="lintje-key">↑</kbd><kbd class="lintje-key">↓</kbd> kiezen</span
|
|
231
231
|
>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { $ as e, Bt as t, Gt as n, Ht as r, It as i,
|
|
1
|
+
import { $ as e, Bt as t, Gt as n, Ht as r, It as i, Lt as a, Z as o, et as s, j as c, q as l, qt as u, ut as d } from "../chunks/base-Bg-IFOPG.js";
|
|
2
2
|
import "./menu-button.js";
|
|
3
3
|
import "./announcement.js";
|
|
4
4
|
import { a as f, c as p, d as m, f as h, g, h as _, m as v, n as y, p as b, r as x, s as S, u as C } from "../chunks/playback-DZJ_NMXv.js";
|
|
5
|
-
import { n as w, t as T } from "../chunks/player-
|
|
5
|
+
import { n as w, t as T } from "../chunks/player-DXOZEyEy.js";
|
|
6
6
|
//#region src/components/content/audio-player/audio-player.css?inline
|
|
7
7
|
var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-audio-player {\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n padding: var(--space-4);\n border: 1px solid var(--color-border-default);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n}\n.lintje-audio-player--compact {\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--space-3) var(--space-4);\n padding: var(--space-2) var(--space-3);\n}\n\n/* Flush: the bar the page draws is the frame; the content keeps its own rhythm. */\n.lintje-audio-player--flush { padding-inline: 0; border: 0; background: none; }\n\n/* Play stands in the middle of the row, whatever stands beside it; on a narrow row the sides\n keep their content and the middle gives way a little. */\n.lintje-audio-player__controls {\n display: grid;\n grid-template-columns: minmax(min-content, 1fr) auto minmax(min-content, 1fr);\n align-items: center;\n gap: var(--space-2);\n}\n.lintje-audio-player__start { display: flex; align-items: center; min-width: 0; }\n/* The speed keeps its distance from the volume bar, so it does not read as the bar's value. */\n.lintje-audio-player__end { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-4); }\n.lintje-audio-player__transport { display: flex; align-items: center; gap: var(--space-2); flex: none; }\n.lintje-audio-player--compact .lintje-audio-player__transport { gap: var(--space-1); }\n\n/* The set has no 15-second icon: the step stands under the arrows as text. */\n.lintje-audio-player__skip { flex-direction: column; }\n.lintje-audio-player__step { font: var(--text-axis); font-weight: 700; }\n\n.lintje-audio-player__times {\n display: flex;\n justify-content: space-between;\n margin-top: calc(-1 * var(--space-2));\n font: var(--text-small);\n font-variant-numeric: tabular-nums;\n}\n\n.lintje-audio-player__legend {\n display: flex;\n flex-wrap: wrap;\n gap: var(--space-1) var(--space-5);\n margin: 0;\n padding: 0;\n list-style: none;\n font: var(--text-small);\n}\n.lintje-audio-player--compact .lintje-audio-player__legend { flex-basis: 100%; }\n.lintje-audio-player__speaker { display: flex; align-items: center; gap: var(--space-2); }\n.lintje-audio-player__speaker.is-current { font-weight: 700; }\n.lintje-audio-player__swatch { width: var(--space-3); height: var(--space-3); flex: none; }\n.lintje-audio-player__now { font-weight: 400; color: var(--color-text-muted); }\n\n.lintje-audio-player__wave {\n position: relative;\n flex: none;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-1);\n overflow: visible;\n cursor: pointer;\n touch-action: none;\n}\n.lintje-audio-player__peak {\n flex: 0 1 4px;\n min-height: 2px;\n background: var(--color-border-heavy);\n pointer-events: none;\n}\n.lintje-audio-player__peak.is-played { background: var(--color-accent-line); }\n\n/* The bar thickens under the pointer into its own margin, so nothing around it moves; its hit\n area (`player.css`) stays 48 px. */\n.lintje-audio-player__bar {\n flex: none;\n transition: height var(--dur-hover) var(--ease-in-motion), margin var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-audio-player__bar:hover { height: var(--space-2); margin-block: calc((6px - var(--space-2)) / 2); }\n.lintje-audio-player__stretch { position: absolute; top: 0; bottom: 0; pointer-events: none; }\n.lintje-audio-player__head {\n position: absolute;\n top: 50%;\n width: var(--space-1);\n height: var(--space-4);\n transform: translate(-50%, -50%);\n background: var(--color-text-primary);\n pointer-events: none;\n}\n\n/* One colour per speaker (`--lintje-speaker`, set per bar); what is still to come is quieter. */\n.lintje-audio-player__peak.has-speaker,\n.lintje-audio-player__stretch,\n.lintje-audio-player__swatch { background: var(--lintje-speaker); }\n.lintje-audio-player__peak.has-speaker:not(.is-played),\n.lintje-audio-player__stretch:not(.is-played) { opacity: 0.4; }\n\n.lintje-audio-player__cursor {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 1px;\n background: var(--color-text-primary);\n pointer-events: none;\n}\n.lintje-audio-player__bar .lintje-audio-player__cursor { top: calc(-1 * var(--space-2)); bottom: calc(-1 * var(--space-2)); }\n.lintje-audio-player__cursor-time {\n position: absolute;\n bottom: calc(100% + var(--space-1));\n left: 50%;\n transform: translateX(-50%);\n padding: var(--space-1) var(--space-2);\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-popover);\n box-shadow: var(--shadow-popover);\n font: var(--text-small);\n font-variant-numeric: tabular-nums;\n white-space: nowrap;\n color: var(--color-text-primary);\n}\n\n.lintje-audio-player__volume { display: flex; align-items: center; gap: var(--space-1); flex: none; }\n/* A transparent area above and below the line takes the pointer, as on the position bar. */\n.lintje-audio-player__level {\n position: relative;\n width: calc(2 * var(--space-10));\n height: 6px;\n background: var(--color-border-default);\n cursor: pointer;\n touch-action: none;\n}\n.lintje-audio-player__level::before {\n content: '';\n position: absolute;\n inset: calc((100% - var(--h-target)) / 2) 0;\n}\n.lintje-audio-player__level-fill { height: 100%; background: var(--color-accent-line); pointer-events: none; }\n\n.lintje-audio-player__skeleton,\n.lintje-audio-player__alert { flex: none; }\n/* On one line the slider takes the room the buttons leave. */\n.lintje-audio-player--compact .lintje-audio-player__wave,\n.lintje-audio-player--compact .lintje-audio-player__bar,\n.lintje-audio-player--compact .lintje-audio-player__skeleton,\n.lintje-audio-player--compact .lintje-audio-player__alert { flex: 1 1 240px; min-width: 0; }\n.lintje-audio-player__speed { flex: none; }\n\n/* Forced colours drop fills; the bars keep their drawing in system colours. */\n@media (forced-colors: active) {\n .lintje-audio-player__peak,\n .lintje-audio-player__stretch,\n .lintje-audio-player__swatch,\n .lintje-audio-player__head,\n .lintje-audio-player__cursor,\n .lintje-audio-player__level,\n .lintje-audio-player__level-fill { forced-color-adjust: none; background: CanvasText; }\n .lintje-audio-player__peak.is-played,\n .lintje-audio-player__stretch.is-played,\n .lintje-audio-player__level-fill { background: Highlight; }\n}\n\n/* A phone of 320 px still fits mute, the three buttons and the speed: each keeps its 48 px. */\n@media (max-width: 767px) {\n .lintje-audio-player__controls,\n .lintje-audio-player__transport { gap: 0; }\n}\n", D = {
|
|
8
8
|
kind: "outage",
|
|
@@ -10,15 +10,15 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
10
10
|
live: !0
|
|
11
11
|
}, O = (e) => e ? `var(--color-chart-${e})` : null, k = .5, A = class extends w {
|
|
12
12
|
constructor(...e) {
|
|
13
|
-
super(...e), this.segments = [], this.noLegend = !1, this.compact = !1, this.flush = !1, this.hoverTime = null, this.waveWidth = 0, this.volume = 1, this.muted = !1, this.mediaSelector = "audio", this.mobile = new
|
|
13
|
+
super(...e), this.segments = [], this.noLegend = !1, this.compact = !1, this.flush = !1, this.hoverTime = null, this.waveWidth = 0, this.volume = 1, this.muted = !1, this.mediaSelector = "audio", this.mobile = new a(this, i), this.observer = null, this.observed = null, this.onRetry = () => {
|
|
14
14
|
this.retry(), this.updateComplete.then(() => this.renderRoot.querySelector(".lintje-player__play")?.focus());
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
static {
|
|
18
18
|
this.styles = [
|
|
19
19
|
e,
|
|
20
|
-
r(u),
|
|
21
20
|
r(l),
|
|
21
|
+
r(c),
|
|
22
22
|
r(T),
|
|
23
23
|
r(E)
|
|
24
24
|
];
|
|
@@ -103,7 +103,7 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
103
103
|
let e = this.hoverTime;
|
|
104
104
|
if (e === null) return n;
|
|
105
105
|
let t = C(this.segments ?? [], e);
|
|
106
|
-
return
|
|
106
|
+
return u`<span
|
|
107
107
|
class="lintje-audio-player__cursor"
|
|
108
108
|
aria-hidden="true"
|
|
109
109
|
${d({ left: `${S(e, this.length) * 100}%` })}
|
|
@@ -113,8 +113,8 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
113
113
|
>`;
|
|
114
114
|
}
|
|
115
115
|
renderWave() {
|
|
116
|
-
let e = this.peaks ?? [], t = typeof ResizeObserver < "u" && this.waveWidth === 0, n = this.waveWidth > 0 ? x(this.waveWidth) : t ? 0 : e.length, r = p(e, n), i = Math.round(S(this.position, this.length) * r.length),
|
|
117
|
-
return
|
|
116
|
+
let e = this.peaks ?? [], t = typeof ResizeObserver < "u" && this.waveWidth === 0, n = this.waveWidth > 0 ? x(this.waveWidth) : t ? 0 : e.length, r = p(e, n), i = Math.round(S(this.position, this.length) * r.length), a = this.segments ?? [], s = this.colours, c = this.length;
|
|
117
|
+
return u`<div
|
|
118
118
|
class="lintje-audio-player__wave"
|
|
119
119
|
role="slider"
|
|
120
120
|
tabindex="0"
|
|
@@ -129,23 +129,23 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
129
129
|
@pointerleave=${() => this.hoverTime = null}
|
|
130
130
|
>
|
|
131
131
|
${r.map((e, t) => {
|
|
132
|
-
let n = C(
|
|
133
|
-
return
|
|
134
|
-
class=${
|
|
132
|
+
let n = C(a, (t + .5) / r.length * c), l = n ? s.get(n) : void 0;
|
|
133
|
+
return u`<span
|
|
134
|
+
class=${o({
|
|
135
135
|
"lintje-audio-player__peak": !0,
|
|
136
136
|
"is-played": t < i,
|
|
137
|
-
"has-speaker": !!
|
|
137
|
+
"has-speaker": !!l
|
|
138
138
|
})}
|
|
139
139
|
${d({
|
|
140
140
|
height: `${Math.max(e, .08) * 100}%`,
|
|
141
|
-
"--lintje-speaker": O(
|
|
141
|
+
"--lintje-speaker": O(l)
|
|
142
142
|
})}
|
|
143
143
|
></span>`;
|
|
144
144
|
})}
|
|
145
145
|
<span
|
|
146
146
|
class="lintje-audio-player__head"
|
|
147
147
|
aria-hidden="true"
|
|
148
|
-
${d({ left: `${S(this.position,
|
|
148
|
+
${d({ left: `${S(this.position, c) * 100}%` })}
|
|
149
149
|
></span>
|
|
150
150
|
${this.renderCursor()}
|
|
151
151
|
</div>`;
|
|
@@ -165,7 +165,7 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
165
165
|
played: !1
|
|
166
166
|
}].filter((e) => e.to > e.from);
|
|
167
167
|
});
|
|
168
|
-
return
|
|
168
|
+
return u`<div
|
|
169
169
|
class="lintje-player__bar lintje-audio-player__bar"
|
|
170
170
|
role="slider"
|
|
171
171
|
tabindex="0"
|
|
@@ -179,11 +179,11 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
179
179
|
@pointermove=${this.onWaveMove}
|
|
180
180
|
@pointerleave=${() => this.hoverTime = null}
|
|
181
181
|
>
|
|
182
|
-
${r.length === 0 ?
|
|
182
|
+
${r.length === 0 ? u`<div
|
|
183
183
|
class="lintje-player__bar-fill"
|
|
184
184
|
${d({ width: `${t * 100}%` })}
|
|
185
|
-
></div>` : r.map((e) =>
|
|
186
|
-
class=${
|
|
185
|
+
></div>` : r.map((e) => u`<span
|
|
186
|
+
class=${o({
|
|
187
187
|
"lintje-audio-player__stretch": !0,
|
|
188
188
|
"is-played": e.played
|
|
189
189
|
})}
|
|
@@ -202,11 +202,11 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
202
202
|
</div>`;
|
|
203
203
|
}
|
|
204
204
|
renderSlider() {
|
|
205
|
-
return this.failed ?
|
|
205
|
+
return this.failed ? u`<lintje-announcement compact class="lintje-audio-player__alert" .data=${D}>
|
|
206
206
|
<lintje-button slot="action" variant="link" @click=${this.onRetry}
|
|
207
207
|
>Opnieuw proberen</lintje-button
|
|
208
208
|
>
|
|
209
|
-
</lintje-announcement>` : this.ready ? this.hasPeaks ? this.renderWave() : this.renderTrack() :
|
|
209
|
+
</lintje-announcement>` : this.ready ? this.hasPeaks ? this.renderWave() : this.renderTrack() : u`<lintje-skeleton
|
|
210
210
|
class="lintje-audio-player__skeleton"
|
|
211
211
|
height=${this.hasPeaks ? "48" : "6"}
|
|
212
212
|
></lintje-skeleton>`;
|
|
@@ -215,9 +215,9 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
215
215
|
let e = this.colours;
|
|
216
216
|
if (e.size === 0 || this.noLegend) return n;
|
|
217
217
|
let t = C(this.segments ?? [], this.position);
|
|
218
|
-
return
|
|
219
|
-
${[...e].map(([e, r]) =>
|
|
220
|
-
class=${
|
|
218
|
+
return u`<ul class="lintje-audio-player__legend" aria-label="Sprekers">
|
|
219
|
+
${[...e].map(([e, r]) => u`<li
|
|
220
|
+
class=${o({
|
|
221
221
|
"lintje-audio-player__speaker": !0,
|
|
222
222
|
"is-current": e === t
|
|
223
223
|
})}
|
|
@@ -228,15 +228,15 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
228
228
|
${d({ "--lintje-speaker": O(r) })}
|
|
229
229
|
></span>
|
|
230
230
|
<span>${e}</span>
|
|
231
|
-
${e === t ?
|
|
231
|
+
${e === t ? u`<span class="lintje-audio-player__now">spreekt nu</span>` : n}
|
|
232
232
|
</li>`)}
|
|
233
233
|
</ul>`;
|
|
234
234
|
}
|
|
235
235
|
renderSkip(e) {
|
|
236
236
|
let t = `15 seconden ${e < 0 ? "terug" : "vooruit"}`, r = !this.ready;
|
|
237
|
-
return
|
|
237
|
+
return u`<button
|
|
238
238
|
type="button"
|
|
239
|
-
class=${
|
|
239
|
+
class=${o({
|
|
240
240
|
"lintje-icon-button": !0,
|
|
241
241
|
"lintje-icon-button--flat": !0,
|
|
242
242
|
"lintje-player__icon-button": !0,
|
|
@@ -250,7 +250,7 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
250
250
|
r || this.skip(e * 15);
|
|
251
251
|
}}
|
|
252
252
|
>
|
|
253
|
-
${
|
|
253
|
+
${s("functioneel-dubbel-delta-rechts", {
|
|
254
254
|
size: 20,
|
|
255
255
|
flip: e < 0 ? "horizontal" : void 0
|
|
256
256
|
})}
|
|
@@ -258,7 +258,7 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
258
258
|
</button>`;
|
|
259
259
|
}
|
|
260
260
|
renderTransport() {
|
|
261
|
-
return
|
|
261
|
+
return u`<div class="lintje-audio-player__transport">
|
|
262
262
|
${this.renderSkip(-1)} ${this.renderPlay()} ${this.renderSkip(1)}
|
|
263
263
|
</div>`;
|
|
264
264
|
}
|
|
@@ -270,7 +270,7 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
270
270
|
}
|
|
271
271
|
renderVolume() {
|
|
272
272
|
let e = this.muted ? 0 : this.volume, t = Math.round(e * 100);
|
|
273
|
-
return
|
|
273
|
+
return u`<div class="lintje-audio-player__volume">
|
|
274
274
|
${this.renderMute()}
|
|
275
275
|
<div
|
|
276
276
|
class="lintje-audio-player__level"
|
|
@@ -296,7 +296,7 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
296
296
|
checked: e.value === this.speed,
|
|
297
297
|
radio: !0
|
|
298
298
|
})), n = b(this.speed);
|
|
299
|
-
return
|
|
299
|
+
return u`<lintje-menu-button
|
|
300
300
|
class="lintje-audio-player__speed"
|
|
301
301
|
variant="flat"
|
|
302
302
|
placement="bottom-end"
|
|
@@ -309,13 +309,13 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
309
309
|
></lintje-menu-button>`;
|
|
310
310
|
}
|
|
311
311
|
renderTimes() {
|
|
312
|
-
return
|
|
312
|
+
return u`<div class="lintje-audio-player__times">
|
|
313
313
|
<strong class="lintje-player__position">${f(this.position)}</strong>
|
|
314
314
|
<span class="lintje-player__duration">${f(this.length)}</span>
|
|
315
315
|
</div>`;
|
|
316
316
|
}
|
|
317
317
|
renderFull(e) {
|
|
318
|
-
return
|
|
318
|
+
return u`${this.renderLegend()} ${this.renderSlider()}
|
|
319
319
|
${e && !this.failed ? this.renderTimes() : n}
|
|
320
320
|
<div class="lintje-audio-player__controls">
|
|
321
321
|
<div class="lintje-audio-player__start">
|
|
@@ -328,13 +328,13 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
328
328
|
</div>`;
|
|
329
329
|
}
|
|
330
330
|
renderCompact() {
|
|
331
|
-
return
|
|
331
|
+
return u`${this.renderLegend()} ${this.renderTransport()} ${this.renderSlider()}
|
|
332
332
|
${this.renderTime(!0)} ${this.renderVolume()} ${this.renderSpeed()}`;
|
|
333
333
|
}
|
|
334
334
|
render() {
|
|
335
335
|
let e = this.mobile.matches, t = this.compact && !e;
|
|
336
|
-
return
|
|
337
|
-
class=${
|
|
336
|
+
return u`<div
|
|
337
|
+
class=${o({
|
|
338
338
|
"lintje-audio-player": !0,
|
|
339
339
|
"lintje-audio-player--compact": t,
|
|
340
340
|
"lintje-audio-player--flush": this.flush
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { J as LintjeBadge, Y as badgeStyles, X as renderBadge } from "../chunks/base-
|
|
1
|
+
export { J as LintjeBadge, Y as badgeStyles, X as renderBadge } from "../chunks/base-Bg-IFOPG.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as e, Bt as t, Gt as n, Ht as r, I as i, It as a,
|
|
1
|
+
import { $ as e, Bt as t, Gt as n, Ht as r, I as i, It as a, Lt as o, et as s, qt as c, zt as l } from "../chunks/base-Bg-IFOPG.js";
|
|
2
2
|
import "./menu-button.js";
|
|
3
3
|
//#region src/components/frame/breadcrumbs/breadcrumbs.css?inline
|
|
4
4
|
var u = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-breadcrumbs { font: var(--text-small); color: var(--color-text-muted); }\n.lintje-breadcrumbs__list {\n display: flex; flex-wrap: wrap; align-items: center;\n gap: var(--space-2);\n}\n.lintje-breadcrumbs__item { display: inline-flex; align-items: center; gap: var(--space-2); min-width: 0; }\n\n/* A transparent hit area reaches the target height up and down; sideways stands other content. */\n.lintje-breadcrumbs__link {\n position: relative;\n color: var(--color-link);\n text-decoration: underline;\n transition: color var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-breadcrumbs__link::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n}\n.lintje-breadcrumbs__link:hover { color: var(--color-link-hover); }\n.lintje-breadcrumbs__current { color: var(--color-text-primary); }\n\n/* Below 768 px only the way back stays. */\n.lintje-breadcrumbs__back {\n display: inline-flex; align-items: center; gap: var(--space-1);\n min-height: var(--h-touch);\n font: var(--text-ui);\n font-weight: 700;\n color: var(--color-link);\n text-decoration: none;\n}\n.lintje-breadcrumbs__back:hover { color: var(--color-link-hover); }\n", d = 4;
|
|
@@ -15,7 +15,7 @@ function f(e) {
|
|
|
15
15
|
}
|
|
16
16
|
var p = class extends l {
|
|
17
17
|
constructor(...e) {
|
|
18
|
-
super(...e), this.items = [], this.label = "Kruimelpad", this.#e = new
|
|
18
|
+
super(...e), this.items = [], this.label = "Kruimelpad", this.#e = new o(this, a);
|
|
19
19
|
}
|
|
20
20
|
static {
|
|
21
21
|
this.styles = [e, r(u)];
|
|
@@ -31,10 +31,10 @@ var p = class extends l {
|
|
|
31
31
|
i(e) && this.followLink(t, e);
|
|
32
32
|
}
|
|
33
33
|
renderCrumb(e, t) {
|
|
34
|
-
if (t) return
|
|
35
|
-
if (!e.href) return
|
|
34
|
+
if (t) return c`<span class="lintje-breadcrumbs__current" aria-current="page">${e.label}</span>`;
|
|
35
|
+
if (!e.href) return c`<span class="lintje-breadcrumbs__text">${e.label}</span>`;
|
|
36
36
|
let n = e.href;
|
|
37
|
-
return
|
|
37
|
+
return c`<a
|
|
38
38
|
class="lintje-breadcrumbs__link"
|
|
39
39
|
href=${n}
|
|
40
40
|
@click=${(e) => this.follow(e, n)}
|
|
@@ -48,7 +48,7 @@ var p = class extends l {
|
|
|
48
48
|
href: e.href,
|
|
49
49
|
disabled: !e.href
|
|
50
50
|
}));
|
|
51
|
-
return
|
|
51
|
+
return c`<lintje-menu-button
|
|
52
52
|
variant="ellipsis"
|
|
53
53
|
label="Tussenliggende niveaus tonen"
|
|
54
54
|
.items=${t}
|
|
@@ -59,13 +59,13 @@ var p = class extends l {
|
|
|
59
59
|
let e = this.items.at(-2);
|
|
60
60
|
if (!e?.href) return n;
|
|
61
61
|
let t = e.href;
|
|
62
|
-
return
|
|
62
|
+
return c`<nav class="lintje-breadcrumbs lintje-breadcrumbs--back" aria-label=${this.label}>
|
|
63
63
|
<a
|
|
64
64
|
class="lintje-breadcrumbs__back"
|
|
65
65
|
href=${t}
|
|
66
66
|
@click=${(e) => this.follow(e, t)}
|
|
67
67
|
>
|
|
68
|
-
${
|
|
68
|
+
${s("functioneel-delta-rechts", {
|
|
69
69
|
size: 16,
|
|
70
70
|
flip: "horizontal"
|
|
71
71
|
})}${e.label}
|
|
@@ -76,10 +76,10 @@ var p = class extends l {
|
|
|
76
76
|
if (!this.items.length) return n;
|
|
77
77
|
if (this.#e.matches) return this.renderPhone();
|
|
78
78
|
let { head: e, folded: t, tail: r } = f(this.items), i = this.items.length - 1, a = e.map((e, t) => this.renderCrumb(e, t === i));
|
|
79
|
-
return t.length && (a.push(this.renderMenu(t)), r.forEach((e, t) => a.push(this.renderCrumb(e, t === r.length - 1)))),
|
|
79
|
+
return t.length && (a.push(this.renderMenu(t)), r.forEach((e, t) => a.push(this.renderCrumb(e, t === r.length - 1)))), c`<nav class="lintje-breadcrumbs" aria-label=${this.label}>
|
|
80
80
|
<ol class="lintje-breadcrumbs__list">
|
|
81
|
-
${a.map((e, t) =>
|
|
82
|
-
${t ?
|
|
81
|
+
${a.map((e, t) => c`<li class="lintje-breadcrumbs__item">
|
|
82
|
+
${t ? c`<span class="lintje-breadcrumbs__separator" aria-hidden="true">›</span>` : n}${e}
|
|
83
83
|
</li>`)}
|
|
84
84
|
</ol>
|
|
85
85
|
</nav>`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { K as LintjeButton } from "../chunks/base-
|
|
1
|
+
export { K as LintjeButton } from "../chunks/base-Bg-IFOPG.js";
|