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,5 +1,5 @@
1
- import { $ as e, Bt as t, Gt as n, Ht as r, Z as i, et as a, qt as o } from "../chunks/base-Bg-IFOPG.js";
2
- import { a as s, n as c, t as l } 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, ut as o } from "../chunks/base-CbmWxUig.js";
2
+ import { a as s, n as c, t as l } from "../chunks/input-CRW_exv_.js";
3
3
  import { t as u } from "../chunks/debounce-JXnLMCcF.js";
4
4
  //#region src/components/inputs/text-input/text-input.css?inline
5
5
  var d = "/* The text field. */\n\n/* --- Text field ----------------------------------------------------------- */\n.lintje-text-input { position: relative; display: flex; align-items: center; }\n.lintje-text-input__control {\n width: 100%; height: var(--h-control);\n padding: 0 14px;\n border: 1px solid var(--color-border-field);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n font-size: 1rem;\n border-radius: var(--radius);\n}\n.lintje-text-input__control::placeholder { color: var(--color-text-placeholder); opacity: 1; }\n.lintje-text-input__control.is-error { border: 2px solid var(--color-error); }\n/* Read-only: the subtle surface, the strong border, the text still primary. */\n.lintje-text-input__control.is-readonly {\n border: 1px solid var(--color-border-strong);\n background: var(--color-bg-subtle);\n color: var(--color-text-primary);\n cursor: default;\n}\n.lintje-text-input__control:disabled {\n border: 1px solid var(--color-border-strong);\n background: var(--color-bg-subtle);\n color: var(--color-text-disabled);\n cursor: not-allowed;\n}\n.lintje-text-input--clearable .lintje-text-input__control {\n padding-right: calc(var(--h-icon-button) + var(--space-1));\n}\n/* The hit area reaches the target height above and below only: sideways it would cover the text. */\n.lintje-text-input__clear {\n position: absolute; right: var(--space-1);\n width: var(--h-icon-button); height: var(--h-icon-button);\n display: flex; align-items: center; justify-content: center;\n color: var(--color-text-muted);\n}\n.lintje-text-input__clear:hover { color: var(--color-text-primary); }\n.lintje-text-input__clear::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n}\n\n/* --- Search ---------------------------------------------------------------- */\n/* The browser's own clear button and decoration go: the field draws its own cross. */\n.lintje-text-input--search .lintje-text-input__control { padding-left: var(--space-10); }\n.lintje-text-input__search {\n position: absolute; left: var(--space-3);\n color: var(--color-text-muted);\n pointer-events: none;\n}\n.lintje-text-input__control::-webkit-search-cancel-button,\n.lintje-text-input__control::-webkit-search-decoration { appearance: none; }\n\n/* --- Password -------------------------------------------------------------- */\n.lintje-text-input--password .lintje-text-input__control { border-right: 0; }\n.lintje-text-input__reveal { flex: none; --h-button: var(--h-control); }\n", f = class extends c {
@@ -8,9 +8,9 @@ var d = "/* The text field. */\n\n/* --- Text field ----------------------------
8
8
  }
9
9
  static {
10
10
  this.styles = [
11
- e,
12
- r(l),
13
- r(d)
11
+ r,
12
+ t(l),
13
+ t(d)
14
14
  ];
15
15
  }
16
16
  static {
@@ -62,7 +62,7 @@ var d = "/* The text field. */\n\n/* --- Text field ----------------------------
62
62
  hintId: this.hintId,
63
63
  errorId: this.errorId
64
64
  };
65
- return this.type === "search" ? o`${e ? s(void 0, e, t) : n}<span
65
+ return this.type === "search" ? i`${e ? s(void 0, e, t) : n}<span
66
66
  id=${this.hintId}
67
67
  class="lintje-field__hint"
68
68
  aria-live="polite"
@@ -75,24 +75,24 @@ var d = "/* The text field. */\n\n/* --- Text field ----------------------------
75
75
  }
