lintje 0.2.0 → 0.4.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 (320) hide show
  1. package/README.md +2 -2
  2. package/dist-elements/actions.js +1 -1
  3. package/dist-elements/chunks/{base-Bg-IFOPG.js → base-DRGvkF-r.js} +484 -309
  4. package/dist-elements/chunks/{controls-B1455oPG.js → controls-_4ac1Lpz.js} +7 -1
  5. package/dist-elements/chunks/{date-format-mHtZyBys.js → date-format-DxP9yfDp.js} +1 -1
  6. package/dist-elements/chunks/dialog-B7aRBtjy.js +28 -0
  7. package/dist-elements/chunks/{disclosure-BXTX04gM.js → disclosure-D39vAR5q.js} +1 -1
  8. package/dist-elements/chunks/{disclosure-CMXhX-Vb.js → disclosure-DirPLy2E.js} +6 -6
  9. package/dist-elements/chunks/download-C68kcwPj.js +206 -0
  10. package/dist-elements/chunks/{focus-trap-9BnE-xWv.js → focus-trap-Dv8zu64A.js} +1 -1
  11. package/dist-elements/chunks/input-BGMLam-O.js +195 -0
  12. package/dist-elements/chunks/input-lQTmOMOz.js +4 -0
  13. package/dist-elements/chunks/{player-DXOZEyEy.js → player-BApadXr8.js} +27 -27
  14. package/dist-elements/chunks/{sentence-BI3lwEuT.js → sentence-0wO85ZdJ.js} +3 -3
  15. package/dist-elements/chunks/{stagger-qGD3wmhg.js → stagger-BB_gcxBI.js} +88 -74
  16. package/dist-elements/content.js +1 -0
  17. package/dist-elements/core.js +1 -1
  18. package/dist-elements/custom-elements.json +8858 -7715
  19. package/dist-elements/data-types.json +6900 -0
  20. package/dist-elements/feedback.js +2 -1
  21. package/dist-elements/frame.js +0 -2
  22. package/dist-elements/guides/dashboard.md +8 -0
  23. package/dist-elements/guides/events.md +4 -5
  24. package/dist-elements/guides/loading.md +10 -9
  25. package/dist-elements/guides/page-contents.md +110 -0
  26. package/dist-elements/guides/start.md +12 -0
  27. package/dist-elements/inputs.js +3 -1
  28. package/dist-elements/layout.js +1 -1
  29. package/dist-elements/lintje.js +8562 -7138
  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 +15 -15
  34. package/dist-elements/tag/ai-label.js +10 -10
  35. package/dist-elements/tag/announcement.js +36 -76
  36. package/dist-elements/tag/app-search.js +49 -49
  37. package/dist-elements/tag/audio-player.js +57 -57
  38. package/dist-elements/tag/badge.d.ts +1 -1
  39. package/dist-elements/tag/badge.js +1 -1
  40. package/dist-elements/tag/breadcrumbs.js +15 -15
  41. package/dist-elements/tag/button.d.ts +1 -1
  42. package/dist-elements/tag/button.js +1 -1
  43. package/dist-elements/tag/card-list.js +12 -12
  44. package/dist-elements/tag/card.js +39 -44
  45. package/dist-elements/tag/chart.js +1357 -787
  46. package/dist-elements/tag/chat-answer.js +49 -49
  47. package/dist-elements/tag/chat-composer.js +75 -71
  48. package/dist-elements/tag/chat-message.js +8 -8
  49. package/dist-elements/tag/chat-strip.js +22 -22
  50. package/dist-elements/tag/chat-suggestions.js +12 -12
  51. package/dist-elements/tag/chat.js +56 -56
  52. package/dist-elements/tag/checkbox-group.d.ts +1 -0
  53. package/dist-elements/tag/checkbox-group.js +60 -0
  54. package/dist-elements/tag/checkbox.js +9 -8
  55. package/dist-elements/tag/code.js +9 -9
  56. package/dist-elements/tag/combobox.js +19 -18
  57. package/dist-elements/tag/conflict-alert.js +12 -12
  58. package/dist-elements/tag/copy-button.js +14 -14
  59. package/dist-elements/tag/data-table.js +880 -532
  60. package/dist-elements/tag/date-input.js +30 -29
  61. package/dist-elements/tag/date-range.js +39 -38
  62. package/dist-elements/tag/description-list.js +29 -32
  63. package/dist-elements/tag/dialog.d.ts +1 -0
  64. package/dist-elements/tag/dialog.js +144 -0
  65. package/dist-elements/tag/document-viewer.js +23 -23
  66. package/dist-elements/tag/drawer.js +28 -32
  67. package/dist-elements/tag/empty-state.js +19 -30
  68. package/dist-elements/tag/error-page.d.ts +1 -0
  69. package/dist-elements/tag/error-page.js +109 -0
  70. package/dist-elements/tag/error-summary.js +10 -10
  71. package/dist-elements/tag/expander.js +8 -8
  72. package/dist-elements/tag/explainer.js +11 -11
  73. package/dist-elements/tag/field.js +5 -5
  74. package/dist-elements/tag/file-upload.js +35 -34
  75. package/dist-elements/tag/filter-bar.js +56 -56
  76. package/dist-elements/tag/filter-sheet.js +11 -11
  77. package/dist-elements/tag/filter-zone.js +31 -31
  78. package/dist-elements/tag/find.d.ts +1 -0
  79. package/dist-elements/tag/find.js +128 -0
  80. package/dist-elements/tag/footer.js +21 -21
  81. package/dist-elements/tag/form-actions.js +29 -25
  82. package/dist-elements/tag/form-section.js +6 -6
  83. package/dist-elements/tag/form.js +12 -12
  84. package/dist-elements/tag/gallery.js +14 -14
  85. package/dist-elements/tag/grid-item.d.ts +1 -1
  86. package/dist-elements/tag/grid-item.js +1 -1
  87. package/dist-elements/tag/grid.d.ts +1 -1
  88. package/dist-elements/tag/grid.js +1 -1
  89. package/dist-elements/tag/hero.js +12 -12
  90. package/dist-elements/tag/highlight.js +5 -5
  91. package/dist-elements/tag/icon-button.d.ts +1 -1
  92. package/dist-elements/tag/icon-button.js +1 -1
  93. package/dist-elements/tag/icon.d.ts +1 -1
  94. package/dist-elements/tag/icon.js +1 -1
  95. package/dist-elements/tag/job-list.js +22 -44
  96. package/dist-elements/tag/kpi-row.js +12 -10
  97. package/dist-elements/tag/kpi.js +149 -140
  98. package/dist-elements/tag/level-meter.js +11 -11
  99. package/dist-elements/tag/list.js +55 -55
  100. package/dist-elements/tag/logo.js +30 -30
  101. package/dist-elements/tag/map.js +702 -671
  102. package/dist-elements/tag/menu-button.js +70 -69
  103. package/dist-elements/tag/modal.js +28 -37
  104. package/dist-elements/tag/multiselect.js +35 -34
  105. package/dist-elements/tag/note.js +5 -5
  106. package/dist-elements/tag/notifications.js +36 -36
  107. package/dist-elements/tag/number-input.js +13 -12
  108. package/dist-elements/tag/page-header.js +140 -37
  109. package/dist-elements/tag/pagination.js +54 -49
  110. package/dist-elements/tag/popover.d.ts +1 -1
  111. package/dist-elements/tag/popover.js +1 -1
  112. package/dist-elements/tag/progress-bar.d.ts +1 -1
  113. package/dist-elements/tag/progress-bar.js +1 -1
  114. package/dist-elements/tag/prose.js +6 -6
  115. package/dist-elements/tag/qr-code.js +7 -7
  116. package/dist-elements/tag/radio-group.js +13 -12
  117. package/dist-elements/tag/range.js +23 -22
  118. package/dist-elements/tag/recording-status.js +14 -14
  119. package/dist-elements/tag/repeater.js +10 -10
  120. package/dist-elements/tag/segmented.js +14 -13
  121. package/dist-elements/tag/select.js +11 -10
  122. package/dist-elements/tag/shell.js +356 -339
  123. package/dist-elements/tag/skeleton.d.ts +1 -1
  124. package/dist-elements/tag/skeleton.js +1 -1
  125. package/dist-elements/tag/slot-picker.js +16 -15
  126. package/dist-elements/tag/sortable-list.js +14 -14
  127. package/dist-elements/tag/spinner.d.ts +1 -1
  128. package/dist-elements/tag/spinner.js +1 -1
  129. package/dist-elements/tag/split-pane.js +12 -12
  130. package/dist-elements/tag/status-dot.d.ts +1 -1
  131. package/dist-elements/tag/status-dot.js +1 -1
  132. package/dist-elements/tag/stepper.js +21 -21
  133. package/dist-elements/tag/streaming-text.js +13 -13
  134. package/dist-elements/tag/sub-nav.js +39 -38
  135. package/dist-elements/tag/tabs.js +38 -38
  136. package/dist-elements/tag/tag-input.js +20 -19
  137. package/dist-elements/tag/text-editor.js +25 -24
  138. package/dist-elements/tag/text-input.js +15 -14
  139. package/dist-elements/tag/textarea.js +15 -14
  140. package/dist-elements/tag/tile.d.ts +1 -1
  141. package/dist-elements/tag/tile.js +1 -1
  142. package/dist-elements/tag/time-input.js +20 -19
  143. package/dist-elements/tag/toast.js +32 -23
  144. package/dist-elements/tag/toggle.js +9 -8
  145. package/dist-elements/tag/toggletip.js +27 -27
  146. package/dist-elements/tag/token-value.d.ts +1 -0
  147. package/dist-elements/tag/token-value.js +75 -0
  148. package/dist-elements/tag/tooltip.d.ts +1 -1
  149. package/dist-elements/tag/tooltip.js +1 -1
  150. package/dist-elements/tag/transcript.js +48 -48
  151. package/dist-elements/tag/translator.js +13 -13
  152. package/dist-elements/tag/tree-view.js +13 -13
  153. package/dist-elements/tag/user-menu.js +37 -37
  154. package/dist-elements/tag/video-player.js +21 -21
  155. package/dist-elements/tokens.css +120 -96
  156. package/dist-elements/tokens.json +1244 -0
  157. package/dist-elements/types/bundle/actions.d.ts +3 -3
  158. package/dist-elements/types/bundle/content.d.ts +1 -0
  159. package/dist-elements/types/bundle/feedback.d.ts +6 -5
  160. package/dist-elements/types/bundle/frame.d.ts +0 -2
  161. package/dist-elements/types/bundle/index.d.ts +0 -10
  162. package/dist-elements/types/bundle/inputs.d.ts +2 -0
  163. package/dist-elements/types/bundle/layout.d.ts +3 -3
  164. package/dist-elements/types/bundle/overlays.d.ts +3 -3
  165. package/dist-elements/types/categories.d.ts +4 -0
  166. package/dist-elements/types/{primitives → components/actions}/button/button.d.ts +13 -10
  167. package/dist-elements/types/components/actions/copy-button/copy-button.d.ts +8 -9
  168. package/dist-elements/types/{icons → components/actions}/icon/icon.d.ts +4 -5
  169. package/dist-elements/types/{primitives → components/actions}/icon-button/icon-button.d.ts +8 -6
  170. package/dist-elements/types/components/actions/menu-button/menu-button.d.ts +16 -18
  171. package/dist-elements/types/components/actions/qr-code/qr-code.d.ts +10 -10
  172. package/dist-elements/types/components/charts/chart/chart.d.ts +6 -5
  173. package/dist-elements/types/components/charts/explainer/explainer.d.ts +1 -1
  174. package/dist-elements/types/components/charts/kpi/kpi.d.ts +19 -11
  175. package/dist-elements/types/components/charts/kpi-row/kpi-row.d.ts +2 -8
  176. package/dist-elements/types/components/charts/note/note.d.ts +2 -2
  177. package/dist-elements/types/components/chat/chat/chat.d.ts +9 -11
  178. package/dist-elements/types/components/chat/chat-answer/chat-answer.d.ts +10 -11
  179. package/dist-elements/types/components/chat/chat-composer/chat-composer.d.ts +10 -12
  180. package/dist-elements/types/components/chat/chat-message/chat-message.d.ts +7 -8
  181. package/dist-elements/types/components/chat/chat-strip/chat-strip.d.ts +5 -5
  182. package/dist-elements/types/components/chat/chat-suggestions/chat-suggestions.d.ts +9 -10
  183. package/dist-elements/types/components/content/audio-player/audio-player.d.ts +15 -17
  184. package/dist-elements/types/components/content/code/code.d.ts +3 -4
  185. package/dist-elements/types/components/content/document-viewer/document-viewer.d.ts +10 -11
  186. package/dist-elements/types/components/content/gallery/gallery.d.ts +5 -4
  187. package/dist-elements/types/components/content/highlight/highlight.d.ts +5 -4
  188. package/dist-elements/types/components/content/prose/prose.d.ts +3 -4
  189. package/dist-elements/types/components/content/token-value/token-value.d.ts +42 -0
  190. package/dist-elements/types/components/content/transcript/transcript.d.ts +15 -28
  191. package/dist-elements/types/components/content/translator/translator.d.ts +12 -16
  192. package/dist-elements/types/components/content/video-player/video-player.d.ts +12 -14
  193. package/dist-elements/types/components/feedback/ai-label/ai-label.d.ts +3 -4
  194. package/dist-elements/types/components/feedback/announcement/announcement.d.ts +5 -9
  195. package/dist-elements/types/{primitives → components/feedback}/badge/badge.d.ts +10 -6
  196. package/dist-elements/types/components/feedback/conflict-alert/conflict-alert.d.ts +4 -5
  197. package/dist-elements/types/components/feedback/empty-state/empty-state.d.ts +5 -8
  198. package/dist-elements/types/components/feedback/error-page/error-page.d.ts +52 -0
  199. package/dist-elements/types/components/feedback/job-list/job-list.d.ts +9 -12
  200. package/dist-elements/types/components/feedback/level-meter/level-meter.d.ts +4 -6
  201. package/dist-elements/types/{primitives → components/feedback}/progress-bar/progress-bar.d.ts +9 -7
  202. package/dist-elements/types/components/feedback/recording-status/recording-status.d.ts +5 -6
  203. package/dist-elements/types/{primitives → components/feedback}/skeleton/skeleton.d.ts +2 -2
  204. package/dist-elements/types/{primitives → components/feedback}/spinner/spinner.d.ts +2 -3
  205. package/dist-elements/types/{primitives → components/feedback}/status-dot/status-dot.d.ts +5 -6
  206. package/dist-elements/types/components/feedback/streaming-text/streaming-text.d.ts +12 -9
  207. package/dist-elements/types/components/feedback/toast/toast.d.ts +8 -9
  208. package/dist-elements/types/components/filters/filter-bar/filter-bar.d.ts +9 -4
  209. package/dist-elements/types/components/filters/filter-sheet/filter-sheet.d.ts +7 -7
  210. package/dist-elements/types/components/filters/filter-zone/filter-zone.d.ts +4 -4
  211. package/dist-elements/types/components/forms/error-summary/error-summary.d.ts +6 -7
  212. package/dist-elements/types/components/forms/form/form.d.ts +5 -5
  213. package/dist-elements/types/components/forms/form-actions/form-actions.d.ts +10 -8
  214. package/dist-elements/types/components/forms/form-section/form-section.d.ts +6 -5
  215. package/dist-elements/types/components/forms/repeater/repeater.d.ts +15 -9
  216. package/dist-elements/types/components/forms/stepper/stepper.d.ts +6 -5
  217. package/dist-elements/types/components/frame/app-search/app-search.d.ts +7 -8
  218. package/dist-elements/types/components/frame/breadcrumbs/breadcrumbs.d.ts +2 -2
  219. package/dist-elements/types/components/frame/footer/footer.d.ts +3 -2
  220. package/dist-elements/types/components/frame/hero/hero.d.ts +7 -9
  221. package/dist-elements/types/components/frame/notifications/notifications.d.ts +7 -11
  222. package/dist-elements/types/components/frame/page-header/page-header.d.ts +13 -16
  223. package/dist-elements/types/components/frame/shell/shell.d.ts +15 -14
  224. package/dist-elements/types/components/frame/sub-nav/sub-nav.d.ts +10 -6
  225. package/dist-elements/types/components/frame/user-menu/user-menu.d.ts +13 -12
  226. package/dist-elements/types/components/index.d.ts +51 -12
  227. package/dist-elements/types/components/inputs/checkbox/checkbox.d.ts +4 -4
  228. package/dist-elements/types/components/inputs/checkbox-group/checkbox-group.d.ts +33 -0
  229. package/dist-elements/types/components/inputs/combobox/combobox.d.ts +14 -8
  230. package/dist-elements/types/components/inputs/date-input/date-input.d.ts +6 -6
  231. package/dist-elements/types/components/inputs/date-range/date-range.d.ts +13 -8
  232. package/dist-elements/types/components/inputs/field/field.d.ts +5 -3
  233. package/dist-elements/types/components/inputs/file-upload/file-upload.d.ts +8 -10
  234. package/dist-elements/types/components/inputs/find/find.d.ts +51 -0
  235. package/dist-elements/types/components/inputs/multiselect/multiselect.d.ts +4 -6
  236. package/dist-elements/types/components/inputs/number-input/number-input.d.ts +8 -7
  237. package/dist-elements/types/components/inputs/radio-group/radio-group.d.ts +2 -4
  238. package/dist-elements/types/components/inputs/range/range.d.ts +5 -6
  239. package/dist-elements/types/components/inputs/segmented/segmented.d.ts +7 -4
  240. package/dist-elements/types/components/inputs/select/select.d.ts +6 -3
  241. package/dist-elements/types/components/inputs/shared/input.d.ts +1 -1
  242. package/dist-elements/types/components/inputs/slot-picker/slot-picker.d.ts +6 -5
  243. package/dist-elements/types/components/inputs/tag-input/tag-input.d.ts +8 -6
  244. package/dist-elements/types/components/inputs/text-editor/text-editor.d.ts +8 -8
  245. package/dist-elements/types/components/inputs/text-input/text-input.d.ts +12 -7
  246. package/dist-elements/types/components/inputs/textarea/textarea.d.ts +12 -11
  247. package/dist-elements/types/components/inputs/time-input/time-input.d.ts +8 -9
  248. package/dist-elements/types/components/inputs/toggle/toggle.d.ts +3 -1
  249. package/dist-elements/types/components/layout/expander/expander.d.ts +10 -11
  250. package/dist-elements/types/{primitives → components/layout}/grid/grid.d.ts +4 -4
  251. package/dist-elements/types/{primitives → components/layout}/grid-item/grid-item.d.ts +2 -2
  252. package/dist-elements/types/components/layout/split-pane/split-pane.d.ts +6 -6
  253. package/dist-elements/types/components/layout/tabs/tabs.d.ts +12 -10
  254. package/dist-elements/types/{primitives → components/layout}/tile/tile.d.ts +22 -10
  255. package/dist-elements/types/components/map/map/map.d.ts +12 -11
  256. package/dist-elements/types/components/overlays/dialog/dialog.d.ts +49 -0
  257. package/dist-elements/types/components/overlays/drawer/drawer.d.ts +6 -5
  258. package/dist-elements/types/components/overlays/modal/modal.d.ts +9 -14
  259. package/dist-elements/types/{primitives → components/overlays}/popover/popover.d.ts +7 -6
  260. package/dist-elements/types/components/overlays/toggletip/toggletip.d.ts +4 -8
  261. package/dist-elements/types/{primitives → components/overlays}/tooltip/tooltip.d.ts +8 -8
  262. package/dist-elements/types/components/shared/announcement-block.d.ts +38 -0
  263. package/dist-elements/types/components/shared/charts/index.d.ts +5 -1
  264. package/dist-elements/types/components/shared/charts/kinds.d.ts +92 -0
  265. package/dist-elements/types/components/shared/charts/line-chart/line-chart.d.ts +2 -2
  266. package/dist-elements/types/components/shared/charts/map-chart/leaflet.d.ts +5 -0
  267. package/dist-elements/types/components/shared/charts/map-chart/map-chart.d.ts +1 -1
  268. package/dist-elements/types/components/shared/charts/radar-chart/radar-chart.d.ts +31 -0
  269. package/dist-elements/types/components/shared/charts/shared/axes.d.ts +3 -1
  270. package/dist-elements/types/components/shared/charts/shared/chart-states.d.ts +8 -19
  271. package/dist-elements/types/components/shared/charts/shared/controller.d.ts +12 -0
  272. package/dist-elements/types/components/shared/charts/shared/types.d.ts +62 -0
  273. package/dist-elements/types/components/shared/charts/stacked-area-chart/stacked-area-chart.d.ts +13 -0
  274. package/dist-elements/types/components/shared/content-tile.d.ts +1 -1
  275. package/dist-elements/types/components/{forms/form → shared}/controls.d.ts +3 -2
  276. package/dist-elements/types/components/shared/dialog.d.ts +9 -0
  277. package/dist-elements/types/components/shared/empty-state-block.d.ts +26 -0
  278. package/dist-elements/types/components/shared/overflow.d.ts +58 -0
  279. package/dist-elements/types/components/shared/tone.d.ts +18 -0
  280. package/dist-elements/types/components/tables/activity-log/activity-log.d.ts +3 -4
  281. package/dist-elements/types/components/tables/card/card.d.ts +17 -23
  282. package/dist-elements/types/components/tables/card-list/card-list.d.ts +9 -11
  283. package/dist-elements/types/components/tables/data-table/actions.d.ts +1 -1
  284. package/dist-elements/types/components/tables/data-table/data-table.d.ts +88 -19
  285. package/dist-elements/types/components/tables/data-table/editing.d.ts +1 -1
  286. package/dist-elements/types/components/tables/data-table/filters.d.ts +15 -6
  287. package/dist-elements/types/components/tables/description-list/description-list.d.ts +13 -12
  288. package/dist-elements/types/components/tables/list/list.d.ts +13 -24
  289. package/dist-elements/types/components/tables/pagination/pagination.d.ts +12 -11
  290. package/dist-elements/types/components/tables/sortable-list/sortable-list.d.ts +5 -6
  291. package/dist-elements/types/components/tables/tree-view/tree-view.d.ts +5 -5
  292. package/dist-elements/types/core/focus.d.ts +1 -1
  293. package/dist-elements/types/core/media.d.ts +2 -2
  294. package/dist-elements/types/core/motion.d.ts +5 -0
  295. package/dist-elements/types/core/print.d.ts +15 -0
  296. package/dist-elements/types/core/shortcuts.d.ts +2 -2
  297. package/dist-elements/types/icons/register.d.ts +1 -1
  298. package/dist-elements/types/types.d.ts +70 -10
  299. package/dist-icons/functioneel-kolommen.svg +1 -0
  300. package/dist-icons/functioneel-trechter.svg +1 -0
  301. package/package.json +1 -1
  302. package/dist-elements/chunks/confirm-dialog-D5EVGuil.js +0 -4
  303. package/dist-elements/chunks/download-y528pIHP.js +0 -230
  304. package/dist-elements/chunks/input-BtuNFSWk.js +0 -195
  305. package/dist-elements/tag/confirm-dialog.d.ts +0 -1
  306. package/dist-elements/tag/confirm-dialog.js +0 -118
  307. package/dist-elements/tag/session-expiry.d.ts +0 -1
  308. package/dist-elements/tag/session-expiry.js +0 -184
  309. package/dist-elements/tag/shortcuts.d.ts +0 -1
  310. package/dist-elements/tag/shortcuts.js +0 -104
  311. package/dist-elements/types/components/frame/session-expiry/session-expiry.d.ts +0 -55
  312. package/dist-elements/types/components/frame/shortcuts/shortcuts.d.ts +0 -41
  313. package/dist-elements/types/components/overlays/confirm-dialog/confirm-dialog.d.ts +0 -41
  314. package/dist-elements/types/primitives/index.d.ts +0 -33
  315. /package/dist-elements/types/components/content/{audio-player → shared}/playback.d.ts +0 -0
  316. /package/dist-elements/types/components/content/{audio-player → shared}/player.d.ts +0 -0
  317. /package/dist-elements/types/components/{inputs/date-input → shared}/date-format.d.ts +0 -0
  318. /package/dist-elements/types/{primitives → components}/shared/grid-item-element.d.ts +0 -0
  319. /package/dist-elements/types/{primitives → components}/shared/length.d.ts +0 -0
  320. /package/dist-elements/types/{primitives → components}/shared/place.d.ts +0 -0
