lintje 0.1.1 → 0.3.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 (312) hide show
  1. package/README.md +2 -2
  2. package/dist-elements/actions.js +1 -1
  3. package/dist-elements/charts.js +1 -1
  4. package/dist-elements/chunks/{base-rBLTcEIv.js → base-CbmWxUig.js} +538 -337
  5. package/dist-elements/chunks/{controls-B1455oPG.js → controls-DxmnDSBr.js} +6 -0
  6. package/dist-elements/chunks/{date-format-B5DPGjAw.js → date-format-mHtZyBys.js} +28 -2
  7. package/dist-elements/chunks/dialog-DChINFxD.js +28 -0
  8. package/dist-elements/chunks/disclosure-D39vAR5q.js +4 -0
  9. package/dist-elements/chunks/{disclosure-CHasOudX.js → disclosure-DLkXPUpV.js} +10 -10
  10. package/dist-elements/chunks/download-Ct9q2anY.js +206 -0
  11. package/dist-elements/chunks/{focus-trap-w3vCamJ6.js → focus-trap-BwOxE5BX.js} +1 -1
  12. package/dist-elements/chunks/input-CRW_exv_.js +195 -0
  13. package/dist-elements/chunks/{player-Bq9YGnpt.js → player-B8QXJ0Z5.js} +35 -35
  14. package/dist-elements/chunks/{sentence-CLNJOeXz.js → sentence-B19AyZBS.js} +1 -1
  15. package/dist-elements/chunks/{stagger-9hYzxhMG.js → stagger-BHoOgy0g.js} +163 -135
  16. package/dist-elements/core.js +1 -1
  17. package/dist-elements/custom-elements.json +2049 -1329
  18. package/dist-elements/data-types.json +6798 -0
  19. package/dist-elements/feedback.js +2 -1
  20. package/dist-elements/frame.js +0 -2
  21. package/dist-elements/guides/dashboard.md +9 -1
  22. package/dist-elements/guides/events.md +7 -7
  23. package/dist-elements/guides/loading.md +10 -9
  24. package/dist-elements/guides/page-contents.md +110 -0
  25. package/dist-elements/guides/start.md +13 -1
  26. package/dist-elements/inputs.js +3 -1
  27. package/dist-elements/layout.js +1 -1
  28. package/dist-elements/lintje.js +24508 -23210
  29. package/dist-elements/map.js +1 -1
  30. package/dist-elements/overlays.js +2 -2
  31. package/dist-elements/skills/lintje/SKILL.md +1 -1
  32. package/dist-elements/tables.js +1 -1
  33. package/dist-elements/tag/activity-log.js +18 -18
  34. package/dist-elements/tag/ai-label.js +11 -11
  35. package/dist-elements/tag/announcement.js +36 -76
  36. package/dist-elements/tag/app-search.js +50 -50
  37. package/dist-elements/tag/audio-player.js +57 -57
  38. package/dist-elements/tag/badge.js +1 -1
  39. package/dist-elements/tag/breadcrumbs.js +20 -20
  40. package/dist-elements/tag/button.js +1 -1
  41. package/dist-elements/tag/card-list.js +12 -12
  42. package/dist-elements/tag/card.js +51 -56
  43. package/dist-elements/tag/chart.d.ts +1 -0
  44. package/dist-elements/tag/chart.js +2123 -0
  45. package/dist-elements/tag/chat-answer.js +51 -51
  46. package/dist-elements/tag/chat-composer.js +75 -71
  47. package/dist-elements/tag/chat-message.js +13 -13
  48. package/dist-elements/tag/chat-strip.js +22 -22
  49. package/dist-elements/tag/chat-suggestions.js +12 -12
  50. package/dist-elements/tag/chat.js +56 -56
  51. package/dist-elements/tag/checkbox-group.d.ts +1 -0
  52. package/dist-elements/tag/checkbox-group.js +59 -0
  53. package/dist-elements/tag/checkbox.js +4 -4
  54. package/dist-elements/tag/code.js +7 -7
  55. package/dist-elements/tag/combobox.js +18 -18
  56. package/dist-elements/tag/conflict-alert.js +12 -12
  57. package/dist-elements/tag/copy-button.js +17 -17
  58. package/dist-elements/tag/data-table.js +880 -532
  59. package/dist-elements/tag/date-input.js +44 -52
  60. package/dist-elements/tag/date-range.js +42 -42
  61. package/dist-elements/tag/description-list.js +29 -32
  62. package/dist-elements/tag/dialog.d.ts +1 -0
  63. package/dist-elements/tag/dialog.js +144 -0
  64. package/dist-elements/tag/document-viewer.js +29 -29
  65. package/dist-elements/tag/drawer.js +27 -31
  66. package/dist-elements/tag/empty-state.js +19 -30
  67. package/dist-elements/tag/error-page.d.ts +1 -0
  68. package/dist-elements/tag/error-page.js +109 -0
  69. package/dist-elements/tag/error-summary.js +16 -16
  70. package/dist-elements/tag/expander.js +7 -7
  71. package/dist-elements/tag/explainer.js +11 -11
  72. package/dist-elements/tag/field.js +7 -7
  73. package/dist-elements/tag/file-upload.js +32 -32
  74. package/dist-elements/tag/filter-bar.js +57 -57
  75. package/dist-elements/tag/filter-sheet.js +12 -12
  76. package/dist-elements/tag/filter-zone.js +31 -31
  77. package/dist-elements/tag/footer.js +21 -21
  78. package/dist-elements/tag/form-actions.js +30 -26
  79. package/dist-elements/tag/form-section.js +7 -7
  80. package/dist-elements/tag/form.js +12 -12
  81. package/dist-elements/tag/gallery.js +16 -16
  82. package/dist-elements/tag/grid-item.js +1 -1
  83. package/dist-elements/tag/grid.js +1 -1
  84. package/dist-elements/tag/hero.js +12 -12
  85. package/dist-elements/tag/highlight.js +9 -9
  86. package/dist-elements/tag/icon-button.js +1 -1
  87. package/dist-elements/tag/icon.js +1 -1
  88. package/dist-elements/tag/job-list.js +23 -45
  89. package/dist-elements/tag/kpi-row.js +14 -10
  90. package/dist-elements/tag/kpi.js +276 -77
  91. package/dist-elements/tag/level-meter.js +11 -11
  92. package/dist-elements/tag/list.js +63 -63
  93. package/dist-elements/tag/logo.js +34 -34
  94. package/dist-elements/tag/map.d.ts +1 -0
  95. package/dist-elements/tag/map.js +21935 -0
  96. package/dist-elements/tag/menu-button.js +70 -68
  97. package/dist-elements/tag/modal.js +27 -36
  98. package/dist-elements/tag/multiselect.js +33 -33
  99. package/dist-elements/tag/note.js +6 -6
  100. package/dist-elements/tag/notifications.js +36 -36
  101. package/dist-elements/tag/number-input.js +6 -6
  102. package/dist-elements/tag/page-header.js +138 -35
  103. package/dist-elements/tag/pagination.js +54 -49
  104. package/dist-elements/tag/popover.js +1 -1
  105. package/dist-elements/tag/progress-bar.js +1 -1
  106. package/dist-elements/tag/prose.js +6 -6
  107. package/dist-elements/tag/qr-code.js +8 -8
  108. package/dist-elements/tag/radio-group.js +7 -7
  109. package/dist-elements/tag/range.js +28 -28
  110. package/dist-elements/tag/recording-status.js +16 -16
  111. package/dist-elements/tag/repeater.js +10 -10
  112. package/dist-elements/tag/segmented.js +9 -9
  113. package/dist-elements/tag/select.js +6 -6
  114. package/dist-elements/tag/shell.js +356 -339
  115. package/dist-elements/tag/skeleton.js +1 -1
  116. package/dist-elements/tag/slot-picker.d.ts +1 -0
  117. package/dist-elements/tag/slot-picker.js +74 -0
  118. package/dist-elements/tag/sortable-list.js +18 -18
  119. package/dist-elements/tag/spinner.js +1 -1
  120. package/dist-elements/tag/split-pane.js +12 -12
  121. package/dist-elements/tag/status-dot.js +1 -1
  122. package/dist-elements/tag/stepper.js +21 -21
  123. package/dist-elements/tag/streaming-text.js +21 -21
  124. package/dist-elements/tag/sub-nav.js +40 -39
  125. package/dist-elements/tag/tabs.js +38 -38
  126. package/dist-elements/tag/tag-input.js +19 -19
  127. package/dist-elements/tag/text-editor.js +19 -19
  128. package/dist-elements/tag/text-input.js +6 -6
  129. package/dist-elements/tag/textarea.js +16 -16
  130. package/dist-elements/tag/tile.js +1 -1
  131. package/dist-elements/tag/time-input.js +136 -42
  132. package/dist-elements/tag/toast.js +32 -23
  133. package/dist-elements/tag/toggle.js +4 -4
  134. package/dist-elements/tag/toggletip.js +27 -27
  135. package/dist-elements/tag/tooltip.js +1 -1
  136. package/dist-elements/tag/transcript.js +47 -47
  137. package/dist-elements/tag/translator.js +13 -13
  138. package/dist-elements/tag/tree-view.js +20 -20
  139. package/dist-elements/tag/user-menu.js +42 -41
  140. package/dist-elements/tag/video-player.js +21 -21
  141. package/dist-elements/tokens.css +122 -96
  142. package/dist-elements/types/bundle/charts.d.ts +1 -1
  143. package/dist-elements/types/bundle/feedback.d.ts +1 -0
  144. package/dist-elements/types/bundle/frame.d.ts +0 -2
  145. package/dist-elements/types/bundle/index.d.ts +1 -1
  146. package/dist-elements/types/bundle/inputs.d.ts +2 -0
  147. package/dist-elements/types/bundle/map.d.ts +1 -1
  148. package/dist-elements/types/bundle/overlays.d.ts +1 -1
  149. package/dist-elements/types/components/actions/copy-button/copy-button.d.ts +6 -7
  150. package/dist-elements/types/components/actions/menu-button/menu-button.d.ts +13 -15
  151. package/dist-elements/types/components/actions/qr-code/qr-code.d.ts +9 -9
  152. package/dist-elements/types/components/charts/{chart-tile/chart-tile.d.ts → chart/chart.d.ts} +12 -11
  153. package/dist-elements/types/components/charts/kpi/gauge.d.ts +18 -0
  154. package/dist-elements/types/components/charts/kpi/kpi.d.ts +38 -5
  155. package/dist-elements/types/components/charts/kpi-row/kpi-row.d.ts +1 -7
  156. package/dist-elements/types/components/charts/note/note.d.ts +1 -1
  157. package/dist-elements/types/components/chat/chat/chat.d.ts +8 -10
  158. package/dist-elements/types/components/chat/chat-answer/chat-answer.d.ts +8 -9
  159. package/dist-elements/types/components/chat/chat-composer/chat-composer.d.ts +8 -10
  160. package/dist-elements/types/components/chat/chat-message/chat-message.d.ts +6 -7
  161. package/dist-elements/types/components/chat/chat-strip/chat-strip.d.ts +5 -5
  162. package/dist-elements/types/components/chat/chat-suggestions/chat-suggestions.d.ts +9 -10
  163. package/dist-elements/types/components/content/audio-player/audio-player.d.ts +10 -12
  164. package/dist-elements/types/components/content/code/code.d.ts +2 -3
  165. package/dist-elements/types/components/content/document-viewer/document-viewer.d.ts +8 -9
  166. package/dist-elements/types/components/content/gallery/gallery.d.ts +5 -4
  167. package/dist-elements/types/components/content/highlight/highlight.d.ts +4 -3
  168. package/dist-elements/types/components/content/prose/prose.d.ts +2 -3
  169. package/dist-elements/types/components/content/transcript/transcript.d.ts +12 -25
  170. package/dist-elements/types/components/content/translator/translator.d.ts +11 -15
  171. package/dist-elements/types/components/content/video-player/video-player.d.ts +11 -13
  172. package/dist-elements/types/components/feedback/ai-label/ai-label.d.ts +3 -4
  173. package/dist-elements/types/components/feedback/announcement/announcement.d.ts +3 -7
  174. package/dist-elements/types/components/feedback/conflict-alert/conflict-alert.d.ts +3 -4
  175. package/dist-elements/types/components/feedback/empty-state/empty-state.d.ts +5 -8
  176. package/dist-elements/types/components/feedback/error-page/error-page.d.ts +52 -0
  177. package/dist-elements/types/components/feedback/job-list/job-list.d.ts +9 -12
  178. package/dist-elements/types/components/feedback/level-meter/level-meter.d.ts +4 -6
  179. package/dist-elements/types/components/feedback/recording-status/recording-status.d.ts +5 -6
  180. package/dist-elements/types/components/feedback/streaming-text/streaming-text.d.ts +10 -7
  181. package/dist-elements/types/components/feedback/toast/toast.d.ts +8 -9
  182. package/dist-elements/types/components/filters/filter-bar/filter-bar.d.ts +9 -4
  183. package/dist-elements/types/components/filters/filter-sheet/filter-sheet.d.ts +5 -5
  184. package/dist-elements/types/components/filters/filter-zone/filter-zone.d.ts +4 -4
  185. package/dist-elements/types/components/forms/error-summary/error-summary.d.ts +5 -6
  186. package/dist-elements/types/components/forms/form/form.d.ts +5 -5
  187. package/dist-elements/types/components/forms/form-actions/form-actions.d.ts +9 -7
  188. package/dist-elements/types/components/forms/form-section/form-section.d.ts +6 -5
  189. package/dist-elements/types/components/forms/repeater/repeater.d.ts +13 -7
  190. package/dist-elements/types/components/forms/stepper/stepper.d.ts +5 -4
  191. package/dist-elements/types/components/frame/app-search/app-search.d.ts +6 -7
  192. package/dist-elements/types/components/frame/breadcrumbs/breadcrumbs.d.ts +2 -2
  193. package/dist-elements/types/components/frame/footer/footer.d.ts +3 -2
  194. package/dist-elements/types/components/frame/hero/hero.d.ts +7 -9
  195. package/dist-elements/types/components/frame/notifications/notifications.d.ts +5 -9
  196. package/dist-elements/types/components/frame/page-header/page-header.d.ts +12 -15
  197. package/dist-elements/types/components/frame/shell/shell.d.ts +14 -13
  198. package/dist-elements/types/components/frame/sub-nav/sub-nav.d.ts +10 -6
  199. package/dist-elements/types/components/frame/user-menu/user-menu.d.ts +11 -10
  200. package/dist-elements/types/components/index.d.ts +16 -14
  201. package/dist-elements/types/components/inputs/checkbox/checkbox.d.ts +4 -4
  202. package/dist-elements/types/components/inputs/checkbox-group/checkbox-group.d.ts +33 -0
  203. package/dist-elements/types/components/inputs/combobox/combobox.d.ts +12 -6
  204. package/dist-elements/types/components/inputs/date-input/date-format.d.ts +4 -0
  205. package/dist-elements/types/components/inputs/date-input/date-input.d.ts +5 -5
  206. package/dist-elements/types/components/inputs/date-range/date-range.d.ts +11 -6
  207. package/dist-elements/types/components/inputs/field/field.d.ts +5 -3
  208. package/dist-elements/types/components/inputs/file-upload/file-upload.d.ts +6 -8
  209. package/dist-elements/types/components/inputs/multiselect/multiselect.d.ts +4 -6
  210. package/dist-elements/types/components/inputs/number-input/number-input.d.ts +8 -7
  211. package/dist-elements/types/components/inputs/radio-group/radio-group.d.ts +2 -4
  212. package/dist-elements/types/components/inputs/range/range.d.ts +5 -6
  213. package/dist-elements/types/components/inputs/segmented/segmented.d.ts +7 -4
  214. package/dist-elements/types/components/inputs/select/select.d.ts +6 -3
  215. package/dist-elements/types/components/inputs/slot-picker/slot-picker.d.ts +42 -0
  216. package/dist-elements/types/components/inputs/tag-input/tag-input.d.ts +7 -5
  217. package/dist-elements/types/components/inputs/text-editor/text-editor.d.ts +6 -6
  218. package/dist-elements/types/components/inputs/text-input/text-input.d.ts +11 -6
  219. package/dist-elements/types/components/inputs/textarea/textarea.d.ts +12 -11
  220. package/dist-elements/types/components/inputs/time-input/time-format.d.ts +4 -0
  221. package/dist-elements/types/components/inputs/time-input/time-input.d.ts +25 -7
  222. package/dist-elements/types/components/inputs/toggle/toggle.d.ts +3 -1
  223. package/dist-elements/types/components/layout/expander/expander.d.ts +9 -10
  224. package/dist-elements/types/components/layout/split-pane/split-pane.d.ts +6 -6
  225. package/dist-elements/types/components/layout/tabs/tabs.d.ts +11 -9
  226. package/dist-elements/types/components/map/{map-tile/map-tile.d.ts → map/map.d.ts} +16 -11
  227. package/dist-elements/types/components/overlays/dialog/dialog.d.ts +49 -0
  228. package/dist-elements/types/components/overlays/drawer/drawer.d.ts +6 -5
  229. package/dist-elements/types/components/overlays/modal/modal.d.ts +7 -12
  230. package/dist-elements/types/components/overlays/toggletip/toggletip.d.ts +3 -7
  231. package/dist-elements/types/components/shared/charts/histogram-chart/histogram-chart.d.ts +33 -0
  232. package/dist-elements/types/components/shared/charts/index.d.ts +7 -2
  233. package/dist-elements/types/components/shared/charts/kinds.d.ts +86 -0
  234. package/dist-elements/types/components/shared/charts/line-chart/line-chart.d.ts +2 -2
  235. package/dist-elements/types/components/shared/charts/map-chart/area.d.ts +16 -0
  236. package/dist-elements/types/components/shared/charts/map-chart/drawings.d.ts +6 -2
  237. package/dist-elements/types/components/shared/charts/map-chart/geo.d.ts +6 -0
  238. package/dist-elements/types/components/shared/charts/map-chart/leaflet.d.ts +45 -2
  239. package/dist-elements/types/components/shared/charts/map-chart/map-chart.d.ts +17 -3
  240. package/dist-elements/types/components/shared/charts/map-chart/map-legend.d.ts +26 -0
  241. package/dist-elements/types/components/shared/charts/map-chart/marks.d.ts +47 -0
  242. package/dist-elements/types/components/shared/charts/map-chart/reveal.d.ts +1 -1
  243. package/dist-elements/types/components/shared/charts/scatter-chart/scatter-chart.d.ts +29 -0
  244. package/dist-elements/types/components/shared/charts/shared/axes.d.ts +21 -4
  245. package/dist-elements/types/components/shared/charts/shared/chart-icons.d.ts +4 -3
  246. package/dist-elements/types/components/shared/charts/shared/chart-states.d.ts +8 -19
  247. package/dist-elements/types/components/shared/charts/shared/controller.d.ts +34 -15
  248. package/dist-elements/types/components/shared/charts/shared/types.d.ts +141 -6
  249. package/dist-elements/types/components/shared/charts/stacked-area-chart/stacked-area-chart.d.ts +13 -0
  250. package/dist-elements/types/components/shared/dialog.d.ts +9 -0
  251. package/dist-elements/types/components/shared/overflow.d.ts +58 -0
  252. package/dist-elements/types/components/tables/activity-log/activity-log.d.ts +2 -3
  253. package/dist-elements/types/components/tables/card/card.d.ts +14 -20
  254. package/dist-elements/types/components/tables/card-list/card-list.d.ts +9 -11
  255. package/dist-elements/types/components/tables/data-table/data-table.d.ts +85 -16
  256. package/dist-elements/types/components/tables/data-table/filters.d.ts +13 -4
  257. package/dist-elements/types/components/tables/description-list/description-list.d.ts +12 -11
  258. package/dist-elements/types/components/tables/list/list.d.ts +9 -20
  259. package/dist-elements/types/components/tables/pagination/pagination.d.ts +12 -11
  260. package/dist-elements/types/components/tables/sortable-list/sortable-list.d.ts +5 -6
  261. package/dist-elements/types/components/tables/tree-view/tree-view.d.ts +4 -4
  262. package/dist-elements/types/core/format.d.ts +5 -2
  263. package/dist-elements/types/core/media.d.ts +2 -2
  264. package/dist-elements/types/core/motion.d.ts +5 -0
  265. package/dist-elements/types/core/print.d.ts +15 -0
  266. package/dist-elements/types/core/shortcuts.d.ts +2 -2
  267. package/dist-elements/types/icons/icon/icon.d.ts +2 -3
  268. package/dist-elements/types/icons/register.d.ts +1 -1
  269. package/dist-elements/types/primitives/badge/badge.d.ts +9 -5
  270. package/dist-elements/types/primitives/button/button.d.ts +12 -9
  271. package/dist-elements/types/primitives/grid/grid.d.ts +3 -3
  272. package/dist-elements/types/primitives/grid-item/grid-item.d.ts +1 -1
  273. package/dist-elements/types/primitives/icon-button/icon-button.d.ts +7 -5
  274. package/dist-elements/types/primitives/index.d.ts +3 -1
  275. package/dist-elements/types/primitives/popover/popover.d.ts +5 -4
  276. package/dist-elements/types/primitives/progress-bar/progress-bar.d.ts +8 -6
  277. package/dist-elements/types/primitives/shared/announcement-block.d.ts +38 -0
  278. package/dist-elements/types/primitives/shared/empty-state-block.d.ts +26 -0
  279. package/dist-elements/types/primitives/shared/place.d.ts +1 -1
  280. package/dist-elements/types/primitives/shared/tone.d.ts +18 -0
  281. package/dist-elements/types/primitives/skeleton/skeleton.d.ts +1 -1
  282. package/dist-elements/types/primitives/spinner/spinner.d.ts +1 -2
  283. package/dist-elements/types/primitives/status-dot/status-dot.d.ts +4 -5
  284. package/dist-elements/types/primitives/tile/tile.d.ts +17 -5
  285. package/dist-elements/types/primitives/tooltip/tooltip.d.ts +8 -6
  286. package/dist-elements/types/types.d.ts +106 -16
  287. package/dist-icons/functioneel-cirkelselectie.svg +1 -0
  288. package/dist-icons/functioneel-kolommen.svg +1 -0
  289. package/dist-icons/functioneel-lasso.svg +1 -0
  290. package/dist-icons/functioneel-punaise-outline.svg +1 -0
  291. package/dist-icons/functioneel-punaise.svg +1 -0
  292. package/dist-icons/functioneel-rechthoekselectie.svg +1 -0
  293. package/dist-icons/functioneel-selectie.svg +1 -0
  294. package/dist-icons/functioneel-trechter.svg +1 -0
  295. package/package.json +1 -1
  296. package/dist-elements/chunks/confirm-dialog-D5EVGuil.js +0 -4
  297. package/dist-elements/chunks/disclosure-Z7Ny17sS.js +0 -4
  298. package/dist-elements/chunks/download-lFooAfD1.js +0 -226
  299. package/dist-elements/chunks/input-jQVTln7H.js +0 -195
  300. package/dist-elements/tag/chart-tile.d.ts +0 -1
  301. package/dist-elements/tag/chart-tile.js +0 -1474
  302. package/dist-elements/tag/confirm-dialog.d.ts +0 -1
  303. package/dist-elements/tag/confirm-dialog.js +0 -118
  304. package/dist-elements/tag/map-tile.d.ts +0 -1
  305. package/dist-elements/tag/map-tile.js +0 -22292
  306. package/dist-elements/tag/session-expiry.d.ts +0 -1
  307. package/dist-elements/tag/session-expiry.js +0 -184
  308. package/dist-elements/tag/shortcuts.d.ts +0 -1
  309. package/dist-elements/tag/shortcuts.js +0 -104
  310. package/dist-elements/types/components/frame/session-expiry/session-expiry.d.ts +0 -55
  311. package/dist-elements/types/components/frame/shortcuts/shortcuts.d.ts +0 -41
  312. package/dist-elements/types/components/overlays/confirm-dialog/confirm-dialog.d.ts +0 -41
