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
@@ -1,8 +1,8 @@
1
1
  /** The actions category (Knoppen en iconen): importing it defines its tags. */
2
- import '../primitives/button/button.js';
3
- import '../primitives/icon-button/icon-button.js';
2
+ import '../components/actions/button/button.js';
3
+ import '../components/actions/icon-button/icon-button.js';
4
4
  import '../components/actions/menu-button/menu-button.js';
5
5
  import '../components/actions/copy-button/copy-button.js';
6
6
  import '../components/actions/qr-code/qr-code.js';
7
- import '../icons/icon/icon.js';
7
+ import '../components/actions/icon/icon.js';
8
8
  import '../components/actions/logo/logo.js';
@@ -2,6 +2,7 @@
2
2
  import '../components/content/prose/prose.js';
3
3
  import '../components/content/code/code.js';
4
4
  import '../components/content/highlight/highlight.js';
5
+ import '../components/content/token-value/token-value.js';
5
6
  import '../components/content/translator/translator.js';
6
7
  import '../components/content/audio-player/audio-player.js';
7
8
  import '../components/content/video-player/video-player.js';
@@ -3,11 +3,12 @@ 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 '../primitives/badge/badge.js';
7
- import '../primitives/status-dot/status-dot.js';
8
- import '../primitives/spinner/spinner.js';
9
- import '../primitives/skeleton/skeleton.js';
10
- import '../primitives/progress-bar/progress-bar.js';
6
+ import '../components/feedback/error-page/error-page.js';
7
+ import '../components/feedback/badge/badge.js';
8
+ import '../components/feedback/status-dot/status-dot.js';
9
+ import '../components/feedback/spinner/spinner.js';
10
+ import '../components/feedback/skeleton/skeleton.js';
11
+ import '../components/feedback/progress-bar/progress-bar.js';
11
12
  import '../components/feedback/job-list/job-list.js';
12
13
  import '../components/feedback/streaming-text/streaming-text.js';
13
14
  import '../components/feedback/ai-label/ai-label.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';
@@ -1,14 +1,4 @@
1
- /**
2
- * The bundle: one module a plain HTML page includes; every `lintje-…` tag is registered.
3
- * `define()` leaves a tag another copy already defined alone. `tokens.css` and `fonts.css` stay
4
- * files: themes are document-level and a shadow root ignores `@font-face`. A page takes this
5
- * module or the category/tag entries (`core.ts`, `forms.ts`, `tag/<name>.js`), never both: they
6
- * do not share module state.
7
- */
8
- import '../icons/icon/icon.js';
9
1
  export * from './core.js';
10
- export { LintjeIcon, ICON_NAMES } from '../icons/icon/icon.js';
11
- export * from '../primitives/index.js';
12
2
  export * from '../components/index.js';
13
3
  export * from '../components/shared/charts/index.js';
14
4
  export { CATEGORIES, SECTIONS, tagsOf } from '../categories.js';
@@ -1,6 +1,7 @@
1
1
  /** The inputs category (Invoervelden): importing it defines its tags. */
2
2
  import '../components/inputs/field/field.js';
3
3
  import '../components/inputs/text-input/text-input.js';
4
+ import '../components/inputs/find/find.js';
4
5
  import '../components/inputs/textarea/textarea.js';
5
6
  import '../components/inputs/number-input/number-input.js';
6
7
  import '../components/inputs/select/select.js';
@@ -8,6 +9,7 @@ import '../components/inputs/combobox/combobox.js';
8
9
  import '../components/inputs/multiselect/multiselect.js';
9
10
  import '../components/inputs/tag-input/tag-input.js';
10
11
  import '../components/inputs/checkbox/checkbox.js';
12
+ import '../components/inputs/checkbox-group/checkbox-group.js';
11
13
  import '../components/inputs/radio-group/radio-group.js';
12
14
  import '../components/inputs/toggle/toggle.js';
13
15
  import '../components/inputs/segmented/segmented.js';
