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 { Bt as e, Gt as t, Ht as n, Z as r, qt as i, ut 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, bt as n, en 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/range/range-ticks.ts
4
4
  var c = [
5
5
  1,
@@ -52,7 +52,7 @@ var p = "/* The range slider. */\n\n/* --- Range slider ------------------------
52
52
  super(...e), this.from = 0, this.to = 0, this.value = null, this.single = !1, this.stacked = !1, this.draft = null, this.draftPair = null, this.trackWidth = 0;
53
53
  }
54
54
  static {
55
- this.styles = [n(s), n(p)];
55
+ this.styles = [t(s), t(p)];
56
56
  }
57
57
  static {
58
58
  this.properties = {
@@ -161,28 +161,28 @@ var p = "/* The range slider. */\n\n/* --- Range slider ------------------------
161
161
  aria-valuemax=${(this.steps ?? [])[e] ?? 0}
162
162
  aria-valuenow=${(this.steps ?? [])[this.index] ?? 0}
163
163
  aria-valuetext=${this.valueText}
164
- aria-invalid=${this.error ? "true" : t}
164
+ aria-invalid=${this.error ? "true" : r}
165
165
  @keydown=${this.key}
166
166
  @input=${(e) => {
167
167
  this.draft = Number(e.target.value);
168
168
  }}
169
169
  @change=${(e) => this.commitStep(Number(e.target.value))}
170
170
  />`;
171
- let [n, a] = this.pair;
171
+ let [t, n] = this.pair;
172
172
  return i`<input
173
173
  type="range"
174
- class=${r({
174
+ class=${a({
175
175
  "lintje-range__input": !0,
176
- "is-raised": n === a && a === e
176
+ "is-raised": t === n && n === e
177
177
  })}
178
178
  min="0"
179
179
  max=${e}
180
- .value=${String(n)}
180
+ .value=${String(t)}
181
181
  ?disabled=${this.disabled}
182
182
  aria-label="${this.label} van${this.labelSuffixText}"
183
- aria-valuetext=${this.stepText(n)}
183
+ aria-valuetext=${this.stepText(t)}
184
184
  aria-describedby=${this.describedBy}
185
- aria-invalid=${this.error ? "true" : t}
185
+ aria-invalid=${this.error ? "true" : r}
186
186
  @input=${(e) => this.moveHandle("from", e)}
187
187
  @change=${(e) => this.commitRange(...this.moveHandle("from", e))}
188
188
  />
@@ -191,18 +191,18 @@ var p = "/* The range slider. */\n\n/* --- Range slider ------------------------
191
191
  class="lintje-range__input"
192
192
  min="0"
193
193
  max=${e}
194
- .value=${String(a)}
194
+ .value=${String(n)}
195
195
  ?disabled=${this.disabled}
196
196
  aria-label="${this.label} tot en met${this.labelSuffixText}"
197
- aria-valuetext=${this.stepText(a)}
197
+ aria-valuetext=${this.stepText(n)}
198
198
  aria-describedby=${this.describedBy}
199
- aria-invalid=${this.error ? "true" : t}
199
+ aria-invalid=${this.error ? "true" : r}
200
200
  @input=${(e) => this.moveHandle("to", e)}
201
201
  @change=${(e) => this.commitRange(...this.moveHandle("to", e))}
202
202
  />`;
203
203
  }
204
204
  render() {
205
- let e = this.steps ?? [], n = this.lastIndex, o = e.reduce((e, t) => Math.max(e, String(t).length), 1), s = f({
205
+ let e = this.steps ?? [], t = this.lastIndex, o = e.reduce((e, t) => Math.max(e, String(t).length), 1), s = f({
206
206
  count: e.length,
207
207
  width: this.trackWidth,
208
208
  labelWidth: o * m
@@ -210,7 +210,7 @@ var p = "/* The range slider. */\n\n/* --- Range slider ------------------------
210
210
  left: "0",
211
211
  right: null,
212
212
  transform: "none"
213
- } : e === n ? {
213
+ } : e === t ? {
214
214
  left: null,
215
215
  right: "0",
216
216
  transform: "none"
@@ -221,9 +221,9 @@ var p = "/* The range slider. */\n\n/* --- Range slider ------------------------
221
221
  }, u = this.single ? 0 : this.pair[0], d = this.single ? this.index : this.pair[1];
222
222
  return i`<div class="lintje-field">
223
223
  ${this.renderLabel(void 0, i`<span class="lintje-field__value">${this.valueText}</span>`)}
224
- ${this.hideLabel ? i`<span class="lintje-range__values">${this.valueText}</span>` : t}
224
+ ${this.hideLabel ? i`<span class="lintje-range__values">${this.valueText}</span>` : r}
225
225
  <div
226
- class=${r({
226
+ class=${a({
227
227
  "lintje-range": !0,
228
228
  "is-error": !!this.error
229
229
  })}
@@ -232,7 +232,7 @@ var p = "/* The range slider. */\n\n/* --- Range slider ------------------------
232
232
  <span class="lintje-range__track"></span>
233
233
  <span
234
234
  class="lintje-range__fill"
235
- ${a({
235
+ ${n({
236
236
  left: `${this.percent(u)}%`,
237
237
  right: `${100 - this.percent(d)}%`
238
238
  })}
@@ -241,18 +241,18 @@ var p = "/* The range slider. */\n\n/* --- Range slider ------------------------
241
241
  </div>
242
242
  <div class="lintje-range__scale" aria-hidden="true">
243
243
  ${s.marks.map((e) => i`<span
244
- class=${r({
244
+ class=${a({
245
245
  "lintje-range__mark": !0,
246
246
  "is-labelled": c.has(e)
247
247
  })}
248
- ${a({ left: `${this.percent(e)}%` })}
248
+ ${n({ left: `${this.percent(e)}%` })}
249
249
  ></span>`)}
250
250
  ${s.labels.map((t) => i`<span
251
- class=${r({
251
+ class=${a({
252
252
  "lintje-range__step": !0,
253
253
  "is-active": this.single ? t === this.index : t >= u && t <= d
254
254
  })}
255
- ${a(l(t))}
255
+ ${n(l(t))}
256
256
  >${e[t]}</span
257
257
  >`)}
258
258
  </div>
@@ -1,8 +1,8 @@
1
- import { Bt as e, Gt as t, Ht as n, Z as r, qt as i, zt as a } from "../chunks/base-Bg-IFOPG.js";
2
- import { levelWord as o } from "./level-meter.js";
1
+ import { Jt as e, Yt as t, Zt as n, en as r, nn as i, st as a } from "../chunks/base-CbmWxUig.js";
3
2
  import "./description-list.js";
3
+ import { levelWord as o } from "./level-meter.js";
4
4
  //#region src/components/feedback/recording-status/recording-status.css?inline
5
- var s = ":host { display: block; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The cells are the description list's; what stands here is the connection's own meter. */\n.lintje-recording-status__connection { display: flex; align-items: center; gap: var(--space-3); font-weight: 400; }\n\n/* The connection: four rising steps, as many lit as it is strong. */\n.lintje-recording-status__signal {\n display: inline-flex;\n align-items: flex-end;\n gap: 3px;\n height: var(--space-6);\n}\n.lintje-recording-status__step {\n width: 5px;\n background: var(--color-border-default);\n}\n.lintje-recording-status__step:nth-child(1) { height: 30%; }\n.lintje-recording-status__step:nth-child(2) { height: 55%; }\n.lintje-recording-status__step:nth-child(3) { height: 78%; }\n.lintje-recording-status__step:nth-child(4) { height: 100%; }\n.is-good .lintje-recording-status__step.is-lit { background: var(--color-success); }\n.is-weak .lintje-recording-status__step.is-lit { background: var(--color-warning); }\n.lintje-recording-status__words { display: flex; flex-direction: column; line-height: 1.2; }\n.lintje-recording-status__sub { font: var(--text-meta); color: var(--color-text-muted); }\n\n/* Forced colours drop the fills: the bars keep a border, the words carry the rest. */\n@media (forced-colors: active) {\n .lintje-recording-status__step.is-lit { background: CanvasText; }\n .lintje-recording-status__step { border: 1px solid CanvasText; }\n}\n", c = {
5
+ var s = "/* Its list measures its own width, so it takes the room it stands in, also in a hero's column. */\n:host { display: block; width: 100%; min-width: 0; }\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The cells are the description list's; what stands here is the connection's own meter. */\n.lintje-recording-status__connection { display: flex; align-items: center; gap: var(--space-3); font-weight: 400; }\n\n/* The connection: four rising steps, as many lit as it is strong. */\n.lintje-recording-status__signal {\n display: inline-flex;\n align-items: flex-end;\n gap: 3px;\n height: var(--space-6);\n}\n.lintje-recording-status__step {\n width: 5px;\n background: var(--color-border-default);\n}\n.lintje-recording-status__step:nth-child(1) { height: 30%; }\n.lintje-recording-status__step:nth-child(2) { height: 55%; }\n.lintje-recording-status__step:nth-child(3) { height: 78%; }\n.lintje-recording-status__step:nth-child(4) { height: 100%; }\n.is-good .lintje-recording-status__step.is-lit { background: var(--color-success); }\n.is-weak .lintje-recording-status__step.is-lit { background: var(--color-warning); }\n.lintje-recording-status__words { display: flex; flex-direction: column; line-height: 1.2; }\n.lintje-recording-status__sub { font: var(--text-meta); color: var(--color-text-muted); }\n\n/* Forced colours drop the fills: the bars keep a border, the words carry the rest. */\n@media (forced-colors: active) {\n .lintje-recording-status__step.is-lit { background: CanvasText; }\n .lintje-recording-status__step { border: 1px solid CanvasText; }\n}\n", c = {
6
6
  good: "Goed",
7
7
  weak: "Zwak",
8
8
  lost: "Verbroken"
@@ -15,7 +15,7 @@ function u(e) {
15
15
  let t = Math.max(0, Math.floor(e)), n = Math.floor(t / 3600), r = Math.floor(t % 3600 / 60), i = String(t % 60).padStart(2, "0");
16
16
  return n ? `${n}:${String(r).padStart(2, "0")}:${i}` : `${r}:${i}`;
17
17
  }
18
- var d = class extends a {
18
+ var d = class extends e {
19
19
  static {
20
20
  this.styles = n(s);
21
21
  }
@@ -28,12 +28,12 @@ var d = class extends a {
28
28
  };
29
29
  }
30
30
  renderLevel() {
31
- return this.level == null ? t : i`<lintje-level-meter slot="level" .level=${this.level}></lintje-level-meter>`;
31
+ return this.level == null ? r : i`<lintje-level-meter slot="level" .level=${this.level}></lintje-level-meter>`;
32
32
  }
33
33
  renderConnection(e) {
34
- let n = l[e], a = e === "lost" ? "Wacht op verbinding" : this.delay == null ? "" : `${this.delay} ${this.delay === 1 ? "seconde" : "seconden"} achter`;
34
+ let t = l[e], n = e === "lost" ? "Wacht op verbinding" : this.delay == null ? "" : `${this.delay} ${this.delay === 1 ? "seconde" : "seconden"} achter`;
35
35
  return i`<span slot="connection" class="lintje-recording-status__connection"><span
36
- class=${r({
36
+ class=${a({
37
37
  "lintje-recording-status__signal": !0,
38
38
  [`is-${e}`]: !0
39
39
  })}
@@ -45,19 +45,19 @@ var d = class extends a {
45
45
  3,
46
46
  4
47
47
  ].map((e) => i`<span
48
- class=${r({
48
+ class=${a({
49
49
  "lintje-recording-status__step": !0,
50
- "is-lit": e <= n
50
+ "is-lit": e <= t
51
51
  })}
52
52
  ></span>`)}
53
53
  </span>
54
54
  <span class="lintje-recording-status__words">
55
55
  <strong>${c[e]}</strong>
56
- ${a ? i`<span class="lintje-recording-status__sub">${a}</span>` : t}
56
+ ${n ? i`<span class="lintje-recording-status__sub">${n}</span>` : r}
57
57
  </span></span>`;
58
58
  }
59
59
  render() {
60
- let e = this.connection, n = [
60
+ let e = this.connection, t = [
61
61
  {
62
62
  label: "Looptijd",
63
63
  icon: "functioneel-klok",
@@ -77,11 +77,11 @@ var d = class extends a {
77
77
  slot: "connection"
78
78
  }] : []
79
79
  ];
80
- return i`<lintje-description-list layout="grid" surface .columns=${n.length} .items=${n}>
81
- ${this.renderLevel()} ${e ? this.renderConnection(e) : t}
80
+ return i`<lintje-description-list layout="grid" surface .columns=${t.length} .items=${t}>
81
+ ${this.renderLevel()} ${e ? this.renderConnection(e) : r}
82
82
  </lintje-description-list>`;
83
83
  }
84
84
  };
85
- e("lintje-recording-status", d);
85
+ t("lintje-recording-status", d);
86
86
  //#endregion
87
87
  export { d as LintjeRecordingStatus, u as clockOf, o as levelWord };
@@ -1,6 +1,6 @@
1
- import { Bt as e, Gt as t, Ht as n, qt as r, zt as i } from "../chunks/base-Bg-IFOPG.js";
1
+ import { Jt as e, Yt as t, Zt as n, en as r, nn as i } from "../chunks/base-CbmWxUig.js";
2
2
  //#region src/components/forms/repeater/repeater.css?inline
3
- var a = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* --- */\n\n.lintje-repeater {\n min-width: 0;\n margin: 0; padding: 0; border: 0;\n}\n/* The legend stands above its rows as a field's label does above its control; the gap lives in\n the body, because browsers differ on whether a legend takes part in a fieldset's flex gap. */\n.lintje-repeater__legend {\n padding: 0 0 6px;\n font-size: 0.875rem; font-weight: 700;\n color: var(--color-text-primary);\n}\n.lintje-repeater__body { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }\n:host([disabled]) .lintje-repeater__legend { color: var(--color-text-disabled); }\n.lintje-repeater__rows { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }\n.lintje-repeater__foot {\n display: flex; flex-wrap: wrap; align-items: center;\n gap: var(--space-2) var(--space-4);\n}\n.lintje-repeater__count { font: var(--text-meta); color: var(--color-text-muted); }\n\n@media (max-width: 767px) {\n .lintje-repeater__rows { gap: var(--space-5); }\n}\n", o = "/* One row of a repeater: the host's fields side by side, then the remove icon button. */\n:host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n@media (max-width: 767px) {\n :host(:not([index='0'])) {\n padding-top: var(--space-5);\n border-top: 1px solid var(--color-border-default);\n }\n}\n\n/* --- */\n\n/* The button aligns with the controls' bottom edge when a field carries its label above it. */\n.lintje-repeater-row { display: flex; align-items: flex-end; gap: var(--space-2); min-width: 0; }\n.lintje-repeater-row__fields { flex: 1; min-width: 0; display: flex; gap: var(--space-2); }\n.lintje-repeater-row__fields ::slotted(*) { flex: 1 1 0; min-width: 0; }\n/* A square as high as the controls beside it. */\n.lintje-repeater-row__remove { flex: none; --h-icon-button: var(--h-control); }\n\n/* Below 768 px the fields stack and the remove button stands beside the first. */\n@media (max-width: 767px) {\n .lintje-repeater-row { align-items: flex-start; }\n .lintje-repeater-row__fields { flex-direction: column; }\n}\n", s = "input, select, textarea, button, [contenteditable=\"true\"], [tabindex]";
3
+ var a = ":host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n\n/* --- */\n\n.lintje-repeater {\n min-width: 0;\n margin: 0; padding: 0; border: 0;\n}\n/* The legend stands above its rows as a field's label does above its control; the gap lives in\n the body, because browsers differ on whether a legend takes part in a fieldset's flex gap. */\n.lintje-repeater__legend {\n padding: 0 0 6px;\n font-size: 0.875rem; font-weight: 700;\n color: var(--color-text-primary);\n}\n.lintje-repeater__body { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }\n:host([disabled]) .lintje-repeater__legend { color: var(--color-text-disabled); }\n.lintje-repeater__rows { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }\n.lintje-repeater__foot {\n display: flex; flex-wrap: wrap; align-items: center;\n gap: var(--space-2) var(--space-4);\n}\n.lintje-repeater__count { font: var(--text-meta); color: var(--color-text-muted); }\n\n@media screen and (max-width: 767px) {\n .lintje-repeater__rows { gap: var(--space-5); }\n}\n", o = "/* One row of a repeater: the host's fields side by side, then the remove icon button. */\n:host {\n display: block;\n min-width: 0;\n}\n:host([hidden]) { display: none; }\n@media screen and (max-width: 767px) {\n :host(:not([index='0'])) {\n padding-top: var(--space-5);\n border-top: 1px solid var(--color-border-default);\n }\n}\n\n/* --- */\n\n/* The button aligns with the controls' bottom edge when a field carries its label above it. */\n.lintje-repeater-row { display: flex; align-items: flex-end; gap: var(--space-2); min-width: 0; }\n.lintje-repeater-row__fields { flex: 1; min-width: 0; display: flex; gap: var(--space-2); }\n.lintje-repeater-row__fields ::slotted(*) { flex: 1 1 0; min-width: 0; }\n/* A square as high as the controls beside it. */\n.lintje-repeater-row__remove { flex: none; --h-icon-button: var(--h-control); }\n\n/* Below 768 px the fields stack and the remove button stands beside the first. */\n@media screen and (max-width: 767px) {\n .lintje-repeater-row { align-items: flex-start; }\n .lintje-repeater-row__fields { flex-direction: column; }\n}\n", s = "input, select, textarea, button, [contenteditable=\"true\"], [tabindex]";
4
4
  function c(e) {
5
5
  let t = e;
6
6
  if (t.matches(s) && !t.matches(":disabled") && t.getAttribute("tabindex") !== "-1") return t;
@@ -10,7 +10,7 @@ function c(e) {
10
10
  }
11
11
  return null;
12
12
  }
13
- var l = class extends i {
13
+ var l = class extends e {
14
14
  constructor(...e) {
15
15
  super(...e), this.index = 0, this.label = "", this.removable = !0, this.disabled = !1;
16
16
  }
@@ -39,7 +39,7 @@ var l = class extends i {
39
39
  this.removable && !this.disabled && this.emit("lintje-row-remove", this.index);
40
40
  }
41
41
  render() {
42
- return r`<div class="lintje-repeater-row" role="group" aria-label=${this.label || t}>
42
+ return i`<div class="lintje-repeater-row" role="group" aria-label=${this.label || r}>
43
43
  <div class="lintje-repeater-row__fields"><slot></slot></div>
44
44
  <lintje-icon-button
45
45
  class="lintje-repeater-row__remove"
@@ -51,7 +51,7 @@ var l = class extends i {
51
51
  ></lintje-icon-button>
52
52
  </div>`;
53
53
  }
54
- }, u = class extends i {
54
+ }, u = class extends e {
55
55
  constructor(...e) {
56
56
  super(...e), this.legend = "", this.itemLabel = "", this.min = 0, this.disabled = !1, this.count = 0, this.spoken = "", this.pending = null, this.onRowRemove = (e) => {
57
57
  let t = e.detail;
@@ -119,8 +119,8 @@ var l = class extends i {
119
119
  });
120
120
  }
121
121
  }
122
- async afterRows(e) {
123
- await this.updateComplete, e instanceof i && await e.updateComplete, await new Promise((e) => requestAnimationFrame(e));
122
+ async afterRows(t) {
123
+ await this.updateComplete, t instanceof e && await t.updateComplete, await new Promise((e) => requestAnimationFrame(e));
124
124
  }
125
125
  focusAdd() {
126
126
  let e = this.renderRoot.querySelector("lintje-button");
@@ -134,7 +134,7 @@ var l = class extends i {
134
134
  }
135
135
  render() {
136
136
  let e = this.addLabel ?? (this.itemLabel ? `${this.itemLabel} toevoegen` : "Rij toevoegen");
137
- return r`<fieldset class="lintje-repeater" ?disabled=${this.disabled}>
137
+ return i`<fieldset class="lintje-repeater" ?disabled=${this.disabled}>
138
138
  <legend class="lintje-repeater__legend">${this.legend}</legend>
139
139
  <div class="lintje-repeater__body">
140
140
  <div class="lintje-repeater__rows"><slot @slotchange=${this.sync}></slot></div>
@@ -146,13 +146,13 @@ var l = class extends i {
146
146
  @click=${this.add}
147
147
  >${e}</lintje-button
148
148
  >
149
- ${this.max == null ? t : r`<span class="lintje-repeater__count">${this.count} van hoogstens ${this.max}</span>`}
149
+ ${this.max == null ? r : i`<span class="lintje-repeater__count">${this.count} van hoogstens ${this.max}</span>`}
150
150
  </div>
151
151
  </div>
152
152
  <span class="visually-hidden" aria-live="polite">${this.spoken}</span>
153
153
  </fieldset>`;
154
154
  }
155
155
  };
156
- e("lintje-repeater-row", l), e("lintje-repeater", u);
156
+ t("lintje-repeater-row", l), t("lintje-repeater", u);
157
157
  //#endregion
158
158
  export { u as LintjeRepeater, l as LintjeRepeaterRow, c as firstFocusable };
@@ -1,12 +1,12 @@
1
- import { Bt as e, Gt as t, Ht as n, Z as r, qt as i } from "../chunks/base-Bg-IFOPG.js";
2
- import { r as a, t as o } from "../chunks/input-BtuNFSWk.js";
1
+ import { Yt as e, Zt as t, en as n, nn as r, st as i } from "../chunks/base-CbmWxUig.js";
2
+ import { r as a, t as o } from "../chunks/input-CRW_exv_.js";
3
3
  //#region src/components/inputs/segmented/segmented.css?inline
4
- var s = "/* The segmented control keeps `min-width: auto`: it never shrinks below its options. */\n:host { display: block; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The frame hugs its options: a wider host leaves its room outside the border, not in it. It\n never grows past its room, so the element can read that room off the frame. */\n.lintje-segmented {\n display: flex;\n width: fit-content;\n max-width: 100%;\n height: var(--h-control);\n border: 1px solid var(--color-border-field);\n background: var(--color-bg-surface);\n}\n.lintje-segmented.is-error { border: 2px solid var(--color-error); }\n/* Disabled keeps the quiet border, also over an error. */\n:host([disabled]) .lintje-segmented { border: 1px solid var(--color-border-strong); }\n.lintje-segmented__option {\n display: flex; align-items: center;\n padding: 0 var(--space-3);\n font-size: 1rem;\n color: var(--color-text-primary);\n white-space: nowrap;\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-segmented__option:hover:not(.is-active) { background: var(--color-bg-subtle); }\n.lintje-segmented__option:disabled {\n background: var(--color-bg-subtle);\n color: var(--color-text-disabled);\n cursor: not-allowed;\n}\n.lintje-segmented__option:disabled:hover { background: var(--color-bg-subtle); }\n/* Chosen is quiet, not filled: a filled surface is the page's one primary action. The edge is a\n ring half inside, half over the frame, so it covers the frame's line instead of standing in it;\n a real border would push the neighbouring segments over. */\n.lintje-segmented__option.is-active {\n position: relative;\n z-index: 1;\n background: var(--color-choice-active-bg);\n color: var(--color-accent-text);\n box-shadow: 0 0 0 1px var(--color-accent-line), inset 0 0 0 1px var(--color-accent-line);\n font-weight: 700;\n}\n.lintje-segmented__option:disabled.is-active {\n background: var(--color-border-strong);\n color: var(--color-text-disabled);\n box-shadow: none;\n}\n\n.lintje-segmented__description {\n margin: var(--space-2) 0 0;\n padding: var(--space-2) var(--space-3);\n background: var(--color-bg-subtle);\n font: var(--text-small);\n color: var(--color-text-primary);\n}\n\n/* The bar cannot reach into the shadow root, so the control carries the bar's breakpoints. */\n@media (min-width: 1024px) and (max-width: 1439px) {\n :host(:not([stacked])) .lintje-segmented__option { padding: 0 10px; }\n}\n@media (min-width: 768px) and (max-width: 1023px) {\n :host { width: 100%; }\n .lintje-segmented { width: 100%; }\n .lintje-segmented__option { flex: 1; justify-content: center; }\n}\n:host([stacked]) .lintje-segmented { width: 100%; }\n:host([stacked]) .lintje-segmented__option { flex: 1; justify-content: center; }\n\n/* A row wider than its room: the options stand under each other, each the full width. */\n.lintje-segmented.is-column { flex-direction: column; width: 100%; height: auto; }\n.lintje-segmented.is-column .lintje-segmented__option { min-height: var(--h-touch); }\n\n/* Forced colours drop the fill and ring: every segment has a 1 px border, so nothing moves. */\n@media (forced-colors: active) {\n .lintje-segmented__option { border: 1px solid Canvas; }\n .lintje-segmented__option.is-active { border-color: Highlight; }\n :host([disabled]) .lintje-segmented__option.is-active { border-color: GrayText; }\n}\n", c = "lintje-segmented-description", l = class extends a {
4
+ var s = "/* The segmented control keeps `min-width: auto`: it never shrinks below its options. */\n:host { display: block; }\n\n/* ------------------------------------------------------------------------ */\n\n/* The frame hugs its options: a wider host leaves its room outside the border, not in it. It\n never grows past its room, so the element can read that room off the frame. */\n.lintje-segmented {\n display: flex;\n width: fit-content;\n max-width: 100%;\n height: var(--h-control);\n border: 1px solid var(--color-border-field);\n background: var(--color-bg-surface);\n}\n.lintje-segmented.is-error { border: 2px solid var(--color-error); }\n/* Disabled keeps the quiet border, also over an error. */\n:host([disabled]) .lintje-segmented { border: 1px solid var(--color-border-strong); }\n.lintje-segmented__option {\n display: flex; align-items: center; gap: var(--space-2);\n padding: 0 var(--space-3);\n font-size: 1rem;\n color: var(--color-text-primary);\n white-space: nowrap;\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-segmented__option:hover:not(.is-active) { background: var(--color-bg-subtle); }\n.lintje-segmented__option:disabled {\n background: var(--color-bg-subtle);\n color: var(--color-text-disabled);\n cursor: not-allowed;\n}\n.lintje-segmented__option:disabled:hover { background: var(--color-bg-subtle); }\n/* Chosen is quiet, not filled: a filled surface is the page's one primary action. The edge is a\n ring half inside, half over the frame, so it covers the frame's line instead of standing in it;\n a real border would push the neighbouring segments over. */\n.lintje-segmented__option.is-active {\n position: relative;\n z-index: 1;\n background: var(--color-choice-active-bg);\n color: var(--color-accent-text);\n box-shadow: 0 0 0 1px var(--color-accent-line), inset 0 0 0 1px var(--color-accent-line);\n font-weight: 700;\n}\n.lintje-segmented__option:disabled.is-active {\n background: var(--color-border-strong);\n color: var(--color-text-disabled);\n box-shadow: none;\n}\n\n.lintje-segmented__description {\n margin: var(--space-2) 0 0;\n padding: var(--space-2) var(--space-3);\n background: var(--color-bg-subtle);\n font: var(--text-small);\n color: var(--color-text-primary);\n}\n\n/* The bar cannot reach into the shadow root, so the control carries the bar's breakpoints. */\n@media (min-width: 1024px) and (max-width: 1439px) {\n :host(:not([stacked])) .lintje-segmented__option { padding: 0 10px; }\n}\n@media (min-width: 768px) and (max-width: 1023px), print and (max-width: 1023px) {\n :host { width: 100%; }\n .lintje-segmented { width: 100%; }\n .lintje-segmented__option { flex: 1; justify-content: center; }\n}\n:host([stacked]) .lintje-segmented { width: 100%; }\n:host([stacked]) .lintje-segmented__option { flex: 1; justify-content: center; }\n\n/* A row wider than its room: the options stand under each other, each the full width. */\n.lintje-segmented.is-column { flex-direction: column; width: 100%; height: auto; }\n.lintje-segmented.is-column .lintje-segmented__option { min-height: var(--h-touch); }\n\n/* Forced colours drop the fill and ring: every segment has a 1 px border, so nothing moves. */\n@media (forced-colors: active) {\n .lintje-segmented__option { border: 1px solid Canvas; }\n .lintje-segmented__option.is-active { border-color: Highlight; }\n :host([disabled]) .lintje-segmented__option.is-active { border-color: GrayText; }\n}\n", c = "lintje-segmented-description", l = class extends a {
5
5
  constructor(...e) {
6
6
  super(...e), this.value = "", this.bold = !1, this.stacked = !1, this.column = !1, this.#e = 0, this.#t = null;
7
7
  }
8
8
  static {
9
- this.styles = [n(s), n(o)];
9
+ this.styles = [t(s), t(o)];
10
10
  }
11
11
  static {
12
12
  this.properties = {
@@ -45,23 +45,23 @@ var s = "/* The segmented control keeps `min-width: auto`: it never shrinks belo
45
45
  this.value = e, this.commit(e);
46
46
  }
47
47
  render() {
48
- let e = (this.options ?? []).find((e) => e.value === this.value)?.description, n = [e ? c : "", this.describedBy === t ? "" : this.describedBy].filter(Boolean).join(" ");
49
- return i`<div class="lintje-field">
48
+ let e = (this.options ?? []).find((e) => e.value === this.value)?.description, t = [e ? c : "", this.describedBy === n ? "" : this.describedBy].filter(Boolean).join(" ");
49
+ return r`<div class="lintje-field">
50
50
  ${this.renderLabel()}
51
51
  <div
52
- class=${r({
52
+ class=${i({
53
53
  "lintje-segmented": !0,
54
54
  "is-column": this.column,
55
55
  "is-error": !!this.error
56
56
  })}
57
57
  role="group"
58
58
  aria-labelledby=${this.labelId}
59
- aria-describedby=${n || t}
60
- aria-invalid=${this.error ? "true" : t}
59
+ aria-describedby=${t || n}
60
+ aria-invalid=${this.error ? "true" : n}
61
61
  >
62
- ${(this.options ?? []).map((e) => i`<button
62
+ ${(this.options ?? []).map((e) => r`<button
63
63
  type="button"
64
- class=${r({
64
+ class=${i({
65
65
  "lintje-segmented__option": !0,
66
66
  "is-active": e.value === this.value,
67
67
  "is-bold": this.bold && e.value === this.value
@@ -70,10 +70,10 @@ var s = "/* The segmented control keeps `min-width: auto`: it never shrinks belo
70
70
  ?disabled=${this.disabled}
71
71
  @click=${() => this.choose(e.value)}
72
72
  >
73
- ${e.label}
73
+ ${e.label}${typeof e.count == "number" ? r`<lintje-badge variant="count">${e.count}</lintje-badge>` : n}
74
74
  </button>`)}
75
75
  </div>
76
- ${e ? i`<p class="lintje-segmented__description" id=${c}>${e}</p>` : t}
76
+ ${e ? r`<p class="lintje-segmented__description" id=${c}>${e}</p>` : n}
77
77
  ${this.renderFoot()}
78
78
  </div>`;
79
79
  }
@@ -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 { r as s, t as c } 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 { r as s, t as c } from "../chunks/input-CRW_exv_.js";
3
3
  //#region src/components/inputs/select/select.css?inline
4
4
  var l = "/* The select. Its width is the host's, set from outside by tag. */\n:host { display: block; width: 180px; }\n\n/* ------------------------------------------------------------------------ */\n\n.lintje-select { position: relative; display: flex; align-items: center; }\n.lintje-select__control {\n appearance: none;\n width: 100%;\n height: var(--h-control);\n padding: 0 34px 0 14px;\n border: 1px solid var(--color-border-field);\n background: var(--color-bg-surface);\n font-size: 1rem;\n color: var(--color-text-primary);\n border-radius: var(--radius);\n}\n.lintje-select__control.is-bold { font-weight: 700; }\n.lintje-select__control.is-error { border: 2px solid var(--color-error); }\n.lintje-select__control:disabled {\n background: var(--color-bg-subtle);\n color: var(--color-text-disabled);\n cursor: not-allowed;\n}\n.lintje-select__control:disabled { border: 1px solid var(--color-border-strong); }\n.lintje-select__icon { position: absolute; right: 12px; pointer-events: none; color: var(--color-text-primary); }\n", u = class extends s {
5
5
  constructor(...e) {
@@ -7,9 +7,9 @@ var l = "/* The select. Its width is the host's, set from outside by tag. */\n:h
7
7
  }
8
8
  static {
9
9
  this.styles = [
10
- e,
11
- r(l),
12
- r(c)
10
+ r,
11
+ t(l),
12
+ t(c)
13
13
  ];
14
14
  }
15
15
  static {
@@ -27,12 +27,12 @@ var l = "/* The select. Its width is the host's, set from outside by tag. */\n:h
27
27
  this.value = e.target.value, this.commit(this.value);
28
28
  }
29
29
  render() {
30
- return o`<div class="lintje-field">
30
+ return i`<div class="lintje-field">
31
31
  ${this.renderLabel(this.controlId)}
32
32
  <div class="lintje-select">
33
33
  <select
34
34
  id=${this.controlId}
35
- class=${i({
35
+ class=${a({
36
36
  "lintje-select__control": !0,
37
37
  "is-bold": this.bold,
38
38
  "is-error": !!this.error
@@ -45,11 +45,11 @@ var l = "/* The select. Its width is the host's, set from outside by tag. */\n:h
45
45
  .value=${this.value}
46
46
  @change=${this.choose}
47
47
  >
48
- ${(this.options ?? []).map((e) => o`<option value=${e.value} ?selected=${e.value === this.value}>
48
+ ${(this.options ?? []).map((e) => i`<option value=${e.value} ?selected=${e.value === this.value}>
49
49
  ${e.label}
50
50
  </option>`)}
51
51
  </select>
52
- ${a("functioneel-delta-omlaag", {
52
+ ${o("functioneel-delta-omlaag", {
53
53
  size: 16,
54
54
  className: "lintje-select__icon"
55
55
  })}
@@ -58,6 +58,6 @@ var l = "/* The select. Its width is the host's, set from outside by tag. */\n:h
58
58
  </div>`;
59
59
  }
60
60
  };
61
- t("lintje-select", u);
61
+ e("lintje-select", u);
62
62
  //#endregion
63
63
  export { u as LintjeSelect };