lintje 0.3.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 (260) hide show
  1. package/README.md +1 -1
  2. package/dist-elements/actions.js +1 -1
  3. package/dist-elements/chunks/{base-CbmWxUig.js → base-CVKIPSLx.js} +151 -145
  4. package/dist-elements/chunks/chart-styles-JK4clSyA.js +108 -0
  5. package/dist-elements/chunks/{controls-DxmnDSBr.js → controls-_4ac1Lpz.js} +1 -1
  6. package/dist-elements/chunks/{date-format-mHtZyBys.js → date-format-DxP9yfDp.js} +1 -1
  7. package/dist-elements/chunks/{dialog-DChINFxD.js → dialog-D4V467iC.js} +2 -2
  8. package/dist-elements/chunks/{disclosure-DLkXPUpV.js → disclosure-DVex7Lo_.js} +1 -1
  9. package/dist-elements/chunks/download-D7ZarlMZ.js +103 -0
  10. package/dist-elements/chunks/{focus-trap-BwOxE5BX.js → focus-trap-rje9Oz19.js} +1 -1
  11. package/dist-elements/chunks/input-DEHA2Z_0.js +195 -0
  12. package/dist-elements/chunks/input-lQTmOMOz.js +4 -0
  13. package/dist-elements/chunks/{player-B8QXJ0Z5.js → player-DDDWUevR.js} +2 -2
  14. package/dist-elements/chunks/{sentence-B19AyZBS.js → sentence-mY0Iqu5H.js} +1 -1
  15. package/dist-elements/chunks/{stagger-BHoOgy0g.js → stagger-Dvkth9_C.js} +116 -107
  16. package/dist-elements/content.js +2 -0
  17. package/dist-elements/core.js +1 -1
  18. package/dist-elements/custom-elements.json +7740 -6789
  19. package/dist-elements/data-types.json +338 -29
  20. package/dist-elements/feedback.js +1 -1
  21. package/dist-elements/guides/loading.md +3 -3
  22. package/dist-elements/inputs.js +2 -1
  23. package/dist-elements/layout.js +1 -1
  24. package/dist-elements/lintje.js +7346 -5856
  25. package/dist-elements/overlays.js +1 -1
  26. package/dist-elements/tag/activity-log.js +1 -1
  27. package/dist-elements/tag/ai-label.js +1 -1
  28. package/dist-elements/tag/announcement.js +2 -2
  29. package/dist-elements/tag/app-search.js +2 -2
  30. package/dist-elements/tag/audio-player.js +2 -2
  31. package/dist-elements/tag/badge.d.ts +1 -1
  32. package/dist-elements/tag/badge.js +1 -1
  33. package/dist-elements/tag/breadcrumbs.js +1 -1
  34. package/dist-elements/tag/button.d.ts +1 -1
  35. package/dist-elements/tag/button.js +1 -1
  36. package/dist-elements/tag/card-list.js +1 -1
  37. package/dist-elements/tag/card.js +1 -1
  38. package/dist-elements/tag/chart.js +1168 -794
  39. package/dist-elements/tag/chat-answer.js +2 -2
  40. package/dist-elements/tag/chat-composer.js +1 -1
  41. package/dist-elements/tag/chat-message.js +1 -1
  42. package/dist-elements/tag/chat-strip.js +1 -1
  43. package/dist-elements/tag/chat-suggestions.js +1 -1
  44. package/dist-elements/tag/chat.js +1 -1
  45. package/dist-elements/tag/checkbox-group.js +3 -2
  46. package/dist-elements/tag/checkbox.js +3 -2
  47. package/dist-elements/tag/code.js +1 -1
  48. package/dist-elements/tag/combobox.js +11 -10
  49. package/dist-elements/tag/conflict-alert.js +1 -1
  50. package/dist-elements/tag/copy-button.js +1 -1
  51. package/dist-elements/tag/data-table.js +179 -178
  52. package/dist-elements/tag/date-input.js +14 -13
  53. package/dist-elements/tag/date-range.js +5 -4
  54. package/dist-elements/tag/description-list.js +1 -1
  55. package/dist-elements/tag/dialog.js +4 -4
  56. package/dist-elements/tag/document-viewer.js +1 -1
  57. package/dist-elements/tag/drawer.js +3 -3
  58. package/dist-elements/tag/empty-state.js +1 -1
  59. package/dist-elements/tag/error-page.js +1 -1
  60. package/dist-elements/tag/error-summary.js +2 -2
  61. package/dist-elements/tag/expander.js +2 -2
  62. package/dist-elements/tag/explainer.js +2 -2
  63. package/dist-elements/tag/field.js +1 -1
  64. package/dist-elements/tag/file-upload.js +4 -3
  65. package/dist-elements/tag/filter-bar.js +3 -3
  66. package/dist-elements/tag/filter-sheet.js +3 -3
  67. package/dist-elements/tag/filter-zone.js +2 -2
  68. package/dist-elements/tag/find.d.ts +1 -0
  69. package/dist-elements/tag/find.js +132 -0
  70. package/dist-elements/tag/footer.js +1 -1
  71. package/dist-elements/tag/form-actions.js +2 -2
  72. package/dist-elements/tag/form-section.js +2 -2
  73. package/dist-elements/tag/form.js +2 -2
  74. package/dist-elements/tag/gallery.js +1 -1
  75. package/dist-elements/tag/grid-item.d.ts +1 -1
  76. package/dist-elements/tag/grid-item.js +1 -1
  77. package/dist-elements/tag/grid.d.ts +1 -1
  78. package/dist-elements/tag/grid.js +1 -1
  79. package/dist-elements/tag/hero.js +1 -1
  80. package/dist-elements/tag/highlight.js +1 -1
  81. package/dist-elements/tag/icon-button.d.ts +1 -1
  82. package/dist-elements/tag/icon-button.js +1 -1
  83. package/dist-elements/tag/icon.d.ts +1 -1
  84. package/dist-elements/tag/icon.js +1 -1
  85. package/dist-elements/tag/job-list.js +1 -1
  86. package/dist-elements/tag/kpi-row.js +1 -1
  87. package/dist-elements/tag/kpi.js +73 -71
  88. package/dist-elements/tag/level-meter.js +1 -1
  89. package/dist-elements/tag/list.js +2 -2
  90. package/dist-elements/tag/log-viewer.d.ts +1 -0
  91. package/dist-elements/tag/log-viewer.js +847 -0
  92. package/dist-elements/tag/logo.js +1 -1
  93. package/dist-elements/tag/map.js +151 -144
  94. package/dist-elements/tag/menu-button.js +14 -9
  95. package/dist-elements/tag/modal.js +2 -2
  96. package/dist-elements/tag/multiselect.js +4 -3
  97. package/dist-elements/tag/note.js +1 -1
  98. package/dist-elements/tag/notifications.js +2 -2
  99. package/dist-elements/tag/number-input.js +3 -2
  100. package/dist-elements/tag/page-header.js +1 -1
  101. package/dist-elements/tag/pagination.js +25 -25
  102. package/dist-elements/tag/popover.d.ts +1 -1
  103. package/dist-elements/tag/popover.js +1 -1
  104. package/dist-elements/tag/progress-bar.d.ts +1 -1
  105. package/dist-elements/tag/progress-bar.js +1 -1
  106. package/dist-elements/tag/prose.js +1 -1
  107. package/dist-elements/tag/qr-code.js +1 -1
  108. package/dist-elements/tag/radio-group.js +3 -2
  109. package/dist-elements/tag/range.js +3 -2
  110. package/dist-elements/tag/recording-status.js +1 -1
  111. package/dist-elements/tag/repeater.js +1 -1
  112. package/dist-elements/tag/segmented.js +3 -2
  113. package/dist-elements/tag/select.js +3 -2
  114. package/dist-elements/tag/shell.js +3 -3
  115. package/dist-elements/tag/skeleton.d.ts +1 -1
  116. package/dist-elements/tag/skeleton.js +1 -1
  117. package/dist-elements/tag/slot-picker.js +4 -3
  118. package/dist-elements/tag/sortable-list.js +1 -1
  119. package/dist-elements/tag/spinner.d.ts +1 -1
  120. package/dist-elements/tag/spinner.js +1 -1
  121. package/dist-elements/tag/split-pane.js +1 -1
  122. package/dist-elements/tag/status-dot.d.ts +1 -1
  123. package/dist-elements/tag/status-dot.js +1 -1
  124. package/dist-elements/tag/stepper.js +1 -1
  125. package/dist-elements/tag/streaming-text.js +1 -1
  126. package/dist-elements/tag/sub-nav.js +1 -1
  127. package/dist-elements/tag/tabs.js +1 -1
  128. package/dist-elements/tag/tag-input.js +11 -10
  129. package/dist-elements/tag/text-editor.js +3 -2
  130. package/dist-elements/tag/text-input.js +3 -2
  131. package/dist-elements/tag/textarea.js +3 -2
  132. package/dist-elements/tag/tile.d.ts +1 -1
  133. package/dist-elements/tag/tile.js +1 -1
  134. package/dist-elements/tag/time-input.js +7 -6
  135. package/dist-elements/tag/toast.js +2 -2
  136. package/dist-elements/tag/toggle.js +3 -2
  137. package/dist-elements/tag/toggletip.js +2 -2
  138. package/dist-elements/tag/token-value.d.ts +1 -0
  139. package/dist-elements/tag/token-value.js +75 -0
  140. package/dist-elements/tag/tooltip.d.ts +1 -1
  141. package/dist-elements/tag/tooltip.js +1 -1
  142. package/dist-elements/tag/transcript.js +1 -1
  143. package/dist-elements/tag/translator.js +1 -1
  144. package/dist-elements/tag/tree-view.js +1 -1
  145. package/dist-elements/tag/user-menu.js +1 -1
  146. package/dist-elements/tag/video-player.js +2 -2
  147. package/dist-elements/tokens.css +2 -0
  148. package/dist-elements/tokens.json +1248 -0
  149. package/dist-elements/types/bundle/actions.d.ts +3 -3
  150. package/dist-elements/types/bundle/content.d.ts +2 -0
  151. package/dist-elements/types/bundle/feedback.d.ts +5 -5
  152. package/dist-elements/types/bundle/index.d.ts +1 -11
  153. package/dist-elements/types/bundle/inputs.d.ts +1 -0
  154. package/dist-elements/types/bundle/layout.d.ts +3 -3
  155. package/dist-elements/types/bundle/overlays.d.ts +2 -2
  156. package/dist-elements/types/categories.d.ts +4 -0
  157. package/dist-elements/types/{primitives → components/actions}/button/button.d.ts +1 -1
  158. package/dist-elements/types/components/actions/copy-button/copy-button.d.ts +2 -2
  159. package/dist-elements/types/{icons → components/actions}/icon/icon.d.ts +2 -2
  160. package/dist-elements/types/{primitives → components/actions}/icon-button/icon-button.d.ts +1 -1
  161. package/dist-elements/types/components/actions/menu-button/menu-button.d.ts +7 -4
  162. package/dist-elements/types/components/actions/qr-code/qr-code.d.ts +1 -1
  163. package/dist-elements/types/components/charts/chart/chart.d.ts +1 -1
  164. package/dist-elements/types/components/charts/explainer/explainer.d.ts +1 -1
  165. package/dist-elements/types/components/charts/kpi/kpi.d.ts +3 -3
  166. package/dist-elements/types/components/charts/kpi-row/kpi-row.d.ts +1 -1
  167. package/dist-elements/types/components/charts/note/note.d.ts +1 -1
  168. package/dist-elements/types/components/chat/chat/chat.d.ts +1 -1
  169. package/dist-elements/types/components/chat/chat-answer/chat-answer.d.ts +3 -3
  170. package/dist-elements/types/components/chat/chat-composer/chat-composer.d.ts +2 -2
  171. package/dist-elements/types/components/chat/chat-message/chat-message.d.ts +1 -1
  172. package/dist-elements/types/components/content/audio-player/audio-player.d.ts +5 -5
  173. package/dist-elements/types/components/content/code/code.d.ts +1 -1
  174. package/dist-elements/types/components/content/document-viewer/document-viewer.d.ts +2 -2
  175. package/dist-elements/types/components/content/highlight/highlight.d.ts +1 -1
  176. package/dist-elements/types/components/content/log-viewer/lines.d.ts +33 -0
  177. package/dist-elements/types/components/content/log-viewer/log-viewer.d.ts +117 -0
  178. package/dist-elements/types/components/content/prose/prose.d.ts +1 -1
  179. package/dist-elements/types/components/content/token-value/token-value.d.ts +42 -0
  180. package/dist-elements/types/components/content/transcript/transcript.d.ts +3 -3
  181. package/dist-elements/types/components/content/translator/translator.d.ts +1 -1
  182. package/dist-elements/types/components/content/video-player/video-player.d.ts +1 -1
  183. package/dist-elements/types/components/feedback/announcement/announcement.d.ts +2 -2
  184. package/dist-elements/types/{primitives → components/feedback}/badge/badge.d.ts +2 -2
  185. package/dist-elements/types/components/feedback/conflict-alert/conflict-alert.d.ts +1 -1
  186. package/dist-elements/types/components/feedback/empty-state/empty-state.d.ts +2 -2
  187. package/dist-elements/types/components/feedback/job-list/job-list.d.ts +1 -1
  188. package/dist-elements/types/{primitives → components/feedback}/progress-bar/progress-bar.d.ts +2 -2
  189. package/dist-elements/types/{primitives → components/feedback}/skeleton/skeleton.d.ts +1 -1
  190. package/dist-elements/types/{primitives → components/feedback}/spinner/spinner.d.ts +1 -1
  191. package/dist-elements/types/{primitives → components/feedback}/status-dot/status-dot.d.ts +2 -2
  192. package/dist-elements/types/components/feedback/streaming-text/streaming-text.d.ts +2 -2
  193. package/dist-elements/types/components/filters/filter-sheet/filter-sheet.d.ts +2 -2
  194. package/dist-elements/types/components/forms/error-summary/error-summary.d.ts +1 -1
  195. package/dist-elements/types/components/forms/form-actions/form-actions.d.ts +1 -1
  196. package/dist-elements/types/components/forms/repeater/repeater.d.ts +2 -2
  197. package/dist-elements/types/components/forms/stepper/stepper.d.ts +1 -1
  198. package/dist-elements/types/components/frame/app-search/app-search.d.ts +1 -1
  199. package/dist-elements/types/components/frame/notifications/notifications.d.ts +2 -2
  200. package/dist-elements/types/components/frame/page-header/page-header.d.ts +1 -1
  201. package/dist-elements/types/components/frame/shell/shell.d.ts +1 -1
  202. package/dist-elements/types/components/frame/user-menu/user-menu.d.ts +2 -2
  203. package/dist-elements/types/components/index.d.ts +45 -3
  204. package/dist-elements/types/components/inputs/combobox/combobox.d.ts +2 -2
  205. package/dist-elements/types/components/inputs/date-input/date-input.d.ts +1 -1
  206. package/dist-elements/types/components/inputs/date-range/date-range.d.ts +2 -2
  207. package/dist-elements/types/components/inputs/file-upload/file-upload.d.ts +2 -2
  208. package/dist-elements/types/components/inputs/find/find.d.ts +52 -0
  209. package/dist-elements/types/components/inputs/segmented/segmented.d.ts +1 -1
  210. package/dist-elements/types/components/inputs/shared/input.d.ts +1 -1
  211. package/dist-elements/types/components/inputs/tag-input/tag-input.d.ts +1 -1
  212. package/dist-elements/types/components/inputs/text-editor/text-editor.d.ts +2 -2
  213. package/dist-elements/types/components/inputs/text-input/text-input.d.ts +1 -1
  214. package/dist-elements/types/components/inputs/time-input/time-input.d.ts +1 -1
  215. package/dist-elements/types/components/layout/expander/expander.d.ts +1 -1
  216. package/dist-elements/types/{primitives → components/layout}/grid/grid.d.ts +1 -1
  217. package/dist-elements/types/{primitives → components/layout}/grid-item/grid-item.d.ts +1 -1
  218. package/dist-elements/types/components/layout/tabs/tabs.d.ts +1 -1
  219. package/dist-elements/types/{primitives → components/layout}/tile/tile.d.ts +6 -6
  220. package/dist-elements/types/components/map/map/map.d.ts +2 -2
  221. package/dist-elements/types/components/overlays/modal/modal.d.ts +2 -2
  222. package/dist-elements/types/{primitives → components/overlays}/popover/popover.d.ts +2 -2
  223. package/dist-elements/types/components/overlays/toggletip/toggletip.d.ts +1 -1
  224. package/dist-elements/types/{primitives → components/overlays}/tooltip/tooltip.d.ts +2 -2
  225. package/dist-elements/types/components/shared/charts/index.d.ts +1 -0
  226. package/dist-elements/types/components/shared/charts/kinds.d.ts +6 -0
  227. package/dist-elements/types/components/shared/charts/map-chart/map-chart.d.ts +1 -1
  228. package/dist-elements/types/components/shared/charts/radar-chart/radar-chart.d.ts +31 -0
  229. package/dist-elements/types/components/shared/charts/shared/axes.d.ts +10 -2
  230. package/dist-elements/types/components/shared/charts/shared/controller.d.ts +5 -1
  231. package/dist-elements/types/components/shared/charts/shared/layer-motion.d.ts +21 -0
  232. package/dist-elements/types/components/shared/charts/shared/types.d.ts +33 -0
  233. package/dist-elements/types/components/shared/content-tile.d.ts +1 -1
  234. package/dist-elements/types/components/{forms/form → shared}/controls.d.ts +3 -2
  235. package/dist-elements/types/components/shared/download.d.ts +2 -0
  236. package/dist-elements/types/components/shared/overflow.d.ts +1 -1
  237. package/dist-elements/types/components/tables/activity-log/activity-log.d.ts +1 -1
  238. package/dist-elements/types/components/tables/card/card.d.ts +4 -4
  239. package/dist-elements/types/components/tables/data-table/actions.d.ts +1 -1
  240. package/dist-elements/types/components/tables/data-table/data-table.d.ts +3 -3
  241. package/dist-elements/types/components/tables/data-table/editing.d.ts +1 -1
  242. package/dist-elements/types/components/tables/data-table/filters.d.ts +3 -3
  243. package/dist-elements/types/components/tables/description-list/description-list.d.ts +2 -2
  244. package/dist-elements/types/components/tables/list/list.d.ts +4 -4
  245. package/dist-elements/types/components/tables/tree-view/tree-view.d.ts +1 -1
  246. package/dist-elements/types/core/focus.d.ts +1 -1
  247. package/dist-elements/types/types.d.ts +51 -7
  248. package/package.json +1 -1
  249. package/dist-elements/chunks/download-Ct9q2anY.js +0 -206
  250. package/dist-elements/chunks/input-CRW_exv_.js +0 -195
  251. package/dist-elements/types/primitives/index.d.ts +0 -35
  252. /package/dist-elements/types/components/content/{audio-player → shared}/playback.d.ts +0 -0
  253. /package/dist-elements/types/components/content/{audio-player → shared}/player.d.ts +0 -0
  254. /package/dist-elements/types/{primitives → components}/shared/announcement-block.d.ts +0 -0
  255. /package/dist-elements/types/components/{inputs/date-input → shared}/date-format.d.ts +0 -0
  256. /package/dist-elements/types/{primitives → components}/shared/empty-state-block.d.ts +0 -0
  257. /package/dist-elements/types/{primitives → components}/shared/grid-item-element.d.ts +0 -0
  258. /package/dist-elements/types/{primitives → components}/shared/length.d.ts +0 -0
  259. /package/dist-elements/types/{primitives → components}/shared/place.d.ts +0 -0
  260. /package/dist-elements/types/{primitives → components}/shared/tone.d.ts +0 -0
