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,5 +1,5 @@
1
- import "./chunks/base-Bg-IFOPG.js";
1
+ import "./chunks/base-DRGvkF-r.js";
2
2
  import "./tag/modal.js";
3
- import "./tag/confirm-dialog.js";
3
+ import "./tag/dialog.js";
4
4
  import "./tag/drawer.js";
5
5
  import "./tag/toggletip.js";
@@ -84,6 +84,6 @@ De pagina is klaar als:
84
84
  De handleidingen staan in `<naslag>/guides/`: `start.md` (een eerste pagina en wat een formulier
85
85
  post), `loading.md` (laden en iconen), `events.md` (elk event en zijn
86
86
  antwoord), `theming.md` (thema, modus, embleem), `dashboard.md` (filters en de URL),
87
- `icons.md` (eigen iconen). Lees de handleiding van het onderwerp voordat je eraan begint. De
87
+ `icons.md` (eigen iconen), `page-contents.md` (een inhoudsopgave naast een lange tekst). Lees de handleiding van het onderwerp voordat je eraan begint. De
88
88
  styleguide (`https://h11t-labs.github.io/lintje/examples/styleguide/`) toont elke tag in zijn
89
89
  toestanden.
@@ -1,5 +1,5 @@
1
- import "./tag/list.js";
2
1
  import "./tag/description-list.js";
2
+ import "./tag/list.js";
3
3
  import "./tag/pagination.js";
4
4
  import "./tag/sortable-list.js";
5
5
  import "./tag/data-table.js";
@@ -1,6 +1,6 @@
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
  //#region src/components/tables/activity-log/activity-log.css?inline
3
- var o = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-activity-log {\n font: var(--text-ui);\n color: var(--color-text-primary);\n}\n.lintje-activity-log__heading {\n margin: 0 0 var(--space-3);\n font: var(--text-tile-title);\n}\n.lintje-activity-log__list { list-style: none; margin: 0; padding: 0; }\n\n.lintje-activity-log__entry { display: flex; gap: var(--space-3); }\n.lintje-activity-log__rail {\n flex: 0 0 10px;\n display: flex; flex-direction: column; align-items: center;\n}\n/* The square sits on the sentence's first line; this stub joins it to the square above. */\n.lintje-activity-log__rail::before {\n content: '';\n flex: 0 0 6px;\n width: 2px;\n background: var(--color-border-default);\n}\n.lintje-activity-log__entry.is-newest .lintje-activity-log__rail::before { visibility: hidden; }\n.lintje-activity-log__mark {\n flex: none;\n width: 10px; height: 10px;\n background: var(--color-border-heavy);\n}\n.lintje-activity-log__entry.is-newest .lintje-activity-log__mark { background: var(--color-accent-line); }\n.lintje-activity-log__line {\n flex: 1 1 auto;\n width: 2px;\n background: var(--color-border-default);\n}\n.lintje-activity-log__entry.is-last .lintje-activity-log__line { visibility: hidden; }\n\n.lintje-activity-log__body { min-width: 0; padding-bottom: var(--space-4); }\n.lintje-activity-log__entry.is-last .lintje-activity-log__body { padding-bottom: 0; }\n.lintje-activity-log__what { margin: 0; }\n.lintje-activity-log__who { font-weight: 700; }\n.lintje-activity-log__when {\n display: block;\n font: var(--text-meta);\n color: var(--color-text-muted);\n}\n\n.lintje-activity-log__more { margin-top: var(--space-3); }\n\n/* Forced colours drop fills, so the rail is drawn in the text colour. */\n@media (forced-colors: active) {\n .lintje-activity-log__rail::before,\n .lintje-activity-log__mark,\n .lintje-activity-log__line { forced-color-adjust: none; background: CanvasText; }\n .lintje-activity-log__entry.is-newest .lintje-activity-log__mark { background: Highlight; }\n}\n", s = 10, c = class extends a {
3
+ var o = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-activity-log {\n font: var(--text-ui);\n color: var(--color-text-primary);\n}\n.lintje-activity-log__heading {\n margin: 0 0 var(--space-3);\n font: var(--text-tile-title);\n}\n.lintje-activity-log__list { list-style: none; margin: 0; padding: 0; }\n\n.lintje-activity-log__entry { display: flex; gap: var(--space-3); }\n.lintje-activity-log__rail {\n flex: 0 0 10px;\n display: flex; flex-direction: column; align-items: center;\n}\n/* The square sits on the sentence's first line; this stub joins it to the square above. */\n.lintje-activity-log__rail::before {\n content: '';\n flex: 0 0 6px;\n width: 2px;\n background: var(--color-border-default);\n}\n.lintje-activity-log__entry.is-newest .lintje-activity-log__rail::before { visibility: hidden; }\n.lintje-activity-log__mark {\n flex: none;\n width: 10px; height: 10px;\n background: var(--color-border-heavy);\n}\n.lintje-activity-log__entry.is-newest .lintje-activity-log__mark { background: var(--color-accent-line); }\n.lintje-activity-log__line {\n flex: 1 1 auto;\n width: 2px;\n background: var(--color-border-default);\n}\n.lintje-activity-log__entry.is-last .lintje-activity-log__line { visibility: hidden; }\n\n.lintje-activity-log__body { min-width: 0; padding-bottom: var(--space-4); }\n.lintje-activity-log__entry.is-last .lintje-activity-log__body { padding-bottom: 0; }\n.lintje-activity-log__what { margin: 0; }\n.lintje-activity-log__who { font-weight: 700; }\n.lintje-activity-log__when {\n display: block;\n font: var(--text-meta);\n color: var(--color-text-muted);\n}\n\n.lintje-activity-log__more { margin-top: var(--space-3); }\n\n/* Forced colours drop fills, so the rail is drawn in the text colour. */\n@media (forced-colors: active) {\n .lintje-activity-log__rail::before,\n .lintje-activity-log__mark,\n .lintje-activity-log__line { forced-color-adjust: none; background: CanvasText; }\n .lintje-activity-log__entry.is-newest .lintje-activity-log__mark { background: Highlight; }\n}\n", s = 10, c = class extends e {
4
4
  constructor(...e) {
5
5
  super(...e), this.entries = [], this.level = 3, this.limit = s;
6
6
  }
