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.
Files changed (177) hide show
  1. package/dist-elements/actions.js +1 -1
  2. package/dist-elements/charts.js +1 -1
  3. package/dist-elements/chunks/{base-rBLTcEIv.js → base-Bg-IFOPG.js} +134 -105
  4. package/dist-elements/chunks/{date-format-B5DPGjAw.js → date-format-mHtZyBys.js} +28 -2
  5. package/dist-elements/chunks/disclosure-BXTX04gM.js +4 -0
  6. package/dist-elements/chunks/{disclosure-CHasOudX.js → disclosure-CMXhX-Vb.js} +7 -7
  7. package/dist-elements/chunks/download-y528pIHP.js +230 -0
  8. package/dist-elements/chunks/{focus-trap-w3vCamJ6.js → focus-trap-9BnE-xWv.js} +1 -1
  9. package/dist-elements/chunks/{input-jQVTln7H.js → input-BtuNFSWk.js} +13 -13
  10. package/dist-elements/chunks/{player-Bq9YGnpt.js → player-DXOZEyEy.js} +24 -24
  11. package/dist-elements/chunks/{sentence-CLNJOeXz.js → sentence-BI3lwEuT.js} +3 -3
  12. package/dist-elements/chunks/{stagger-9hYzxhMG.js → stagger-qGD3wmhg.js} +145 -123
  13. package/dist-elements/core.js +1 -1
  14. package/dist-elements/custom-elements.json +436 -26
  15. package/dist-elements/feedback.js +1 -1
  16. package/dist-elements/guides/dashboard.md +1 -1
  17. package/dist-elements/guides/events.md +3 -2
  18. package/dist-elements/guides/loading.md +3 -3
  19. package/dist-elements/guides/start.md +1 -1
  20. package/dist-elements/inputs.js +1 -0
  21. package/dist-elements/layout.js +1 -1
  22. package/dist-elements/lintje.js +22659 -22216
  23. package/dist-elements/map.js +1 -1
  24. package/dist-elements/overlays.js +1 -1
  25. package/dist-elements/tag/activity-log.js +11 -11
  26. package/dist-elements/tag/ai-label.js +7 -7
  27. package/dist-elements/tag/announcement.js +19 -19
  28. package/dist-elements/tag/app-search.js +21 -21
  29. package/dist-elements/tag/audio-player.js +34 -34
  30. package/dist-elements/tag/badge.js +1 -1
  31. package/dist-elements/tag/breadcrumbs.js +11 -11
  32. package/dist-elements/tag/button.js +1 -1
  33. package/dist-elements/tag/card-list.js +1 -1
  34. package/dist-elements/tag/card.js +25 -25
  35. package/dist-elements/tag/chart.d.ts +1 -0
  36. package/dist-elements/tag/chart.js +1868 -0
  37. package/dist-elements/tag/chat-answer.js +28 -28
  38. package/dist-elements/tag/chat-composer.js +20 -20
  39. package/dist-elements/tag/chat-message.js +9 -9
  40. package/dist-elements/tag/chat-strip.js +16 -16
  41. package/dist-elements/tag/chat-suggestions.js +1 -1
  42. package/dist-elements/tag/chat.js +27 -27
  43. package/dist-elements/tag/checkbox.js +6 -6
  44. package/dist-elements/tag/code.js +8 -8
  45. package/dist-elements/tag/combobox.js +13 -13
  46. package/dist-elements/tag/confirm-dialog.js +6 -6
  47. package/dist-elements/tag/conflict-alert.js +5 -5
  48. package/dist-elements/tag/copy-button.js +7 -7
  49. package/dist-elements/tag/data-table.js +179 -179
  50. package/dist-elements/tag/date-input.js +34 -42
  51. package/dist-elements/tag/date-range.js +33 -33
  52. package/dist-elements/tag/description-list.js +20 -20
  53. package/dist-elements/tag/document-viewer.js +19 -19
  54. package/dist-elements/tag/drawer.js +7 -7
  55. package/dist-elements/tag/empty-state.js +11 -11
  56. package/dist-elements/tag/error-summary.js +8 -8
  57. package/dist-elements/tag/expander.js +7 -7
  58. package/dist-elements/tag/explainer.js +9 -9
  59. package/dist-elements/tag/field.js +4 -4
  60. package/dist-elements/tag/file-upload.js +20 -20
  61. package/dist-elements/tag/filter-bar.js +35 -35
  62. package/dist-elements/tag/filter-sheet.js +6 -6
  63. package/dist-elements/tag/filter-zone.js +21 -21
  64. package/dist-elements/tag/footer.js +1 -1
  65. package/dist-elements/tag/form-actions.js +7 -7
  66. package/dist-elements/tag/form-section.js +3 -3
  67. package/dist-elements/tag/form.js +4 -4
  68. package/dist-elements/tag/gallery.js +6 -6
  69. package/dist-elements/tag/grid-item.js +1 -1
  70. package/dist-elements/tag/grid.js +1 -1
  71. package/dist-elements/tag/hero.js +6 -6
  72. package/dist-elements/tag/highlight.js +6 -6
  73. package/dist-elements/tag/icon-button.js +1 -1
  74. package/dist-elements/tag/icon.js +1 -1
  75. package/dist-elements/tag/job-list.js +6 -6
  76. package/dist-elements/tag/kpi-row.js +7 -5
  77. package/dist-elements/tag/kpi.js +259 -69
  78. package/dist-elements/tag/level-meter.js +5 -5
  79. package/dist-elements/tag/list.js +28 -28
  80. package/dist-elements/tag/logo.js +9 -9
  81. package/dist-elements/tag/map.d.ts +1 -0
  82. package/dist-elements/tag/map.js +21910 -0
  83. package/dist-elements/tag/menu-button.js +48 -47
  84. package/dist-elements/tag/modal.js +9 -9
  85. package/dist-elements/tag/multiselect.js +18 -18
  86. package/dist-elements/tag/note.js +4 -4
  87. package/dist-elements/tag/notifications.js +24 -24
  88. package/dist-elements/tag/number-input.js +8 -8
  89. package/dist-elements/tag/page-header.js +13 -13
  90. package/dist-elements/tag/pagination.js +27 -27
  91. package/dist-elements/tag/popover.js +1 -1
  92. package/dist-elements/tag/progress-bar.js +1 -1
  93. package/dist-elements/tag/prose.js +4 -4
  94. package/dist-elements/tag/qr-code.js +6 -6
  95. package/dist-elements/tag/radio-group.js +7 -7
  96. package/dist-elements/tag/range.js +13 -13
  97. package/dist-elements/tag/recording-status.js +8 -8
  98. package/dist-elements/tag/repeater.js +1 -1
  99. package/dist-elements/tag/segmented.js +7 -7
  100. package/dist-elements/tag/select.js +6 -6
  101. package/dist-elements/tag/session-expiry.js +13 -13
  102. package/dist-elements/tag/shell.js +168 -168
  103. package/dist-elements/tag/shortcuts.js +8 -8
  104. package/dist-elements/tag/skeleton.js +1 -1
  105. package/dist-elements/tag/slot-picker.d.ts +1 -0
  106. package/dist-elements/tag/slot-picker.js +74 -0
  107. package/dist-elements/tag/sortable-list.js +11 -11
  108. package/dist-elements/tag/spinner.js +1 -1
  109. package/dist-elements/tag/split-pane.js +4 -4
  110. package/dist-elements/tag/status-dot.js +1 -1
  111. package/dist-elements/tag/stepper.js +13 -13
  112. package/dist-elements/tag/streaming-text.js +15 -15
  113. package/dist-elements/tag/sub-nav.js +26 -26
  114. package/dist-elements/tag/tabs.js +13 -13
  115. package/dist-elements/tag/tag-input.js +14 -14
  116. package/dist-elements/tag/text-editor.js +7 -7
  117. package/dist-elements/tag/text-input.js +10 -10
  118. package/dist-elements/tag/textarea.js +6 -6
  119. package/dist-elements/tag/tile.js +1 -1
  120. package/dist-elements/tag/time-input.js +136 -42
  121. package/dist-elements/tag/toast.js +10 -10
  122. package/dist-elements/tag/toggle.js +6 -6
  123. package/dist-elements/tag/toggletip.js +11 -11
  124. package/dist-elements/tag/tooltip.js +1 -1
  125. package/dist-elements/tag/transcript.js +31 -31
  126. package/dist-elements/tag/translator.js +7 -7
  127. package/dist-elements/tag/tree-view.js +12 -12
  128. package/dist-elements/tag/user-menu.js +31 -30
  129. package/dist-elements/tag/video-player.js +13 -13
  130. package/dist-elements/tokens.css +2 -0
  131. package/dist-elements/types/bundle/charts.d.ts +1 -1
  132. package/dist-elements/types/bundle/index.d.ts +1 -1
  133. package/dist-elements/types/bundle/inputs.d.ts +1 -0
  134. package/dist-elements/types/bundle/map.d.ts +1 -1
  135. package/dist-elements/types/components/charts/{chart-tile/chart-tile.d.ts → chart/chart.d.ts} +7 -7
  136. package/dist-elements/types/components/charts/kpi/gauge.d.ts +18 -0
  137. package/dist-elements/types/components/charts/kpi/kpi.d.ts +28 -3
  138. package/dist-elements/types/components/chat/chat-answer/chat-answer.d.ts +1 -1
  139. package/dist-elements/types/components/index.d.ts +8 -5
  140. package/dist-elements/types/components/inputs/date-input/date-format.d.ts +4 -0
  141. package/dist-elements/types/components/inputs/slot-picker/slot-picker.d.ts +41 -0
  142. package/dist-elements/types/components/inputs/time-input/time-format.d.ts +4 -0
  143. package/dist-elements/types/components/inputs/time-input/time-input.d.ts +25 -6
  144. package/dist-elements/types/components/map/{map-tile/map-tile.d.ts → map/map.d.ts} +10 -6
  145. package/dist-elements/types/components/shared/charts/histogram-chart/histogram-chart.d.ts +33 -0
  146. package/dist-elements/types/components/shared/charts/index.d.ts +3 -1
  147. package/dist-elements/types/components/shared/charts/map-chart/area.d.ts +16 -0
  148. package/dist-elements/types/components/shared/charts/map-chart/drawings.d.ts +6 -2
  149. package/dist-elements/types/components/shared/charts/map-chart/geo.d.ts +6 -0
  150. package/dist-elements/types/components/shared/charts/map-chart/leaflet.d.ts +40 -2
  151. package/dist-elements/types/components/shared/charts/map-chart/map-chart.d.ts +17 -3
  152. package/dist-elements/types/components/shared/charts/map-chart/map-legend.d.ts +26 -0
  153. package/dist-elements/types/components/shared/charts/map-chart/marks.d.ts +47 -0
  154. package/dist-elements/types/components/shared/charts/map-chart/reveal.d.ts +1 -1
  155. package/dist-elements/types/components/shared/charts/scatter-chart/scatter-chart.d.ts +29 -0
  156. package/dist-elements/types/components/shared/charts/shared/axes.d.ts +21 -4
  157. package/dist-elements/types/components/shared/charts/shared/chart-icons.d.ts +4 -3
  158. package/dist-elements/types/components/shared/charts/shared/controller.d.ts +27 -15
  159. package/dist-elements/types/components/shared/charts/shared/types.d.ts +112 -6
  160. package/dist-elements/types/core/format.d.ts +5 -2
  161. package/dist-elements/types/icons/register.d.ts +1 -1
  162. package/dist-elements/types/primitives/shared/place.d.ts +1 -1
  163. package/dist-elements/types/primitives/tooltip/tooltip.d.ts +2 -0
  164. package/dist-elements/types/types.d.ts +37 -7
  165. package/dist-icons/functioneel-cirkelselectie.svg +1 -0
  166. package/dist-icons/functioneel-lasso.svg +1 -0
  167. package/dist-icons/functioneel-punaise-outline.svg +1 -0
  168. package/dist-icons/functioneel-punaise.svg +1 -0
  169. package/dist-icons/functioneel-rechthoekselectie.svg +1 -0
  170. package/dist-icons/functioneel-selectie.svg +1 -0
  171. package/package.json +1 -1
  172. package/dist-elements/chunks/disclosure-Z7Ny17sS.js +0 -4
  173. package/dist-elements/chunks/download-lFooAfD1.js +0 -226
  174. package/dist-elements/tag/chart-tile.d.ts +0 -1
  175. package/dist-elements/tag/chart-tile.js +0 -1474
  176. package/dist-elements/tag/map-tile.d.ts +0 -1
  177. package/dist-elements/tag/map-tile.js +0 -22292
