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
@@ -0,0 +1,75 @@
1
+ import { Jt as e, Yt as t, Zt as n, nn as r } from "../chunks/base-DRGvkF-r.js";
2
+ //#region src/components/content/token-value/token-value.css?inline
3
+ var i = "/*\n * The probe is `visibility: hidden`, not `display: none`, so its computed style is read from a\n * laid-out box. The swatch's edge is heavy, so a white or a pale tint still shows its square.\n */\n:host {\n display: inline;\n}\n:host([hidden]) { display: none; }\n\n/* --- */\n\n.lintje-token-value {\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--space-2);\n max-width: 100%;\n vertical-align: bottom;\n}\n/* Under reduced motion the reset gives every element a short transition: a probe that\n transitions reads the value it had. */\n.lintje-token-value__probe {\n position: absolute;\n transition-property: none;\n width: 0;\n height: 0;\n overflow: hidden;\n visibility: hidden;\n pointer-events: none;\n}\n.lintje-token-value__swatch {\n flex: 0 0 auto;\n width: var(--space-4);\n height: var(--space-4);\n box-sizing: border-box;\n border: 1px solid var(--color-border-heavy);\n}\n.lintje-token-value__swatch[hidden] { display: none; }\n.lintje-token-value__value {\n min-width: 0;\n font-family: var(--font-mono);\n font-variant-numeric: normal;\n overflow-wrap: anywhere;\n}\n", a = "—", o = new Intl.NumberFormat("nl", { maximumFractionDigits: 2 }), s = /^rgba?\(([^)]*)\)$/i, c = /^color\(\s*srgb\s+([^)]*)\)$/i, l = (e) => `#${e.map((e) => Math.max(0, Math.min(255, Math.round(e))).toString(16).padStart(2, "0").toUpperCase()).join("")}`;
4
+ function u(e) {
5
+ let t = e.trim(), n = s.exec(t), r = n ? null : c.exec(t), i = (n ?? r)?.[1].split(/[\s,/]+/).filter(Boolean).map(Number.parseFloat);
6
+ if (!i || i.length < 3 || i.length > 4 || i.some(Number.isNaN)) return null;
7
+ let a = i.slice(0, 3).map((e) => r ? e * 255 : e), o = i[3] ?? 1;
8
+ return o < 1 ? `${l(a)} · ${Math.round(o * 100)} %` : l(a);
9
+ }
10
+ var d = (e) => `${o.format(Number.parseFloat(String(e)))} px`, f = class extends e {
11
+ constructor(...e) {
12
+ super(...e), this.noSwatch = !1;
13
+ }
14
+ static {
15
+ this.styles = n(i);
16
+ }
17
+ static {
18
+ this.properties = {
19
+ name: {
20
+ type: String,
21
+ reflect: !0
22
+ },
23
+ noSwatch: {
24
+ type: Boolean,
25
+ attribute: "no-swatch"
26
+ }
27
+ };
28
+ }
29
+ connectedCallback() {
30
+ super.connectedCallback(), typeof MutationObserver < "u" && (this.observer ??= new MutationObserver(() => this.reread()), this.observer.observe(document.documentElement, {
31
+ attributes: !0,
32
+ attributeFilter: ["data-theme"]
33
+ }));
34
+ }
35
+ disconnectedCallback() {
36
+ this.observer?.disconnect(), super.disconnectedCallback();
37
+ }
38
+ updated() {
39
+ this.reread();
40
+ }
41
+ reread() {
42
+ let e = this.shadowRoot?.querySelector(".lintje-token-value__value"), t = this.shadowRoot?.querySelector(".lintje-token-value__swatch"), n = this.shadowRoot?.querySelector(".lintje-token-value__probe");
43
+ if (!e || !t || !n) return;
44
+ let r = this.name && typeof getComputedStyle == "function" ? getComputedStyle(this).getPropertyValue(this.name).trim() : "", i = r ? this.colourOf(r, n) : null;
45
+ t.hidden = !i || this.noSwatch, t.style.background = i ? `var(${this.name})` : "", e.textContent = r ? i ?? this.describe(r, n) : "—";
46
+ }
47
+ colourOf(e, t) {
48
+ return t.style.color = "", t.style.color = e, t.style.color ? (t.style.color = `color-mix(in srgb, ${e} 100%, transparent)`, t.style.color || (t.style.color = e), u(getComputedStyle(t).color) ?? e) : null;
49
+ }
50
+ describe(e, t) {
51
+ if (t.style.font = "", t.style.font = e, t.style.font) {
52
+ let { fontWeight: e, fontSize: n, lineHeight: r } = getComputedStyle(t);
53
+ if (n.endsWith("px")) {
54
+ let t = Number.parseFloat(n), i = Number.parseFloat(r) * (r.endsWith("px") ? 1 : t), a = `${e} · ${d(t)}`;
55
+ return Number.isFinite(i) ? `${a} / ${d(i)}` : a;
56
+ }
57
+ }
58
+ if (/rem|em|calc\(/.test(e) && !e.includes("%")) {
59
+ t.style.width = "", t.style.width = e;
60
+ let n = t.style.width ? getComputedStyle(t).width : "";
61
+ if (n.endsWith("px")) return `${e} · ${d(n)}`;
62
+ }
63
+ return e;
64
+ }
65
+ render() {
66
+ return r`<span class="lintje-token-value">
67
+ <span class="lintje-token-value__probe" aria-hidden="true"></span>
68
+ <span class="lintje-token-value__swatch" aria-hidden="true" hidden></span>
69
+ <span class="lintje-token-value__value"></span>
70
+ </span>`;
71
+ }
72
+ };
73
+ t("lintje-token-value", f);
74
+ //#endregion
75
+ export { f as LintjeTokenValue, a as NO_VALUE, u as formatColour };
@@ -1 +1 @@
1
- export * from '../types/primitives/tooltip/tooltip.js'
1
+ export * from '../types/components/overlays/tooltip/tooltip.js'
@@ -1 +1 @@
1
- export { M as LintjeTooltip, N as TOOLTIP_DELAY, P as TOOLTIP_LINGER } from "../chunks/base-Bg-IFOPG.js";
1
+ export { R as LintjeTooltip, z as TOOLTIP_DELAY, B as TOOLTIP_LINGER } from "../chunks/base-DRGvkF-r.js";
@@ -1,4 +1,4 @@
1
- import { $ as e, Bt as t, Gt as n, H as r, Ht as i, U as a, X as o, Y as s, Z as c, et as l, g as u, qt as d, ut as f, zt as p } from "../chunks/base-Bg-IFOPG.js";
1
+ import { Jt as e, Q as t, Yt as n, Z as r, Zt as i, at as a, bt as o, en as s, lt as c, nn as l, ot as u, st as d, ut as f, y as p } from "../chunks/base-DRGvkF-r.js";
2
2
  import "./menu-button.js";
3
3
  import "./highlight.js";
4
4
  import "./textarea.js";
@@ -51,7 +51,7 @@ function S(e, t) {
51
51
  }
52
52
  ];
