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,9 @@
1
- import "./chunks/base-Bg-IFOPG.js";
1
+ import "./chunks/base-DRGvkF-r.js";
2
2
  import "./tag/toast.js";
3
3
  import "./tag/announcement.js";
4
4
  import "./tag/empty-state.js";
5
5
  import "./tag/conflict-alert.js";
6
+ import "./tag/error-page.js";
6
7
  import "./tag/job-list.js";
7
8
  import "./tag/streaming-text.js";
8
9
  import "./tag/ai-label.js";
@@ -7,5 +7,3 @@ import "./tag/sub-nav.js";
7
7
  import "./tag/hero.js";
8
8
  import "./tag/footer.js";
9
9
  import "./tag/app-search.js";
10
- import "./tag/shortcuts.js";
11
- import "./tag/session-expiry.js";
@@ -89,6 +89,14 @@ Een selectie ongedaan maken is hetzelfde event met de id null en de `href` die j
89
89
  `lintje-sort-change` zet `data.sort`, `lintje-checked-change` `data.checkedIds`,
90
90
  `lintje-layer-change` de `data.layer` van de kaart.
91
91
 
92
+ De tabel rekent niets uit. Een totaalrij geef je zelf mee als `totals`, per kolom een waarde of
93
+ `{ value, how }`, waarbij `how` het woordje is dat zegt hoe ("gem."); met `groupBy` op een kolom
94
+ staan de rijen per waarde onder een kop, en `groupTotals` geeft per groep haar subtotalen. Een
95
+ kolom met `format: 'label'` tekent een waarde als badge: in `labels` noem je per waarde het woord,
96
+ de toon van `lintje-badge` en eventueel een icoon. Wat de kolommen niet tonen, zet je in
97
+ `detailFields`: elke rij krijgt dan een knop die de verborgen kolommen en die velden onder de rij
98
+ toont. Open rijen en ingeklapte groepen zijn beeld, geen toestand: ze komen niet in de URL.
99
+
92
100
  `ChartData.description` en `DataTableData.caption` zijn verplicht: ze worden de `<desc>` van de grafiek
93
101
  en de `<caption>` van de tabel. Schrijf ze alsof de figuur er niet was.
94
102
 