@@ -22,19 +22,19 @@ var o = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
22
22
  t && (t.tabIndex = -1, t.focus());
23
23
  }
24
24
  renderHeading() {
25
- if (!this.heading) return t;
26
- let e = this.heading, n = "lintje-activity-log-heading";
25
+ if (!this.heading) return r;
26
+ let e = this.heading, t = "lintje-activity-log-heading";
27
27
  switch (this.level) {
28
- case 2: return i`<h2 id=${n} class="lintje-activity-log__heading">${e}</h2>`;
29
- case 4: return i`<h4 id=${n} class="lintje-activity-log__heading">${e}</h4>`;
30
- case 5: return i`<h5 id=${n} class="lintje-activity-log__heading">${e}</h5>`;
31
- case 6: return i`<h6 id=${n} class="lintje-activity-log__heading">${e}</h6>`;
32
- default: return i`<h3 id=${n} class="lintje-activity-log__heading">${e}</h3>`;
28
+ case 2: return i`<h2 id=${t} class="lintje-activity-log__heading">${e}</h2>`;
29
+ case 4: return i`<h4 id=${t} class="lintje-activity-log__heading">${e}</h4>`;
30
+ case 5: return i`<h5 id=${t} class="lintje-activity-log__heading">${e}</h5>`;
31
+ case 6: return i`<h6 id=${t} class="lintje-activity-log__heading">${e}</h6>`;
32
+ default: return i`<h3 id=${t} class="lintje-activity-log__heading">${e}</h3>`;
33
33
  }
34
34
  }
35
35
  entry(e, t, n) {
36
36
  return i`<li
37
- class=${r({
37
+ class=${a({
38
38
  "lintje-activity-log__entry": !0,
39
39
  "is-newest": t === 0,
40
40
  "is-last": n
@@ -53,24 +53,24 @@ var o = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
53
53
  </li>`;
54
54
  }
55
55
  render() {
56
- let e = this.entries.slice(0, Math.max(0, this.limit)), n = this.entries.length - e.length;
56
+ let e = this.entries.slice(0, Math.max(0, this.limit)), t = this.entries.length - e.length;
57
57
  return i`<section class="lintje-activity-log">
58
58
  ${this.renderHeading()}
59
59
  <ol
60
60
  class="lintje-activity-log__list"
61
- aria-labelledby=${this.heading ? "lintje-activity-log-heading" : t}
61
+ aria-labelledby=${this.heading ? "lintje-activity-log-heading" : r}
62
62
  >
63
63
  ${e.map((t, n) => this.entry(t, n, n === e.length - 1))}
64
64
  </ol>
65
- ${n > 0 ? i`<lintje-button
65
+ ${t > 0 ? i`<lintje-button
66
66
  class="lintje-activity-log__more"
67
67
  variant="link"
68
68
  @click=${() => void this.showMore()}
69
69
  >Toon eerdere</lintje-button
70
- >` : t}
70
+ >` : r}
71
71
  </section>`;
72
72
  }
73
73
  };
74
- e("lintje-activity-log", c);
74
+ t("lintje-activity-log", c);
75
75
  //#endregion
76
76
  export { c as LintjeActivityLog };
@@ -1,11 +1,11 @@
1
- import { $ as e, Bt as t, Gt as n, Ht as r, X as i, Y as a, et as o, qt as s, zt as c } from "../chunks/base-Bg-IFOPG.js";
1
+ import { Jt as e, Yt as t, Zt as n, at as r, en as i, lt as a, nn as o, ot as s, ut as c } from "../chunks/base-DRGvkF-r.js";
2
2
  //#region src/components/feedback/ai-label/ai-label.css?inline
