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,6 +1,7 @@
1
1
  /**
2
- * What `lintje-form`, `lintje-form-section` and `lintje-form-actions` share: finding the controls
3
- * in their light DOM, and setting a property on them that can be handed back.
2
+ * What the holders of controls (`lintje-form`, `lintje-form-section`, `lintje-form-actions`,
3
+ * `lintje-dialog`) and the controls themselves share: finding the controls in a light DOM,
4
+ * reading and writing their values, and setting a property on them that can be handed back.
4
5
  *
5
6
  * A `<fieldset disabled>` in a shadow root disables nothing slotted into it, so each holder
6
7
  * disables controls itself and hands back the state it found, or a control the host had
@@ -0,0 +1,9 @@
1
+ export declare class DialogHold {
2
+ #private;
3
+ constructor(onEscape: () => void);
4
+ get held(): boolean;
5
+ isTopmost(): boolean;
6
+ /** The focus stays where it is: the window moves it once its content has drawn. */
7
+ hold(container: HTMLElement): void;
8
+ release(): void;
9
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * The empty state as a render function, so a tile draws "nothing here" with the same block as
3
+ * `<lintje-empty-state>`. With `status` it is a region drawn empty until `filled`: a region that
4
+ * arrives with its words is not announced.
5
+ */
6
+ import { nothing, type CSSResult, type TemplateResult } from 'lit';
7
+ export type HeadingLevel = 2 | 3 | 4 | 5 | 6;
8
+ export declare const emptyStateBlockStyles: CSSResult;
9
+ export interface EmptyStateBlockOptions {
10
+ /** Not drawn when `compact`. */
11
+ heading?: string;
12
+ /** The one sentence below the heading, or the whole line when `compact`. */
13
+ text?: string;
14
+ /** An icon file name. Not drawn when `compact`. */
15
+ icon?: string;
16
+ level?: HeadingLevel;
17
+ /** One muted line with what follows it, for inside content. */
18
+ compact?: boolean;
19
+ /** A `role="status"` region, drawn empty until `filled`. */
20
+ status?: boolean;
21
+ filled?: boolean;
22
+ /** What the reader can do next: the element's default slot. Hidden while `actionShown` is off. */
23
+ action?: TemplateResult | typeof nothing;
24
+ actionShown?: boolean;
25
+ }
26
+ export declare function renderEmptyStateBlock(options: EmptyStateBlockOptions): TemplateResult;
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Actions that do not fit on one line give way to one menu, "Meer", in front of the ones that
3
+ * stay: the page header's actions today. `overflowCount` is the arithmetic; `OverflowController`
4
+ * measures and applies it for an element whose actions are slotted `lintje-button`s.
5
+ *
6
+ * Both widths compared are independent of the outcome, so the choice cannot flip back and forth:
7
+ * an action in the menu stays laid out, invisible (`data-lintje-overflow`, hidden by the owner's
8
+ * `::slotted` rule), and the menu's trigger stays laid out the same way while it is spare, so
9
+ * every natural width can be read in either state. The owner's order is the priority: the first
10
+ * action goes first, the last never goes, and a menu of one row does not exist.
11
+ */
12
+ import type { ReactiveController, ReactiveControllerHost } from 'lit';
13
+ import type { LintjeButton } from '../actions/button/button.js';
14
+ import type { MenuEntry } from '../actions/menu-button/menu-button.js';
15
+ export interface OverflowItem {
16
+ width: number;
17
+ /** Never goes into the menu: the last action, and anything that is not a button. */
18
+ fixed: boolean;
19
+ }
20
+ /**
21
+ * How many of the collapsible items, from the first, go into the menu so that the rest and the
22
+ * menu's trigger fit in `room` on one line. One alone never goes: then two go, or, with no second
23
+ * one to go with it, none.
24
+ */
25
+ export declare function overflowCount(items: OverflowItem[], menuWidth: number, gap: number, room: number): number;
26
+ export interface OverflowHost extends ReactiveControllerHost, HTMLElement {
27
+ readonly renderRoot: HTMLElement | DocumentFragment;
28
+ }
29
+ export interface OverflowOptions {
30
+ /** The box the actions must fit in on one line, in the host's render root. */
31
+ row: string;
32
+ /** The `lintje-menu-button` that is "Meer", in the host's render root. */
33
+ menu: string;
34
+ /** The name of the slot the actions are in. */
35
+ slot: string;
36
+ }
37
+ export declare class OverflowController implements ReactiveController {
38
+ #private;
39
+ private readonly host;
40
+ private readonly options;
41
+ /** The buttons that went into the menu, in order. */
42
+ collapsed: LintjeButton[];
43
+ constructor(host: OverflowHost, options: OverflowOptions);
44
+ hostDisconnected(): void;
45
+ hostUpdated(): void;
46
+ /** The actions in the slot, in order. */
47
+ get actions(): HTMLElement[];
48
+ /** The menu's rows: one per collapsed button, a danger button after a separator. */
49
+ items(): MenuEntry[];
50
+ /** A chosen row clicks its button, so the owner's own listener sees the click. */
51
+ activate(value: string): void;
52
+ /**
53
+ * Reads the room and every natural width, and asks for a render when the count changes. The
54
+ * attributes are written after that render (`hostUpdated`), never inside the observer: a
55
+ * synchronous change there would resize the row during the observer's own delivery.
56
+ */
57
+ measure(): void;
58
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The one set of tones, and the one set of work states, every element translates its own words
3
+ * into. A tone is a colour with its glyph; a state is what a task is doing. A host never maps:
4
+ * an element that speaks its own vocabulary (the table's delivery status, a message's kind)
5
+ * translates it here.
6
+ */
7
+ /** A status colour with its glyph. `subtle` and `live` are the quiet and the recording form. */
8
+ export type Tone = 'neutral' | 'subtle' | 'busy' | 'success' | 'warning' | 'error' | 'info' | 'attention' | 'live';
9
+ /** The glyph that says what the tone means; the colour is never the only carrier (rule 13). */
10
+ export declare const TONE_ICON: Partial<Record<Tone, string>>;
11
+ /** The word a tone stands for when an element has nothing more specific to say. */
12
+ export declare const TONE_WORD: Record<Tone, string>;
13
+ /** What a task is doing: the queue, a progress bar and a status word share it. */
14
+ export type WorkState = 'queued' | 'busy' | 'paused' | 'done' | 'error' | 'cancelled';
15
+ export declare const WORK_STATE_TONE: Record<WorkState, Tone>;
16
+ export declare const WORK_STATE_LABEL: Record<WorkState, string>;
17
+ /** How content stands: drawn, still coming, nothing to draw, or failed. */
18
+ export type ContentStateKind = 'ready' | 'loading' | 'empty' | 'error';
@@ -1,13 +1,12 @@
1
1
  /**
2
2
  * `<lintje-activity-log>` — a timeline of what happened to one item, newest first.
3
3
  *
4
- * Shows `limit` entries and "Toon eerdere" for ten more; when that press removes the button,
5
- * focus moves to the first new entry. The host sends the entries in order with `when` already
6
- * written in Dutch.
4
+ * The host sends the entries in order, with `when` already written in Dutch. "Toon eerdere" shows
5
+ * ten more.
7
6
  */
8
7
  import { type PropertyDeclarations, type TemplateResult } from 'lit';
9
8
  import { LintjeElement } from '../../../core/element.js';
10
- import '../../../primitives/button/button.js';
9
+ import '../../actions/button/button.js';
11
10
  export interface ActivityEntry {
12
11
  /** A name, or "Systeem". */
13
12
  who: string;
@@ -1,32 +1,23 @@
1
1
  /**
2
- * `<lintje-card>` — one item of a collection: a product, a dataset, a recording, an app. A muted
3
- * line above the title (its kind, its owner), the title, a line of text, optionally a few facts
4
- * as a small table, a status as a glyph and its word, and at most two actions. A screenshot stands above it, a logo beside the title.
5
- * Square and flat; in a grid it is drawn by `lintje-card-list`.
2
+ * `<lintje-card>` — one item of a collection: a product, a dataset, a recording, an app.
6
3
  *
7
- * `layout="horizontal"` puts the picture or logo in a column on the left, for a long list; below
8
- * 768 px it stands as the vertical card.
9
- *
10
- * A card is either a link or carries actions, never both. Without actions and with `href` the
11
- * whole card is clickable and the title is its one tab stop; with actions only the title and the
12
- * actions are. The card knows no domain: "toegang" or "eigenaar" are the host's words.
13
- *
14
- * `iconActions` stand beside the title as icon buttons, also on a card that is a link: an action
15
- * on the item itself, such as marking it. One with `pressed` is a switch; the card keeps nothing
16
- * and the host sets the new `pressed` after the event.
17
- *
18
- * `layout="horizontal"` wants a column of at least `--w-card-wide`; `lintje-card-list` keeps to it.
4
+ * Square and flat; in a grid it is drawn by `lintje-card-list`. A card is either a link or carries
5
+ * actions, never both: with an `href` and no actions the whole card is clickable. Icon actions
6
+ * stand beside the title, also on a card that is a link; one with `pressed` is a switch, and the
7
+ * host sets the new `pressed` after the event. The card knows no domain: "toegang" or "eigenaar"
8
+ * are the host's words.
19
9
  *
20
10
  * Events: `lintje-navigate` `{ href }` (a plain click on the title, the card or an action with an
21
- * `href` in this tab), `lintje-card-action` `{ id, value }` (an action without `href`) and
22
- * `{ id, value, pressed }` (an icon action, with a switch's value asked for).
11
+ * `href`), `lintje-card-action` `{ id, value, pressed? }` (an action without `href`; `pressed`
12
+ * from an icon action that is a switch).
23
13
  */
24
14
  import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
25
15
  import { LintjeElement } from '../../../core/element.js';
26
- import '../../../primitives/button/button.js';
27
- import '../../../primitives/icon-button/icon-button.js';
28
- import '../../../primitives/skeleton/skeleton.js';
29
- export type CardStatusTone = 'neutral' | 'success' | 'info' | 'attention' | 'error';
16
+ import { type Tone } from '../../shared/tone.js';
17
+ import '../../actions/button/button.js';
18
+ import '../../actions/icon-button/icon-button.js';
19
+ import '../../feedback/skeleton/skeleton.js';
20
+ export type CardStatusTone = Tone;
30
21
  export interface CardStatus {
31
22
  /** The word that carries the status: "Je hebt toegang". */
32
23
  label: string;
@@ -94,7 +85,10 @@ export declare class LintjeCard extends LintjeElement {
94
85
  static styles: import("lit").CSSResult[];
95
86
  static properties: PropertyDeclarations;
96
87
  data?: CardData;
97
- /** `horizontal`: the picture in a column on the left, for a long list. */
88
+ /**
89
+ * `horizontal`: the picture or logo in a column on the left, for a long list; below 768 px the
90
+ * vertical card. It wants a column of at least `--w-card-wide`, as `lintje-card-list` keeps.
91
+ */
98
92
  layout: CardLayout;
99
93
  /** The level of the title, 2 to 4: a card stands under the page's or a section's heading. */
100
94
  headingLevel: 2 | 3 | 4;
@@ -1,15 +1,10 @@
1
1
  /**
2
- * `<lintje-card-list>` — a collection as cards: a real list, in as many columns as fit up to
3
- * `max-columns`, every card in a row as tall as the tallest. Below 768 px one column.
4
- * `layout="horizontal"` draws every card across, two side by side at most where they fit.
2
+ * `<lintje-card-list>` — a collection as cards: a real list, in as many columns as fit, every
3
+ * card in a row as tall as the tallest; below 768 px one column.
5
4
  *
6
- * Slots: `empty` for the way out under the empty text (a link, a button).
7
- *
8
- * It draws `lintje-card` for each item and adds nothing of its own; the cards' events pass
9
- * through. While `loading` it holds skeleton cards, so the page does not jump; a status region
10
- * that is always there says it loads, and then how many it loaded.
11
- *
12
- * Events: those of its cards.
5
+ * It draws a `lintje-card` for each item and adds nothing of its own: the cards' events reach the
6
+ * host as they are. While `loading` it holds skeleton cards, so the page does not jump. The
7
+ * `empty` slot takes the way out under the empty text, such as a link.
13
8
  */
14
9
  import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
15
10
  import { LintjeElement } from '../../../core/element.js';
@@ -22,7 +17,10 @@ export declare class LintjeCardList extends LintjeElement {
22
17
  items: CardData[];
23
18
  /** Names the list for a screen reader when no heading right above it does. */
24
19
  label?: string;
25
- /** `horizontal`: every card with its picture in a column on the left, for a long list. */
20
+ /**
21
+ * `horizontal`: every card with its picture in a column on the left, for a long list; two side
22
+ * by side at most, where they fit.
23
+ */
26
24
  layout: CardLayout;
27
25
  /** The level of every card's title, 2 to 4. */
28
26
  headingLevel: 2 | 3 | 4;
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { type TemplateResult } from 'lit';
9
9
  import '../../actions/menu-button/menu-button.js';
10
- import '../../../primitives/button/button.js';
10
+ import '../../actions/button/button.js';
11
11
  import type { TableAction } from '../../../types.js';
12
12
  /** The rows a Shift+click checks: `anchor` to `target` inclusive; only `target` without an anchor. */
13
13
  export declare function rangeIds(order: readonly string[], anchor: string | null, target: string): string[];
@@ -1,29 +1,27 @@
1
1
  /**
2
- * `<lintje-data-table>` — the data table, inside a tile. Below 768 px it switches to a
3
- * two-column representation. Missing values are a muted dash, never 0 (rule 15).
2
+ * `<lintje-data-table>` — the data table, inside a tile; below 768 px a two-column list.
4
3
  *
5
- * The table never filters, saves or confirms: it asks and the host answers in `data`. Its
6
- * extensions live in `editing.ts`, `actions.ts` and `filters.ts`. `bare` draws the table alone,
7
- * for a component that already stands in a tile; `plain` draws it on an application page,
8
- * without a tile but with its states.
4
+ * A missing value is a muted dash, never 0. The table never filters, saves or confirms: it shows a
5
+ * change at once, and the host confirms it in the next `data`. Open rows and collapsed groups are
6
+ * the table's own: it sends nothing for them.
9
7
  *
10
- * Events: `lintje-sort-change` `{key, direction} | null`, `lintje-row-click` `{id, label, href?}`,
11
- * `lintje-row-open` `{id, label, href?}`,
12
- * `lintje-checked-change` (the keys). Each shows the change at once and expects the host to
13
- * confirm it in the next `data`. With the extensions: `lintje-cell-edit` `{id, column, value}`,
14
- * `lintje-row-action` `{id, action}`, `lintje-bulk-action` `{ids, action}`,
15
- * `lintje-filter-change` `{column, value}`, `lintje-columns-change` `{order, hidden}`.
8
+ * Events: `lintje-sort-change` `{ key, direction } | null`, `lintje-row-click`
9
+ * `{ id, label, href? }`, `lintje-row-open` `{ id, label, href? }`, `lintje-checked-change`
10
+ * `string[]`, `lintje-cell-edit` `{ id, column, value }`, `lintje-row-action` `{ id, action }`,
11
+ * `lintje-bulk-action` `{ ids, action }`, `lintje-filter-change` `{ column, value }`,
12
+ * `lintje-columns-change` `{ order, hidden }`.
16
13
  */
17
14
  import { nothing, type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
18
15
  import { type FrameSettings } from '../../../core/element.js';
19
16
  import { LintjeContentTileElement } from '../../shared/content-tile.js';
20
17
  import '../../feedback/announcement/announcement.js';
18
+ import '../../feedback/empty-state/empty-state.js';
21
19
  import '../description-list/description-list.js';
22
20
  import '../../actions/menu-button/menu-button.js';
23
21
  import '../pagination/pagination.js';
24
- import '../../../primitives/status-dot/status-dot.js';
25
- import '../../../primitives/skeleton/skeleton.js';
26
- import '../../../primitives/tile/tile.js';
22
+ import '../../feedback/status-dot/status-dot.js';
23
+ import '../../feedback/skeleton/skeleton.js';
24
+ import '../../layout/tile/tile.js';
27
25
  import type { DataTableData, SortState } from '../../../types.js';
28
26
  import { type FilterValue } from './filters.js';
29
27
  type Panel = {
@@ -56,8 +54,12 @@ export declare class LintjeDataTable extends LintjeContentTileElement {
56
54
  static styles: import("lit").CSSResult[];
57
55
  static properties: PropertyDeclarations;
58
56
  data?: DataTableData | null;
57
+ /** The table alone, for a component that already stands in a tile. */
59
58
  bare: boolean;
60
- /** On an application page: no tile, so no title or tile buttons; the page's heading names it. */
59
+ /**
60
+ * On an application page: no tile, so no title or tile buttons, but with its states; the page's
61
+ * heading names it.
62
+ */
61
63
  plain: boolean;
62
64
  /** The sort and checked rows are shown before the host confirms them. */
63
65
  sort: SortState | null;
@@ -71,8 +73,10 @@ export declare class LintjeDataTable extends LintjeContentTileElement {
71
73
  columnOrder: string[] | null;
72
74
  hiddenKeys: string[];
73
75
  panel: Panel | null;
74
- /** The phone rows whose other columns are open. */
75
- mobileOpen: string[];
76
+ /** The rows whose detail is open: on the phone the same list, so turning the screen keeps them. */
77
+ openRows: string[];
78
+ /** The groups of `groupBy` that stand collapsed, by their value. */
79
+ collapsedGroups: string[];
76
80
  /** What the table's status region says: a sort, a page, a selection, a filter's result. */
77
81
  liveMessage: string;
78
82
  protected createRenderRoot(): HTMLElement | DocumentFragment;
@@ -83,6 +87,22 @@ export declare class LintjeDataTable extends LintjeContentTileElement {
83
87
  protected updated(changed: PropertyValues<this>): void;
84
88
  private get columns();
85
89
  private get rows();
90
+ /** The column `groupBy` names; it heads its groups and is not a column of its own. */
91
+ private get groupColumn();
92
+ private get grouped();
93
+ private get groupsPerPage();
94
+ /**
95
+ * `rows` in groups: the groups in the order they first occur in the host's rows, each group's
96
+ * rows in the order of `rows` as given (already sorted).
97
+ */
98
+ private groupsOf;
99
+ private toggleGroup;
100
+ /**
101
+ * What a row's detail lists: the columns the chooser hides, then `detailFields`. Empty: rows
102
+ * have no detail on desktop.
103
+ */
104
+ private get detailColumns();
105
+ private toggleRow;
86
106
  private rowKey;
87
107
  /** The row's key, the name in its first column and the `href` the host minted on the row. */
88
108
  private rowDetail;
@@ -114,11 +134,24 @@ export declare class LintjeDataTable extends LintjeContentTileElement {
114
134
  private clearFilter;
115
135
  private chooserItems;
116
136
  private changeColumns;
137
+ /** Every column shown, in the order the host declared them. */
138
+ private get columnsAreDefault();
139
+ private resetColumns;
140
+ /** "Filters wissen": one `lintje-filter-change` per active column, as a chip would send. */
141
+ private clearAllFilters;
117
142
  protected render(): TemplateResult | typeof nothing;
118
143
  private csv;
144
+ /**
145
+ * The table, or its state. In a tile the skeleton goes in the tile's `loading` slot and empty
146
+ * and error are the tile's; `plain`, without a tile, composes the elements itself.
147
+ */
119
148
  private content;
120
149
  private table;
150
+ /** "6 van 131 rijen" while a filter narrows the rows and the host gave the total. */
151
+ private get filteredCount();
121
152
  private toolbar;
153
+ /** "Alles inklappen" while any group is open, else "Alles uitklappen". */
154
+ private groupToggle;
122
155
  /**
123
156
  * Below 768 px only one measure has a header: "Sorteren" reaches every sortable column. Hidden
124
157
  * from 768 px, where every column's header sorts.
@@ -128,9 +161,45 @@ export declare class LintjeDataTable extends LintjeContentTileElement {
128
161
  private selectionBar;
129
162
  private panels;
130
163
  private fullTable;
164
+ /**
165
+ * A row of no height with each column's widest value over every row, not only this page's: a
166
+ * sort or another page shows other rows, and the columns keep their width.
167
+ */
168
+ private sizerRow;
169
+ /** Per column the value whose words are longest, over every row; kept while the data stands. */
170
+ private widestRow;
171
+ /** A column's head: the sort button and, for a filterable column, its funnel. */
172
+ private headerCell;
173
+ /** The desktop's last column: the rows' menus, and in its head the column chooser. */
174
+ private get actionColumn();
175
+ private alignsRight;
176
+ /** One body row and, while it is open, its detail under it. */
177
+ private fullRow;
178
+ /** The button that opens a row's detail; the phone's row and the desktop's share it. */
179
+ private rowToggle;
180
+ /** What a row's columns leave out, as label and value. */
181
+ private detailList;
182
+ /**
183
+ * A group's heading: a button with the group's word and its count. Collapsed, the row carries
184
+ * the group's subtotals, so a collapsed table still reads.
185
+ */
186
+ private groupRow;
187
+ private subtotalRow;
188
+ private totalsRow;
189
+ /** A totals or subtotal row: its label in the name's place, the host's values under their columns. */
190
+ private sumRow;
191
+ private totalCell;
131
192
  private editableCell;
132
193
  private mobileTable;
133
- private toggleMobileRow;
194
+ /** A phone row: the name and its line, one measure, the toggle and the menu; its list under it. */
195
+ private mobileRow;
196
+ private mobileGroupRow;
197
+ private mobileSumRow;
198
+ /**
199
+ * A total's value with the word before it that says how it was made. A threshold judges one
200
+ * row, not a sum: a total shows its figure plain.
201
+ */
202
+ private totalContent;
134
203
  /** Enter or Space on the row itself; a key meant for a control inside it stays that control's. */
135
204
  private rowKeydown;
136
205
  /** The page is view state, not a number: it stays out of the URL. The table counts from 0. */
@@ -7,7 +7,7 @@
7
7
  * never keeps the value. Only the desktop table edits.
8
8
  */
9
9
  import { type TemplateResult } from 'lit';
10
- import '../../../primitives/spinner/spinner.js';
10
+ import '../../feedback/spinner/spinner.js';
11
11
  import type { CellValue, DataTableData, TableCellRef, TableColumnData } from '../../../types.js';
12
12
  export interface CellPosition {
13
13
  row: number;
@@ -6,8 +6,9 @@
6
6
  * stays first and shown. Range and period filters are not here.
7
7
  */
8
8
  import { type TemplateResult } from 'lit';
9
- import '../../../primitives/popover/popover.js';
10
- import '../../../primitives/button/button.js';
9
+ import '../../overlays/popover/popover.js';
10
+ import '../../actions/button/button.js';
11
+ import '../../overlays/tooltip/tooltip.js';
11
12
  import '../../overlays/drawer/drawer.js';
12
13
  import '../sortable-list/sortable-list.js';
13
14
  import type { SortableItem } from '../sortable-list/sortable-list.js';
@@ -28,7 +29,6 @@ export declare function columnsChange(first: string, order: readonly string[], c
28
29
  /** How the focus left a column panel: Tab past its first or last stop, or anywhere else. */
29
30
  export type PanelLeave = 'back' | 'forward' | 'away';
30
31
  export declare function renderFunnel(column: TableColumnData, value: FilterValue | null | undefined, expanded: boolean, onOpen: (anchor: HTMLElement) => void): TemplateResult;
31
- export declare function renderFilterDot(): TemplateResult;
32
32
  export declare function renderFilterField(column: TableColumnData, value: FilterValue | undefined, onChange: (value: FilterValue) => void): TemplateResult;
33
33
  export declare function renderFilterPopover(options: {
34
34
  column: TableColumnData;
@@ -52,14 +52,20 @@ export declare function renderFiltersSheet(options: {
52
52
  export declare function renderToolbar(options: {
53
53
  columns: TableColumnData[];
54
54
  values: Record<string, FilterValue>;
55
- shown: number;
56
- total: number | undefined;
55
+ /** "6 van 131 rijen" while a filter is active and no pager below says it; else empty. */
56
+ count: string;
57
57
  /** Below 768 px, beside "Filters": the sort on any column. */
58
58
  sortMenu?: unknown;
59
+ /** The table's own controls at the toolbar's end ("Alles inklappen"). */
60
+ chooser?: unknown;
59
61
  onClearFilter: (column: string, button: HTMLElement) => void;
62
+ onClearAll: (button: HTMLElement) => void;
60
63
  onOpenSheet: () => void;
61
64
  }): TemplateResult;
62
- /** The column chooser's button, in the head of the actions column: as narrow as the row menus. */
65
+ /**
66
+ * "Kolommen kiezen": a quiet icon at the end of the head, above the rows' menus, where the columns
67
+ * are. The tooltip says its name, which is already the button's own.
68
+ */
63
69
  export declare function renderChooserButton(expanded: boolean, onOpen: (anchor: HTMLElement) => void): TemplateResult;
64
70
  export declare function renderColumnChooser(options: {
65
71
  first: TableColumnData;
@@ -67,6 +73,9 @@ export declare function renderColumnChooser(options: {
67
73
  anchor: Element | null;
68
74
  onOrder: (order: string[]) => void;
69
75
  onChecked: (checked: string[]) => void;
76
+ /** Every column shown, in the host's order; disabled while that is what stands. */
77
+ onReset: () => void;
78
+ isDefault: boolean;
70
79
  onClose: () => void;
71
80
  onLeave: (how: PanelLeave) => boolean;
72
81
  }): TemplateResult;
@@ -1,18 +1,14 @@
1
1
  /**
2
2
  * `<lintje-description-list>` — label-value pairs for a detail or a review screen, a real `<dl>`.
3
3
  *
4
- * A missing value (`null`, `undefined` or `''`) is a muted dash, never 0 (rule 15). A plain click
5
- * on a link is cancelled and sent as `lintje-navigate`; a modified click is the browser's.
6
- *
7
- * `layout="grid"` sets the pairs as cells side by side, for a summary of what is about to happen
8
- * ("Deze opname"): a cell can take two columns, carry an icon and a tone, show its value as tags,
9
- * and take richer content through a slot named by the item (`slot`). Below 30rem of its own width
10
- * it has two columns.
4
+ * A missing value (`null`, `undefined` or `''`) is a muted dash, never 0. A plain click on a link
5
+ * is cancelled and sent as `lintje-navigate`.
11
6
  *
12
7
  * Events: `lintje-navigate` `{ href }`.
13
8
  */
14
9
  import { type PropertyDeclarations, type TemplateResult } from 'lit';
15
- import { LintjeGridItemElement } from '../../../primitives/shared/grid-item-element.js';
10
+ import { LintjeGridItemElement } from '../../shared/grid-item-element.js';
11
+ import { type Tone } from '../../shared/tone.js';
16
12
  /** A link on the right of the value, for changing it ("Locatie wijzigen" as accessible name). */
17
13
  export interface DescriptionAction {
18
14
  href: string;
@@ -35,14 +31,14 @@ export interface DescriptionItem {
35
31
  /** Grid: the one figure a reader looks at, as large as a key figure. */
36
32
  large?: boolean;
37
33
  /**
38
- * `changed`: differs from the default, and says "Aangepast". `warning` and `error`: something to
39
- * act on; the glyph comes with it, the words are the host's (in the value or its slot).
34
+ * `changed`: differs from the default, and says "Aangepast". A shared tone carries its
35
+ * glyph when it has one, and the words are the host's (in the value or its slot).
40
36
  */
41
37
  tone?: DescriptionTone;
42
38
  /** The name of a slot drawn under the value, for what a string cannot say (a meter, a button). */
43
39
  slot?: string;
44
40
  }
45
- export type DescriptionTone = 'changed' | 'warning' | 'error';
41
+ export type DescriptionTone = 'changed' | Tone;
46
42
  export type DescriptionListLayout = 'row' | 'column' | 'grid';
47
43
  export declare class LintjeDescriptionList extends LintjeGridItemElement {
48
44
  static styles: import("lit").CSSResult[];
@@ -52,7 +48,12 @@ export declare class LintjeDescriptionList extends LintjeGridItemElement {
52
48
  columns: number;
53
49
  /** Grid: the cells take the surface and a frame, for a wash such as the hero's. */
54
50
  surface: boolean;
55
- /** `column` keeps the label above the value at every width; `row` only below 768 px; `grid`: cells. */
51
+ /**
52
+ * `column` keeps the label above the value at every width; `row` only below 768 px. `grid` sets
53
+ * the pairs as cells side by side, for a summary of what is about to happen ("Deze opname"): a
54
+ * cell can take two columns, an icon and a tone, show its value as tags, and take richer content
55
+ * through a slot named by the item (`slot`).
56
+ */
56
57
  layout: DescriptionListLayout;
57
58
  private follow;
58
59
  private value;
@@ -1,37 +1,26 @@
1
1
  /**
2
- * `<lintje-list>` — rows for what needs no columns: title, a muted line, a fact or actions. It is
3
- * also the work list: what someone made or had made, in progress or done, with the kind as an
4
- * icon, the state as a word, the progress as a bar, and rows grouped under a moment ("Vandaag").
5
- * A row's title is one line, cut with an ellipsis; it wraps where no pointer shows its tooltip:
6
- * below 768 px, without hover, and under the keyboard's focus. A run's moment is a heading at
7
- * `heading-level`.
2
+ * `<lintje-list>` — rows for what needs no columns: title, a muted line, a fact or actions.
8
3
  *
9
- * The whole row is clickable but the title is the one tab stop; a row with `clickable: false` opens
10
- * nothing, and its title is plain text or, with an `href`, only a link. It does not navigate: a plain
11
- * click is cancelled and sent as `lintje-row-click`; a modifier click on a title link is the
12
- * browser's. A menu's `lintje-action` is stopped and sent again with its row. When the focused
13
- * control leaves with an update (a row removed, an action replaced), the focus goes to the same
14
- * row's other control, else the next row, the previous one, or the list itself. A rename that ends
15
- * gives the focus to its row's first control, found by its id or, saved under a new one, its place.
4
+ * It is also the work list: what someone made or had made, with its kind, state and progress, in
5
+ * runs under a moment ("Vandaag"). It does not navigate: a plain click on a row is cancelled and
6
+ * sent as `lintje-row-click`, and a link row in a menu also sends `lintje-navigate` after its
7
+ * `lintje-row-action`. A row with `rename` turns its title into a field in place; the host keeps
8
+ * that state, as for every row.
16
9
  *
17
- * A row with `rename` turns its title into a field in place, with its save and cancel: renaming
18
- * needs no dialog. The host keeps the state, as it does for every row.
19
- *
20
- * Events: `lintje-row-click` `{ id, label, href? }`, `lintje-row-action` `{ id, label, value }`
21
- * (every chosen menu row, a link row included, and the row's own `action`), `lintje-navigate` `{ href }` (from a link row in a
22
- * menu, after its `lintje-row-action`), `lintje-row-rename` `{ id, value }` and
23
- * `lintje-row-rename-cancel` `{ id }` (Enter and Escape too).
10
+ * Events: `lintje-row-click` `{ id, label, href? }`, `lintje-row-action` `{ id, label, value }` (a
11
+ * chosen menu row or the row's own action), `lintje-row-rename` `{ id, value }`,
12
+ * `lintje-row-rename-cancel` `{ id }`.
24
13
  */
25
14
  import { type PropertyDeclarations, type PropertyValues, type TemplateResult } from 'lit';
26
15
  import { LintjeElement } from '../../../core/element.js';
27
16
  import '../../feedback/empty-state/empty-state.js';
28
17
  import '../../actions/menu-button/menu-button.js';
29
18
  import '../../inputs/text-input/text-input.js';
30
- import '../../../primitives/badge/badge.js';
31
- import '../../../primitives/button/button.js';
32
- import '../../../primitives/progress-bar/progress-bar.js';
19
+ import '../../feedback/badge/badge.js';
20
+ import '../../actions/button/button.js';
21
+ import '../../feedback/progress-bar/progress-bar.js';
33
22
  import type { MenuEntry } from '../../actions/menu-button/menu-button.js';
34
- import type { BadgeTone } from '../../../primitives/badge/badge.js';
23
+ import type { BadgeTone } from '../../feedback/badge/badge.js';
35
24
  export interface ListItem {
36
25
  id: string;
37
26
  title: string;