@@ -1,9 +1,9 @@
1
- import { $ as e, Bt as t, Gt as n, Ht as r, Kt as i, Z as a, et as o, j as s, q as c } from "../chunks/base-rBLTcEIv.js";
1
+ import { L as e, Yt as t, Zt as n, en as r, lt as i, nn as a, rt as o, st as s, ut as c } from "../chunks/base-CbmWxUig.js";
2
2
  import "./menu-button.js";
3
3
  import { n as l, o as u, p as d } from "../chunks/playback-DZJ_NMXv.js";
4
- import { n as f, t as p } from "../chunks/player-Bq9YGnpt.js";
4
+ import { n as f, t as p } from "../chunks/player-B8QXJ0Z5.js";
5
5
  //#region src/components/content/video-player/video-player.css?inline
6
- var m = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-video-player {\n border: 1px solid var(--color-border-default);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n}\n\n/* No surface token stays black in dark, so the surface takes the ink on a light fill. */\n.lintje-video-player__stage {\n position: relative;\n aspect-ratio: 16 / 9;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--color-text-on-light-fill);\n overflow: hidden;\n}\n.lintje-video-player__video {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: contain;\n background: var(--color-text-on-light-fill);\n}\n\n/* What stands on the picture has a white edge, so the fill keeps apart from the dark. */\n.lintje-video-player__big-play.lintje-button,\n.lintje-video-player__retry.lintje-button {\n position: relative;\n border: 2px solid var(--color-text-on-fill);\n}\n.lintje-video-player__big-play.lintje-button { width: 64px; height: 64px; padding: 0; }\n.lintje-video-player__big-play.lintje-button.is-disabled {\n border-color: var(--color-text-on-fill);\n}\n\n/* A failed load says so where the picture would be: the announcement's light fill would float. */\n.lintje-video-player__failed {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--space-3);\n padding: 0 var(--space-6);\n text-align: center;\n color: var(--color-text-on-fill);\n}\n.lintje-video-player__failed-mark {\n width: var(--space-6);\n height: var(--space-6);\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--color-error);\n color: var(--color-text-inverse);\n}\n.lintje-video-player__failed-text { margin: 0; font: var(--text-ui); font-weight: 700; }\n\n.lintje-video-player__caption {\n position: absolute;\n left: var(--space-4);\n right: var(--space-4);\n bottom: var(--space-4);\n text-align: center;\n pointer-events: none;\n}\n.lintje-video-player__caption-text {\n padding: 2px var(--space-2);\n background: var(--color-text-on-light-fill);\n color: var(--color-text-on-fill);\n font: var(--text-body);\n box-decoration-break: clone;\n -webkit-box-decoration-break: clone;\n}\n\n/* Two lines at every width: the time beside the bar keeps the buttons on one line in a tile. */\n.lintje-video-player__controls {\n display: flex;\n flex-direction: column;\n gap: var(--space-2);\n padding: var(--space-3) var(--space-3) var(--space-2);\n}\n.lintje-video-player__timeline { display: flex; align-items: center; gap: var(--space-3); }\n.lintje-video-player__buttons { display: flex; align-items: center; gap: var(--space-1); }\n.lintje-video-player__speed {\n flex: none;\n padding: 0 var(--space-1);\n background: var(--color-term-bg);\n color: var(--color-accent-text);\n font: var(--text-small);\n font-weight: 700;\n font-variant-numeric: tabular-nums;\n}\n/* The menu's trigger takes the 48 px of the player's other buttons. */\n.lintje-video-player__more { margin-left: auto; --h-icon-button: var(--h-touch); }\n\n.lintje-video-player:fullscreen { display: flex; flex-direction: column; border: 0; }\n.lintje-video-player:fullscreen .lintje-video-player__stage {\n flex: 1 1 auto;\n min-height: 0;\n aspect-ratio: auto;\n}\n\n@media (max-width: 767px) {\n .lintje-video-player { border-left: 0; border-right: 0; }\n}\n\n/* Forced colours drop the fills: the speed and the mark keep an outline. */\n@media (forced-colors: active) {\n .lintje-video-player__speed,\n .lintje-video-player__failed-mark { outline: 1px solid CanvasText; }\n}\n", h = "ondertiteling", g = "audiodescriptie";
6
+ var m = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-video-player {\n border: 1px solid var(--color-border-default);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n}\n\n/* No surface token stays black in dark, so the surface takes the ink on a light fill. */\n.lintje-video-player__stage {\n position: relative;\n aspect-ratio: 16 / 9;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--color-text-on-light-fill);\n overflow: hidden;\n}\n.lintje-video-player__video {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: contain;\n background: var(--color-text-on-light-fill);\n}\n\n/* What stands on the picture has a white edge, so the fill keeps apart from the dark. */\n.lintje-video-player__big-play.lintje-button,\n.lintje-video-player__retry.lintje-button {\n position: relative;\n border: 2px solid var(--color-text-on-fill);\n}\n.lintje-video-player__big-play.lintje-button { width: 64px; height: 64px; padding: 0; }\n.lintje-video-player__big-play.lintje-button.is-disabled {\n border-color: var(--color-text-on-fill);\n}\n\n/* A failed load says so where the picture would be: the announcement's light fill would float. */\n.lintje-video-player__failed {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--space-3);\n padding: 0 var(--space-6);\n text-align: center;\n color: var(--color-text-on-fill);\n}\n.lintje-video-player__failed-mark {\n width: var(--space-6);\n height: var(--space-6);\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--color-error);\n color: var(--color-text-inverse);\n}\n.lintje-video-player__failed-text { margin: 0; font: var(--text-ui); font-weight: 700; }\n\n.lintje-video-player__caption {\n position: absolute;\n left: var(--space-4);\n right: var(--space-4);\n bottom: var(--space-4);\n text-align: center;\n pointer-events: none;\n}\n.lintje-video-player__caption-text {\n padding: 2px var(--space-2);\n background: var(--color-text-on-light-fill);\n color: var(--color-text-on-fill);\n font: var(--text-body);\n box-decoration-break: clone;\n -webkit-box-decoration-break: clone;\n}\n\n/* Two lines at every width: the time beside the bar keeps the buttons on one line in a tile. */\n.lintje-video-player__controls {\n display: flex;\n flex-direction: column;\n gap: var(--space-2);\n padding: var(--space-3) var(--space-3) var(--space-2);\n}\n.lintje-video-player__timeline { display: flex; align-items: center; gap: var(--space-3); }\n.lintje-video-player__buttons { display: flex; align-items: center; gap: var(--space-1); }\n.lintje-video-player__speed {\n flex: none;\n padding: 0 var(--space-1);\n background: var(--color-term-bg);\n color: var(--color-accent-text);\n font: var(--text-small);\n font-weight: 700;\n font-variant-numeric: tabular-nums;\n}\n/* The menu's trigger takes the 48 px of the player's other buttons. */\n.lintje-video-player__more { margin-left: auto; --h-icon-button: var(--h-touch); }\n\n.lintje-video-player:fullscreen { display: flex; flex-direction: column; border: 0; }\n.lintje-video-player:fullscreen .lintje-video-player__stage {\n flex: 1 1 auto;\n min-height: 0;\n aspect-ratio: auto;\n}\n\n@media screen and (max-width: 767px) {\n .lintje-video-player { border-left: 0; border-right: 0; }\n}\n\n/* Forced colours drop the fills: the speed and the mark keep an outline. */\n@media (forced-colors: active) {\n .lintje-video-player__speed,\n .lintje-video-player__failed-mark { outline: 1px solid CanvasText; }\n}\n", h = "ondertiteling", g = "audiodescriptie";
7
7
  function _(e, t) {
8
8
  return e.key.toLowerCase() !== t || e.ctrlKey || e.metaKey || e.altKey ? !1 : !e.composedPath().some((e) => ["INPUT", "TEXTAREA"].includes(e.tagName ?? ""));
9
9
  }