@@ -2,12 +2,12 @@
2
2
  * `<lintje-chat-strip>` — the strip under an answer's text: what the answer assumed, as
3
3
  * label/value pairs, and how it was calculated.
4
4
  *
5
- * A fixed value is plain text; one with `options` is a native `<select>` drawn as a term (the
6
- * browser's own list and phone picker); one with `pressed` is a suggestion. The strip keeps only
7
- * whether its details are open; a change is an event and the host sets the items again.
5
+ * A value with `options` is a choice, one with `pressed` a suggestion, the rest plain text. The
6
+ * strip keeps only whether its details are open: a change is an event, and the host sets the
7
+ * items again.
8
8
  *
9
- * Events: `lintje-strip-change` `{turnId, key, value}` — a state; `value` is the
10
- * chosen option's value, or the suggestion's new `pressed`.
9
+ * Events: `lintje-strip-change` `{ turnId, key, value }` (`value` is the chosen option's value, or
10
+ * the suggestion's new `pressed`).
11
11
  */
12
12
  import { nothing, type PropertyDeclarations, type TemplateResult } from 'lit';
13
13
  import { LintjeElement } from '../../../core/element.js';
@@ -1,13 +1,8 @@
1
1
  /**
2
- * `<lintje-chat-suggestions>` — sentences the reader can send with one press.
2
+ * `<lintje-chat-suggestions>` — sentences the reader can send with one press, on the reader's side.
3
3
  *
4
- * `kind` is a rule, not decoration: `suggestion` (dashed) is something the reader could ask;
5
- * `choice` (solid) is an answer the assistant is waiting for. In a conversation they stand on the
6
- * reader's side, on the right; `align="start"` sets them left and side by side, as the examples
7
- * under a question box on a start page.
8
- *
9
- * Events: `lintje-suggestion-select` `{turnId, kind, label, value}` — a trigger;
10
- * `value` is the item's own, or its label.
4
+ * Events: `lintje-suggestion-select` `{ turnId, kind, label, value }` (`value` is the item's own,
5
+ * or its label).
11
6
  */
12
7
  import { nothing, type PropertyDeclarations, type TemplateResult } from 'lit';
13
8
  import { LintjeElement } from '../../../core/element.js';
@@ -15,14 +10,18 @@ import type { ChatSuggestion } from '../../../types.js';
15
10
  export type ChatSuggestionKind = 'suggestion' | 'choice';
16
11
  export type ChatSuggestionsAlign = 'end' | 'start';
17
12
  export declare class LintjeChatSuggestions extends LintjeElement {
18
- static styles: import("lit").CSSResult;
13
+ static styles: import("lit").CSSResult[];
19
14
  static properties: PropertyDeclarations;
20
15
  /** The caps line above the sentences: "Jij, als vervolgvraag". */
21
16
  label?: string;
22
17
  /** The gray line under a set of choices. */
23
18
  hint?: string;
19
+ /**
20
+ * A rule, not decoration: `suggestion` (dashed) is something the reader could ask, `choice`
21
+ * (solid) an answer the assistant is waiting for.
22
+ */
24
23
  kind: ChatSuggestionKind;
25
- /** `start`: left and side by side, outside a conversation. */
24
+ /** `start`: left and side by side, outside a conversation, as examples under a question box. */
26
25
  align: ChatSuggestionsAlign;
27
26
  items?: ChatSuggestion[];
28
27
  /** It comes back in the event. */
@@ -1,35 +1,33 @@
1
1
  /**
2
- * `<lintje-audio-player>` — plays a recording: play between two 15-second skips, the position
3
- * as a slider, the time, the volume and the speed.
2
+ * `<lintje-audio-player>` — plays a recording: play between two 15-second skips, the position as a
3
+ * slider, the time, the volume and the speed.
4
4
  *
5
- * With `.peaks` (0–1) the slider is the waveform, without them a bar. With `.segments` — the
6
- * transcript's `{ start, speaker }[]` — every speaker takes a colour, named in a legend above
7
- * (`no-legend` leaves it to the transcript, which names the same colours).
8
- * `compact` puts everything on one line; a phone has no room for it and keeps the column.
9
- * `flush` drops its own frame, for a bar the page draws around it. Never autoplays.
10
- * `.currentTime` seeks.
5
+ * It never autoplays.
11
6
  *
12
- * Events: `lintje-time-change` (seconds, at most four times a second), `lintje-seek` (seconds:
13
- * the reader moved the position), `lintje-play`, `lintje-pause`.
7
+ * Events: `lintje-time-change` `number` (seconds, at most four times a second), `lintje-seek`
8
+ * `number` (seconds: the reader moved the position), `lintje-play`, `lintje-pause`.
14
9
  */
15
10
  import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
16
- import '../../../primitives/button/button.js';
17
- import '../../../primitives/skeleton/skeleton.js';
11
+ import '../../actions/button/button.js';
12
+ import '../../feedback/skeleton/skeleton.js';
18
13
  import '../../feedback/announcement/announcement.js';
19
14
  import '../../actions/menu-button/menu-button.js';
20
- import { type SpeakerTurn } from './playback.js';
21
- import { LintjePlayerElement } from './player.js';
22
- export type { SpeakerTurn } from './playback.js';
15
+ import { type SpeakerTurn } from '../shared/playback.js';
16
+ import { LintjePlayerElement } from '../shared/player.js';
17
+ export type { SpeakerTurn } from '../shared/playback.js';
23
18
  export declare class LintjeAudioPlayer extends LintjePlayerElement {
24
19
  static styles: import("lit").CSSResult[];
25
20
  static properties: PropertyDeclarations;
26
21
  /** The waveform's peaks, 0–1. Without them the position is a bar. */
27
22
  peaks?: number[] | null;
28
- /** Who speaks when: the transcript's segments, or any `{ start, speaker }[]` in time order. */
23
+ /**
24
+ * Who speaks when: the transcript's segments, or any `{ start, speaker }[]` in time order. Every
25
+ * speaker takes a colour, named in a legend above.
26
+ */
29
27
  segments: SpeakerTurn[];
30
28
  /** Leaves the legend out where the transcript beside it names every colour. */
31
29
  noLegend: boolean;
32
- /** Everything on one line, for a row or a tile. */
30
+ /** Everything on one line, for a row or a tile; a phone has no room and keeps the column. */
33
31
  compact: boolean;
34
32
  /** No frame of its own: the page's bar around it is the frame. */
35
33
  flush: boolean;
@@ -1,18 +1,17 @@
1
1
  /**
2
2
  * `<lintje-code>` — a block of code or JSON, on `--font-mono`; the host pretty-prints JSON.
3
3
  *
4
- * Scrolls sideways by default because a broken line is a changed line; the block is
5
- * `tabindex="0"` so the scroll is keyboard reachable (WCAG 2.1.1). `numbered` uses a CSS
6
- * counter, so a copy of the block is a copy of the code. No syntax colouring.
4
+ * It scrolls sideways by default, because a broken line is a changed line. No syntax colouring.
7
5
  */
8
6
  import { type PropertyDeclarations, type TemplateResult } from 'lit';
9
- import { LintjeGridItemElement } from '../../../primitives/shared/grid-item-element.js';
7
+ import { LintjeGridItemElement } from '../../shared/grid-item-element.js';
10
8
  export declare class LintjeCode extends LintjeGridItemElement {
11
9
  static styles: import("lit").CSSResult;
12
10
  static properties: PropertyDeclarations;
13
11
  text?: string;
14
12
  /** Shown as the label top right: `json`, `sql`, `python`. */
15
13
  language?: string;
14
+ /** Line numbers beside the text, not in it: a copy of the block is a copy of the code. */
16
15
  numbered: boolean;
17
16
  /** Break long lines instead of scrolling the block sideways. */
18
17
  wrap: boolean;
@@ -1,21 +1,18 @@
1
1
  /**
2
2
  * `<lintje-document-viewer>` — a document page by page: leaf, zoom and download.
3
3
  *
4
- * Shows images only: `.pages` is one URL per page, `src` a single image. The host renders a PDF
5
- * to page images; no PDF library is shipped. An image is no text: give each page's text in
6
- * `.texts` (same order), which a screen reader reads after the page. The file behind
7
- * "Downloaden" is the accessible version, so it is a tagged, accessible PDF, not a scan.
4
+ * It shows images only: the host renders a PDF to page images, and gives each page's text in
5
+ * `texts`, which a screen reader reads after the page. The file behind "Downloaden" is the
6
+ * accessible version: a tagged PDF, not a scan. Page and zoom are the element's; every change is
7
+ * reported.
8
8
  *
9
- * `page` (from 1) and `zoom` (50–400 in steps of 25, or `fit`) are the element's; every change
10
- * is reported.
11
- *
12
- * Events: `lintje-page-change` (the page, from 1), `lintje-zoom-change` (a percentage or
13
- * `'fit'`), `lintje-download`.
9
+ * Events: `lintje-page-change` `number` (the page, from 1), `lintje-zoom-change`
10
+ * `number | 'fit'` (a percentage), `lintje-download`.
14
11
  */
15
12
  import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
16
13
  import { LintjeElement } from '../../../core/element.js';
17
- import '../../../primitives/button/button.js';
18
- import '../../../primitives/skeleton/skeleton.js';
14
+ import '../../actions/button/button.js';
15
+ import '../../feedback/skeleton/skeleton.js';
19
16
  import '../../feedback/empty-state/empty-state.js';
20
17
  export type ZoomLevel = number | 'fit';
21
18
  export declare const ZOOM_MIN = 50;
@@ -40,7 +37,9 @@ export declare class LintjeDocumentViewer extends LintjeElement {
40
37
  src: string;
41
38
  /** The file name: the toolbar's title and part of the page's accessible name. */
42
39
  name: string;
40
+ /** The page shown, from 1. */
43
41
  page: number;
42
+ /** A percentage, 50–400 in steps of 25, or `fit`. */
44
43
  zoom: ZoomLevel;
45
44
  protected loaded: boolean;
46
45
  protected failed: boolean;
@@ -1,8 +1,9 @@
1
1
  /**
2
- * `<lintje-gallery>` — pictures of one thing, such as the screens of an application: one large
3
- * with its caption, and under it a thumbnail of each to choose another. A single picture has no
4
- * thumbnails. Which picture stands is the element's; every change is reported, and read out
5
- * from a status region: "Afbeelding 2 van 4: <alt>".
2
+ * `<lintje-gallery>` — pictures of one thing, such as the screens of an application: one large with
3
+ * its caption, and under it a thumbnail of each to choose another; a single picture has none.
4
+ *
5
+ * Which picture stands is the element's; every change is reported, and read out as "Afbeelding 2
6
+ * van 4: <alt>".
6
7
  *
7
8
  * Events: `lintje-gallery-change` `{ index }`.
8
9
  */
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * `<lintje-highlight>` — a marking in running text: low confidence, a glossary term, a search
3
- * match, or a difference. Each kind draws the element that means it and a line of its own, so
4
- * colour is never the only carrier. A difference also says what it is in hidden words, since a
5
- * screen reader does not name `<del>` and `<ins>`. The host wraps the words. Events: none.
3
+ * match, or a difference.
4
+ *
5
+ * The host wraps the words. Each kind draws the element that means it and a line of its own, so
6
+ * colour is never the only carrier.
6
7
  */
7
8
  import { type PropertyDeclarations, type TemplateResult } from 'lit';
8
9
  import { LintjeElement } from '../../../core/element.js';
9
- import '../../../primitives/tooltip/tooltip.js';
10
+ import '../../overlays/tooltip/tooltip.js';
10
11
  export type HighlightKind = 'uncertain' | 'term' | 'match' | 'added' | 'removed';
11
12
  export declare class LintjeHighlight extends LintjeElement {
12
13
  static styles: import("lit").CSSResult;
@@ -1,12 +1,11 @@
1
1
  /**
2
- * `<lintje-prose>` — a block of text on the type scale. `html` wins over `text`, which wins over
3
- * the slot.
2
+ * `<lintje-prose>` — a block of text on the type scale: `html`, else `text`, else the slot.
4
3
  *
5
4
  * The host renders the markdown and sanitises it: `html` is written into the shadow root as it
6
- * stands, and no sanitiser lives here. Events: none.
5
+ * stands.
7
6
  */
8
7
  import { type PropertyDeclarations, type TemplateResult } from 'lit';
9
- import { LintjeGridItemElement } from '../../../primitives/shared/grid-item-element.js';
8
+ import { LintjeGridItemElement } from '../../shared/grid-item-element.js';
10
9
  export type ProseTone = 'default' | 'muted';
11
10
  export declare class LintjeProse extends LintjeGridItemElement {
12
11
  static styles: import("lit").CSSResult;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * `<lintje-token-value>` — what a design token computes to, here and now: a colour as a swatch
3
+ * and hex, a length in rem also in px, a text style as weight, size and line height.
4
+ *
5
+ * The value is read from the computed style, since a token ends in a `color-mix()` or an
6
+ * `oklch()` of the theme's `--primary`. A change of mode redraws it like any element; a change
7
+ * of theme is watched on the document.
8
+ */
9
+ import { type PropertyDeclarations, type TemplateResult } from 'lit';
10
+ import { LintjeElement } from '../../../core/element.js';
11
+ export declare const NO_VALUE = "\u2014";
12
+ /**
13
+ * A computed sRGB colour as upper-case hex, with its alpha in percent when it is not opaque;
14
+ * `null` for anything else. Browsers compute to `rgb(14, 61, 110)` or `color(srgb 0.05 0.24 0.43)`.
15
+ */
16
+ export declare function formatColour(computed: string): string | null;
17
+ export declare class LintjeTokenValue extends LintjeElement {
18
+ static styles: import("lit").CSSResult;
19
+ static properties: PropertyDeclarations;
20
+ /** The custom property to show, with its dashes: `--color-accent`. */
21
+ name?: string;
22
+ /** Without the swatch, where the colour already stands beside it, larger. */
23
+ noSwatch: boolean;
24
+ private observer?;
25
+ connectedCallback(): void;
26
+ disconnectedCallback(): void;
27
+ protected updated(): void;
28
+ /**
29
+ * Set on the nodes, not bound: the probe exists only after render, and a reactive property
30
+ * set from `updated()` would schedule a second render per reading.
31
+ */
32
+ private reread;
33
+ /** The CSSOM keeps a valid declaration and drops the rest, so the probe tells what a value is. */
34
+ private colourOf;
35
+ private describe;
36
+ protected render(): TemplateResult;
37
+ }
38
+ declare global {
39
+ interface HTMLElementTagNameMap {
40
+ 'lintje-token-value': LintjeTokenValue;
41
+ }
42
+ }
@@ -1,40 +1,25 @@
1
1
  /**
2
2
  * `<lintje-transcript>` — a recording's text in fragments, each with its speaker and timecode.
3
3
  *
4
- * `readonly` shows the text only, as a preview beside a running recording does: no editing, no
5
- * speaker menu and no seeking.
4
+ * Editing and the speakers are the host's state: the element asks, and the host changes
5
+ * `segments`, `editingId`, `busyId` and `errors`. It plays, saves and renames nothing itself. A
6
+ * speaker has the colour it has in the player's waveform. Above the fragments, the `note-label` and
7
+ * `note` slots say that a model made the text, and `lead` holds the AI work.
6
8
  *
7
- * Every speaker takes a colour, the same as in the player's waveform: a bar along the fragment,
8
- * the name beside it says who it is. `layout="chat"` draws each fragment as a message instead of
9
- * a row; `tinted` lays the speaker's colour under the whole fragment; `grouped` names a speaker
10
- * once over consecutive fragments, each keeping its own time. The fragment that sounds stands out
11
- * with a ring. Live, `speakingId` says who speaks now and a fragment's `pending` text is still
12
- * provisional.
13
- *
14
- * Above the fragments stands a row in the same columns: `note-label` beside `note` — the label
15
- * that a model made the text, and the host's sentence about it — and under it what the host
16
- * slots in `lead` (the AI work, each in its own expander).
17
- *
18
- * A fragment is edited from its pencil or by a double click on its text.
19
- *
20
- * Editing and the speakers are the host's state: the element asks, the host changes `segments`,
21
- * `editingId`, `busyId` and `errors`. It plays, saves and renames nothing itself. The search
22
- * property is `searchMatches`, not `matches` (that is `Element.matches()`).
23
- *
24
- * Events: `lintje-seek` (seconds), `lintje-segment-edit` (id), `lintje-segment-save`
25
- * `{ id, text }`, `lintje-segment-cancel` (id), `lintje-segment-speaker` `{ id, speaker }` (this
26
- * fragment to another speaker), `lintje-speaker-new` (id: this fragment to a speaker not named
27
- * yet), `lintje-speaker-rename` (the name to change everywhere).
9
+ * Events: `lintje-seek` `number` (seconds), `lintje-segment-edit` `string` (the id),
10
+ * `lintje-segment-save` `{ id, text }`, `lintje-segment-cancel` `string` (the id),
11
+ * `lintje-segment-speaker` `{ id, speaker }` (to another speaker), `lintje-speaker-new` `string`
12
+ * (the id, to a speaker not named yet), `lintje-speaker-rename` `string` (the speaker's name).
28
13
  */
29
14
  import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
30
15
  import { LintjeElement } from '../../../core/element.js';
31
- import '../../../primitives/button/button.js';
32
- import '../../../primitives/icon-button/icon-button.js';
16
+ import '../../actions/button/button.js';
17
+ import '../../actions/icon-button/icon-button.js';
33
18
  import '../highlight/highlight.js';
34
19
  import '../../inputs/textarea/textarea.js';
35
20
  import '../../actions/menu-button/menu-button.js';
36
21
  import type { MenuEntry } from '../../actions/menu-button/menu-button.js';
37
- import { type BadgeTone } from '../../../primitives/badge/badge.js';
22
+ import { type BadgeTone } from '../../feedback/badge/badge.js';
38
23
  export interface TranscriptSegment {
39
24
  id: string;
40
25
  /** When it starts, in seconds. */
@@ -86,6 +71,7 @@ export declare class LintjeTranscript extends LintjeElement {
86
71
  * its colours. Without it, those in `segments`.
87
72
  */
88
73
  speakers?: string[] | null;
74
+ /** The text only, as a preview beside a live recording: no editing, speaker menu or seeking. */
89
75
  readonly: boolean;
90
76
  /** Live: the segment of who speaks now. */
91
77
  speakingId?: string | null;
@@ -95,15 +81,16 @@ export declare class LintjeTranscript extends LintjeElement {
95
81
  layout: TranscriptLayout;
96
82
  /** The speaker's colour under the whole fragment, not only in its bar. */
97
83
  tinted: boolean;
98
- /** A speaker's consecutive fragments under one name. */
84
+ /** A speaker's consecutive fragments under one name, each keeping its own time. */
99
85
  grouped: boolean;
100
- /** The recording's position in seconds. */
86
+ /** The recording's position in seconds; the fragment that sounds stands out with a ring. */
101
87
  currentTime?: number | null;
102
88
  /** The segment in editing; the host sets it after `lintje-segment-edit`. */
103
89
  editingId?: string | null;
104
90
  busyId?: string | null;
105
91
  /** A save that failed: the message under the field, per segment id. */
106
92
  errors: Record<string, string>;
93
+ /** The search hits; not `matches`, which is `Element.matches()`. */
107
94
  searchMatches: TranscriptMatches;
108
95
  /** The hit framed as current; scrolled into view when it changes. */
109
96
  currentMatch?: TranscriptMatch | null;
@@ -1,25 +1,18 @@
1
1
  /**
2
- * `<lintje-translator>` — a text and its translation in one surface of two halves: the source on
3
- * the left, the translation on the right, each with its language above and its actions below.
4
- * The two languages flank the swap on the line between them. Below 768 px the halves stack.
2
+ * `<lintje-translator>` — a text and its translation in one surface of two halves, each with its
3
+ * language above and its actions below; below 768 px the halves stack.
5
4
  *
6
- * The source is a plain `lintje-textarea`; the host keeps `value`. The translation, the language
7
- * choices and the actions are the host's, in slots: `source-language`, `target-language`,
8
- * `target` (a plain `lintje-streaming-text`), `source-actions`, `target-note` (the AI label, right
9
- * under the translation) and `target-actions`.
5
+ * The source is a `lintje-textarea` whose `value` the host keeps. The translation, the language
6
+ * choices and the actions are the host's, in slots: `target` takes a plain
7
+ * `lintje-streaming-text`, `target-note` the AI label under it. After a swap a status region says
8
+ * so, with the languages the host's choices then show.
10
9
  *
11
- * `variant="documents"` keeps the language bar and the swap and puts the default slot under them
12
- * at full width, for documents to translate: the upload and the queue.
13
- *
14
- * After the swap a status region says so, with the languages the host's choices then show
15
- * ("Talen omgewisseld: Engels naar Nederlands").
16
- *
17
- * Events: `lintje-text-change` (the source text), `lintje-languages-swap`.
10
+ * Events: `lintje-text-change` `string` (the source text), `lintje-languages-swap`.
18
11
  */
19
12
  import { type PropertyDeclarations, type TemplateResult } from 'lit';
20
13
  import { LintjeElement } from '../../../core/element.js';
21
14
  import '../../inputs/textarea/textarea.js';
22
- import '../../../primitives/icon-button/icon-button.js';
15
+ import '../../actions/icon-button/icon-button.js';
23
16
  export declare class LintjeTranslator extends LintjeElement {
24
17
  #private;
25
18
  static styles: import("lit").CSSResult;
@@ -32,7 +25,10 @@ export declare class LintjeTranslator extends LintjeElement {
32
25
  sourceLabel: string;
33
26
  /** The translation half's accessible name. */
34
27
  targetLabel: string;
35
- /** `text` (default): the source and its translation; `documents`: the languages over the default slot. */
28
+ /**
29
+ * `text` (default): the source and its translation. `documents`: the language bar and the swap
30
+ * over the default slot at full width, for documents to translate: the upload and the queue.
31
+ */
36
32
  variant: 'text' | 'documents';
37
33
  /** What the status region says after a swap. */
38
34
  spoken: string;
@@ -1,22 +1,17 @@
1
1
  /**
2
2
  * `<lintje-video-player>` — the picture of a recording, with the audio player's controls.
3
3
  *
4
- * The controls stand under the picture, never over it, also in full screen: the bar with the time
5
- * on one line; play, mute, "Meer opties" and full screen on the next, at any width. The menu holds
6
- * the captions (also on C), the audio description when `described-src` gives a version with one
7
- * (it switches at the same moment) and the speed; a speed other than 1× stands beside the time. The
8
- * controls are `aria-disabled` (in the tab order, the press swallowed) while the video loads or
9
- * cannot be loaded; a failed load says so on the picture, with "Opnieuw proberen". The `<video>`
10
- * has no controls of its own and never starts by itself. It does not fetch the captions. The big
11
- * play button stands on the picture only before the start, and the caption shows only without
12
- * it, so the two never cover each other.
4
+ * The controls stand under the picture, never over it, also in full screen. The video never starts
5
+ * by itself, and the element does not fetch the captions: the host gives them in `segments`. While
6
+ * the video loads or cannot be loaded, the controls stay in the tab order but do nothing; a failed
7
+ * load says so on the picture, with "Opnieuw proberen".
13
8
  *
14
- * Events: `lintje-time-change` (seconds, at most four times a second), `lintje-play`,
15
- * `lintje-pause`.
9
+ * Events: `lintje-time-change` `number` (seconds, at most four times a second), `lintje-seek`
10
+ * `number` (seconds: the reader moved the position), `lintje-play`, `lintje-pause`.
16
11
  */
17
12
  import { type PropertyDeclarations, type TemplateResult } from 'lit';
18
13
  import '../../actions/menu-button/menu-button.js';
19
- import { LintjePlayerElement } from '../audio-player/player.js';
14
+ import { LintjePlayerElement } from '../shared/player.js';
20
15
  export interface TimedText {
21
16
  start: number;
22
17
  text: string;
@@ -26,9 +21,12 @@ export declare class LintjeVideoPlayer extends LintjePlayerElement {
26
21
  static properties: PropertyDeclarations;
27
22
  /** The captions: the transcript's segments, or any `{ start, text }[]`. */
28
23
  segments: TimedText[];
29
- /** Whether the captions show; the reader switches it. */
24
+ /** Whether the captions show; the reader switches it, in "Meer opties" or with C. */
30
25
  captions: boolean;
31
- /** The same video with an audio description: "Meer opties" offers it when given. */
26
+ /**
27
+ * The same video with an audio description: "Meer opties" offers it when given, and the switch
28
+ * keeps the moment.
29
+ */
32
30
  describedSrc?: string;
33
31
  /** Whether the described version plays; the reader switches it. */
34
32
  described: boolean;
@@ -1,16 +1,15 @@
1
1
  /**
2
2
  * `<lintje-ai-label>` — says that a model made the content below it.
3
3
  *
4
- * A neutral badge (provenance, not a verdict) and the one badge that may wrap, so a long name
5
- * stays on a 390 px screen. Place it above the block, once. `checked-by` turns it into
6
- * "Gecontroleerd door …", and the gear-and-brain mark into a check.
4
+ * A neutral badge: provenance, not a verdict. It is the one badge that may wrap, so a long name
5
+ * stays on a 390 px screen. Place it above the block, once.
7
6
  */
8
7
  import { type PropertyDeclarations, type TemplateResult } from 'lit';
9
8
  import { LintjeElement } from '../../../core/element.js';
10
9
  export declare class LintjeAiLabel extends LintjeElement {
11
10
  static styles: import("lit").CSSResult[];
12
11
  static properties: PropertyDeclarations;
13
- /** Who checked the text: "J. de Vries". */
12
+ /** Who checked the text: "J. de Vries". The label reads "Gecontroleerd door …", with a check. */
14
13
  checkedBy?: string;
15
14
  /** The line behind the badge; unchecked it defaults to the advice to check the text. */
16
15
  hint?: string;
@@ -1,22 +1,19 @@
1
1
  /**
2
2
  * `<lintje-announcement>` — a status message: warning, outage, info or ok.
3
3
  *
4
- * A live region only with `live: true`; drawn empty first and filled on the next frame so screen
5
- * readers announce it. `slot="action"` stands under the text, `slot="media"` beside it: an image
6
- * that belongs to the message, such as a code to scan. Closed with the focus on its close button,
7
- * it hands the focus to the next stop on the page (else the one before) before it goes.
4
+ * It is a live region only with `live: true` in its data. `slot="media"` stands beside the text:
5
+ * an image that belongs to the message, such as a code to scan. Closed with the focus on its close
6
+ * button, it hands the focus to the next stop on the page, else the one before.
8
7
  */
9
8
  import { nothing, type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
10
9
  import { type FrameSettings } from '../../../core/element.js';
11
- import { LintjeGridItemElement } from '../../../primitives/shared/grid-item-element.js';
12
- import '../../../primitives/tile/tile.js';
10
+ import { LintjeGridItemElement } from '../../shared/grid-item-element.js';
11
+ import '../../layout/tile/tile.js';
13
12
  import type { AnnouncementViewData } from '../../../types.js';
14
13
  export declare class LintjeAnnouncement extends LintjeGridItemElement {
15
14
  static styles: import("lit").CSSResult[];
16
15
  static properties: PropertyDeclarations;
17
16
  data?: AnnouncementViewData | null;
18
- /** The tighter form. Below 768 px every announcement is compact. */
19
- compact: boolean;
20
17
  dismissed: string | null;
21
18
  filled: string | null;
22
19
  private fillFrame;
@@ -32,7 +29,6 @@ export declare class LintjeAnnouncement extends LintjeGridItemElement {
32
29
  protected updated(changed: PropertyValues<this>): void;
33
30
  protected render(): TemplateResult | typeof nothing;
34
31
  private block;
35
- private content;
36
32
  }
37
33
  declare global {
38
34
  interface HTMLElementTagNameMap {
@@ -1,15 +1,14 @@
1
1
  /**
2
- * `<lintje-badge>` — a status as a word; two words at most (rule 13). `variant="count"` is the
3
- * quiet counter in a tab or button, `variant="unread"` the round counter of the menu.
2
+ * `<lintje-badge>` — a status as a word, two words at most; the word carries the meaning, also
3
+ * beside an `icon`.
4
4
  *
5
5
  * A root that draws a badge without the element calls `renderBadge()` and adopts `badgeStyles`,
6
6
  * as `renderIcon()` / `iconStyles` do.
7
7
  */
8
8
  import { type CSSResult, type PropertyDeclarations, type TemplateResult } from 'lit';
9
- import { LintjeElement } from '../../core/element.js';
10
- export type BadgeTone = 'neutral' | 'subtle' | 'busy' | 'success' | 'warning' | 'error' | 'info' | 'attention'
11
- /** A recording that runs now: the error fill with a dot before the word. */
12
- | 'live';
9
+ import { LintjeElement } from '../../../core/element.js';
10
+ import type { Tone } from '../../shared/tone.js';
11
+ export type BadgeTone = Tone;
13
12
  export type BadgeVariant = 'label' | 'count' | 'unread';
14
13
  export declare const badgeStyles: CSSResult;
15
14
  export interface BadgeOptions {
@@ -23,14 +22,19 @@ export interface BadgeOptions {
23
22
  muted?: boolean;
24
23
  /** BEM classes of the surrounding block, space-separated. */
25
24
  className?: string;
25
+ /** An icon file name before the word, in the word's colour; a label badge only. */
26
+ icon?: string;
26
27
  }
27
28
  export declare function renderBadge(options: BadgeOptions): TemplateResult;
28
29
  export declare class LintjeBadge extends LintjeElement {
29
30
  static styles: CSSResult[];
30
31
  static properties: PropertyDeclarations;
31
32
  tone: BadgeTone;
33
+ /** `count`: the quiet counter in a tab or button; `unread`: the round counter of the menu. */
32
34
  variant: BadgeVariant;
33
35
  label?: string;
36
+ /** An icon file name before the word. */
37
+ icon?: string;
34
38
  protected render(): TemplateResult;
35
39
  }
36
40
  declare global {
@@ -1,16 +1,15 @@
1
1
  /**
2
2
  * `<lintje-conflict-alert>` — someone else changed the item while the reader was editing it.
3
3
  *
4
- * A compact live warning announcement above the form with three actions. It takes the focus when
5
- * it appears, so the keyboard continues at its buttons. It saves nothing; the host answers the
6
- * events. `lintje-conflict-compare` lets a host fetch the differences only when asked.
4
+ * A live warning above the form, with three actions; it takes the focus when it appears. It saves
5
+ * nothing: the host answers the events, and fetches the differences only when asked.
7
6
  *
8
7
  * Events: `lintje-conflict-keep-mine`, `lintje-conflict-take-theirs`, `lintje-conflict-compare`
9
- * `{ open }`.
8
+ * `{ open }` (the differences open or close).
10
9
  */
11
10
  import { type PropertyDeclarations, type TemplateResult } from 'lit';
12
11
  import { LintjeElement } from '../../../core/element.js';
13
- import '../../../primitives/button/button.js';
12
+ import '../../actions/button/button.js';
14
13
  import '../announcement/announcement.js';
15
14
  import '../../content/highlight/highlight.js';
16
15
  import type { AnnouncementViewData } from '../../../types.js';
@@ -1,15 +1,13 @@
1
1
  /**
2
2
  * `<lintje-empty-state>` — the empty state on its own, outside a tile.
3
3
  *
4
- * Not an error: a failure is the tile's error state or an inline alert. It brings no action or
5
- * words of its own; the host chooses them and slots the action. `compact` is one muted line
6
- * with a link button after it. `status` puts it in a `role="status"` for when it appears after
7
- * an action: drawn empty first and filled on the next frame, since a region that arrives with
8
- * its words is not announced.
4
+ * Not an error: a failure is the tile's error state or an inline alert. It brings no words or
5
+ * action of its own; the host chooses them and slots the action.
9
6
  */
10
7
  import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
11
8
  import { LintjeElement } from '../../../core/element.js';
12
- export type HeadingLevel = 2 | 3 | 4 | 5 | 6;
9
+ import { type HeadingLevel } from '../../shared/empty-state-block.js';
10
+ export type { HeadingLevel } from '../../shared/empty-state-block.js';
13
11
  export declare class LintjeEmptyState extends LintjeElement {
14
12
  #private;
15
13
  static styles: import("lit").CSSResult[];
@@ -20,6 +18,7 @@ export declare class LintjeEmptyState extends LintjeElement {
20
18
  text?: string;
21
19
  /** An icon file name. Not drawn when `compact`. */
22
20
  icon?: string;
21
+ /** One muted line, with a link button after it. */
23
22
  compact: boolean;
24
23
  level: HeadingLevel;
25
24
  /** Announces the state: it appeared after an action. */
@@ -29,9 +28,7 @@ export declare class LintjeEmptyState extends LintjeElement {
29
28
  disconnectedCallback(): void;
30
29
  protected updated(changed: PropertyValues<this>): void;
31
30
  private onSlotChange;
32
- private renderHeading;
33
31
  protected render(): TemplateResult;
34
- private content;
35
32
  }
36
33
  declare global {
37
34
  interface HTMLElementTagNameMap {