76
76
  render() {
77
77
  let e = this.type === "search", t = this.type === "password", r = (this.clearable || e) && !t && this.value !== "" && !this.disabled && !this.readonly;
78
- return o`<div class="lintje-field">
78
+ return i`<div class="lintje-field">
79
79
  ${this.renderLabel(this.controlId)}
80
80
  <div
81
- class=${i({
81
+ class=${a({
82
82
  "lintje-text-input": !0,
83
83
  "lintje-text-input--clearable": r,
84
84
  "lintje-text-input--search": e,
85
85
  "lintje-text-input--password": t
86
86
  })}
87
87
  >
88
- ${e ? a("functioneel-zoek", {
88
+ ${e ? o("functioneel-zoek", {
89
89
  size: 18,
90
90
  className: "lintje-text-input__search"
91
91
  }) : n}
92
92
  <input
93
93
  type=${this.inputType}
94
94
  id=${this.controlId}
95
- class=${i({
95
+ class=${a({
96
96
  "lintje-text-input__control": !0,
97
97
  "is-error": !!this.error,
98
98
  "is-readonly": this.readonly
@@ -114,16 +114,16 @@ var d = "/* The text field. */\n\n/* --- Text field ----------------------------
114
114
  @change=${this.change}
115
115
  @keydown=${this.onKeydown}
116
116
  />
117
- ${r ? o`<button
117
+ ${r ? i`<button
118
118
  type="button"
119
119
  class="lintje-text-input__clear"
120
120
  aria-label="Wissen"
121
121
  @mousedown=${(e) => e.preventDefault()}
122
122
  @click=${this.clear}
123
123
  >
124
- ${a("functioneel-kruis", { size: 16 })}
124
+ ${o("functioneel-kruis", { size: 16 })}
125
125
  </button>` : n}
126
- ${t ? o`<lintje-button
126
+ ${t ? i`<lintje-button
127
127
  class="lintje-text-input__reveal"
128
128
  variant="secondary"
129
129
  ?disabled=${this.disabled}
@@ -135,6 +135,6 @@ var d = "/* The text field. */\n\n/* --- Text field ----------------------------
135
135
  </div>`;
136
136
  }
137
137
  };
138
- t("lintje-text-input", f);
138
+ e("lintje-text-input", f);
139
139
  //#endregion
140
140
  export { f as LintjeTextInput };
@@ -1,8 +1,8 @@
1
- import { $ as e, Bt as t, Gt as n, Ht as r, Z as i, qt as a, ut as o } from "../chunks/base-Bg-IFOPG.js";
2
- import { a as s, i as c, n as l, t as u } from "../chunks/input-BtuNFSWk.js";
1
+ import { Yt as e, Zt as t, bt as n, en as r, lt as i, nn as a, st as o } from "../chunks/base-CbmWxUig.js";
2
+ import { a as s, i as c, n as l, t as u } from "../chunks/input-CRW_exv_.js";
3
3
  import { t as d } from "../chunks/debounce-JXnLMCcF.js";
4
4
  //#region src/components/inputs/textarea/textarea.css?inline
5
- var f = "/* The multi-line text field. */\n:host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n/* Plain takes the type of where it stands, past the UI type every element sets on itself, and\n fills the height the surface gives it. */\n:host([variant='plain']) { display: flex; flex-direction: column; font: inherit; }\n/* Below 768 px: the full width, as `stacked`. */\n@media (max-width: 767px) {\n :host { width: 100%; }\n}\n\n/* --- */\n\n/* `rows` lines at least (three by default); grows with its content up to twelve, then scrolls. */\n.lintje-textarea__control {\n display: block;\n width: 100%;\n min-height: calc(var(--lintje-rows, 3) * 1lh + var(--space-4) + 2px);\n max-height: calc(12lh + var(--space-4) + 2px);\n field-sizing: content;\n padding: var(--space-2) 14px;\n border: 1px solid var(--color-border-field);\n border-radius: var(--radius);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n font: var(--text-body);\n resize: vertical;\n overflow-y: auto;\n}\n.lintje-textarea__control::placeholder { color: var(--color-text-placeholder); opacity: 1; }\n/* The padding gives back the pixel the 2 px error border takes. */\n.lintje-textarea__control.is-error { border: 2px solid var(--color-error); padding: 7px 13px; }\n/* Disabled wins over read-only, read-only over error. */\n.lintje-textarea__control.is-readonly {\n border: 1px solid var(--color-border-strong);\n padding: var(--space-2) 14px;\n background: var(--color-bg-subtle);\n color: var(--color-text-primary);\n cursor: default;\n}\n.lintje-textarea__control:disabled {\n border: 1px solid var(--color-border-strong);\n padding: var(--space-2) 14px;\n background: var(--color-bg-subtle);\n color: var(--color-text-disabled);\n cursor: not-allowed;\n}\n\n/* Plain: the surface around it is the field, and draws the focus ring around itself, so the\n ring does not sit tight against the text. It keeps growing; the surface decides the height. */\n:host([variant='plain']) .lintje-field { flex: 1; }\n.lintje-textarea__control--plain { flex: 1; }\n.lintje-textarea__control--plain:focus-visible { outline: none; }\n.lintje-textarea__control--plain,\n.lintje-textarea__control--plain.is-readonly,\n.lintje-textarea__control--plain:disabled {\n min-height: calc(var(--lintje-rows, 3) * 1lh);\n max-height: none;\n padding: 0;\n border: 0;\n background: transparent;\n font: inherit;\n resize: none;\n}\n.lintje-textarea__control--plain.is-error { padding: 0 0 var(--space-1); border: 0; border-bottom: 2px solid var(--color-error); }\n\n.lintje-textarea__counter {\n align-self: flex-end;\n font: var(--text-meta);\n color: var(--color-text-muted);\n}\n.lintje-textarea__counter.is-over { color: var(--color-error-text); font-weight: 700; }\n", p = new Intl.NumberFormat("nl-NL");
5
+ var f = "/* The multi-line text field. */\n:host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n/* Plain takes the type of where it stands, past the UI type every element sets on itself, and\n fills the height the surface gives it. */\n:host([variant='plain']) { display: flex; flex-direction: column; font: inherit; }\n/* Below 768 px: the full width, as `stacked`. */\n@media screen and (max-width: 767px) {\n :host { width: 100%; }\n}\n\n/* --- */\n\n/* `rows` lines at least (three by default); grows with its content up to twelve, then scrolls. */\n.lintje-textarea__control {\n display: block;\n width: 100%;\n min-height: calc(var(--lintje-rows, 3) * 1lh + var(--space-4) + 2px);\n max-height: calc(12lh + var(--space-4) + 2px);\n field-sizing: content;\n padding: var(--space-2) 14px;\n border: 1px solid var(--color-border-field);\n border-radius: var(--radius);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n font: var(--text-body);\n resize: vertical;\n overflow-y: auto;\n}\n.lintje-textarea__control::placeholder { color: var(--color-text-placeholder); opacity: 1; }\n/* The padding gives back the pixel the 2 px error border takes. */\n.lintje-textarea__control.is-error { border: 2px solid var(--color-error); padding: 7px 13px; }\n/* Disabled wins over read-only, read-only over error. */\n.lintje-textarea__control.is-readonly {\n border: 1px solid var(--color-border-strong);\n padding: var(--space-2) 14px;\n background: var(--color-bg-subtle);\n color: var(--color-text-primary);\n cursor: default;\n}\n.lintje-textarea__control:disabled {\n border: 1px solid var(--color-border-strong);\n padding: var(--space-2) 14px;\n background: var(--color-bg-subtle);\n color: var(--color-text-disabled);\n cursor: not-allowed;\n}\n\n/* Plain: the surface around it is the field, and draws the focus ring around itself, so the\n ring does not sit tight against the text. It keeps growing; the surface decides the height. */\n:host([variant='plain']) .lintje-field { flex: 1; }\n.lintje-textarea__control--plain { flex: 1; }\n.lintje-textarea__control--plain:focus-visible { outline: none; }\n.lintje-textarea__control--plain,\n.lintje-textarea__control--plain.is-readonly,\n.lintje-textarea__control--plain:disabled {\n min-height: calc(var(--lintje-rows, 3) * 1lh);\n max-height: none;\n padding: 0;\n border: 0;\n background: transparent;\n font: inherit;\n resize: none;\n}\n.lintje-textarea__control--plain.is-error { padding: 0 0 var(--space-1); border: 0; border-bottom: 2px solid var(--color-error); }\n\n.lintje-textarea__counter {\n align-self: flex-end;\n font: var(--text-meta);\n color: var(--color-text-muted);\n}\n.lintje-textarea__counter.is-over { color: var(--color-error-text); font-weight: 700; }\n", p = new Intl.NumberFormat("nl-NL");
6
6
  function m(e, t) {
7
7
  return `${p.format(e)} / ${p.format(t)} tekens`;
8
8
  }
@@ -20,9 +20,9 @@ var _ = typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("f
20
20
  }
21
21
  static {
22
22
  this.styles = [
23
- e,
24
- r(u),
25
- r(f)
23
+ i,
24
+ t(u),
25
+ t(f)
26
26
  ];
27
27
  }
28
28
  static {
@@ -96,7 +96,7 @@ var _ = typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("f
96
96
  hintId: this.hintId,
97
97
  errorId: this.errorId
98
98
  });
99
- return [e === n ? "" : e, this.counterShown ? this.counterId : ""].filter(Boolean).join(" ") || n;
99
+ return [e === r ? "" : e, this.counterShown ? this.counterId : ""].filter(Boolean).join(" ") || r;
100
100
  }
101
101
  get counterShown() {
102
102
  return !!this.maxlength && !this.disabled;
@@ -111,7 +111,7 @@ var _ = typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("f
111
111
  return a`${e}<span
112
112
  id=${this.counterId}
113
113
  part="counter"
114
- class=${i({
114
+ class=${o({
115
115
  "lintje-textarea__counter": !0,
116
116
  "is-over": n > t
117
117
  })}
@@ -125,20 +125,20 @@ var _ = typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("f
125
125
  ${this.renderLabel(this.controlId)}
126
126
  <textarea
127
127
  id=${this.controlId}
128
- class=${i({
128
+ class=${o({
129
129
  "lintje-textarea__control": !0,
130
130
  "lintje-textarea__control--plain": this.variant === "plain",
131
131
  "is-error": !!e,
132
132
  "is-readonly": this.readonly
133
133
  })}
134
134
  rows=${this.rows}
135
- ${o({ "--lintje-rows": this.rows })}
135
+ ${n({ "--lintje-rows": this.rows })}
136
136
  .value=${this.value}
137
- placeholder=${this.placeholder || n}
137
+ placeholder=${this.placeholder || r}
138
138
  aria-labelledby=${this.labelId}
139
139
  aria-describedby=${this.describedBy}
140
- aria-invalid=${e ? "true" : n}
141
- aria-required=${this.required ? "true" : n}
140
+ aria-invalid=${e ? "true" : r}
141
+ aria-required=${this.required ? "true" : r}
142
142
  ?required=${this.required}
143
143
  ?readonly=${this.readonly}
144
144
  ?disabled=${this.disabled}
@@ -150,6 +150,6 @@ var _ = typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("f
150
150
  </div>`;
151
151
  }
152
152
  };
153
- t("lintje-textarea", v);
153
+ e("lintje-textarea", v);
154
154
  //#endregion
155
155
  export { v as LintjeTextarea, g as counterSpeaks, m as counterText, h as limitMessage };
@@ -1 +1 @@
1
- export { x as LintjeTile } from "../chunks/base-Bg-IFOPG.js";
1
+ export { w as LintjeTile } from "../chunks/base-CbmWxUig.js";
@@ -1,7 +1,7 @@
1
- import { $ as e, Bt as t, G as n, Gt as r, Ht as i, Z as a, et as o, f as s, qt as c } from "../chunks/base-Bg-IFOPG.js";
2
- import { r as l, t as u } from "../chunks/input-BtuNFSWk.js";
1
+ import { Yt as e, Zt as t, en as n, et as r, lt as i, m as a, nn as o, st as s, ut as c } from "../chunks/base-CbmWxUig.js";
2
+ import { r as l, t as u } from "../chunks/input-CRW_exv_.js";
3
3
  //#region src/components/inputs/time-input/time-input.css?inline
4
- var d = "/* The time input: a text field with a list button, and the list in a `lintje-popover`. */\n:host {\n display: block;\n min-width: 0;\n width: 120px;\n}\n:host([hidden]) { display: none; }\n:host([stacked]) {\n width: 100%;\n --h-control: var(--h-touch);\n}\n@media (max-width: 767px) {\n :host {\n width: 100%;\n --h-control: var(--h-touch);\n }\n}\n\n/* --- */\n\n/* --- The field ----------------------------------------------------------- */\n.lintje-time-input { position: relative; display: flex; align-items: center; }\n.lintje-time-input__control {\n width: 100%; height: var(--h-control);\n padding: 0 calc(var(--h-control) - 2px + var(--space-2)) 0 14px;\n border: 1px solid var(--color-border-field);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n font-size: 1rem;\n font-variant-numeric: tabular-nums;\n border-radius: var(--radius);\n}\n.lintje-time-input__control::placeholder { color: var(--color-text-placeholder); opacity: 1; }\n.lintje-time-input__control.is-error { border: 2px solid var(--color-error); }\n/* Disabled wins over error: after it, the whole border back to 1 px strong. */\n.lintje-time-input__control:disabled {\n border: 1px solid var(--color-border-strong);\n background: var(--color-bg-subtle);\n color: var(--color-text-disabled);\n cursor: not-allowed;\n}\n\n.lintje-time-input__toggle {\n position: absolute; top: 1px; right: 1px;\n width: calc(var(--h-control) - 2px); height: calc(var(--h-control) - 2px);\n display: flex; align-items: center; justify-content: center;\n border-left: 1px solid var(--color-border-default);\n background: transparent;\n color: var(--color-accent-text);\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n/* A transparent hit area reaches the target height, never to the left where the typing part is. */\n.lintje-time-input__toggle::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2)) min(0px, calc(100% - var(--h-target)))\n min(0px, calc((100% - var(--h-target)) / 2)) 0;\n}\n/* The button steps in past the 2 px error border; a disabled field has 1 px again. */\n.lintje-time-input__control.is-error:not(:disabled) + .lintje-time-input__toggle {\n top: 2px; right: 2px;\n width: calc(var(--h-control) - 4px); height: calc(var(--h-control) - 4px);\n}\n.lintje-time-input__toggle:hover:not(:disabled) { background: var(--color-bg-selected); }\n.lintje-time-input__toggle:disabled { color: var(--color-text-disabled); cursor: not-allowed; }\n\n/* --- The list ------------------------------------------------------------ */\n/* A dense list (`--h-option`): at most seven rows in view, then it scrolls. */\n.lintje-time-input__panel { padding: var(--space-1) 0; }\n.lintje-time-input__list {\n max-height: calc(7 * var(--h-option));\n overflow-y: auto;\n font: var(--text-ui);\n}\n.lintje-time-input__option {\n display: flex; align-items: center;\n width: 100%;\n min-height: var(--h-option);\n padding: 0 14px;\n background: transparent;\n color: var(--color-text-primary);\n font-variant-numeric: tabular-nums;\n cursor: pointer;\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-time-input__option:hover { background: var(--color-bg-subtle); }\n.lintje-time-input__option.is-selected { background: var(--color-bg-selected); font-weight: 700; }\n/* The fill alone is about 1.1:1, so the focus ring stands inside the row. */\n.lintje-time-input__option:focus-visible {\n outline: var(--focus-width) solid var(--color-focus);\n outline-offset: calc(var(--focus-width) * -1);\n}\n\n/* Forced colours drop fills: the chosen row takes an edge inside the row, so none changes size. */\n@media (forced-colors: active) {\n .lintje-time-input__option.is-selected { outline: 2px solid Highlight; outline-offset: -2px; }\n .lintje-time-input__option:focus-visible { outline-color: Highlight; }\n}\n", f = 1440, p = /^(\d{1,2})[:.](\d{2})$/, m = /^\d{1,4}$/, h = /^(\d{2}):(\d{2})$/, g = (e) => String(e).padStart(2, "0");
4
+ var d = "/* The time input: a text field with a list button, and the list in a `lintje-popover`. */\n:host {\n display: block;\n min-width: 0;\n width: 120px;\n}\n:host([hidden]) { display: none; }\n:host([stacked]) {\n width: 100%;\n --h-control: var(--h-touch);\n}\n@media screen and (max-width: 767px) {\n :host {\n width: 100%;\n --h-control: var(--h-touch);\n }\n}\n\n/* --- */\n\n/* --- The field ----------------------------------------------------------- */\n.lintje-time-input { position: relative; display: flex; align-items: center; }\n.lintje-time-input__control {\n width: 100%; height: var(--h-control);\n padding: 0 calc(var(--h-control) - 2px + var(--space-2)) 0 14px;\n border: 1px solid var(--color-border-field);\n background: var(--color-bg-surface);\n color: var(--color-text-primary);\n font-size: 1rem;\n font-variant-numeric: tabular-nums;\n border-radius: var(--radius);\n}\n.lintje-time-input__control::placeholder { color: var(--color-text-placeholder); opacity: 1; }\n.lintje-time-input__control.is-error { border: 2px solid var(--color-error); }\n/* Disabled wins over error: after it, the whole border back to 1 px strong. */\n.lintje-time-input__control:disabled {\n border: 1px solid var(--color-border-strong);\n background: var(--color-bg-subtle);\n color: var(--color-text-disabled);\n cursor: not-allowed;\n}\n\n.lintje-time-input__toggle {\n position: absolute; top: 1px; right: 1px;\n width: calc(var(--h-control) - 2px); height: calc(var(--h-control) - 2px);\n display: flex; align-items: center; justify-content: center;\n border-left: 1px solid var(--color-border-default);\n background: transparent;\n color: var(--color-accent-text);\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n/* A transparent hit area reaches the target height, never to the left where the typing part is. */\n.lintje-time-input__toggle::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2)) min(0px, calc(100% - var(--h-target)))\n min(0px, calc((100% - var(--h-target)) / 2)) 0;\n}\n/* The button steps in past the 2 px error border; a disabled field has 1 px again. */\n.lintje-time-input__control.is-error:not(:disabled) + .lintje-time-input__toggle {\n top: 2px; right: 2px;\n width: calc(var(--h-control) - 4px); height: calc(var(--h-control) - 4px);\n}\n.lintje-time-input__toggle:hover:not(:disabled) { background: var(--color-bg-selected); }\n.lintje-time-input__toggle:disabled { color: var(--color-text-disabled); cursor: not-allowed; }\n\n/* --- The list ------------------------------------------------------------ */\n/* A dense list (`--h-option`): at most seven rows in view, then it scrolls. */\n.lintje-time-input__panel { padding: var(--space-1) 0; }\n.lintje-time-input__list {\n max-height: calc(7 * var(--h-option));\n overflow-y: auto;\n font: var(--text-ui);\n}\n.lintje-time-input__option {\n display: flex; align-items: center;\n width: 100%;\n min-height: var(--h-option);\n padding: 0 14px;\n background: transparent;\n color: var(--color-text-primary);\n font-variant-numeric: tabular-nums;\n cursor: pointer;\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-time-input__option:hover { background: var(--color-bg-subtle); }\n.lintje-time-input__option.is-selected { background: var(--color-bg-selected); font-weight: 700; }\n/* The fill alone is about 1.1:1, so the focus ring stands inside the row. */\n.lintje-time-input__option:focus-visible {\n outline: var(--focus-width) solid var(--color-focus);\n outline-offset: calc(var(--focus-width) * -1);\n}\n\n/* Forced colours drop fills: the chosen row takes an edge inside the row, so none changes size. */\n@media (forced-colors: active) {\n .lintje-time-input__option.is-selected { outline: 2px solid Highlight; outline-offset: -2px; }\n .lintje-time-input__option:focus-visible { outline-color: Highlight; }\n}\n", f = 1440, p = /^(\d{1,2})[:.](\d{2})$/, m = /^\d{1,4}$/, h = /^(\d{2}):(\d{2})$/, g = (e) => String(e).padStart(2, "0");
5
5
  function _(e, t) {
6
6
  return !Number.isInteger(e) || !Number.isInteger(t) || e < 0 || e > 23 || t < 0 || t > 59 ? null : `${g(e)}:${g(t)}`;
7
7
  }
@@ -57,9 +57,9 @@ var D = class extends l {
57
57
  }
58
58
  static {
59
59
  this.styles = [
60
- e,
61
- i(u),
62
- i(d)
60
+ i,
61
+ t(u),
62
+ t(d)
63
63
  ];
64
64
  }
65
65
  static {
@@ -144,7 +144,7 @@ var D = class extends l {
144
144
  }
145
145
  onFocusOut(e) {
146
146
  let t = e.relatedTarget;
147
- this.open && t && !this.renderRoot.contains(t) && !n(this, t) && (this.open = !1);
147
+ this.open && t && !this.renderRoot.contains(t) && !r(this, t) && (this.open = !1);
148
148
  }
149
149
  pick(e) {
150
150
  this.choose(e), this.open = !1, this.renderRoot.querySelector(".lintje-time-input__control")?.focus();
@@ -164,17 +164,17 @@ var D = class extends l {
164
164
  this.focusTime = t[a], this.focusOption();
165
165
  }
166
166
  renderList() {
167
- return c`<div class="lintje-time-input__panel"><div
167
+ return o`<div class="lintje-time-input__panel"><div
168
168
  class="lintje-time-input__list"
169
169
  role="listbox"
170
170
  tabindex="-1"
171
171
  aria-label="Tijden"
172
172
  @keydown=${this.onListKeydown}
173
173
  >
174
- ${this.times.map((e) => c`<button
174
+ ${this.times.map((e) => o`<button
175
175
  type="button"
176
176
  role="option"
177
- class=${a({
177
+ class=${s({
178
178
  "lintje-time-input__option": !0,
179
179
  "is-selected": e === this.value
180
180
  })}
@@ -188,7 +188,7 @@ var D = class extends l {
188
188
  }
189
189
  render() {
190
190
  let e = this.message;
191
- return c`<div class="lintje-field" @focusout=${this.onFocusOut}>
191
+ return o`<div class="lintje-field" @focusout=${this.onFocusOut}>
192
192
  ${this.renderLabel(this.controlId)}
193
193
  <div class="lintje-time-input">
194
194
  <input
@@ -196,16 +196,16 @@ var D = class extends l {
196
196
  id=${this.controlId}
197
197
  inputmode="numeric"
198
198
  autocomplete="off"
199
- class=${a({
199
+ class=${s({
200
200
  "lintje-time-input__control": !0,
201
201
  "is-error": !!e
202
202
  })}
203
- .value=${s(this.text)}
204
- placeholder=${this.placeholder || r}
203
+ .value=${a(this.text)}
204
+ placeholder=${this.placeholder || n}
205
205
  aria-labelledby=${this.labelId}
206
206
  aria-describedby=${this.describedBy}
207
- aria-invalid=${e ? "true" : r}
208
- aria-required=${this.required ? "true" : r}
207
+ aria-invalid=${e ? "true" : n}
208
+ aria-required=${this.required ? "true" : n}
209
209
  ?disabled=${this.disabled}
210
210
  @change=${this.onChange}
211
211
  @keydown=${this.onKeydown}
@@ -219,7 +219,7 @@ var D = class extends l {
219
219
  ?disabled=${this.disabled}
220
220
  @click=${this.toggle}
221
221
  >
222
- ${o("functioneel-klok", { size: 18 })}
222
+ ${c("functioneel-klok", { size: 18 })}
223
223
  </button>
224
224
  </div>
225
225
  <lintje-popover
@@ -227,12 +227,12 @@ var D = class extends l {
227
227
  match-width
228
228
  @lintje-close=${this.onPopoverClose}
229
229
  >
230
- ${this.open ? this.renderList() : r}
230
+ ${this.open ? this.renderList() : n}
231
231
  </lintje-popover>
232
232
  ${this.renderFoot()}
233
233
  </div>`;
234
234
  }
235
235
  };
236
- t("lintje-time-input", D);
236
+ e("lintje-time-input", D);
237
237
  //#endregion
238
238
  export { D as LintjeTimeInput };
@@ -1,8 +1,13 @@
1
- import { $ as e, Bt as t, Gt as n, H as r, Ht as i, U as a, W as o, et as s, qt as c, zt as l } from "../chunks/base-Bg-IFOPG.js";
2
- import "../chunks/focus-trap-9BnE-xWv.js";
1
+ import { $ as e, J as t, Jt as n, Q as r, Yt as i, Z as a, Zt as o, en as s, lt as c, nn as l, nt as u, ut as d } from "../chunks/base-CbmWxUig.js";
2
+ import "../chunks/focus-trap-BwOxE5BX.js";
3
3
  //#region src/components/feedback/toast/toast.css?inline
4
- var u = ":host {\n display: contents;\n}\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-toast {\n position: fixed;\n right: var(--space-6);\n bottom: var(--space-6);\n z-index: 70;\n display: flex;\n align-items: center;\n gap: var(--space-3);\n padding: var(--space-4) var(--space-5);\n min-width: 320px;\n max-width: 480px;\n font: var(--text-ui);\n box-shadow: var(--shadow-popover);\n animation: lintje-rise var(--dur-toast) var(--ease-in-motion);\n}\n.lintje-toast--ok { background: var(--color-success-bg); color: var(--color-text-primary); }\n.lintje-toast--error { background: var(--color-error-bg); color: var(--color-text-primary); }\n\n.lintje-toast__icon { flex: none; display: flex; }\n.lintje-toast--ok .lintje-toast__icon { color: var(--color-success-line); }\n.lintje-toast--error .lintje-toast__icon { color: var(--color-error-line); }\n\n.lintje-toast__text { flex: 1; }\n.lintje-toast__action { position: relative; font-weight: 700; text-decoration: underline; color: var(--color-link-on-status); flex: none; }\n/* The close and the action reach the target height through a transparent hit area; the gap\n between them keeps the hit areas apart. */\n.lintje-toast__close {\n position: relative;\n width: var(--h-icon-button); height: var(--h-icon-button);\n color: var(--color-text-muted);\n display: flex; align-items: center; justify-content: center; flex: none;\n}\n.lintje-toast__close::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2));\n}\n.lintje-toast__action::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n}\n\n@media (max-width: 767px) {\n .lintje-toast { left: var(--space-4); right: var(--space-4); bottom: var(--space-4); min-width: 0; max-width: none; }\n}\n\n/* Forced colours: the fill and shadow are dropped, so the toast takes a CanvasText line. */\n@media (forced-colors: active) {\n .lintje-toast { outline: 1px solid CanvasText; outline-offset: -1px; }\n}\n", d = 6e3;
5
- function f(e) {
4
+ var f = ":host {\n display: contents;\n}\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-toast {\n position: fixed;\n right: var(--space-6);\n bottom: var(--space-6);\n z-index: 70;\n display: flex;\n align-items: center;\n gap: var(--space-3);\n padding: var(--space-4) var(--space-5);\n min-width: 320px;\n max-width: 480px;\n font: var(--text-ui);\n box-shadow: var(--shadow-popover);\n animation: lintje-rise var(--dur-toast) var(--ease-in-motion);\n}\n.lintje-toast--ok { background: var(--color-success-bg); color: var(--color-text-primary); }\n.lintje-toast--error { background: var(--color-error-bg); color: var(--color-text-primary); }\n\n.lintje-toast__icon { flex: none; display: flex; }\n.lintje-toast--ok .lintje-toast__icon { color: var(--color-success-line); }\n.lintje-toast--error .lintje-toast__icon { color: var(--color-error-line); }\n\n.lintje-toast--info { background: var(--color-info-bg); color: var(--color-text-primary); }\n.lintje-toast--info .lintje-toast__icon { color: var(--color-info-line); }\n.lintje-toast--warning { background: var(--color-attention-bg); color: var(--color-text-primary); }\n.lintje-toast--warning .lintje-toast__icon { color: var(--color-attention-line); }\n\n.lintje-toast__text { flex: 1; }\n.lintje-toast__action { position: relative; font-weight: 700; text-decoration: underline; color: var(--color-link-on-status); flex: none; }\n/* The close and the action reach the target height through a transparent hit area; the gap\n between them keeps the hit areas apart. */\n.lintje-toast__close {\n position: relative;\n width: var(--h-icon-button); height: var(--h-icon-button);\n color: var(--color-text-muted);\n display: flex; align-items: center; justify-content: center; flex: none;\n}\n.lintje-toast__close::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2));\n}\n.lintje-toast__action::after {\n content: '';\n position: absolute;\n inset: min(0px, calc((100% - var(--h-target)) / 2)) 0;\n}\n\n@media screen and (max-width: 767px) {\n .lintje-toast { left: var(--space-4); right: var(--space-4); bottom: var(--space-4); min-width: 0; max-width: none; }\n}\n\n/* Forced colours: the fill and shadow are dropped, so the toast takes a CanvasText line. */\n@media (forced-colors: active) {\n .lintje-toast { outline: 1px solid CanvasText; outline-offset: -1px; }\n}\n", p = 6e3, m = {
5
+ ok: "success",
6
+ error: "error",
7
+ info: "info",
8
+ warning: "attention"
9
+ };
10
+ function h(e) {
6
11
  for (let t = e.getRootNode();;) {
7
12
  let e = t.querySelector?.("main");
8
13
  if (e) return e;
@@ -10,9 +15,13 @@ function f(e) {
10
15
  t = t.host.getRootNode();
11
16
  }
12
17
  }
13
- var p = class extends l {
18
+ var g = class extends n {
14
19
  static {
15
- this.styles = [e, i(u)];
20
+ this.styles = [
21
+ c,
22
+ o(f),
23
+ o(u)
24
+ ];
16
25
  }
17
26
  static {
18
27
  this.properties = {
@@ -33,18 +42,18 @@ var p = class extends l {
33
42
  #o;
34
43
  #s;
35
44
  constructor() {
36
- super(), this.kind = "ok", this.filled = !1, this.#e = !1, this.#t = !1, this.#n = 0, this.#r = 0, this.#i = null, this.#a = (e) => {
37
- e.key === "Escape" && o(this) && this.#u();
45
+ super(), this.kind = "ok", this.filled = !1, this.#e = !1, this.#t = !1, this.#n = 0, this.#r = 0, this.#i = null, this.#a = (t) => {
46
+ t.key === "Escape" && e(this) && this.#u();
38
47
  }, this.#o = () => {
39
- let e = a(this);
40
- e || (this.#i = r()), this.#l("focus", e);
48
+ let e = r(this);
49
+ e || (this.#i = a()), this.#l("focus", e);
41
50
  }, this.#s = (e) => {
42
51
  let t = e.relatedTarget;
43
52
  (!t || t !== this && !this.contains(t)) && this.#l("focus", !1);
44
53
  }, this.addEventListener("focusout", this.#s);
45
54
  }
46
55
  connectedCallback() {
47
- super.connectedCallback(), document.addEventListener("keydown", this.#a), document.addEventListener("focusin", this.#o), this.#i = r(), this.#c(), !this.filled && !this.#r && (this.#r = requestAnimationFrame(() => {
56
+ super.connectedCallback(), document.addEventListener("keydown", this.#a), document.addEventListener("focusin", this.#o), this.#i = a(), this.#c(), !this.filled && !this.#r && (this.#r = requestAnimationFrame(() => {
48
57
  this.#r = 0, this.filled = !0;
49
58
  }));
50
59
  }
@@ -55,52 +64,52 @@ var p = class extends l {
55
64
  (e.has("kind") || e.has("action")) && this.#c();
56
65
  }
57
66
  #c() {
58
- clearTimeout(this.#n), !(this.kind === "error" || this.action || this.#e || this.#t) && (this.#n = window.setTimeout(() => this.#u(), d));
67
+ clearTimeout(this.#n), !(this.kind === "error" || this.kind === "warning" || this.action || this.#e || this.#t) && (this.#n = window.setTimeout(() => this.#u(), p));
59
68
  }
60
69
  #l(e, t) {
61
70
  let n = this.#e || this.#t;
62
71
  e === "pointer" ? this.#e = t : this.#t = t, this.#e || this.#t ? clearTimeout(this.#n) : n && this.#c();
63
72
  }
64
73
  #u() {
65
- if (a(this)) {
74
+ if (r(this)) {
66
75
  let e = this.#i;
67
- (e?.isConnected && e !== document.body ? e : f(this))?.focus();
76
+ (e?.isConnected && e !== document.body ? e : h(this))?.focus();
68
77
  }
69
78
  this.emit("lintje-close");
70
79
  }
71
80
  render() {
72
- return c`<div
81
+ return l`<div
73
82
  class="lintje-toast lintje-toast--${this.kind}"
74
83
  role="status"
75
84
  aria-live="polite"
76
85
  @mouseenter=${() => this.#l("pointer", !0)}
77
86
  @mouseleave=${() => this.#l("pointer", !1)}
78
87
  >
79
- ${this.filled ? this.content() : n}
88
+ ${this.filled ? this.content() : s}
80
89
  </div>`;
81
90
  }
82
91
  content() {
83
- return c`<span class="lintje-toast__icon" aria-hidden="true"
84
- >${s(this.kind === "ok" ? "functioneel-cirkel-vinkje" : "functioneel-foutmelding", { size: 16 })}</span
92
+ return l`<span class="lintje-toast__icon" aria-hidden="true"
93
+ >${d(t[m[this.kind]], { size: 16 })}</span
85
94
  >
86
95
  <span class="lintje-toast__text"><slot></slot></span>
87
- ${this.action ? c`<button
96
+ ${this.action ? l`<button
88
97
  type="button"
89
98
  class="lintje-toast__action"
90
99
  @click=${() => this.emit("lintje-action")}
91
100
  >
92
101
  ${this.action}
93
- </button>` : n}
102
+ </button>` : s}
94
103
  <button
95
104
  type="button"
96
105
  class="lintje-toast__close"
97
106
  aria-label="Melding sluiten"
98
107
  @click=${() => this.#u()}
99
108
  >
100
- ${s("functioneel-kruis", { size: 16 })}
109
+ ${d("functioneel-kruis", { size: 16 })}
101
110
  </button>`;
102
111
  }
103
112
  };
104
- t("lintje-toast", p);
113
+ i("lintje-toast", g);
105
114
  //#endregion
106
- export { p as LintjeToast };
115
+ export { g as LintjeToast };
@@ -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/toggle/toggle.ts
4
4
  var c = class extends o {
5
5
  constructor(...e) {
6
6
  super(...e), this.checked = !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 = { checked: {
@@ -18,8 +18,8 @@ var c = class extends o {
18
18
  this.checked = e.target.checked, this.commit(this.checked);
19
19
  }
20
20
  render() {
21
- return a`<div class="lintje-field">
22
- <label class=${i({
21
+ return i`<div class="lintje-field">
22
+ <label class=${a({
23
23
  "lintje-choice": !0,
24
24
  "is-disabled": this.disabled
25
25
  })}>
@@ -37,19 +37,19 @@ var c = class extends o {
37
37
  <span class="lintje-choice__knob"></span>
38
38
  </span>
39
39
  <span
40
- class=${i({
40
+ class=${a({
41
41
  "lintje-choice__label": !0,
42
42
  "is-modified": this.modified && !this.hideLabel,
43
43
  "visually-hidden": this.hideLabel
44
44
  })}
45
45
  >${this.label} ${this.renderLabelSuffix()}</span
46
46
  >
47
- ${this.modified && !this.hideLabel ? a`<span class="lintje-label__dot"><span class="visually-hidden">afwijkend van standaard</span></span>` : n}
47
+ ${this.modified && !this.hideLabel ? i`<span class="lintje-label__dot"><span class="visually-hidden">afwijkend van standaard</span></span>` : n}
48
48
  </label>
49
49
  ${this.renderFoot()}
50
50
  </div>`;
51
51
  }
52
52
  };
53
- t("lintje-toggle", c);
53
+ e("lintje-toggle", c);
54
54
  //#endregion
55
55
  export { c as LintjeToggle };
@@ -1,12 +1,12 @@
1
- import { $ as e, Bt as t, G as n, Gt as r, Ht as i, R as a, W as o, Z as s, et as c, j as l, qt as u, ut as d, z as f, zt as p } from "../chunks/base-Bg-IFOPG.js";
2
- import "../chunks/focus-trap-9BnE-xWv.js";
1
+ import { $ as e, G as t, Jt as n, L as r, W as i, Yt as a, Zt as o, bt as s, en as c, et as l, lt as u, nn as d, st as f, ut as p } from "../chunks/base-CbmWxUig.js";
2
+ import "../chunks/focus-trap-BwOxE5BX.js";
3
3
  //#region src/components/overlays/toggletip/toggletip.css?inline
4
- var m = "/* The trigger is the icon button's drawing (`icon-button.css`); what stands here is the popover. */\n:host {\n display: inline-flex;\n vertical-align: middle;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* Closed, the `role=\"status\"` region is empty and `.visually-hidden`, never `display: none`:\n a region that appeared together with its text would not be announced. */\n\n/* Fixed to the viewport, so a scrolling tile or table cannot cut it off. It stands on the\n popover's layer (85): above a modal's or a drawer's scrim, under the tooltip (90). */\n.lintje-toggletip__popover.is-open {\n position: fixed;\n z-index: 85;\n min-width: min(12rem, calc(100vw - 2 * var(--space-2)));\n max-width: min(20rem, calc(100vw - 2 * var(--space-2)));\n padding: var(--space-3) var(--space-4);\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-popover);\n border-radius: var(--radius);\n box-shadow: var(--shadow-popover);\n font: var(--text-small);\n color: var(--color-text-primary);\n text-align: start;\n white-space: normal;\n animation: lintje-popover-in var(--dur-popover) var(--ease-in-motion);\n}\n", h = 4, g = 0, _ = class extends p {
4
+ var m = "/* The trigger is the icon button's drawing (`icon-button.css`); what stands here is the popover. */\n:host {\n display: inline-flex;\n vertical-align: middle;\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* Closed, the `role=\"status\"` region is empty and `.visually-hidden`, never `display: none`:\n a region that appeared together with its text would not be announced. */\n\n/* Fixed to the viewport, so a scrolling tile or table cannot cut it off. It stands on the\n popover's layer (85): above a modal's or a drawer's scrim, under the tooltip (90). */\n.lintje-toggletip__popover.is-open {\n position: fixed;\n z-index: 85;\n min-width: min(12rem, calc(100vw - 2 * var(--space-2)));\n max-width: min(20rem, calc(100vw - 2 * var(--space-2)));\n padding: var(--space-3) var(--space-4);\n background: var(--color-bg-surface);\n border: 1px solid var(--color-border-popover);\n border-radius: var(--radius);\n box-shadow: var(--shadow-popover);\n font: var(--text-small);\n color: var(--color-text-primary);\n text-align: start;\n white-space: normal;\n animation: lintje-popover-in var(--dur-popover) var(--ease-in-motion);\n}\n", h = 4, g = 0, _ = class extends n {
5
5
  static {
6
6
  this.styles = [
7
- e,
8
- i(l),
9
- i(m)
7
+ u,
8
+ o(r),
9
+ o(m)
10
10
  ];
11
11
  }
12
12
  static {
@@ -32,14 +32,14 @@ var m = "/* The trigger is the icon button's drawing (`icon-button.css`); what s
32
32
  constructor() {
33
33
  super(), this.label = "Toelichting", this.placement = "bottom-start", this.open = !1, this.spot = null, this.popoverId = `lintje-toggletip-${++g}`, this.reflowFrame = 0, this.onOutsideClick = (e) => {
34
34
  this.open && !e.composedPath().includes(this) && this.setOpen(!1);
35
- }, this.onEscape = (e) => {
36
- if (!this.open || e.key !== "Escape" || !o(this)) return;
37
- e.stopPropagation();
38
- let t = e.composedPath().includes(this);
39
- this.setOpen(!1), t && this.trigger?.focus();
35
+ }, this.onEscape = (t) => {
36
+ if (!this.open || t.key !== "Escape" || !e(this)) return;
37
+ t.stopPropagation();
38
+ let n = t.composedPath().includes(this);
39
+ this.setOpen(!1), n && this.trigger?.focus();
40
40
  }, this.onFocusout = (e) => {
41
41
  let t = e.relatedTarget;
42
- this.open && t && (n(t, this) || n(this, t) || this.setOpen(!1));
42
+ this.open && t && (l(t, this) || l(this, t) || this.setOpen(!1));
43
43
  }, this.onReflow = () => {
44
44
  this.open && !this.reflowFrame && (this.reflowFrame = requestAnimationFrame(() => {
45
45
  this.reflowFrame = 0, this.measure();
@@ -56,13 +56,13 @@ var m = "/* The trigger is the icon button's drawing (`icon-button.css`); what s
56
56
  document.removeEventListener("mousedown", this.onOutsideClick), document.removeEventListener("keydown", this.onEscape, !0), window.removeEventListener("scroll", this.onReflow, { capture: !0 }), window.removeEventListener("resize", this.onReflow), this.reflowFrame && cancelAnimationFrame(this.reflowFrame), this.reflowFrame = 0, super.disconnectedCallback();
57
57
  }
58
58
  measure() {
59
- let e = this.trigger, t = this.renderRoot.querySelector(".lintje-toggletip__popover");
60
- if (!e || !t) return;
61
- let n = {
62
- width: t.offsetWidth,
63
- height: t.offsetHeight
64
- }, r = a(e.getBoundingClientRect(), n, f(), this.placement, h), i = this.spot;
65
- i && i.top === r.top && i.bottom === r.bottom && i.left === r.left || (this.spot = r);
59
+ let e = this.trigger, n = this.renderRoot.querySelector(".lintje-toggletip__popover");
60
+ if (!e || !n) return;
61
+ let r = {
62
+ width: n.offsetWidth,
63
+ height: n.offsetHeight
64
+ }, a = i(e.getBoundingClientRect(), r, t(), this.placement, h), o = this.spot;
65
+ o && o.top === a.top && o.bottom === a.bottom && o.left === a.left || (this.spot = a);
66
66
  }
67
67
  willUpdate(e) {
68
68
  super.willUpdate(e), e.has("open") && !this.open && (this.spot = null);
@@ -83,10 +83,10 @@ var m = "/* The trigger is the icon button's drawing (`icon-button.css`); what s
83
83
  };
84
84
  }
85
85
  render() {
86
- let e = c("functioneel-info", { size: 16 }), t = e === r;
87
- return u`<button
86
+ let e = p("functioneel-info", { size: 16 }), t = e === c;
87
+ return d`<button
88
88
  type="button"
89
- class=${s({
89
+ class=${f({
90
90
  "lintje-icon-button": !0,
91
91
  "lintje-icon-button--flat": !0,
92
92
  "lintje-icon-button--text": t,
@@ -98,22 +98,22 @@ var m = "/* The trigger is the icon button's drawing (`icon-button.css`); what s
98
98
  aria-controls=${this.popoverId}
99
99
  @click=${() => this.setOpen(!this.open)}
100
100
  >
101
- ${t ? u`<span class="lintje-icon-button__label">${this.label}</span>` : e}
101
+ ${t ? d`<span class="lintje-icon-button__label">${this.label}</span>` : e}
102
102
  </button>
103
103
  <div
104
104
  id=${this.popoverId}
105
- class=${s({
105
+ class=${f({
106
106
  "lintje-toggletip__popover": !0,
107
107
  "is-open": this.open,
108
108
  "visually-hidden": !this.open
109
109
  })}
110
110
  role="status"
111
- ${d(this.open ? this.spotStyle() : {})}
111
+ ${s(this.open ? this.spotStyle() : {})}
112
112
  >
113
- ${this.open ? u`<slot></slot>` : r}
113
+ ${this.open ? d`<slot></slot>` : c}
114
114
  </div>`;
115
115
  }
116
116
  };
117
- t("lintje-toggletip", _);
117
+ a("lintje-toggletip", _);
118
118
  //#endregion
119
119
  export { _ as LintjeToggletip };
@@ -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-CbmWxUig.js";