lintje 0.5.0 → 0.6.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/README.md +1 -1
- package/dist-elements/actions.js +1 -5
- package/dist-elements/charts.js +1 -5
- package/dist-elements/chat.js +1 -6
- package/dist-elements/chunks/base-DuuwEY22.js +224 -0
- package/dist-elements/chunks/chart-styles-zJy-DGvZ.js +44 -0
- package/dist-elements/chunks/controls-IwMNNdZt.js +1 -0
- package/dist-elements/chunks/copied-Dx6jfxoK.js +1 -0
- package/dist-elements/chunks/date-format-5bii3QLP.js +1 -0
- package/dist-elements/chunks/debounce-Dfwdcv-z.js +1 -0
- package/dist-elements/chunks/dialog-CuB90unp.js +1 -0
- package/dist-elements/chunks/dialog-close-CIwpGpo7.js +1 -0
- package/dist-elements/chunks/disclosure-DHZz0V4I.js +22 -0
- package/dist-elements/chunks/disclosure-DjLQzn9n.js +1 -0
- package/dist-elements/chunks/download-D1wbtARJ.js +13 -0
- package/dist-elements/chunks/focus-trap-qYvMiFZF.js +1 -0
- package/dist-elements/chunks/frame-resize-observer-BGZg6VbV.js +1 -0
- package/dist-elements/chunks/input-CTxDOlLs.js +1 -0
- package/dist-elements/chunks/input-fzGBdp-5.js +8 -0
- package/dist-elements/chunks/key-CAxrgBxD.js +1 -0
- package/dist-elements/chunks/live-message-CYZ-Ch7D.js +1 -0
- package/dist-elements/chunks/playback-gEUDw038.js +1 -0
- package/dist-elements/chunks/player-Dh7ZHcMF.js +39 -0
- package/dist-elements/chunks/prose-DOF7h3je.js +1 -0
- package/dist-elements/chunks/sentence-DCIShaRE.js +3 -0
- package/dist-elements/chunks/sentence-end-DqHdi7Wb.js +1 -0
- package/dist-elements/chunks/stagger-nGiD5JgJ.js +133 -0
- package/dist-elements/chunks/transition-DZKyyCQs.js +1 -0
- package/dist-elements/content.js +1 -11
- package/dist-elements/core.js +1 -1
- package/dist-elements/custom-elements.json +121 -96
- package/dist-elements/data-types.json +140 -17
- package/dist-elements/dev.js +1 -31
- package/dist-elements/feedback.js +1 -11
- package/dist-elements/filters.js +1 -3
- package/dist-elements/forms.js +1 -7
- package/dist-elements/frame.js +1 -9
- package/dist-elements/guides/dashboard.md +3 -2
- package/dist-elements/guides/events.md +12 -2
- package/dist-elements/guides/loading.md +4 -0
- package/dist-elements/guides/start.md +6 -3
- package/dist-elements/inputs.js +1 -21
- package/dist-elements/layout.js +1 -4
- package/dist-elements/lintje.js +3569 -43561
- package/dist-elements/map.js +1 -1
- package/dist-elements/overlays.js +1 -5
- package/dist-elements/tables.js +1 -9
- package/dist-elements/tag/activity-log.js +10 -58
- package/dist-elements/tag/ai-label.js +5 -38
- package/dist-elements/tag/announcement.js +9 -105
- package/dist-elements/tag/app-search.js +22 -173
- package/dist-elements/tag/audio-player.js +49 -263
- package/dist-elements/tag/badge.js +1 -1
- package/dist-elements/tag/breadcrumbs.js +11 -76
- package/dist-elements/tag/button.js +1 -1
- package/dist-elements/tag/card-list.js +8 -77
- package/dist-elements/tag/card.js +36 -171
- package/dist-elements/tag/chart.js +457 -2291
- package/dist-elements/tag/chat-answer.js +50 -195
- package/dist-elements/tag/chat-composer.js +48 -403
- package/dist-elements/tag/chat-message.js +13 -75
- package/dist-elements/tag/chat-strip.js +20 -100
- package/dist-elements/tag/chat-suggestions.js +8 -51
- package/dist-elements/tag/chat.js +33 -191
- package/dist-elements/tag/checkbox-group.js +6 -46
- package/dist-elements/tag/checkbox.js +8 -47
- package/dist-elements/tag/code.js +9 -55
- package/dist-elements/tag/combobox.js +22 -180
- package/dist-elements/tag/conflict-alert.js +12 -67
- package/dist-elements/tag/copy-button.js +11 -102
- package/dist-elements/tag/data-table.js +302 -1538
- package/dist-elements/tag/date-input.js +28 -157
- package/dist-elements/tag/date-range.js +30 -231
- package/dist-elements/tag/description-list.js +18 -87
- package/dist-elements/tag/dialog.js +10 -120
- package/dist-elements/tag/document-viewer.js +30 -210
- package/dist-elements/tag/drawer.js +10 -86
- package/dist-elements/tag/empty-state.js +1 -58
- package/dist-elements/tag/error-page.js +13 -90
- package/dist-elements/tag/error-summary.js +14 -73
- package/dist-elements/tag/expander.js +5 -68
- package/dist-elements/tag/explainer.js +6 -61
- package/dist-elements/tag/field.js +5 -50
- package/dist-elements/tag/file-upload.js +40 -234
- package/dist-elements/tag/filter-bar.js +48 -221
- package/dist-elements/tag/filter-sheet.js +7 -77
- package/dist-elements/tag/filter-zone.js +25 -202
- package/dist-elements/tag/find.js +16 -110
- package/dist-elements/tag/footer.js +14 -36
- package/dist-elements/tag/form-actions.js +3 -103
- package/dist-elements/tag/form-section.js +6 -49
- package/dist-elements/tag/form.js +5 -291
- package/dist-elements/tag/gallery.js +10 -48
- package/dist-elements/tag/grid-item.js +1 -1
- package/dist-elements/tag/grid.js +1 -1
- package/dist-elements/tag/hero.js +7 -50
- package/dist-elements/tag/highlight.js +3 -57
- package/dist-elements/tag/icon-button.js +1 -1
- package/dist-elements/tag/icon.js +1 -1
- package/dist-elements/tag/job-list.js +4 -117
- package/dist-elements/tag/kpi-row.js +10 -30
- package/dist-elements/tag/kpi.js +74 -357
- package/dist-elements/tag/level-meter.js +9 -52
- package/dist-elements/tag/list.js +36 -225
- package/dist-elements/tag/log-viewer.js +101 -707
- package/dist-elements/tag/logo.js +27 -82
- package/dist-elements/tag/map.js +825 -21851
- package/dist-elements/tag/menu-button.js +35 -286
- package/dist-elements/tag/modal.js +16 -82
- package/dist-elements/tag/multiselect.js +28 -157
- package/dist-elements/tag/note.js +3 -22
- package/dist-elements/tag/notifications.js +31 -157
- package/dist-elements/tag/number-input.js +20 -88
- package/dist-elements/tag/page-header.js +17 -178
- package/dist-elements/tag/pagination.js +31 -232
- package/dist-elements/tag/popover.js +1 -1
- package/dist-elements/tag/progress-bar.js +1 -1
- package/dist-elements/tag/prose.js +1 -31
- package/dist-elements/tag/qr-code.js +6 -878
- package/dist-elements/tag/radio-group.js +11 -53
- package/dist-elements/tag/range.js +28 -222
- package/dist-elements/tag/recording-status.js +10 -82
- package/dist-elements/tag/repeater-row.js +1 -1
- package/dist-elements/tag/repeater.js +8 -139
- package/dist-elements/tag/segmented.js +12 -73
- package/dist-elements/tag/select.js +7 -49
- package/dist-elements/tag/shell.js +257 -998
- package/dist-elements/tag/skeleton.js +1 -1
- package/dist-elements/tag/slot-picker.js +13 -56
- package/dist-elements/tag/sortable-list.js +19 -193
- package/dist-elements/tag/spinner.js +1 -1
- package/dist-elements/tag/split-pane.js +10 -155
- package/dist-elements/tag/status-dot.js +1 -1
- package/dist-elements/tag/stepper.js +18 -118
- package/dist-elements/tag/streaming-text.js +14 -94
- package/dist-elements/tag/sub-nav.js +27 -141
- package/dist-elements/tag/tabs.js +27 -139
- package/dist-elements/tag/tag-input.js +32 -215
- package/dist-elements/tag/text-editor.js +31 -397
- package/dist-elements/tag/text-input.js +21 -110
- package/dist-elements/tag/textarea.js +11 -139
- package/dist-elements/tag/tile.js +1 -1
- package/dist-elements/tag/time-input.js +17 -199
- package/dist-elements/tag/toast.js +12 -100
- package/dist-elements/tag/toggle.js +6 -39
- package/dist-elements/tag/toggletip.js +8 -108
- package/dist-elements/tag/token-value.js +2 -72
- package/dist-elements/tag/tooltip.js +1 -1
- package/dist-elements/tag/transcript.js +31 -278
- package/dist-elements/tag/translator.js +7 -80
- package/dist-elements/tag/tree-view.js +22 -156
- package/dist-elements/tag/user-menu.js +29 -175
- package/dist-elements/tag/video-player.js +15 -154
- package/dist-elements/tokens.css +44 -20
- package/dist-elements/tokens.json +16 -12
- package/dist-elements/types/components/charts/chart/chart.d.ts +9 -1
- package/dist-elements/types/components/content/log-viewer/log-viewer.d.ts +0 -2
- package/dist-elements/types/components/feedback/recording-status/recording-status.d.ts +5 -2
- package/dist-elements/types/components/feedback/streaming-text/streaming-text.d.ts +1 -0
- package/dist-elements/types/components/forms/repeater/repeater.d.ts +1 -1
- package/dist-elements/types/components/forms/stepper/stepper.d.ts +12 -1
- package/dist-elements/types/components/frame/notifications/notifications.d.ts +0 -2
- package/dist-elements/types/components/inputs/checkbox-group/checkbox-group.d.ts +3 -2
- package/dist-elements/types/components/inputs/file-upload/file-upload.d.ts +12 -2
- package/dist-elements/types/components/inputs/find/find.d.ts +0 -3
- package/dist-elements/types/components/inputs/number-input/number-input.d.ts +3 -2
- package/dist-elements/types/components/inputs/range/range.d.ts +1 -0
- package/dist-elements/types/components/inputs/shared/input.d.ts +25 -3
- package/dist-elements/types/components/inputs/tag-input/tag-input.d.ts +0 -1
- package/dist-elements/types/components/map/map/map.d.ts +9 -1
- package/dist-elements/types/components/overlays/popover/popover.d.ts +6 -1
- package/dist-elements/types/components/shared/charts/map-chart/drawings.d.ts +4 -1
- package/dist-elements/types/components/shared/charts/map-chart/leaflet.d.ts +1 -1
- package/dist-elements/types/components/shared/charts/map-chart/map-chart.d.ts +5 -2
- package/dist-elements/types/components/shared/charts/map-chart/marks.d.ts +15 -4
- package/dist-elements/types/components/shared/charts/map-chart/series-style.d.ts +10 -0
- package/dist-elements/types/components/shared/charts/pie-chart/pie-chart.d.ts +2 -1
- package/dist-elements/types/components/shared/charts/shared/axes.d.ts +5 -3
- package/dist-elements/types/components/shared/charts/shared/controller.d.ts +15 -3
- package/dist-elements/types/components/shared/charts/shared/mark-select.d.ts +2 -1
- package/dist-elements/types/components/shared/charts/shared/runs.d.ts +7 -0
- package/dist-elements/types/components/shared/charts/shared/types.d.ts +57 -3
- package/dist-elements/types/components/shared/controls.d.ts +2 -0
- package/dist-elements/types/components/shared/disclosure.d.ts +2 -2
- package/dist-elements/types/components/shared/frame-resize-observer.d.ts +12 -0
- package/dist-elements/types/components/shared/live-message.d.ts +17 -0
- package/dist-elements/types/components/shared/transition.d.ts +12 -0
- package/dist-elements/types/components/tables/card/card.d.ts +0 -5
- package/dist-elements/types/components/tables/card-list/card-list.d.ts +2 -5
- package/dist-elements/types/components/tables/data-table/data-table.d.ts +8 -5
- package/dist-elements/types/components/tables/data-table/filters.d.ts +4 -2
- package/dist-elements/types/components/tables/description-list/description-list.d.ts +3 -2
- package/dist-elements/types/components/tables/sortable-list/sortable-list.d.ts +1 -1
- package/dist-elements/types/core/element.d.ts +5 -2
- package/dist-elements/types/core/links.d.ts +2 -0
- package/dist-elements/types/core/styles.d.ts +2 -0
- package/dist-elements/types/types.d.ts +8 -4
- package/package.json +2 -2
- package/dist-elements/chunks/base-CVKIPSLx.js +0 -2865
- package/dist-elements/chunks/chart-styles-JK4clSyA.js +0 -108
- package/dist-elements/chunks/controls-_4ac1Lpz.js +0 -121
- package/dist-elements/chunks/copied-7BXYVkXT.js +0 -4
- package/dist-elements/chunks/date-format-DxP9yfDp.js +0 -152
- package/dist-elements/chunks/debounce-JXnLMCcF.js +0 -25
- package/dist-elements/chunks/dialog-D4V467iC.js +0 -28
- package/dist-elements/chunks/dialog-close-u75fVEw4.js +0 -4
- package/dist-elements/chunks/disclosure-D39vAR5q.js +0 -4
- package/dist-elements/chunks/disclosure-DVex7Lo_.js +0 -64
- package/dist-elements/chunks/download-D7ZarlMZ.js +0 -103
- package/dist-elements/chunks/focus-trap-rje9Oz19.js +0 -73
- package/dist-elements/chunks/input-DEHA2Z_0.js +0 -195
- package/dist-elements/chunks/input-lQTmOMOz.js +0 -4
- package/dist-elements/chunks/key-CuuOw1KE.js +0 -4
- package/dist-elements/chunks/playback-DZJ_NMXv.js +0 -133
- package/dist-elements/chunks/player-DDDWUevR.js +0 -208
- package/dist-elements/chunks/prose-CmKVp5kL.js +0 -4
- package/dist-elements/chunks/sentence-end-8jlqKJ5P.js +0 -8
- package/dist-elements/chunks/sentence-mY0Iqu5H.js +0 -15
- package/dist-elements/chunks/stagger-Dvkth9_C.js +0 -515
|
@@ -1,120 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "./menu-button.js";
|
|
3
|
-
import "./announcement.js";
|
|
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-DDDWUevR.js";
|
|
6
|
-
//#region src/components/content/audio-player/audio-player.css?inline
|
|
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 screen and (max-width: 767px) {\n .lintje-audio-player__controls,\n .lintje-audio-player__transport { gap: 0; }\n}\n", D = {
|
|
8
|
-
kind: "outage",
|
|
9
|
-
text: "De opname kan niet worden geladen.",
|
|
10
|
-
live: !0
|
|
11
|
-
}, O = (e) => e ? `var(--color-chart-${e})` : null, k = .5, A = class extends w {
|
|
12
|
-
constructor(...n) {
|
|
13
|
-
super(...n), 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 t(this, e), this.observer = null, this.observed = null, this.onRetry = () => {
|
|
14
|
-
this.retry(), this.updateComplete.then(() => this.renderRoot.querySelector(".lintje-player__play")?.focus());
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
static {
|
|
18
|
-
this.styles = [
|
|
19
|
-
s,
|
|
20
|
-
i(l),
|
|
21
|
-
i(n),
|
|
22
|
-
i(T),
|
|
23
|
-
i(E)
|
|
24
|
-
];
|
|
25
|
-
}
|
|
26
|
-
static {
|
|
27
|
-
this.properties = {
|
|
28
|
-
peaks: { attribute: !1 },
|
|
29
|
-
segments: { attribute: !1 },
|
|
30
|
-
noLegend: {
|
|
31
|
-
type: Boolean,
|
|
32
|
-
attribute: "no-legend"
|
|
33
|
-
},
|
|
34
|
-
compact: {
|
|
35
|
-
type: Boolean,
|
|
36
|
-
reflect: !0
|
|
37
|
-
},
|
|
38
|
-
flush: {
|
|
39
|
-
type: Boolean,
|
|
40
|
-
reflect: !0
|
|
41
|
-
},
|
|
42
|
-
hoverTime: { state: !0 },
|
|
43
|
-
waveWidth: { state: !0 },
|
|
44
|
-
volume: { state: !0 },
|
|
45
|
-
muted: { state: !0 }
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
get hasPeaks() {
|
|
49
|
-
return !!(this.peaks && this.peaks.length > 0);
|
|
50
|
-
}
|
|
51
|
-
get colours() {
|
|
52
|
-
return m(this.segments ?? []);
|
|
53
|
-
}
|
|
54
|
-
disconnectedCallback() {
|
|
55
|
-
this.observer?.disconnect(), this.observer = null, this.observed = null, super.disconnectedCallback();
|
|
56
|
-
}
|
|
57
|
-
updated(e) {
|
|
58
|
-
super.updated(e);
|
|
59
|
-
let t = this.renderRoot.querySelector(".lintje-audio-player__wave");
|
|
60
|
-
t !== this.observed && (this.observer?.disconnect(), this.observed = t, t && typeof ResizeObserver < "u" && (this.observer = new ResizeObserver((e) => {
|
|
61
|
-
let t = Math.round(e[0]?.contentRect.width ?? 0);
|
|
62
|
-
t !== this.waveWidth && (this.waveWidth = t);
|
|
63
|
-
}), this.observer.observe(t)));
|
|
64
|
-
}
|
|
65
|
-
sliderLabel() {
|
|
66
|
-
let e = C(this.segments ?? [], this.heard), t = _(this.heard, this.length);
|
|
67
|
-
return e ? `${t}, ${e}` : t;
|
|
68
|
-
}
|
|
69
|
-
setVolume(e) {
|
|
70
|
-
this.volume = e, this.muted = e === 0, this.applyVolume();
|
|
71
|
-
}
|
|
72
|
-
toggleMute() {
|
|
73
|
-
this.muted && this.volume === 0 && (this.volume = k), this.muted = !this.muted, this.applyVolume();
|
|
74
|
-
}
|
|
75
|
-
applyVolume() {
|
|
76
|
-
let e = this.media;
|
|
77
|
-
e && (e.volume = this.volume, e.muted = this.muted);
|
|
78
|
-
}
|
|
79
|
-
onWaveMove(e) {
|
|
80
|
-
let t = e.currentTarget.getBoundingClientRect();
|
|
81
|
-
this.hoverTime = this.ready ? v(e.clientX, t.left, t.width, this.length) : null, this.onSliderPointerMove(e);
|
|
82
|
-
}
|
|
83
|
-
volumeFromPointer(e) {
|
|
84
|
-
let t = e.currentTarget.getBoundingClientRect();
|
|
85
|
-
this.setVolume(Math.round(v(e.clientX, t.left, t.width, 1) * 100) / 100);
|
|
86
|
-
}
|
|
87
|
-
onVolumePointerDown(e) {
|
|
88
|
-
if (e.button !== 0) return;
|
|
89
|
-
let t = e.currentTarget;
|
|
90
|
-
t.setPointerCapture?.(e.pointerId), t.focus(), this.volumeFromPointer(e);
|
|
91
|
-
}
|
|
92
|
-
onVolumePointerMove(e) {
|
|
93
|
-
e.currentTarget.hasPointerCapture?.(e.pointerId) && this.volumeFromPointer(e);
|
|
94
|
-
}
|
|
95
|
-
onVolumeKeydown(e) {
|
|
96
|
-
let t = g(e.key, this.muted ? 0 : this.volume);
|
|
97
|
-
t !== null && (e.preventDefault(), this.setVolume(t));
|
|
98
|
-
}
|
|
99
|
-
onSpeedMenu(e) {
|
|
100
|
-
e.stopPropagation(), this.setSpeed(Number(e.detail));
|
|
101
|
-
}
|
|
102
|
-
renderCursor() {
|
|
103
|
-
let e = this.hoverTime;
|
|
104
|
-
if (e === null) return o;
|
|
105
|
-
let t = C(this.segments ?? [], e);
|
|
106
|
-
return c`<span
|
|
1
|
+
import{$t as e,Jt as t,L as n,St as r,Zt as i,at as a,dt as o,ft as s,in as c,lt as l,nn as u,qt as d}from"../chunks/base-DuuwEY22.js";import"./menu-button.js";import"./announcement.js";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-gEUDw038.js";import{n as w,t as T}from"../chunks/player-Dh7ZHcMF.js";var E=`:host{min-width:0;display:block}:host([hidden]){display:none}.lintje-audio-player{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border-default);background:var(--color-bg-surface);color:var(--color-text-primary);flex-direction:column;display:flex}.lintje-audio-player--compact{align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-2) var(--space-3);flex-flow:wrap}.lintje-audio-player--flush{background:0 0;border:0;padding-inline:0}.lintje-audio-player__controls{align-items:center;gap:var(--space-2);grid-template-columns:minmax(min-content,1fr) auto minmax(min-content,1fr);display:grid}.lintje-audio-player__start{align-items:center;min-width:0;display:flex}.lintje-audio-player__end{justify-content:flex-end;align-items:center;gap:var(--space-4);display:flex}.lintje-audio-player__transport{align-items:center;gap:var(--space-2);flex:none;display:flex}.lintje-audio-player--compact .lintje-audio-player__transport{gap:var(--space-1)}.lintje-audio-player__skip{flex-direction:column}.lintje-audio-player__step{font:var(--text-axis);font-weight:700}.lintje-audio-player__times{margin-top:calc(-1 * var(--space-2));font:var(--text-small);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.lintje-audio-player__legend{gap:var(--space-1) var(--space-5);font:var(--text-small);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.lintje-audio-player--compact .lintje-audio-player__legend{flex-basis:100%}.lintje-audio-player__speaker{align-items:center;gap:var(--space-2);display:flex}.lintje-audio-player__speaker.is-current{font-weight:700}.lintje-audio-player__swatch{width:var(--space-3);height:var(--space-3);flex:none}.lintje-audio-player__now{color:var(--color-text-muted);font-weight:400}.lintje-audio-player__wave{justify-content:space-between;align-items:center;gap:var(--space-1);cursor:pointer;touch-action:none;flex:none;height:48px;display:flex;position:relative;overflow:visible}.lintje-audio-player__peak{background:var(--color-border-heavy);pointer-events:none;flex:0 4px;min-height:2px}.lintje-audio-player__peak.is-played{background:var(--color-accent-line)}.lintje-audio-player__bar{transition:height var(--dur-hover) var(--ease-in-motion), margin var(--dur-hover) var(--ease-in-motion);flex:none}.lintje-audio-player__bar:hover{height:var(--space-2);margin-block:calc((6px - var(--space-2)) / 2)}.lintje-audio-player__stretch{pointer-events:none;position:absolute;top:0;bottom:0}.lintje-audio-player__head{width:var(--space-1);height:var(--space-4);background:var(--color-text-primary);pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.lintje-audio-player__peak.has-speaker,.lintje-audio-player__stretch,.lintje-audio-player__swatch{background:var(--lintje-speaker)}.lintje-audio-player__peak.has-speaker:not(.is-played),.lintje-audio-player__stretch:not(.is-played){opacity:.4}.lintje-audio-player__cursor{background:var(--color-text-primary);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.lintje-audio-player__bar .lintje-audio-player__cursor{top:calc(-1 * var(--space-2));bottom:calc(-1 * var(--space-2))}.lintje-audio-player__cursor-time{bottom:calc(100% + var(--space-1));padding:var(--space-1) var(--space-2);background:var(--color-bg-surface);border:1px solid var(--color-border-popover);box-shadow:var(--shadow-popover);font:var(--text-small);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--color-text-primary);position:absolute;left:50%;transform:translate(-50%)}.lintje-audio-player__volume{align-items:center;gap:var(--space-1);flex:none;display:flex}.lintje-audio-player__level{width:calc(2 * var(--space-10));background:var(--color-border-default);cursor:pointer;touch-action:none;height:6px;position:relative}.lintje-audio-player__level:before{content:"";inset:calc((100% - var(--h-target)) / 2) 0;position:absolute}.lintje-audio-player__level-fill{background:var(--color-accent-line);pointer-events:none;height:100%}.lintje-audio-player__skeleton,.lintje-audio-player__alert{flex:none}.lintje-audio-player--compact .lintje-audio-player__wave,.lintje-audio-player--compact .lintje-audio-player__bar,.lintje-audio-player--compact .lintje-audio-player__skeleton,.lintje-audio-player--compact .lintje-audio-player__alert{flex:240px;min-width:0}.lintje-audio-player__speed{flex:none}@media (forced-colors:active){.lintje-audio-player__peak,.lintje-audio-player__stretch,.lintje-audio-player__swatch,.lintje-audio-player__head,.lintje-audio-player__cursor,.lintje-audio-player__level,.lintje-audio-player__level-fill{forced-color-adjust:none;background:canvastext}.lintje-audio-player__peak.is-played,.lintje-audio-player__stretch.is-played,.lintje-audio-player__level-fill{background:highlight}}@media screen and (width<=767px){.lintje-audio-player__controls,.lintje-audio-player__transport{gap:0}}`,D={kind:`outage`,text:`De opname kan niet worden geladen.`,live:!0},O=e=>e?`var(--color-chart-${e})`:null,k=.5,A=class extends w{constructor(...e){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 t(this,d),this.observer=null,this.observed=null,this.onRetry=()=>{this.retry(),this.updateComplete.then(()=>this.renderRoot.querySelector(`.lintje-player__play`)?.focus())}}static{this.styles=[o,e(a),e(n),e(T),e(E)]}static{this.properties={peaks:{attribute:!1},segments:{attribute:!1},noLegend:{type:Boolean,attribute:`no-legend`},compact:{type:Boolean,reflect:!0},flush:{type:Boolean,reflect:!0},hoverTime:{state:!0},waveWidth:{state:!0},volume:{state:!0},muted:{state:!0}}}get hasPeaks(){return!!(this.peaks&&this.peaks.length>0)}get colours(){return m(this.segments??[])}disconnectedCallback(){this.observer?.disconnect(),this.observer=null,this.observed=null,super.disconnectedCallback()}updated(e){super.updated(e);let t=this.renderRoot.querySelector(`.lintje-audio-player__wave`);t!==this.observed&&(this.observer?.disconnect(),this.observed=t,t&&typeof ResizeObserver<`u`&&(this.observer=new ResizeObserver(e=>{let t=Math.round(e[0]?.contentRect.width??0);t!==this.waveWidth&&(this.waveWidth=t)}),this.observer.observe(t)))}sliderLabel(){let e=C(this.segments??[],this.heard),t=_(this.heard,this.length);return e?`${t}, ${e}`:t}setVolume(e){this.volume=e,this.muted=e===0,this.applyVolume()}toggleMute(){this.muted&&this.volume===0&&(this.volume=k),this.muted=!this.muted,this.applyVolume()}applyVolume(){let e=this.media;e&&(e.volume=this.volume,e.muted=this.muted)}onWaveMove(e){let t=e.currentTarget.getBoundingClientRect();this.hoverTime=this.ready?v(e.clientX,t.left,t.width,this.length):null,this.onSliderPointerMove(e)}volumeFromPointer(e){let t=e.currentTarget.getBoundingClientRect();this.setVolume(Math.round(v(e.clientX,t.left,t.width,1)*100)/100)}onVolumePointerDown(e){if(e.button!==0)return;let t=e.currentTarget;t.setPointerCapture?.(e.pointerId),t.focus(),this.volumeFromPointer(e)}onVolumePointerMove(e){e.currentTarget.hasPointerCapture?.(e.pointerId)&&this.volumeFromPointer(e)}onVolumeKeydown(e){let t=g(e.key,this.muted?0:this.volume);t!==null&&(e.preventDefault(),this.setVolume(t))}onSpeedMenu(e){e.stopPropagation(),this.setSpeed(Number(e.detail))}renderCursor(){let e=this.hoverTime;if(e===null)return u;let t=C(this.segments??[],e);return c`<span
|
|
107
2
|
class="lintje-audio-player__cursor"
|
|
108
3
|
aria-hidden="true"
|
|
109
|
-
${
|
|
4
|
+
${r({left:`${S(e,this.length)*100}%`})}
|
|
110
5
|
><span class="lintje-audio-player__cursor-time"
|
|
111
|
-
>${f(e)}${t
|
|
6
|
+
>${f(e)}${t?` · ${t}`:``}</span
|
|
112
7
|
></span
|
|
113
|
-
|
|
114
|
-
}
|
|
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), o = this.segments ?? [], s = this.colours, l = this.length;
|
|
117
|
-
return c`<div
|
|
8
|
+
>`}renderWave(){let e=this.peaks??[],t=typeof ResizeObserver<`u`&&this.waveWidth===0,n=this.waveWidth>0?x(this.waveWidth):t?0:e.length,i=p(e,n),a=Math.round(S(this.position,this.length)*i.length),o=this.segments??[],s=this.colours,u=this.length;return c`<div
|
|
118
9
|
class="lintje-audio-player__wave"
|
|
119
10
|
role="slider"
|
|
120
11
|
tabindex="0"
|
|
@@ -126,46 +17,19 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
126
17
|
@keydown=${this.onSliderKeydown}
|
|
127
18
|
@pointerdown=${this.onSliderPointerDown}
|
|
128
19
|
@pointermove=${this.onWaveMove}
|
|
129
|
-
@pointerleave=${()
|
|
20
|
+
@pointerleave=${()=>this.hoverTime=null}
|
|
130
21
|
>
|
|
131
|
-
${
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
"lintje-audio-player__peak": !0,
|
|
136
|
-
"is-played": t < i,
|
|
137
|
-
"has-speaker": !!d
|
|
138
|
-
})}
|
|
139
|
-
${a({
|
|
140
|
-
height: `${Math.max(e, .08) * 100}%`,
|
|
141
|
-
"--lintje-speaker": O(d)
|
|
142
|
-
})}
|
|
143
|
-
></span>`;
|
|
144
|
-
})}
|
|
22
|
+
${i.map((e,t)=>{let n=C(o,(t+.5)/i.length*u),d=n?s.get(n):void 0;return c`<span
|
|
23
|
+
class=${l({"lintje-audio-player__peak":!0,"is-played":t<a,"has-speaker":!!d})}
|
|
24
|
+
${r({height:`${Math.max(e,.08)*100}%`,"--lintje-speaker":O(d)})}
|
|
25
|
+
></span>`})}
|
|
145
26
|
<span
|
|
146
27
|
class="lintje-audio-player__head"
|
|
147
28
|
aria-hidden="true"
|
|
148
|
-
${
|
|
29
|
+
${r({left:`${S(this.position,u)*100}%`})}
|
|
149
30
|
></span>
|
|
150
31
|
${this.renderCursor()}
|
|
151
|
-
</div
|
|
152
|
-
}
|
|
153
|
-
renderTrack() {
|
|
154
|
-
let e = this.length, t = S(this.position, e), n = this.colours, r = h(this.segments ?? [], e).flatMap((e) => {
|
|
155
|
-
let r = n.get(e.speaker), i = Math.min(Math.max(t, e.from), e.to);
|
|
156
|
-
return [{
|
|
157
|
-
from: e.from,
|
|
158
|
-
to: i,
|
|
159
|
-
colour: r,
|
|
160
|
-
played: !0
|
|
161
|
-
}, {
|
|
162
|
-
from: i,
|
|
163
|
-
to: e.to,
|
|
164
|
-
colour: r,
|
|
165
|
-
played: !1
|
|
166
|
-
}].filter((e) => e.to > e.from);
|
|
167
|
-
});
|
|
168
|
-
return c`<div
|
|
32
|
+
</div>`}renderTrack(){let e=this.length,t=S(this.position,e),n=this.colours,i=h(this.segments??[],e).flatMap(e=>{let r=n.get(e.speaker),i=Math.min(Math.max(t,e.from),e.to);return[{from:e.from,to:i,colour:r,played:!0},{from:i,to:e.to,colour:r,played:!1}].filter(e=>e.to>e.from)});return c`<div
|
|
169
33
|
class="lintje-player__bar lintje-audio-player__bar"
|
|
170
34
|
role="slider"
|
|
171
35
|
tabindex="0"
|
|
@@ -177,100 +41,53 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
177
41
|
@keydown=${this.onSliderKeydown}
|
|
178
42
|
@pointerdown=${this.onSliderPointerDown}
|
|
179
43
|
@pointermove=${this.onWaveMove}
|
|
180
|
-
@pointerleave=${()
|
|
44
|
+
@pointerleave=${()=>this.hoverTime=null}
|
|
181
45
|
>
|
|
182
|
-
${
|
|
46
|
+
${i.length===0?c`<div
|
|
183
47
|
class="lintje-player__bar-fill"
|
|
184
|
-
${
|
|
185
|
-
></div
|
|
186
|
-
class=${
|
|
187
|
-
|
|
188
|
-
"is-played": e.played
|
|
189
|
-
})}
|
|
190
|
-
${a({
|
|
191
|
-
left: `${e.from * 100}%`,
|
|
192
|
-
width: `${(e.to - e.from) * 100}%`,
|
|
193
|
-
"--lintje-speaker": O(e.colour)
|
|
194
|
-
})}
|
|
48
|
+
${r({width:`${t*100}%`})}
|
|
49
|
+
></div>`:i.map(e=>c`<span
|
|
50
|
+
class=${l({"lintje-audio-player__stretch":!0,"is-played":e.played})}
|
|
51
|
+
${r({left:`${e.from*100}%`,width:`${(e.to-e.from)*100}%`,"--lintje-speaker":O(e.colour)})}
|
|
195
52
|
></span>`)}
|
|
196
53
|
<span
|
|
197
54
|
class="lintje-audio-player__head"
|
|
198
55
|
aria-hidden="true"
|
|
199
|
-
${
|
|
56
|
+
${r({left:`${t*100}%`})}
|
|
200
57
|
></span>
|
|
201
58
|
${this.renderCursor()}
|
|
202
|
-
</div
|
|
203
|
-
}
|
|
204
|
-
renderSlider() {
|
|
205
|
-
return this.failed ? c`<lintje-announcement class="lintje-audio-player__alert" .data=${D}>
|
|
59
|
+
</div>`}renderSlider(){return this.failed?c`<lintje-announcement class="lintje-audio-player__alert" .data=${D}>
|
|
206
60
|
<lintje-button slot="action" variant="link" @click=${this.onRetry}
|
|
207
61
|
>Opnieuw proberen</lintje-button
|
|
208
62
|
>
|
|
209
|
-
</lintje-announcement
|
|
63
|
+
</lintje-announcement>`:this.ready?this.hasPeaks?this.renderWave():this.renderTrack():c`<lintje-skeleton
|
|
210
64
|
class="lintje-audio-player__skeleton"
|
|
211
|
-
height=${this.hasPeaks
|
|
212
|
-
></lintje-skeleton
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
let e = this.colours;
|
|
216
|
-
if (e.size === 0 || this.noLegend) return o;
|
|
217
|
-
let t = C(this.segments ?? [], this.position);
|
|
218
|
-
return c`<ul class="lintje-audio-player__legend" aria-label="Sprekers">
|
|
219
|
-
${[...e].map(([e, n]) => c`<li
|
|
220
|
-
class=${u({
|
|
221
|
-
"lintje-audio-player__speaker": !0,
|
|
222
|
-
"is-current": e === t
|
|
223
|
-
})}
|
|
65
|
+
height=${this.hasPeaks?`48`:`6`}
|
|
66
|
+
></lintje-skeleton>`}renderLegend(){let e=this.colours;if(e.size===0||this.noLegend)return u;let t=C(this.segments??[],this.position);return c`<ul class="lintje-audio-player__legend" aria-label="Sprekers">
|
|
67
|
+
${[...e].map(([e,n])=>c`<li
|
|
68
|
+
class=${l({"lintje-audio-player__speaker":!0,"is-current":e===t})}
|
|
224
69
|
>
|
|
225
70
|
<span
|
|
226
71
|
class="lintje-audio-player__swatch"
|
|
227
72
|
aria-hidden="true"
|
|
228
|
-
${
|
|
73
|
+
${r({"--lintje-speaker":O(n)})}
|
|
229
74
|
></span>
|
|
230
75
|
<span>${e}</span>
|
|
231
|
-
${e
|
|
76
|
+
${e===t?c`<span class="lintje-audio-player__now">spreekt nu</span>`:u}
|
|
232
77
|
</li>`)}
|
|
233
|
-
</ul
|
|
234
|
-
}
|
|
235
|
-
renderSkip(e) {
|
|
236
|
-
let t = `15 seconden ${e < 0 ? "terug" : "vooruit"}`, n = !this.ready;
|
|
237
|
-
return c`<button
|
|
78
|
+
</ul>`}renderSkip(e){let t=`15 seconden ${e<0?`terug`:`vooruit`}`,n=!this.ready;return c`<button
|
|
238
79
|
type="button"
|
|
239
|
-
class=${
|
|
240
|
-
"lintje-icon-button": !0,
|
|
241
|
-
"lintje-icon-button--flat": !0,
|
|
242
|
-
"lintje-player__icon-button": !0,
|
|
243
|
-
"lintje-audio-player__skip": !0,
|
|
244
|
-
"is-disabled": n
|
|
245
|
-
})}
|
|
80
|
+
class=${l({"lintje-icon-button":!0,"lintje-icon-button--flat":!0,"lintje-player__icon-button":!0,"lintje-audio-player__skip":!0,"is-disabled":n})}
|
|
246
81
|
aria-label=${t}
|
|
247
82
|
title=${t}
|
|
248
|
-
aria-disabled=${n
|
|
249
|
-
@click=${()
|
|
250
|
-
n || this.skip(e * 15);
|
|
251
|
-
}}
|
|
83
|
+
aria-disabled=${n?`true`:u}
|
|
84
|
+
@click=${()=>{n||this.skip(e*15)}}
|
|
252
85
|
>
|
|
253
|
-
${
|
|
254
|
-
size: 20,
|
|
255
|
-
flip: e < 0 ? "horizontal" : void 0
|
|
256
|
-
})}
|
|
86
|
+
${s(`functioneel-dubbel-delta-rechts`,{size:20,flip:e<0?`horizontal`:void 0})}
|
|
257
87
|
<span class="lintje-audio-player__step" aria-hidden="true">${15}</span>
|
|
258
|
-
</button
|
|
259
|
-
}
|
|
260
|
-
renderTransport() {
|
|
261
|
-
return c`<div class="lintje-audio-player__transport">
|
|
88
|
+
</button>`}renderTransport(){return c`<div class="lintje-audio-player__transport">
|
|
262
89
|
${this.renderSkip(-1)} ${this.renderPlay()} ${this.renderSkip(1)}
|
|
263
|
-
</div
|
|
264
|
-
}
|
|
265
|
-
renderMute() {
|
|
266
|
-
return this.renderIconButton(this.muted ? "functioneel-geluid-uit" : "functioneel-geluid-aan", "Geluid dempen", () => this.toggleMute(), {
|
|
267
|
-
disabled: !1,
|
|
268
|
-
pressed: this.muted
|
|
269
|
-
});
|
|
270
|
-
}
|
|
271
|
-
renderVolume() {
|
|
272
|
-
let e = this.muted ? 0 : this.volume, t = Math.round(e * 100);
|
|
273
|
-
return c`<div class="lintje-audio-player__volume">
|
|
90
|
+
</div>`}renderMute(){return this.renderIconButton(this.muted?`functioneel-geluid-uit`:`functioneel-geluid-aan`,`Geluid dempen`,()=>this.toggleMute(),{disabled:!1,pressed:this.muted})}renderVolume(){let e=this.muted?0:this.volume,t=Math.round(e*100);return c`<div class="lintje-audio-player__volume">
|
|
274
91
|
${this.renderMute()}
|
|
275
92
|
<div
|
|
276
93
|
class="lintje-audio-player__level"
|
|
@@ -280,74 +97,43 @@ var E = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
|
|
|
280
97
|
aria-valuemin="0"
|
|
281
98
|
aria-valuemax="100"
|
|
282
99
|
aria-valuenow=${t}
|
|
283
|
-
aria-valuetext=${this.muted
|
|
100
|
+
aria-valuetext=${this.muted?`Gedempt`:`${t} procent`}
|
|
284
101
|
@keydown=${this.onVolumeKeydown}
|
|
285
102
|
@pointerdown=${this.onVolumePointerDown}
|
|
286
103
|
@pointermove=${this.onVolumePointerMove}
|
|
287
104
|
>
|
|
288
|
-
<div class="lintje-audio-player__level-fill" ${
|
|
105
|
+
<div class="lintje-audio-player__level-fill" ${r({width:`${t}%`})}></div>
|
|
289
106
|
</div>
|
|
290
|
-
</div
|
|
291
|
-
}
|
|
292
|
-
renderSpeed(e = !1) {
|
|
293
|
-
let t = y.map((e) => ({
|
|
294
|
-
value: String(e.value),
|
|
295
|
-
label: e.label,
|
|
296
|
-
checked: e.value === this.speed,
|
|
297
|
-
radio: !0
|
|
298
|
-
})), n = b(this.speed);
|
|
299
|
-
return c`<lintje-menu-button
|
|
107
|
+
</div>`}renderSpeed(e=!1){let t=y.map(e=>({value:String(e.value),label:e.label,checked:e.value===this.speed,radio:!0})),n=b(this.speed);return c`<lintje-menu-button
|
|
300
108
|
class="lintje-audio-player__speed"
|
|
301
109
|
variant="flat"
|
|
302
110
|
placement="bottom-end"
|
|
303
|
-
leading-icon=${e
|
|
111
|
+
leading-icon=${e?``:`multimedia-player-vooruitspoelen`}
|
|
304
112
|
label=${n}
|
|
305
113
|
accessible-label=${`Afspeelsnelheid ${n}`}
|
|
306
114
|
?disabled=${!this.ready}
|
|
307
115
|
.items=${t}
|
|
308
116
|
@lintje-action=${this.onSpeedMenu}
|
|
309
|
-
></lintje-menu-button
|
|
310
|
-
}
|
|
311
|
-
renderTimes() {
|
|
312
|
-
return c`<div class="lintje-audio-player__times">
|
|
117
|
+
></lintje-menu-button>`}renderTimes(){return c`<div class="lintje-audio-player__times">
|
|
313
118
|
<strong class="lintje-player__position">${f(this.position)}</strong>
|
|
314
119
|
<span class="lintje-player__duration">${f(this.length)}</span>
|
|
315
|
-
</div
|
|
316
|
-
|
|
317
|
-
renderFull(e) {
|
|
318
|
-
return c`${this.renderLegend()} ${this.renderSlider()}
|
|
319
|
-
${e && !this.failed ? this.renderTimes() : o}
|
|
120
|
+
</div>`}renderFull(e){return c`${this.renderLegend()} ${this.renderSlider()}
|
|
121
|
+
${e&&!this.failed?this.renderTimes():u}
|
|
320
122
|
<div class="lintje-audio-player__controls">
|
|
321
123
|
<div class="lintje-audio-player__start">
|
|
322
|
-
${e
|
|
124
|
+
${e?this.renderMute():this.renderTime(!0)}
|
|
323
125
|
</div>
|
|
324
126
|
${this.renderTransport()}
|
|
325
127
|
<div class="lintje-audio-player__end">
|
|
326
|
-
${e
|
|
128
|
+
${e?u:this.renderVolume()} ${this.renderSpeed(e)}
|
|
327
129
|
</div>
|
|
328
|
-
</div
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
return c`${this.renderLegend()} ${this.renderTransport()} ${this.renderSlider()}
|
|
332
|
-
${this.renderTime(!0)} ${this.renderVolume()} ${this.renderSpeed()}`;
|
|
333
|
-
}
|
|
334
|
-
render() {
|
|
335
|
-
let e = this.mobile.matches, t = this.compact && !e;
|
|
336
|
-
return c`<div
|
|
337
|
-
class=${u({
|
|
338
|
-
"lintje-audio-player": !0,
|
|
339
|
-
"lintje-audio-player--compact": t,
|
|
340
|
-
"lintje-audio-player--flush": this.flush
|
|
341
|
-
})}
|
|
130
|
+
</div>`}renderCompact(){return c`${this.renderLegend()} ${this.renderTransport()} ${this.renderSlider()}
|
|
131
|
+
${this.renderTime(!0)} ${this.renderVolume()} ${this.renderSpeed()}`}render(){let e=this.mobile.matches,t=this.compact&&!e;return c`<div
|
|
132
|
+
class=${l({"lintje-audio-player":!0,"lintje-audio-player--compact":t,"lintje-audio-player--flush":this.flush})}
|
|
342
133
|
role="group"
|
|
343
|
-
aria-label=${this.name
|
|
134
|
+
aria-label=${this.name||`Opname`}
|
|
344
135
|
@keydown=${this.onGroupKeydown}
|
|
345
136
|
>
|
|
346
|
-
<audio class="lintje-player__media" preload="metadata" src=${this.src
|
|
347
|
-
${t
|
|
348
|
-
</div
|
|
349
|
-
}
|
|
350
|
-
};
|
|
351
|
-
r("lintje-audio-player", A);
|
|
352
|
-
//#endregion
|
|
353
|
-
export { A as LintjeAudioPlayer };
|
|
137
|
+
<audio class="lintje-player__media" preload="metadata" src=${this.src||u}></audio>
|
|
138
|
+
${t?this.renderCompact():this.renderFull(e)}
|
|
139
|
+
</div>`}};i(`lintje-audio-player`,A);export{A as LintjeAudioPlayer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export{ot as LintjeBadge,st as badgeStyles,ct as renderBadge}from"../chunks/base-DuuwEY22.js";
|
|
@@ -1,90 +1,25 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "./menu-button.js";
|
|
3
|
-
//#region src/components/frame/breadcrumbs/breadcrumbs.css?inline
|
|
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;
|
|
5
|
-
function f(e) {
|
|
6
|
-
return e.length <= 4 ? {
|
|
7
|
-
head: e,
|
|
8
|
-
folded: [],
|
|
9
|
-
tail: []
|
|
10
|
-
} : {
|
|
11
|
-
head: e.slice(0, 1),
|
|
12
|
-
folded: e.slice(1, -2),
|
|
13
|
-
tail: e.slice(-2)
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
var p = class extends n {
|
|
17
|
-
constructor(...t) {
|
|
18
|
-
super(...t), this.items = [], this.label = "Kruimelpad", this.#e = new r(this, e);
|
|
19
|
-
}
|
|
20
|
-
static {
|
|
21
|
-
this.styles = [s, a(u)];
|
|
22
|
-
}
|
|
23
|
-
static {
|
|
24
|
-
this.properties = {
|
|
25
|
-
items: { attribute: !1 },
|
|
26
|
-
label: { type: String }
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
#e;
|
|
30
|
-
follow(e, n) {
|
|
31
|
-
t(e) && this.followLink(n, e);
|
|
32
|
-
}
|
|
33
|
-
renderCrumb(e, t) {
|
|
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
|
-
let n = e.href;
|
|
37
|
-
return c`<a
|
|
1
|
+
import{$t as e,Jt as t,U as n,Xt as r,Zt as i,dt as a,ft as o,in as s,nn as c,qt as l}from"../chunks/base-DuuwEY22.js";import"./menu-button.js";var u=`:host{min-width:0;display:block}:host([hidden]){display:none}.lintje-breadcrumbs{font:var(--text-small);color:var(--color-text-muted)}.lintje-breadcrumbs__list{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.lintje-breadcrumbs__item{align-items:center;gap:var(--space-2);min-width:0;display:inline-flex}.lintje-breadcrumbs__link{color:var(--color-link);transition:color var(--dur-hover) var(--ease-in-motion);text-decoration:underline;position:relative}.lintje-breadcrumbs__link:after{content:"";inset:min(0px, calc((100% - var(--h-target)) / 2)) 0;position:absolute}.lintje-breadcrumbs__link:hover{color:var(--color-link-hover)}.lintje-breadcrumbs__current{color:var(--color-text-primary)}.lintje-breadcrumbs__back{align-items:center;gap:var(--space-1);min-height:var(--h-touch);font:var(--text-ui);color:var(--color-link);font-weight:700;text-decoration:none;display:inline-flex}.lintje-breadcrumbs__back:hover{color:var(--color-link-hover)}`,d=4;function f(e){return e.length<=4?{head:e,folded:[],tail:[]}:{head:e.slice(0,1),folded:e.slice(1,-2),tail:e.slice(-2)}}var p=class extends r{constructor(...e){super(...e),this.items=[],this.label=`Kruimelpad`,this.#e=new t(this,l)}static{this.styles=[a,e(u)]}static{this.properties={items:{attribute:!1},label:{type:String}}}#e;follow(e,t){n(e)&&this.followLink(t,e)}renderCrumb(e,t){if(t)return s`<span class="lintje-breadcrumbs__current" aria-current="page">${e.label}</span>`;if(!e.href)return s`<span class="lintje-breadcrumbs__text">${e.label}</span>`;let n=e.href;return s`<a
|
|
38
2
|
class="lintje-breadcrumbs__link"
|
|
39
3
|
href=${n}
|
|
40
|
-
@click=${
|
|
4
|
+
@click=${e=>this.follow(e,n)}
|
|
41
5
|
>${e.label}</a
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
renderMenu(e) {
|
|
45
|
-
let t = e.map((e, t) => ({
|
|
46
|
-
value: String(t),
|
|
47
|
-
label: e.label,
|
|
48
|
-
href: e.href,
|
|
49
|
-
disabled: !e.href
|
|
50
|
-
}));
|
|
51
|
-
return c`<lintje-menu-button
|
|
6
|
+
>`}renderMenu(e){let t=e.map((e,t)=>({value:String(t),label:e.label,href:e.href,disabled:!e.href}));return s`<lintje-menu-button
|
|
52
7
|
variant="ellipsis"
|
|
53
8
|
label="Tussenliggende niveaus tonen"
|
|
54
9
|
.items=${t}
|
|
55
|
-
@lintje-action=${
|
|
56
|
-
></lintje-menu-button
|
|
57
|
-
}
|
|
58
|
-
renderPhone() {
|
|
59
|
-
let e = this.items.at(-2);
|
|
60
|
-
if (!e?.href) return o;
|
|
61
|
-
let t = e.href;
|
|
62
|
-
return c`<nav class="lintje-breadcrumbs lintje-breadcrumbs--back" aria-label=${this.label}>
|
|
10
|
+
@lintje-action=${e=>e.stopPropagation()}
|
|
11
|
+
></lintje-menu-button>`}renderPhone(){let e=this.items.at(-2);if(!e?.href)return c;let t=e.href;return s`<nav class="lintje-breadcrumbs lintje-breadcrumbs--back" aria-label=${this.label}>
|
|
63
12
|
<a
|
|
64
13
|
class="lintje-breadcrumbs__back"
|
|
65
14
|
href=${t}
|
|
66
|
-
@click=${
|
|
15
|
+
@click=${e=>this.follow(e,t)}
|
|
67
16
|
>
|
|
68
|
-
${
|
|
69
|
-
size: 16,
|
|
70
|
-
flip: "horizontal"
|
|
71
|
-
})}${e.label}
|
|
17
|
+
${o(`functioneel-delta-rechts`,{size:16,flip:`horizontal`})}${e.label}
|
|
72
18
|
</a>
|
|
73
|
-
</nav
|
|
74
|
-
}
|
|
75
|
-
render() {
|
|
76
|
-
if (!this.items.length) return o;
|
|
77
|
-
if (this.#e.matches) return this.renderPhone();
|
|
78
|
-
let { head: e, folded: t, tail: n } = f(this.items), r = this.items.length - 1, i = e.map((e, t) => this.renderCrumb(e, t === r));
|
|
79
|
-
return t.length && (i.push(this.renderMenu(t)), n.forEach((e, t) => i.push(this.renderCrumb(e, t === n.length - 1)))), c`<nav class="lintje-breadcrumbs" aria-label=${this.label}>
|
|
19
|
+
</nav>`}render(){if(!this.items.length)return c;if(this.#e.matches)return this.renderPhone();let{head:e,folded:t,tail:n}=f(this.items),r=this.items.length-1,i=e.map((e,t)=>this.renderCrumb(e,t===r));return t.length&&(i.push(this.renderMenu(t)),n.forEach((e,t)=>i.push(this.renderCrumb(e,t===n.length-1)))),s`<nav class="lintje-breadcrumbs" aria-label=${this.label}>
|
|
80
20
|
<ol class="lintje-breadcrumbs__list">
|
|
81
|
-
${i.map((e,
|
|
82
|
-
${t
|
|
21
|
+
${i.map((e,t)=>s`<li class="lintje-breadcrumbs__item">
|
|
22
|
+
${t?s`<span class="lintje-breadcrumbs__separator" aria-hidden="true">›</span>`:c}${e}
|
|
83
23
|
</li>`)}
|
|
84
24
|
</ol>
|
|
85
|
-
</nav
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
i("lintje-breadcrumbs", p);
|
|
89
|
-
//#endregion
|
|
90
|
-
export { p as LintjeBreadcrumbs, d as MAX_LEVELS, f as trail };
|
|
25
|
+
</nav>`}};i(`lintje-breadcrumbs`,p);export{p as LintjeBreadcrumbs,d as MAX_LEVELS,f as trail};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export{rt as LintjeButton}from"../chunks/base-DuuwEY22.js";
|
|
@@ -1,88 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "./empty-state.js";
|
|
3
|
-
import "./card.js";
|
|
4
|
-
//#region src/components/tables/card-list/card-list.css?inline
|
|
5
|
-
var o = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-card-list {\n --card-list-min: var(--w-card);\n list-style: none; margin: 0; padding: 0;\n display: grid;\n /* A column is never narrower than a card, nor narrower than its share of the most columns. */\n grid-template-columns: repeat(\n auto-fill,\n minmax(\n max(\n min(100%, var(--card-list-min)),\n calc((100% - (var(--card-list-columns) - 1) * var(--grid-gutter)) / var(--card-list-columns))\n ),\n 1fr\n )\n );\n gap: var(--grid-gutter);\n}\n:host([layout='horizontal']) .lintje-card-list { --card-list-min: var(--w-card-wide); }\n.lintje-card-list__item { min-width: 0; }\n\n@media screen and (max-width: 767px) {\n .lintje-card-list { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }\n}\n", s = class extends e {
|
|
6
|
-
constructor(...e) {
|
|
7
|
-
super(...e), this.items = [], this.layout = "vertical", this.headingLevel = 3, this.compact = !1, this.loading = !1, this.loadingCount = 3, this.maxColumns = 3, this.emptyText = "Er is hier nog niets.", this.spoken = "", this.fillFrame = 0;
|
|
8
|
-
}
|
|
9
|
-
static {
|
|
10
|
-
this.styles = n(o);
|
|
11
|
-
}
|
|
12
|
-
static {
|
|
13
|
-
this.properties = {
|
|
14
|
-
items: { attribute: !1 },
|
|
15
|
-
label: { type: String },
|
|
16
|
-
layout: {
|
|
17
|
-
type: String,
|
|
18
|
-
reflect: !0
|
|
19
|
-
},
|
|
20
|
-
headingLevel: {
|
|
21
|
-
type: Number,
|
|
22
|
-
attribute: "heading-level"
|
|
23
|
-
},
|
|
24
|
-
compact: {
|
|
25
|
-
type: Boolean,
|
|
26
|
-
reflect: !0
|
|
27
|
-
},
|
|
28
|
-
loading: {
|
|
29
|
-
type: Boolean,
|
|
30
|
-
reflect: !0
|
|
31
|
-
},
|
|
32
|
-
loadingCount: {
|
|
33
|
-
type: Number,
|
|
34
|
-
attribute: "loading-count"
|
|
35
|
-
},
|
|
36
|
-
maxColumns: {
|
|
37
|
-
type: Number,
|
|
38
|
-
attribute: "max-columns"
|
|
39
|
-
},
|
|
40
|
-
emptyText: {
|
|
41
|
-
type: String,
|
|
42
|
-
attribute: "empty-text"
|
|
43
|
-
},
|
|
44
|
-
spoken: { state: !0 }
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
disconnectedCallback() {
|
|
48
|
-
cancelAnimationFrame(this.fillFrame), this.fillFrame = 0, super.disconnectedCallback();
|
|
49
|
-
}
|
|
50
|
-
updated(e) {
|
|
51
|
-
if (super.updated(e), !e.has("loading")) return;
|
|
52
|
-
let t = e.get("loading");
|
|
53
|
-
if (!this.loading && !t) return;
|
|
54
|
-
let n = this.items.length, r = this.loading ? "Gegevens laden…" : n ? `Gegevens geladen: ${n} ${n === 1 ? "item" : "items"}.` : `Gegevens geladen. ${this.emptyText}`;
|
|
55
|
-
cancelAnimationFrame(this.fillFrame), this.fillFrame = requestAnimationFrame(() => {
|
|
56
|
-
this.fillFrame = 0, this.spoken = r;
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
render() {
|
|
60
|
-
return a`<span class="visually-hidden" role="status">${this.spoken}</span>${this.renderBody()}`;
|
|
61
|
-
}
|
|
62
|
-
renderBody() {
|
|
63
|
-
if (!this.loading && !this.items.length) return a`<lintje-empty-state compact text=${this.emptyText}
|
|
1
|
+
import{$t as e,St as t,Xt as n,Zt as r,in as i,nn as a}from"../chunks/base-DuuwEY22.js";import{t as o}from"../chunks/live-message-CYZ-Ch7D.js";import"./empty-state.js";import"./card.js";var s=`:host{min-width:0;display:block}:host([hidden]){display:none}.lintje-card-list{--card-list-min:var(--w-card);grid-template-columns:repeat(auto-fill, minmax(max(min(100%, var(--card-list-min)), calc((100% - (var(--card-list-columns) - 1) * var(--grid-gutter)) / var(--card-list-columns))), 1fr));gap:var(--grid-gutter);margin:0;padding:0;list-style:none;display:grid}:host([layout=horizontal]) .lintje-card-list{--card-list-min:var(--w-card-wide)}.lintje-card-list__item{min-width:0}@media screen and (width<=767px){.lintje-card-list{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}}`,c=class extends n{constructor(...e){super(...e),this.items=[],this.layout=`vertical`,this.headingLevel=3,this.compact=!1,this.loading=!1,this.loadingCount=3,this.maxColumns=3,this.emptyText=`Er is hier nog niets.`,this.#e=new o(this)}static{this.styles=e(s)}static{this.properties={items:{attribute:!1},label:{type:String},layout:{type:String,reflect:!0},headingLevel:{type:Number,attribute:`heading-level`},compact:{type:Boolean,reflect:!0},loading:{type:Boolean,reflect:!0},loadingCount:{type:Number,attribute:`loading-count`},maxColumns:{type:Number,attribute:`max-columns`},emptyText:{type:String,attribute:`empty-text`}}}#e;willUpdate(e){if(super.willUpdate(e),!e.has(`loading`))return;let t=e.get(`loading`);if(!this.loading&&!t)return;let n=this.items.length,r=this.loading?`Gegevens laden…`:n?`Gegevens geladen: ${n} ${n===1?`item`:`items`}.`:`Gegevens geladen. ${this.emptyText}`;this.#e.say(r)}render(){return i`<span class="visually-hidden" role="status">${this.#e.text}</span>${this.renderBody()}`}renderBody(){if(!this.loading&&!this.items.length)return i`<lintje-empty-state compact text=${this.emptyText}
|
|
64
2
|
><slot name="empty"></slot
|
|
65
|
-
></lintje-empty-state>`;
|
|
66
|
-
let e = this.loading ? Array.from({ length: this.loadingCount }, () => a`<li class="lintje-card-list__item" aria-hidden="true">
|
|
3
|
+
></lintje-empty-state>`;let e=this.loading?Array.from({length:this.loadingCount},()=>i`<li class="lintje-card-list__item" aria-hidden="true">
|
|
67
4
|
<lintje-card loading layout=${this.layout} ?compact=${this.compact}></lintje-card>
|
|
68
|
-
</li>`)
|
|
5
|
+
</li>`):this.items.map(e=>i`<li class="lintje-card-list__item">
|
|
69
6
|
<lintje-card
|
|
70
7
|
.data=${e}
|
|
71
8
|
layout=${this.layout}
|
|
72
9
|
heading-level=${this.headingLevel}
|
|
73
10
|
?compact=${this.compact}
|
|
74
11
|
></lintje-card>
|
|
75
|
-
</li>`),
|
|
76
|
-
return a`<ul
|
|
12
|
+
</li>`),n=Math.max(1,Math.min(this.maxColumns,this.layout===`horizontal`?2:this.maxColumns));return i`<ul
|
|
77
13
|
class="lintje-card-list"
|
|
78
|
-
aria-label=${this.label
|
|
79
|
-
aria-busy=${this.loading
|
|
80
|
-
${
|
|
14
|
+
aria-label=${this.label??a}
|
|
15
|
+
aria-busy=${this.loading?`true`:a}
|
|
16
|
+
${t({"--card-list-columns":n})}
|
|
81
17
|
>
|
|
82
18
|
${e}
|
|
83
|
-
</ul
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
t("lintje-card-list", s);
|
|
87
|
-
//#endregion
|
|
88
|
-
export { s as LintjeCardList };
|
|
19
|
+
</ul>`}};r(`lintje-card-list`,c);export{c as LintjeCardList};
|