3
- var l = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-ai-label {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--space-2) var(--space-3);\n}\n/* Unlike other badges this one may wrap: a long name would run past a 390 px screen. */\n.lintje-ai-label__box {\n max-width: 100%;\n height: auto;\n min-height: 1.5rem;\n line-height: 1.25;\n white-space: normal;\n}\n.lintje-ai-label__badge { display: inline-flex; align-items: center; gap: var(--space-1); min-width: 0; }\n.lintje-ai-label__icon { flex: none; }\n.lintje-ai-label__hint { font: var(--text-meta); color: var(--color-text-muted); }\n", u = "Controleer de tekst voor je hem gebruikt", d = class extends c {
3
+ var l = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-ai-label {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--space-2) var(--space-3);\n}\n/* Unlike other badges this one may wrap: a long name would run past a 390 px screen. */\n.lintje-ai-label__box {\n max-width: 100%;\n height: auto;\n min-height: 1.5rem;\n line-height: 1.25;\n white-space: normal;\n}\n.lintje-ai-label__badge { display: inline-flex; align-items: center; gap: var(--space-1); min-width: 0; }\n.lintje-ai-label__icon { flex: none; }\n.lintje-ai-label__hint { font: var(--text-meta); color: var(--color-text-muted); }\n", u = "Controleer de tekst voor je hem gebruikt", d = class extends e {
4
4
  static {
5
5
  this.styles = [
6
- e,
7
6
  a,
8
- r(l)
7
+ r,
8
+ n(l)
9
9
  ];
10
10
  }
11
11
  static {
@@ -18,18 +18,18 @@ var l = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: non
18
18
  };
19
19
  }
