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,12 +1,101 @@
1
- import { A as e, At as t, Bt as n, Gt as r, Ht as i, It as a, Lt as o, Z as s, qt as c, zt as l } from "../chunks/base-Bg-IFOPG.js";
1
+ import { Gt as e, I as t, Jt as n, Kt as r, Yt as i, Zt as a, en as o, nn as s, st as c, zt as l } from "../chunks/base-DRGvkF-r.js";
2
+ import "./menu-button.js";
2
3
  import "./announcement.js";
4
+ //#region src/components/shared/overflow.ts
5
+ function u(e, t, n, r) {
6
+ let i = e.filter((e) => !e.fixed).length, a = (r) => {
7
+ let i = 0, a = 0, o = 0;
8
+ for (let t of e) !t.fixed && i < r ? i += 1 : (a += t.width, o += 1);
9
+ return r > 0 && (a += t, o += 1), a + n * Math.max(0, o - 1);
10
+ }, o = i;
11
+ for (let e = 0; e <= i; e += 1) if (a(e) <= r + .5) {
12
+ o = e;
13
+ break;
14
+ }
15
+ return o === 1 && (o = i >= 2 ? 2 : 0), o;
16
+ }
17
+ var d = "data-lintje-overflow", f = class {
18
+ #e;
19
+ #t;
20
+ #n;
21
+ constructor(e, t) {
22
+ this.host = e, this.options = t, this.collapsed = [], this.#e = null, this.#t = [], this.#n = null, e.addController(this);
23
+ }
24
+ hostDisconnected() {
25
+ this.#e?.disconnect(), this.#e = null, this.#t = [], this.#n !== null && cancelAnimationFrame(this.#n), this.#n = null, this.#r([]);
26
+ }
27
+ hostUpdated() {
28
+ this.measure();
29
+ }
30
+ get actions() {
31
+ return [...this.host.children].filter((e) => e instanceof HTMLElement && e.slot === this.options.slot);
32
+ }
33
+ items() {
34
+ let e = [];
35
+ return this.collapsed.forEach((t, n) => {
36
+ let r = (t.variant ?? "").startsWith("danger");
37
+ r && e.length > 0 && e[e.length - 1] !== "separator" && e.push("separator");
38
+ let i = !!(t.disabled || t.busy);
39
+ e.push({
40
+ value: String(n),
41
+ label: t.textContent?.trim() || t.label || "",
42
+ icon: t.icon,
43
+ href: i ? void 0 : t.href,
44
+ disabled: i,
45
+ reason: t.reason,
46
+ danger: r
47
+ });
48
+ }), e;
49
+ }
50
+ activate(e) {
51
+ this.collapsed[Number(e)]?.click();
52
+ }
53
+ measure() {
54
+ let e = this.host.renderRoot, t = e.querySelector(this.options.row), n = e.querySelector(this.options.menu), r = this.actions;
55
+ if (this.#i(t ? [t, ...r] : []), !t || !n) return;
56
+ let i = r.filter(p), a = i[i.length - 1], o = r.map((e) => ({
57
+ width: e.getBoundingClientRect().width,
58
+ fixed: !p(e) || e === a
59
+ })), s = parseFloat(getComputedStyle(n.parentElement ?? t).columnGap) || 0, c = u(o, n.getBoundingClientRect().width, s, t.getBoundingClientRect().width), l = i.filter((e) => e !== a).slice(0, c);
60
+ m(l, this.collapsed) || (this.collapsed = l, this.#r(l), this.host.requestUpdate());
61
+ }
62
+ #r(e) {
63
+ for (let t of this.actions) {
64
+ let n = e.includes(t);
65
+ n ? t.setAttribute(d, "") : t.removeAttribute(d), t.inert = n;
66
+ }
67
+ }
68
+ #i(e) {
69
+ if (typeof ResizeObserver < "u" && !m(e, this.#t)) {
70
+ this.#e ??= new ResizeObserver(() => this.#a()), this.#e.disconnect();
71
+ for (let t of e) this.#e.observe(t);
72
+ this.#t = e;
73
+ }
74
+ }
75
+ #a() {
76
+ this.#n === null && (this.#n = requestAnimationFrame(() => {
77
+ this.#n = null, this.measure();
78
+ }));
79
+ }
80
+ };
81
+ function p(e) {
82
+ return e.localName === "lintje-button";
83
+ }
84
+ function m(e, t) {
85
+ return e.length === t.length && e.every((e, n) => e === t[n]);
86
+ }
87
+ //#endregion
3
88
  //#region src/components/frame/page-header/page-header.css?inline