@@ -20,11 +20,11 @@ var v = class extends f {
20
20
  }
21
21
  static {
22
22
  this.styles = [
23
- e,
24
- r(c),
25
- r(s),
26
- r(p),
27
- r(m)
23
+ i,
24
+ n(o),
25
+ n(e),
26
+ n(p),
27
+ n(m)
28
28
  ];
29
29
  }
30
30
  static {
@@ -109,9 +109,9 @@ var v = class extends f {
109
109
  _(e, "f") ? (e.preventDefault(), this.toggleFullscreen()) : _(e, "c") ? (e.preventDefault(), this.captions = !this.captions) : this.onGroupKeydown(e);
110
110
  }
111
111
  renderFailed() {
112
- return i`<div class="lintje-video-player__failed" role="alert">
112
+ return a`<div class="lintje-video-player__failed" role="alert">
113
113
  <span class="lintje-video-player__failed-mark"
114
- >${o("functioneel-waarschuwing", { size: 14 })}</span
114
+ >${c("functioneel-waarschuwing", { size: 14 })}</span
115
115
  >
116
116
  <p class="lintje-video-player__failed-text">De video kan niet worden geladen.</p>
117
117
  <button
@@ -119,16 +119,16 @@ var v = class extends f {
119
119
  class="lintje-button lintje-button--primary lintje-video-player__retry"
120
120
  @click=${this.onRetry}
121
121
  >
122
- ${o("functioneel-refresh", { size: 20 })}
122
+ ${c("functioneel-refresh", { size: 20 })}
123
123
  <span class="lintje-button__label">Opnieuw proberen</span>
124
124
  </button>
125
125
  </div>`;
126
126
  }
127
127
  renderOverlay() {
128
128
  if (this.failed) return this.renderFailed();
129
- if (this.waiting) return i`<button
129
+ if (this.waiting) return a`<button
130
130
  type="button"
131
- class=${a({
131
+ class=${s({
132
132
  "lintje-button": !0,
133
133
  "lintje-button--primary": !0,
134
134
  "lintje-video-player__big-play": !0,
@@ -136,24 +136,24 @@ var v = class extends f {
136
136
  })}
137
137
  aria-label="Afspelen"
138
138
  title="Afspelen"
139
- aria-disabled=${this.ready ? n : "true"}
139
+ aria-disabled=${this.ready ? r : "true"}
140
140
  @click=${this.onBigPlay}
141
141
  >
142
- ${o("multimedia-player-afspelen", { size: 28 })}
142
+ ${c("multimedia-player-afspelen", { size: 28 })}
143
143
  </button>`;
144
144
  let e = this.captions ? this.caption : "";
145
- return e ? i`<div class="lintje-video-player__caption">
145
+ return e ? a`<div class="lintje-video-player__caption">
146
146
  <span class="lintje-video-player__caption-text">${e}</span>
147
- </div>` : n;
147
+ </div>` : r;
148
148
  }
149
149
  renderStage() {
150
- return i`<div class="lintje-video-player__stage">
150
+ return a`<div class="lintje-video-player__stage">
151
151
  <video
152
152
  class="lintje-video-player__video"
153
153
  preload="metadata"
154
154
  playsinline
155
155
  .muted=${this.muted}
156
- src=${this.source || n}
156
+ src=${this.source || r}
157
157
  @click=${() => this.toggle()}
158
158
  ></video>
159
159
  ${this.renderOverlay()}
@@ -166,12 +166,12 @@ var v = class extends f {
166
166
  });
167
167
  }
168
168
  render() {
169
- return i`<div class="lintje-video-player" role="group" aria-label=${this.name || "Video"} @keydown=${this.onKeydown}>
169
+ return a`<div class="lintje-video-player" role="group" aria-label=${this.name || "Video"} @keydown=${this.onKeydown}>
170
170
  ${this.renderStage()}
171
171
  <div class="lintje-video-player__controls">
172
172
  <div class="lintje-video-player__timeline">
173
173
  ${this.renderBar()} ${this.renderTime(!0)}
174
- ${this.speed === 1 ? n : i`<span class="lintje-video-player__speed">${d(this.speed)}</span>`}
174
+ ${this.speed === 1 ? r : a`<span class="lintje-video-player__speed">${d(this.speed)}</span>`}
175
175
  </div>
176
176
  <div class="lintje-video-player__buttons">
177
177
  ${this.renderPlay()} ${this.renderMute()}
@@ -352,6 +352,8 @@
352
352
  --h-target-text: 1.5rem;
353
353
  /* The two dense exceptions to the target: a date picker day cell and a listbox option row. */
354
354
  --h-option: 2.5rem;
355
+ /* The sparkline of a KPI: a line and its area under the figure, with no axes. */
356
+ --h-sparkline: 2rem;
355
357
 
356
358
  --w-nav: 288px;
357
359
  --w-rail: 72px;
@@ -437,6 +439,7 @@
437
439
  --dur-badge: 300ms; /* @kind other */
438
440
  --dur-draw: 900ms; /* @kind other */
439
441
  --dur-data-label: 300ms; /* @kind other */
442
+ --dur-layer: 400ms; /* @kind other */
440
443
  --dur-skeleton: 1200ms; /* @kind other */
441
444
  --dur-wave: 600ms; /* @kind other */
442
445
 
@@ -740,108 +743,111 @@
740
743
  re-points the layer-2/3 names whose meaning changes; everything that merely follows a
741
744
  neutral is absent on purpose. Page and tiles are both #282828, the border separates them: the
742
745
  step below is the menu's, so it stays a band beside the page and under the logo bar.
746
+ Screen only: paper is always light, whatever the reader chose.
743
747
  ========================================================================= */
744
- [data-mode='dark'] {
745
- --neutral-0: #282828;
746
- --neutral-1: #1D1D1D;
747
- --neutral-2: #333333;
748
- --neutral-3: #4A4A4A;
749
- --neutral-4: #7A7A7A;
750
- --neutral-5: #B0B0B0;
751
- --neutral-6: #FFFFFF;
752
-
753
- /* The hover goes UP in dark: the light mix would put a near-black fill on the near-black page. */
754
- --primary-hover: color-mix(in srgb, var(--primary), white 12%);
755
-
756
- --color-bg-page: var(--neutral-0);
757
- --color-bg-title: var(--neutral-0);
758
- /* The hero's wash sits halfway between the menu (L 0.231) and the page (L 0.277), below the
759
- page as in light: a panel or tab on it is lighter than its ground. */
760
- --primary-wash: oklch(from var(--primary) 0.254 min(c, 0.02) h);
761
-
762
- /* The filter zone must read as a band, so in dark it steps UP to neutral-2 (neutral-1 turned
763
- the fields in it into light boxes). `--color-bg-inset` keeps neutral-1: "sunken". */
764
- --color-bg-filter: var(--neutral-2);
765
- --color-bg-inset: var(--neutral-1);
766
-
767
- --color-text-inverse: var(--neutral-1);
768
-
769
- /* Colour that must read by itself on #282828 becomes the tint; a FILL keeps the primary. */
770
- --color-action-primary-border: var(--primary-tint);
771
- --color-action-secondary-border: var(--primary-tint);
772
- /* Danger hover: 8 % white is the most that keeps white text at 4.5:1 (4.56:1). The border and
773
- the word lift the red as the primary's tints do, to 3:1 on #282828 and 4.5:1 on #333333,
774
- the hover surface; the word's chroma cap keeps it inside sRGB. */
775
- --color-action-danger-hover: color-mix(in srgb, var(--status-error), white 8%);
776
- --color-action-danger-border: oklch(from var(--status-error) max(l, 0.58) c h);
777
- --color-action-danger-text: oklch(from var(--status-error) max(l, 0.71) min(c, 0.18) h);
778
- /* A status mark at 3:1 on its own tint. */
779
- --color-attention-line: var(--status-attention);
780
- --color-error-line: oklch(from var(--status-error) max(l, 0.6) c h);
781
- --color-info-line: oklch(from var(--status-info) max(l, 0.58) c h);
782
- --color-success-line: oklch(from var(--status-success) max(l, 0.57) c h);
783
- /* A status word at 4.5:1 on #333333, lifted as the danger word is. */
784
- --color-error-text: oklch(from var(--status-error) max(l, 0.71) min(c, 0.18) h);
785
- --color-success-text: oklch(from var(--status-success) max(l, 0.68) min(c, 0.18) h);
786
- /* A link is text: the text tint, not the line tint. The hover stays white. */
787
- --color-link: var(--primary-tint-text);
788
- --color-link-hover: var(--neutral-6);
789
- --color-link-on-status: var(--neutral-6);
790
- --color-accent-line: var(--primary-tint);
791
- --color-accent-text: var(--primary-tint-text);
792
-
793
- /* Lintblauw has too little contrast on the dark surface; the house style lightens it. */
794
- --color-logo-ribbon: var(--ribbon-blue-dark);
795
-
796
- /* The menu is neutral in dark: near-black, in the rail and in the bar alike, so in the top
797
- layout it stays its own band under the logo bar. Hover and active are one step up, as they
798
- are one fill in light; the edge is the text tint, as the line tint is 3:1 on neutral-0 only. */
799
- --color-nav-bg: var(--neutral-1);
800
- --color-nav-text: var(--neutral-6);
801
- --color-nav-text-sub: var(--neutral-5);
802
- --color-nav-hover: var(--neutral-2);
803
- --color-nav-active: var(--neutral-2);
804
- --color-nav-active-edge: var(--primary-tint-text);
805
- --color-navbar-hover: var(--neutral-2);
806
- --color-navbar-active: var(--neutral-2);
807
- --color-navbar-active-edge: var(--primary-tint-text);
808
- /* The open entry's word stands on the panel's surface: full text contrast, not the tint. */
809
- --color-navbar-open-text: var(--color-text-primary);
810
- /* The label is 16 px text: the tint is 3.0:1 and needs 4.5:1. The edge keeps the tint. */
811
- --color-nav-active-text: var(--neutral-6);
812
- /* The sheet is told from the page by its shadow and this quiet line; 1.66:1 is accepted here. */
813
- --color-border-popover: var(--neutral-3);
814
- --color-nav-line: var(--neutral-2);
815
- --color-nav-disabled: var(--neutral-4);
816
- /* The menu is neutral here, so its ring is the orange of every other surface. */
817
- --color-focus-on-theme: var(--color-focus);
818
- /* The choice edge keeps neutral-4 in dark: it already reaches 3:1 there (3.43:1 on #282828). */
819
- --color-border-choice: var(--neutral-4);
820
-
821
- /* A term's box is the subtle surface: behind a word on #282828 the dark wash would be a hole. */
822
- --color-term-bg: var(--neutral-2);
823
- --color-choice-active-bg: var(--neutral-2);
824
- --color-hero-focus: var(--color-focus);
825
- --color-term-line: var(--primary-tint-text);
826
-
827
- /* Yellow as text works on the dark surface, so the dark gold is not needed. */
828
- --color-chart-dark-yellow-text: var(--data-dark-yellow);
829
- --color-map-water: var(--neutral-1);
830
-
831
- --shadow-sticky: 0 2px 6px var(--alpha-black-40);
832
- --shadow-popover: 0 4px 16px var(--alpha-black-55);
833
- --shadow-nav: 2px 0 8px var(--alpha-black-40);
834
- --shadow-chart-hover: 0 1px 4px var(--alpha-black-60);
835
- --shadow-scroll-start: inset 12px 0 10px -10px var(--alpha-black-60);
836
- --shadow-scroll-end: inset -12px 0 10px -10px var(--alpha-black-60);
837
- --color-overlay-nav: var(--alpha-black-40);
748
+ @media screen {
749
+ [data-mode='dark'] {
750
+ --neutral-0: #282828;
751
+ --neutral-1: #1D1D1D;
752
+ --neutral-2: #333333;
753
+ --neutral-3: #4A4A4A;
754
+ --neutral-4: #7A7A7A;
755
+ --neutral-5: #B0B0B0;
756
+ --neutral-6: #FFFFFF;
757
+
758
+ /* The hover goes UP in dark: the light mix would put a near-black fill on the near-black page. */
759
+ --primary-hover: color-mix(in srgb, var(--primary), white 12%);
760
+
761
+ --color-bg-page: var(--neutral-0);
762
+ --color-bg-title: var(--neutral-0);
763
+ /* The hero's wash sits halfway between the menu (L 0.231) and the page (L 0.277), below the
764
+ page as in light: a panel or tab on it is lighter than its ground. */
765
+ --primary-wash: oklch(from var(--primary) 0.254 min(c, 0.02) h);
766
+
767
+ /* The filter zone must read as a band, so in dark it steps UP to neutral-2 (neutral-1 turned
768
+ the fields in it into light boxes). `--color-bg-inset` keeps neutral-1: "sunken". */
769
+ --color-bg-filter: var(--neutral-2);
770
+ --color-bg-inset: var(--neutral-1);
771
+
772
+ --color-text-inverse: var(--neutral-1);
773
+
774
+ /* Colour that must read by itself on #282828 becomes the tint; a FILL keeps the primary. */
775
+ --color-action-primary-border: var(--primary-tint);
776
+ --color-action-secondary-border: var(--primary-tint);
777
+ /* Danger hover: 8 % white is the most that keeps white text at 4.5:1 (4.56:1). The border and
778
+ the word lift the red as the primary's tints do, to 3:1 on #282828 and 4.5:1 on #333333,
779
+ the hover surface; the word's chroma cap keeps it inside sRGB. */
780
+ --color-action-danger-hover: color-mix(in srgb, var(--status-error), white 8%);
781
+ --color-action-danger-border: oklch(from var(--status-error) max(l, 0.58) c h);
782
+ --color-action-danger-text: oklch(from var(--status-error) max(l, 0.71) min(c, 0.18) h);
783
+ /* A status mark at 3:1 on its own tint. */
784
+ --color-attention-line: var(--status-attention);
785
+ --color-error-line: oklch(from var(--status-error) max(l, 0.6) c h);
786
+ --color-info-line: oklch(from var(--status-info) max(l, 0.58) c h);
787
+ --color-success-line: oklch(from var(--status-success) max(l, 0.57) c h);
788
+ /* A status word at 4.5:1 on #333333, lifted as the danger word is. */
789
+ --color-error-text: oklch(from var(--status-error) max(l, 0.71) min(c, 0.18) h);
790
+ --color-success-text: oklch(from var(--status-success) max(l, 0.68) min(c, 0.18) h);
791
+ /* A link is text: the text tint, not the line tint. The hover stays white. */
792
+ --color-link: var(--primary-tint-text);
793
+ --color-link-hover: var(--neutral-6);
794
+ --color-link-on-status: var(--neutral-6);
795
+ --color-accent-line: var(--primary-tint);
796
+ --color-accent-text: var(--primary-tint-text);
797
+
798
+ /* Lintblauw has too little contrast on the dark surface; the house style lightens it. */
799
+ --color-logo-ribbon: var(--ribbon-blue-dark);
800
+
801
+ /* The menu is neutral in dark: near-black, in the rail and in the bar alike, so in the top
802
+ layout it stays its own band under the logo bar. Hover and active are one step up, as they
803
+ are one fill in light; the edge is the text tint, as the line tint is 3:1 on neutral-0 only. */
804
+ --color-nav-bg: var(--neutral-1);
805
+ --color-nav-text: var(--neutral-6);
806
+ --color-nav-text-sub: var(--neutral-5);
807
+ --color-nav-hover: var(--neutral-2);
808
+ --color-nav-active: var(--neutral-2);
809
+ --color-nav-active-edge: var(--primary-tint-text);
810
+ --color-navbar-hover: var(--neutral-2);
811
+ --color-navbar-active: var(--neutral-2);
812
+ --color-navbar-active-edge: var(--primary-tint-text);
813
+ /* The open entry's word stands on the panel's surface: full text contrast, not the tint. */
814
+ --color-navbar-open-text: var(--color-text-primary);
815
+ /* The label is 16 px text: the tint is 3.0:1 and needs 4.5:1. The edge keeps the tint. */
816
+ --color-nav-active-text: var(--neutral-6);
817
+ /* The sheet is told from the page by its shadow and this quiet line; 1.66:1 is accepted here. */
818
+ --color-border-popover: var(--neutral-3);
819
+ --color-nav-line: var(--neutral-2);
820
+ --color-nav-disabled: var(--neutral-4);
821
+ /* The menu is neutral here, so its ring is the orange of every other surface. */
822
+ --color-focus-on-theme: var(--color-focus);
823
+ /* The choice edge keeps neutral-4 in dark: it already reaches 3:1 there (3.43:1 on #282828). */
824
+ --color-border-choice: var(--neutral-4);
825
+
826
+ /* A term's box is the subtle surface: behind a word on #282828 the dark wash would be a hole. */
827
+ --color-term-bg: var(--neutral-2);
828
+ --color-choice-active-bg: var(--neutral-2);
829
+ --color-hero-focus: var(--color-focus);
830
+ --color-term-line: var(--primary-tint-text);
831
+
832
+ /* Yellow as text works on the dark surface, so the dark gold is not needed. */
833
+ --color-chart-dark-yellow-text: var(--data-dark-yellow);
834
+ --color-map-water: var(--neutral-1);
835
+
836
+ --shadow-sticky: 0 2px 6px var(--alpha-black-40);
837
+ --shadow-popover: 0 4px 16px var(--alpha-black-55);
838
+ --shadow-nav: 2px 0 8px var(--alpha-black-40);
839
+ --shadow-chart-hover: 0 1px 4px var(--alpha-black-60);
840
+ --shadow-scroll-start: inset 12px 0 10px -10px var(--alpha-black-60);
841
+ --shadow-scroll-end: inset -12px 0 10px -10px var(--alpha-black-60);
842
+ --color-overlay-nav: var(--alpha-black-40);
843
+ }
838
844
  }
839
845
 
840
846
  /* ============================================================================
841
847
  Below 768 px the gutter follows the page padding and every pointer target is the touch
842
- floor.
848
+ floor. Screen only: a portrait page is narrower than 768 px and keeps the desktop form.
843
849
  ========================================================================= */
844
- @media (max-width: 767px) {
850
+ @media screen and (max-width: 767px) {
845
851
  :root {
846
852
  --grid-gutter: 16px;
847
853
  --h-target: var(--h-touch);
@@ -850,3 +856,23 @@
850
856
  --w-ribbon: 2.5rem;
851
857
  }
852
858
  }
859
+
860
+ /* ============================================================================
861
+ Paper — white under the content, since Lintje prints its own fills
862
+ (`print-color-adjust: exact` in base.css): a band in the page's grey would cost ink and
863
+ say nothing.
864
+ ========================================================================= */
865
+ @media print {
866
+ :root {
867
+ /* The paper's margin is the page's edge: bars and content start at it, aligned. */
868
+ --page-pad-x: 0px;
869
+ --color-bg-page: var(--neutral-0);
870
+ --color-bg-title: var(--neutral-0);
871
+ --color-bg-filter: var(--neutral-0);
872
+ }
873
+ }
874
+
875
+ /* The sheet's own margin, so the content never runs to the paper's edge: room for the browser's
876
+ date, address and page number above and below, and a portrait sheet still wide enough for the
877
+ tablet's form. A custom property does not reach `@page`, so the value stands here. */
878
+ @page { margin: 15mm 12mm; }
@@ -1,6 +1,6 @@
1
1
  /** The charts category (Kerncijfers en grafieken): importing it defines its tags. */
2
2
  import '../components/charts/kpi-row/kpi-row.js';
3
3
  import '../components/charts/kpi/kpi.js';
4
- import '../components/charts/chart-tile/chart-tile.js';
4
+ import '../components/charts/chart/chart.js';
5
5
  import '../components/charts/note/note.js';
6
6
  import '../components/charts/explainer/explainer.js';
@@ -3,6 +3,7 @@ import '../components/feedback/announcement/announcement.js';
3
3
  import '../components/feedback/toast/toast.js';
4
4
  import '../components/feedback/conflict-alert/conflict-alert.js';
5
5
  import '../components/feedback/empty-state/empty-state.js';
6
+ import '../components/feedback/error-page/error-page.js';
6
7
  import '../primitives/badge/badge.js';
7
8
  import '../primitives/status-dot/status-dot.js';
8
9
  import '../primitives/spinner/spinner.js';
@@ -8,5 +8,3 @@ import '../components/frame/footer/footer.js';
8
8
  import '../components/frame/user-menu/user-menu.js';
9
9
  import '../components/frame/app-search/app-search.js';
10
10
  import '../components/frame/notifications/notifications.js';
11
- import '../components/frame/shortcuts/shortcuts.js';
12
- import '../components/frame/session-expiry/session-expiry.js';
@@ -17,7 +17,7 @@ export type * from '../types.js';
17
17
  /** Every tag this bundle defines, for a host that wants to check. */
18
18
  export declare const LINTJE_TAGS: readonly string[];
19
19
  /** The views a host mounts: the tags that take a `data` object straight from the host. */
20
- export declare const LINTJE_VIEWS: readonly ['shell', 'page-header', 'filter-bar', 'kpi-row', 'chart-tile', 'data-table', 'announcement', 'map-tile', 'explainer', 'note', 'chat'];
20
+ export declare const LINTJE_VIEWS: readonly ['shell', 'page-header', 'filter-bar', 'kpi-row', 'chart', 'data-table', 'announcement', 'map', 'explainer', 'note', 'chat'];
21
21
  export type LintjeViewName = (typeof LINTJE_VIEWS)[number];
22
22
  /** The tag of a view: `lintje-` plus its name. */
23
23
  export declare const tagFor: (view: LintjeViewName) => string;
@@ -8,6 +8,7 @@ import '../components/inputs/combobox/combobox.js';
8
8
  import '../components/inputs/multiselect/multiselect.js';
9
9
  import '../components/inputs/tag-input/tag-input.js';
10
10
  import '../components/inputs/checkbox/checkbox.js';
11
+ import '../components/inputs/checkbox-group/checkbox-group.js';
11
12
  import '../components/inputs/radio-group/radio-group.js';
12
13
  import '../components/inputs/toggle/toggle.js';
13
14
  import '../components/inputs/segmented/segmented.js';
@@ -15,5 +16,6 @@ import '../components/inputs/range/range.js';
15
16
  import '../components/inputs/date-input/date-input.js';
16
17
  import '../components/inputs/time-input/time-input.js';
17
18
  import '../components/inputs/date-range/date-range.js';
19
+ import '../components/inputs/slot-picker/slot-picker.js';
18
20
  import '../components/inputs/file-upload/file-upload.js';
19
21
  import '../components/inputs/text-editor/text-editor.js';
@@ -1,2 +1,2 @@
1
1
  /** The map category (Kaart): importing it defines its tags. */
2
- import '../components/map/map-tile/map-tile.js';
2
+ import '../components/map/map/map.js';
@@ -1,6 +1,6 @@
1
1
  /** The overlays category (Vensters en panelen): importing it defines its tags. */
2
2
  import '../components/overlays/modal/modal.js';
3
- import '../components/overlays/confirm-dialog/confirm-dialog.js';
3
+ import '../components/overlays/dialog/dialog.js';
4
4
  import '../components/overlays/drawer/drawer.js';
5
5
  import '../primitives/popover/popover.js';
6
6
  import '../primitives/tooltip/tooltip.js';
@@ -1,12 +1,11 @@
1
1
  /**
2
- * `<lintje-copy-button>` — text to the clipboard, with a confirmation.
2
+ * `<lintje-copy-button>` — a button that copies text to the clipboard, and confirms it.
3
3
  *
4
- * Copies `text`, or the text of the element whose id is in `for` (same root, read on press).
5
- * Disabled with nothing to copy; a `for` target that appears later enables it. A second copy
6
- * empties the status first so a screen reader hears it again.
4
+ * It copies `text`, or the text of the element named in `for`, read on press. With nothing to
5
+ * copy it is disabled; a `for` target that appears later enables it.
7
6
  *
8
- * Events: `lintje-copy` (detail: the text) after a copy, `lintje-copy-error` (detail: the
9
- * text) when the browser refused.
7
+ * Events: `lintje-copy` `string` (the text copied), `lintje-copy-error` `string` (the browser
8
+ * refused).
10
9
  */
11
10
  import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
12
11
  import { LintjeElement } from '../../../core/element.js';
@@ -14,7 +13,7 @@ import '../../../primitives/button/button.js';
14
13
  import '../../../primitives/icon-button/icon-button.js';
15
14
  import '../../feedback/toast/toast.js';
16
15
  export declare class LintjeCopyButton extends LintjeElement {
17
- static styles: import("lit").CSSResult;
16
+ static styles: import("lit").CSSResult[];
18
17
  static properties: PropertyDeclarations;
19
18
  /** The string to copy. */
20
19
  text?: string;
@@ -1,20 +1,11 @@
1
1
  /**
2
2
  * `<lintje-menu-button>` — a button with a menu of actions.
3
3
  *
4
- * The trigger is a native `<button>` so `aria-haspopup`, `aria-expanded` and `aria-controls` sit
5
- * on the focused element; `aria-controls` names the popover because the `role="menu"` panel is
6
- * in the popover's shadow root. A disabled trigger is `aria-disabled`: it stays in the tab order
7
- * and refuses to open. Keys reach disabled rows too, so their `reason` tooltip shows on focus.
8
- * While `busyLabel` is set the trigger is disabled and the sentence stands beside it with a
9
- * spinner; the `role="status"` is always present so the sentence is read out when it appears.
4
+ * A disabled trigger stays in the tab order and refuses to open. The keys reach disabled rows
5
+ * too, so their `reason` tooltip shows on focus.
10
6
  *
11
- * `split` makes it two halves of one button, 1 px apart: the label does the usual action
12
- * (`action`), the arrow beside it opens the other ways to do it. Busy, a split button keeps its
13
- * size and colours: only its icon turns into the spinner, and the sentence is for the screen
14
- * reader.
15
- *
16
- * Events: `lintje-action` (the row's value, or `action` from a split button's own half),
17
- * `lintje-navigate` `{ href }` for a link row.
7
+ * Events: `lintje-action` `string` (the row's value, or `action` from a split button's own half),
8
+ * `lintje-navigate` `{ href }` (a link row).
18
9
  */
19
10
  import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
20
11
  import { LintjeElement } from '../../../core/element.js';
@@ -79,13 +70,20 @@ export declare class LintjeMenuButton extends LintjeElement {
79
70
  /** An icon file name before the label, saying what the label is a value of (the speed's "1×"). */
80
71
  leadingIcon: string;
81
72
  disabled: boolean;
82
- /** An action is under way: the sentence beside the spinner. Empty when none is. */
73
+ /**
74
+ * An action is under way: the trigger is disabled and this sentence stands beside the spinner,
75
+ * read out when it appears. A split button keeps its size and colours: only its icon turns into
76
+ * the spinner, and the sentence is for the screen reader. Empty when none is.
77
+ */
83
78
  busyLabel: string;
84
79
  placement: 'bottom-start' | 'bottom-end' | 'top-end';
85
80
  items: MenuEntry[];
86
81
  /** Reflected, so a sheet around it can see a menu is open and leave Escape to it. */
87
82
  open: boolean;
88
- /** The label is a button of its own, and the arrow beside it opens the menu. */
83
+ /**
84
+ * Two halves of one button, 1 px apart: the label does the usual action (`action`), the arrow
85
+ * beside it opens the other ways to do it.
86
+ */
89
87
  split: boolean;
90
88
  /** What a split button's own half sends as `lintje-action`. */
91
89
  action: string;
@@ -1,14 +1,11 @@
1
1
  /**
2
- * `<lintje-qr-code>` — a QR code a phone camera reads, with a button that copies it as an
3
- * image.
2
+ * `<lintje-qr-code>` — a QR code a phone camera reads, with a button that copies it as an image.
4
3
  *
5
- * The host sets `value`, the text the code holds, and the element makes the code. A host that
6
- * makes its own sets `src` instead: an image of only the dark modules, without a margin. The
7
- * element sets the code on a light quiet zone in every mode and theme, because many camera apps do
8
- * not read an inverted code.
4
+ * The element makes the code from `value`, or shows the host's own image in `src`. The code stands
5
+ * on a light quiet zone in every mode and theme, because many camera apps do not read an inverted
6
+ * code.
9
7
  *
10
- * Events: `lintje-copy` after the image is on the clipboard, `lintje-copy-error` when the
11
- * browser refused.
8
+ * Events: `lintje-copy` (the image is on the clipboard), `lintje-copy-error` (the browser refused).
12
9
  */
13
10
  import { type PropertyDeclarations, type TemplateResult } from 'lit';
14
11
  import { LintjeElement } from '../../../core/element.js';
@@ -19,7 +16,10 @@ export declare function codeImage(text: string, colour: string): string;
19
16
  export declare class LintjeQrCode extends LintjeElement {
20
17
  static styles: import("lit").CSSResult;
21
18
  static properties: PropertyDeclarations;
22
- /** URL or data URI of an image of the code the host made; it goes before `value`. */
19
+ /**
20
+ * URL or data URI of an image of the code the host made: only the dark modules, without a
21
+ * margin. It goes before `value`.
22
+ */
23
23
  src: string;
24
24
  /** The text the code holds, usually a link: the element makes the code. */
25
25
  value: string;
@@ -1,11 +1,11 @@
1
1
  /**
2
- * `<lintje-chart-tile>` — a chart in its tile, with loading, empty and error states.
2
+ * `<lintje-chart>` — a chart in its tile, with loading, empty and error states.
3
3
  *
4
- * Events: `lintje-mark-select` `{id, label, href}` when a mark with a `href` is clicked, and
5
- * `{id: null, label: null, href: clearHref}` when it is deselected. Expand and download stay here.
4
+ * Expand and download are handled here. The table view is the element's own state, built from the
5
+ * CSV rows; it never reaches the URL.
6
6
  *
7
- * Two controllers: the tile and the modal draw the same chart and must not share hover or width.
8
- * The table view is built from the CSV rows; it is element state, not URL state (rule 14).
7
+ * Events: `lintje-mark-select` `{ id, label, href }` (a mark with an `href` was clicked;
8
+ * deselected, `{ id: null, label: null, href: data.clearHref }`).
9
9
  */
10
10
  import { nothing, type PropertyDeclarations, type TemplateResult } from 'lit';
11
11
  import { type FrameSettings } from '../../../core/element.js';
@@ -14,14 +14,14 @@ import '../../feedback/announcement/announcement.js';
14
14
  import '../../tables/data-table/data-table.js';
15
15
  import '../../inputs/segmented/segmented.js';
16
16
  import '../../../primitives/tile/tile.js';
17
- import type { ChartTileData } from '../../../types.js';
18
- type ChartTileView = 'chart' | 'table';
19
- export declare class LintjeChartTile extends LintjeContentTileElement {
17
+ import type { ChartData } from '../../../types.js';
18
+ type ChartView = 'chart' | 'table';
19
+ export declare class LintjeChart extends LintjeContentTileElement {
20
20
  #private;
21
21
  static styles: import("lit").CSSResult[];
22
22
  static properties: PropertyDeclarations;
23
- data?: ChartTileData | null;
24
- view: ChartTileView;
23
+ data?: ChartData | null;
24
+ view: ChartView;
25
25
  protected get dataSettings(): FrameSettings | undefined;
26
26
  disconnectedCallback(): void;
27
27
  private get ready();
@@ -32,6 +32,7 @@ export declare class LintjeChartTile extends LintjeContentTileElement {
32
32
  private png;
33
33
  protected expandChanged(open: boolean): void;
34
34
  protected render(): TemplateResult | typeof nothing;
35
+ /** The drawing, or the skeleton in its shape for the tile's `loading` slot; empty and error are the tile's. */
35
36
  private content;
36
37
  /** Header actions from 768 px; below that a row of its own in the `notice` slot. */
37
38
  private viewSwitch;
@@ -43,7 +44,7 @@ export declare class LintjeChartTile extends LintjeContentTileElement {
43
44
  }
44
45
  declare global {
45
46
  interface HTMLElementTagNameMap {
46
- 'lintje-chart-tile': LintjeChartTile;
47
+ 'lintje-chart': LintjeChart;
47
48
  }
48
49
  }
49
50
  export {};