@@ -47,7 +47,7 @@ form.addEventListener('lintje-submit', async (event) => {
47
47
  ```
48
48
 
49
49
  - In een `<lintje-form>` wordt de waarde van een veld gemeld in `lintje-submit`, niet gepost.
50
- - `dirty` zegt dat de lezer niet-opgeslagen invoer heeft; toon een `<lintje-confirm-dialog>` voordat je weggaat.
50
+ - `dirty` zegt dat de lezer niet-opgeslagen invoer heeft; vraag het in een `<lintje-dialog alert>` voordat je weggaat.
51
51
  - Met `draft-key` bewaart het formulier een concept in `localStorage`; zonder, in het geheugen.
52
52
 
53
53
  ## Toestand en acties
@@ -75,7 +75,7 @@ Een *toestand* is iets wat je bewaart en terugzet op het element (en in de URL m
75
75
  | `lintje-retry` | `lintje-error-summary`, `lintje-streaming-text` | actie |
76
76
  | `lintje-files-add`, `lintje-file-remove`, `lintje-file-cancel` | `lintje-file-upload` | actie |
77
77
  | `lintje-search` | `lintje-combobox` (`remote`), `lintje-app-search` | actie |
78
- | `lintje-open` | `lintje-app-search`, `lintje-shortcuts` | actie |
78
+ | `lintje-open` | `lintje-app-search` | actie |
79
79
  | `lintje-row-add`, `lintje-row-remove` | `lintje-repeater`, `lintje-repeater-row` | actie |
80
80
  | `lintje-tab-change` | `lintje-tabs` | toestand |
81
81
  | `lintje-page-change` | `lintje-pagination`, `lintje-document-viewer` | toestand |
@@ -93,7 +93,7 @@ Een *toestand* is iets wat je bewaart en terugzet op het element (en in de URL m
93
93
  | `lintje-text-change`, `lintje-languages-swap` | `lintje-translator` | toestand, actie |
94
94
  | `lintje-segment-edit`, `lintje-segment-save`, `lintje-segment-cancel`, `lintje-segment-speaker`, `lintje-speaker-new`, `lintje-speaker-rename` | `lintje-transcript` | actie |
95
95
  | `lintje-action` | `lintje-menu-button`, `lintje-user-menu`, `lintje-app-search`, `lintje-sub-nav` | actie |
96
- | `lintje-search-open`, `lintje-logout`, `lintje-login`, `lintje-session-extend`, `lintje-draft-discard`, `lintje-notification-open`, `lintje-notifications-read` | de shell: `lintje-shell`, `lintje-user-menu`, `lintje-session-expiry`, `lintje-notifications` | actie |
96
+ | `lintje-search-open`, `lintje-logout`, `lintje-notification-open`, `lintje-notifications-read` | de shell: `lintje-shell`, `lintje-user-menu`, `lintje-notifications` | actie |
97
97
  | `lintje-conflict-keep-mine`, `lintje-conflict-take-theirs`, `lintje-conflict-compare` | `lintje-conflict-alert` | actie |
98
98
  | `lintje-message-send`, `lintje-message-edit`, `lintje-suggestion-select`, `lintje-answer-retry`, `lintje-answer-rate`, `lintje-answer-stop` | de chat | actie |
99
99
  | `lintje-sources-change`, `lintje-draft-change`, `lintje-strip-change` | de chat | toestand |
@@ -104,7 +104,6 @@ element stuurt het verzoek en wacht op de property die het beantwoordt (`.option
104
104
  waarde die bevestigt.
105
105
 
106
106
  **Events die niet van jou zijn.** Een composed event dat niet in de tabel staat, hoort bij wie het
107
- onderdeel heeft geopend: `lintje-close` van een modal, een drawer, een popover of een bevestigingsdialoog,
108
- `lintje-confirm`, en `lintje-invalid` van het formulier (een echo van je eigen `.errors`). Een view
107
+ onderdeel heeft geopend: `lintje-close` van een modal, een dialoog, een drawer of een popover, en `lintje-invalid` van het formulier (een echo van je eigen `.errors`). Een view
109
108
  vangt de events van zijn eigen onderdelen af — het uitvouwen en downloaden van de tegel, het sluiten van de modal — zodat één
110
109
  actie voor jou één event is. Een pagina die zo'n onderdeel zelf opent, is die eigenaar, en hoort ze.
@@ -54,13 +54,13 @@ setIconSource({ base: './icons/' })
54
54
 
55
55
  | categorie | tags |
56
56
  |---|---|
57
- | `frame.js` — Paginakader | `shell`, `page-header`, `breadcrumbs`, `sub-nav`, `hero`, `footer`, `user-menu`, `app-search`, `notifications`, `shortcuts`, `session-expiry` |
57
+ | `frame.js` — Paginakader | `shell`, `page-header`, `breadcrumbs`, `sub-nav`, `hero`, `footer`, `user-menu`, `app-search`, `notifications` |
58
58
  | `layout.js` — Indeling | `grid`, `grid-item`, `tile`, `tabs`, `expander`, `split-pane` |
59
- | `overlays.js` — Vensters en panelen | `modal`, `confirm-dialog`, `drawer`, `popover`, `tooltip`, `toggletip` |
59
+ | `overlays.js` — Vensters en panelen | `modal`, `dialog`, `drawer`, `popover`, `tooltip`, `toggletip` |
60
60
  | `actions.js` — Knoppen en iconen | `button`, `icon-button`, `menu-button`, `copy-button`, `qr-code`, `icon`, `logo` |
61
- | `content.js` — Tekst en media | `prose`, `code`, `highlight`, `translator`, `audio-player`, `video-player`, `transcript`, `document-viewer`, `gallery` |
62
- | `feedback.js` — Meldingen en status | `announcement`, `toast`, `conflict-alert`, `empty-state`, `badge`, `status-dot`, `spinner`, `skeleton`, `progress-bar`, `job-list`, `streaming-text`, `ai-label`, `level-meter`, `recording-status` |
63
- | `inputs.js` — Invoervelden | `field`, `text-input`, `textarea`, `number-input`, `select`, `combobox`, `multiselect`, `tag-input`, `checkbox`, `radio-group`, `toggle`, `segmented`, `range`, `date-input`, `time-input`, `date-range`, `slot-picker`, `file-upload`, `text-editor` |
61
+ | `content.js` — Tekst en media | `prose`, `code`, `highlight`, `token-value`, `translator`, `audio-player`, `video-player`, `transcript`, `document-viewer`, `gallery` |
62
+ | `feedback.js` — Meldingen en status | `announcement`, `toast`, `conflict-alert`, `empty-state`, `error-page`, `badge`, `status-dot`, `spinner`, `skeleton`, `progress-bar`, `job-list`, `streaming-text`, `ai-label`, `level-meter`, `recording-status` |
63
+ | `inputs.js` — Invoervelden | `field`, `text-input`, `find`, `textarea`, `number-input`, `select`, `combobox`, `multiselect`, `tag-input`, `checkbox`, `checkbox-group`, `radio-group`, `toggle`, `segmented`, `range`, `date-input`, `time-input`, `date-range`, `slot-picker`, `file-upload`, `text-editor` |
64
64
  | `forms.js` — Formulier | `form`, `form-section`, `stepper`, `repeater`, `repeater-row`, `error-summary`, `form-actions` |
65
65
  | `filters.js` — Filters | `filter-bar`, `filter-zone`, `filter-sheet` |
66
66
  | `charts.js` — Kerncijfers en grafieken | `kpi-row`, `kpi`, `chart`, `note`, `explainer` |
@@ -78,7 +78,7 @@ geldt voor deze manier van laden:
78
78
  (`document.createElement('lintje-toast')`) wordt bovenaan geïmporteerd zoals de andere. Niets wordt
79
79
  op verzoek opgehaald.
80
80
  - **Elk bestand laadt de basis**: Lit, de tokens, de iconen die de componenten tekenen en de
81
- primitives. Een primitive als `button` of `grid` hoef je dus niet apart te laden. De kaart, met Leaflet en zijn geometrie, is de zwaarste tag.
81
+ bouwstenen die bijna elke tag tekent. Een bouwsteen als `button` of `grid` hoef je dus niet apart te laden. De kaart, met Leaflet en zijn geometrie, is de zwaarste tag.
82
82
  - **Het zijn tientallen kleine bestanden.** Serveer de map over HTTP/2, of met verbindingen die
83
83
  open blijven: een server die de verbinding na elk bestand sluit, laat er een paar vallen, en één module die
84
84
  niet laadt, laat de pagina zonder zijn tags. De bestanden in `chunks/` dragen een hash en mogen
@@ -117,10 +117,11 @@ const remove = registerShortcut({ keys: '/', description: 'Zoeken', handler })
117
117
  Een toets zonder Ctrl, Alt of Meta gaat nooit af terwijl de focus in een veld staat, een toets met een
118
118
  ervan alleen met `inFields: true`. De laatste registratie van een toets wint, dus een dialoog neemt een
119
119
  toets over van de pagina. `shortcuts()` somt op wat
120
- geregistreerd is, en dat is wat `<lintje-shortcuts>` toont.
120
+ geregistreerd is: het overzicht is een `<lintje-dialog heading="Sneltoetsen">` die de pagina
121
+ daarmee vult en op `?` opent, voorgedaan in de stijlgids (`examples/_shared/shortcuts.js`).
121
122
 
122
- Een toets van één teken zonder Ctrl, Alt of Meta (`/`, `?`) kan de lezer uitzetten, met de
123
- schakelaar onder de lijst in `<lintje-shortcuts>` of met `setCharacterKeys(false)`; de keuze blijft
123
+ Een toets van één teken zonder Ctrl, Alt of Meta (`/`, `?`) kan de lezer uitzetten, met
124
+ `setCharacterKeys(false)` achter een instelling van de pagina; de keuze blijft
124
125
  bewaard in `localStorage`. Met die toetsen uit opent `?` niets, dus bied het overzicht ook aan
125
126
  vanuit een knop of een menu.
126
127
 
@@ -0,0 +1,110 @@
1
+ # Een inhoudsopgave op de pagina
2
+
3
+ Een lange tekst krijgt "Op deze pagina": een lijst met de koppen, die laat zien waar de lezer is.
4
+ Dat is `lintje-sub-nav` met `expanded`, geen eigen element. Het submenu tekent alleen. Jij vult de
5
+ ankers, volgt het scrollen en plaatst de lijst. Het besluit staat in
6
+ [`../DESIGN_SYSTEM.md`](https://github.com/h11t-labs/lintje/blob/main/docs/DESIGN_SYSTEM.md), onder "Navigatie en shell".
7
+
8
+ ## De lijst vullen
9
+
10
+ Elk item is een kop van de pagina, met een anker als `href`. Een kop van het tweede niveau staat in
11
+ `items` van zijn kop erboven. Met `expanded` staat elk niveau er, zodat de lijst niet verspringt
12
+ terwijl de lezer scrolt.
13
+
14
+ ```html
15
+ <div class="artikel">
16
+ <article>
17
+ <h2 id="wie">Wie kan een vergunning aanvragen</h2>
18
+ …
19
+ <h2 id="aanvragen">Zo vraagt u aan</h2>
20
+ <h3 id="online">Online aanvragen</h3>
21
+ …
22
+ </article>
23
+ <lintje-sub-nav expanded label="Op deze pagina"></lintje-sub-nav>
24
+ </div>
25
+ ```
26
+
27
+ Staan de koppen in `lintje-prose`, zoek ze dan in zijn `shadowRoot` in plaats van in `document`.
28
+
29
+ ## De sectie in beeld volgen
30
+
31
+ De huidige sectie is de laatste kop die boven de balk van de shell is geschoven. Die balk houdt
32
+ zijn hoogte vrij als `scroll-padding-top`, dus die waarde is de lijn. Onderaan de pagina haalt een
33
+ korte laatste sectie die lijn nooit; daar is de laatste kop in beeld de huidige. Zet de sectie als
34
+ `active`; het submenu markeert haar en haar kop erboven.
35
+
36
+ ```js
37
+ const nav = document.querySelector('.artikel lintje-sub-nav')
38
+ const sections = [
39
+ { label: 'Wie kan een vergunning aanvragen', href: '#wie' },
40
+ {
41
+ label: 'Zo vraagt u aan',
42
+ href: '#aanvragen',
43
+ items: [{ label: 'Online aanvragen', href: '#online' }],
44
+ },
45
+ ]
46
+
47
+ const all = (items) => items.flatMap((item) => [item, ...all(item.items ?? [])])
48
+ const mark = (items, href) =>
49
+ items.map((item) => ({
50
+ ...item,
51
+ active: item.href === href,
52
+ ...(item.items ? { items: mark(item.items, href) } : {}),
53
+ }))
54
+
55
+ let shown
56
+ function update() {
57
+ const root = document.documentElement
58
+ const end = scrollY + innerHeight >= root.scrollHeight - 1
59
+ const line = end ? innerHeight : (parseFloat(getComputedStyle(root).scrollPaddingTop) || 0) + 1
60
+ let href = null
61
+ for (const item of all(sections)) {
62
+ const heading = document.getElementById(item.href.slice(1))
63
+ if (heading && heading.getBoundingClientRect().top <= line) href = item.href
64
+ }
65
+ if (href === shown) return
66
+ shown = href
67
+ nav.groups = [{ label: 'Op deze pagina', items: mark(sections, href) }]
68
+ }
69
+
70
+ let frame = 0
71
+ const schedule = () => {
72
+ cancelAnimationFrame(frame)
73
+ frame = requestAnimationFrame(update)
74
+ }
75
+ addEventListener('scroll', schedule, { passive: true })
76
+ addEventListener('resize', schedule)
77
+ addEventListener('load', schedule)
78
+ schedule()
79
+ ```
80
+
81
+ Een klik op een item is een gewone link: de browser springt naar de kop, en het submenu meldt de
82
+ klik als `lintje-navigate` ([events](events.md)). Scrolt je pagina een eigen container
83
+ (`setHostConfig({ scrollRoot })`), luister dan daar naar `scroll` en lees daar de scroll-padding.
84
+ De update na `load` en `resize` vangt een pagina die pas na het script haar hoogte kreeg.
85
+
86
+ ## De lijst plaatsen
87
+
88
+ Vanaf 1024 px staat de lijst naast de tekst en plakt ze onder de balk van de shell. Smaller staat ze
89
+ boven de tekst, en onder 768 px is ze de knop van het submenu, die de lijst openklapt.
90
+
91
+ ```css
92
+ .artikel {
93
+ display: flex;
94
+ flex-wrap: wrap;
95
+ align-items: flex-start;
96
+ gap: var(--space-8) var(--space-10);
97
+ }
98
+ .artikel > article { flex: 999 1 560px; min-width: 0; max-width: var(--w-text); }
99
+ .artikel > lintje-sub-nav { flex: 1 1 240px; max-width: var(--w-nav); }
100
+
101
+ @media screen and (max-width: 1023px) {
102
+ .artikel > lintje-sub-nav { order: -1; flex-basis: 100%; max-width: none; }
103
+ }
104
+ @media screen and (min-width: 1024px) {
105
+ .artikel > lintje-sub-nav { position: sticky; top: calc(var(--h-topbar) + var(--space-6)); }
106
+ }
107
+ ```
108
+
109
+ Laat een lijst die hoger is dan het scherm niet plakken: haar onderste koppen zou de lezer dan pas
110
+ aan het eind van de tekst bereiken.
@@ -134,6 +134,18 @@ wat het terug verwacht.
134
134
  Een *view* is een tag die één `data`-object neemt (`lintje-shell`, `lintje-data-table`,
135
135
  `lintje-chart`, …); elke andere tag is een *onderdeel* met eigen attributen en properties.
136
136
 
137
+ ## Afdrukken
138
+
139
+ Een pagina drukt af zonder werk van de host: licht, zonder bediening, met het embleem en de naam
140
+ van de applicatie bovenaan, en elke tegel heel op een vel waar hij past. Wat de host zelf schrijft,
141
+ houdt zich aan dezelfde regels:
142
+
143
+ - **De achtergrond van `body` is `var(--color-bg-page)`**: die is wit op papier.
144
+ - **Een telefoonregel in de eigen CSS is `@media screen and (max-width: 767px)`**: een staand vel
145
+ is smaller dan 768 px, maar krijgt geen telefoonvorm.
146
+ - **Een eigen `<lintje-tile>` met een lange lijst krijgt `breakable`**: dan breekt hij tussen twee
147
+ vellen in plaats van als geheel naar het volgende te gaan.
148
+
137
149
  ## De complete voorbeelden
138
150
 
139
151
  [`../../examples/`](https://github.com/h11t-labs/lintje/blob/main/examples/README.md) bevat applicaties gebouwd met script, elk een gewone
@@ -1,15 +1,17 @@
1
1
  import "./tag/radio-group.js";
2
- import "./tag/toggle.js";
3
2
  import "./tag/segmented.js";
4
3
  import "./tag/textarea.js";
5
4
  import "./tag/text-input.js";
6
5
  import "./tag/field.js";
6
+ import "./tag/find.js";
7
7
  import "./tag/number-input.js";
8
8
  import "./tag/select.js";
9
9
  import "./tag/combobox.js";
10
10
  import "./tag/checkbox.js";
11
11
  import "./tag/multiselect.js";
12
12
  import "./tag/tag-input.js";
13
+ import "./tag/checkbox-group.js";
14
+ import "./tag/toggle.js";
13
15
  import "./tag/range.js";
14
16
  import "./tag/date-input.js";
15
17
  import "./tag/time-input.js";
@@ -1,4 +1,4 @@
1
- import "./chunks/base-Bg-IFOPG.js";
1
+ import "./chunks/base-DRGvkF-r.js";
2
2
  import "./tag/tabs.js";
3
3
  import "./tag/expander.js";
4
4
  import "./tag/split-pane.js";