53
53
  }
54
- var C = class extends p {
54
+ var C = class extends e {
55
55
  constructor(...e) {
56
56
  super(...e), this.segments = [], this.readonly = !1, this.size = "regular", this.layout = "rows", this.tinted = !1, this.grouped = !1, this.errors = {}, this.searchMatches = {}, this.hasNote = !1, this.lastUserScroll = -Infinity, this.followed = null, this.savedFrom = null, this.onNoteChange = (e) => {
57
57
  this.hasNote = e.target.assignedNodes({ flatten: !0 }).length > 0;
@@ -63,8 +63,8 @@ var C = class extends p {
63
63
  }
64
64
  static {
65
65
  this.styles = [
66
- e,
67
- s,
66
+ c,
67
+ a,
68
68
  i(_)
69
69
  ];
70
70
  }
@@ -158,20 +158,20 @@ var C = class extends p {
158
158
  willUpdate(e) {
159
159
  if (super.willUpdate(e), e.has("busyId") && this.busyId) {
160
160
  let e = this.segmentElement(this.busyId)?.querySelector("lintje-textarea");
161
- this.savedFrom = e && a(e) ? this.busyId : null;
161
+ this.savedFrom = e && t(e) ? this.busyId : null;
162
162
  }
163
163
  }
164
164
  keepSaveFocus() {
165
165
  let e = this.savedFrom;
166
166
  if (!e) return;
167
- let t = this.segmentElement(e)?.querySelector(".lintje-transcript__editor");
167
+ let n = this.segmentElement(e)?.querySelector(".lintje-transcript__editor");
168
168
  if (this.busyId === e) {
169
- t?.querySelector("lintje-button")?.shadowRoot?.querySelector("button")?.focus();
169
+ n?.querySelector("lintje-button")?.shadowRoot?.querySelector("button")?.focus();
170
170
  return;
171
171
  }
172
- if (this.savedFrom = null, this.editingId !== e || !t) return;
173
- let n = r();
174
- (!n || n === document.body || a(t)) && this.focusInside(t.querySelector("lintje-textarea"), "textarea");
172
+ if (this.savedFrom = null, this.editingId !== e || !n) return;
173
+ let i = r();
174
+ (!i || i === document.body || t(n)) && this.focusInside(n.querySelector("lintje-textarea"), "textarea");
175
175
  }
176
176
  updated(e) {
177
177
  if (super.updated(e), e.has("busyId") && this.keepSaveFocus(), e.has("editingId")) {
@@ -180,7 +180,7 @@ var C = class extends p {
180
180
  }
181
181
  (e.has("currentTime") || e.has("segments")) && this.follow(), e.has("currentMatch") && this.currentMatch && this.renderRoot.querySelector("lintje-highlight[kind=\"match\"][current]")?.scrollIntoView?.({
182
182
  block: "nearest",
183
- behavior: u() ? "auto" : "smooth"
183
+ behavior: p() ? "auto" : "smooth"
184
184
  });
185
185
  }
186
186
  reveal() {
@@ -188,31 +188,31 @@ var C = class extends p {
188
188
  let e = this.segments[this.currentIndex];
189
189
  e && (this.followed = e.id, this.updateComplete.then(() => this.segmentElement(e.id)?.scrollIntoView?.({
190
190
  block: "center",
191
- behavior: u() ? "auto" : "smooth"
191
+ behavior: p() ? "auto" : "smooth"
192
192
  })));
193
193
  }
194
194
  follow() {
195
195
  let e = this.segments[this.currentIndex];
196
196
  e && e.id !== this.followed && !this.editingId && x(Date.now(), this.lastUserScroll) && (this.followed = e.id, this.segmentElement(e.id)?.scrollIntoView?.({
197
197
  block: "nearest",
198
- behavior: u() ? "auto" : "smooth"
198
+ behavior: p() ? "auto" : "smooth"
199
199
  }));
200
200
  }
201
201
  renderText(e) {
202
- let t = this.currentMatch?.id === e.id ? this.currentMatch.index : -1, r = b(e.text, e.uncertain, this.searchMatches?.[e.id]);
203
- return d`<p class="lintje-transcript__text">
204
- ${r.map((e) => {
205
- let n = e.uncertain ? d`<lintje-highlight kind="uncertain">${e.text}</lintje-highlight>` : e.text;
206
- return e.match === -1 ? n : d`<lintje-highlight kind="match" ?current=${e.match === t}
202
+ let t = this.currentMatch?.id === e.id ? this.currentMatch.index : -1, n = b(e.text, e.uncertain, this.searchMatches?.[e.id]);
203
+ return l`<p class="lintje-transcript__text">
204
+ ${n.map((e) => {
205
+ let n = e.uncertain ? l`<lintje-highlight kind="uncertain">${e.text}</lintje-highlight>` : e.text;
206
+ return e.match === -1 ? n : l`<lintje-highlight kind="match" ?current=${e.match === t}
207
207
  >${n}</lintje-highlight
208
208
  >`;
209
- })}${e.pending ? d` <span class="lintje-transcript__pending">${e.pending}</span
210
- ><span class="lintje-transcript__caret" aria-hidden="true"></span>` : n}
209
+ })}${e.pending ? l` <span class="lintje-transcript__pending">${e.pending}</span
210
+ ><span class="lintje-transcript__caret" aria-hidden="true"></span>` : s}
211
211
  </p>`;
212
212
  }
213
213
  renderEditor(e) {
214
214
  let t = this.busyId === e.id;
215
- return d`<div
215
+ return l`<div
216
216
  class="lintje-transcript__editor"
217
217
  @keydown=${(t) => this.onEditorKeydown(e, t)}
218
218
  >
@@ -223,7 +223,7 @@ var C = class extends p {
223
223
  hint="Ctrl+Enter bewaart, Esc annuleert"
224
224
  .value=${e.text}
225
225
  ?disabled=${t}
226
- error=${this.errors?.[e.id] || n}
226
+ error=${this.errors?.[e.id] || s}
227
227
  ></lintje-textarea>
228
228
  <div class="lintje-transcript__actions">
229
229
  <lintje-button
@@ -244,7 +244,7 @@ var C = class extends p {
244
244
  </div>`;
245
245
  }
246
246
  renderSpeaker(e, t) {
247
- return this.readonly ? d`<span class="lintje-transcript__speaker is-static">${e.speaker}</span>` : d`<lintje-menu-button
247
+ return this.readonly ? l`<span class="lintje-transcript__speaker is-static">${e.speaker}</span>` : l`<lintje-menu-button
248
248
  class="lintje-transcript__speaker"
249
249
  variant="flat"
250
250
  label=${e.speaker}
@@ -254,26 +254,26 @@ var C = class extends p {
254
254
  ></lintje-menu-button>`;
255
255
  }
256
256
  renderTime(e, t) {
257
- let r = m(e.start);
258
- return this.readonly ? d`<span class="lintje-transcript__time is-static">${r}</span>` : d`<button
257
+ let n = m(e.start);
258
+ return this.readonly ? l`<span class="lintje-transcript__time is-static">${n}</span>` : l`<button
259
259
  type="button"
260
260
  class="lintje-transcript__time"
261
- aria-label=${`Speel af vanaf ${r}`}
261
+ aria-label=${`Speel af vanaf ${n}`}
262
262
  @click=${() => this.seek(e)}
263
263
  >
264
- ${t ? l("multimedia-player-afspelen", {
264
+ ${t ? f("multimedia-player-afspelen", {
265
265
  size: 12,
266
266
  className: "lintje-transcript__playing"
267
- }) : n}${r}
267
+ }) : s}${n}
268
268
  </button>`;
269
269
  }
270
270
  render() {
271
271
  let e = this.currentIndex, t = this.speakers?.length ? this.speakers.map((e) => ({
272
272
  start: 0,
273
273
  speaker: e
274
- })) : null, r = h(t ?? this.segments), i = [...r.keys()];
275
- return d`<div class="lintje-transcript">
276
- <div class=${c({
274
+ })) : null, n = h(t ?? this.segments), r = [...n.keys()];
275
+ return l`<div class="lintje-transcript">
276
+ <div class=${d({
277
277
  "lintje-transcript__note": !0,
278
278
  "has-note": this.hasNote
279
279
  })}>
@@ -289,39 +289,39 @@ var C = class extends p {
289
289
  @touchmove=${this.onUserScroll}
290
290
  @keydown=${this.onListKeydown}
291
291
  >
292
- ${this.segments.map((t, a) => {
293
- let s = a === e, l = this.editingId === t.id, u = this.segments[a - 1]?.speaker === t.speaker, p = r.get(t.speaker);
294
- return d`<li
295
- class=${c({
292
+ ${this.segments.map((t, i) => {
293
+ let a = i === e, c = this.editingId === t.id, f = this.segments[i - 1]?.speaker === t.speaker, p = n.get(t.speaker);
294
+ return l`<li
295
+ class=${d({
296
296
  "lintje-transcript__segment": !0,
297
- "is-current": s,
298
- "is-editing": l,
299
- "is-repeat": u
297
+ "is-current": a,
298
+ "is-editing": c,
299
+ "is-repeat": f
300
300
  })}
301
301
  data-id=${t.id}
302
- aria-current=${s ? "true" : n}
303
- ${f({ "--lintje-speaker": p ? `var(--color-chart-${p})` : null })}
302
+ aria-current=${a ? "true" : s}
303
+ ${o({ "--lintje-speaker": p ? `var(--color-chart-${p})` : null })}
304
304
  >
305
305
  <div class="lintje-transcript__who">
306
- ${this.renderSpeaker(t, i)}
307
- ${t.id === this.speakingId ? d`<span class="lintje-transcript__now">spreekt nu</span>` : n}
306
+ ${this.renderSpeaker(t, r)}
307
+ ${t.id === this.speakingId ? l`<span class="lintje-transcript__now">spreekt nu</span>` : s}
308
308
  </div>
309
309
  <div class="lintje-transcript__when">
310
- ${this.renderTime(t, s)}
311
- ${(t.tags ?? []).map((e) => o({
310
+ ${this.renderTime(t, a)}
311
+ ${(t.tags ?? []).map((e) => u({
312
312
  value: e.label,
313
313
  tone: e.tone ?? "neutral"
314
314
  }))}
315
315
  </div>
316
316
  <div
317
317
  class="lintje-transcript__body"
318
- @dblclick=${this.readonly || l ? n : (e) => {
318
+ @dblclick=${this.readonly || c ? s : (e) => {
319
319
  e.preventDefault(), getSelection()?.removeAllRanges(), this.edit(t);
320
320
  }}
321
321
  >
322
- ${l ? this.renderEditor(t) : this.renderText(t)}
322
+ ${c ? this.renderEditor(t) : this.renderText(t)}
323
323
  </div>
324
- ${this.readonly || l ? n : d`<lintje-icon-button
324
+ ${this.readonly || c ? s : l`<lintje-icon-button
325
325
  class="lintje-transcript__edit"
326
326
  icon="functioneel-bewerken"
327
327
  label=${`Fragment van ${m(t.start)} bewerken`}
@@ -334,6 +334,6 @@ var C = class extends p {
334
334
  </div>`;
335
335
  }
336
336
  };
337
- t("lintje-transcript", C);
337
+ n("lintje-transcript", C);
338
338
  //#endregion
339
339
  export { v as FOLLOW_PAUSE, C as LintjeTranscript, b as markedParts, x as shouldFollow, S as speakerMenu };
@@ -1,7 +1,7 @@
1
- import { Bt as e, Gt as t, Ht as n, It as r, Lt as i, qt as a, zt as o } from "../chunks/base-Bg-IFOPG.js";
1
+ import { Gt as e, Jt as t, Kt as n, Yt as r, Zt as i, en as a, nn as o } from "../chunks/base-DRGvkF-r.js";
2
2
  import "./textarea.js";
3
3
  //#region src/components/content/translator/translator.css?inline
4
- var s = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The halves stretch to one height: the taller text sets both. The plain field has no edge of\n its own, so the surface's is the field's (3:1). */\n.lintje-translator {\n display: flex;\n border: 1px solid var(--color-border-field);\n background: var(--color-bg-surface);\n}\n.lintje-translator__half {\n flex: 1 1 0;\n min-width: 0;\n display: flex;\n flex-direction: column;\n font: var(--text-translation);\n color: var(--color-text-primary);\n}\n/* Inset, not subtle: the fields and buttons on it are the surface, so in dark it steps down. */\n.lintje-translator__half--target {\n position: relative;\n background: var(--color-bg-inset);\n border-left: 1px solid var(--color-border-default);\n}\n\n.lintje-translator__bar {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--space-2);\n min-height: calc(var(--h-control) + 2 * var(--space-4));\n box-sizing: border-box;\n padding: var(--space-4);\n border-bottom: 1px solid var(--color-border-default);\n font: var(--text-ui);\n}\n/* A language choice keeps a readable width; on a phone it takes the row. What else stands in the\n bar keeps its own width. */\n.lintje-translator__bar ::slotted(lintje-combobox) { flex: 0 1 var(--w-translator-language); min-width: 0; }\n/* The languages flank the swap, which stands half in each bar: the source at the line, the\n target after it, so the pair reads as one \"from ⇄ to\". */\n.lintje-translator__bar--source { justify-content: flex-end; padding-right: var(--space-10); }\n.lintje-translator__half--target .lintje-translator__bar { padding-left: var(--space-10); }\n\n.lintje-translator__body {\n position: relative;\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n padding: var(--space-4);\n}\n.lintje-translator__body--source { padding-right: calc(var(--space-4) + var(--h-icon-button)); }\n/* The source body is the field: the text fills it, and the ring goes round it, inside the edge. */\n.lintje-translator__text { flex: 1; }\n.lintje-translator__body--source:has(.lintje-translator__text:focus-within) {\n outline: var(--focus-width) solid var(--color-focus);\n outline-offset: calc(var(--focus-width) * -1);\n}\n.lintje-translator__clear { position: absolute; top: var(--space-2); right: var(--space-2); }\n\n.lintje-translator__foot {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--space-1) var(--space-2);\n min-height: var(--h-touch);\n /* As far from the sides and the bottom as the language choices stand from the top. */\n padding: var(--space-1) var(--space-4) var(--space-4);\n font: var(--text-ui);\n}\n.lintje-translator__actions { display: flex; align-items: center; gap: var(--space-1); margin-left: auto; }\n/* The AI label belongs to the text it marks: right under it, so the foot holds only actions and\n stands level with the source's at every width. A hidden label leaves no gap. */\n.lintje-translator__body ::slotted([slot='target-note']) { align-self: flex-start; margin-top: var(--space-4); }\n/* The counter stands on the source's foot line, right, level with its tools; the text keeps\n the body. */\n.lintje-translator__text::part(counter) {\n position: absolute;\n top: calc(100% + var(--space-1) + var(--h-icon-button) / 2);\n right: var(--space-4);\n transform: translateY(-50%);\n}\n\n/* Documents: the languages in one row, the content under them at full width. */\n.lintje-translator--documents { flex-direction: column; }\n.lintje-translator__bars { display: flex; }\n.lintje-translator__content {\n display: flex;\n flex-direction: column;\n gap: var(--space-6);\n padding: var(--space-6);\n font: var(--text-ui);\n}\n\n/* On the line between the halves, level with the language choices. */\n.lintje-translator__swap {\n position: absolute;\n z-index: 1;\n top: calc(var(--space-4) + (var(--h-control) - var(--h-icon-button)) / 2);\n left: 0;\n transform: translateX(-50%);\n}\n\n@media (max-width: 767px) {\n .lintje-translator, .lintje-translator__bars { flex-direction: column; }\n .lintje-translator__content { padding: var(--space-4); }\n .lintje-translator__half--target { border-left: 0; border-top: 1px solid var(--color-border-default); }\n .lintje-translator__bar ::slotted(lintje-combobox) { flex: 1 1 100%; }\n .lintje-translator__bar--source { padding-right: var(--space-4); }\n .lintje-translator__swap { top: 0; left: 50%; transform: translate(-50%, -50%); }\n .lintje-translator__half--target .lintje-translator__bar {\n padding-top: calc(var(--space-2) + var(--h-icon-button) / 2);\n padding-left: var(--space-4);\n }\n}\n";
4
+ var s = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The halves stretch to one height: the taller text sets both. The plain field has no edge of\n its own, so the surface's is the field's (3:1). */\n.lintje-translator {\n display: flex;\n border: 1px solid var(--color-border-field);\n background: var(--color-bg-surface);\n}\n.lintje-translator__half {\n flex: 1 1 0;\n min-width: 0;\n display: flex;\n flex-direction: column;\n font: var(--text-translation);\n color: var(--color-text-primary);\n}\n/* Inset, not subtle: the fields and buttons on it are the surface, so in dark it steps down. */\n.lintje-translator__half--target {\n position: relative;\n background: var(--color-bg-inset);\n border-left: 1px solid var(--color-border-default);\n}\n\n.lintje-translator__bar {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--space-2);\n min-height: calc(var(--h-control) + 2 * var(--space-4));\n box-sizing: border-box;\n padding: var(--space-4);\n border-bottom: 1px solid var(--color-border-default);\n font: var(--text-ui);\n}\n/* A language choice keeps a readable width; on a phone it takes the row. What else stands in the\n bar keeps its own width. */\n.lintje-translator__bar ::slotted(lintje-combobox) { flex: 0 1 var(--w-translator-language); min-width: 0; }\n/* The languages flank the swap, which stands half in each bar: the source at the line, the\n target after it, so the pair reads as one \"from ⇄ to\". */\n.lintje-translator__bar--source { justify-content: flex-end; padding-right: var(--space-10); }\n.lintje-translator__half--target .lintje-translator__bar { padding-left: var(--space-10); }\n\n.lintje-translator__body {\n position: relative;\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n padding: var(--space-4);\n}\n.lintje-translator__body--source { padding-right: calc(var(--space-4) + var(--h-icon-button)); }\n/* The source body is the field: the text fills it, and the ring goes round it, inside the edge. */\n.lintje-translator__text { flex: 1; }\n.lintje-translator__body--source:has(.lintje-translator__text:focus-within) {\n outline: var(--focus-width) solid var(--color-focus);\n outline-offset: calc(var(--focus-width) * -1);\n}\n.lintje-translator__clear { position: absolute; top: var(--space-2); right: var(--space-2); }\n\n.lintje-translator__foot {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--space-1) var(--space-2);\n min-height: var(--h-touch);\n /* As far from the sides and the bottom as the language choices stand from the top. */\n padding: var(--space-1) var(--space-4) var(--space-4);\n font: var(--text-ui);\n}\n.lintje-translator__actions { display: flex; align-items: center; gap: var(--space-1); margin-left: auto; }\n/* The AI label belongs to the text it marks: right under it, so the foot holds only actions and\n stands level with the source's at every width. A hidden label leaves no gap. */\n.lintje-translator__body ::slotted([slot='target-note']) { align-self: flex-start; margin-top: var(--space-4); }\n/* The counter stands on the source's foot line, right, level with its tools; the text keeps\n the body. */\n.lintje-translator__text::part(counter) {\n position: absolute;\n top: calc(100% + var(--space-1) + var(--h-icon-button) / 2);\n right: var(--space-4);\n transform: translateY(-50%);\n}\n\n/* Documents: the languages in one row, the content under them at full width. */\n.lintje-translator--documents { flex-direction: column; }\n.lintje-translator__bars { display: flex; }\n.lintje-translator__content {\n display: flex;\n flex-direction: column;\n gap: var(--space-6);\n padding: var(--space-6);\n font: var(--text-ui);\n}\n\n/* On the line between the halves, level with the language choices. */\n.lintje-translator__swap {\n position: absolute;\n z-index: 1;\n top: calc(var(--space-4) + (var(--h-control) - var(--h-icon-button)) / 2);\n left: 0;\n transform: translateX(-50%);\n}\n\n@media screen and (max-width: 767px) {\n .lintje-translator, .lintje-translator__bars { flex-direction: column; }\n .lintje-translator__content { padding: var(--space-4); }\n .lintje-translator__half--target { border-left: 0; border-top: 1px solid var(--color-border-default); }\n .lintje-translator__bar ::slotted(lintje-combobox) { flex: 1 1 100%; }\n .lintje-translator__bar--source { padding-right: var(--space-4); }\n .lintje-translator__swap { top: 0; left: 50%; transform: translate(-50%, -50%); }\n .lintje-translator__half--target .lintje-translator__bar {\n padding-top: calc(var(--space-2) + var(--h-icon-button) / 2);\n padding-left: var(--space-4);\n }\n}\n";
5
5
  //#endregion
6
6
  //#region src/components/content/translator/translator.ts
7
7
  function c(e) {
@@ -10,12 +10,12 @@ function c(e) {
10
10
  let { options: n, value: r } = t ?? {};
11
11
  return Array.isArray(n) && n.find((e) => e.value === r)?.label || "";
12
12
  }
13
- var l = class extends o {
14
- constructor(...e) {
15
- super(...e), this.value = "", this.placeholder = "Typ of plak hier je tekst", this.sourceLabel = "Tekst om te vertalen", this.targetLabel = "Vertaling", this.variant = "text", this.spoken = "", this.spokenTimer = 0, this.#e = new i(this, r);
13
+ var l = class extends t {
14
+ constructor(...t) {
15
+ super(...t), this.value = "", this.placeholder = "Typ of plak hier je tekst", this.sourceLabel = "Tekst om te vertalen", this.targetLabel = "Vertaling", this.variant = "text", this.spoken = "", this.spokenTimer = 0, this.#e = new n(this, e);
16
16
  }
17
17
  static {
18
- this.styles = n(s);
18
+ this.styles = i(s);
19
19
  }
20
20
  static {
21
21
  this.properties = {
@@ -57,10 +57,10 @@ var l = class extends o {
57
57
  }, 100);
58
58
  }
59
59
  renderStatus() {
60
- return a`<span class="visually-hidden" role="status">${this.spoken}</span>`;
60
+ return o`<span class="visually-hidden" role="status">${this.spoken}</span>`;
61
61
  }
62
62
  renderSwap() {
63
- return a`<div class="lintje-translator__swap">
63
+ return o`<div class="lintje-translator__swap">
64
64
  <lintje-icon-button
65
65
  icon="functioneel-wissel-horizontaal"
66
66
  label="Talen omwisselen"
@@ -70,7 +70,7 @@ var l = class extends o {
70
70
  </div>`;
71
71
  }
72
72
  renderDocuments() {
73
- return a`<div class="lintje-translator lintje-translator--documents">
73
+ return o`<div class="lintje-translator lintje-translator--documents">
74
74
  <div class="lintje-translator__bars">
75
75
  <div class="lintje-translator__half">
76
76
  <div class="lintje-translator__bar lintje-translator__bar--source"><slot name="source-language"></slot></div>
@@ -84,7 +84,7 @@ var l = class extends o {
84
84
  </div>${this.renderStatus()}`;
85
85
  }
86
86
  render() {
87
- return this.variant === "documents" ? this.renderDocuments() : a`<div class="lintje-translator">
87
+ return this.variant === "documents" ? this.renderDocuments() : o`<div class="lintje-translator">
88
88
  <div class="lintje-translator__half" role="group" aria-label=${this.sourceLabel}>
89
89
  <div class="lintje-translator__bar lintje-translator__bar--source"><slot name="source-language"></slot></div>
90
90
  <div class="lintje-translator__body lintje-translator__body--source">
@@ -100,13 +100,13 @@ var l = class extends o {
100
100
  .placeholder=${this.placeholder}
101
101
  @lintje-change=${this.onText}
102
102
  ></lintje-textarea>
103
- ${this.value ? a`<lintje-icon-button
103
+ ${this.value ? o`<lintje-icon-button
104
104
  class="lintje-translator__clear"
105
105
  icon="functioneel-kruis"
106
106
  label="Tekst wissen"
107
107
  variant="flat"
108
108
  @click=${this.clear}
109
- ></lintje-icon-button>` : t}
109
+ ></lintje-icon-button>` : a}
110
110
  </div>
111
111
  <div class="lintje-translator__foot">
112
112
  <slot name="source-actions"></slot>
@@ -126,6 +126,6 @@ var l = class extends o {
126
126
  </div>${this.renderStatus()}`;
127
127
  }
128
128
  };
129
- e("lintje-translator", l);
129
+ r("lintje-translator", l);
130
130
  //#endregion
131
131
  export { l as LintjeTranslator };
@@ -1,4 +1,4 @@
1
- import { $ as e, Bt as t, Gt as n, Ht as r, Z as i, et as a, qt as o, ut as s, zt as c } from "../chunks/base-Bg-IFOPG.js";
1
+ import { Jt as e, Yt as t, Zt as n, bt as r, en as i, lt as a, nn as o, st as s, ut as c } from "../chunks/base-DRGvkF-r.js";
2
2
  //#region src/components/tables/tree-view/tree-view.css?inline
3
3
  var l = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-tree,\n.lintje-tree__group { list-style: none; margin: 0; padding: 0; }\n.lintje-tree { font: var(--text-ui); color: var(--color-text-primary); }\n\n/* The treeitem holds its row and its children, so the ring is drawn inside the row alone. */\n.lintje-tree__item:focus-visible { outline: none; }\n.lintje-tree__item:focus-visible > .lintje-tree__row {\n outline: var(--focus-width) solid var(--color-focus);\n outline-offset: calc(var(--focus-width) * -1);\n}\n\n.lintje-tree__row {\n display: flex; align-items: center;\n gap: var(--space-1);\n height: var(--h-option);\n padding: 0 var(--space-2) 0 calc(var(--space-2) + var(--lintje-tree-depth, 0) * var(--space-5));\n cursor: pointer;\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-tree__row:hover { background: var(--color-bg-subtle); }\n.lintje-tree__row.is-selected {\n background: var(--color-bg-selected);\n box-shadow: inset 4px 0 0 var(--color-accent-line);\n font-weight: 700;\n}\n\n.lintje-tree__arrow {\n flex: none;\n display: inline-flex; align-items: center; justify-content: center;\n width: 16px; height: 16px;\n color: var(--color-text-muted);\n}\n/* The fold target reaches 24 × 24 px with a transparent hit area; it stays inside the gap. */\n.lintje-tree__arrow--toggle { position: relative; }\n.lintje-tree__arrow--toggle::after {\n content: '';\n position: absolute;\n inset: calc(var(--space-1) * -1);\n}\n.lintje-tree__label {\n min-width: 0;\n overflow: hidden; text-overflow: ellipsis; white-space: nowrap;\n}\n.lintje-tree__count { flex: none; font-weight: 400; color: var(--color-text-muted); }\n\n@media (prefers-reduced-motion: reduce) {\n .lintje-tree__row { transition: none; }\n}\n\n/* Forced colours: the fill and inset bar are dropped. The bar becomes a real border (Canvas at\n rest, Highlight when selected), so selecting moves nothing. */\n@media (forced-colors: active) {\n .lintje-tree__row { border-left: 4px solid Canvas; }\n .lintje-tree__row.is-selected { border-left-color: Highlight; }\n}\n";
4
4
  //#endregion
@@ -23,12 +23,12 @@ function f(e, t, n) {
23
23
  }
24
24
  return -1;
25
25
  }
26
- var p = class extends c {
26
+ var p = class extends e {
27
27
  constructor(...e) {
28
28
  super(...e), this.nodes = [], this.expanded = [], this.name = "", this.open = /* @__PURE__ */ new Set(), this.focusId = null;
29
29
  }
30
30
  static {
31
- this.styles = [e, r(l)];
31
+ this.styles = [a, n(l)];
32
32
  }
33
33
  static {
34
34
  this.properties = {
@@ -118,41 +118,41 @@ var p = class extends c {
118
118
  @click=${(n) => {
119
119
  n.stopPropagation(), this.toggle(e, !t);
120
120
  }}
121
- >${a(t ? "functioneel-delta-omlaag" : "functioneel-delta-rechts", { size: 16 })}</span
121
+ >${c(t ? "functioneel-delta-omlaag" : "functioneel-delta-rechts", { size: 16 })}</span
122
122
  >`;
123
123
  }
124
- item(e, t, r) {
124
+ item(e, t, n) {
125
125
  let a = u(e), c = a && this.open.has(e.id), l = e.id === this.selectedId, d = e.count ?? e.children?.length;
126
126
  return o`<li
127
127
  class="lintje-tree__item"
128
128
  role="treeitem"
129
129
  data-id=${e.id}
130
- tabindex=${e.id === r ? "0" : "-1"}
130
+ tabindex=${e.id === n ? "0" : "-1"}
131
131
  aria-level=${t}
132
132
  aria-selected=${l ? "true" : "false"}
133
- aria-expanded=${a ? String(c) : n}
134
- aria-busy=${e.loading ? "true" : n}
133
+ aria-expanded=${a ? String(c) : i}
134
+ aria-busy=${e.loading ? "true" : i}
135
135
  @focus=${(t) => {
136
136
  t.target === t.currentTarget && (this.focusId = e.id);
137
137
  }}
138
138
  >
139
139
  <div
140
- class=${i({
140
+ class=${s({
141
141
  "lintje-tree__row": !0,
142
142
  "is-selected": l
143
143
  })}
144
- ${s({ "--lintje-tree-depth": t - 1 })}
144
+ ${r({ "--lintje-tree-depth": t - 1 })}
145
145
  @click=${() => {
146
146
  this.choose(e), this.moveFocus(e.id);
147
147
  }}
148
148
  >
149
149
  ${this.arrow(e)}
150
150
  <span class="lintje-tree__label">${e.label}</span>
151
- ${a && !c && d ? o`<span class="lintje-tree__count">· ${d}</span>` : n}
151
+ ${a && !c && d ? o`<span class="lintje-tree__count">· ${d}</span>` : i}
152
152
  </div>
153
153
  ${c && e.children?.length ? o`<ul class="lintje-tree__group" role="group">
154
- ${e.children.map((e) => this.item(e, t + 1, r))}
155
- </ul>` : n}
154
+ ${e.children.map((e) => this.item(e, t + 1, n))}
155
+ </ul>` : i}
156
156
  </li>`;
157
157
  }
158
158
  render() {