@@ -1,6 +1,7 @@
1
- import { Yt as e, Zt as t, en as n, et as r, lt as i, m as a, nn as o, st as s, ut as c } from "../chunks/base-CbmWxUig.js";
2
- import { r as l, t as u } from "../chunks/input-CRW_exv_.js";
3
- import { a as d, c as f, d as p, f as m, g as h, i as g, l as _, m as v, n as y, o as b, r as x, s as S, t as C, u as w } from "../chunks/date-format-mHtZyBys.js";
1
+ import { Yt as e, Zt as t, en as n, et as r, lt as i, nn as a, s as o, st as s, ut as c } from "../chunks/base-CVKIPSLx.js";
2
+ import { n as l } from "../chunks/input-DEHA2Z_0.js";
3
+ import { t as u } from "../chunks/input-lQTmOMOz.js";
4
+ import { a as d, c as f, d as p, f as m, g as h, i as g, l as _, m as v, n as y, o as b, r as x, s as S, t as C, u as w } from "../chunks/date-format-DxP9yfDp.js";
4
5
  //#region src/components/inputs/date-input/date-input.css?inline
5
6
  var T = "/* The date input: a text field with a calendar button, and the calendar in a `lintje-popover`. */\n:host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n:host([stacked]) {\n width: 100%;\n --h-control: var(--h-touch);\n}\n/* Below 768 px: the touch height and the full width, as `stacked`. */\n@media screen and (max-width: 767px) {\n :host {\n width: 100%;\n --h-control: var(--h-touch);\n }\n}\n\n/* --- */\n\n/* --- The field ----------------------------------------------------------- */\n.lintje-date-input { position: relative; display: flex; align-items: center; }\n.lintje-date-input__control {\n width: 100%; height: var(--h-control);\n padding: 0 calc(var(--h-control) - 2px + var(--space-2)) 0 14px;\n border: 1px solid var(--color-border-field);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n font-size: 1rem;\n font-variant-numeric: tabular-nums;\n border-radius: var(--radius);\n}\n.lintje-date-input__control::placeholder { color: var(--color-text-placeholder); opacity: 1; }\n.lintje-date-input__control.is-error { border: 2px solid var(--color-error); }\n/* Disabled wins over error: after it, the whole border back to 1 px strong. */\n.lintje-date-input__control:disabled {\n border: 1px solid var(--color-border-strong);\n background: var(--color-bg-subtle);\n color: var(--color-text-disabled);\n cursor: not-allowed;\n}\n\n.lintje-date-input__toggle {\n position: absolute; top: 1px; right: 1px;\n width: calc(var(--h-control) - 2px); height: calc(var(--h-control) - 2px);\n display: flex; align-items: center; justify-content: center;\n border-left: 1px solid var(--color-border-default);\n background: transparent;\n color: var(--color-accent-text);\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n/* A transparent hit area reaches the target height, never to the left where the typing part is. */\n.lintje-date-input__toggle::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2)) min(0px, calc(100% - var(--h-target)))\n min(0px, calc((100% - var(--h-target)) / 2)) 0;\n}\n/* The button steps in past the 2 px error border; a disabled field has 1 px again. */\n.lintje-date-input__control.is-error:not(:disabled) + .lintje-date-input__toggle {\n top: 2px; right: 2px;\n width: calc(var(--h-control) - 4px); height: calc(var(--h-control) - 4px);\n}\n.lintje-date-input__toggle:hover:not(:disabled) { background: var(--color-bg-selected); }\n.lintje-date-input__toggle:disabled { color: var(--color-text-disabled); cursor: not-allowed; }\n\n/* --- The calendar -------------------------------------------------------- */\n.lintje-date-input__calendar {\n width: calc(7 * var(--h-option) + 2 * var(--space-3)); max-width: 100%;\n padding: var(--space-3);\n color: var(--color-text-primary);\n}\n.lintje-date-input__month { display: flex; align-items: center; gap: var(--space-1); }\n.lintje-date-input__month-label { flex: 1; text-align: center; font-size: 1rem; font-weight: 700; }\n/* A transparent hit area, above and below only, reaches the target height. */\n.lintje-date-input__nav {\n position: relative;\n flex: none;\n width: var(--h-icon-button); height: var(--h-icon-button);\n display: inline-flex; align-items: center; justify-content: center;\n border: 1px solid transparent;\n background: transparent;\n color: var(--color-text-primary);\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-date-input__nav:hover { background: var(--color-bg-subtle); }\n.lintje-date-input__nav::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n}\n\n.lintje-date-input__grid {\n display: grid; grid-template-columns: repeat(7, minmax(0, 1fr));\n margin-top: var(--space-2);\n}\n/* A row is there for the grid's ARIA only. */\n.lintje-date-input__row { display: contents; }\n.lintje-date-input__weekday {\n padding: var(--space-1) 0;\n text-align: center;\n font-size: var(--label-size); font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking); text-transform: uppercase;\n color: var(--color-text-muted);\n}\n.lintje-date-input__day {\n height: var(--h-option);\n display: flex; align-items: center; justify-content: center;\n background: transparent;\n color: var(--color-text-primary);\n font-size: 0.875rem;\n font-variant-numeric: tabular-nums;\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-date-input__day:hover { background: var(--color-bg-subtle); }\n.lintje-date-input__day.is-today { box-shadow: inset 0 0 0 1px var(--color-accent-line); }\n/* The border is an inset ring, so the cell keeps its size. */\n.lintje-date-input__day.is-selected {\n background: var(--color-action-primary);\n color: var(--color-action-primary-text);\n box-shadow: inset 0 0 0 1px var(--color-action-primary-border);\n font-weight: 700;\n}\n.lintje-date-input__day.is-selected.is-today {\n box-shadow: inset 0 0 0 1px var(--color-action-primary-border),\n inset 0 0 0 2px var(--color-accent-line);\n}\n/* Outside `min`/`max`: arrow keys still pass over it. */\n.lintje-date-input__day.is-blocked {\n background: transparent;\n color: var(--color-text-disabled);\n cursor: not-allowed;\n}\n\n@media screen and (max-width: 767px) {\n /* The popover's edge margin, less its 1 px border on either side. */\n .lintje-date-input__calendar { width: calc(100vw - var(--space-4) - 2px); }\n}\n\n/* Forced colours drop rings and fills: they become borders inside the cell. */\n@media (forced-colors: active) {\n .lintje-date-input__day.is-today { border: 1px solid CanvasText; }\n .lintje-date-input__day.is-selected { border: 1px solid Highlight; }\n .lintje-date-input__day.is-selected.is-today:not(:focus-visible) {\n outline: 1px solid CanvasText;\n outline-offset: -2px;\n }\n .lintje-date-input__day.is-blocked { color: GrayText; }\n}\n", E = class extends l {
6
7
  constructor(...e) {
@@ -102,7 +103,7 @@ var T = "/* The date input: a text field with a calendar button, and the calenda
102
103
  }
103
104
  renderCalendar() {
104
105
  let e = this.focusDay || this.todayDay, t = v(e).slice(0, 7), r = this.todayDay;
105
- return o`<div class="lintje-date-input__calendar">
106
+ return a`<div class="lintje-date-input__calendar">
106
107
  <div class="lintje-date-input__month">
107
108
  <button
108
109
  type="button"
@@ -134,18 +135,18 @@ var T = "/* The date input: a text field with a calendar button, and the calenda
134
135
  @keydown=${this.onGridKeydown}
135
136
  >
136
137
  <div class="lintje-date-input__row" role="row">
137
- ${y.map((e) => o`<span class="lintje-date-input__weekday" role="columnheader">${e}</span>`)}
138
+ ${y.map((e) => a`<span class="lintje-date-input__weekday" role="columnheader">${e}</span>`)}
138
139
  </div>
139
- ${w(e).map((i) => o`<div class="lintje-date-input__row" role="row">
140
+ ${w(e).map((i) => a`<div class="lintje-date-input__row" role="row">
140
141
  ${i.map((i) => {
141
- if (!i.startsWith(t)) return o`<span class="lintje-date-input__blank" role="gridcell"></span>`;
142
- let a = !!this.outOfBounds(i);
143
- return o`<button
142
+ if (!i.startsWith(t)) return a`<span class="lintje-date-input__blank" role="gridcell"></span>`;
143
+ let o = !!this.outOfBounds(i);
144
+ return a`<button
144
145
  type="button"
145
146
  role="gridcell"
146
147
  class=${s({
147
148
  "lintje-date-input__day": !0,
148
- "is-blocked": a,
149
+ "is-blocked": o,
149
150
  "is-today": i === r,
150
151
  "is-selected": i === this.value
151
152
  })}
@@ -153,7 +154,7 @@ var T = "/* The date input: a text field with a calendar button, and the calenda
153
154
  aria-label=${b(i)}
154
155
  aria-selected=${i === this.value ? "true" : "false"}
155
156
  aria-current=${i === r ? "date" : n}
156
- aria-disabled=${a ? "true" : n}
157
+ aria-disabled=${o ? "true" : n}
157
158
  @click=${() => this.pick(i)}
158
159
  >
159
160
  ${Number(i.slice(8))}
@@ -165,7 +166,7 @@ var T = "/* The date input: a text field with a calendar button, and the calenda
165
166
  }
166
167
  render() {
167
168
  let e = this.message;
168
- return o`<div class="lintje-field" @focusout=${this.onFocusOut}>
169
+ return a`<div class="lintje-field" @focusout=${this.onFocusOut}>
169
170
  ${this.renderLabel(this.controlId)}
170
171
  <div class="lintje-date-input">
171
172
  <input
@@ -177,7 +178,7 @@ var T = "/* The date input: a text field with a calendar button, and the calenda
177
178
  "lintje-date-input__control": !0,
178
179
  "is-error": !!e
179
180
  })}
180
- .value=${a(this.text)}
181
+ .value=${o(this.text)}
181
182
  placeholder=${this.placeholder || n}
182
183
  aria-labelledby=${this.labelId}
183
184
  aria-describedby=${this.describedBy}
@@ -1,7 +1,8 @@
1
- import { $ as e, Q as t, Yt as n, Zt as r, en as i, et as a, lt as o, nn as s, st as c, ut as l } from "../chunks/base-CbmWxUig.js";
2
- import "../chunks/focus-trap-BwOxE5BX.js";
3
- import { r as u, t as d } from "../chunks/input-CRW_exv_.js";
4
- import { g as f, h as p, i as m, l as h, m as g, o as _, r as v, t as y } from "../chunks/date-format-mHtZyBys.js";
1
+ import { $ as e, Q as t, Yt as n, Zt as r, en as i, et as a, lt as o, nn as s, st as c, ut as l } from "../chunks/base-CVKIPSLx.js";
2
+ import "../chunks/focus-trap-rje9Oz19.js";
3
+ import { n as u } from "../chunks/input-DEHA2Z_0.js";
4
+ import { t as d } from "../chunks/input-lQTmOMOz.js";
5
+ import { g as f, h as p, i as m, l as h, m as g, o as _, r as v, t as y } from "../chunks/date-format-DxP9yfDp.js";
5
6
  //#region src/components/inputs/date-range/date-range.css?inline
6
7
  var b = "/* The date range picker. The popover is positioned against the host (`position: relative`). */\n:host {\n display: block;\n position: relative;\n}\n\n/* --- */\n\n.lintje-date-range-picker { position: relative; display: flex; flex-direction: column; gap: 6px; }\n.lintje-date-range-picker__field {\n display: flex; align-items: center; justify-content: space-between; gap: 10px;\n min-width: 210px; height: var(--h-control);\n padding: 0 12px 0 14px;\n border: 1px solid var(--color-border-field);\n background: var(--color-bg-surface);\n color: var(--color-text-placeholder);\n font-size: 1rem;\n}\n.lintje-date-range-picker__field.is-filled { color: var(--color-text-primary); font-weight: 700; }\n.lintje-date-range-picker__field.is-error { border: 2px solid var(--color-error); }\n.lintje-date-range-picker__field:disabled {\n border: 1px solid var(--color-border-strong);\n background: var(--color-bg-subtle);\n color: var(--color-text-disabled);\n cursor: not-allowed;\n}\n.lintje-date-range-picker__icon { color: var(--color-text-primary); }\n\n.lintje-date-range-picker__popover {\n position: absolute; top: calc(100% + 4px); left: 0; z-index: 50;\n /* Seven cells, six 1 px gaps, the grid's padding and the border. */\n width: calc(7 * var(--h-option) + 6px + 2 * var(--space-2) + 2px);\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-popover);\n box-shadow: var(--shadow-popover);\n animation: lintje-popover-in var(--dur-popover) var(--ease-in-motion);\n}\n.lintje-date-range-picker__month {\n display: flex; align-items: center; justify-content: space-between;\n padding: var(--space-2) var(--space-3);\n border-bottom: 1px solid var(--color-border-default);\n font-size: 1rem; font-weight: 700;\n}\n/* A transparent hit area reaches the target height. */\n.lintje-date-range-picker__nav {\n position: relative;\n width: var(--h-icon-button); height: var(--h-icon-button);\n display: flex; align-items: center; justify-content: center;\n color: var(--color-text-primary);\n}\n.lintje-date-range-picker__nav:hover { background: var(--color-bg-subtle); }\n.lintje-date-range-picker__nav::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2));\n}\n\n.lintje-date-range-picker__grid {\n display: grid; grid-template-columns: repeat(7, var(--h-option));\n gap: 1px; padding: var(--space-2);\n}\n/* A row is there for the grid's ARIA only. */\n.lintje-date-range-picker__row { display: contents; }\n.lintje-date-range-picker__weekday {\n text-align: center; font-size: 0.875rem; font-weight: 700;\n color: var(--color-text-muted); padding-bottom: 4px;\n}\n.lintje-date-range-picker__day {\n height: var(--h-option);\n display: flex; align-items: center; justify-content: center;\n font-size: 0.875rem; color: var(--color-text-primary);\n font-variant-numeric: tabular-nums;\n}\n.lintje-date-range-picker__day:hover:not(.is-blocked) { background: var(--color-bg-subtle); }\n.lintje-date-range-picker__day.is-outside { color: var(--color-text-disabled); }\n/* After `maxDate`: `aria-disabled`, so the arrow keys still pass over it. */\n.lintje-date-range-picker__day.is-blocked { color: var(--color-text-disabled); cursor: not-allowed; }\n.lintje-date-range-picker__day.is-today { box-shadow: inset 0 0 0 1px var(--color-info); font-weight: 700; }\n.lintje-date-range-picker__day.is-in-range { background: var(--color-bg-selected); }\n/* An inset ring like `.is-today`: the cell keeps its size and an edge on a dark surface. */\n.lintje-date-range-picker__day.is-endpoint {\n background: var(--color-action-primary); color: var(--color-action-primary-text); font-weight: 700;\n box-shadow: inset 0 0 0 1px var(--color-action-primary-border);\n}\n/* Today and an endpoint: both rings, so the \"today\" marker survives. */\n.lintje-date-range-picker__day.is-endpoint.is-today {\n box-shadow: inset 0 0 0 1px var(--color-action-primary-border), inset 0 0 0 2px var(--color-info);\n}\n\n.lintje-date-range-picker__presets {\n /* The row gap keeps the hit areas below from overlapping. */\n display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-2);\n padding: var(--space-2) var(--space-3);\n border-top: 1px solid var(--color-border-default);\n}\n.lintje-date-range-picker__preset {\n position: relative;\n height: var(--h-chip);\n padding: 0 8px;\n border: 1px solid var(--color-border-default);\n background: var(--color-bg-subtle);\n font-size: 0.875rem; color: var(--color-text-primary);\n}\n/* A transparent hit area, above and below only, reaches the target height. */\n.lintje-date-range-picker__preset::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n}\n/* The accent line, not the fill colour: in dark the primary on #333333 is 1.2:1. */\n.lintje-date-range-picker__preset:hover { border-color: var(--color-accent-line); }\n\n.lintje-date-range-picker__footer {\n display: flex; flex-direction: column; gap: var(--space-2);\n padding: var(--space-3);\n border-top: 1px solid var(--color-border-default);\n font: var(--text-small); color: var(--color-text-muted);\n}\n.lintje-date-range-picker__actions { display: flex; gap: var(--space-2); justify-content: flex-end; }\n\n/* --- Stacked in the filter sheet ----------------------------------------- */\n:host([stacked]) {\n width: 100%;\n}\n\n/* Below 768 px the 48 px cells would run off a narrow phone: the popover keeps the page's gutter\n on either side and the cells share what is left. */\n@media screen and (max-width: 767px) {\n .lintje-date-range-picker__popover { max-width: calc(100vw - 2 * var(--space-4)); }\n .lintje-date-range-picker__grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }\n}\n\n/* Forced colours drop rings and fills: they become borders inside the cell. */\n@media (forced-colors: active) {\n .lintje-date-range-picker__day.is-in-range { border-block: 1px solid CanvasText; }\n .lintje-date-range-picker__day.is-today { border: 1px solid CanvasText; }\n .lintje-date-range-picker__day.is-endpoint { border: 1px solid Highlight; }\n .lintje-date-range-picker__day.is-endpoint.is-today:not(:focus-visible) {\n outline: 1px solid CanvasText;\n outline-offset: -2px;\n }\n}\n", x = [
7
8
  "ma",
@@ -1,4 +1,4 @@
1
- import { F as e, H as t, J as n, P as r, Yt as i, Zt as a, at as o, bt as s, en as c, lt as l, nn as u, ot as d, st as f, ut as p } from "../chunks/base-CbmWxUig.js";
1
+ import { F as e, H as t, J as n, P as r, Yt as i, Zt as a, at as o, bt as s, en as c, lt as l, nn as u, ot as d, st as f, ut as p } from "../chunks/base-CVKIPSLx.js";
2
2
  //#region src/components/tables/description-list/description-list.css?inline
3
3
  var m = ":host { display: block; min-width: 0; }\n/* A size container has no width of its own: in a column that shrinks to its content it would\n be none, so the grid takes the room it stands in. */\n:host([layout='grid']) { container-type: inline-size; width: 100%; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-description-list {\n margin: 0;\n font: var(--text-ui);\n font-variant-numeric: tabular-nums;\n}\n\n/* Every row has the same fractions, so the columns line up without an outer grid. */\n.lintje-description-list__row {\n display: grid;\n grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);\n border-bottom: 1px solid var(--color-border-default);\n}\n.lintje-description-list__row:last-child { border-bottom: 0; }\n\n.lintje-description-list__label {\n padding: 10px var(--space-3) 10px 0;\n color: var(--color-text-muted);\n}\n.lintje-description-list__value {\n display: flex; justify-content: space-between; align-items: baseline;\n gap: var(--space-3);\n min-width: 0;\n margin: 0;\n padding: 10px 0;\n color: var(--color-text-primary);\n overflow-wrap: anywhere;\n}\n\n.lintje-description-list__missing { color: var(--color-text-muted); }\n\n.lintje-description-list__link { color: var(--color-link); }\n.lintje-description-list__action {\n flex: none;\n font-weight: 700;\n color: var(--color-link);\n transition: color var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-description-list__link:hover,\n.lintje-description-list__action:hover { color: var(--color-link-hover); }\n\n/* `layout=\"column\"` and every list below 768 px: label above value, no lines. */\n.lintje-description-list--column .lintje-description-list__row { display: block; border-bottom: 0; }\n.lintje-description-list--column .lintje-description-list__row + .lintje-description-list__row { margin-top: 10px; }\n.lintje-description-list--column .lintje-description-list__label { padding: 0; font: var(--text-small); }\n.lintje-description-list--column .lintje-description-list__value { padding: 0; }\n@media screen and (max-width: 767px) {\n .lintje-description-list:not(.lintje-description-list--grid) .lintje-description-list__row { display: block; border-bottom: 0; }\n .lintje-description-list:not(.lintje-description-list--grid) .lintje-description-list__row + .lintje-description-list__row { margin-top: 10px; }\n .lintje-description-list:not(.lintje-description-list--grid) .lintje-description-list__label { padding: 0; font: var(--text-small); }\n .lintje-description-list:not(.lintje-description-list--grid) .lintje-description-list__value { padding: 0; }\n}\n\n.lintje-description-list__main { display: inline-flex; align-items: baseline; gap: var(--space-2); min-width: 0; }\n.lintje-description-list__main .lintje-icon { align-self: center; flex: none; }\n.lintje-description-list__tags { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }\n.lintje-description-list__tag {\n display: inline-flex; align-items: center;\n min-height: var(--h-chip);\n padding: 0 var(--space-3);\n border: 1px solid var(--color-border-strong);\n background: var(--color-bg-surface);\n font-weight: 700;\n}\n\n/* --- Grid: cells side by side, divided by a line, each with its own tone ----------------- */\n.lintje-description-list--grid {\n display: grid;\n grid-template-columns: repeat(var(--lintje-columns, 4), minmax(0, 1fr));\n gap: 1px;\n background: var(--color-border-default);\n}\n.lintje-description-list--grid .lintje-description-list__row {\n display: flex; flex-direction: column; gap: var(--space-1);\n min-width: 0;\n padding: var(--space-3) var(--space-4);\n border: 0;\n background: var(--color-bg-subtle);\n}\n.lintje-description-list--grid .lintje-description-list__row.is-wide { grid-column: span 2; }\n/* On a surface that is not the page's own (a hero's wash) the cells are panels: the surface, framed. */\n:host([surface]) .lintje-description-list--grid { border: 1px solid var(--color-border-default); }\n:host([surface]) .lintje-description-list--grid .lintje-description-list__row:not(.is-changed):not(.is-success):not(.is-info):not(.is-attention):not(.is-warning):not(.is-error) {\n background: var(--color-bg-surface);\n}\n.lintje-description-list--grid .lintje-description-list__label {\n display: flex; align-items: center; gap: var(--space-2);\n padding: 0;\n font: var(--text-meta);\n}\n.lintje-description-list--grid .lintje-description-list__value {\n /* The values of one row stand on one line, however tall each is. */\n flex: 1 1 auto;\n flex-direction: column; align-items: flex-start; justify-content: center;\n gap: var(--space-2);\n padding: 0;\n font-weight: 700;\n}\n/* What differs from the default: the chosen option's quiet surface with an edge on top. */\n.lintje-description-list--grid .is-changed {\n background: var(--color-choice-active-bg);\n box-shadow: inset 0 3px 0 var(--color-accent-line);\n}\n.lintje-description-list--grid .lintje-description-list__row.is-success {\n background: var(--color-success-bg);\n box-shadow: inset 0 3px 0 var(--color-success-line);\n}\n.lintje-description-list--grid .lintje-description-list__row.is-info {\n background: var(--color-info-bg);\n box-shadow: inset 0 3px 0 var(--color-info-line);\n}\n.lintje-description-list--grid .lintje-description-list__row.is-attention {\n background: var(--color-attention-bg);\n box-shadow: inset 0 3px 0 var(--color-attention-line);\n}\n.lintje-description-list--grid .lintje-description-list__row.is-warning {\n background: var(--color-warning-bg);\n box-shadow: inset 0 3px 0 var(--color-attention-line);\n}\n.lintje-description-list--grid .lintje-description-list__row.is-error {\n background: var(--color-error-bg);\n box-shadow: inset 0 3px 0 var(--color-error-line);\n}\n.lintje-description-list__row.is-success .lintje-description-list__main .lintje-icon { color: var(--color-success-line); }\n.lintje-description-list__row.is-info .lintje-description-list__main .lintje-icon { color: var(--color-info-line); }\n.lintje-description-list__row.is-error .lintje-description-list__main .lintje-icon { color: var(--color-error-line); }\n.lintje-description-list__row.is-attention .lintje-description-list__main .lintje-icon { color: var(--color-attention-line); }\n.lintje-description-list__row.is-warning .lintje-description-list__main .lintje-icon { color: var(--color-attention-line); }\n.lintje-description-list__row.is-busy .lintje-description-list__main .lintje-icon { color: var(--color-accent-text); }\n.lintje-description-list__row.is-neutral .lintje-description-list__main .lintje-icon { color: var(--color-text-muted); }\n.lintje-description-list__row.is-subtle .lintje-description-list__main .lintje-icon { color: var(--color-text-muted); }\n.lintje-description-list__row.is-live .lintje-description-list__main .lintje-icon { color: var(--color-error-line); }\n.lintje-description-list--grid .lintje-description-list__action { font: var(--text-meta); font-weight: 700; }\n.lintje-description-list--grid .is-large .lintje-description-list__value {\n font: var(--text-kpi);\n letter-spacing: var(--kpi-tracking);\n font-variant-numeric: tabular-nums;\n}\n@container (max-width: 30rem) {\n .lintje-description-list--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n /* A wide cell, and a last one alone on its row, take the whole row: no empty cell beside it. */\n .lintje-description-list--grid .lintje-description-list__row.is-wide,\n .lintje-description-list--grid .lintje-description-list__row:last-child:nth-child(odd) {\n grid-column: 1 / -1;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .lintje-description-list__action { transition: none; }\n}\n\n@media (forced-colors: active) {\n .lintje-description-list--grid .lintje-description-list__row { border: 1px solid CanvasText; }\n}\n", h = class extends r {
4
4
  constructor(...e) {
@@ -1,8 +1,8 @@
1
- import { Gt as e, Jt as t, Kt as n, Yt as r, Zt as i, en as a, lt as o, nn as s, ut as c } from "../chunks/base-CbmWxUig.js";
2
- import { n as l, r as u } from "../chunks/focus-trap-BwOxE5BX.js";
1
+ import { Gt as e, Jt as t, Kt as n, Yt as r, Zt as i, en as a, lt as o, nn as s, ut as c } from "../chunks/base-CVKIPSLx.js";
2
+ import { n as l, r as u } from "../chunks/focus-trap-rje9Oz19.js";
3
3
  import { t as d } from "../chunks/dialog-close-u75fVEw4.js";
4
- import { n as f, t as p } from "../chunks/controls-DxmnDSBr.js";
5
- import { t as m } from "../chunks/dialog-DChINFxD.js";
4
+ import { n as f, t as p } from "../chunks/controls-_4ac1Lpz.js";
5
+ import { t as m } from "../chunks/dialog-D4V467iC.js";
6
6
  //#region src/components/overlays/dialog/dialog.css?inline
7
7
  var h = "/* `display: contents` keeps the host out of its parent's flex or grid layout. */\n:host { display: contents; }\n\n/* ------------------------------------------------------------------------ */\n\n/* Covers the whole viewport, above the shell's menu (z-index 30). */\n.lintje-dialog__scrim {\n position: fixed;\n z-index: 80;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--space-6);\n background: var(--color-overlay-page);\n animation: lintje-fade-in var(--dur-scrim) var(--ease-in-motion);\n}\n\n.lintje-dialog {\n width: min(440px, 100%);\n max-height: 100%;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--space-3);\n padding: var(--space-6);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n border: 1px solid var(--color-border-strong);\n border-radius: var(--radius);\n box-shadow: var(--shadow-popover);\n animation: lintje-rise var(--dur-modal) var(--ease-in-motion);\n}\n:host([wide]) .lintje-dialog { width: min(calc(15 * var(--space-10)), 100%); }\n/* The window takes focus only in an alert or when the trap pulls stray focus back; no ring. */\n.lintje-dialog:focus { outline: none; }\n\n.lintje-dialog__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-4);\n}\n.lintje-dialog__heading { font: var(--text-h2); }\n/* The close button reaches into the padding, so it does not make the heading's line taller. */\n.lintje-dialog__close { margin: calc(var(--space-2) * -1) calc(var(--space-2) * -1) calc(var(--space-2) * -1) 0; }\n.lintje-dialog__close:hover { color: var(--color-text-primary); }\n\n/* A long form scrolls here; the padding keeps a field's focus ring inside the scroll box. */\n.lintje-dialog__body {\n flex: 1 1 auto;\n min-height: 0;\n overflow: auto;\n margin: calc(var(--focus-width) * -1) calc(var(--space-6) * -1);\n padding: var(--focus-width) var(--space-6);\n font: var(--text-body);\n}\n\n.lintje-dialog__footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-2) var(--space-4);\n margin-top: var(--space-3);\n}\n.lintje-dialog__footer[hidden] { display: none; }\n.lintje-dialog__note { font: var(--text-ui); }\n.lintje-dialog__actions {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--space-2);\n margin-left: auto;\n}\n\n/* Phone: the buttons stack, the last (the answer) on top and the safe one at the bottom. */\n@media screen and (max-width: 767px) {\n .lintje-dialog__scrim { padding: var(--space-4); }\n .lintje-dialog { width: 100%; }\n .lintje-dialog__footer { flex-direction: column; align-items: stretch; }\n .lintje-dialog__actions { flex-direction: column-reverse; margin-left: 0; }\n}\n", g = "input:not([type=\"hidden\"], [type=\"checkbox\"], [type=\"radio\"]), select, textarea, [contenteditable]";
8
8
  function _(e) {
@@ -1,4 +1,4 @@
1
- import { Jt as e, L as t, Yt as n, Zt as r, bt as i, en as a, lt as o, nn as s, st as c, ut as l } from "../chunks/base-CbmWxUig.js";
1
+ import { Jt as e, L as t, Yt as n, Zt as r, bt as i, en as a, lt as o, nn as s, st as c, ut as l } from "../chunks/base-CVKIPSLx.js";
2
2
  import "./empty-state.js";
3
3
  //#region src/components/content/document-viewer/document-viewer.css?inline
4
4
  var u = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-document-viewer {\n display: flex;\n flex-direction: column;\n height: 100%;\n border: 1px solid var(--color-border-default);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n}\n\n.lintje-document-viewer__toolbar {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-2) var(--space-4);\n padding: var(--space-1) var(--space-3);\n border-bottom: 1px solid var(--color-border-default);\n font: var(--text-ui);\n}\n.lintje-document-viewer__name {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-weight: 700;\n}\n.lintje-document-viewer__group { display: flex; align-items: center; gap: var(--space-1); }\n.lintje-document-viewer__button { height: var(--h-button); min-width: var(--h-button); }\n.lintje-document-viewer__figure { font-variant-numeric: tabular-nums; white-space: nowrap; }\n.lintje-document-viewer__zoom { min-width: 7ch; text-align: center; }\n\n.lintje-document-viewer__view {\n position: relative;\n flex: 1 1 auto;\n min-height: 0;\n overflow: auto;\n padding: var(--space-6);\n background: var(--color-bg-subtle);\n touch-action: pan-x pan-y pinch-zoom;\n}\n\n/* Auto margins centre the page; a wider page scrolls to its left edge instead of being cut. */\n.lintje-document-viewer__page {\n margin: 0 auto;\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-default);\n}\n.lintje-document-viewer__page.is-fit { width: 100%; }\n.lintje-document-viewer__page.is-loading {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n}\n.lintje-document-viewer__image { display: block; width: 100%; height: auto; }\n\n.lintje-document-viewer__skeleton {\n display: block;\n width: 100%;\n max-width: 420px;\n margin: 0 auto;\n aspect-ratio: 210 / 297;\n}\n\n@media screen and (max-width: 767px) {\n .lintje-document-viewer__name { flex-basis: 100%; }\n .lintje-document-viewer__view { padding: var(--space-2) 0; }\n}\n", d = 50, f = 400, p = 25;
@@ -1,7 +1,7 @@
1
- import { Jt as e, Yt as t, Zt as n, en as r, lt as i, nn as a, ut as o } from "../chunks/base-CbmWxUig.js";
2
- import { r as s } from "../chunks/focus-trap-BwOxE5BX.js";
1
+ import { Jt as e, Yt as t, Zt as n, en as r, lt as i, nn as a, ut as o } from "../chunks/base-CVKIPSLx.js";
2
+ import { r as s } from "../chunks/focus-trap-rje9Oz19.js";
3
3
  import { t as c } from "../chunks/dialog-close-u75fVEw4.js";
4
- import { t as l } from "../chunks/dialog-DChINFxD.js";
4
+ import { t as l } from "../chunks/dialog-D4V467iC.js";
5
5
  //#region src/components/overlays/drawer/drawer.css?inline
6
6
  var u = ":host { display: contents; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The modal's z-index: above the shell's menu. */\n.lintje-drawer__scrim {\n position: fixed; inset: 0; z-index: 80;\n background: var(--color-overlay-page);\n animation: lintje-fade-in var(--dur-scrim) var(--ease-in-motion);\n}\n\n.lintje-drawer {\n position: fixed; top: 0; right: 0; bottom: 0; z-index: 81;\n width: min(480px, 100vw);\n display: flex; flex-direction: column;\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n border-left: 1px solid var(--color-border-strong);\n box-shadow: var(--shadow-popover);\n animation: lintje-drawer-in var(--dur-sheet) var(--ease-in-motion);\n}\n.lintje-drawer:focus { outline: none; }\n\n.lintje-drawer__header {\n display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3);\n padding: var(--space-5) var(--space-6);\n border-bottom: 1px solid var(--color-border-default);\n}\n.lintje-drawer__heading { min-width: 0; }\n.lintje-drawer__title { font: var(--text-h2); }\n.lintje-drawer__subtitle { font: var(--text-small); color: var(--color-text-muted); margin-top: var(--space-1); }\n/* No hover while the close button is unavailable. */\n.lintje-drawer__close:not([aria-disabled='true']):hover { color: var(--color-text-primary); }\n\n.lintje-drawer__body {\n flex: 1; min-height: 0; overflow-y: auto;\n padding: var(--space-5) var(--space-6);\n display: flex; flex-direction: column; gap: var(--space-4);\n}\n\n.lintje-drawer__footer {\n display: flex; justify-content: flex-end; flex-wrap: wrap; gap: var(--space-2);\n padding: var(--space-3) var(--space-6);\n border-top: 1px solid var(--color-border-default);\n}\n\n/* A keyframe only works in the root that uses it. */\n@keyframes lintje-drawer-in {\n from { transform: translateX(100%); }\n to { transform: none; }\n}\n\n@media screen and (max-width: 767px) {\n .lintje-drawer {\n inset: 0;\n width: 100%;\n border-left: 0;\n animation-name: lintje-sheet-in;\n }\n .lintje-drawer__header,\n .lintje-drawer__body,\n .lintje-drawer__footer { padding-left: var(--space-4); padding-right: var(--space-4); }\n}\n", d = "input:not([type=\"hidden\"]), select, textarea", f = "Zijpaneel", p = class extends e {
7
7
  constructor(...e) {
@@ -1,4 +1,4 @@
1
- import { E as e, Jt as t, T as n, Yt as r, Zt as i, lt as a, nn as o } from "../chunks/base-CbmWxUig.js";
1
+ import { E as e, Jt as t, T as n, Yt as r, Zt as i, lt as a, nn as o } from "../chunks/base-CVKIPSLx.js";
2
2
  //#region src/components/feedback/empty-state/empty-state.css?inline
3
3
  var s = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n", c = class extends t {
4
4
  constructor(...e) {
@@ -1,4 +1,4 @@
1
- import { H as e, Jt as t, Yt as n, Zt as r, en as i, lt as a, nn as o, st as s, ut as c } from "../chunks/base-CbmWxUig.js";
1
+ import { H as e, Jt as t, Yt as n, Zt as r, en as i, lt as a, nn as o, st as s, ut as c } from "../chunks/base-CVKIPSLx.js";
2
2
  import "./copy-button.js";
3
3
  import "./description-list.js";
4
4
  //#region src/components/feedback/error-page/error-page.css?inline
@@ -1,5 +1,5 @@
1
- import { Jt as e, Yt as t, Zt as n, en as r, lt as i, nn as a, ut as o } from "../chunks/base-CbmWxUig.js";
2
- import { c as s, i as c, o as l } from "../chunks/controls-DxmnDSBr.js";
1
+ import { Jt as e, Yt as t, Zt as n, en as r, lt as i, nn as a, ut as o } from "../chunks/base-CVKIPSLx.js";
2
+ import { c as s, i as c, o as l } from "../chunks/controls-_4ac1Lpz.js";
3
3
  //#region src/components/forms/error-summary/error-summary.css?inline
4
4
  var u = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The frame takes the focus after a failed attempt and keeps its own red under the ring. */\n.lintje-error-summary {\n display: flex;\n align-items: flex-start;\n gap: var(--space-3);\n padding: var(--space-4) var(--space-5);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n border: 2px solid var(--color-error);\n border-radius: var(--radius);\n}\n.lintje-error-summary__icon {\n flex: none;\n margin-top: 2px;\n color: var(--color-error);\n}\n.lintje-error-summary__body { min-width: 0; }\n.lintje-error-summary__heading {\n margin: 0 0 var(--space-1);\n font: var(--text-tile-title);\n}\n\n.lintje-error-summary__list {\n margin: 0;\n padding-left: var(--space-5);\n list-style: disc;\n font: var(--text-ui);\n}\n.lintje-error-summary__link {\n color: var(--color-link);\n text-decoration: underline;\n transition: color var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-error-summary__link:hover { color: var(--color-link-hover); }\n\n.lintje-error-summary__message {\n margin: 0;\n font: var(--text-ui);\n}\n\n@media screen and (max-width: 767px) {\n .lintje-error-summary { padding: var(--space-3) var(--space-4); }\n}\n";
5
5
  //#endregion
@@ -1,5 +1,5 @@
1
- import { P as e, Yt as t, Zt as n, lt as r, nn as i, st as a } from "../chunks/base-CbmWxUig.js";
2
- import { i as o, n as s, r as c, t as l } from "../chunks/disclosure-DLkXPUpV.js";
1
+ import { P as e, Yt as t, Zt as n, lt as r, nn as i, st as a } from "../chunks/base-CVKIPSLx.js";
2
+ import { i as o, n as s, r as c, t as l } from "../chunks/disclosure-DVex7Lo_.js";
3
3
  import { t as u } from "../chunks/disclosure-D39vAR5q.js";
4
4
  //#region src/components/layout/expander/expander.ts
5
5
  var d = class extends e {
@@ -1,5 +1,5 @@
1
- import { F as e, P as t, Yt as n, Zt as r, en as i, lt as a, nn as o, st as s } from "../chunks/base-CbmWxUig.js";
2
- import { i as c, n as l, r as u, t as d } from "../chunks/disclosure-DLkXPUpV.js";
1
+ import { F as e, P as t, Yt as n, Zt as r, en as i, lt as a, nn as o, st as s } from "../chunks/base-CVKIPSLx.js";
2
+ import { i as c, n as l, r as u, t as d } from "../chunks/disclosure-DVex7Lo_.js";
3
3
  import { t as f } from "../chunks/disclosure-D39vAR5q.js";
4
4
  //#region src/components/charts/explainer/explainer.css?inline
5
5
  var p = "/* The disclosure itself is `shared/disclosure.css`, adopted next to this sheet (rule 2). */\n:host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n@media print { :host { break-inside: avoid; } }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-explainer {\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-default);\n padding: var(--tile-pad-y) var(--tile-pad-x);\n}\n.lintje-explainer__list {\n display: grid;\n grid-template-columns: minmax(0, max-content) minmax(0, 72ch);\n column-gap: var(--space-5);\n row-gap: var(--space-3);\n font: var(--text-body);\n}\n.lintje-explainer__term { grid-column: 1; font-weight: 700; color: var(--color-text-primary); }\n.lintje-explainer__description { grid-column: 2; margin: 0; color: var(--color-text-secondary); }\n\n@media screen and (max-width: 767px) {\n .lintje-explainer__list { display: block; }\n .lintje-explainer__description { margin-top: 2px; }\n .lintje-explainer__description + .lintje-explainer__term { margin-top: var(--space-3); }\n}\n", m = class extends t {
@@ -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-CbmWxUig.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/inputs/field/field.css?inline
3
3
  var o = "/* `min-width: 0`, or a grid item overflows. */\n:host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n:host([stacked]) { width: 100%; --h-control: var(--h-touch); }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-filter-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }\n.lintje-filter-field__label {\n display: flex; align-items: center; gap: 6px;\n font-size: var(--label-size);\n font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking);\n text-transform: uppercase;\n color: var(--color-text-muted);\n}\n.lintje-filter-field__label.is-modified { color: var(--color-accent-text); }\n.lintje-filter-field__dot {\n width: 6px; height: 6px; border-radius: 50%;\n background: var(--color-attention);\n flex: none;\n}\n\n:host([stacked]) .lintje-filter-field { gap: var(--space-2); }\n\n/* Forced colours drop the label colour; the dot keeps its drawing in CanvasText. */\n@media (forced-colors: active) {\n .lintje-filter-field__dot { forced-color-adjust: none; background: CanvasText; }\n}\n";
4
4
  //#endregion
@@ -1,6 +1,7 @@
1
- import { Gt as e, Kt as t, Q as n, Yt as r, Zt as i, en as a, lt as o, nn as s, st as c, ut as l } from "../chunks/base-CbmWxUig.js";
2
- import { n as u } from "../chunks/focus-trap-BwOxE5BX.js";
3
- import { r as d, t as f } from "../chunks/input-CRW_exv_.js";
1
+ import { Gt as e, Kt as t, Q as n, Yt as r, Zt as i, en as a, lt as o, nn as s, st as c, ut as l } from "../chunks/base-CVKIPSLx.js";
2
+ import { n as u } from "../chunks/focus-trap-rje9Oz19.js";
3
+ import { n as d } from "../chunks/input-DEHA2Z_0.js";
4
+ import { t as f } from "../chunks/input-lQTmOMOz.js";
4
5
  //#region src/components/inputs/file-upload/file-upload.css?inline
5
6
  var p = "/* The drop zone and the list of files under it. */\n:host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n:host([fill]) { height: 100%; }\n:host([fill]) .lintje-field { height: 100%; }\n\n/* --- */\n\n/* The zone itself does not answer the pointer: only the button does. Its content stands centred,\n so a wide zone does not leave it huddled in one corner. */\n.lintje-file-upload {\n display: flex; flex-wrap: wrap; align-items: center; justify-content: center;\n gap: var(--space-2) var(--space-3);\n padding: var(--space-6) var(--space-4);\n border: 2px dashed var(--color-border-heavy);\n background: var(--color-bg-page);\n color: var(--color-text-primary);\n font: var(--text-ui);\n text-align: center;\n}\n.lintje-file-upload__icon { flex: none; }\n.lintje-file-upload--fill {\n flex: 1;\n flex-direction: column;\n justify-content: center;\n min-height: calc(4 * var(--h-control));\n text-align: center;\n}\n.lintje-file-upload--fill .lintje-file-upload__meta { flex-basis: auto; }\n.lintje-file-upload__meta {\n flex-basis: 100%;\n font: var(--text-meta);\n color: var(--color-text-muted);\n}\n\n.lintje-file-upload.is-dragging {\n border-style: solid;\n border-color: var(--color-accent-line);\n background: var(--color-bg-selected);\n}\n.lintje-file-upload.is-error { border-style: solid; border-color: var(--color-error); }\n.lintje-file-upload.is-disabled {\n background: var(--color-bg-subtle);\n color: var(--color-text-disabled);\n}\n.lintje-file-upload.is-disabled .lintje-file-upload__meta { color: var(--color-text-disabled); }\n\n/* --- The files ----------------------------------------------------------- */\n.lintje-file-upload__list { display: flex; flex-direction: column; gap: var(--space-3); }\n.lintje-file-upload__row { display: flex; flex-direction: column; gap: 6px; }\n.lintje-file-upload__row-head {\n display: flex; flex-wrap: wrap; align-items: center;\n gap: var(--space-2) var(--space-3);\n}\n.lintje-file-upload__row-icon { flex: none; }\n.lintje-file-upload__row.is-busy .lintje-file-upload__row-icon { color: var(--color-text-muted); }\n.lintje-file-upload__row.is-done .lintje-file-upload__row-icon { color: var(--color-success); }\n.lintje-file-upload__row.is-error .lintje-file-upload__row-icon { color: var(--color-error); }\n.lintje-file-upload__name {\n flex: 1 1 120px; min-width: 0;\n font: var(--text-ui);\n color: var(--color-text-primary);\n overflow-wrap: anywhere;\n}\n.lintje-file-upload__detail { color: var(--color-text-muted); }\n.lintje-file-upload__reason {\n display: block;\n font: var(--text-meta);\n font-weight: 700;\n color: var(--color-error-text);\n}\n\n/* Below 768 px nobody drags: the words go and the button takes the full width. */\n@media screen and (max-width: 767px) {\n .lintje-file-upload__text { display: none; }\n .lintje-file-upload.is-dragging .lintje-file-upload__text { display: inline; }\n .lintje-file-upload__button { flex: 1 1 100%; --h-button: var(--h-touch); }\n}\n", m = new Intl.NumberFormat("nl-NL", { maximumFractionDigits: 1 });
6
7
  function h(e) {
@@ -1,14 +1,14 @@
1
- import { Ft as e, Gt as t, Jt as n, Kt as r, Lt as i, Pt as a, Rt as o, Yt as s, Zt as c, en as l, nn as u } from "../chunks/base-CbmWxUig.js";
1
+ import { Ft as e, Gt as t, Jt as n, Kt as r, Lt as i, Pt as a, Rt as o, Yt as s, Zt as c, en as l, nn as u } from "../chunks/base-CVKIPSLx.js";
2
2
  import "./segmented.js";
3
+ import "./select.js";
3
4
  import "./text-input.js";
4
5
  import "./field.js";
5
6
  import "./number-input.js";
6
- import "./select.js";
7
7
  import "./multiselect.js";
8
8
  import "./toggle.js";
9
9
  import "./range.js";
10
10
  import "./date-range.js";
11
- import { n as d } from "../chunks/sentence-B19AyZBS.js";
11
+ import { n as d } from "../chunks/sentence-mY0Iqu5H.js";
12
12
  import "./filter-zone.js";
13
13
  import "./filter-sheet.js";
14
14
  //#region src/components/filters/shared/filter-layout.css?inline
@@ -1,7 +1,7 @@
1
- import { Ht as e, Jt as t, Vt as n, Yt as r, Zt as i, en as a, lt as o, nn as s, ut as c } from "../chunks/base-CbmWxUig.js";
2
- import { t as l } from "../chunks/focus-trap-BwOxE5BX.js";
1
+ import { Ht as e, Jt as t, Vt as n, Yt as r, Zt as i, en as a, lt as o, nn as s, ut as c } from "../chunks/base-CVKIPSLx.js";
2
+ import { t as l } from "../chunks/focus-trap-rje9Oz19.js";
3
3
  import { t as u } from "../chunks/dialog-close-u75fVEw4.js";
4
- import { t as d } from "../chunks/sentence-B19AyZBS.js";
4
+ import { t as d } from "../chunks/sentence-mY0Iqu5H.js";
5
5
  //#region src/components/filters/filter-sheet/filter-sheet.css?inline
6
6
  var f = "/* The filter sheet's own box. Control sizes are set in `filter-layout.css`. */\n:host {\n display: block;\n}\n\n/* --- */\n\n.lintje-filter-sheet__scrim {\n position: fixed; inset: 0; z-index: 60;\n background: var(--color-overlay-page);\n animation: lintje-fade-in var(--dur-scrim) var(--ease-in-motion);\n}\n.lintje-filter-sheet {\n position: fixed;\n inset: auto 0 0 0;\n z-index: 61;\n max-height: 88vh;\n display: flex;\n flex-direction: column;\n background: var(--color-bg-filter);\n border-top: 1px solid var(--color-border-filter);\n animation: lintje-sheet-in var(--dur-sheet) var(--ease-in-motion);\n}\n.lintje-filter-sheet:focus { outline: none; }\n\n.lintje-filter-sheet__header {\n display: flex; align-items: center; gap: var(--space-2);\n padding: var(--space-4);\n border-bottom: 1px solid var(--color-border-filter);\n}\n.lintje-filter-sheet__title { font: var(--text-h2); }\n.lintje-filter-sheet__hint { font: var(--text-small); color: var(--color-text-muted); flex: 1; }\n\n.lintje-filter-sheet__body {\n flex: 1;\n overflow-y: auto;\n padding: var(--space-4);\n display: flex;\n flex-direction: column;\n gap: var(--space-5);\n}\n\n.lintje-filter-sheet__summary {\n display: flex; align-items: flex-start; gap: var(--space-2);\n font: var(--text-ui); line-height: 1.4;\n padding-top: var(--space-2);\n border-top: 1px solid var(--color-border-filter);\n}\n\n.lintje-filter-sheet__footer {\n display: flex; gap: var(--space-3);\n padding: var(--space-4);\n border-top: 1px solid var(--color-border-filter);\n background: var(--color-bg-surface);\n}\n/* The <button> reading the height is in the `lintje-button` shadow root: set the token here. */\n.lintje-filter-sheet__action { flex: 1; height: var(--h-touch); --h-button: var(--h-touch); }\n", p = class extends t {
7
7
  constructor(...e) {
@@ -1,5 +1,5 @@
1
- import { Gt as e, I as t, Jt as n, Kt as r, Q as i, Ut as a, Yt as o, Zt as s, en as c, lt as l, nn as u, st as d, ut as f } from "../chunks/base-CbmWxUig.js";
2
- import { t as p } from "../chunks/sentence-B19AyZBS.js";
1
+ import { Gt as e, I as t, Jt as n, Kt as r, Q as i, Ut as a, Yt as o, Zt as s, en 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/sentence-mY0Iqu5H.js";
3
3
  function m(e) {
4
4
  return e.open;
5
5
  }
@@ -0,0 +1 @@
1
+ export * from '../types/components/inputs/find/find.js'
@@ -0,0 +1,132 @@
1
+ import { Yt as e, Zt as t, en as n, f as r, lt as i, nn as a, st as o, ut as s } from "../chunks/base-CVKIPSLx.js";
2
+ import { n as c } from "../chunks/input-DEHA2Z_0.js";
3
+ import { t as l } from "../chunks/debounce-JXnLMCcF.js";
4
+ //#region src/components/inputs/find/find.css?inline
5
+ var u = "/* One box: the count and the buttons appear inside it, so typing moves nothing around it. */\n:host {\n display: block;\n min-width: 0;\n width: calc(10 * var(--space-10));\n max-width: 100%;\n}\n:host([hidden]) { display: none; }\n@media screen and (max-width: 767px) {\n :host { width: 100%; }\n}\n\n/* --- */\n\n.lintje-find {\n position: relative;\n display: flex; align-items: center;\n height: var(--h-control);\n border: 1px solid var(--color-border-field);\n border-radius: var(--radius);\n background: var(--color-bg-surface);\n}\n/* The ring goes round the whole box, not round the input inside it. */\n.lintje-find:has(.lintje-find__control:focus-visible) {\n outline: var(--focus-width) solid var(--color-focus);\n outline-offset: var(--focus-offset);\n}\n.lintje-find.is-disabled {\n border-color: var(--color-border-strong);\n background: var(--color-bg-subtle);\n}\n.lintje-find__icon {\n position: absolute; left: var(--space-3);\n color: var(--color-text-muted);\n pointer-events: none;\n}\n.lintje-find.is-disabled .lintje-find__icon { color: var(--color-text-disabled); }\n.lintje-find__control {\n flex: 1; min-width: 0;\n height: 100%;\n padding: 0 var(--space-2) 0 var(--space-10);\n border: 0;\n background: transparent;\n color: var(--color-text-primary);\n font: var(--text-ui);\n}\n.lintje-find__control:focus-visible { outline: none; }\n.lintje-find__control::placeholder { color: var(--color-text-placeholder); opacity: 1; }\n.lintje-find__control:disabled { color: var(--color-text-disabled); cursor: not-allowed; }\n.lintje-find__control:disabled::placeholder { color: var(--color-text-disabled); }\n.lintje-find__control::-webkit-search-cancel-button,\n.lintje-find__control::-webkit-search-decoration { appearance: none; }\n.lintje-find__count {\n display: inline-flex; align-items: center; gap: var(--space-2);\n flex: none;\n padding: 0 var(--space-2);\n font: var(--text-meta);\n font-variant-numeric: tabular-nums;\n color: var(--color-text-muted);\n white-space: nowrap;\n}\n.lintje-find__divider {\n flex: none;\n width: 1px; height: var(--space-6);\n background: var(--color-border-default);\n}\n.lintje-find__button {\n display: flex; align-items: center; justify-content: center;\n flex: none;\n width: var(--h-icon-button); height: var(--h-icon-button);\n color: var(--color-link);\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-find__button:last-child { margin-right: var(--space-1); }\n.lintje-find__button:hover:not([aria-disabled='true']) { background: var(--color-bg-subtle); }\n.lintje-find__button:focus-visible { outline-offset: calc(var(--focus-width) * -1); }\n.lintje-find__button[aria-disabled='true'] { color: var(--color-text-disabled); cursor: not-allowed; }\n", d = "lintje-find-count", f = class extends c {
6
+ static {
7
+ this.styles = [i, t(u)];
8
+ }
9
+ static {
10
+ this.properties = {
11
+ value: { type: String },
12
+ placeholder: { type: String },
13
+ total: { type: Number },
14
+ current: { type: Number },
15
+ busy: {
16
+ type: Boolean,
17
+ reflect: !0
18
+ },
19
+ message: { state: !0 }
20
+ };
21
+ }
22
+ #e;
23
+ #t;
24
+ #n;
25
+ #r;
26
+ #i;
27
+ constructor() {
28
+ super(), this.value = "", this.placeholder = "", this.total = null, this.current = 0, this.busy = !1, this.message = "", this.typing = new l(this), this.#e = "", this.#t = !1, this.#n = !1, this.#r = 0, this.#i = 0, this.keepTyping = (e) => {
29
+ this.renderRoot.activeElement?.id === this.controlId && e.preventDefault();
30
+ }, this.holdFocus = (e) => {
31
+ this.renderRoot.activeElement || e.currentTarget.focus();
32
+ }, this.label = "Zoeken in de tekst";
33
+ }
34
+ get navigable() {
35
+ return this.value !== "" && !this.busy && !this.disabled && (this.total ?? 0) > 0;
36
+ }
37
+ get countText() {
38
+ return this.busy ? "Zoeken…" : this.total === null ? "" : this.total === 0 ? "Geen treffers" : this.current > 0 ? `${r(this.current)} van ${r(this.total)}` : this.total === 1 ? "1 treffer" : `${r(this.total)} treffers`;
39
+ }
40
+ willUpdate(e) {
41
+ super.willUpdate(e), e.has("value") && !this.#t && (this.#e = this.value), this.#t = !1;
42
+ }
43
+ updated(e) {
44
+ if (super.updated(e), this.busy || this.value === "" || this.total === null) return;
45
+ if (this.#n) {
46
+ this.#n = !1, this.#r = 0, this.say(this.total === 0 ? "Geen treffers" : this.countText);
47
+ return;
48
+ }
49
+ if (!this.#r || !e.has("current") || this.current < 1) return;
50
+ let t = e.get("current"), n = `${r(this.current)} van ${r(this.total)}`, i = this.#r > 0 ? t === this.total && this.current === 1 : t === 1 && this.current === this.total;
51
+ this.#r = 0, i ? this.say(`Terug bij de ${this.current === 1 ? "eerste" : "laatste"} treffer, ${n}`) : this.say(n);
52
+ }
53
+ disconnectedCallback() {
54
+ cancelAnimationFrame(this.#i), super.disconnectedCallback();
55
+ }
56
+ say(e) {
57
+ cancelAnimationFrame(this.#i), this.message = "", this.#i = requestAnimationFrame(() => this.message = e);
58
+ }
59
+ send(e) {
60
+ e !== this.#e && (this.#e = e, this.#n = e !== "", this.commit(e));
61
+ }
62
+ onInput(e) {
63
+ this.#t = !0, this.value = e.target.value, this.typing.schedule(() => this.send(this.value));
64
+ }
65
+ onKeydown(e) {
66
+ e.key === "Enter" && (e.preventDefault(), this.typing.pending ? this.typing.flush() : this.step(e.shiftKey ? -1 : 1)), e.key === "Escape" && this.value !== "" && (e.preventDefault(), e.stopPropagation(), this.clear());
67
+ }
68
+ step(e) {
69
+ this.navigable && (this.#r = e, this.emit("lintje-find-step", e));
70
+ }
71
+ clear() {
72
+ this.disabled || (this.typing.cancel(), this.value = "", this.message = "", this.send(""), this.focusControl());
73
+ }
74
+ renderButton(e, t, r, i, o) {
75
+ return a`<button
76
+ type="button"
77
+ class="lintje-find__button lintje-find__button--${o}"
78
+ title=${e}
79
+ aria-label=${e}
80
+ aria-disabled=${t ? n : "true"}
81
+ @mousedown=${this.keepTyping}
82
+ @click=${(e) => {
83
+ this.holdFocus(e), t && r();
84
+ }}
85
+ >
86
+ ${i}
87
+ </button>`;
88
+ }
89
+ render() {
90
+ let e = this.value !== "", t = this.navigable;
91
+ return a`<div
92
+ class=${o({
93
+ "lintje-find": !0,
94
+ "is-disabled": this.disabled
95
+ })}
96
+ role="search"
97
+ >
98
+ <label id=${this.labelId} for=${this.controlId} class="visually-hidden">${this.label}</label>
99
+ ${s("functioneel-zoek", {
100
+ size: 18,
101
+ className: "lintje-find__icon"
102
+ })}
103
+ <input
104
+ type="search"
105
+ id=${this.controlId}
106
+ class="lintje-find__control"
107
+ .value=${this.value}
108
+ placeholder=${this.placeholder || this.label}
109
+ enterkeyhint="search"
110
+ autocomplete="off"
111
+ aria-describedby=${e ? d : n}
112
+ ?disabled=${this.disabled}
113
+ @input=${this.onInput}
114
+ @keydown=${this.onKeydown}
115
+ />
116
+ ${e ? a`<span id=${d} class="lintje-find__count"
117
+ >${this.busy ? a`<lintje-spinner size="16"></lintje-spinner>` : n}${this.countText}</span
118
+ >
119
+ <span class="lintje-find__divider" aria-hidden="true"></span>
120
+ ${this.renderButton("Vorige treffer", t, () => this.step(-1), s("functioneel-delta-omlaag", {
121
+ size: 16,
122
+ rotate: 180
123
+ }), "previous")}
124
+ ${this.renderButton("Volgende treffer", t, () => this.step(1), s("functioneel-delta-omlaag", { size: 16 }), "next")}
125
+ ${this.renderButton("Zoektekst wissen", !this.disabled, () => this.clear(), s("functioneel-kruis", { size: 16 }), "clear")}` : n}
126
+ </div>
127
+ <p class="visually-hidden" role="status">${this.message}</p>`;
128
+ }
129
+ };
130
+ e("lintje-find", f);
131
+ //#endregion
132
+ export { f as LintjeFind };
@@ -1,4 +1,4 @@
1
- import { H as e, Jt as t, Yt as n, Zt as r, en as i, nn as a, nt as o } from "../chunks/base-CbmWxUig.js";
1
+ import { H as e, Jt as t, Yt as n, Zt as r, en as i, nn as a, nt as o } from "../chunks/base-CVKIPSLx.js";
2
2
  //#region src/components/frame/footer/footer.css?inline
3
3
  var s = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-footer {\n background: var(--color-footer-bg);\n color: var(--color-footer-text);\n font: var(--text-ui);\n}\n.lintje-footer :focus-visible { outline-color: var(--color-footer-focus); }\n\n/* The text keeps to the content column, as the bars above the page do. */\n.lintje-footer__inner {\n display: flex; flex-direction: column;\n gap: var(--space-8);\n padding: var(--space-10) calc(var(--page-pad-x) + var(--page-gutter)) var(--space-8);\n}\n\n.lintje-footer__tagline { margin: 0; font: var(--text-h2); }\n\n.lintje-footer__columns {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--w-footer-column)), 1fr));\n gap: var(--space-8) var(--grid-gutter);\n}\n.lintje-footer__column { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }\n.lintje-footer__heading {\n margin: 0;\n font-size: var(--label-size); font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking); text-transform: uppercase;\n}\n.lintje-footer__list,\n.lintje-footer__meta { list-style: none; margin: 0; padding: 0; }\n.lintje-footer__list { display: flex; flex-direction: column; gap: var(--space-3); }\n\n.lintje-footer__link,\n.lintje-footer__meta-link {\n display: inline-flex; align-items: center;\n min-height: var(--h-touch);\n color: inherit;\n text-decoration: none;\n}\n/* A list of text links keeps the house style's rhythm: a line high, 12 px apart. */\n.lintje-footer__link { min-height: var(--h-target-text); }\n.lintje-footer__link:hover,\n.lintje-footer__meta-link:hover { text-decoration: underline; text-underline-offset: 0.2em; }\n\n/* The links every page carries, apart from the columns by a line. */\n.lintje-footer__bottom {\n display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;\n gap: var(--space-2) var(--space-6);\n padding-top: var(--space-4);\n border-top: 1px solid var(--color-footer-line);\n}\n.lintje-footer__meta { display: flex; flex-wrap: wrap; gap: 0 var(--space-6); }\n.lintje-footer__meta-link { font: var(--text-small); }\n/* The full text colour: a muted one would fall under 4.5:1 on the theme's fill. */\n.lintje-footer__note { margin: 0; font: var(--text-small); }\n\n@media screen and (max-width: 767px) {\n .lintje-footer__inner { padding-top: var(--space-8); }\n .lintje-footer__columns { grid-template-columns: minmax(0, 1fr); }\n}\n", c = class extends t {
4
4
  static {
@@ -1,5 +1,5 @@
1
- import { Gt as e, Jt as t, Kt as n, Ut as r, Yt as i, Zt as a, en as o, lt as s, nn as c, nt as l, ut as u } from "../chunks/base-CbmWxUig.js";
2
- import { n as d, t as f } from "../chunks/controls-DxmnDSBr.js";
1
+ import { Gt as e, Jt as t, Kt as n, Ut as r, Yt as i, Zt as a, en as o, lt as s, nn as c, nt as l, ut as u } from "../chunks/base-CVKIPSLx.js";
2
+ import { n as d, t as f } from "../chunks/controls-_4ac1Lpz.js";
3
3
  //#region src/components/forms/form-actions/form-actions.css?inline
4
4
  var p = "/* The host is the sticky box. z-index 20: above the form, below the shell's menu (30) and popovers (46). */\n:host {\n display: block;\n min-width: 0;\n position: sticky;\n bottom: 0;\n z-index: 20;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-form-actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-3) var(--space-4);\n padding: var(--space-3) var(--space-6);\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-default);\n border-top: 2px solid var(--color-accent-line);\n}\n\n/* The words carry the state; the dot and the check only support it (rule 13). */\n.lintje-form-actions__status {\n display: flex;\n align-items: center;\n gap: var(--space-2);\n min-width: 0;\n font: var(--text-small);\n color: var(--color-text-muted);\n}\n.lintje-form-actions__dot {\n flex: none;\n width: 6px;\n height: 6px;\n border-radius: var(--radius-round);\n background: var(--color-attention);\n}\n.lintje-form-actions__check {\n flex: none;\n color: var(--color-success);\n}\n\n.lintje-form-actions__buttons {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--space-2);\n margin-left: auto;\n}\n\n/* Phone: the bar sets `block` on each button, so it fills its row. */\n@media screen and (max-width: 767px) {\n .lintje-form-actions {\n flex-direction: column;\n align-items: stretch;\n }\n .lintje-form-actions__buttons {\n flex-direction: column-reverse;\n margin-left: 0;\n }\n}\n\n/* Forced colours: the dot is a fill only, which the palette drops; it keeps its drawing. */\n@media (forced-colors: active) {\n .lintje-form-actions__dot { forced-color-adjust: none; background: CanvasText; }\n}\n", m = "Wijzigingen nog niet opgeslagen", h = "Bezig met opslaan";
5
5
  function g(e) {
@@ -1,5 +1,5 @@
1
- import { Jt as e, Yt as t, Zt as n, en as r, nn as i, st as a } from "../chunks/base-CbmWxUig.js";
2
- import { a as o, n as s } from "../chunks/controls-DxmnDSBr.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
+ import { a as o, n as s } from "../chunks/controls-_4ac1Lpz.js";
3
3
  //#region src/components/forms/form-section/form-section.css?inline
4
4
  var c = "/* Slotted children keep clear of the sticky top bar when the error summary scrolls to them. */\n:host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n::slotted(*) { scroll-margin-top: var(--h-sticky); }\n\n/* ------------------------------------------------------------------------ */\n\n/* The legend floats at full width so it lays out as a block, not on the fieldset's border. */\n.lintje-form-section {\n margin: 0;\n padding: 0;\n min-width: 0;\n border: 0;\n}\n.lintje-form-section__legend {\n float: left;\n width: 100%;\n padding: 0;\n font: var(--text-h2);\n color: var(--color-text-primary);\n}\n.lintje-form-section__description {\n clear: both;\n padding-top: var(--space-2);\n font: var(--text-small);\n color: var(--color-text-muted);\n}\n.lintje-form-section__fields {\n clear: both;\n display: flex;\n flex-direction: column;\n gap: var(--space-5);\n padding-top: var(--space-5);\n}\n\n/* Setting rows read as a list: a line between two of them. */\n.lintje-form-section__fields ::slotted([layout='row']:not(:first-child)) {\n padding-top: var(--space-5);\n border-top: 1px solid var(--color-border-default);\n}\n\n.lintje-form-section--tile {\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-default);\n border-radius: var(--radius);\n padding: var(--tile-pad-y) var(--tile-pad-x);\n}\n.lintje-form-section--tile .lintje-form-section__legend { font: var(--text-tile-title); }\n/* The heading takes the legend's look; it is there for the outline, not to restyle. */\n.lintje-form-section__heading { margin: 0; font: inherit; color: inherit; }\n", l = class extends e {
5
5
  constructor(...e) {
@@ -1,5 +1,5 @@
1
- import { Gt as e, Jt as t, Kt as n, Q as r, Yt as i, Z as a, Zt as o, en as s, nn as c } from "../chunks/base-CbmWxUig.js";
2
- import { c as l, d as u, i as d, l as f, n as p, r as m, u as h } from "../chunks/controls-DxmnDSBr.js";
1
+ import { Gt as e, Jt as t, Kt as n, Q as r, Yt as i, Z as a, Zt as o, en as s, nn as c } from "../chunks/base-CVKIPSLx.js";
2
+ import { c as l, d as u, i as d, l as f, n as p, r as m, u as h } from "../chunks/controls-_4ac1Lpz.js";
3
3
  import "./error-summary.js";
4
4
  import "./form-actions.js";
5
5
  //#region src/components/forms/form/form.css?inline
@@ -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-CbmWxUig.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/content/gallery/gallery.css?inline
3
3
  var o = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-gallery { display: flex; flex-direction: column; gap: var(--space-3); }\n\n.lintje-gallery__figure { margin: 0; display: flex; flex-direction: column; gap: var(--space-2); }\n/* A screen whole, on the subtle surface: a screenshot is never cropped. */\n.lintje-gallery__image {\n display: block;\n width: 100%;\n aspect-ratio: 16 / 10;\n object-fit: contain;\n background: var(--color-bg-subtle);\n border: 1px solid var(--color-border-default);\n box-sizing: border-box;\n}\n.lintje-gallery__caption { font: var(--text-small); color: var(--color-text-muted); }\n\n.lintje-gallery__thumbs {\n list-style: none; margin: 0; padding: 0;\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(var(--w-gallery-thumb), 1fr));\n gap: var(--space-2);\n}\n.lintje-gallery__thumb {\n display: block;\n width: 100%;\n padding: 0;\n border: 1px solid var(--color-border-default);\n background: var(--color-bg-subtle);\n cursor: pointer;\n}\n.lintje-gallery__thumb:hover { border-color: var(--color-border-heavy); }\n/* The chosen one carries the selected edge, and aria-current says it in words. */\n.lintje-gallery__thumb.is-selected { outline: 2px solid var(--color-accent-line); outline-offset: -2px; }\n.lintje-gallery__thumb:focus-visible { outline: var(--focus-width) solid var(--color-focus); outline-offset: var(--focus-offset); }\n.lintje-gallery__thumb-image {\n display: block;\n width: 100%;\n aspect-ratio: 16 / 10;\n object-fit: cover;\n object-position: top left;\n}\n\n@media (forced-colors: active) {\n .lintje-gallery__thumb.is-selected { outline-color: Highlight; }\n}\n", s = class extends e {
4
4
  constructor(...e) {
@@ -1 +1 @@
1
- export * from '../types/primitives/grid-item/grid-item.js'
1
+ export * from '../types/components/layout/grid-item/grid-item.js'
@@ -1 +1 @@
1
- export { S as LintjeGridItem } from "../chunks/base-CbmWxUig.js";
1
+ export { S as LintjeGridItem } from "../chunks/base-CVKIPSLx.js";
@@ -1 +1 @@
1
- export * from '../types/primitives/grid/grid.js'
1
+ export * from '../types/components/layout/grid/grid.js'
@@ -1 +1 @@
1
- export { C as LintjeGrid } from "../chunks/base-CbmWxUig.js";
1
+ export { C as LintjeGrid } from "../chunks/base-CVKIPSLx.js";
@@ -1,4 +1,4 @@
1
- import { H as e, Jt as t, Yt as n, Zt as r, en as i, lt as a, nn as o, st as s, ut as c } from "../chunks/base-CbmWxUig.js";
1
+ import { H as e, Jt as t, Yt as n, Zt as r, en as i, lt as a, nn as o, st as s, ut as c } from "../chunks/base-CVKIPSLx.js";
2
2
  //#region src/components/frame/hero/hero.css?inline
3
3
  var l = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The side padding is the content column's, taken of the full width the band stands in. */\n.lintje-hero__band {\n padding: calc(var(--space-10) + var(--space-4)) calc(var(--page-pad-x) + var(--page-gutter))\n calc(var(--space-10) + var(--space-2));\n background: var(--color-hero-bg);\n color: var(--color-hero-text);\n}\n/* With an aside the text keeps its column and the picture takes the room to its right. */\n.lintje-hero.has-aside .lintje-hero__band {\n display: flex;\n align-items: center;\n gap: var(--space-10);\n}\n.lintje-hero.has-overlap .lintje-hero__band {\n padding-bottom: calc(var(--space-10) + var(--space-2) + var(--hero-overlap));\n}\n.lintje-hero__band :focus-visible { outline-color: var(--color-hero-focus); }\n\n.lintje-hero__body {\n flex: 1 1 auto;\n min-width: 0;\n display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-6);\n}\n\n.lintje-hero__aside {\n flex: 0 1 var(--w-hero-aside);\n min-width: 0;\n display: flex; justify-content: flex-end;\n}\n.lintje-hero__aside ::slotted(*) { max-width: 100%; }\n/* A picture keeps its proportions when the column narrows it. */\n.lintje-hero__aside ::slotted(img) { height: auto; }\n.lintje-hero:not(.has-aside) .lintje-hero__aside { display: none; }\n\n/* Below 1024 px the text needs the room; the picture only supports it. */\n@media (max-width: 1023px) {\n .lintje-hero.has-aside .lintje-hero__band { display: block; }\n .lintje-hero__aside { display: none; }\n .lintje-hero__panel { margin-top: var(--space-8); }\n}\n\n/* Content beside the text takes the other half from 1024 px; below it, it follows the text. */\n.lintje-hero:not(.has-panel) .lintje-hero__panel { display: none; }\n.lintje-hero__panel { display: flex; flex-direction: column; min-width: 0; }\n.lintje-hero__panel ::slotted(*) { flex: 1 1 auto; }\n.lintje-hero.has-panel .lintje-hero__aside { display: none; }\n@media (min-width: 1024px) {\n .lintje-hero.has-panel .lintje-hero__band {\n display: grid;\n grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n align-items: stretch;\n gap: var(--space-10);\n }\n}\n.lintje-hero__heading { display: flex; flex-direction: column; gap: var(--space-3); }\n.lintje-hero__title { margin: 0; font: var(--text-h1-display); }\n.lintje-hero__description {\n margin: 0;\n max-width: var(--w-text);\n font-size: 1.25rem;\n line-height: 1.4;\n text-wrap: pretty;\n}\n\n.lintje-hero__action {\n display: inline-flex;\n align-items: center;\n gap: var(--space-2);\n min-height: var(--h-touch);\n color: inherit;\n font-weight: 700;\n text-decoration: underline;\n text-underline-offset: 0.2em;\n}\n.lintje-hero__action:hover { text-decoration-thickness: 2px; }\n\n/* Pulled up by the room the band keeps for it; without content it takes no space. */\n.lintje-hero__overlap {\n position: relative;\n margin-top: calc(-1 * var(--hero-overlap));\n padding: 0 calc(var(--page-pad-x) + var(--page-gutter));\n}\n.lintje-hero:not(.has-overlap) .lintje-hero__overlap { display: none; }\n\n@media screen and (max-width: 767px) {\n .lintje-hero__band { padding-top: var(--space-8); padding-bottom: var(--space-8); }\n .lintje-hero.has-overlap .lintje-hero__band {\n padding-bottom: calc(var(--space-8) + var(--hero-overlap));\n }\n .lintje-hero__title { font: var(--text-h1); }\n .lintje-hero__description { font-size: 1.125rem; }\n}\n", u = class extends t {
4
4
  constructor(...e) {
@@ -1,4 +1,4 @@
1
- import { Jt as e, Yt as t, Zt as n, nn as r, st as i } from "../chunks/base-CbmWxUig.js";
1
+ import { Jt as e, Yt as t, Zt as n, nn as r, st as i } from "../chunks/base-CVKIPSLx.js";
2
2
  //#region src/components/content/highlight/highlight.css?inline
3
3
  var a = ":host { display: inline; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* `clone`: a marking that wraps paints its fill and line on every line it covers. */\n.lintje-highlight {\n font: inherit;\n color: var(--color-text-primary);\n -webkit-box-decoration-break: clone;\n box-decoration-break: clone;\n}\n\n.lintje-highlight--uncertain {\n background: var(--color-attention-bg);\n border-bottom: 2px dotted var(--color-attention);\n}\n\n.lintje-highlight--term {\n background: var(--color-bg-selected);\n border: 0;\n border-bottom: 2px solid var(--color-accent-line);\n padding: 0;\n}\n.lintje-highlight--control { cursor: help; }\n.lintje-highlight--control:hover { background: var(--color-bg-subtle); }\n\n.lintje-highlight--match {\n background: var(--color-warning);\n color: var(--color-text-on-light-fill);\n}\n.lintje-highlight--match.is-current { outline: 2px solid var(--color-text-primary); }\n\n.lintje-highlight--removed {\n background: var(--color-error-bg);\n text-decoration: line-through;\n}\n.lintje-highlight--added {\n background: var(--color-success-bg);\n text-decoration: underline;\n}\n\n/* Forced colours: a match is only a fill, so it takes the system's marking colours. */\n@media (forced-colors: active) {\n .lintje-highlight--match { forced-color-adjust: none; background: Mark; color: MarkText; }\n .lintje-highlight--match.is-current { outline-color: CanvasText; }\n}\n", o = {
4
4
  uncertain: "lage zekerheid",
@@ -1 +1 @@
1
- export * from '../types/primitives/icon-button/icon-button.js'
1
+ export * from '../types/components/actions/icon-button/icon-button.js'
@@ -1 +1 @@
1
- export { j as LintjeIconButton } from "../chunks/base-CbmWxUig.js";
1
+ export { j as LintjeIconButton } from "../chunks/base-CVKIPSLx.js";
@@ -1 +1 @@
1
- export * from '../types/icons/icon/icon.js'
1
+ export * from '../types/components/actions/icon/icon.js'
@@ -1 +1 @@
1
- export { Et as ICONS, b as ICON_NAMES, x as LintjeIcon } from "../chunks/base-CbmWxUig.js";
1
+ export { Et as ICONS, b as ICON_NAMES, x as LintjeIcon } from "../chunks/base-CVKIPSLx.js";
@@ -1,4 +1,4 @@
1
- import { Jt as e, Q as t, X as n, Y as r, Yt as i, Zt as a, en as o, nn as s } from "../chunks/base-CbmWxUig.js";
1
+ import { Jt as e, Q as t, X as n, Y as r, Yt as i, Zt as a, en as o, nn as s } from "../chunks/base-CVKIPSLx.js";
2
2
  import "./list.js";
3
3
  //#region src/components/feedback/job-list/job-list.css?inline
4
4
  var c = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The rows are the work list's (`lintje-list`); the job list adds no look of its own. */\n.lintje-job-list { display: block; }\n", l = Object.fromEntries(Object.keys(r).map((e) => [e, {
@@ -1,4 +1,4 @@
1
- import { F as e, P as t, Yt as n, Zt as r, bt as i, en as a, nn as o } from "../chunks/base-CbmWxUig.js";
1
+ import { F as e, P as t, Yt as n, Zt as r, bt as i, en as a, nn as o } from "../chunks/base-CVKIPSLx.js";
2
2
  import "./kpi.js";
3
3
  //#region src/components/charts/kpi-row/kpi-row.css?inline
4
4
  var s = "/* The KPIs render in this root, so these rules reach the items directly (no `::slotted()`). */\n:host { display: block; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-grid {\n display: grid;\n grid-template-columns: repeat(12, minmax(0, 1fr));\n gap: var(--grid-gutter);\n align-items: stretch;\n /* A view's held `min-height` is taken by the grid too, so the items fill the held box. */\n min-height: inherit;\n}\n\n/* Lower bound 768 on purpose: the one-column rule below it has lower specificity. */\n@media (min-width: 768px) and (max-width: 1023px), print and (max-width: 1023px) {\n .lintje-grid > [style*='span 4'] { grid-column: span 6 !important; }\n .lintje-grid > [style*='span 8'] { grid-column: span 12 !important; }\n}\n/* Grid sets grid-template-columns inline, so only !important beats it. */\n@media screen and (max-width: 767px) {\n .lintje-grid { grid-template-columns: minmax(0, 1fr) !important; }\n .lintje-grid > * { grid-column: span 1 !important; }\n}\n\n/* After the fallback rules above, so at equal specificity this wins on source order. */\n@media (min-width: 768px) and (max-width: 1023px), print and (max-width: 1023px) {\n .lintje-grid--kpi-row { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }\n .lintje-grid--kpi-row > * { grid-column: span 1 !important; }\n}\n@media screen and (max-width: 767px) {\n .lintje-grid--kpi-row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }\n .lintje-grid--kpi-row > * { grid-column: span 1 !important; }\n}\n", c = class extends t {