@@ -1,7 +1,7 @@
1
1
  /** The layout category (Indeling): importing it defines its tags. */
2
- import '../primitives/grid/grid.js';
3
- import '../primitives/grid-item/grid-item.js';
4
- import '../primitives/tile/tile.js';
2
+ import '../components/layout/grid/grid.js';
3
+ import '../components/layout/grid-item/grid-item.js';
4
+ import '../components/layout/tile/tile.js';
5
5
  import '../components/layout/tabs/tabs.js';
6
6
  import '../components/layout/expander/expander.js';
7
7
  import '../components/layout/split-pane/split-pane.js';
@@ -1,7 +1,7 @@
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
- import '../primitives/popover/popover.js';
6
- import '../primitives/tooltip/tooltip.js';
5
+ import '../components/overlays/popover/popover.js';
6
+ import '../components/overlays/tooltip/tooltip.js';
7
7
  import '../components/overlays/toggletip/toggletip.js';
@@ -9,9 +9,13 @@ export interface Category {
9
9
  intro: string;
10
10
  /** Tags without `lintje-`, or the id of a style guide section that shows no single tag. */
11
11
  elements: readonly string[];
12
+ /** The composite tags among `elements`; every other tag is a building block. */
13
+ composite?: readonly string[];
12
14
  }
13
15
  export declare const CATEGORIES: readonly Category[];
14
16
  /** The style guide's sections that show no single tag. */
15
17
  export declare const SECTIONS: readonly string[];
18
+ /** Every composite tag, with its prefix. */
19
+ export declare const COMPOSITE: readonly string[];
16
20
  /** A category's tags, with their prefix. */
17
21
  export declare const tagsOf: (category: Category) => string[];
@@ -1,17 +1,12 @@
1
1
  /**
2
2
  * `<lintje-button>` — a button or, with `href`, a link with the same look.
3
3
  *
4
- * `disabled` and `busy` render `aria-disabled="true"`, never the native `disabled`: the button
5
- * stays in the tab order. A capturing `click` listener on the host swallows the activation, so
6
- * no host listener and no form sees it. `busy` keeps the variant's colours and the exact width.
7
- * A disabled or busy link renders no `href` and keeps `role="link"` and `tabindex="0"`.
8
- * `type="submit"|"reset"` acts on the nearest `<form>` itself: the inner `<button>` has no form
9
- * owner in a shadow root. ARIA on the host never reaches the inner control, so what a host needs
10
- * there (`expanded`, `pressed`, `haspopup`, `keyshortcuts`, `accessible-name`, `description`, `invalid`) is a
11
- * property; focusing the host focuses the inner control.
4
+ * `disabled` and `busy` keep it in the tab order but swallow the press: no listener on the host
5
+ * and no form sees it. ARIA on the host never reaches the inner control, so what a host needs
6
+ * there is a property; focusing the host focuses the inner control.
12
7
  */
13
8
  import { type PropertyDeclarations, type TemplateResult } from 'lit';
14
- import { LintjeElement } from '../../core/element.js';
9
+ import { LintjeElement } from '../../../core/element.js';
15
10
  export type ButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'link' | 'danger' | 'danger-secondary';
16
11
  export type ButtonSize = 'regular' | 'compact' | 'chrome';