4
- var u = ":host {\n display: block;\n}\n:host([hidden]) { display: none; }\n\n/* --- */\n\n.lintje-page-header {\n background: var(--color-bg-title);\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding: var(--space-5) var(--space-6) 18px;\n}\n/* The actions stand level with the title; under a description, level with its last line. */\n.lintje-page-header__row {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-3) var(--space-6);\n}\n.lintje-page-header__row.is-described { align-items: flex-end; }\n.lintje-page-header__heading { display: flex; flex-direction: column; gap: 6px; min-width: 0; }\n.lintje-page-header__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }\n.lintje-page-header__actions.is-empty { display: none; }\n.lintje-page-header__title { font: var(--text-h1); color: var(--color-text-primary); }\n/* The pencil shows while the title is pointed at or the pencil has the focus; a touch screen\n always shows it. */\n.lintje-page-header__title-row { display: flex; align-items: center; gap: var(--space-2); min-width: 0; }\n.lintje-page-header__edit { flex: none; opacity: 0; transition: opacity var(--dur-hover) var(--ease-in-motion); }\n.lintje-page-header__title-row:hover .lintje-page-header__edit,\n.lintje-page-header__edit:focus-within { opacity: 1; }\n@media (hover: none) {\n .lintje-page-header__edit { opacity: 1; }\n}\n.lintje-page-header__description {\n margin-top: 6px;\n max-width: var(--w-text);\n font-size: 1rem;\n line-height: 1.5;\n color: var(--color-text-secondary);\n}\n.lintje-page-header__meta {\n margin-top: var(--space-2);\n font: var(--text-small);\n color: var(--color-text-muted);\n}\n.lintje-page-header__more { color: var(--color-link); font-weight: 700; text-decoration: underline; }\n\n.lintje-page-header__kicker {\n font-size: var(--label-size);\n font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking);\n text-transform: uppercase;\n color: var(--color-text-muted);\n}\n\n@media (max-width: 767px) {\n .lintje-page-header { padding: var(--space-4) var(--space-4) 14px; gap: 4px; }\n .lintje-page-header__title { font: var(--text-h1-mobile); }\n .lintje-page-header__meta { font: var(--text-meta); margin-top: 0; }\n}\n\n/* In the shell: flush in the content column, the trail and the title row closer together. */\n.lintje-page-header--shell { padding: 0; gap: var(--space-2); }\n.lintje-page-header--shell .lintje-page-header__heading { gap: var(--space-1); }\n.lintje-page-header--shell .lintje-page-header__title { overflow-wrap: anywhere; }\n.lintje-page-header--shell .lintje-page-header__description { margin-top: 0; }\n", d = class extends l {
5
- constructor(...e) {
6
- super(...e), this.inShell = !1, this.hasActions = !1, this.editable = !1, this.mobile = new o(this, a), this.observer = null;
89
+ var h = ":host {\n display: block;\n}\n:host([hidden]) { display: none; }\n\n/* --- */\n\n.lintje-page-header {\n background: var(--color-bg-title);\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding: var(--space-5) var(--space-6) 18px;\n}\n/* The actions stand level with the title; under a description, level with its last line. */\n.lintje-page-header__row {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-3) var(--space-6);\n}\n.lintje-page-header__row.is-described { align-items: flex-end; }\n.lintje-page-header__heading { display: flex; flex-direction: column; gap: 6px; min-width: 0; }\n.lintje-page-header__actions { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }\n.lintje-page-header__actions.is-empty { display: none; }\n.lintje-page-header__actions slot { display: contents; }\n/* An action that went into \"Meer\", and the menu while it is spare, stay laid out, invisible, so\n their widths can be measured in either state. Hanging at the end, they add no scroll. */\n.lintje-page-header__actions slot::slotted([data-lintje-overflow]),\n.lintje-page-header__overflow.is-spare {\n position: absolute;\n top: 0;\n right: 0;\n visibility: hidden;\n pointer-events: none;\n}\n.lintje-page-header__title { font: var(--text-h1); color: var(--color-text-primary); }\n/* The pencil shows while the title is pointed at or the pencil has the focus; a touch screen\n always shows it. */\n.lintje-page-header__title-row { display: flex; align-items: center; gap: var(--space-2); min-width: 0; }\n.lintje-page-header__edit { flex: none; opacity: 0; transition: opacity var(--dur-hover) var(--ease-in-motion); }\n.lintje-page-header__title-row:hover .lintje-page-header__edit,\n.lintje-page-header__edit:focus-within { opacity: 1; }\n@media (hover: none) {\n .lintje-page-header__edit { opacity: 1; }\n}\n.lintje-page-header__description {\n margin-top: 6px;\n max-width: var(--w-text);\n font-size: 1rem;\n line-height: 1.5;\n color: var(--color-text-secondary);\n}\n.lintje-page-header__meta {\n margin-top: var(--space-2);\n font: var(--text-small);\n color: var(--color-text-muted);\n}\n.lintje-page-header__more { color: var(--color-link); font-weight: 700; text-decoration: underline; }\n\n.lintje-page-header__kicker {\n font-size: var(--label-size);\n font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking);\n text-transform: uppercase;\n color: var(--color-text-muted);\n}\n\n@media screen and (max-width: 767px) {\n .lintje-page-header { padding: var(--space-4) var(--space-4) 14px; gap: 4px; }\n .lintje-page-header__title { font: var(--text-h1-mobile); }\n .lintje-page-header__meta { font: var(--text-meta); margin-top: 0; }\n}\n\n/* In the shell: flush in the content column, the trail and the title row closer together. */\n.lintje-page-header--shell { padding: 0; gap: var(--space-2); }\n.lintje-page-header--shell .lintje-page-header__heading { gap: var(--space-1); }\n.lintje-page-header--shell .lintje-page-header__title { overflow-wrap: anywhere; }\n.lintje-page-header--shell .lintje-page-header__description { margin-top: 0; }\n\n/* On paper the title stands at the paper's edge, in line with the content under it. */\n@media print {\n .lintje-page-header { padding-inline: 0; }\n}\n", g = class extends n {
90
+ constructor(...t) {
91
+ super(...t), this.inShell = !1, this.hasActions = !1, this.editable = !1, this.mobile = new r(this, e), this.overflow = new f(this, {
92
+ row: ".lintje-page-header__row",
93
+ menu: ".lintje-page-header__overflow",
94
+ slot: "actions"
95
+ }), this.observer = null;
7
96
  }
8
97
  static {
9
- this.styles = i(u);
98
+ this.styles = a(h);
10
99
  }
11
100
  static {
12
101
  this.properties = {
@@ -26,72 +115,86 @@ var u = ":host {\n display: block;\n}\n:host([hidden]) { display: none; }\n\n/*
26
115
  super.connectedCallback(), this.inShell = this.slot === "header" && this.parentElement?.localName === "lintje-shell";
27
116
  }
28
117
  disconnectedCallback() {
29
- this.stopObserving(), this.inShell || t(!1), super.disconnectedCallback();
118
+ this.stopObserving(), this.inShell || l(!1), super.disconnectedCallback();
30
119
  }
31
120
  stopObserving() {
32
121
  this.observer?.disconnect(), this.observer = null;
33
122
  }
34
- updated(n) {
35
- if (this.inShell || !(n.has("data") || this.observer === null)) return;
123
+ updated(e) {
124
+ if (this.inShell || !(e.has("data") || this.observer === null)) return;
36
125
  this.stopObserving();
37
- let r = this.renderRoot.querySelector(".lintje-page-header__title");
38
- if (!r || this.mobile.matches) {
39
- t(!1);
126
+ let n = this.renderRoot.querySelector(".lintje-page-header__title");
127
+ if (!n || this.mobile.matches) {
128
+ l(!1);
40
129
  return;
41
130
  }
42
- let i = e(r, "--h-topbar", 56);
43
- this.observer = new IntersectionObserver(([e]) => t(e.boundingClientRect.top < i), {
44
- rootMargin: `-${i}px 0px 0px 0px`,
131
+ let r = t(n, "--h-topbar", 56);
132
+ this.observer = new IntersectionObserver(([e]) => l(e.boundingClientRect.top < r), {
133
+ rootMargin: `-${r}px 0px 0px 0px`,
45
134
  threshold: [0, 1]
46
- }), this.observer.observe(r);
135
+ }), this.observer.observe(n);
47
136
  }
48
137
  render() {
49
138
  let e = this.data;
50
- if (!e) return r;
51
- let t = this.mobile.matches, n = this.inShell, i = !!e.description && (n || !t), { asOf: a, source: o, more: l } = e, u = [];
52
- return a && u.push(c`<span>Waarde van ${a}</span>`), a && o && u.push(c`<span aria-hidden="true"> · </span>`), o && u.push(c`<span>Bron: ${o}</span>`), l && (u.push(c`<span aria-hidden="true"> · </span>`), u.push(c`<a href=${l.href} class="lintje-page-header__more"
53
- >${l.label ?? "Meer over deze cijfers"} ›</a
54
- >`)), c`
55
- ${e.announcement ? c`<lintje-announcement .data=${e.announcement}></lintje-announcement>` : r}
56
- <div class=${s({
139
+ if (!e) return o;
140
+ let t = this.mobile.matches, n = this.inShell, r = !!e.description && (n || !t), i = this.overflow.collapsed.length === 0, { asOf: a, source: l, more: u } = e, d = [];
141
+ return a && d.push(s`<span>Waarde van ${a}</span>`), a && l && d.push(s`<span aria-hidden="true"> · </span>`), l && d.push(s`<span>Bron: ${l}</span>`), u && (d.push(s`<span aria-hidden="true"> · </span>`), d.push(s`<a href=${u.href} class="lintje-page-header__more"
142
+ >${u.label ?? "Meer over deze cijfers"} ›</a
143
+ >`)), s`
144
+ ${e.announcement ? s`<lintje-announcement .data=${e.announcement}></lintje-announcement>` : o}
145
+ <div class=${c({
57
146
  "lintje-page-header": !0,
58
147
  "lintje-page-header--shell": n
59
148
  })}>
60
149
  <slot name="breadcrumbs"></slot>
61
- ${t && e.kicker ? c`<p class="lintje-page-header__kicker">${e.kicker}</p>` : r}
62
- <div class=${s({
150
+ ${t && e.kicker ? s`<p class="lintje-page-header__kicker">${e.kicker}</p>` : o}
151
+ <div class=${c({
63
152
  "lintje-page-header__row": !0,
64
- "is-described": i
153
+ "is-described": r
65
154
  })}>
66
155
  <div class="lintje-page-header__heading">
67
156
  <div class="lintje-page-header__title-row">
68
157
  <h2 class="lintje-page-header__title">${e.title}</h2>
69
- ${this.editable ? c`<lintje-icon-button
158
+ ${this.editable ? s`<lintje-icon-button
70
159
  class="lintje-page-header__edit"
71
160
  icon="functioneel-bewerken"
72
161
  label="Naam wijzigen"
73
162
  variant="flat"
74
163
  @click=${() => this.emit("lintje-title-edit")}
75
- ></lintje-icon-button>` : r}
164
+ ></lintje-icon-button>` : o}
76
165
  </div>
77
- ${i ? c`<p class="lintje-page-header__description">${e.description}</p>` : r}
166
+ ${r ? s`<p class="lintje-page-header__description">${e.description}</p>` : o}
78
167
  </div>
79
- <slot
80
- name="actions"
81
- class=${s({
168
+ <div class=${c({
82
169
  "lintje-page-header__actions": !0,
83
170
  "is-empty": !this.hasActions
171
+ })}>
172
+ <lintje-menu-button
173
+ class=${c({
174
+ "lintje-page-header__overflow": !0,
175
+ "is-spare": i
84
176
  })}
85
- @slotchange=${(e) => {
86
- this.hasActions = e.target.assignedElements().length > 0;
177
+ ?inert=${i}
178
+ label="Meer"
179
+ accessible-label="Meer acties"
180
+ .items=${this.overflow.items()}
181
+ @lintje-action=${(e) => {
182
+ e.stopPropagation(), this.overflow.activate(e.detail);
87
183
  }}
88
- ></slot>
184
+ ></lintje-menu-button>
185
+ <slot
186
+ name="actions"
187
+ @slotchange=${(e) => {
188
+ this.hasActions = e.target.assignedElements().length > 0, this.overflow.measure();
189
+ }}
190
+ ></slot>
191
+ </div>
89
192
  </div>
90
- ${u.length > 0 ? c`<p class="lintje-page-header__meta">${u}</p>` : r}
193
+ ${d.length > 0 ? s`<p class="lintje-page-header__meta">${d}</p>` : o}
91
194
  </div>
92
195
  `;
93
196
  }
94
197
  };
95
- n("lintje-page-header", d);
198
+ i("lintje-page-header", g);
96
199
  //#endregion
97
- export { d as LintjePageHeader };
200
+ export { g as LintjePageHeader };
@@ -1,7 +1,7 @@
1
- import { $ as e, Bt as t, Gt as n, Ht as r, I as i, Z as a, et as o, p as s, q as c, qt as l, s as u, zt as d } from "../chunks/base-Bg-IFOPG.js";
1
+ import { H as e, Jt as t, Yt as n, Zt as r, d as i, en as a, h as o, lt as s, nn as c, rt as l, st as u, ut as d } from "../chunks/base-DRGvkF-r.js";
2
2
  import "./menu-button.js";
3
3
  //#region src/components/tables/pagination/pagination.css?inline
4
- var f = "/* \"Vorige\" and \"Volgende\" wear `.lintje-button--link` from the button's sheet. */\n/* In a flush tile the pages keep the heading's indent, as the rows above them do, and the tile's\n padding below them when no footnote follows. */\n:host {\n display: block; min-width: 0;\n padding-inline: var(--lintje-inset, 0px);\n padding-block-end: var(--lintje-inset-end, 0px);\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* Three zones: the count left, the pages centred under what they page, the size choice right.\n Stacked, the pages take the first line and the count and the choice share the second. */\n.lintje-pagination {\n display: grid; grid-template-columns: 1fr auto 1fr;\n grid-template-areas: \"count nav size\";\n align-items: center;\n gap: var(--space-2) var(--space-4);\n}\n.lintje-pagination.is-stacked {\n grid-template-columns: 1fr auto;\n grid-template-areas: \"nav nav\" \"count size\";\n}\n\n.lintje-pagination__nav {\n grid-area: nav; justify-self: center;\n display: flex; flex-wrap: wrap; align-items: center;\n font: var(--text-ui);\n}\n.lintje-pagination__pages { display: contents; }\n\n/* The chevron and the bold word make a step a control without an underline at rest. */\n.lintje-pagination__step {\n height: var(--h-target);\n padding: 0 var(--space-3);\n gap: var(--space-1);\n text-decoration: none;\n}\n.lintje-pagination__step:not(:disabled):hover { text-decoration: underline; }\n/* Without its word a step is a square chevron, as large as a number. */\n.lintje-pagination.is-compact .lintje-pagination__step { width: var(--h-target); padding: 0; }\n\n/* Flat: a box around every number weighs more than the one that matters. */\n.lintje-pagination__page {\n display: inline-flex; align-items: center; justify-content: center;\n min-width: var(--h-target); height: var(--h-target);\n padding: 0 var(--space-1);\n background: transparent;\n border: 1px solid transparent;\n color: var(--color-link);\n font: var(--text-ui);\n font-variant-numeric: tabular-nums;\n text-decoration: none;\n cursor: pointer;\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-pagination__page:hover { background: var(--color-bg-subtle); color: var(--color-link-hover); }\n\n/* The one filled square; its edge is the primary button's, the tint that carries it in dark. */\n.lintje-pagination__page.is-current {\n background: var(--color-action-primary);\n border-color: var(--color-action-primary-border);\n color: var(--color-action-primary-text);\n font-weight: 700;\n cursor: default;\n}\n/* Choosing the current page does nothing, so it does not answer the pointer. */\n.lintje-pagination__page.is-current:hover { background: var(--color-action-primary); }\n\n/* As wide as a number, so the seven slots keep one length. */\n.lintje-pagination__gap {\n min-width: var(--h-target);\n text-align: center;\n color: var(--color-text-muted);\n}\n\n.lintje-pagination__where { display: none; color: var(--color-text-primary); white-space: nowrap; }\n\n.lintje-pagination__count {\n grid-area: count; justify-self: start;\n margin: 0;\n white-space: nowrap;\n font: var(--text-small);\n color: var(--color-text-muted);\n font-variant-numeric: tabular-nums;\n}\n\n.lintje-pagination__size { grid-area: size; justify-self: end; white-space: nowrap; }\n\n@media (max-width: 767px) {\n .lintje-pagination {\n grid-template-columns: 1fr auto;\n grid-template-areas: \"nav nav\" \"count size\";\n }\n .lintje-pagination__nav {\n justify-self: stretch;\n flex-wrap: nowrap; justify-content: space-between;\n }\n .lintje-pagination__pages { display: none; }\n .lintje-pagination__where { display: block; }\n .lintje-pagination__step { flex: 0 0 auto; padding: 0 var(--space-2); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .lintje-pagination__page { transition: none; }\n}\n\n/* Forced colours: the current page's fill is dropped, so its border turns Highlight. */\n@media (forced-colors: active) {\n .lintje-pagination__page.is-current { border-color: Highlight; }\n}\n", p = 7;
4
+ var f = "/* \"Vorige\" and \"Volgende\" wear `.lintje-button--link` from the button's sheet. */\n/* In a flush tile the pages keep the heading's indent, as the rows above them do, and the tile's\n padding below them when no footnote follows. */\n:host {\n display: block; min-width: 0;\n padding-inline: var(--lintje-inset, 0px);\n padding-block-end: var(--lintje-inset-end, 0px);\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* Three zones: the count left, the pages centred under what they page, the size choice right.\n Stacked, the pages take the first line and the count and the choice share the second. */\n.lintje-pagination {\n display: grid; grid-template-columns: 1fr auto 1fr;\n grid-template-areas: \"count nav size\";\n align-items: center;\n gap: var(--space-2) var(--space-4);\n}\n.lintje-pagination.is-stacked {\n grid-template-columns: 1fr auto;\n grid-template-areas: \"nav nav\" \"count size\";\n}\n\n.lintje-pagination__nav {\n grid-area: nav; justify-self: center;\n display: flex; flex-wrap: wrap; align-items: center;\n font: var(--text-ui);\n}\n.lintje-pagination__pages { display: contents; }\n\n/* The chevron and the bold word make a step a control without an underline at rest. */\n.lintje-pagination__step {\n height: var(--h-target);\n padding: 0 var(--space-3);\n gap: var(--space-1);\n text-decoration: none;\n}\n.lintje-pagination__step:not(:disabled):hover { text-decoration: underline; }\n/* Without its word a step is a square chevron, as large as a number. */\n.lintje-pagination.is-compact .lintje-pagination__step { width: var(--h-target); padding: 0; }\n\n/* Flat: a box around every number weighs more than the one that matters. */\n.lintje-pagination__page {\n display: inline-flex; align-items: center; justify-content: center;\n min-width: var(--h-target); height: var(--h-target);\n padding: 0 var(--space-1);\n background: transparent;\n border: 1px solid transparent;\n color: var(--color-link);\n font: var(--text-ui);\n font-variant-numeric: tabular-nums;\n text-decoration: none;\n cursor: pointer;\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-pagination__page:hover { background: var(--color-bg-subtle); color: var(--color-link-hover); }\n\n/* The one filled square; its edge is the primary button's, the tint that carries it in dark. */\n.lintje-pagination__page.is-current {\n background: var(--color-action-primary);\n border-color: var(--color-action-primary-border);\n color: var(--color-action-primary-text);\n font-weight: 700;\n cursor: default;\n}\n/* Choosing the current page does nothing, so it does not answer the pointer. */\n.lintje-pagination__page.is-current:hover { background: var(--color-action-primary); }\n\n/* As wide as a number, so the seven slots keep one length. */\n.lintje-pagination__gap {\n min-width: var(--h-target);\n text-align: center;\n color: var(--color-text-muted);\n}\n\n.lintje-pagination__where { display: none; color: var(--color-text-primary); white-space: nowrap; }\n\n.lintje-pagination__count {\n grid-area: count; justify-self: start;\n margin: 0;\n white-space: nowrap;\n font: var(--text-small);\n color: var(--color-text-muted);\n font-variant-numeric: tabular-nums;\n}\n\n.lintje-pagination__size { grid-area: size; justify-self: end; white-space: nowrap; }\n\n@media screen and (max-width: 767px) {\n .lintje-pagination {\n grid-template-columns: 1fr auto;\n grid-template-areas: \"nav nav\" \"count size\";\n }\n .lintje-pagination__nav {\n justify-self: stretch;\n flex-wrap: nowrap; justify-content: space-between;\n }\n .lintje-pagination__pages { display: none; }\n .lintje-pagination__where { display: block; }\n .lintje-pagination__step { flex: 0 0 auto; padding: 0 var(--space-2); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .lintje-pagination__page { transition: none; }\n}\n\n/* Forced colours: the current page's fill is dropped, so its border turns Highlight. */\n@media (forced-colors: active) {\n .lintje-pagination__page.is-current { border-color: Highlight; }\n}\n\n/* Paper keeps the count, which says that only these rows are on it; the steps are controls. */\n@media print {\n .lintje-pagination__nav,\n .lintje-pagination__size { display: none; }\n}\n", p = 7;
5
5
  function m(e, t) {
6
6
  let n = Math.max(0, Math.floor(t));
7
7
  if (n <= p) return Array.from({ length: n }, (e, t) => t + 1);
@@ -36,27 +36,28 @@ var h = {
36
36
  many: "resultaten",
37
37
  one: "resultaat"
38
38
  };
39
- function g(e, t, n, r = h) {
39
+ function g(e, t, n, r = h, a) {
40
40
  if (!t || n == null || Number.isNaN(n)) return null;
41
- if (n <= 0) return `Geen ${r.many}`;
42
- let i = n === 1 ? r.one : r.many;
43
- if (n <= t) return `${u(n)} ${i}`;
44
- let a = Math.min((e - 1) * t + 1, n), o = Math.min(e * t, n);
45
- return `${a === o ? u(a) : `${u(a)}–${u(o)}`} van ${u(n)} ${i}`;
41
+ let o = a != null && a > n ? ` · gefilterd uit ${i(a)}` : "";
42
+ if (n <= 0) return `Geen ${r.many}${o}`;
43
+ let s = n === 1 ? r.one : r.many;
44
+ if (n <= t) return `${i(n)} ${s}${o}`;
45
+ let c = Math.min((e - 1) * t + 1, n), l = Math.min(e * t, n);
46
+ return `${c === l ? i(c) : `${i(c)}–${i(l)}`} van ${i(n)} ${s}${o}`;
46
47
  }
47
48
  function _(e) {
48
49
  if (!e) return;
49
50
  let t = e.split(",").map((e) => Number(e.trim())).filter((e) => Number.isInteger(e) && e > 0);
50
51
  return t.length ? [...new Set(t)] : void 0;
51
52
  }
52
- var v = class extends d {
53
+ var v = class extends t {
53
54
  constructor(...e) {
54
55
  super(...e), this.page = 1, this.label = "Paginering", this.compact = !1, this.stacked = !1, this.#e = null;
55
56
  }
56
57
  static {
57
58
  this.styles = [
58
- e,
59
- r(c),
59
+ s,
60
+ r(l),
60
61
  r(f)
61
62
  ];
62
63
  }
@@ -68,6 +69,10 @@ var v = class extends d {
68
69
  attribute: "page-count"
69
70
  },
70
71
  total: { type: Number },
72
+ filteredFrom: {
73
+ type: Number,
74
+ attribute: "filtered-from"
75
+ },
71
76
  pageSize: {
72
77
  type: Number,
73
78
  attribute: "page-size"
@@ -122,9 +127,9 @@ var v = class extends d {
122
127
  hrefFor(e) {
123
128
  return this.hrefTemplate ? this.hrefTemplate.replaceAll("{page}", String(e)) : void 0;
124
129
  }
125
- choose(e, t, n) {
126
- let r = this.hrefFor(t);
127
- (!r || i(e)) && (t === this.current ? e.preventDefault() : (this.page = t, this.emit("lintje-page-change", { page: t }), r && this.followLink(r, e), this.updateComplete.then(() => this.keepFocus(n))));
130
+ choose(t, n, r) {
131
+ let i = this.hrefFor(n);
132
+ (!i || e(t)) && (n === this.current ? t.preventDefault() : (this.page = n, this.emit("lintje-page-change", { page: n }), i && this.followLink(i, t), this.updateComplete.then(() => this.keepFocus(r))));
128
133
  }
129
134
  get countUnit() {
130
135
  return this.unit ? {
@@ -142,17 +147,17 @@ var v = class extends d {
142
147
  }
143
148
  sizes() {
144
149
  let e = this.pageSizes;
145
- if (!e?.length) return n;
146
- let t = this.pageSize ?? e[0], r = e.includes(t) ? e : [...e, t].sort((e, t) => e - t), i = this.countUnit.many;
147
- return l`<lintje-menu-button
150
+ if (!e?.length) return a;
151
+ let t = this.pageSize ?? e[0], n = e.includes(t) ? e : [...e, t].sort((e, t) => e - t), r = this.countUnit.many;
152
+ return c`<lintje-menu-button
148
153
  class="lintje-pagination__size"
149
154
  variant="flat"
150
155
  placement="bottom-end"
151
- label=${`${u(t)} per pagina`}
152
- accessible-label=${`${i[0].toUpperCase()}${i.slice(1)}: ${u(t)} per pagina`}
153
- .items=${r.map((e) => ({
156
+ label=${`${i(t)} per pagina`}
157
+ accessible-label=${`${r[0].toUpperCase()}${r.slice(1)}: ${i(t)} per pagina`}
158
+ .items=${n.map((e) => ({
154
159
  value: String(e),
155
- label: `${u(e)} per pagina`,
160
+ label: `${i(e)} per pagina`,
156
161
  checked: e === t,
157
162
  radio: !0
158
163
  }))}
@@ -170,19 +175,19 @@ var v = class extends d {
170
175
  for (let e of n) if (!(!e || e instanceof HTMLButtonElement && e.disabled) && (e.focus(), t.activeElement === e)) return;
171
176
  }
172
177
  step(e, t, n) {
173
- let r = e === "previous", i = r ? "Vorige" : "Volgende", s = o("functioneel-delta-rechts", {
178
+ let r = e === "previous", i = r ? "Vorige" : "Volgende", a = d("functioneel-delta-rechts", {
174
179
  size: 16,
175
180
  flip: r ? "horizontal" : void 0
176
- }), c = l`<span
177
- class=${a({
181
+ }), o = c`<span
182
+ class=${u({
178
183
  "lintje-pagination__word": !0,
179
184
  "visually-hidden": this.compact
180
185
  })}
181
186
  >${i}</span
182
- >`, u = r ? l`${s}${c}` : l`${c}${s}`, d = this.hrefFor(t);
183
- return n || !d ? l`<button
187
+ >`, s = r ? c`${a}${o}` : c`${o}${a}`, l = this.hrefFor(t);
188
+ return n || !l ? c`<button
184
189
  type="button"
185
- class=${a({
190
+ class=${u({
186
191
  "lintje-button": !0,
187
192
  "lintje-button--link": !0,
188
193
  "lintje-pagination__step": !0,
@@ -192,53 +197,53 @@ var v = class extends d {
192
197
  ?disabled=${n}
193
198
  @click=${(n) => this.choose(n, t, e)}
194
199
  >
195
- ${u}
196
- </button>` : l`<a
200
+ ${s}
201
+ </button>` : c`<a
197
202
  class="lintje-button lintje-button--link lintje-pagination__step"
198
203
  data-step=${e}
199
- href=${d}
204
+ href=${l}
200
205
  @click=${(n) => this.choose(n, t, e)}
201
- >${u}</a
206
+ >${s}</a
202
207
  >`;
203
208
  }
204
209
  number(e, t) {
205
- let r = e === t, i = a({
210
+ let n = e === t, r = u({
206
211
  "lintje-pagination__page": !0,
207
- "is-current": r
208
- }), o = r ? `Pagina ${e}, huidige pagina` : `Ga naar pagina ${e}`, s = this.hrefFor(e);
209
- return s ? l`<a
210
- class=${i}
211
- href=${s}
212
+ "is-current": n
213
+ }), i = n ? `Pagina ${e}, huidige pagina` : `Ga naar pagina ${e}`, o = this.hrefFor(e);
214
+ return o ? c`<a
215
+ class=${r}
216
+ href=${o}
212
217
  data-page=${e}
213
- aria-label=${o}
214
- aria-current=${r ? "page" : n}
218
+ aria-label=${i}
219
+ aria-current=${n ? "page" : a}
215
220
  @click=${(t) => this.choose(t, e, e)}
216
221
  >${e}</a
217
- >` : l`<button
222
+ >` : c`<button
218
223
  type="button"
219
- class=${i}
224
+ class=${r}
220
225
  data-page=${e}
221
- aria-label=${o}
222
- aria-current=${r ? "page" : n}
226
+ aria-label=${i}
227
+ aria-current=${n ? "page" : a}
223
228
  @click=${(t) => this.choose(t, e, e)}
224
229
  >
225
230
  ${e}
226
231
  </button>`;
227
232
  }
228
233
  render() {
229
- let e = this.count, t = this.current, r = m(t, e), i = r.indexOf(t), o = g(t, this.pageSize, this.total, this.countUnit);
230
- return l`<div
231
- class=${a({
234
+ let e = this.count, t = this.current, n = m(t, e), r = n.indexOf(t), i = g(t, this.pageSize, this.total, this.countUnit, this.filteredFrom);
235
+ return c`<div
236
+ class=${u({
232
237
  "lintje-pagination": !0,
233
238
  "is-compact": this.compact,
234
239
  "is-stacked": this.stacked
235
240
  })}
236
241
  >
237
- ${o ? l`<p class="lintje-pagination__count">${o}</p>` : n}
242
+ ${i ? c`<p class="lintje-pagination__count">${i}</p>` : a}
238
243
  <nav class="lintje-pagination__nav" aria-label=${this.label}>
239
244
  ${this.step("previous", t - 1, t <= 1)}
240
245
  <span class="lintje-pagination__pages">
241
- ${s(r, (e, t) => e === "gap" ? t < i ? "gap-before" : "gap-after" : e, (e) => e === "gap" ? l`<span class="lintje-pagination__gap" aria-hidden="true">…</span>` : this.number(e, t))}
246
+ ${o(n, (e, t) => e === "gap" ? t < r ? "gap-before" : "gap-after" : e, (e) => e === "gap" ? c`<span class="lintje-pagination__gap" aria-hidden="true">…</span>` : this.number(e, t))}
242
247
  </span>
243
248
  <span class="lintje-pagination__where">Pagina ${t} van ${e}</span>
244
249
  ${this.step("next", t + 1, t >= e)}
@@ -247,6 +252,6 @@ var v = class extends d {
247
252
  </div>`;
248
253
  }
249
254
  };
250
- t("lintje-pagination", v);
255
+ n("lintje-pagination", v);
251
256
  //#endregion
252
257
  export { v as LintjePagination, m as pageRange, _ as parsePageSizes, g as rangeText };
@@ -1 +1 @@
1
- export * from '../types/primitives/popover/popover.js'
1
+ export * from '../types/components/overlays/popover/popover.js'
@@ -1 +1 @@
1
- export { L as LintjePopover } from "../chunks/base-Bg-IFOPG.js";
1
+ export { U as LintjePopover } from "../chunks/base-DRGvkF-r.js";
@@ -1 +1 @@
1
- export * from '../types/primitives/progress-bar/progress-bar.js'
1
+ export * from '../types/components/feedback/progress-bar/progress-bar.js'
@@ -1 +1 @@
1
- export { m as LintjeProgressBar } from "../chunks/base-Bg-IFOPG.js";
1
+ export { g as LintjeProgressBar } from "../chunks/base-DRGvkF-r.js";
@@ -1,12 +1,12 @@
1
- import { Bt as e, Ht as t, O as n, Z as r, ft as i, qt as a } from "../chunks/base-Bg-IFOPG.js";
1
+ import { P as e, St as t, Yt as n, Zt as r, nn as i, st as a } from "../chunks/base-DRGvkF-r.js";
2
2
  import { t as o } from "../chunks/prose-CmKVp5kL.js";
3
3
  //#region src/components/content/prose/prose.ts
4
- var s = class extends n {
4
+ var s = class extends e {
5
5
  constructor(...e) {
6
6
  super(...e), this.tone = "default";
7
7
  }
8
8
  static {
9
- this.styles = t(o);
9
+ this.styles = r(o);
10
10
  }
11
11
  static {
12
12
  this.properties = {
@@ -19,13 +19,13 @@ var s = class extends n {
19
19
  };
20
20
  }
21
21
  render() {
22
- let e = r({
22
+ let e = a({
23
23
  "lintje-prose": !0,
24
24
  [`lintje-prose--${this.tone}`]: this.tone !== "default"
25
25
  });
26
- return this.html ? a`<div class=${e}>${i(this.html)}</div>` : this.text ? a`<div class=${e}><p>${this.text}</p></div>` : a`<div class=${e}><slot></slot></div>`;
26
+ return this.html ? i`<div class=${e}>${t(this.html)}</div>` : this.text ? i`<div class=${e}><p>${this.text}</p></div>` : i`<div class=${e}><slot></slot></div>`;
27
27
  }
28
28
  };
29
- e("lintje-prose", s);
29
+ n("lintje-prose", s);
30
30
  //#endregion
31
31
  export { s as LintjeProse };
@@ -1,4 +1,4 @@
1
- import { Bt as e, Gt as t, Ht as n, Z as r, qt as i, zt as a } from "../chunks/base-Bg-IFOPG.js";
1
+ import { Jt as e, Yt as t, Zt as n, en as r, nn as i, st as a } from "../chunks/base-DRGvkF-r.js";
2
2
  import "./toast.js";
3
3
  import { t as o } from "../chunks/copied-7BXYVkXT.js";
4
4
  //#region src/components/actions/qr-code/qr-code.css?inline
@@ -795,7 +795,7 @@ function y(e, t) {
795
795
  let i = t ? ` fill="${t}"` : "", a = `<svg xmlns="http://www.w3.org/2000/svg" width="${n.size}" height="${n.size}" viewBox="0 0 ${n.size} ${n.size}" shape-rendering="crispEdges"><path${i} d="${r}"/></svg>`;
796
796
  return `data:image/svg+xml,${encodeURIComponent(a)}`;
797
797
  }
798
- var b = class extends a {
798
+ var b = class extends e {
799
799
  constructor(...e) {
800
800
  super(...e), this.src = "", this.value = "", this.copied = !1, this.failed = !1, this.status = "", this.made = "", this.tooLong = !1;
801
801
  }
@@ -860,7 +860,7 @@ var b = class extends a {
860
860
  }
861
861
  render() {
862
862
  return i`<div class="lintje-qr-code__zone">
863
- ${this.drawn ? i`<img class="lintje-qr-code__image" src=${this.drawn} alt=${this.alt} />` : this.tooLong ? i`<p class="lintje-qr-code__hint">${g}</p>` : t}
863
+ ${this.drawn ? i`<img class="lintje-qr-code__image" src=${this.drawn} alt=${this.alt} />` : this.tooLong ? i`<p class="lintje-qr-code__hint">${g}</p>` : r}
864
864
  </div>
865
865
  <lintje-button
866
866
  variant="secondary"
@@ -868,21 +868,21 @@ var b = class extends a {
868
868
  ?disabled=${!this.drawn}
869
869
  @click=${this.copy}
870
870
  ><span class="lintje-qr-code__labels"
871
- ><span class=${r({
871
+ ><span class=${a({
872
872
  "lintje-qr-code__label": !0,
873
873
  "is-hidden": this.copied
874
874
  })}
875
875
  >${p}</span
876
- ><span class=${r({
876
+ ><span class=${a({
877
877
  "lintje-qr-code__label": !0,
878
878
  "is-hidden": !this.copied
879
879
  })}
880
880
  >${m}</span
881
881
  ></span
882
882
  ></lintje-button
883
- ><span class="visually-hidden" role="status">${this.status || t}</span>${this.failed ? i`<lintje-toast kind="error" @lintje-close=${this.onToastClose}>${h}</lintje-toast>` : t}`;
883
+ ><span class="visually-hidden" role="status">${this.status || r}</span>${this.failed ? i`<lintje-toast kind="error" @lintje-close=${this.onToastClose}>${h}</lintje-toast>` : r}`;
884
884
  }
885
885
  };
886
- e("lintje-qr-code", b);
886
+ t("lintje-qr-code", b);
887
887
  //#endregion
888
888
  export { b as LintjeQrCode, y as codeImage };
@@ -1,15 +1,16 @@
1
- import { $ as e, Bt as t, Gt as n, Ht as r, Z as i, qt as a } from "../chunks/base-Bg-IFOPG.js";
2
- import { r as o, t as s } from "../chunks/input-BtuNFSWk.js";
1
+ import { Yt as e, Zt as t, en as n, lt as r, nn as i, st as a } from "../chunks/base-DRGvkF-r.js";
2
+ import { n as o } from "../chunks/input-BGMLam-O.js";
3
+ import { t as s } from "../chunks/input-lQTmOMOz.js";
3
4
  //#region src/components/inputs/radio-group/radio-group.css?inline
4
- var c = "/* The radio group's stack; the radio itself is the shared `choice`. */\n\n.lintje-radio-group { display: flex; flex-direction: column; }\n/* Cards: the options side by side, each with a line under its label. The chosen one is quiet, as\n in the segmented control: the choice's wash and an edge in the accent line. */\n.lintje-radio-group--cards {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(min(100%, calc(6 * var(--space-10))), 1fr));\n gap: var(--space-2);\n}\n.lintje-radio-group__card {\n align-items: flex-start;\n padding: var(--space-3);\n border: 1px solid var(--color-border-default);\n background: var(--color-bg-surface);\n}\n.lintje-radio-group__card:hover:not(.is-chosen, .is-disabled) { background: var(--color-bg-subtle); }\n.lintje-radio-group__card.is-chosen {\n background: var(--color-choice-active-bg);\n border-color: var(--color-accent-line);\n box-shadow: inset 0 0 0 1px var(--color-accent-line);\n}\n.lintje-radio-group__card .lintje-choice__label { display: flex; flex-direction: column; font-weight: 700; }\n.lintje-radio-group__description { font: var(--text-small); font-weight: 400; color: var(--color-text-muted); }\n\n/* Below 768 px the two text fields take the touch height; the choice rows already have it. */\n@media (max-width: 767px) {\n :host(lintje-text-input),\n :host(lintje-number-input) { --h-control: var(--h-touch); }\n}\n", l = class extends o {
5
+ var c = "/* The radio group's stack; the radio itself is the shared `choice`. */\n\n.lintje-radio-group { display: flex; flex-direction: column; }\n/* Cards: the options side by side, each with a line under its label. The chosen one is quiet, as\n in the segmented control: the choice's wash and an edge in the accent line. */\n.lintje-radio-group--cards {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(min(100%, calc(6 * var(--space-10))), 1fr));\n gap: var(--space-2);\n}\n.lintje-radio-group__card {\n align-items: flex-start;\n padding: var(--space-3);\n border: 1px solid var(--color-border-default);\n background: var(--color-bg-surface);\n}\n.lintje-radio-group__card:hover:not(.is-chosen, .is-disabled) { background: var(--color-bg-subtle); }\n.lintje-radio-group__card.is-chosen {\n background: var(--color-choice-active-bg);\n border-color: var(--color-accent-line);\n box-shadow: inset 0 0 0 1px var(--color-accent-line);\n}\n.lintje-radio-group__card .lintje-choice__label { display: flex; flex-direction: column; font-weight: 700; }\n.lintje-radio-group__description { font: var(--text-small); font-weight: 400; color: var(--color-text-muted); }\n\n/* Below 768 px the two text fields take the touch height; the choice rows already have it. */\n@media screen and (max-width: 767px) {\n :host(lintje-text-input),\n :host(lintje-number-input) { --h-control: var(--h-touch); }\n}\n", l = class extends o {
5
6
  constructor(...e) {
6
7
  super(...e), this.value = "", this.variant = "lines";
7
8
  }
8
9
  static {
9
10
  this.styles = [
10
- e,
11
- r(s),
12
- r(c)
11
+ r,
12
+ t(s),
13
+ t(c)
13
14
  ];
14
15
  }
15
16
  static {
@@ -26,7 +27,7 @@ var c = "/* The radio group's stack; the radio itself is the shared `choice`. */
26
27
  this.value = e, this.commit(e);
27
28
  }
28
29
  render() {
29
- return a`<div
30
+ return i`<div
30
31
  class="lintje-field"
31
32
  role="radiogroup"
32
33
  aria-labelledby=${this.labelId}
@@ -35,12 +36,12 @@ var c = "/* The radio group's stack; the radio itself is the shared `choice`. */
35
36
  aria-required=${this.required ? "true" : n}
36
37
  >
37
38
  ${this.renderLabel()}
38
- <div class=${i({
39
+ <div class=${a({
39
40
  "lintje-radio-group": !0,
40
41
  "lintje-radio-group--cards": this.variant === "cards"
41
42
  })}>
42
- ${(this.options ?? []).map((e) => a`<label
43
- class=${i({
43
+ ${(this.options ?? []).map((e) => i`<label
44
+ class=${a({
44
45
  "lintje-choice": !0,
45
46
  "lintje-radio-group__card": this.variant === "cards",
46
47
  "is-chosen": this.variant === "cards" && e.value === this.value,
@@ -58,7 +59,7 @@ var c = "/* The radio group's stack; the radio itself is the shared `choice`. */
58
59
  />
59
60
  <span class="lintje-choice__radio" aria-hidden="true"></span>
60
61
  <span class="lintje-choice__label"
61
- >${e.label}${this.variant === "cards" && e.description ? a`<span class="lintje-radio-group__description">${e.description}</span>` : n}</span
62
+ >${e.label}${this.variant === "cards" && e.description ? i`<span class="lintje-radio-group__description">${e.description}</span>` : n}</span
62
63
  >
63
64
  </label>`)}
64
65
  </div>
@@ -66,6 +67,6 @@ var c = "/* The radio group's stack; the radio itself is the shared `choice`. */
66
67
  </div>`;
67
68
  }
68
69
  };
69
- t("lintje-radio-group", l);
70
+ e("lintje-radio-group", l);
70
71
  //#endregion
71
72
  export { l as LintjeRadioGroup };