lintje 0.4.0 → 0.5.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 (143) hide show
  1. package/dist-elements/actions.js +1 -1
  2. package/dist-elements/chunks/{base-DRGvkF-r.js → base-CVKIPSLx.js} +99 -96
  3. package/dist-elements/chunks/chart-styles-JK4clSyA.js +108 -0
  4. package/dist-elements/chunks/{dialog-B7aRBtjy.js → dialog-D4V467iC.js} +2 -2
  5. package/dist-elements/chunks/{disclosure-DirPLy2E.js → disclosure-DVex7Lo_.js} +1 -1
  6. package/dist-elements/chunks/download-D7ZarlMZ.js +103 -0
  7. package/dist-elements/chunks/{focus-trap-Dv8zu64A.js → focus-trap-rje9Oz19.js} +1 -1
  8. package/dist-elements/chunks/{input-BGMLam-O.js → input-DEHA2Z_0.js} +1 -1
  9. package/dist-elements/chunks/{player-BApadXr8.js → player-DDDWUevR.js} +1 -1
  10. package/dist-elements/chunks/{sentence-0wO85ZdJ.js → sentence-mY0Iqu5H.js} +1 -1
  11. package/dist-elements/chunks/{stagger-BB_gcxBI.js → stagger-Dvkth9_C.js} +95 -94
  12. package/dist-elements/content.js +1 -0
  13. package/dist-elements/core.js +1 -1
  14. package/dist-elements/custom-elements.json +120 -2
  15. package/dist-elements/data-types.json +208 -1
  16. package/dist-elements/feedback.js +1 -1
  17. package/dist-elements/guides/loading.md +1 -1
  18. package/dist-elements/inputs.js +2 -2
  19. package/dist-elements/layout.js +1 -1
  20. package/dist-elements/lintje.js +2836 -1915
  21. package/dist-elements/overlays.js +1 -1
  22. package/dist-elements/tag/activity-log.js +1 -1
  23. package/dist-elements/tag/ai-label.js +1 -1
  24. package/dist-elements/tag/announcement.js +2 -2
  25. package/dist-elements/tag/app-search.js +2 -2
  26. package/dist-elements/tag/audio-player.js +2 -2
  27. package/dist-elements/tag/badge.js +1 -1
  28. package/dist-elements/tag/breadcrumbs.js +1 -1
  29. package/dist-elements/tag/button.js +1 -1
  30. package/dist-elements/tag/card-list.js +1 -1
  31. package/dist-elements/tag/card.js +1 -1
  32. package/dist-elements/tag/chart.js +1020 -961
  33. package/dist-elements/tag/chat-answer.js +2 -2
  34. package/dist-elements/tag/chat-composer.js +1 -1
  35. package/dist-elements/tag/chat-message.js +1 -1
  36. package/dist-elements/tag/chat-strip.js +1 -1
  37. package/dist-elements/tag/chat-suggestions.js +1 -1
  38. package/dist-elements/tag/chat.js +1 -1
  39. package/dist-elements/tag/checkbox-group.js +2 -2
  40. package/dist-elements/tag/checkbox.js +2 -2
  41. package/dist-elements/tag/code.js +1 -1
  42. package/dist-elements/tag/combobox.js +2 -2
  43. package/dist-elements/tag/conflict-alert.js +1 -1
  44. package/dist-elements/tag/copy-button.js +1 -1
  45. package/dist-elements/tag/data-table.js +264 -263
  46. package/dist-elements/tag/date-input.js +2 -2
  47. package/dist-elements/tag/date-range.js +3 -3
  48. package/dist-elements/tag/description-list.js +1 -1
  49. package/dist-elements/tag/dialog.js +3 -3
  50. package/dist-elements/tag/document-viewer.js +1 -1
  51. package/dist-elements/tag/drawer.js +3 -3
  52. package/dist-elements/tag/empty-state.js +1 -1
  53. package/dist-elements/tag/error-page.js +1 -1
  54. package/dist-elements/tag/error-summary.js +1 -1
  55. package/dist-elements/tag/expander.js +2 -2
  56. package/dist-elements/tag/explainer.js +2 -2
  57. package/dist-elements/tag/field.js +1 -1
  58. package/dist-elements/tag/file-upload.js +3 -3
  59. package/dist-elements/tag/filter-bar.js +3 -3
  60. package/dist-elements/tag/filter-sheet.js +3 -3
  61. package/dist-elements/tag/filter-zone.js +2 -2
  62. package/dist-elements/tag/find.js +15 -11
  63. package/dist-elements/tag/footer.js +1 -1
  64. package/dist-elements/tag/form-actions.js +1 -1
  65. package/dist-elements/tag/form-section.js +1 -1
  66. package/dist-elements/tag/form.js +1 -1
  67. package/dist-elements/tag/gallery.js +1 -1
  68. package/dist-elements/tag/grid-item.js +1 -1
  69. package/dist-elements/tag/grid.js +1 -1
  70. package/dist-elements/tag/hero.js +1 -1
  71. package/dist-elements/tag/highlight.js +1 -1
  72. package/dist-elements/tag/icon-button.js +1 -1
  73. package/dist-elements/tag/icon.js +1 -1
  74. package/dist-elements/tag/job-list.js +1 -1
  75. package/dist-elements/tag/kpi-row.js +1 -1
  76. package/dist-elements/tag/kpi.js +38 -36
  77. package/dist-elements/tag/level-meter.js +1 -1
  78. package/dist-elements/tag/list.js +2 -2
  79. package/dist-elements/tag/log-viewer.d.ts +1 -0
  80. package/dist-elements/tag/log-viewer.js +847 -0
  81. package/dist-elements/tag/logo.js +1 -1
  82. package/dist-elements/tag/map.js +184 -183
  83. package/dist-elements/tag/menu-button.js +14 -9
  84. package/dist-elements/tag/modal.js +2 -2
  85. package/dist-elements/tag/multiselect.js +3 -3
  86. package/dist-elements/tag/note.js +1 -1
  87. package/dist-elements/tag/notifications.js +2 -2
  88. package/dist-elements/tag/number-input.js +2 -2
  89. package/dist-elements/tag/page-header.js +1 -1
  90. package/dist-elements/tag/pagination.js +16 -16
  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 +1 -1
  94. package/dist-elements/tag/qr-code.js +1 -1
  95. package/dist-elements/tag/radio-group.js +2 -2
  96. package/dist-elements/tag/range.js +2 -2
  97. package/dist-elements/tag/recording-status.js +1 -1
  98. package/dist-elements/tag/repeater.js +1 -1
  99. package/dist-elements/tag/segmented.js +2 -2
  100. package/dist-elements/tag/select.js +2 -2
  101. package/dist-elements/tag/shell.js +2 -2
  102. package/dist-elements/tag/skeleton.js +1 -1
  103. package/dist-elements/tag/slot-picker.js +2 -2
  104. package/dist-elements/tag/sortable-list.js +1 -1
  105. package/dist-elements/tag/spinner.js +1 -1
  106. package/dist-elements/tag/split-pane.js +1 -1
  107. package/dist-elements/tag/status-dot.js +1 -1
  108. package/dist-elements/tag/stepper.js +1 -1
  109. package/dist-elements/tag/streaming-text.js +1 -1
  110. package/dist-elements/tag/sub-nav.js +1 -1
  111. package/dist-elements/tag/tabs.js +1 -1
  112. package/dist-elements/tag/tag-input.js +2 -2
  113. package/dist-elements/tag/text-editor.js +2 -2
  114. package/dist-elements/tag/text-input.js +2 -2
  115. package/dist-elements/tag/textarea.js +2 -2
  116. package/dist-elements/tag/tile.js +1 -1
  117. package/dist-elements/tag/time-input.js +2 -2
  118. package/dist-elements/tag/toast.js +2 -2
  119. package/dist-elements/tag/toggle.js +2 -2
  120. package/dist-elements/tag/toggletip.js +2 -2
  121. package/dist-elements/tag/token-value.js +1 -1
  122. package/dist-elements/tag/tooltip.js +1 -1
  123. package/dist-elements/tag/transcript.js +1 -1
  124. package/dist-elements/tag/translator.js +1 -1
  125. package/dist-elements/tag/tree-view.js +1 -1
  126. package/dist-elements/tag/user-menu.js +1 -1
  127. package/dist-elements/tag/video-player.js +2 -2
  128. package/dist-elements/tokens.css +2 -0
  129. package/dist-elements/tokens.json +4 -0
  130. package/dist-elements/types/bundle/content.d.ts +1 -0
  131. package/dist-elements/types/bundle/index.d.ts +1 -1
  132. package/dist-elements/types/components/actions/menu-button/menu-button.d.ts +4 -1
  133. package/dist-elements/types/components/content/log-viewer/lines.d.ts +33 -0
  134. package/dist-elements/types/components/content/log-viewer/log-viewer.d.ts +117 -0
  135. package/dist-elements/types/components/index.d.ts +2 -0
  136. package/dist-elements/types/components/inputs/find/find.d.ts +1 -0
  137. package/dist-elements/types/components/shared/charts/shared/axes.d.ts +7 -1
  138. package/dist-elements/types/components/shared/charts/shared/controller.d.ts +0 -1
  139. package/dist-elements/types/components/shared/charts/shared/layer-motion.d.ts +21 -0
  140. package/dist-elements/types/components/shared/download.d.ts +2 -0
  141. package/dist-elements/types/types.d.ts +44 -0
  142. package/package.json +1 -1
  143. package/dist-elements/chunks/download-C68kcwPj.js +0 -206
