lintje 0.2.0 → 0.3.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 (276) 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-CbmWxUig.js} +444 -272
  4. package/dist-elements/chunks/{controls-B1455oPG.js → controls-DxmnDSBr.js} +6 -0
  5. package/dist-elements/chunks/dialog-DChINFxD.js +28 -0
  6. package/dist-elements/chunks/{disclosure-BXTX04gM.js → disclosure-D39vAR5q.js} +1 -1
  7. package/dist-elements/chunks/{disclosure-CMXhX-Vb.js → disclosure-DLkXPUpV.js} +6 -6
  8. package/dist-elements/chunks/download-Ct9q2anY.js +206 -0
  9. package/dist-elements/chunks/{focus-trap-9BnE-xWv.js → focus-trap-BwOxE5BX.js} +1 -1
  10. package/dist-elements/chunks/input-CRW_exv_.js +195 -0
  11. package/dist-elements/chunks/{player-DXOZEyEy.js → player-B8QXJ0Z5.js} +26 -26
  12. package/dist-elements/chunks/{sentence-BI3lwEuT.js → sentence-B19AyZBS.js} +3 -3
  13. package/dist-elements/chunks/{stagger-qGD3wmhg.js → stagger-BHoOgy0g.js} +81 -75
  14. package/dist-elements/core.js +1 -1
  15. package/dist-elements/custom-elements.json +980 -670
  16. package/dist-elements/data-types.json +6798 -0
  17. package/dist-elements/feedback.js +2 -1
  18. package/dist-elements/frame.js +0 -2
  19. package/dist-elements/guides/dashboard.md +8 -0
  20. package/dist-elements/guides/events.md +4 -5
  21. package/dist-elements/guides/loading.md +8 -7
  22. package/dist-elements/guides/page-contents.md +110 -0
  23. package/dist-elements/guides/start.md +12 -0
  24. package/dist-elements/inputs.js +2 -1
  25. package/dist-elements/layout.js +1 -1
  26. package/dist-elements/lintje.js +6975 -6120
  27. package/dist-elements/overlays.js +2 -2
  28. package/dist-elements/skills/lintje/SKILL.md +1 -1
  29. package/dist-elements/tables.js +1 -1
  30. package/dist-elements/tag/activity-log.js +15 -15
  31. package/dist-elements/tag/ai-label.js +10 -10
  32. package/dist-elements/tag/announcement.js +36 -76
  33. package/dist-elements/tag/app-search.js +49 -49
  34. package/dist-elements/tag/audio-player.js +57 -57
  35. package/dist-elements/tag/badge.js +1 -1
  36. package/dist-elements/tag/breadcrumbs.js +15 -15
  37. package/dist-elements/tag/button.js +1 -1
  38. package/dist-elements/tag/card-list.js +12 -12
  39. package/dist-elements/tag/card.js +39 -44
  40. package/dist-elements/tag/chart.js +1050 -795
  41. package/dist-elements/tag/chat-answer.js +49 -49
  42. package/dist-elements/tag/chat-composer.js +75 -71
  43. package/dist-elements/tag/chat-message.js +8 -8
  44. package/dist-elements/tag/chat-strip.js +22 -22
  45. package/dist-elements/tag/chat-suggestions.js +12 -12
  46. package/dist-elements/tag/chat.js +56 -56
  47. package/dist-elements/tag/checkbox-group.d.ts +1 -0
  48. package/dist-elements/tag/checkbox-group.js +59 -0
  49. package/dist-elements/tag/checkbox.js +8 -8
  50. package/dist-elements/tag/code.js +9 -9
  51. package/dist-elements/tag/combobox.js +18 -18
  52. package/dist-elements/tag/conflict-alert.js +12 -12
  53. package/dist-elements/tag/copy-button.js +14 -14
  54. package/dist-elements/tag/data-table.js +878 -530
  55. package/dist-elements/tag/date-input.js +30 -30
  56. package/dist-elements/tag/date-range.js +37 -37
  57. package/dist-elements/tag/description-list.js +29 -32
  58. package/dist-elements/tag/dialog.d.ts +1 -0
  59. package/dist-elements/tag/dialog.js +144 -0
  60. package/dist-elements/tag/document-viewer.js +23 -23
  61. package/dist-elements/tag/drawer.js +28 -32
  62. package/dist-elements/tag/empty-state.js +19 -30
  63. package/dist-elements/tag/error-page.d.ts +1 -0
  64. package/dist-elements/tag/error-page.js +109 -0
  65. package/dist-elements/tag/error-summary.js +10 -10
  66. package/dist-elements/tag/expander.js +8 -8
  67. package/dist-elements/tag/explainer.js +11 -11
  68. package/dist-elements/tag/field.js +5 -5
  69. package/dist-elements/tag/file-upload.js +34 -34
  70. package/dist-elements/tag/filter-bar.js +56 -56
  71. package/dist-elements/tag/filter-sheet.js +11 -11
  72. package/dist-elements/tag/filter-zone.js +31 -31
  73. package/dist-elements/tag/footer.js +21 -21
  74. package/dist-elements/tag/form-actions.js +29 -25
  75. package/dist-elements/tag/form-section.js +6 -6
  76. package/dist-elements/tag/form.js +12 -12
  77. package/dist-elements/tag/gallery.js +14 -14
  78. package/dist-elements/tag/grid-item.js +1 -1
  79. package/dist-elements/tag/grid.js +1 -1
  80. package/dist-elements/tag/hero.js +12 -12
  81. package/dist-elements/tag/highlight.js +5 -5
  82. package/dist-elements/tag/icon-button.js +1 -1
  83. package/dist-elements/tag/icon.js +1 -1
  84. package/dist-elements/tag/job-list.js +22 -44
  85. package/dist-elements/tag/kpi-row.js +12 -10
  86. package/dist-elements/tag/kpi.js +146 -137
  87. package/dist-elements/tag/level-meter.js +11 -11
  88. package/dist-elements/tag/list.js +55 -55
  89. package/dist-elements/tag/logo.js +30 -30
  90. package/dist-elements/tag/map.js +690 -665
  91. package/dist-elements/tag/menu-button.js +70 -69
  92. package/dist-elements/tag/modal.js +28 -37
  93. package/dist-elements/tag/multiselect.js +34 -34
  94. package/dist-elements/tag/note.js +5 -5
  95. package/dist-elements/tag/notifications.js +36 -36
  96. package/dist-elements/tag/number-input.js +12 -12
  97. package/dist-elements/tag/page-header.js +140 -37
  98. package/dist-elements/tag/pagination.js +53 -48
  99. package/dist-elements/tag/popover.js +1 -1
  100. package/dist-elements/tag/progress-bar.js +1 -1
  101. package/dist-elements/tag/prose.js +6 -6
  102. package/dist-elements/tag/qr-code.js +7 -7
  103. package/dist-elements/tag/radio-group.js +12 -12
  104. package/dist-elements/tag/range.js +22 -22
  105. package/dist-elements/tag/recording-status.js +14 -14
  106. package/dist-elements/tag/repeater.js +10 -10
  107. package/dist-elements/tag/segmented.js +13 -13
  108. package/dist-elements/tag/select.js +10 -10
  109. package/dist-elements/tag/shell.js +356 -339
  110. package/dist-elements/tag/skeleton.js +1 -1
  111. package/dist-elements/tag/slot-picker.js +14 -14
  112. package/dist-elements/tag/sortable-list.js +14 -14
  113. package/dist-elements/tag/spinner.js +1 -1
  114. package/dist-elements/tag/split-pane.js +12 -12
  115. package/dist-elements/tag/status-dot.js +1 -1
  116. package/dist-elements/tag/stepper.js +21 -21
  117. package/dist-elements/tag/streaming-text.js +13 -13
  118. package/dist-elements/tag/sub-nav.js +39 -38
  119. package/dist-elements/tag/tabs.js +38 -38
  120. package/dist-elements/tag/tag-input.js +19 -19
  121. package/dist-elements/tag/text-editor.js +24 -24
  122. package/dist-elements/tag/text-input.js +14 -14
  123. package/dist-elements/tag/textarea.js +14 -14
  124. package/dist-elements/tag/tile.js +1 -1
  125. package/dist-elements/tag/time-input.js +19 -19
  126. package/dist-elements/tag/toast.js +32 -23
  127. package/dist-elements/tag/toggle.js +8 -8
  128. package/dist-elements/tag/toggletip.js +27 -27
  129. package/dist-elements/tag/tooltip.js +1 -1
  130. package/dist-elements/tag/transcript.js +48 -48
  131. package/dist-elements/tag/translator.js +13 -13
  132. package/dist-elements/tag/tree-view.js +13 -13
  133. package/dist-elements/tag/user-menu.js +37 -37
  134. package/dist-elements/tag/video-player.js +21 -21
  135. package/dist-elements/tokens.css +120 -96
  136. package/dist-elements/types/bundle/feedback.d.ts +1 -0
  137. package/dist-elements/types/bundle/frame.d.ts +0 -2
  138. package/dist-elements/types/bundle/inputs.d.ts +1 -0
  139. package/dist-elements/types/bundle/overlays.d.ts +1 -1
  140. package/dist-elements/types/components/actions/copy-button/copy-button.d.ts +6 -7
  141. package/dist-elements/types/components/actions/menu-button/menu-button.d.ts +13 -15
  142. package/dist-elements/types/components/actions/qr-code/qr-code.d.ts +9 -9
  143. package/dist-elements/types/components/charts/chart/chart.d.ts +5 -4
  144. package/dist-elements/types/components/charts/kpi/kpi.d.ts +16 -8
  145. package/dist-elements/types/components/charts/kpi-row/kpi-row.d.ts +1 -7
  146. package/dist-elements/types/components/charts/note/note.d.ts +1 -1
  147. package/dist-elements/types/components/chat/chat/chat.d.ts +8 -10
  148. package/dist-elements/types/components/chat/chat-answer/chat-answer.d.ts +7 -8
  149. package/dist-elements/types/components/chat/chat-composer/chat-composer.d.ts +8 -10
  150. package/dist-elements/types/components/chat/chat-message/chat-message.d.ts +6 -7
  151. package/dist-elements/types/components/chat/chat-strip/chat-strip.d.ts +5 -5
  152. package/dist-elements/types/components/chat/chat-suggestions/chat-suggestions.d.ts +9 -10
  153. package/dist-elements/types/components/content/audio-player/audio-player.d.ts +10 -12
  154. package/dist-elements/types/components/content/code/code.d.ts +2 -3
  155. package/dist-elements/types/components/content/document-viewer/document-viewer.d.ts +8 -9
  156. package/dist-elements/types/components/content/gallery/gallery.d.ts +5 -4
  157. package/dist-elements/types/components/content/highlight/highlight.d.ts +4 -3
  158. package/dist-elements/types/components/content/prose/prose.d.ts +2 -3
  159. package/dist-elements/types/components/content/transcript/transcript.d.ts +12 -25
  160. package/dist-elements/types/components/content/translator/translator.d.ts +11 -15
  161. package/dist-elements/types/components/content/video-player/video-player.d.ts +11 -13
  162. package/dist-elements/types/components/feedback/ai-label/ai-label.d.ts +3 -4
  163. package/dist-elements/types/components/feedback/announcement/announcement.d.ts +3 -7
  164. package/dist-elements/types/components/feedback/conflict-alert/conflict-alert.d.ts +3 -4
  165. package/dist-elements/types/components/feedback/empty-state/empty-state.d.ts +5 -8
  166. package/dist-elements/types/components/feedback/error-page/error-page.d.ts +52 -0
  167. package/dist-elements/types/components/feedback/job-list/job-list.d.ts +9 -12
  168. package/dist-elements/types/components/feedback/level-meter/level-meter.d.ts +4 -6
  169. package/dist-elements/types/components/feedback/recording-status/recording-status.d.ts +5 -6
  170. package/dist-elements/types/components/feedback/streaming-text/streaming-text.d.ts +10 -7
  171. package/dist-elements/types/components/feedback/toast/toast.d.ts +8 -9
  172. package/dist-elements/types/components/filters/filter-bar/filter-bar.d.ts +9 -4
  173. package/dist-elements/types/components/filters/filter-sheet/filter-sheet.d.ts +5 -5
  174. package/dist-elements/types/components/filters/filter-zone/filter-zone.d.ts +4 -4
  175. package/dist-elements/types/components/forms/error-summary/error-summary.d.ts +5 -6
  176. package/dist-elements/types/components/forms/form/form.d.ts +5 -5
  177. package/dist-elements/types/components/forms/form-actions/form-actions.d.ts +9 -7
  178. package/dist-elements/types/components/forms/form-section/form-section.d.ts +6 -5
  179. package/dist-elements/types/components/forms/repeater/repeater.d.ts +13 -7
  180. package/dist-elements/types/components/forms/stepper/stepper.d.ts +5 -4
  181. package/dist-elements/types/components/frame/app-search/app-search.d.ts +6 -7
  182. package/dist-elements/types/components/frame/breadcrumbs/breadcrumbs.d.ts +2 -2
  183. package/dist-elements/types/components/frame/footer/footer.d.ts +3 -2
  184. package/dist-elements/types/components/frame/hero/hero.d.ts +7 -9
  185. package/dist-elements/types/components/frame/notifications/notifications.d.ts +5 -9
  186. package/dist-elements/types/components/frame/page-header/page-header.d.ts +12 -15
  187. package/dist-elements/types/components/frame/shell/shell.d.ts +14 -13
  188. package/dist-elements/types/components/frame/sub-nav/sub-nav.d.ts +10 -6
  189. package/dist-elements/types/components/frame/user-menu/user-menu.d.ts +11 -10
  190. package/dist-elements/types/components/index.d.ts +8 -9
  191. package/dist-elements/types/components/inputs/checkbox/checkbox.d.ts +4 -4
  192. package/dist-elements/types/components/inputs/checkbox-group/checkbox-group.d.ts +33 -0
  193. package/dist-elements/types/components/inputs/combobox/combobox.d.ts +12 -6
  194. package/dist-elements/types/components/inputs/date-input/date-input.d.ts +5 -5
  195. package/dist-elements/types/components/inputs/date-range/date-range.d.ts +11 -6
  196. package/dist-elements/types/components/inputs/field/field.d.ts +5 -3
  197. package/dist-elements/types/components/inputs/file-upload/file-upload.d.ts +6 -8
  198. package/dist-elements/types/components/inputs/multiselect/multiselect.d.ts +4 -6
  199. package/dist-elements/types/components/inputs/number-input/number-input.d.ts +8 -7
  200. package/dist-elements/types/components/inputs/radio-group/radio-group.d.ts +2 -4
  201. package/dist-elements/types/components/inputs/range/range.d.ts +5 -6
  202. package/dist-elements/types/components/inputs/segmented/segmented.d.ts +7 -4
  203. package/dist-elements/types/components/inputs/select/select.d.ts +6 -3
  204. package/dist-elements/types/components/inputs/slot-picker/slot-picker.d.ts +6 -5
  205. package/dist-elements/types/components/inputs/tag-input/tag-input.d.ts +7 -5
  206. package/dist-elements/types/components/inputs/text-editor/text-editor.d.ts +6 -6
  207. package/dist-elements/types/components/inputs/text-input/text-input.d.ts +11 -6
  208. package/dist-elements/types/components/inputs/textarea/textarea.d.ts +12 -11
  209. package/dist-elements/types/components/inputs/time-input/time-input.d.ts +7 -8
  210. package/dist-elements/types/components/inputs/toggle/toggle.d.ts +3 -1
  211. package/dist-elements/types/components/layout/expander/expander.d.ts +9 -10
  212. package/dist-elements/types/components/layout/split-pane/split-pane.d.ts +6 -6
  213. package/dist-elements/types/components/layout/tabs/tabs.d.ts +11 -9
  214. package/dist-elements/types/components/map/map/map.d.ts +10 -9
  215. package/dist-elements/types/components/overlays/dialog/dialog.d.ts +49 -0
  216. package/dist-elements/types/components/overlays/drawer/drawer.d.ts +6 -5
  217. package/dist-elements/types/components/overlays/modal/modal.d.ts +7 -12
  218. package/dist-elements/types/components/overlays/toggletip/toggletip.d.ts +3 -7
  219. package/dist-elements/types/components/shared/charts/index.d.ts +4 -1
  220. package/dist-elements/types/components/shared/charts/kinds.d.ts +86 -0
  221. package/dist-elements/types/components/shared/charts/line-chart/line-chart.d.ts +2 -2
  222. package/dist-elements/types/components/shared/charts/map-chart/leaflet.d.ts +5 -0
  223. package/dist-elements/types/components/shared/charts/shared/chart-states.d.ts +8 -19
  224. package/dist-elements/types/components/shared/charts/shared/controller.d.ts +7 -0
  225. package/dist-elements/types/components/shared/charts/shared/types.d.ts +29 -0
  226. package/dist-elements/types/components/shared/charts/stacked-area-chart/stacked-area-chart.d.ts +13 -0
  227. package/dist-elements/types/components/shared/dialog.d.ts +9 -0
  228. package/dist-elements/types/components/shared/overflow.d.ts +58 -0
  229. package/dist-elements/types/components/tables/activity-log/activity-log.d.ts +2 -3
  230. package/dist-elements/types/components/tables/card/card.d.ts +14 -20
  231. package/dist-elements/types/components/tables/card-list/card-list.d.ts +9 -11
  232. package/dist-elements/types/components/tables/data-table/data-table.d.ts +85 -16
  233. package/dist-elements/types/components/tables/data-table/filters.d.ts +13 -4
  234. package/dist-elements/types/components/tables/description-list/description-list.d.ts +12 -11
  235. package/dist-elements/types/components/tables/list/list.d.ts +9 -20
  236. package/dist-elements/types/components/tables/pagination/pagination.d.ts +12 -11
  237. package/dist-elements/types/components/tables/sortable-list/sortable-list.d.ts +5 -6
  238. package/dist-elements/types/components/tables/tree-view/tree-view.d.ts +4 -4
  239. package/dist-elements/types/core/media.d.ts +2 -2
  240. package/dist-elements/types/core/motion.d.ts +5 -0
  241. package/dist-elements/types/core/print.d.ts +15 -0
  242. package/dist-elements/types/core/shortcuts.d.ts +2 -2
  243. package/dist-elements/types/icons/icon/icon.d.ts +2 -3
  244. package/dist-elements/types/icons/register.d.ts +1 -1
  245. package/dist-elements/types/primitives/badge/badge.d.ts +9 -5
  246. package/dist-elements/types/primitives/button/button.d.ts +12 -9
  247. package/dist-elements/types/primitives/grid/grid.d.ts +3 -3
  248. package/dist-elements/types/primitives/grid-item/grid-item.d.ts +1 -1
  249. package/dist-elements/types/primitives/icon-button/icon-button.d.ts +7 -5
  250. package/dist-elements/types/primitives/index.d.ts +3 -1
  251. package/dist-elements/types/primitives/popover/popover.d.ts +5 -4
  252. package/dist-elements/types/primitives/progress-bar/progress-bar.d.ts +8 -6
  253. package/dist-elements/types/primitives/shared/announcement-block.d.ts +38 -0
  254. package/dist-elements/types/primitives/shared/empty-state-block.d.ts +26 -0
  255. package/dist-elements/types/primitives/shared/tone.d.ts +18 -0
  256. package/dist-elements/types/primitives/skeleton/skeleton.d.ts +1 -1
  257. package/dist-elements/types/primitives/spinner/spinner.d.ts +1 -2
  258. package/dist-elements/types/primitives/status-dot/status-dot.d.ts +4 -5
  259. package/dist-elements/types/primitives/tile/tile.d.ts +17 -5
  260. package/dist-elements/types/primitives/tooltip/tooltip.d.ts +6 -6
  261. package/dist-elements/types/types.d.ts +70 -10
  262. package/dist-icons/functioneel-kolommen.svg +1 -0
  263. package/dist-icons/functioneel-trechter.svg +1 -0
  264. package/package.json +1 -1
  265. package/dist-elements/chunks/confirm-dialog-D5EVGuil.js +0 -4
  266. package/dist-elements/chunks/download-y528pIHP.js +0 -230
  267. package/dist-elements/chunks/input-BtuNFSWk.js +0 -195
  268. package/dist-elements/tag/confirm-dialog.d.ts +0 -1
  269. package/dist-elements/tag/confirm-dialog.js +0 -118
  270. package/dist-elements/tag/session-expiry.d.ts +0 -1
  271. package/dist-elements/tag/session-expiry.js +0 -184
  272. package/dist-elements/tag/shortcuts.d.ts +0 -1
  273. package/dist-elements/tag/shortcuts.js +0 -104
  274. package/dist-elements/types/components/frame/session-expiry/session-expiry.d.ts +0 -55
  275. package/dist-elements/types/components/frame/shortcuts/shortcuts.d.ts +0 -41
  276. package/dist-elements/types/components/overlays/confirm-dialog/confirm-dialog.d.ts +0 -41