@@ -1 +1 @@
1
- import "./tag/map-tile.js";
1
+ import "./tag/map.js";
@@ -1,4 +1,4 @@
1
- import "./chunks/base-rBLTcEIv.js";
1
+ import "./chunks/base-Bg-IFOPG.js";
2
2
  import "./tag/modal.js";
3
3
  import "./tag/confirm-dialog.js";
4
4
  import "./tag/drawer.js";
@@ -1,4 +1,4 @@
1
- import { Bt as e, Gt as t, Ht as n, Kt as r, Z as i, zt as a } from "../chunks/base-rBLTcEIv.js";
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 r`<h2 id=${n} class="lintje-activity-log__heading">${e}</h2>`;
29
- case 4: return r`<h4 id=${n} class="lintje-activity-log__heading">${e}</h4>`;
30
- case 5: return r`<h5 id=${n} class="lintje-activity-log__heading">${e}</h5>`;
31
- case 6: return r`<h6 id=${n} class="lintje-activity-log__heading">${e}</h6>`;
32
- default: return r`<h3 id=${n} class="lintje-activity-log__heading">${e}</h3>`;
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 r`<li
37
- class=${i({
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 ? r`<time class="lintje-activity-log__when" datetime=${e.at}>${e.when}</time>` : r`<span class="lintje-activity-log__when">${e.when}</span>`}
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 r`<section class="lintje-activity-log">
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 ? r`<lintje-button
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, Kt as i, X as a, Y as o, et as s, zt as c } from "../chunks/base-rBLTcEIv.js";
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
- o,
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 = i`<span class="lintje-ai-label__badge"
22
- >${s(e ? "functioneel-vinkje" : "gereedschap-half-tandwiel-half-brein", {
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 i`<span class="lintje-ai-label">
28
- ${a({
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 ? i`<span class="lintje-ai-label__hint">${t}</span>` : n}
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, Kt as a, O as o, S as s, U as c, et as l, k as u } from "../chunks/base-rBLTcEIv.js";
2
- import { r as d } from "../chunks/focus-trap-w3vCamJ6.js";
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 o {
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
- u,
26
+ l,
27
27
  i(f),
28
- i(s)
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 = c(this) ? this.neighbour() : null, t = this.data?.announcementId;
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 ? a`<lintje-tile
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, o = i && this.filled !== this.identity;
109
- return a`<div
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
- ${o ? n : this.content(e, t, r)}
113
+ ${a ? n : this.content(e, t, r)}
114
114
  </div>`;
115
115
  }
116
116
  content(e, t, r) {
117
- let i = a`<span class="visually-hidden">${h[t] ?? ""}: </span>`;
118
- return a`<span class="lintje-announcement__icon" aria-hidden="true"
119
- >${p[t] ? l(p[t], { size: 16 }) : n}</span
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 ? a`<p class="lintje-announcement__title">${i}${e.title}</p>` : n}
124
- ${e.text ? a`<p class="lintje-announcement__text">${e.title ? n : i}${e.text}</p>` : n}
125
- ${e.meta || e.link ? a`<p class="lintje-announcement__meta">
126
- ${e.meta ?? n}${e.meta && e.link ? " · " : n}${e.link ? a`<a class="lintje-announcement__link" href=${e.link.href}
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 ? a`<button
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
- ${l("functioneel-kruis", { size: 16 })}
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, Kt as o, Lt as s, Nt as c, St as l, Z as u, et as d, zt as f } from "../chunks/base-rBLTcEIv.js";
2
- import { t as p } from "../chunks/focus-trap-w3vCamJ6.js";
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 s(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) => {
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 = l({
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 = c(), document.addEventListener("keydown", this.#o);
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 ? o`${t[0]}<strong class="lintje-app-search__match">${t[1]}</strong>${t[2]}` : o`${e}`;
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 = u({
127
+ let r = t === this.active, i = l({
128
128
  "lintje-app-search__option": !0,
129
129
  "is-active": r
130
- }), a = o`<span class="lintje-app-search__label">${this.renderLabel(e.label)}</span>${e.meta ? o`<span class="lintje-app-search__meta">${e.meta}</span>` : n}`, s = (t) => this.choose(e, t);
131
- return e.href ? o`<a
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=${s}
138
+ @click=${o}
139
139
  >${a}</a
140
- >` : o`<div
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=${s}
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 o`
153
- ${this.loading ? o`<div class="lintje-app-search__busy">
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 ? o`<p class="lintje-app-search__empty">Geen resultaten voor “${i}”</p>` : n}
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 o`<div class="lintje-app-search__group" role="group" aria-labelledby=${i}>
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 o`<div class="lintje-app-search__scrim" @click=${() => this.close("scrim")}>
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 ? o`<div class="lintje-app-search__header">
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
- ${d("functioneel-kruis", { size: 16 })}
194
+ ${u("functioneel-kruis", { size: 16 })}
195
195
  </button>
196
196
  </div>` : n}
197
197
  <div class="lintje-app-search__field">
198
- ${d("functioneel-zoek", {
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 : o`<p class="lintje-app-search__keys">
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, Kt as a, Lt as o, Z as s, et as c, j as l, q as u, ut as d } from "../chunks/base-rBLTcEIv.js";
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-Bq9YGnpt.js";
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 o(this, i), this.observer = null, this.observed = null, this.onRetry = () => {
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 a`<span
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), o = this.segments ?? [], c = this.colours, l = this.length;
117
- return a`<div
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(o, (t + .5) / r.length * l), u = n ? c.get(n) : void 0;
133
- return a`<span
134
- class=${s({
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": !!u
137
+ "has-speaker": !!l
138
138
  })}
139
139
  ${d({
140
140
  height: `${Math.max(e, .08) * 100}%`,
141
- "--lintje-speaker": O(u)
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, l) * 100}%` })}
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 a`<div
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 ? a`<div
182
+ ${r.length === 0 ? u`<div
183
183
  class="lintje-player__bar-fill"
184
184
  ${d({ width: `${t * 100}%` })}
185
- ></div>` : r.map((e) => a`<span
186
- class=${s({
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 ? a`<lintje-announcement compact class="lintje-audio-player__alert" .data=${D}>
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() : a`<lintje-skeleton
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 a`<ul class="lintje-audio-player__legend" aria-label="Sprekers">
219
- ${[...e].map(([e, r]) => a`<li
220
- class=${s({
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 ? a`<span class="lintje-audio-player__now">spreekt nu</span>` : n}
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 a`<button
237
+ return u`<button
238
238
  type="button"
239
- class=${s({
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
- ${c("functioneel-dubbel-delta-rechts", {
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 a`<div class="lintje-audio-player__transport">
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 a`<div class="lintje-audio-player__volume">
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 a`<lintje-menu-button
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 a`<div class="lintje-audio-player__times">
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 a`${this.renderLegend()} ${this.renderSlider()}
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 a`${this.renderLegend()} ${this.renderTransport()} ${this.renderSlider()}
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 a`<div
337
- class=${s({
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-rBLTcEIv.js";
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, Kt as o, Lt as s, et as c, zt as l } from "../chunks/base-rBLTcEIv.js";
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 s(this, a);
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 o`<span class="lintje-breadcrumbs__current" aria-current="page">${e.label}</span>`;
35
- if (!e.href) return o`<span class="lintje-breadcrumbs__text">${e.label}</span>`;
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 o`<a
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 o`<lintje-menu-button
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 o`<nav class="lintje-breadcrumbs lintje-breadcrumbs--back" aria-label=${this.label}>
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
- ${c("functioneel-delta-rechts", {
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)))), o`<nav class="lintje-breadcrumbs" aria-label=${this.label}>
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) => o`<li class="lintje-breadcrumbs__item">
82
- ${t ? o`<span class="lintje-breadcrumbs__separator" aria-hidden="true">›</span>` : n}${e}
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-rBLTcEIv.js";
1
+ export { K as LintjeButton } from "../chunks/base-Bg-IFOPG.js";