@@ -1,4 +1,4 @@
1
- import "./chunks/base-DRGvkF-r.js";
1
+ import "./chunks/base-CVKIPSLx.js";
2
2
  import "./tag/modal.js";
3
3
  import "./tag/dialog.js";
4
4
  import "./tag/drawer.js";
@@ -1,4 +1,4 @@
1
- import { Jt as e, Yt as t, Zt as n, en as r, nn as i, st as a } from "../chunks/base-DRGvkF-r.js";
1
+ import { Jt as e, Yt as t, Zt as n, en as r, nn as i, st as a } from "../chunks/base-CVKIPSLx.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 e {
4
4
  constructor(...e) {
@@ -1,4 +1,4 @@
1
- import { Jt as e, Yt as t, Zt as n, at as r, en as i, lt as a, nn as o, ot as s, ut as c } from "../chunks/base-DRGvkF-r.js";
1
+ import { Jt as e, Yt as t, Zt as n, at as r, en as i, lt as a, nn as o, ot as s, ut as c } from "../chunks/base-CVKIPSLx.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 e {
4
4
  static {
@@ -1,5 +1,5 @@
1
- import { F as e, M as t, N as n, P as r, Q as i, Yt as a, Z as o, Zt as s, en as c, lt as l, nn as u } from "../chunks/base-DRGvkF-r.js";
2
- import { r as d } from "../chunks/focus-trap-Dv8zu64A.js";
1
+ import { F as e, M as t, N as n, P as r, Q as i, Yt as a, Z as o, Zt as s, en as c, lt as l, nn as u } from "../chunks/base-CVKIPSLx.js";
2
+ import { r as d } from "../chunks/focus-trap-rje9Oz19.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/* The grid cell moves to the next sheet whole; a tile split between its title and its drawing\n reads as two. */\n@media print {\n :host { break-inside: avoid; }\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 = (e) => `lintje-announcement-dismissed:${e}`, m = class extends r {
5
5
  constructor(...e) {
@@ -1,5 +1,5 @@
1
- import { Gt as e, H as t, Ht as n, Jt as r, Kt as i, Yt as a, Zt as o, en as s, jt as c, lt as l, nn as u, st as d, ut as f } from "../chunks/base-DRGvkF-r.js";
2
- import { t as p } from "../chunks/focus-trap-Dv8zu64A.js";
1
+ import { Gt as e, H as t, Ht as n, Jt as r, Kt as i, Yt as a, Zt as o, en as s, jt as c, lt as l, nn as u, st as d, ut as f } from "../chunks/base-CVKIPSLx.js";
2
+ import { t as p } from "../chunks/focus-trap-rje9Oz19.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";
@@ -1,8 +1,8 @@
1
- import { Gt as e, Kt as t, L as n, Yt as r, Zt as i, bt as a, en as o, lt as s, nn as c, rt as l, st as u, ut as d } from "../chunks/base-DRGvkF-r.js";
1
+ import { Gt as e, Kt as t, L as n, Yt as r, Zt as i, bt as a, en as o, lt as s, nn as c, rt as l, st as u, ut as d } from "../chunks/base-CVKIPSLx.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-BApadXr8.js";
5
+ import { n as w, t as T } from "../chunks/player-DDDWUevR.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 screen and (max-width: 767px) {\n .lintje-audio-player__controls,\n .lintje-audio-player__transport { gap: 0; }\n}\n", D = {
8
8
  kind: "outage",
@@ -1 +1 @@
1
- export { it as LintjeBadge, at as badgeStyles, ot as renderBadge } from "../chunks/base-DRGvkF-r.js";
1
+ export { it as LintjeBadge, at as badgeStyles, ot as renderBadge } from "../chunks/base-CVKIPSLx.js";
@@ -1,4 +1,4 @@
1
- import { Gt as e, H as t, Jt as n, Kt as r, Yt as i, Zt as a, en as o, lt as s, nn as c, ut as l } from "../chunks/base-DRGvkF-r.js";
1
+ import { Gt as e, H as t, Jt as n, Kt as r, Yt as i, Zt as a, en as o, lt as s, nn as c, ut as l } from "../chunks/base-CVKIPSLx.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;
@@ -1 +1 @@
1
- export { tt as LintjeButton } from "../chunks/base-DRGvkF-r.js";
1
+ export { tt as LintjeButton } from "../chunks/base-CVKIPSLx.js";
@@ -1,4 +1,4 @@
1
- import { Jt as e, Yt as t, Zt as n, bt as r, en as i, nn as a } from "../chunks/base-DRGvkF-r.js";
1
+ import { Jt as e, Yt as t, Zt as n, bt as r, en as i, nn as a } from "../chunks/base-CVKIPSLx.js";
2
2
  import "./empty-state.js";
3
3
  import "./card.js";
4
4
  //#region src/components/tables/card-list/card-list.css?inline
@@ -1,4 +1,4 @@
1
- import { Gt as e, H as t, J as n, Jt as r, Kt as i, Yt as a, Zt as o, en as s, lt as c, nn as l, st as u, ut as d } from "../chunks/base-DRGvkF-r.js";
1
+ import { Gt as e, H as t, J as n, Jt as r, Kt as i, Yt as a, Zt as o, en as s, lt as c, nn as l, st as u, ut as d } from "../chunks/base-CVKIPSLx.js";
2
2
  //#region src/components/tables/card/card.css?inline
3
3
  var f = "/* The actions are `lintje-button`s; here they are only laid out, never restyled. */\n:host { display: block; min-width: 0; height: 100%; }\n:host([hidden]) { display: none; }\n@media print { :host { break-inside: avoid; } }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-card {\n display: flex; flex-direction: column;\n height: 100%;\n box-sizing: border-box;\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-default);\n color: var(--color-text-primary);\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n/* A linked card answers the pointer as a list row does: the subtle fill, the title underlined. */\n.lintje-card.is-link { cursor: pointer; }\n.lintje-card.is-link:hover { background: var(--color-bg-subtle); }\n.lintje-card.is-link:hover .lintje-card__link { text-decoration: underline; }\n/* A linked card takes the ring around itself: the title is its one tab stop. */\n.lintje-card.is-link:has(.lintje-card__link:focus-visible) {\n outline: var(--focus-width) solid var(--color-focus);\n outline-offset: var(--focus-offset);\n}\n.lintje-card.is-link .lintje-card__link:focus-visible { outline: none; }\n\n/* A screenshot from its top left corner, where an application's title and menu stand. */\n.lintje-card__image {\n display: block;\n width: 100%;\n aspect-ratio: 16 / 9;\n object-fit: cover;\n object-position: top left;\n}\n.lintje-card__logo {\n flex: none;\n width: var(--w-card-logo); height: var(--w-card-logo);\n object-fit: contain;\n}\n\n.lintje-card__main { flex: 1 1 auto; display: flex; flex-direction: column; min-width: 0; }\n\n.lintje-card__body {\n flex: 1 1 auto;\n display: flex; flex-direction: column;\n gap: var(--space-2);\n padding: var(--tile-pad-y) var(--tile-pad-x) var(--tile-pad-x);\n}\n\n.lintje-card__head { display: flex; align-items: center; gap: var(--space-4); min-width: 0; }\n.lintje-card__heading {\n flex: 1 1 auto;\n display: flex; flex-direction: column; gap: var(--space-1);\n min-width: 0;\n}\n.lintje-card__meta { margin: 0; font: var(--text-meta); color: var(--color-text-muted); }\n.lintje-card__title {\n margin: 0;\n font: var(--text-h2);\n overflow-wrap: break-word;\n hyphens: auto;\n}\n.lintje-card__link { color: var(--color-link); text-decoration: none; }\n.lintje-card__link:hover { color: var(--color-link-hover); text-decoration: underline; }\n.lintje-card__icon-action { flex: none; }\n/* A linked card says it leads on with the chevron at the end of its title row. */\n.lintje-card__chevron { flex: none; color: var(--color-link); }\n\n.lintje-card__description { margin: 0; font: var(--text-body); }\n\n/* The facts read as a small table: a hairline between the rows, the value on the right. */\n.lintje-card__facts { margin: var(--space-2) 0 0; font: var(--text-small); }\n.lintje-card__fact {\n display: flex; justify-content: space-between; align-items: baseline;\n gap: var(--space-4);\n padding: var(--space-1) 0;\n border-top: 1px solid var(--color-border-default);\n}\n.lintje-card__fact:last-child { border-bottom: 1px solid var(--color-border-default); }\n.lintje-card__fact-label { color: var(--color-text-muted); }\n.lintje-card__fact-value {\n margin: 0;\n text-align: right;\n font-variant-numeric: tabular-nums;\n overflow-wrap: anywhere;\n}\n.lintje-card__missing { color: var(--color-text-muted); }\n\n/* The status closes the text, so cards in a row line up whatever their length. */\n.lintje-card__status {\n display: flex; align-items: center; gap: var(--space-2);\n margin: auto 0 0;\n padding-top: var(--space-2);\n font: var(--text-small);\n font-weight: 700;\n}\n.lintje-card__status-icon { flex: none; }\n.lintje-card__status--neutral { color: var(--color-text-muted); }\n.lintje-card__status--success .lintje-card__status-icon { color: var(--color-success-line); }\n.lintje-card__status--info .lintje-card__status-icon { color: var(--color-info-line); }\n.lintje-card__status--error .lintje-card__status-icon { color: var(--color-error-line); }\n.lintje-card__status--attention .lintje-card__status-icon { color: var(--color-attention-line); }\n.lintje-card__status--warning .lintje-card__status-icon { color: var(--color-attention-line); }\n.lintje-card__status--busy .lintje-card__status-icon { color: var(--color-accent-text); }\n.lintje-card__status--neutral .lintje-card__status-icon { color: var(--color-text-muted); }\n.lintje-card__status--subtle .lintje-card__status-icon { color: var(--color-text-muted); }\n.lintje-card__status--live .lintje-card__status-icon { color: var(--color-error-line); }\n\n.lintje-card__actions {\n display: flex; flex-wrap: wrap; align-items: center;\n gap: var(--space-2) var(--space-3);\n padding: 0 var(--tile-pad-x) var(--tile-pad-x);\n}\n/* The link to the item's own page stands at the end of the bar, apart from the action. */\n.lintje-card__action--link { margin-left: auto; }\n\n/* Across: the picture is a column on the left and the actions close the text column. */\n.lintje-card.is-horizontal { flex-direction: row; }\n.lintje-card.is-horizontal .lintje-card__media {\n flex: none;\n width: var(--w-card-media);\n border-right: 1px solid var(--color-border-default);\n}\n.lintje-card.is-horizontal .lintje-card__image { height: 100%; aspect-ratio: auto; }\n.lintje-card.is-horizontal.has-logo .lintje-card__media {\n display: flex; justify-content: center;\n padding-top: var(--space-6);\n box-sizing: border-box;\n background: var(--color-bg-subtle);\n}\n.lintje-card.is-horizontal .lintje-card__logo {\n width: var(--w-card-logo-wide); height: var(--w-card-logo-wide);\n}\n\n.lintje-card.is-compact .lintje-card__body { gap: var(--space-1); padding: var(--space-4); }\n.lintje-card.is-compact .lintje-card__title { font: var(--text-tile-title); }\n.lintje-card.is-compact .lintje-card__actions { padding: 0 var(--space-4) var(--space-4); }\n\n@media (prefers-reduced-motion: reduce) {\n .lintje-card { transition: none; }\n}\n\n/* Forced colours: the fill is gone, so a linked card's edge says it on hover. */\n@media (forced-colors: active) {\n .lintje-card.is-link:hover { border-color: Highlight; }\n}\n", p = class extends r {
4
4
  constructor(...t) {