@@ -1,7 +1,7 @@
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-CbmWxUig.js";
2
2
  import { t as o } from "./chat-composer.js";
3
3
  //#region src/components/chat/chat-message/chat-message.css?inline
4
- var s = "/* The host is a full-width block, so a view can make it stick while its answer scrolls. */\n:host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* Visual order is reversed from document order, so the question is read first. The gaps keep\n the edit button's hit area off the time and the bar. */\n.lintje-chat-message {\n display: flex; flex-direction: row-reverse; align-items: center;\n gap: var(--space-2);\n max-width: var(--w-message);\n margin-left: auto;\n}\n.lintje-chat-message__text {\n min-width: 0;\n padding: var(--space-3) var(--space-4);\n background: var(--color-bg-subtle);\n font: var(--text-body);\n color: var(--color-text-primary);\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n}\n.lintje-chat-message__meta {\n flex: none;\n display: flex; flex-direction: row-reverse; align-items: center;\n gap: var(--space-2);\n}\n.lintje-chat-message__time { font: var(--text-meta); color: var(--color-text-muted); }\n\n/* A term is underlined, never recoloured; dashed gray marks an uncertain one. */\n.lintje-chat-message__term {\n text-decoration: underline solid var(--color-term-line);\n text-decoration-thickness: 2px;\n text-underline-offset: var(--space-1);\n}\n.lintje-chat-message__term.is-uncertain {\n text-decoration-style: dashed;\n text-decoration-color: var(--color-border-suggestion);\n}\n\n.lintje-chat-message--editing {\n flex-direction: column; align-items: flex-end;\n gap: var(--space-2);\n width: 100%;\n}\n.lintje-chat-message__head { display: flex; align-items: baseline; gap: var(--space-2); }\n.lintje-chat-message__label {\n font-size: var(--label-size); font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking); text-transform: uppercase;\n color: var(--color-text-muted);\n}\n.lintje-chat-message__frame { align-self: stretch; }\n.lintje-chat-message__note { font: var(--text-small); color: var(--color-text-muted); }\n\n/* A phone keeps room on the left so the bar reads as the reader's side. */\n@media (max-width: 767px) {\n .lintje-chat-message { flex-direction: column; align-items: flex-end; margin-left: var(--space-10); }\n .lintje-chat-message--editing { margin-left: 0; }\n}\n\n/* Forced colours drop the bar's fill; a line keeps the question apart from the answer. */\n@media (forced-colors: active) {\n .lintje-chat-message__text { outline: 1px solid CanvasText; outline-offset: -1px; }\n}\n", c = class extends a {
4
+ var s = "/* The host is a full-width block, so a view can make it stick while its answer scrolls. */\n:host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* Visual order is reversed from document order, so the question is read first. The gaps keep\n the edit button's hit area off the time and the bar. */\n.lintje-chat-message {\n display: flex; flex-direction: row-reverse; align-items: center;\n gap: var(--space-2);\n max-width: var(--w-message);\n margin-left: auto;\n}\n.lintje-chat-message__text {\n min-width: 0;\n padding: var(--space-3) var(--space-4);\n background: var(--color-bg-subtle);\n font: var(--text-body);\n color: var(--color-text-primary);\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n}\n.lintje-chat-message__meta {\n flex: none;\n display: flex; flex-direction: row-reverse; align-items: center;\n gap: var(--space-2);\n}\n.lintje-chat-message__time { font: var(--text-meta); color: var(--color-text-muted); }\n\n/* A term is underlined, never recoloured; dashed gray marks an uncertain one. */\n.lintje-chat-message__term {\n text-decoration: underline solid var(--color-term-line);\n text-decoration-thickness: 2px;\n text-underline-offset: var(--space-1);\n}\n.lintje-chat-message__term.is-uncertain {\n text-decoration-style: dashed;\n text-decoration-color: var(--color-border-suggestion);\n}\n\n.lintje-chat-message--editing {\n flex-direction: column; align-items: flex-end;\n gap: var(--space-2);\n width: 100%;\n}\n.lintje-chat-message__head { display: flex; align-items: baseline; gap: var(--space-2); }\n.lintje-chat-message__label {\n font-size: var(--label-size); font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking); text-transform: uppercase;\n color: var(--color-text-muted);\n}\n.lintje-chat-message__frame { align-self: stretch; }\n.lintje-chat-message__note { font: var(--text-small); color: var(--color-text-muted); }\n\n/* A phone keeps room on the left so the bar reads as the reader's side. */\n@media screen and (max-width: 767px) {\n .lintje-chat-message { flex-direction: column; align-items: flex-end; margin-left: var(--space-10); }\n .lintje-chat-message--editing { margin-left: 0; }\n}\n\n/* Forced colours drop the bar's fill; a line keeps the question apart from the answer. */\n@media (forced-colors: active) {\n .lintje-chat-message__text { outline: 1px solid CanvasText; outline-offset: -1px; }\n}\n", c = class extends e {
5
5
  constructor(...e) {
6
6
  super(...e), this.text = "", this.editable = !1, this.editing = !1;
7
7
  }
@@ -47,18 +47,18 @@ var s = "/* The host is a full-width block, so a view can make it stick while it
47
47
  label="Vraag bewerken"
48
48
  variant="flat"
49
49
  @click=${() => this.setEditing(!0)}
50
- ></lintje-icon-button>` : t}
51
- ${this.time ? i`<span class="lintje-chat-message__time">${this.time}</span>` : t}
50
+ ></lintje-icon-button>` : r}
51
+ ${this.time ? i`<span class="lintje-chat-message__time">${this.time}</span>` : r}
52
52
  </div>
53
53
  </div>`;
54
54
  }
55
55
  renderText() {
56
56
  let e = o(this.text, this.terms).map((e) => e.term ? i`<span
57
- class=${r({
57
+ class=${a({
58
58
  "lintje-chat-message__term": !0,
59
59
  "is-uncertain": e.term.certain === !1
60
60
  })}
61
- title=${e.term.kind ?? t}
61
+ title=${e.term.kind ?? r}
62
62
  >${e.text}</span
63
63
  >` : e.text);
64
64
  return i`<span class="visually-hidden">Jij: </span>${e}`;
@@ -67,7 +67,7 @@ var s = "/* The host is a full-width block, so a view can make it stick while it
67
67
  return i`<div class="lintje-chat-message lintje-chat-message--editing">
68
68
  <div class="lintje-chat-message__head">
69
69
  <span class="lintje-chat-message__label">Jij, bewerken</span>
70
- ${this.time ? i`<span class="lintje-chat-message__time">${this.time}</span>` : t}
70
+ ${this.time ? i`<span class="lintje-chat-message__time">${this.time}</span>` : r}
71
71
  </div>
72
72
  <lintje-chat-composer
73
73
  class="lintje-chat-message__frame"
@@ -91,6 +91,6 @@ var s = "/* The host is a full-width block, so a view can make it stick while it
91
91
  </div>`;
92
92
  }
93
93
  };
94
- e("lintje-chat-message", c);
94
+ t("lintje-chat-message", c);
95
95
  //#endregion
96
96
  export { c as LintjeChatMessage };
@@ -1,15 +1,15 @@
1
- import { $ as e, Bt as t, Gt as n, Ht as r, Z as i, et as a, qt as o, zt as s } from "../chunks/base-Bg-IFOPG.js";
2
- import { t as c } from "../chunks/disclosure-BXTX04gM.js";
1
+ import { Jt as e, Yt as t, Zt as n, en as r, lt as i, nn as a, st as o, ut as s } from "../chunks/base-CbmWxUig.js";
2
+ import { t as c } from "../chunks/disclosure-D39vAR5q.js";
3
3
  //#region src/components/chat/chat-strip/chat-strip.css?inline
4
- var l = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-chat-strip {\n border-top: 1px solid var(--color-border-default);\n border-bottom: 1px solid var(--color-border-default);\n color: var(--color-text-primary);\n}\n.lintje-chat-strip__row {\n display: flex; flex-wrap: wrap; align-items: flex-end;\n gap: var(--space-2) var(--space-6);\n padding: var(--space-2) 0;\n}\n.lintje-chat-strip__items {\n flex: 1 1 auto; min-width: 0;\n display: flex; flex-wrap: wrap; align-items: flex-end;\n gap: var(--space-2) var(--space-6);\n margin: 0;\n}\n.lintje-chat-strip__item { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-1); min-width: 0; }\n.lintje-chat-strip__label {\n font-size: var(--label-size); font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking); text-transform: uppercase;\n color: var(--color-text-muted);\n}\n.lintje-chat-strip__value { margin: 0; min-width: 0; font: var(--text-ui); }\n\n/* Every form of a value is one line, so a row of mixed forms shares a baseline. */\n.lintje-chat-strip__text,\n.lintje-chat-strip__term,\n.lintje-chat-strip__suggestion {\n display: inline-flex; align-items: center;\n min-height: var(--h-chip-field);\n font: var(--text-ui);\n color: var(--color-text-primary);\n}\n\n.lintje-chat-strip__term,\n.lintje-chat-strip__suggestion.is-pressed {\n background: var(--color-term-bg);\n border-bottom: 2px solid var(--color-term-line);\n}\n.lintje-chat-strip__term {\n position: relative;\n gap: var(--space-1);\n padding: 0 0 0 var(--space-1);\n}\n/* The native select lies invisibly over the drawing for pointer, keyboard and the phone's picker.\n It reaches the target height above and below only, never over a neighbouring value. */\n.lintje-chat-strip__select {\n position: absolute; inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n width: 100%; height: auto;\n opacity: 0;\n cursor: pointer;\n appearance: none;\n}\n.lintje-chat-strip__term:focus-within {\n outline: var(--focus-width) solid var(--color-focus);\n outline-offset: var(--focus-offset);\n}\n\n/* Dashed while only a suggestion. Like the select, it and the toggle get a transparent hit area. */\n.lintje-chat-strip__suggestion,\n.lintje-chat-strip__toggle { position: relative; }\n.lintje-chat-strip__suggestion::after,\n.lintje-chat-strip__toggle::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n}\n.lintje-chat-strip__suggestion {\n padding: 0 var(--space-1);\n border-bottom: 2px dashed var(--color-border-suggestion);\n transition: background var(--dur-hover);\n}\n.lintje-chat-strip__suggestion:hover { background: var(--color-bg-subtle); }\n.lintje-chat-strip__suggestion.is-pressed:hover { background: var(--color-term-bg); }\n\n.lintje-chat-strip__toggle {\n display: inline-flex; align-items: center; gap: var(--space-1);\n min-height: var(--h-chip-field);\n margin-left: auto;\n font: var(--text-small); font-weight: 700;\n color: var(--color-text-primary);\n}\n\n.lintje-chat-strip__details {\n display: grid;\n grid-template-columns: max-content minmax(0, 1fr);\n gap: var(--space-2) var(--space-4);\n margin: 0;\n padding: 0 0 var(--space-3);\n font: var(--text-ui);\n}\n.lintje-chat-strip__detail { display: contents; }\n.lintje-chat-strip__detail-term { color: var(--color-text-muted); }\n.lintje-chat-strip__detail-text { margin: 0; color: var(--color-text-primary); }\n\n/* Below 768 px the strip switches representation (rule 9). */\n@media (max-width: 767px) {\n .lintje-chat-strip__row { display: block; padding: var(--space-1) 0 0; }\n .lintje-chat-strip__items {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 0 var(--space-4);\n align-items: stretch;\n }\n .lintje-chat-strip__item { justify-content: center; min-height: var(--h-touch); }\n .lintje-chat-strip__item--fixed { grid-column: 1 / -1; }\n .lintje-chat-strip__select,\n .lintje-chat-strip__suggestion::after { inset: calc(var(--space-6) * -1) 0 calc(var(--space-2) * -1); }\n .lintje-chat-strip__toggle {\n width: 100%; min-height: var(--h-touch);\n justify-content: space-between;\n margin: var(--space-1) 0 0;\n border-top: 1px solid var(--color-border-default);\n font: var(--text-ui); font-weight: 700;\n }\n .lintje-chat-strip__details { grid-template-columns: minmax(0, 1fr); gap: 0; }\n .lintje-chat-strip__detail-text { margin-bottom: var(--space-2); }\n}\n", u = class extends s {
4
+ var l = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-chat-strip {\n border-top: 1px solid var(--color-border-default);\n border-bottom: 1px solid var(--color-border-default);\n color: var(--color-text-primary);\n}\n.lintje-chat-strip__row {\n display: flex; flex-wrap: wrap; align-items: flex-end;\n gap: var(--space-2) var(--space-6);\n padding: var(--space-2) 0;\n}\n.lintje-chat-strip__items {\n flex: 1 1 auto; min-width: 0;\n display: flex; flex-wrap: wrap; align-items: flex-end;\n gap: var(--space-2) var(--space-6);\n margin: 0;\n}\n.lintje-chat-strip__item { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-1); min-width: 0; }\n.lintje-chat-strip__label {\n font-size: var(--label-size); font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking); text-transform: uppercase;\n color: var(--color-text-muted);\n}\n.lintje-chat-strip__value { margin: 0; min-width: 0; font: var(--text-ui); }\n\n/* Every form of a value is one line, so a row of mixed forms shares a baseline. */\n.lintje-chat-strip__text,\n.lintje-chat-strip__term,\n.lintje-chat-strip__suggestion {\n display: inline-flex; align-items: center;\n min-height: var(--h-chip-field);\n font: var(--text-ui);\n color: var(--color-text-primary);\n}\n\n.lintje-chat-strip__term,\n.lintje-chat-strip__suggestion.is-pressed {\n background: var(--color-term-bg);\n border-bottom: 2px solid var(--color-term-line);\n}\n.lintje-chat-strip__term {\n position: relative;\n gap: var(--space-1);\n padding: 0 0 0 var(--space-1);\n}\n/* The native select lies invisibly over the drawing for pointer, keyboard and the phone's picker.\n It reaches the target height above and below only, never over a neighbouring value. */\n.lintje-chat-strip__select {\n position: absolute; inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n width: 100%; height: auto;\n opacity: 0;\n cursor: pointer;\n appearance: none;\n}\n.lintje-chat-strip__term:focus-within {\n outline: var(--focus-width) solid var(--color-focus);\n outline-offset: var(--focus-offset);\n}\n\n/* Dashed while only a suggestion. Like the select, it and the toggle get a transparent hit area. */\n.lintje-chat-strip__suggestion,\n.lintje-chat-strip__toggle { position: relative; }\n.lintje-chat-strip__suggestion::after,\n.lintje-chat-strip__toggle::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n}\n.lintje-chat-strip__suggestion {\n padding: 0 var(--space-1);\n border-bottom: 2px dashed var(--color-border-suggestion);\n transition: background var(--dur-hover);\n}\n.lintje-chat-strip__suggestion:hover { background: var(--color-bg-subtle); }\n.lintje-chat-strip__suggestion.is-pressed:hover { background: var(--color-term-bg); }\n\n.lintje-chat-strip__toggle {\n display: inline-flex; align-items: center; gap: var(--space-1);\n min-height: var(--h-chip-field);\n margin-left: auto;\n font: var(--text-small); font-weight: 700;\n color: var(--color-text-primary);\n}\n\n.lintje-chat-strip__details {\n display: grid;\n grid-template-columns: max-content minmax(0, 1fr);\n gap: var(--space-2) var(--space-4);\n margin: 0;\n padding: 0 0 var(--space-3);\n font: var(--text-ui);\n}\n.lintje-chat-strip__detail { display: contents; }\n.lintje-chat-strip__detail-term { color: var(--color-text-muted); }\n.lintje-chat-strip__detail-text { margin: 0; color: var(--color-text-primary); }\n\n/* Below 768 px the strip switches representation (rule 9). */\n@media screen and (max-width: 767px) {\n .lintje-chat-strip__row { display: block; padding: var(--space-1) 0 0; }\n .lintje-chat-strip__items {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 0 var(--space-4);\n align-items: stretch;\n }\n .lintje-chat-strip__item { justify-content: center; min-height: var(--h-touch); }\n .lintje-chat-strip__item--fixed { grid-column: 1 / -1; }\n .lintje-chat-strip__select,\n .lintje-chat-strip__suggestion::after { inset: calc(var(--space-6) * -1) 0 calc(var(--space-2) * -1); }\n .lintje-chat-strip__toggle {\n width: 100%; min-height: var(--h-touch);\n justify-content: space-between;\n margin: var(--space-1) 0 0;\n border-top: 1px solid var(--color-border-default);\n font: var(--text-ui); font-weight: 700;\n }\n .lintje-chat-strip__details { grid-template-columns: minmax(0, 1fr); gap: 0; }\n .lintje-chat-strip__detail-text { margin-bottom: var(--space-2); }\n}\n", u = class extends e {
5
5
  constructor(...e) {
6
6
  super(...e), this.detailsLabel = "Berekening", this.disabled = !1, this.open = !1;
7
7
  }
8
8
  static {
9
9
  this.styles = [
10
- e,
11
- r(c),
12
- r(l)
10
+ i,
11
+ n(c),
12
+ n(l)
13
13
  ];
14
14
  }
15
15
  static {
@@ -47,9 +47,9 @@ var l = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { displ
47
47
  value(e) {
48
48
  if (e.options && !this.disabled) {
49
49
  let t = e.options.find((t) => t.value === e.value);
50
- return o`<span class="lintje-chat-strip__term">
50
+ return a`<span class="lintje-chat-strip__term">
51
51
  <span class="lintje-chat-strip__term-text">${t?.label ?? e.value}</span>
52
- ${a("functioneel-delta-omlaag", { size: 16 })}
52
+ ${s("functioneel-delta-omlaag", { size: 16 })}
53
53
  <select
54
54
  class="lintje-chat-strip__select"
55
55
  aria-label=${e.label}
@@ -59,13 +59,13 @@ var l = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { displ
59
59
  n.value = e.value, r !== e.value && this.change(e.key, r);
60
60
  }}
61
61
  >
62
- ${e.options.map((e) => o`<option value=${e.value}>${e.label}</option>`)}
62
+ ${e.options.map((e) => a`<option value=${e.value}>${e.label}</option>`)}
63
63
  </select>
64
64
  </span>`;
65
65
  }
66
- if (e.pressed !== void 0 && !this.disabled) return o`<button
66
+ if (e.pressed !== void 0 && !this.disabled) return a`<button
67
67
  type="button"
68
- class=${i({
68
+ class=${o({
69
69
  "lintje-chat-strip__suggestion": !0,
70
70
  "is-pressed": e.pressed
71
71
  })}
@@ -75,12 +75,12 @@ var l = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { displ
75
75
  ${e.value}
76
76
  </button>`;
77
77
  let t = e.options?.find((t) => t.value === e.value);
78
- return o`<span class="lintje-chat-strip__text">${t?.label ?? e.value}</span>`;
78
+ return a`<span class="lintje-chat-strip__text">${t?.label ?? e.value}</span>`;
79
79
  }
80
80
  render() {
81
81
  let e = (this.items ?? []).filter((e) => !(this.disabled && e.pressed === !1)), t = this.details ?? [];
82
- return !e.length && !t.length ? n : o`<div
83
- class=${i({
82
+ return !e.length && !t.length ? r : a`<div
83
+ class=${o({
84
84
  "lintje-chat-strip": !0,
85
85
  "lintje-disclosure": !0,
86
86
  "is-open": this.open
@@ -90,8 +90,8 @@ var l = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { displ
90
90
  >
91
91
  <div class="lintje-chat-strip__row">
92
92
  <dl class="lintje-chat-strip__items">
93
- ${e.map((e) => o`<div
94
- class=${i({
93
+ ${e.map((e) => a`<div
94
+ class=${o({
95
95
  "lintje-chat-strip__item": !0,
96
96
  "lintje-chat-strip__item--fixed": !e.options && e.pressed === void 0
97
97
  })}
@@ -100,7 +100,7 @@ var l = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { displ
100
100
  <dd class="lintje-chat-strip__value">${this.value(e)}</dd>
101
101
  </div>`)}
102
102
  </dl>
103
- ${t.length ? o`<button
103
+ ${t.length ? a`<button
104
104
  type="button"
105
105
  class="lintje-chat-strip__toggle"
106
106
  aria-expanded=${String(this.open)}
@@ -110,22 +110,22 @@ var l = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { displ
110
110
  }}
111
111
  >
112
112
  <span>${this.detailsLabel}</span>
113
- ${a("functioneel-delta-omlaag", {
113
+ ${s("functioneel-delta-omlaag", {
114
114
  size: 16,
115
115
  className: "lintje-disclosure__chevron"
116
116
  })}
117
- </button>` : n}
117
+ </button>` : r}
118
118
  </div>
119
- ${t.length ? o`<div class="lintje-disclosure__body">
119
+ ${t.length ? a`<div class="lintje-disclosure__body">
120
120
  <div id="details" class="lintje-disclosure__body-inner">
121
121
  <dl class="lintje-chat-strip__details">
122
- ${t.map((e) => o`<div class="lintje-chat-strip__detail">
122
+ ${t.map((e) => a`<div class="lintje-chat-strip__detail">
123
123
  <dt class="lintje-chat-strip__detail-term">${e.term}</dt>
124
124
  <dd class="lintje-chat-strip__detail-text">${e.description}</dd>
125
125
  </div>`)}
126
126
  </dl>
127
127
  </div>
128
- </div>` : n}
128
+ </div>` : r}
129
129
  </div>`;
130
130
  }
131
131
  };
@@ -1,11 +1,11 @@
1
- import { Bt as e, Gt as t, Ht as n, qt as r, zt as i } from "../chunks/base-Bg-IFOPG.js";
1
+ import { Jt as e, Yt as t, Zt as n, en as r, nn as i, nt as a } from "../chunks/base-CbmWxUig.js";
2
2
  //#region src/components/chat/chat-suggestions/chat-suggestions.css?inline
3
- var a = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-chat-suggestions {\n display: flex; flex-direction: column; align-items: flex-end;\n gap: var(--space-2);\n max-width: var(--w-message);\n margin-left: auto;\n}\n.lintje-chat-suggestions__label {\n font-size: var(--label-size); font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking); text-transform: uppercase;\n color: var(--color-text-muted);\n}\n.lintje-chat-suggestions__list {\n display: flex; flex-direction: column; align-items: flex-end;\n gap: var(--space-2);\n}\n.lintje-chat-suggestions--choice .lintje-chat-suggestions__list {\n flex-direction: row; flex-wrap: wrap; justify-content: flex-end;\n}\n\n.lintje-chat-suggestions__item {\n min-height: var(--h-touch);\n padding: var(--space-2) var(--space-4);\n font: var(--text-body);\n color: var(--color-text-primary);\n text-align: left;\n transition: background var(--dur-hover);\n}\n.lintje-chat-suggestions__item:hover { background: var(--color-bg-subtle); }\n\n.lintje-chat-suggestions--suggestion .lintje-chat-suggestions__item {\n border: 1px dashed var(--color-border-suggestion);\n}\n.lintje-chat-suggestions--choice .lintje-chat-suggestions__item {\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-choice);\n}\n.lintje-chat-suggestions--choice .lintje-chat-suggestions__item:hover { background: var(--color-bg-subtle); }\n\n.lintje-chat-suggestions__hint { font: var(--text-small); color: var(--color-text-muted); }\n\n/* Outside a conversation: left, the sentences side by side, the full width of the column. */\n.lintje-chat-suggestions--start { align-items: flex-start; max-width: none; margin-left: 0; }\n.lintje-chat-suggestions--start .lintje-chat-suggestions__list {\n flex-direction: row; flex-wrap: wrap; align-items: stretch; justify-content: flex-start;\n}\n\n@media (max-width: 767px) {\n .lintje-chat-suggestions { margin-left: var(--space-10); }\n .lintje-chat-suggestions--start { margin-left: 0; }\n}\n", o = class extends i {
3
+ var o = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-chat-suggestions {\n display: flex; flex-direction: column; align-items: flex-end;\n gap: var(--space-2);\n max-width: var(--w-message);\n margin-left: auto;\n}\n.lintje-chat-suggestions__label {\n font-size: var(--label-size); font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking); text-transform: uppercase;\n color: var(--color-text-muted);\n}\n.lintje-chat-suggestions__list {\n display: flex; flex-direction: column; align-items: flex-end;\n gap: var(--space-2);\n}\n.lintje-chat-suggestions--choice .lintje-chat-suggestions__list {\n flex-direction: row; flex-wrap: wrap; justify-content: flex-end;\n}\n\n.lintje-chat-suggestions__item {\n min-height: var(--h-touch);\n padding: var(--space-2) var(--space-4);\n font: var(--text-body);\n color: var(--color-text-primary);\n text-align: left;\n transition: background var(--dur-hover);\n}\n.lintje-chat-suggestions__item:hover { background: var(--color-bg-subtle); }\n\n.lintje-chat-suggestions--suggestion .lintje-chat-suggestions__item {\n border: 1px dashed var(--color-border-suggestion);\n}\n.lintje-chat-suggestions--choice .lintje-chat-suggestions__item {\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-choice);\n}\n.lintje-chat-suggestions--choice .lintje-chat-suggestions__item:hover { background: var(--color-bg-subtle); }\n\n.lintje-chat-suggestions__hint { font: var(--text-small); color: var(--color-text-muted); }\n\n/* Outside a conversation: left, the sentences side by side, the full width of the column. */\n.lintje-chat-suggestions--start { align-items: flex-start; max-width: none; margin-left: 0; }\n.lintje-chat-suggestions--start .lintje-chat-suggestions__list {\n flex-direction: row; flex-wrap: wrap; align-items: stretch; justify-content: flex-start;\n}\n\n@media screen and (max-width: 767px) {\n .lintje-chat-suggestions { margin-left: var(--space-10); }\n .lintje-chat-suggestions--start { margin-left: 0; }\n}\n", s = class extends e {
4
4
  constructor(...e) {
5
5
  super(...e), this.kind = "suggestion", this.align = "end";
6
6
  }
7
7
  static {
8
- this.styles = n(a);
8
+ this.styles = [n(o), n(a)];
9
9
  }
10
10
  static {
11
11
  this.properties = {
@@ -36,15 +36,15 @@ var a = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { displ
36
36
  }
37
37
  render() {
38
38
  let e = this.items ?? [];
39
- return e.length ? r`<div
39
+ return e.length ? i`<div
40
40
  class="lintje-chat-suggestions lintje-chat-suggestions--${this.kind} lintje-chat-suggestions--${this.align}"
41
41
  role="group"
42
- aria-labelledby=${this.label ? "label" : t}
43
- aria-label=${this.label ? t : "Suggesties"}
42
+ aria-labelledby=${this.label ? "label" : r}
43
+ aria-label=${this.label ? r : "Suggesties"}
44
44
  >
45
- ${this.label ? r`<span id="label" class="lintje-chat-suggestions__label">${this.label}</span>` : t}
45
+ ${this.label ? i`<span id="label" class="lintje-chat-suggestions__label">${this.label}</span>` : r}
46
46
  <div class="lintje-chat-suggestions__list">
47
- ${e.map((e) => r`<button
47
+ ${e.map((e) => i`<button
48
48
  type="button"
49
49
  class="lintje-chat-suggestions__item"
50
50
  @click=${() => this.select(e)}
@@ -52,10 +52,10 @@ var a = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { displ
52
52
  ${e.label}
53
53
  </button>`)}
54
54
  </div>
55
- ${this.hint ? r`<p class="lintje-chat-suggestions__hint">${this.hint}</p>` : t}
56
- </div>` : t;
55
+ ${this.hint ? i`<p class="lintje-chat-suggestions__hint">${this.hint}</p>` : r}
56
+ </div>` : r;
57
57
  }
58
58
  };
59
- e("lintje-chat-suggestions", o);
59
+ t("lintje-chat-suggestions", s);
60
60
  //#endregion
61
- export { o as LintjeChatSuggestions };
61
+ export { s as LintjeChatSuggestions };
@@ -1,16 +1,16 @@
1
- import { Bt as e, Gt as t, H as n, Ht as r, Pt as i, U as a, Z as o, g as s, p as c, qt as l, zt as u } from "../chunks/base-Bg-IFOPG.js";
1
+ import { Jt as e, Q as t, Ut as n, Yt as r, Z as i, Zt as a, en as o, h as s, nn as c, st as l, y as u } from "../chunks/base-CbmWxUig.js";
2
2
  import "./chat-suggestions.js";
3
3
  import "./chat-answer.js";
4
4
  import "./chat-composer.js";
5
5
  import "./chat-message.js";
6
6
  //#region src/components/chat/chat/chat.css?inline
7
- var d = "/* A grid, so the chat fills a host box that is taller than the conversation. */\n:host {\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* In the flow: it grows with the conversation and scrolls with what scrolls around it. */\n.lintje-chat {\n display: flex; flex-direction: column;\n min-width: 0;\n background: var(--color-bg-page);\n color: var(--color-text-primary);\n}\n\n.lintje-chat__log { flex: 1 0 auto; min-width: 0; display: flex; flex-direction: column; }\n\n.lintje-chat__list,\n.lintje-chat__start {\n width: 100%;\n max-width: calc(var(--w-text) + 2 * var(--space-6));\n margin: 0 auto;\n padding: var(--space-6);\n display: flex; flex-direction: column;\n gap: var(--space-10);\n}\n.lintje-chat__start { margin: auto; }\n.lintje-chat__turn { display: flex; flex-direction: column; gap: var(--space-6); }\n\n/* The question sticks while its answer scrolls under it, painting the page behind itself so\n nothing shows through. Not on a phone (it would keep a fifth of the screen), nor while edited. */\n@media (min-width: 768px) {\n .lintje-chat__message:not([editing]) {\n position: sticky; top: 0; z-index: 3;\n margin: calc(var(--space-2) * -1) 0;\n padding: var(--space-2) 0;\n background: var(--color-bg-page);\n }\n /* The page scrolls: the shell's pinned bar stands over the top of the viewport. */\n .lintje-chat--page .lintje-chat__message:not([editing]) {\n top: var(--h-topbar);\n }\n}\n\n.lintje-chat__answer { transition: opacity var(--dur-base) var(--ease-in-motion); }\n.lintje-chat__answer.is-replaced { opacity: 0.45; }\n\n/* Floats over the conversation, above the question box; only the button takes the pointer. */\n.lintje-chat__latest {\n position: absolute; left: 0; right: 0; bottom: calc(100% + var(--space-4));\n display: flex; justify-content: center;\n pointer-events: none;\n animation: lintje-fade-in var(--dur-base) var(--ease-in-motion) both;\n}\n.lintje-chat__latest-button {\n display: inline-flex;\n background: var(--color-bg-surface);\n box-shadow: var(--shadow-popover);\n pointer-events: auto;\n}\n\n/* Stays in view at the bottom of what scrolls; the conversation passes under it. */\n.lintje-chat__footer {\n flex: none;\n position: sticky; bottom: 0; z-index: 4;\n padding: var(--space-4) var(--space-6) var(--space-5);\n background: var(--color-bg-surface);\n border-top: 1px solid var(--color-border-default);\n}\n.lintje-chat__composer { max-width: var(--w-text); margin: 0 auto; }\n\n/* --- The start screen --- */\n.lintje-chat__intro { display: flex; flex-direction: column; gap: var(--space-4); max-width: 640px; }\n.lintje-chat__title { font: var(--text-h1-display); color: var(--color-text-primary); }\n.lintje-chat__lede { font: var(--text-body); margin-top: calc(var(--space-2) * -1); }\n.lintje-chat__note { font: var(--text-small); color: var(--color-text-muted); }\n\n.lintje-chat__sources {\n display: flex; flex-direction: column; gap: var(--space-2);\n padding: var(--space-4) var(--space-5);\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-default);\n}\n.lintje-chat__sources-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); }\n.lintje-chat__sources-title { font: var(--text-tile-title); }\n.lintje-chat__source {\n display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;\n gap: var(--space-1) var(--space-3);\n min-height: var(--h-button-chrome);\n border-top: 1px solid var(--color-border-default);\n font: var(--text-ui);\n}\n.lintje-chat__source-meta { font: var(--text-small); color: var(--color-text-muted); }\n\n@media (max-width: 767px) {\n .lintje-chat__list,\n .lintje-chat__start { padding: var(--space-4); gap: var(--space-8); }\n .lintje-chat__title { font: var(--text-h1); }\n .lintje-chat__footer { padding: var(--space-3) var(--space-4) var(--space-4); }\n .lintje-chat__sources { padding: var(--space-3) var(--space-4); }\n}\n";
7
+ var d = "/* A grid, so the chat fills a host box that is taller than the conversation. */\n:host {\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* In the flow: it grows with the conversation and scrolls with what scrolls around it. */\n.lintje-chat {\n display: flex; flex-direction: column;\n min-width: 0;\n background: var(--color-bg-page);\n color: var(--color-text-primary);\n}\n\n.lintje-chat__log { flex: 1 0 auto; min-width: 0; display: flex; flex-direction: column; }\n\n.lintje-chat__list,\n.lintje-chat__start {\n width: 100%;\n max-width: calc(var(--w-text) + 2 * var(--space-6));\n margin: 0 auto;\n padding: var(--space-6);\n display: flex; flex-direction: column;\n gap: var(--space-10);\n}\n.lintje-chat__start { margin: auto; }\n.lintje-chat__turn { display: flex; flex-direction: column; gap: var(--space-6); }\n\n/* The question sticks while its answer scrolls under it, painting the page behind itself so\n nothing shows through. Not on a phone (it would keep a fifth of the screen), nor while edited. */\n@media (min-width: 768px) {\n .lintje-chat__message:not([editing]) {\n position: sticky; top: 0; z-index: 3;\n margin: calc(var(--space-2) * -1) 0;\n padding: var(--space-2) 0;\n background: var(--color-bg-page);\n }\n /* The page scrolls: the shell's pinned bar stands over the top of the viewport. */\n .lintje-chat--page .lintje-chat__message:not([editing]) {\n top: var(--h-topbar);\n }\n}\n\n.lintje-chat__answer { transition: opacity var(--dur-base) var(--ease-in-motion); }\n.lintje-chat__answer.is-replaced { opacity: 0.45; }\n\n/* Floats over the conversation, above the question box; only the button takes the pointer. */\n.lintje-chat__latest {\n position: absolute; left: 0; right: 0; bottom: calc(100% + var(--space-4));\n display: flex; justify-content: center;\n pointer-events: none;\n animation: lintje-fade-in var(--dur-base) var(--ease-in-motion) both;\n}\n.lintje-chat__latest-button {\n display: inline-flex;\n background: var(--color-bg-surface);\n box-shadow: var(--shadow-popover);\n pointer-events: auto;\n}\n\n/* Stays in view at the bottom of what scrolls; the conversation passes under it. */\n.lintje-chat__footer {\n flex: none;\n position: sticky; bottom: 0; z-index: 4;\n padding: var(--space-4) var(--space-6) var(--space-5);\n background: var(--color-bg-surface);\n border-top: 1px solid var(--color-border-default);\n}\n.lintje-chat__composer { max-width: var(--w-text); margin: 0 auto; }\n\n/* --- The start screen --- */\n.lintje-chat__intro { display: flex; flex-direction: column; gap: var(--space-4); max-width: 640px; }\n.lintje-chat__title { font: var(--text-h1-display); color: var(--color-text-primary); }\n.lintje-chat__lede { font: var(--text-body); margin-top: calc(var(--space-2) * -1); }\n.lintje-chat__note { font: var(--text-small); color: var(--color-text-muted); }\n\n.lintje-chat__sources {\n display: flex; flex-direction: column; gap: var(--space-2);\n padding: var(--space-4) var(--space-5);\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-default);\n}\n.lintje-chat__sources-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); }\n.lintje-chat__sources-title { font: var(--text-tile-title); }\n.lintje-chat__source {\n display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;\n gap: var(--space-1) var(--space-3);\n min-height: var(--h-button-chrome);\n border-top: 1px solid var(--color-border-default);\n font: var(--text-ui);\n}\n.lintje-chat__source-meta { font: var(--text-small); color: var(--color-text-muted); }\n\n@media screen and (max-width: 767px) {\n .lintje-chat__list,\n .lintje-chat__start { padding: var(--space-4); gap: var(--space-8); }\n .lintje-chat__title { font: var(--text-h1); }\n .lintje-chat__footer { padding: var(--space-3) var(--space-4) var(--space-4); }\n .lintje-chat__sources { padding: var(--space-3) var(--space-4); }\n}\n";
8
8
  //#endregion
9
9
  //#region src/components/chat/chat/chat.ts
10
10
  function f(e) {
11
11
  let t = e;
12
12
  for (;;) {
13
- if (t = t.assignedSlot ?? t.parentElement ?? t.getRootNode().host ?? null, !t || t === document.body || t === document.documentElement) return i();
13
+ if (t = t.assignedSlot ?? t.parentElement ?? t.getRootNode().host ?? null, !t || t === document.body || t === document.documentElement) return n();
14
14
  let e = getComputedStyle(t).overflowY;
15
15
  if (e === "auto" || e === "scroll") return t;
16
16
  }
@@ -33,15 +33,15 @@ var p = class {
33
33
  let e = this.#e;
34
34
  e && e.style[this.side] === this.#n && (e.style[this.side] = this.#t), this.#e = null, this.#n = "";
35
35
  }
36
- }, m = class e extends u {
37
- constructor(...t) {
38
- super(...t), this.editingId = null, this.away = !1, this.paged = !1, this.#e = 0, this.#t = !0, this.#n = 0, this.#r = null, this.#i = null, this.#a = new p("scrollPaddingTop"), this.#o = new p("scrollPaddingBottom"), this.#s = () => {
39
- let t = f(this)?.scrollTop ?? 0, n = this.beyond();
40
- t < this.#n && (this.#t = !1), n <= e.AT_END && (this.#t = !0), this.#n = t, this.away = !this.#t && n > e.AWAY;
36
+ }, m = class r extends e {
37
+ constructor(...e) {
38
+ super(...e), this.editingId = null, this.away = !1, this.paged = !1, this.#e = 0, this.#t = !0, this.#n = 0, this.#r = null, this.#i = null, this.#a = new p("scrollPaddingTop"), this.#o = new p("scrollPaddingBottom"), this.#s = () => {
39
+ let e = f(this)?.scrollTop ?? 0, t = this.beyond();
40
+ e < this.#n && (this.#t = !1), t <= r.AT_END && (this.#t = !0), this.#n = e, this.away = !this.#t && t > r.AWAY;
41
41
  };
42
42
  }
43
43
  static {
44
- this.styles = r(d);
44
+ this.styles = a(d);
45
45
  }
46
46
  static {
47
47
  this.properties = {
@@ -103,14 +103,14 @@ var p = class {
103
103
  return this.renderRoot.querySelector(".lintje-chat__composer");
104
104
  }
105
105
  toLatest() {
106
- this.toEnd(s() ? "auto" : "smooth"), this.composer?.focus();
106
+ this.toEnd(u() ? "auto" : "smooth"), this.composer?.focus();
107
107
  }
108
108
  willUpdate(e) {
109
- super.willUpdate(e), this.paged = f(this) === i(), (e.has("data") || e.has("editingId")) && a(this) && this.keepFocus();
109
+ super.willUpdate(e), this.paged = f(this) === n(), (e.has("data") || e.has("editingId")) && t(this) && this.keepFocus();
110
110
  }
111
111
  async keepFocus() {
112
112
  await this.updateComplete, await new Promise((e) => requestAnimationFrame(e));
113
- let e = n();
113
+ let e = i();
114
114
  this.isConnected && (!e || e === document.body) && this.composer?.focus();
115
115
  }
116
116
  updated(e) {
@@ -128,17 +128,17 @@ var p = class {
128
128
  }
129
129
  render() {
130
130
  let e = this.data;
131
- if (!e) return t;
132
- let n = e.turns ?? [], r = n[n.length - 1];
133
- return l`<div class=${o({
131
+ if (!e) return o;
132
+ let t = e.turns ?? [], n = t[t.length - 1];
133
+ return c`<div class=${l({
134
134
  "lintje-chat": !0,
135
135
  "lintje-chat--page": this.paged
136
136
  })}>
137
137
  <div class="lintje-chat__log" role="log" aria-label="Gesprek">
138
- ${n.length ? this.renderTurns(n, e) : this.renderStart(e.start ?? {}, e.sources)}
138
+ ${t.length ? this.renderTurns(t, e) : this.renderStart(e.start ?? {}, e.sources)}
139
139
  </div>
140
140
  <div class="lintje-chat__footer">
141
- ${this.away && n.length ? l`<div class="lintje-chat__latest">
141
+ ${this.away && t.length ? c`<div class="lintje-chat__latest">
142
142
  <span class="lintje-chat__latest-button">
143
143
  <lintje-button
144
144
  variant="tertiary"
@@ -148,12 +148,12 @@ var p = class {
148
148
  >Naar nieuwste</lintje-button
149
149
  >
150
150
  </span>
151
- </div>` : t}
151
+ </div>` : o}
152
152
  <lintje-chat-composer
153
153
  class="lintje-chat__composer"
154
- placeholder=${e.placeholder ?? t}
155
- recall=${r?.message.text ?? t}
156
- ?busy=${n.some((e) => e.answer?.state === "streaming")}
154
+ placeholder=${e.placeholder ?? o}
155
+ recall=${n?.message.text ?? o}
156
+ ?busy=${t.some((e) => e.answer?.state === "streaming")}
157
157
  .sources=${e.sources}
158
158
  .vocabulary=${e.vocabulary}
159
159
  .draftTerms=${e.draftTerms}
@@ -161,55 +161,55 @@ var p = class {
161
161
  </div>
162
162
  </div>`;
163
163
  }
164
- renderTurns(e, n) {
165
- let r = e.findIndex((e) => e.id === this.editingId), i = r !== -1, a = e.some((e) => e.answer?.state === "streaming");
166
- return l`<div class="lintje-chat__list">
167
- ${c(e, (e) => e.id, (s, c) => {
168
- let u = s.answer, d = i && c >= r;
169
- return l`<section class="lintje-chat__turn">
164
+ renderTurns(e, t) {
165
+ let n = e.findIndex((e) => e.id === this.editingId), r = n !== -1, i = e.some((e) => e.answer?.state === "streaming");
166
+ return c`<div class="lintje-chat__list">
167
+ ${s(e, (e) => e.id, (a, s) => {
168
+ let u = a.answer, d = r && s >= n;
169
+ return c`<section class="lintje-chat__turn">
170
170
  <lintje-chat-message
171
171
  class="lintje-chat__message"
172
- turn-id=${s.id}
173
- text=${s.message.text}
174
- time=${s.message.time ?? t}
175
- .terms=${s.message.terms}
176
- .vocabulary=${n.vocabulary}
177
- .sources=${n.sources}
178
- ?editable=${!a && (!i || c === r)}
172
+ turn-id=${a.id}
173
+ text=${a.message.text}
174
+ time=${a.message.time ?? o}
175
+ .terms=${a.message.terms}
176
+ .vocabulary=${t.vocabulary}
177
+ .sources=${t.sources}
178
+ ?editable=${!i && (!r || s === n)}
179
179
  @lintje-editing-change=${this.onEditingChange}
180
180
  ></lintje-chat-message>
181
- ${u ? l`<lintje-chat-answer
182
- class=${o({
181
+ ${u ? c`<lintje-chat-answer
182
+ class=${l({
183
183
  "lintje-chat__answer": !0,
184
184
  "is-replaced": d
185
185
  })}
186
- turn-id=${s.id}
186
+ turn-id=${a.id}
187
187
  state=${u.state ?? "ready"}
188
- lead=${u.lead ?? t}
189
- text=${u.text ?? t}
190
- status=${u.status ?? t}
188
+ lead=${u.lead ?? o}
189
+ text=${u.text ?? o}
190
+ status=${u.status ?? o}
191
191
  .blocks=${u.blocks}
192
192
  .strip=${u.strip}
193
193
  .error=${u.error}
194
194
  .choices=${u.choices}
195
195
  .followUps=${u.followUps}
196
- ?current=${c === e.length - 1 && !i}
196
+ ?current=${s === e.length - 1 && !r}
197
197
  ?inert=${d}
198
- ></lintje-chat-answer>` : t}
198
+ ></lintje-chat-answer>` : o}
199
199
  </section>`;
200
200
  })}
201
201
  </div>`;
202
202
  }
203
- renderStart(e, n = []) {
204
- let r = n.filter((e) => e.selected);
205
- return l`<div class="lintje-chat__start">
203
+ renderStart(e, t = []) {
204
+ let n = t.filter((e) => e.selected);
205
+ return c`<div class="lintje-chat__start">
206
206
  <div class="lintje-chat__intro">
207
207
  <h3 class="lintje-chat__title">
208
208
  <span class="visually-hidden">Assistent: </span>${e.title ?? "Waar wil je meer over weten?"}
209
209
  </h3>
210
- ${e.intro ? l`<p class="lintje-chat__lede">${e.intro}</p>` : t}
211
- ${n.length ? this.renderSources(r) : t}
212
- ${e.note ? l`<p class="lintje-chat__note">${e.note}</p>` : t}
210
+ ${e.intro ? c`<p class="lintje-chat__lede">${e.intro}</p>` : o}
211
+ ${t.length ? this.renderSources(n) : o}
212
+ ${e.note ? c`<p class="lintje-chat__note">${e.note}</p>` : o}
213
213
  </div>
214
214
  <lintje-chat-suggestions
215
215
  label="Jij, als eerste vraag"
@@ -218,10 +218,10 @@ var p = class {
218
218
  </div>`;
219
219
  }
220
220
  renderSources(e) {
221
- let n = e.length === 0 ? "Je hebt geen bron gekozen" : `Je vraagt over ${e.length} ${e.length === 1 ? "bron" : "bronnen"}`;
222
- return l`<section class="lintje-chat__sources" aria-labelledby="sources">
221
+ let t = e.length === 0 ? "Je hebt geen bron gekozen" : `Je vraagt over ${e.length} ${e.length === 1 ? "bron" : "bronnen"}`;
222
+ return c`<section class="lintje-chat__sources" aria-labelledby="sources">
223
223
  <div class="lintje-chat__sources-head">
224
- <h4 id="sources" class="lintje-chat__sources-title">${n}</h4>
224
+ <h4 id="sources" class="lintje-chat__sources-title">${t}</h4>
225
225
  <lintje-button
226
226
  variant="link"
227
227
  size="compact"
@@ -229,15 +229,15 @@ var p = class {
229
229
  >Wijzigen</lintje-button
230
230
  >
231
231
  </div>
232
- ${e.length ? l`<ul class="lintje-chat__source-list">
233
- ${e.map((e) => l`<li class="lintje-chat__source">
232
+ ${e.length ? c`<ul class="lintje-chat__source-list">
233
+ ${e.map((e) => c`<li class="lintje-chat__source">
234
234
  <span>${e.label}</span>
235
- ${e.asOf ? l`<span class="lintje-chat__source-meta">${e.asOf}</span>` : t}
235
+ ${e.asOf ? c`<span class="lintje-chat__source-meta">${e.asOf}</span>` : o}
236
236
  </li>`)}
237
- </ul>` : t}
237
+ </ul>` : o}
238
238
  </section>`;
239
239
  }
240
240
  };
241
- e("lintje-chat", m);
241
+ r("lintje-chat", m);
242
242
  //#endregion
243
243
  export { m as LintjeChat };
@@ -0,0 +1 @@
1
+ export * from '../types/components/inputs/checkbox-group/checkbox-group.js'
@@ -0,0 +1,59 @@
1
+ import { Yt as e, Zt as t, en as n, lt as r, nn as i } from "../chunks/base-CbmWxUig.js";
2
+ import { r as a, t as o } from "../chunks/input-CRW_exv_.js";
3
+ import "./checkbox.js";
4
+ //#region src/components/inputs/checkbox-group/checkbox-group.css?inline
5
+ var s = "/* The group's stack; each row is a `lintje-checkbox`, which draws the box and its hint. */\n\n.lintje-checkbox-group { display: flex; flex-direction: column; }\n", c = class extends a {
6
+ constructor(...e) {
7
+ super(...e), this.selected = [];
8
+ }
9
+ static {
10
+ this.styles = [
11
+ r,
12
+ t(o),
13
+ t(s)
14
+ ];
15
+ }
16
+ static {
17
+ this.properties = {
18
+ options: { attribute: !1 },
19
+ selected: { attribute: !1 }
20
+ };
21
+ }
22
+ toggle(e, t) {
23
+ let n = new Set(this.selected);
24
+ t ? n.add(e) : n.delete(e);
25
+ let r = (this.options ?? []).map((e) => e.value), i = [...r.filter((e) => n.has(e)), ...[...n].filter((e) => !r.includes(e))];
26
+ this.selected = i, this.announce(i);
27
+ }
28
+ focusControl(e) {
29
+ this.disabled || this.renderRoot.querySelector("lintje-checkbox")?.focus(e);
30
+ }
31
+ render() {
32
+ let e = this.selected ?? [];
33
+ return i`<div
34
+ class="lintje-field"
35
+ role="group"
36
+ aria-labelledby=${this.labelId}
37
+ aria-describedby=${this.describedBy}
38
+ aria-invalid=${this.error ? "true" : n}
39
+ >
40
+ ${this.renderLabel()}
41
+ <div class="lintje-checkbox-group">
42
+ ${(this.options ?? []).map((t) => i`<lintje-checkbox
43
+ class="lintje-checkbox-group__option"
44
+ label=${t.label}
45
+ hint=${t.description ?? n}
46
+ .checked=${e.includes(t.value)}
47
+ ?disabled=${this.disabled}
48
+ @lintje-change=${(e) => {
49
+ e.stopPropagation(), this.toggle(t.value, e.detail);
50
+ }}
51
+ ></lintje-checkbox>`)}
52
+ </div>
53
+ ${this.renderFoot()}
54
+ </div>`;
55
+ }
56
+ };
57
+ e("lintje-checkbox-group", c);
58
+ //#endregion
59
+ export { c as LintjeCheckboxGroup };
@@ -1,12 +1,12 @@
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-CbmWxUig.js";
2
+ import { r as o, t as s } from "../chunks/input-CRW_exv_.js";
3
3
  //#region src/components/inputs/checkbox/checkbox.ts
4
4
  var c = class extends o {
5
5
  constructor(...e) {
6
6
  super(...e), this.checked = !1, this.indeterminate = !1;
7
7
  }
8
8
  static {
9
- this.styles = [e, r(s)];
9
+ this.styles = [r, t(s)];
10
10
  }
11
11
  static {
12
12
  this.properties = {
@@ -25,8 +25,8 @@ var c = class extends o {
25
25
  }
26
26
  render() {
27
27
  let e = this.indeterminate && !this.checked;
28
- return a`<div class="lintje-field">
29
- <label class=${i({
28
+ return i`<div class="lintje-field">
29
+ <label class=${a({
30
30
  "lintje-choice": !0,
31
31
  "is-disabled": this.disabled
32
32
  })}>
@@ -44,18 +44,18 @@ var c = class extends o {
44
44
  <span class="lintje-choice__box" aria-hidden="true"
45
45
  ><span class="lintje-choice__mark">${e ? "–" : "✓"}</span></span
46
46
  >
47
- <span class=${i({
47
+ <span class=${a({
48
48
  "lintje-choice__label": !0,
49
49
  "is-modified": this.modified
50
50
  })}
51
51
  >${this.label} ${this.renderLabelSuffix()}</span
52
52
  >
53
- ${this.modified ? a`<span class="lintje-label__dot"><span class="visually-hidden">afwijkend van standaard</span></span>` : n}
53
+ ${this.modified ? i`<span class="lintje-label__dot"><span class="visually-hidden">afwijkend van standaard</span></span>` : n}
54
54
  </label>
55
55
  ${this.renderFoot()}
56
56
  </div>`;
57
57
  }
58
58
  };
59
- t("lintje-checkbox", c);
59
+ e("lintje-checkbox", c);
60
60
  //#endregion
61
61
  export { c as LintjeCheckbox };