20
20
  render() {
21
- let e = !!this.checkedBy, t = this.hint ?? (e ? "" : u), r = s`<span class="lintje-ai-label__badge"
22
- >${o(e ? "functioneel-vinkje" : "gereedschap-half-tandwiel-half-brein", {
21
+ let e = !!this.checkedBy, t = this.hint ?? (e ? "" : u), n = o`<span class="lintje-ai-label__badge"
22
+ >${c(e ? "functioneel-vinkje" : "gereedschap-half-tandwiel-half-brein", {
23
23
  size: 14,
24
24
  className: "lintje-ai-label__icon"
25
25
  })}<span>${e ? `Gecontroleerd door ${this.checkedBy}` : "Gemaakt door AI"}</span></span
26
26
  >`;
27
- return s`<span class="lintje-ai-label">
28
- ${i({
29
- value: r,
27
+ return o`<span class="lintje-ai-label">
28
+ ${s({
29
+ value: n,
30
30
  tone: "neutral",
31
31
  className: "lintje-ai-label__box"
32
- })}${t ? s`<span class="lintje-ai-label__hint">${t}</span>` : n}
32
+ })}${t ? o`<span class="lintje-ai-label__hint">${t}</span>` : i}
33
33
  </span>`;
34
34
  }
35
35
  };
@@ -1,40 +1,21 @@
1
- import { $ as e, Bt as t, Gt as n, H as r, Ht as i, O as a, S as o, U as s, et as c, k as l, qt as u } from "../chunks/base-Bg-IFOPG.js";
2
- import { r as d } from "../chunks/focus-trap-9BnE-xWv.js";
1
+ import { F as e, M as t, N as n, P as r, Q as i, Yt as a, Z as o, Zt as s, en as c, lt as l, nn as u } from "../chunks/base-DRGvkF-r.js";
2
+ import { r as d } from "../chunks/focus-trap-Dv8zu64A.js";
3
3
  //#region src/components/shared/view-tile.css?inline
4
- var f = "/*\n * A view element around a tile: the tile fills the host, so the footnote\n * (`margin-top: auto`) reaches the bottom of the grid cell.\n * `display: block` because a standalone custom element is inline.\n */\n:host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) {\n display: none;\n}\n/* `min-height: inherit`: a held host has a min-height and no height, so `100%` resolves to auto. */\nlintje-tile {\n height: 100%;\n min-height: inherit;\n}\n", p = {
5
- warning: "functioneel-waarschuwing",
6
- outage: "functioneel-foutmelding",
7
- info: "functioneel-info",
8
- ok: "functioneel-cirkel-vinkje"
9
- }, m = {
10
- warning: "status",
11
- outage: "alert",
12
- info: "status",
13
- ok: "status"
14
- }, h = {
15
- warning: "Waarschuwing",
16
- outage: "Storing",
17
- info: "Informatie",
18
- ok: "Gelukt"
19
- }, g = (e) => `lintje-announcement-dismissed:${e}`, _ = class extends a {
4
+ var f = "/*\n * A view element around a tile: the tile fills the host, so the footnote\n * (`margin-top: auto`) reaches the bottom of the grid cell.\n * `display: block` because a standalone custom element is inline.\n */\n:host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) {\n display: none;\n}\n/* The grid cell moves to the next sheet whole; a tile split between its title and its drawing\n reads as two. */\n@media print {\n :host { break-inside: avoid; }\n}\n/* `min-height: inherit`: a held host has a min-height and no height, so `100%` resolves to auto. */\nlintje-tile {\n height: 100%;\n min-height: inherit;\n}\n", p = (e) => `lintje-announcement-dismissed:${e}`, m = class extends r {
20
5
  constructor(...e) {
21
- super(...e), this.compact = !1, this.dismissed = null, this.filled = null, this.fillFrame = 0;
6
+ super(...e), this.dismissed = null, this.filled = null, this.fillFrame = 0;
22
7
  }
23
8
  static {
24
9
  this.styles = [
25
- e,
26
10
  l,
27
- i(f),
28
- i(o)
11
+ e,
12
+ s(f),
13
+ t
29
14
  ];
30
15
  }
31
16
  static {
32
17
  this.properties = {
33
18
  data: { attribute: !1 },
34
- compact: {
35
- type: Boolean,
36
- reflect: !0
37
- },
38
19
  dismissed: { state: !0 },
39
20
  filled: { state: !0 }
40
21
  };
@@ -56,7 +37,7 @@ var f = "/*\n * A view element around a tile: the tile fills the host, so the fo
56
37
  if (this.dismissed === this.identity) return !0;
57
38
  if (!e.announcementId) return !1;
58
39
  try {
59
- return localStorage.getItem(g(e.announcementId)) === "1";
40
+ return localStorage.getItem(p(e.announcementId)) === "1";
60
41
  } catch {
61
42
  return !1;
62
43
  }
@@ -69,15 +50,15 @@ var f = "/*\n * A view element around a tile: the tile fills the host, so the fo
69
50
  return !1;
70
51
  }
71
52
  neighbour() {
72
- let e = d(document.body), t = e.indexOf(r());
53
+ let e = d(document.body), t = e.indexOf(o());
73
54
  if (t === -1) return null;
74
55
  let n = (e) => !this.holds(e);
75
56
  return e.slice(t + 1).find(n) ?? e.slice(0, t).reverse().find(n) ?? null;
76
57
  }
77
58
  async close() {
78
- let e = s(this) ? this.neighbour() : null, t = this.data?.announcementId;
59
+ let e = i(this) ? this.neighbour() : null, t = this.data?.announcementId;
79
60
  if (t) try {
80
- localStorage.setItem(g(t), "1");
61
+ localStorage.setItem(p(t), "1");
81
62
  } catch {}
82
63
  this.dismissed = this.identity, e && (await this.updateComplete, e.focus());
83
64
  }
@@ -91,56 +72,35 @@ var f = "/*\n * A view element around a tile: the tile fills the host, so the fo
91
72
  }
92
73
  render() {
93
74
  let e = this.data;
94
- if (!e || this.isDismissed) return n;
95
- let t = this.block(e), r = e.tile;
96
- return r ? u`<lintje-tile
97
- id=${this.id ? `${this.id}-tile` : n}
98
- span=${r.span ?? n}
99
- heading=${r.title ?? n}
100
- icon=${r.icon ?? n}
101
- subtitle=${r.subtitle ?? n}
102
- intro=${r.intro ?? n}
103
- footnote=${r.footnote ?? n}
75
+ if (!e || this.isDismissed) return c;
76
+ let t = this.block(e), n = e.tile;
77
+ return n ? u`<lintje-tile
78
+ id=${this.id ? `${this.id}-tile` : c}
79
+ span=${n.span ?? c}
80
+ heading=${n.title ?? c}
81
+ icon=${n.icon ?? c}
82
+ subtitle=${n.subtitle ?? c}
83
+ intro=${n.intro ?? c}
84
+ footnote=${n.footnote ?? c}
104
85
  >${t}</lintje-tile
105
86
  >` : t;
106
87
  }
107
88
  block(e) {
108
- let t = e.kind ?? "warning", r = !!e.dismissible && t !== "outage", i = e.live === !0, a = i && this.filled !== this.identity;
109
- return u`<div
110
- class="lintje-announcement lintje-announcement--${t} ${this.compact ? "is-compact" : ""}"
111
- role=${i ? m[t] ?? n : n}
112
- >
113
- ${a ? n : this.content(e, t, r)}
114
- </div>`;
115
- }
116
- content(e, t, r) {
117
- let i = u`<span class="visually-hidden">${h[t] ?? ""}: </span>`;
118
- return u`<span class="lintje-announcement__icon" aria-hidden="true"
119
- >${p[t] ? c(p[t], { size: 16 }) : n}</span
120
- >
121
- <div class="lintje-announcement__body">
122
- <div class="lintje-announcement__content">
123
- ${e.title ? u`<p class="lintje-announcement__title">${i}${e.title}</p>` : n}
124
- ${e.text ? u`<p class="lintje-announcement__text">${e.title ? n : i}${e.text}</p>` : n}
125
- ${e.meta || e.link ? u`<p class="lintje-announcement__meta">
126
- ${e.meta ?? n}${e.meta && e.link ? " · " : n}${e.link ? u`<a class="lintje-announcement__link" href=${e.link.href}
127
- >${e.link.label}</a
128
- >` : n}
129
- </p>` : n}
130
- </div>
131
- <slot name="action" class="lintje-announcement__action"></slot>
132
- </div>
133
- <slot name="media" class="lintje-announcement__media"></slot>
134
- ${r ? u`<button
135
- type="button"
136
- class="lintje-announcement__close"
137
- aria-label="Mededeling sluiten"
138
- @click=${() => void this.close()}
139
- >
140
- ${c("functioneel-kruis", { size: 16 })}
141
- </button>` : n}`;
89
+ let t = e.kind ?? "warning", r = !!e.dismissible && t !== "outage", i = e.live === !0;
90
+ return n({
91
+ kind: t,
92
+ title: e.title,
93
+ text: e.text,
94
+ meta: e.meta,
95
+ link: e.link,
96
+ live: i,
97
+ filled: this.filled === this.identity,
98
+ action: u`<slot name="action" class="lintje-announcement__action"></slot>`,
99
+ media: u`<slot name="media" class="lintje-announcement__media"></slot>`,
100
+ onClose: r ? () => void this.close() : void 0
101
+ });
142
102
  }
143
103
  };
144
- t("lintje-announcement", _);
104
+ a("lintje-announcement", m);
145
105
  //#endregion
146
- export { _ as LintjeAnnouncement, f as t };
106
+ export { m as LintjeAnnouncement, f as t };
@@ -1,10 +1,10 @@
1
- import { $ as e, Bt as t, Gt as n, Ht as r, I as i, It as a, Lt as o, Nt as s, St as c, Z as l, et as u, qt as d, zt as f } from "../chunks/base-Bg-IFOPG.js";
2
- import { t as p } from "../chunks/focus-trap-9BnE-xWv.js";
1
+ import { Gt as e, H as t, Ht as n, Jt as r, Kt as i, Yt as a, Zt as o, en as s, jt as c, lt as l, nn as u, st as d, ut as f } from "../chunks/base-DRGvkF-r.js";
2
+ import { t as p } from "../chunks/focus-trap-Dv8zu64A.js";
3
3
  import { t as m } from "../chunks/dialog-close-u75fVEw4.js";
4
4
  import { t as h } from "../chunks/key-CuuOw1KE.js";
5
5
  import { t as g } from "../chunks/debounce-JXnLMCcF.js";
6
6
  //#region src/components/frame/app-search/app-search.css?inline
7
- var _ = ":host { display: contents; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-app-search__scrim {\n position: fixed;\n z-index: 80;\n inset: 0;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n padding: calc(var(--space-10) * 2) var(--space-6) var(--space-6);\n background: var(--color-overlay-page);\n animation: lintje-fade-in var(--dur-scrim) var(--ease-in-motion);\n}\n\n.lintje-app-search {\n display: flex;\n flex-direction: column;\n width: min(560px, 100%);\n max-height: 100%;\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n border: 1px solid var(--color-border-strong);\n box-shadow: var(--shadow-popover);\n font: var(--text-ui);\n animation: lintje-rise var(--dur-modal) var(--ease-in-motion);\n}\n/* The window takes focus only when the trap pulls stray focus back; the field draws the ring. */\n.lintje-app-search:focus { outline: none; }\n\n.lintje-app-search__field {\n position: relative;\n display: flex;\n align-items: center;\n flex: none;\n padding: var(--space-3);\n background: var(--color-bg-filter);\n border-bottom: 1px solid var(--color-border-default);\n}\n.lintje-app-search__icon {\n position: absolute;\n left: calc(var(--space-3) * 2);\n color: var(--color-text-muted);\n pointer-events: none;\n}\n/* A field like every other, so its focus ring has room inside the band. */\n.lintje-app-search__input {\n flex: 1;\n min-width: 0;\n height: var(--h-control);\n /* Clears the glyph. */\n padding: 0 var(--space-3) 0 calc(var(--space-3) + 20px + var(--space-3));\n border: 1px solid var(--color-border-field);\n background: var(--color-bg-surface);\n font-size: 1rem;\n}\n.lintje-app-search__input::-webkit-search-cancel-button { display: none; }\n\n.lintje-app-search__results {\n flex: 1 1 auto;\n min-height: 0;\n overflow-y: auto;\n padding: var(--space-3) 0 var(--space-2);\n}\n\n.lintje-app-search__heading {\n padding: var(--space-3) var(--space-4) var(--space-2);\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.lintje-app-search__group:first-child .lintje-app-search__heading { padding-top: 0; }\n\n.lintje-app-search__option {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-4);\n min-height: var(--h-control);\n padding: 0 var(--space-4);\n color: var(--color-text-primary);\n text-decoration: none;\n cursor: pointer;\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-app-search__option + .lintje-app-search__option { border-top: 1px solid var(--color-border-default); }\n.lintje-app-search__option:hover { background: var(--color-bg-subtle); }\n/* The chosen row has the virtual focus (`aria-activedescendant`), so it draws the focus ring,\n inside; the fill alone is too faint to find. */\n.lintje-app-search__option.is-active {\n background: var(--color-bg-selected);\n outline: var(--focus-width) solid var(--color-focus);\n outline-offset: calc(var(--focus-width) * -1);\n}\n.lintje-app-search__label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.lintje-app-search__match { font-weight: 700; }\n.lintje-app-search__meta { flex: none; color: var(--color-text-muted); }\n\n.lintje-app-search__busy { display: flex; align-items: center; justify-content: center; padding: var(--space-4); color: var(--color-text-muted); }\n.lintje-app-search__empty { margin: 0; padding: var(--space-4); text-align: center; color: var(--color-text-muted); }\n\n.lintje-app-search__keys {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n flex: none;\n gap: var(--space-1) var(--space-6);\n margin: 0;\n padding: var(--space-3) var(--space-4);\n background: var(--color-bg-filter);\n border-top: 1px solid var(--color-border-default);\n font-size: 0.875rem;\n color: var(--color-text-muted);\n}\n.lintje-app-search__hint { display: inline-flex; align-items: center; gap: var(--space-1); }\n\n.lintje-app-search__close:hover { color: var(--color-text-primary); }\n\n/* Phone: a sheet from below, as \"Weergave\", \"Delen\" and the filters open, with their head. Its\n height stays as the results change, and the field stands high, above the keyboard. */\n.lintje-app-search__header {\n display: flex; align-items: center; gap: var(--space-2);\n flex: none;\n padding: var(--space-4);\n border-bottom: 1px solid var(--color-border-default);\n}\n.lintje-app-search__title { flex: 1; margin: 0; font: var(--text-h2); }\n\n@media (max-width: 767px) {\n .lintje-app-search__scrim { align-items: flex-end; padding: 0; }\n .lintje-app-search {\n width: 100%;\n height: 88vh;\n border: 0;\n border-top: 1px solid var(--color-border-strong);\n box-shadow: none;\n animation: lintje-sheet-in var(--dur-sheet) var(--ease-in-motion);\n }\n .lintje-app-search__input { height: var(--h-touch); }\n .lintje-app-search__option { min-height: var(--h-touch); }\n}\n\n/* Forced colours drop the fill; the ring takes Highlight. */\n@media (forced-colors: active) {\n .lintje-app-search__option.is-active { outline: 2px solid Highlight; outline-offset: -2px; }\n}\n", v = 200, y = 0;
7
+ var _ = ":host { display: contents; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-app-search__scrim {\n position: fixed;\n z-index: 80;\n inset: 0;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n padding: calc(var(--space-10) * 2) var(--space-6) var(--space-6);\n background: var(--color-overlay-page);\n animation: lintje-fade-in var(--dur-scrim) var(--ease-in-motion);\n}\n\n.lintje-app-search {\n display: flex;\n flex-direction: column;\n width: min(560px, 100%);\n max-height: 100%;\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n border: 1px solid var(--color-border-strong);\n box-shadow: var(--shadow-popover);\n font: var(--text-ui);\n animation: lintje-rise var(--dur-modal) var(--ease-in-motion);\n}\n/* The window takes focus only when the trap pulls stray focus back; the field draws the ring. */\n.lintje-app-search:focus { outline: none; }\n\n.lintje-app-search__field {\n position: relative;\n display: flex;\n align-items: center;\n flex: none;\n padding: var(--space-3);\n background: var(--color-bg-filter);\n border-bottom: 1px solid var(--color-border-default);\n}\n.lintje-app-search__icon {\n position: absolute;\n left: calc(var(--space-3) * 2);\n color: var(--color-text-muted);\n pointer-events: none;\n}\n/* A field like every other, so its focus ring has room inside the band. */\n.lintje-app-search__input {\n flex: 1;\n min-width: 0;\n height: var(--h-control);\n /* Clears the glyph. */\n padding: 0 var(--space-3) 0 calc(var(--space-3) + 20px + var(--space-3));\n border: 1px solid var(--color-border-field);\n background: var(--color-bg-surface);\n font-size: 1rem;\n}\n.lintje-app-search__input::-webkit-search-cancel-button { display: none; }\n\n.lintje-app-search__results {\n flex: 1 1 auto;\n min-height: 0;\n overflow-y: auto;\n padding: var(--space-3) 0 var(--space-2);\n}\n\n.lintje-app-search__heading {\n padding: var(--space-3) var(--space-4) var(--space-2);\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.lintje-app-search__group:first-child .lintje-app-search__heading { padding-top: 0; }\n\n.lintje-app-search__option {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-4);\n min-height: var(--h-control);\n padding: 0 var(--space-4);\n color: var(--color-text-primary);\n text-decoration: none;\n cursor: pointer;\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-app-search__option + .lintje-app-search__option { border-top: 1px solid var(--color-border-default); }\n.lintje-app-search__option:hover { background: var(--color-bg-subtle); }\n/* The chosen row has the virtual focus (`aria-activedescendant`), so it draws the focus ring,\n inside; the fill alone is too faint to find. */\n.lintje-app-search__option.is-active {\n background: var(--color-bg-selected);\n outline: var(--focus-width) solid var(--color-focus);\n outline-offset: calc(var(--focus-width) * -1);\n}\n.lintje-app-search__label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.lintje-app-search__match { font-weight: 700; }\n.lintje-app-search__meta { flex: none; color: var(--color-text-muted); }\n\n.lintje-app-search__busy { display: flex; align-items: center; justify-content: center; padding: var(--space-4); color: var(--color-text-muted); }\n.lintje-app-search__empty { margin: 0; padding: var(--space-4); text-align: center; color: var(--color-text-muted); }\n\n.lintje-app-search__keys {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n flex: none;\n gap: var(--space-1) var(--space-6);\n margin: 0;\n padding: var(--space-3) var(--space-4);\n background: var(--color-bg-filter);\n border-top: 1px solid var(--color-border-default);\n font-size: 0.875rem;\n color: var(--color-text-muted);\n}\n.lintje-app-search__hint { display: inline-flex; align-items: center; gap: var(--space-1); }\n\n.lintje-app-search__close:hover { color: var(--color-text-primary); }\n\n/* Phone: a sheet from below, as \"Weergave\", \"Delen\" and the filters open, with their head. Its\n height stays as the results change, and the field stands high, above the keyboard. */\n.lintje-app-search__header {\n display: flex; align-items: center; gap: var(--space-2);\n flex: none;\n padding: var(--space-4);\n border-bottom: 1px solid var(--color-border-default);\n}\n.lintje-app-search__title { flex: 1; margin: 0; font: var(--text-h2); }\n\n@media screen and (max-width: 767px) {\n .lintje-app-search__scrim { align-items: flex-end; padding: 0; }\n .lintje-app-search {\n width: 100%;\n height: 88vh;\n border: 0;\n border-top: 1px solid var(--color-border-strong);\n box-shadow: none;\n animation: lintje-sheet-in var(--dur-sheet) var(--ease-in-motion);\n }\n .lintje-app-search__input { height: var(--h-touch); }\n .lintje-app-search__option { min-height: var(--h-touch); }\n}\n\n/* Forced colours drop the fill; the ring takes Highlight. */\n@media (forced-colors: active) {\n .lintje-app-search__option.is-active { outline: 2px solid Highlight; outline-offset: -2px; }\n}\n", v = 200, y = 0;
8
8
  function b(e, t) {
9
9
  let n = t.trim();
10
10
  if (!n) return null;
@@ -18,18 +18,18 @@ function b(e, t) {
18
18
  function x(e, t, n) {
19
19
  return n ? "" : e === 0 ? t.trim() ? `Geen resultaten voor “${t.trim()}”` : "" : e === 1 ? "1 resultaat" : `${e} resultaten`;
20
20
  }
21
- var S = class extends f {
22
- constructor(...e) {
23
- super(...e), this.open = !1, this.label = "Zoeken", this.query = "", this.loading = !1, this.groups = [], this.active = -1, this.#e = new o(this, a), this.#t = new g(this, 200), this.#n = `lintje-app-search-${++y}`, this.#r = null, this.#i = null, this.#a = new p(), this.#o = (e) => {
21
+ var S = class extends r {
22
+ constructor(...t) {
23
+ super(...t), this.open = !1, this.label = "Zoeken", this.query = "", this.loading = !1, this.groups = [], this.active = -1, this.#e = new i(this, e), this.#t = new g(this, 200), this.#n = `lintje-app-search-${++y}`, this.#r = null, this.#i = null, this.#a = new p(), this.#o = (e) => {
24
24
  e.key === "Escape" && this.#a.isTopmost() && this.close("escape");
25
25
  };
26
26
  }
27
27
  static {
28
28
  this.styles = [
29
- e,
30
- r(m),
31
- r(h),
32
- r(_)
29
+ l,
30
+ o(m),
31
+ o(h),
32
+ o(_)
33
33
  ];
34
34
  }
35
35
  static {
@@ -86,7 +86,7 @@ var S = class extends f {
86
86
  super.updated(e), this.open && !this.#i ? this.#s() : !this.open && this.#i && this.#c(), e.has("active") && this.active >= 0 && this.renderRoot.querySelector(`#${this.optionId(this.active)}`)?.scrollIntoView?.({ block: "nearest" });
87
87
  }
88
88
  #s() {
89
- this.#i = s(), document.addEventListener("keydown", this.#o);
89
+ this.#i = n(), document.addEventListener("keydown", this.#o);
90
90
  let e = this.renderRoot.querySelector(".lintje-app-search");
91
91
  e && this.#a.activate(e, { focus: this.input ?? !0 });
92
92
  }
@@ -112,59 +112,59 @@ var S = class extends f {
112
112
  }
113
113
  }
114
114
  }