17
12
  export declare class LintjeButton extends LintjeElement {
@@ -26,9 +21,17 @@ export declare class LintjeButton extends LintjeElement {
26
21
  disabled: boolean;
27
22
  /** Why it is disabled, read with the button. Say it on the page as well: a mouse does not hear it. */
28
23
  reason?: string;
24
+ /** At work: `aria-disabled`, with the variant's colours and the exact width kept. */
29
25
  busy: boolean;
26
+ /**
27
+ * `submit` and `reset` act on the nearest `<form>` themselves: the inner `<button>` has no form
28
+ * owner in a shadow root.
29
+ */
30
30
  type: 'button' | 'submit' | 'reset';
31
- /** Makes the button an `<a>` with the same look; `type` is then ignored. */
31
+ /**
32
+ * Makes the button an `<a>` with the same look; `type` is then ignored. Disabled or busy, the
33
+ * link has no `href` but stays focusable, with `role="link"`.
34
+ */
32
35
  href?: string;
33
36
  /** The link's browsing context; `_blank` without a `rel` gets `noopener noreferrer`. */
34
37
  target?: string;
@@ -1,20 +1,19 @@
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';
13
- import '../../../primitives/button/button.js';
14
- import '../../../primitives/icon-button/icon-button.js';
12
+ import '../button/button.js';
13
+ import '../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,13 +1,12 @@
1
1
  /**
2
2
  * `<lintje-icon>` — one icon, named by its file in `dist-icons/` (without `.svg`).
3
3
  *
4
- * For plain HTML pages; inside a component use `renderIcon()` (`../render.ts`), which this
5
- * element also draws through. Resolution: `src`, the register, loaded icons, then nothing.
6
- * Events: none.
4
+ * For plain HTML pages; inside a component use `renderIcon()`, which this element also draws
5
+ * through. It takes `src`, else the register, else a loaded file; without any it draws nothing.
7
6
  */
8
7
  import { nothing, type TemplateResult } from 'lit';
9
- import { LintjeElement } from '../../core/element.js';
10
- import { ICONS, type IconGlyph, type IconName } from '../register.js';
8
+ import { LintjeElement } from '../../../core/element.js';
9
+ import { ICONS, type IconGlyph, type IconName } from '../../../icons/register.js';
11
10
  export type { IconName, IconGlyph };
12
11
  export { ICONS };
13
12
  /** The names the bundle carries; every other name is fetched. */
@@ -1,12 +1,11 @@
1
1
  /**
2
2
  * `<lintje-icon-button>` — a square button with one icon, or its Dutch label as text when the
3
- * icon has no file. `disabled` renders `aria-disabled="true"` and a capturing `click` listener
4
- * swallows the activation, so the button stays focusable but no host listener sees it.
5
- * `live` is for what listens or speaks now (dictating, reading aloud): the primary fill and
6
- * moving bars beside the icon; the host still sets `pressed` and the label that stops it.
3
+ * icon has no file.
4
+ *
5
+ * `disabled` keeps it focusable but swallows the press: no listener on the host sees it.
7
6
  */
8
7
  import { type TemplateResult } from 'lit';
9
- import { LintjeElement } from '../../core/element.js';
8
+ import { LintjeElement } from '../../../core/element.js';
10
9
  export type IconButtonVariant = 'flat' | 'outlined' | 'tile';
11
10
  export declare class LintjeIconButton extends LintjeElement {
12
11
  static styles: import("lit").CSSResult[];
@@ -58,7 +57,10 @@ export declare class LintjeIconButton extends LintjeElement {
58
57
  expanded?: boolean;
59
58
  /** Extra description read after the name; a wrapping `lintje-tooltip` sets its text here. */
60
59
  description?: string;
61
- /** It listens or speaks now: the primary fill, with moving bars beside the icon. */
60
+ /**
61
+ * It listens or speaks now (dictating, reading aloud): the primary fill, with moving bars beside
62
+ * the icon. The host still sets `pressed` and the label that stops it.
63
+ */
62
64
  live: boolean;
63
65
  constructor();
64
66
  private refuseWhileDisabled;
@@ -1,26 +1,17 @@
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';
21
- import '../../../primitives/popover/popover.js';
22
- import '../../../primitives/spinner/spinner.js';
23
- import '../../../primitives/tooltip/tooltip.js';
12
+ import '../../overlays/popover/popover.js';
13
+ import '../../feedback/spinner/spinner.js';
14
+ import '../../overlays/tooltip/tooltip.js';
24
15
  export interface MenuItem {
25
16
  /** What `lintje-action` carries. */
26
17
  value: string;
@@ -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,25 +1,25 @@
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';
15
- import '../../../primitives/button/button.js';
12
+ import '../button/button.js';
16
13
  import '../../feedback/toast/toast.js';
17
14
  /** The code of `text` as an SVG of its dark modules, one path of horizontal runs. */
18
15
  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
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';
@@ -13,7 +13,7 @@ import { LintjeContentTileElement } from '../../shared/content-tile.js';
13
13
  import '../../feedback/announcement/announcement.js';
14
14
  import '../../tables/data-table/data-table.js';
15
15
  import '../../inputs/segmented/segmented.js';
16
- import '../../../primitives/tile/tile.js';
16
+ import '../../layout/tile/tile.js';
17
17
  import type { ChartData } from '../../../types.js';
18
18
  type ChartView = 'chart' | 'table';
19
19
  export declare class LintjeChart extends LintjeContentTileElement {
@@ -32,6 +32,7 @@ export declare class LintjeChart 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;
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { nothing, type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
8
8
  import { type FrameSettings } from '../../../core/element.js';
9
- import { LintjeGridItemElement } from '../../../primitives/shared/grid-item-element.js';
9
+ import { LintjeGridItemElement } from '../../shared/grid-item-element.js';
10
10
  import type { ExplainerData } from '../../../types.js';
11
11
  export declare class LintjeExplainer extends LintjeGridItemElement {
12
12
  #private;
@@ -1,15 +1,14 @@
1
1
  /**
2
- * `<lintje-kpi>` — the KPI tile: one figure, or several of the same variable (`items`). Rich
3
- * values go in as properties. The value counts up from zero and the sparkline draws in once
4
- * 35 % of the tile is in view, and not under `prefers-reduced-motion`. A single figure can stand
5
- * on its scale (`gauge`): a half circle around the value or a bar under it, with the target
6
- * dashed; the trend or note says in words how the figure stands to the target. Events: none.
2
+ * `<lintje-kpi>` — the KPI tile: one figure, or several of the same variable (`items`).
3
+ *
4
+ * The value counts up from zero and the sparkline draws in once 35 % of the tile is in view; under
5
+ * `prefers-reduced-motion` both stand at once.
7
6
  */
8
7
  import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
9
- import { LintjeGridItemElement } from '../../../primitives/shared/grid-item-element.js';
10
- import '../../../primitives/status-dot/status-dot.js';
11
- import '../../../primitives/skeleton/skeleton.js';
12
- import type { KpiGauge, KpiItem, KpiSparkline, KpiState, KpiTrend, KpiVariable } from '../../../types.js';
8
+ import { LintjeGridItemElement } from '../../shared/grid-item-element.js';
9
+ import '../../feedback/status-dot/status-dot.js';
10
+ import '../../feedback/skeleton/skeleton.js';
11
+ import type { KpiGauge, KpiItem, KpiSparkline, ContentStateKind, KpiTrend, KpiVariable } from '../../../types.js';
13
12
  type Point = [number, number];
14
13
  /** The points of each unbroken run of values: a `null` ends a run (rule 15). */
15
14
  export declare function sparklineRuns(values: (number | null)[], width: number, height: number): Point[][];
@@ -34,14 +33,21 @@ export declare class LintjeKpi extends LintjeGridItemElement {
34
33
  trend?: KpiTrend;
35
34
  /** The figure's recent values as a line with its area, under the figure. */
36
35
  sparkline?: KpiSparkline;
37
- /** The single figure on its scale, as a half circle (`arc`) or a bar (`linear`); not with `items`. */
36
+ /**
37
+ * The single figure on its scale, as a half circle (`arc`) or a bar (`linear`), the target
38
+ * dashed; not with `items`. The trend or note says in words how the figure stands to the target.
39
+ */
38
40
  gauge?: KpiGauge;
39
41
  /** A line without an arrow, for when there is no direction. */
40
42
  note?: string;
41
43
  detail?: string;
42
44
  /** A data colour's name (`DataColor`); `coverage` is the gray one. */
43
45
  variable: KpiVariable;
44
- state: KpiState;
46
+ state: ContentStateKind;
47
+ /** Explains an empty or failed result instead of the default message. */
48
+ message?: string;
49
+ /** The last known value and its date, shown below a failed result. */
50
+ lastKnown?: string;
45
51
  index: number;
46
52
  counting: (string | null)[];
47
53
  /** The sparkline draws in once the tile is in view, like the count. */
@@ -55,6 +61,8 @@ export declare class LintjeKpi extends LintjeGridItemElement {
55
61
  private get reduced();
56
62
  connectedCallback(): void;
57
63
  disconnectedCallback(): void;
64
+ /** Paper shows the value, never a figure halfway or the zero it counts up from. */
65
+ private finishCount;
58
66
  /** Measures the sparkline's box; the svg takes that size instead of stretching into it. */
59
67
  private observeSparkline;
60
68
  protected willUpdate(changed: PropertyValues<this>): void;
@@ -1,13 +1,7 @@
1
- /**
2
- * `<lintje-kpi-row>` — the KPI row: one grid, the KPIs staggered in from left to right.
3
- *
4
- * The grid and the KPIs share one shadow root, so `kpi-row.css` reaches the `<lintje-kpi>` hosts.
5
- * `dividers` is set as a property: a boolean attribute can't turn off a `true` default.
6
- * Events: none.
7
- */
1
+ /** `<lintje-kpi-row>` — the KPI row: one grid, the KPIs staggered in from left to right. */
8
2
  import { type PropertyDeclarations, type TemplateResult } from 'lit';
9
3
  import { type FrameSettings } from '../../../core/element.js';
10
- import { LintjeGridItemElement } from '../../../primitives/shared/grid-item-element.js';
4
+ import { LintjeGridItemElement } from '../../shared/grid-item-element.js';
11
5
  import '../kpi/kpi.js';
12
6
  import type { KpiRowData } from '../../../types.js';
13
7
  export declare class LintjeKpiRow extends LintjeGridItemElement {
@@ -1,7 +1,7 @@
1
- /** `<lintje-note>` — the analyst's note ("Toelichting analist"). Events: none. */
1
+ /** `<lintje-note>` — the analyst's note ("Toelichting analist"). */
2
2
  import { nothing, type PropertyDeclarations, type TemplateResult } from 'lit';
3
3
  import { type FrameSettings } from '../../../core/element.js';
4
- import { LintjeGridItemElement } from '../../../primitives/shared/grid-item-element.js';
4
+ import { LintjeGridItemElement } from '../../shared/grid-item-element.js';
5
5
  import type { NoteData } from '../../../types.js';
6
6
  export declare class LintjeNote extends LintjeGridItemElement {
7
7
  static styles: import("lit").CSSResult[];
@@ -1,20 +1,18 @@
1
1
  /**
2
- * `<lintje-chat>` — a conversation with data; takes `ChatData`. The host owns the transport.
2
+ * `<lintje-chat>` — a conversation with data, from `ChatData`; the host owns the transport.
3
3
  *
4
- * An answer arrives by setting `data` again; keep the objects of what did not change so only
5
- * the changed part is redrawn. It stands in the flow and scrolls with what scrolls around it —
6
- * the page, or the nearest box that scrolls — and its question box stays in view at the bottom.
4
+ * An answer arrives by setting `data` again: keep the objects that did not change, so only the
5
+ * changed part is redrawn. It scrolls with what scrolls around it, and its question box stays in
6
+ * view at the bottom.
7
7
  *
8
- * Events: none of its own; its parts' events reach the host as they are (`lintje-message-send`,
9
- * `lintje-answer-stop`, `lintje-sources-change`, `lintje-draft-change`) and, with the `turnId`,
10
- * `lintje-suggestion-select`, `lintje-message-edit`, `lintje-answer-retry`,
11
- * `lintje-answer-rate`, `lintje-strip-change`, `lintje-mark-select`, `lintje-row-click` and
12
- * `lintje-sort-change`. The host replies: send adds a turn and answers it; message-edit asks
13
- * again and drops that turn and all after it; strip-change answers again with the new assumption.
8
+ * It sends no events of its own: those of its question box, messages and answers reach the host,
9
+ * with the `turnId` where a turn sent them. The host answers `lintje-message-send` with a new turn,
10
+ * `lintje-message-edit` by asking again without that turn and all after it, and
11
+ * `lintje-strip-change` by answering again with the new assumption.
14
12
  */
15
13
  import { nothing, type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
16
14
  import { LintjeElement, type FrameSettings } from '../../../core/element.js';
17
- import '../../../primitives/button/button.js';
15
+ import '../../actions/button/button.js';
18
16
  import '../chat-answer/chat-answer.js';
19
17
  import '../chat-composer/chat-composer.js';
20
18
  import '../chat-message/chat-message.js';
@@ -1,21 +1,19 @@
1
1
  /**
2
2
  * `<lintje-chat-answer>` — what the assistant answered, as a list of existing blocks.
3
3
  *
4
- * It draws none of the blocks itself; only the bold lead, strip, actions and follow-ups are its
5
- * own. A block still to come is that block with `state: 'loading'`. Only the `current` answer
6
- * can be retried, changed through its strip or followed up. The thumbs and "Gekopieerd" are
7
- * the element's own state; the conversation is not stored.
4
+ * It draws none of the blocks itself: a block still to come is that block with `state: 'loading'`.
5
+ * The thumbs and "Gekopieerd" are its own state; it stores nothing of the conversation. The events
6
+ * of its strip, suggestions and blocks pass through unchanged.
8
7
  *
9
- * Events: `lintje-answer-retry` `{turnId}` and `lintje-answer-rate` `{turnId, rating, reason}`
10
- * (`rating` is `'up'`, `'down'` or `null` when taken back; a `'down'` is followed by a second
11
- * event once the reader picks a reason). The strip's, the suggestions' and the blocks' events
12
- * pass through untouched.
8
+ * Events: `lintje-answer-retry` `{ turnId }`, `lintje-answer-rate` `{ turnId, rating, reason }`
9
+ * (`rating` is `'up'`, `'down'` or `null` when taken back; a `'down'` comes again with the
10
+ * `reason` once the reader picks one).
13
11
  */
14
12
  import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
15
13
  import { LintjeElement } from '../../../core/element.js';
16
- import '../../../primitives/button/button.js';
17
- import '../../../primitives/icon-button/icon-button.js';
18
- import '../../../primitives/spinner/spinner.js';
14
+ import '../../actions/button/button.js';
15
+ import '../../actions/icon-button/icon-button.js';
16
+ import '../../feedback/spinner/spinner.js';
19
17
  import '../../feedback/announcement/announcement.js';
20
18
  import '../../charts/chart/chart.js';
21
19
  import '../chat-strip/chat-strip.js';
@@ -46,6 +44,7 @@ export declare class LintjeChatAnswer extends LintjeElement {
46
44
  choices?: ChatSuggestion[];
47
45
  /** Suggested next questions; drawn on the current answer only. */
48
46
  followUps?: ChatSuggestion[];
47
+ /** The latest answer: only it can be retried, changed through its strip or followed up. */
49
48
  current: boolean;
50
49
  /** The turn this answers; it comes back in the events. */
51
50
  turnId?: string;
@@ -1,22 +1,19 @@
1
1
  /**
2
2
  * `<lintje-chat-composer>` — the question box: text field, source picker and split send button.
3
3
  *
4
- * The field is a plain-text `contenteditable`; the element never writes markup into it. Terms
5
- * are painted with the CSS Custom Highlight API so typing, input methods and undo stay the
6
- * browser's; without the API the field is unmarked. Terms come from `vocabulary` (matched while
7
- * typing) or from the host's `draftTerms`, which win while the text is unchanged.
8
- * The source selection is the host's; the draft, send key (in `localStorage`) and answer form
9
- * are the element's own.
4
+ * The field is plain text; the element never writes markup into it. Terms are marked through the
5
+ * CSS Custom Highlight API, so typing and undo stay the browser's; without it the field is
6
+ * unmarked. The source selection is the host's; the draft, the send key (kept in `localStorage`)
7
+ * and the answer form are the element's own.
10
8
  *
11
- * Events: `lintje-message-send` `{text, terms, sources, form}`, `lintje-answer-stop`,
12
- * `lintje-sources-change` `{ids}`, `lintje-draft-change` `{text}` (200 ms after the last key).
13
- * In `variant="edit"` it sends `lintje-submit` `{text, terms}` and `lintje-cancel` instead, both
14
- * not composed.
9
+ * Events: `lintje-message-send` `{ text, terms, sources, form }`, `lintje-answer-stop`,
10
+ * `lintje-sources-change` `{ ids }`, `lintje-draft-change` `{ text }` (200 ms after the last key);
11
+ * with `variant="edit"` instead `lintje-submit` `{ text, terms }` and `lintje-cancel`.
15
12
  */
16
13
  import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
17
14
  import { LintjeElement } from '../../../core/element.js';
18
- import '../../../primitives/button/button.js';
19
- import '../../../primitives/icon-button/icon-button.js';
15
+ import '../../actions/button/button.js';
16
+ import '../../actions/icon-button/icon-button.js';
20
17
  import '../../inputs/multiselect/multiselect.js';
21
18
  import '../../inputs/radio-group/radio-group.js';
22
19
  import type { ChatAnswerForm, ChatDraftTerms, ChatSourceData, ChatTermData } from '../../../types.js';
@@ -48,6 +45,7 @@ export declare class LintjeChatComposer extends LintjeElement {
48
45
  form: ChatAnswerForm;
49
46
  /** Sources given and none `selected`: sending is off. The host sets them again on a change. */
50
47
  sources?: ChatSourceData[];
48
+ /** The terms marked in the field while the reader types. */
51
49
  vocabulary?: ChatTermData[];
52
50
  /** The host's own reading of the text; it wins while the text is unchanged. */
53
51
  draftTerms?: ChatDraftTerms;
@@ -1,17 +1,16 @@
1
1
  /**
2
- * `<lintje-chat-message>` — what the reader asked: a filled bar on the right. A visually hidden
3
- * "Jij:" carries the role.
2
+ * `<lintje-chat-message>` — what the reader asked: a filled bar on the right.
4
3
  *
5
- * Editing is the message's own state (`lintje-chat-composer variant="edit"`). The message never
6
- * changes its own text: asking again is an event and the host replaces the turn.
4
+ * Editing is the message's own state, in a `lintje-chat-composer`. It never changes its own text:
5
+ * asking again is an event, and the host replaces the turn.
7
6
  *
8
- * Events: `lintje-message-edit` `{turnId, text, terms}` — ask this instead, replacing the answer
9
- * and everything after it. `lintje-editing-change` `{turnId, editing}` is not composed: it tells
10
- * the holding view which answers are about to be replaced.
7
+ * Events: `lintje-message-edit` `{ turnId, text, terms }` (ask this instead, replacing the answer
8
+ * and all after it), `lintje-editing-change` `{ turnId, editing }` (tells the holding view which
9
+ * answers are about to be replaced).
11
10
  */
12
11
  import { type PropertyDeclarations, type TemplateResult } from 'lit';
13
12
  import { LintjeElement } from '../../../core/element.js';
14
- import '../../../primitives/icon-button/icon-button.js';
13
+ import '../../actions/icon-button/icon-button.js';
15
14
  import '../chat-composer/chat-composer.js';
16
15
  import type { ChatSourceData, ChatTermData, ChatTermRange } from '../../../types.js';
17
16
  export declare class LintjeChatMessage extends LintjeElement {