115
- choose(e, t) {
115
+ choose(e, n) {
116
116
  if (e.href) {
117
- if (t && !i(t)) return;
118
- this.followLink(e.href, t);
117
+ if (n && !t(n)) return;
118
+ this.followLink(e.href, n);
119
119
  } else this.emit("lintje-action", e.id);
120
120
  this.close("choice");
121
121
  }
122
122
  renderLabel(e) {
123
123
  let t = b(e, this.query);
124
- return t ? d`${t[0]}<strong class="lintje-app-search__match">${t[1]}</strong>${t[2]}` : d`${e}`;
124
+ return t ? u`${t[0]}<strong class="lintje-app-search__match">${t[1]}</strong>${t[2]}` : u`${e}`;
125
125
  }
126
126
  renderOption(e, t) {
127
- let r = t === this.active, i = l({
127
+ let n = t === this.active, r = d({
128
128
  "lintje-app-search__option": !0,
129
- "is-active": r
130
- }), a = d`<span class="lintje-app-search__label">${this.renderLabel(e.label)}</span>${e.meta ? d`<span class="lintje-app-search__meta">${e.meta}</span>` : n}`, o = (t) => this.choose(e, t);
131
- return e.href ? d`<a
129
+ "is-active": n
130
+ }), i = u`<span class="lintje-app-search__label">${this.renderLabel(e.label)}</span>${e.meta ? u`<span class="lintje-app-search__meta">${e.meta}</span>` : s}`, a = (t) => this.choose(e, t);
131
+ return e.href ? u`<a
132
132
  id=${this.optionId(t)}
133
- class=${i}
133
+ class=${r}
134
134
  role="option"
135
- aria-selected=${String(r)}
135
+ aria-selected=${String(n)}
136
136
  tabindex="-1"
137
137
  href=${e.href}
138
- @click=${o}
139
- >${a}</a
140
- >` : d`<div
138
+ @click=${a}
139
+ >${i}</a
140
+ >` : u`<div
141
141
  id=${this.optionId(t)}
142
- class=${i}
142
+ class=${r}
143
143
  role="option"
144
- aria-selected=${String(r)}
145
- @click=${o}
144
+ aria-selected=${String(n)}
145
+ @click=${a}
146
146
  >
147
- ${a}
147
+ ${i}
148
148
  </div>`;
149
149
  }
150
150
  renderResults() {
151
- let e = 0, t = `${this.#n}-list`, r = this.results.length, i = this.query.trim();
152
- return d`
153
- ${this.loading ? d`<div class="lintje-app-search__busy">
151
+ let e = 0, t = `${this.#n}-list`, n = this.results.length, r = this.query.trim();
152
+ return u`
153
+ ${this.loading ? u`<div class="lintje-app-search__busy">
154
154
  <lintje-spinner label="Zoeken"></lintje-spinner>
155
- </div>` : !r && i ? d`<p class="lintje-app-search__empty">Geen resultaten voor “${i}”</p>` : n}
155
+ </div>` : !n && r ? u`<p class="lintje-app-search__empty">Geen resultaten voor “${r}”</p>` : s}
156
156
  <div
157
157
  id=${t}
158
158
  class="lintje-app-search__list"
159
159
  role="listbox"
160
160
  aria-label="Resultaten"
161
- ?hidden=${this.loading || !r}
161
+ ?hidden=${this.loading || !n}
162
162
  >
163
- ${this.groups.map((t, r) => {
164
- if (!t.items.length) return n;
165
- let i = `${this.#n}-group-${r}`;
166
- return d`<div class="lintje-app-search__group" role="group" aria-labelledby=${i}>
167
- <div id=${i} class="lintje-app-search__heading">${t.label}</div>
163
+ ${this.groups.map((t, n) => {
164
+ if (!t.items.length) return s;
165
+ let r = `${this.#n}-group-${n}`;
166
+ return u`<div class="lintje-app-search__group" role="group" aria-labelledby=${r}>
167
+ <div id=${r} class="lintje-app-search__heading">${t.label}</div>
168
168
  ${t.items.map((t) => this.renderOption(t, e++))}
169
169
  </div>`;
170
170
  })}
@@ -172,9 +172,9 @@ var S = class extends f {
172
172
  `;
173
173
  }
174
174
  render() {
175
- if (!this.open) return n;
176
- let e = `${this.#n}-list`, t = this.results.length, r = !this.loading && t > 0;
177
- return d`<div class="lintje-app-search__scrim" @click=${() => this.close("scrim")}>
175
+ if (!this.open) return s;
176
+ let e = `${this.#n}-list`, t = this.results.length, n = !this.loading && t > 0;
177
+ return u`<div class="lintje-app-search__scrim" @click=${() => this.close("scrim")}>
178
178
  <div
179
179
  class="lintje-app-search"
180
180
  role="dialog"
@@ -183,7 +183,7 @@ var S = class extends f {
183
183
  tabindex="-1"
184
184
  @click=${(e) => e.stopPropagation()}
185
185
  >
186
- ${this.#e.matches ? d`<div class="lintje-app-search__header">
186
+ ${this.#e.matches ? u`<div class="lintje-app-search__header">
187
187
  <h2 class="lintje-app-search__title">Zoeken</h2>
188
188
  <button
189
189
  type="button"
@@ -191,11 +191,11 @@ var S = class extends f {
191
191
  aria-label="Zoeken sluiten"
192
192
  @click=${() => this.close("button")}
193
193
  >
194
- ${u("functioneel-kruis", { size: 16 })}
194
+ ${f("functioneel-kruis", { size: 16 })}
195
195
  </button>
196
- </div>` : n}
196
+ </div>` : s}
197
197
  <div class="lintje-app-search__field">
198
- ${u("functioneel-zoek", {
198
+ ${f("functioneel-zoek", {
199
199
  size: 20,
200
200
  className: "lintje-app-search__icon"
201
201
  })}
@@ -207,9 +207,9 @@ var S = class extends f {
207
207
  spellcheck="false"
208
208
  aria-label=${this.label}
209
209
  aria-autocomplete="list"
210
- aria-expanded=${String(r)}
210
+ aria-expanded=${String(n)}
211
211
  aria-controls=${e}
212
- aria-activedescendant=${r && this.active >= 0 ? this.optionId(this.active) : n}
212
+ aria-activedescendant=${n && this.active >= 0 ? this.optionId(this.active) : s}
213
213
  .value=${this.query}
214
214
  @input=${this.onInput}
215
215
  @keydown=${this.onFieldKeydown}
@@ -225,7 +225,7 @@ var S = class extends f {
225
225
  <p class="visually-hidden" aria-live="polite">
226
226
  ${x(t, this.query, this.loading)}
227
227
  </p>
228
- ${this.#e.matches ? n : d`<p class="lintje-app-search__keys">
228
+ ${this.#e.matches ? s : u`<p class="lintje-app-search__keys">
229
229
  <span class="lintje-app-search__hint"
230
230
  ><kbd class="lintje-key">↑</kbd><kbd class="lintje-key">↓</kbd> kiezen</span
231
231
  >
@@ -236,6 +236,6 @@ var S = class extends f {
236
236
  </div>`;
237
237
  }
238
238
  };
239
- t("lintje-app-search", S);
239
+ a("lintje-app-search", S);
240
240
  //#endregion
241
241
  export { S as LintjeAppSearch, v as SEARCH_DELAY, x as resultsMessage, b as splitMatch };