lintje 0.5.1 → 0.7.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 (260) hide show
  1. package/dist-elements/actions.js +1 -5
  2. package/dist-elements/charts.js +1 -5
  3. package/dist-elements/chat.js +1 -6
  4. package/dist-elements/chunks/addon-CFoSG70u.js +5 -0
  5. package/dist-elements/chunks/base-BsZyWDre.js +226 -0
  6. package/dist-elements/chunks/chart-styles-C5IzbVUF.js +44 -0
  7. package/dist-elements/chunks/controls-lVYdiFQu.js +1 -0
  8. package/dist-elements/chunks/copied-Dx6jfxoK.js +1 -0
  9. package/dist-elements/chunks/date-format-5bii3QLP.js +1 -0
  10. package/dist-elements/chunks/debounce-Dfwdcv-z.js +1 -0
  11. package/dist-elements/chunks/dialog-close-CzMRXkJ6.js +1 -0
  12. package/dist-elements/chunks/disclosure-CQcLUnKh.js +22 -0
  13. package/dist-elements/chunks/disclosure-DjLQzn9n.js +1 -0
  14. package/dist-elements/chunks/download-CxEzwMxI.js +13 -0
  15. package/dist-elements/chunks/focus-trap-BDxiHED1.js +1 -0
  16. package/dist-elements/chunks/follow-7IBDa51N.js +1 -0
  17. package/dist-elements/chunks/input-C7qx0e4p.js +8 -0
  18. package/dist-elements/chunks/input-CazTpGUd.js +1 -0
  19. package/dist-elements/chunks/key-CAxrgBxD.js +1 -0
  20. package/dist-elements/chunks/live-message-CYZ-Ch7D.js +1 -0
  21. package/dist-elements/chunks/other-BaLStKaf.js +11 -0
  22. package/dist-elements/chunks/playback-gEUDw038.js +1 -0
  23. package/dist-elements/chunks/player-BEG3MVCm.js +39 -0
  24. package/dist-elements/chunks/prose-DOF7h3je.js +1 -0
  25. package/dist-elements/chunks/sentence-CjgQjBP9.js +3 -0
  26. package/dist-elements/chunks/sentence-end-DqHdi7Wb.js +1 -0
  27. package/dist-elements/chunks/stagger-CwsMNTLl.js +133 -0
  28. package/dist-elements/chunks/transition-DZKyyCQs.js +1 -0
  29. package/dist-elements/content.js +1 -11
  30. package/dist-elements/core.js +1 -1
  31. package/dist-elements/custom-elements.json +627 -161
  32. package/dist-elements/data-types.json +294 -28
  33. package/dist-elements/dev.js +1 -31
  34. package/dist-elements/feedback.js +1 -11
  35. package/dist-elements/filters.js +1 -3
  36. package/dist-elements/forms.js +1 -7
  37. package/dist-elements/frame.js +1 -9
  38. package/dist-elements/guides/dashboard.md +3 -2
  39. package/dist-elements/guides/events.md +19 -3
  40. package/dist-elements/guides/start.md +6 -3
  41. package/dist-elements/inputs.js +1 -21
  42. package/dist-elements/layout.js +1 -4
  43. package/dist-elements/lintje.js +3769 -43711
  44. package/dist-elements/map.js +1 -1
  45. package/dist-elements/overlays.js +1 -5
  46. package/dist-elements/tables.js +1 -9
  47. package/dist-elements/tag/activity-log.js +11 -59
  48. package/dist-elements/tag/ai-label.js +5 -38
  49. package/dist-elements/tag/announcement.js +9 -105
  50. package/dist-elements/tag/app-search.js +26 -177
  51. package/dist-elements/tag/audio-player.js +51 -265
  52. package/dist-elements/tag/badge.js +1 -1
  53. package/dist-elements/tag/breadcrumbs.js +11 -76
  54. package/dist-elements/tag/button.js +1 -1
  55. package/dist-elements/tag/card-list.js +9 -78
  56. package/dist-elements/tag/card.js +37 -172
  57. package/dist-elements/tag/chart.js +468 -2302
  58. package/dist-elements/tag/chat-answer.js +56 -201
  59. package/dist-elements/tag/chat-composer.js +53 -410
  60. package/dist-elements/tag/chat-message.js +14 -76
  61. package/dist-elements/tag/chat-strip.js +28 -108
  62. package/dist-elements/tag/chat-suggestions.js +9 -52
  63. package/dist-elements/tag/chat.js +40 -198
  64. package/dist-elements/tag/checkbox-group.js +17 -49
  65. package/dist-elements/tag/checkbox.js +10 -49
  66. package/dist-elements/tag/code.js +9 -55
  67. package/dist-elements/tag/combobox.js +25 -183
  68. package/dist-elements/tag/conflict-alert.js +15 -70
  69. package/dist-elements/tag/copy-button.js +13 -104
  70. package/dist-elements/tag/data-table.js +314 -1546
  71. package/dist-elements/tag/date-input.js +30 -159
  72. package/dist-elements/tag/date-range.js +35 -235
  73. package/dist-elements/tag/description-list.js +20 -89
  74. package/dist-elements/tag/dialog.js +10 -120
  75. package/dist-elements/tag/document-viewer.js +39 -211
  76. package/dist-elements/tag/drawer.js +10 -86
  77. package/dist-elements/tag/empty-state.js +1 -58
  78. package/dist-elements/tag/error-page.js +13 -90
  79. package/dist-elements/tag/error-summary.js +16 -75
  80. package/dist-elements/tag/expander.js +5 -68
  81. package/dist-elements/tag/explainer.js +6 -61
  82. package/dist-elements/tag/field.js +5 -50
  83. package/dist-elements/tag/file-upload.js +45 -239
  84. package/dist-elements/tag/filter-bar.js +48 -221
  85. package/dist-elements/tag/filter-sheet.js +8 -78
  86. package/dist-elements/tag/filter-zone.js +24 -202
  87. package/dist-elements/tag/find.js +18 -112
  88. package/dist-elements/tag/footer.js +14 -36
  89. package/dist-elements/tag/form-actions.js +3 -103
  90. package/dist-elements/tag/form-section.js +6 -49
  91. package/dist-elements/tag/form.js +7 -293
  92. package/dist-elements/tag/gallery.js +12 -50
  93. package/dist-elements/tag/grid-item.js +1 -1
  94. package/dist-elements/tag/grid.js +1 -1
  95. package/dist-elements/tag/hero.js +7 -50
  96. package/dist-elements/tag/highlight.js +4 -58
  97. package/dist-elements/tag/icon-button.js +1 -1
  98. package/dist-elements/tag/icon.js +1 -1
  99. package/dist-elements/tag/job-list.js +4 -117
  100. package/dist-elements/tag/kpi-row.js +10 -30
  101. package/dist-elements/tag/kpi.js +79 -362
  102. package/dist-elements/tag/level-meter.js +9 -52
  103. package/dist-elements/tag/list.js +44 -233
  104. package/dist-elements/tag/log-viewer.js +104 -710
  105. package/dist-elements/tag/logo.js +27 -85
  106. package/dist-elements/tag/map.js +833 -21857
  107. package/dist-elements/tag/menu-button.js +40 -291
  108. package/dist-elements/tag/modal.js +16 -82
  109. package/dist-elements/tag/multiselect.js +29 -158
  110. package/dist-elements/tag/note.js +3 -22
  111. package/dist-elements/tag/notifications.js +34 -160
  112. package/dist-elements/tag/number-input.js +23 -90
  113. package/dist-elements/tag/page-header.js +18 -180
  114. package/dist-elements/tag/pagination.js +31 -234
  115. package/dist-elements/tag/popover.js +1 -1
  116. package/dist-elements/tag/progress-bar.js +1 -1
  117. package/dist-elements/tag/prose.js +1 -31
  118. package/dist-elements/tag/qr-code.js +6 -878
  119. package/dist-elements/tag/radio-group.js +31 -64
  120. package/dist-elements/tag/range.js +33 -231
  121. package/dist-elements/tag/recording-status.js +10 -82
  122. package/dist-elements/tag/repeater-row.js +1 -1
  123. package/dist-elements/tag/repeater.js +9 -140
  124. package/dist-elements/tag/segmented.js +13 -74
  125. package/dist-elements/tag/select.js +9 -51
  126. package/dist-elements/tag/shell.js +274 -1026
  127. package/dist-elements/tag/skeleton.js +1 -1
  128. package/dist-elements/tag/slot-picker.js +18 -61
  129. package/dist-elements/tag/sortable-list.js +23 -197
  130. package/dist-elements/tag/spinner.js +1 -1
  131. package/dist-elements/tag/split-pane.js +12 -157
  132. package/dist-elements/tag/status-dot.js +1 -1
  133. package/dist-elements/tag/stepper.js +20 -120
  134. package/dist-elements/tag/streaming-text.js +14 -94
  135. package/dist-elements/tag/sub-nav.js +27 -141
  136. package/dist-elements/tag/tabs.js +41 -153
  137. package/dist-elements/tag/tag-input.js +35 -218
  138. package/dist-elements/tag/text-editor.js +32 -398
  139. package/dist-elements/tag/text-input.js +56 -130
  140. package/dist-elements/tag/textarea.js +14 -142
  141. package/dist-elements/tag/tile.js +1 -1
  142. package/dist-elements/tag/time-input.js +19 -201
  143. package/dist-elements/tag/toast.js +12 -100
  144. package/dist-elements/tag/toggle.js +7 -40
  145. package/dist-elements/tag/toggletip.js +7 -108
  146. package/dist-elements/tag/token-value.js +2 -72
  147. package/dist-elements/tag/tooltip.js +1 -1
  148. package/dist-elements/tag/transcript.js +38 -285
  149. package/dist-elements/tag/translator.js +7 -80
  150. package/dist-elements/tag/tree-view.js +25 -159
  151. package/dist-elements/tag/user-menu.js +47 -182
  152. package/dist-elements/tag/video-player.js +16 -155
  153. package/dist-elements/tokens.css +26 -8
  154. package/dist-elements/tokens.json +14 -6
  155. package/dist-elements/types/components/actions/button/button.d.ts +1 -0
  156. package/dist-elements/types/components/actions/icon/icon.d.ts +2 -1
  157. package/dist-elements/types/components/actions/icon-button/icon-button.d.ts +0 -5
  158. package/dist-elements/types/components/actions/logo/logo.d.ts +7 -2
  159. package/dist-elements/types/components/charts/chart/chart.d.ts +9 -1
  160. package/dist-elements/types/components/chat/chat/chat.d.ts +0 -2
  161. package/dist-elements/types/components/chat/chat-composer/chat-composer.d.ts +1 -11
  162. package/dist-elements/types/components/content/document-viewer/document-viewer.d.ts +14 -1
  163. package/dist-elements/types/components/content/log-viewer/log-viewer.d.ts +1 -2
  164. package/dist-elements/types/components/feedback/job-list/job-list.d.ts +9 -2
  165. package/dist-elements/types/components/feedback/recording-status/recording-status.d.ts +5 -2
  166. package/dist-elements/types/components/feedback/streaming-text/streaming-text.d.ts +1 -0
  167. package/dist-elements/types/components/filters/filter-bar/filter-bar.d.ts +3 -0
  168. package/dist-elements/types/components/filters/filter-sheet/filter-sheet.d.ts +2 -7
  169. package/dist-elements/types/components/filters/filter-zone/filter-zone.d.ts +0 -2
  170. package/dist-elements/types/components/forms/error-summary/error-summary.d.ts +5 -1
  171. package/dist-elements/types/components/forms/form/form.d.ts +10 -3
  172. package/dist-elements/types/components/forms/form-actions/form-actions.d.ts +4 -1
  173. package/dist-elements/types/components/forms/repeater/repeater.d.ts +1 -1
  174. package/dist-elements/types/components/forms/stepper/stepper.d.ts +12 -1
  175. package/dist-elements/types/components/frame/app-search/app-search.d.ts +1 -0
  176. package/dist-elements/types/components/frame/notifications/notifications.d.ts +0 -2
  177. package/dist-elements/types/components/frame/page-header/page-header.d.ts +1 -1
  178. package/dist-elements/types/components/frame/shell/header.d.ts +6 -8
  179. package/dist-elements/types/components/frame/shell/navigation.d.ts +0 -7
  180. package/dist-elements/types/components/frame/shell/shell.d.ts +7 -6
  181. package/dist-elements/types/components/frame/shell/top-bar.d.ts +5 -2
  182. package/dist-elements/types/components/frame/user-menu/user-menu.d.ts +15 -2
  183. package/dist-elements/types/components/index.d.ts +3 -2
  184. package/dist-elements/types/components/inputs/checkbox-group/checkbox-group.d.ts +15 -8
  185. package/dist-elements/types/components/inputs/file-upload/file-upload.d.ts +12 -2
  186. package/dist-elements/types/components/inputs/find/find.d.ts +0 -3
  187. package/dist-elements/types/components/inputs/number-input/number-input.d.ts +7 -4
  188. package/dist-elements/types/components/inputs/radio-group/radio-group.d.ts +16 -4
  189. package/dist-elements/types/components/inputs/range/range.d.ts +1 -1
  190. package/dist-elements/types/components/inputs/segmented/segmented.d.ts +0 -2
  191. package/dist-elements/types/components/inputs/shared/addon.d.ts +14 -0
  192. package/dist-elements/types/components/inputs/shared/input.d.ts +83 -4
  193. package/dist-elements/types/components/inputs/tag-input/tag-input.d.ts +0 -1
  194. package/dist-elements/types/components/inputs/text-input/text-input.d.ts +15 -1
  195. package/dist-elements/types/components/inputs/textarea/textarea.d.ts +3 -2
  196. package/dist-elements/types/components/layout/tabs/tabs.d.ts +0 -4
  197. package/dist-elements/types/components/map/map/map.d.ts +9 -1
  198. package/dist-elements/types/components/overlays/popover/popover.d.ts +8 -5
  199. package/dist-elements/types/components/overlays/toggletip/toggletip.d.ts +2 -4
  200. package/dist-elements/types/components/overlays/tooltip/tooltip.d.ts +0 -2
  201. package/dist-elements/types/components/shared/charts/map-chart/drawings.d.ts +4 -1
  202. package/dist-elements/types/components/shared/charts/map-chart/leaflet.d.ts +1 -1
  203. package/dist-elements/types/components/shared/charts/map-chart/map-chart.d.ts +5 -2
  204. package/dist-elements/types/components/shared/charts/map-chart/marks.d.ts +15 -4
  205. package/dist-elements/types/components/shared/charts/map-chart/series-style.d.ts +10 -0
  206. package/dist-elements/types/components/shared/charts/pie-chart/pie-chart.d.ts +2 -1
  207. package/dist-elements/types/components/shared/charts/shared/axes.d.ts +5 -3
  208. package/dist-elements/types/components/shared/charts/shared/controller.d.ts +15 -3
  209. package/dist-elements/types/components/shared/charts/shared/mark-select.d.ts +2 -1
  210. package/dist-elements/types/components/shared/charts/shared/runs.d.ts +7 -0
  211. package/dist-elements/types/components/shared/charts/shared/types.d.ts +57 -3
  212. package/dist-elements/types/components/shared/controls.d.ts +28 -0
  213. package/dist-elements/types/components/shared/cut-text.d.ts +6 -0
  214. package/dist-elements/types/components/shared/dialog.d.ts +8 -2
  215. package/dist-elements/types/components/shared/disclosure.d.ts +2 -2
  216. package/dist-elements/types/components/shared/focus-trap.d.ts +2 -0
  217. package/dist-elements/types/components/shared/follow.d.ts +8 -0
  218. package/dist-elements/types/components/shared/frame-resize-observer.d.ts +12 -0
  219. package/dist-elements/types/components/shared/live-message.d.ts +17 -0
  220. package/dist-elements/types/components/shared/other.d.ts +24 -0
  221. package/dist-elements/types/components/shared/overflow.d.ts +4 -3
  222. package/dist-elements/types/components/shared/place.d.ts +5 -0
  223. package/dist-elements/types/components/shared/transition.d.ts +12 -0
  224. package/dist-elements/types/components/tables/card/card.d.ts +0 -5
  225. package/dist-elements/types/components/tables/card-list/card-list.d.ts +2 -5
  226. package/dist-elements/types/components/tables/data-table/actions.d.ts +1 -1
  227. package/dist-elements/types/components/tables/data-table/data-table.d.ts +23 -8
  228. package/dist-elements/types/components/tables/data-table/filters.d.ts +6 -2
  229. package/dist-elements/types/components/tables/description-list/description-list.d.ts +3 -2
  230. package/dist-elements/types/components/tables/list/list.d.ts +2 -6
  231. package/dist-elements/types/components/tables/sortable-list/sortable-list.d.ts +1 -1
  232. package/dist-elements/types/core/element.d.ts +5 -2
  233. package/dist-elements/types/core/frame-state.d.ts +2 -0
  234. package/dist-elements/types/core/links.d.ts +2 -0
  235. package/dist-elements/types/core/styles.d.ts +2 -0
  236. package/dist-elements/types/icons/register.d.ts +1 -1
  237. package/dist-elements/types/icons/render.d.ts +1 -1
  238. package/dist-elements/types/types.d.ts +35 -8
  239. package/package.json +2 -2
  240. package/dist-elements/chunks/base-Bd2pmq86.js +0 -2865
  241. package/dist-elements/chunks/chart-styles-DEd0uIWK.js +0 -108
  242. package/dist-elements/chunks/controls-_4ac1Lpz.js +0 -121
  243. package/dist-elements/chunks/copied-7BXYVkXT.js +0 -4
  244. package/dist-elements/chunks/date-format-DxP9yfDp.js +0 -152
  245. package/dist-elements/chunks/debounce-JXnLMCcF.js +0 -25
  246. package/dist-elements/chunks/dialog-BNbkcAxH.js +0 -28
  247. package/dist-elements/chunks/dialog-close-u75fVEw4.js +0 -4
  248. package/dist-elements/chunks/disclosure-BK-MJsEn.js +0 -4
  249. package/dist-elements/chunks/disclosure-CcTr_FLd.js +0 -64
  250. package/dist-elements/chunks/download-BGe7rpQo.js +0 -103
  251. package/dist-elements/chunks/focus-trap-Cl99vti9.js +0 -73
  252. package/dist-elements/chunks/input-Dg1o0Sfu.js +0 -4
  253. package/dist-elements/chunks/input-KqBT3qWD.js +0 -195
  254. package/dist-elements/chunks/key-D5wy9ZTj.js +0 -4
  255. package/dist-elements/chunks/playback-DZJ_NMXv.js +0 -133
  256. package/dist-elements/chunks/player-BRG7bk_h.js +0 -208
  257. package/dist-elements/chunks/prose-CmKVp5kL.js +0 -4
  258. package/dist-elements/chunks/sentence-DIByCXQV.js +0 -15
  259. package/dist-elements/chunks/sentence-end-8jlqKJ5P.js +0 -8
  260. package/dist-elements/chunks/stagger-DGRHP_We.js +0 -515
@@ -1,257 +1,54 @@
1
- import { H as e, Jt as t, Yt as n, Zt as r, en as i, f as a, g as o, lt as s, nn as c, rt as l, st as u, ut as d } from "../chunks/base-Bd2pmq86.js";
2
- import "./menu-button.js";
3
- //#region src/components/tables/pagination/pagination.css?inline
4
- var f = "/* \"Vorige\" and \"Volgende\" wear `.lintje-button--link` from the button's sheet. */\n/* In a flush tile the pages keep the heading's indent, as the rows above them do, and the tile's\n padding below them when no footnote follows. */\n:host {\n display: block; min-width: 0;\n padding-inline: var(--lintje-inset, 0px);\n padding-block-end: var(--lintje-inset-end, 0px);\n}\n:host([hidden]) { display: none; }\n\n/* ------------------------------------------------------------------------ */\n\n/* Three zones: the count left, the pages centred under what they page, the size choice right.\n Stacked, the pages take the first line and the count and the choice share the second. */\n.lintje-pagination {\n display: grid; grid-template-columns: 1fr auto 1fr;\n grid-template-areas: \"count nav size\";\n align-items: center;\n gap: var(--space-2) var(--space-4);\n}\n.lintje-pagination.is-stacked {\n grid-template-columns: 1fr auto;\n grid-template-areas: \"nav nav\" \"count size\";\n}\n\n.lintje-pagination__nav {\n grid-area: nav; justify-self: center;\n display: flex; flex-wrap: wrap; align-items: center;\n font: var(--text-ui);\n}\n.lintje-pagination__pages { display: contents; }\n\n/* The chevron and the bold word make a step a control without an underline at rest. */\n.lintje-pagination__step {\n height: var(--h-target);\n padding: 0 var(--space-3);\n gap: var(--space-1);\n text-decoration: none;\n}\n.lintje-pagination__step:not(:disabled):hover { text-decoration: underline; }\n/* Without its word a step is a square chevron, as large as a number. */\n.lintje-pagination.is-compact .lintje-pagination__step { width: var(--h-target); padding: 0; }\n\n/* Flat: a box around every number weighs more than the one that matters. */\n.lintje-pagination__page {\n display: inline-flex; align-items: center; justify-content: center;\n min-width: var(--h-target); height: var(--h-target);\n padding: 0 var(--space-1);\n background: transparent;\n border: 1px solid transparent;\n color: var(--color-link);\n font: var(--text-ui);\n font-variant-numeric: tabular-nums;\n text-decoration: none;\n cursor: pointer;\n transition: background var(--dur-hover) var(--ease-in-motion);\n}\n.lintje-pagination__page:hover { background: var(--color-bg-subtle); color: var(--color-link-hover); }\n\n/* The one filled square; its edge is the primary button's, the tint that carries it in dark. */\n.lintje-pagination__page.is-current {\n background: var(--color-action-primary);\n border-color: var(--color-action-primary-border);\n color: var(--color-action-primary-text);\n font-weight: 700;\n cursor: default;\n}\n/* Choosing the current page does nothing, so it does not answer the pointer. */\n.lintje-pagination__page.is-current:hover { background: var(--color-action-primary); }\n\n/* As wide as a number, so the seven slots keep one length. */\n.lintje-pagination__gap {\n min-width: var(--h-target);\n text-align: center;\n color: var(--color-text-muted);\n}\n\n.lintje-pagination__where { display: none; color: var(--color-text-primary); white-space: nowrap; }\n\n.lintje-pagination__count {\n grid-area: count; justify-self: start;\n margin: 0;\n white-space: nowrap;\n font: var(--text-small);\n color: var(--color-text-muted);\n font-variant-numeric: tabular-nums;\n}\n\n.lintje-pagination__size { grid-area: size; justify-self: end; white-space: nowrap; }\n\n@media screen and (max-width: 767px) {\n .lintje-pagination {\n grid-template-columns: 1fr auto;\n grid-template-areas: \"nav nav\" \"count size\";\n }\n .lintje-pagination__nav {\n justify-self: stretch;\n flex-wrap: nowrap; justify-content: space-between;\n }\n .lintje-pagination__pages { display: none; }\n .lintje-pagination__where { display: block; }\n .lintje-pagination__step { flex: 0 0 auto; padding: 0 var(--space-2); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .lintje-pagination__page { transition: none; }\n}\n\n/* Forced colours: the current page's fill is dropped, so its border turns Highlight. */\n@media (forced-colors: active) {\n .lintje-pagination__page.is-current { border-color: Highlight; }\n}\n\n/* Paper keeps the count, which says that only these rows are on it; the steps are controls. */\n@media print {\n .lintje-pagination__nav,\n .lintje-pagination__size { display: none; }\n}\n", p = 7;
5
- function m(e, t) {
6
- let n = Math.max(0, Math.floor(t));
7
- if (n <= p) return Array.from({ length: n }, (e, t) => t + 1);
8
- let r = Math.min(Math.max(1, Math.floor(e)), n);
9
- return r <= 4 ? [
10
- 1,
11
- 2,
12
- 3,
13
- 4,
14
- 5,
15
- "gap",
16
- n
17
- ] : r >= n - 3 ? [
18
- 1,
19
- "gap",
20
- n - 4,
21
- n - 3,
22
- n - 2,
23
- n - 1,
24
- n
25
- ] : [
26
- 1,
27
- "gap",
28
- r - 1,
29
- r,
30
- r + 1,
31
- "gap",
32
- n
33
- ];
34
- }
35
- var h = {
36
- many: "resultaten",
37
- one: "resultaat"
38
- };
39
- function g(e, t, n, r = h, i) {
40
- if (!t || n == null || Number.isNaN(n)) return null;
41
- let o = i != null && i > n ? ` · gefilterd uit ${a(i)}` : "";
42
- if (n <= 0) return `Geen ${r.many}${o}`;
43
- let s = n === 1 ? r.one : r.many;
44
- if (n <= t) return `${a(n)} ${s}${o}`;
45
- let c = Math.min((e - 1) * t + 1, n), l = Math.min(e * t, n);
46
- return `${c === l ? a(c) : `${a(c)}–${a(l)}`} van ${a(n)} ${s}${o}`;
47
- }
48
- function _(e) {
49
- if (!e) return;
50
- let t = e.split(",").map((e) => Number(e.trim())).filter((e) => Number.isInteger(e) && e > 0);
51
- return t.length ? [...new Set(t)] : void 0;
52
- }
53
- var v = class extends t {
54
- constructor(...e) {
55
- super(...e), this.page = 1, this.label = "Paginering", this.compact = !1, this.stacked = !1, this.#e = null;
56
- }
57
- static {
58
- this.styles = [
59
- s,
60
- r(l),
61
- r(f)
62
- ];
63
- }
64
- static {
65
- this.properties = {
66
- page: { type: Number },
67
- pageCount: {
68
- type: Number,
69
- attribute: "page-count"
70
- },
71
- total: { type: Number },
72
- filteredFrom: {
73
- type: Number,
74
- attribute: "filtered-from"
75
- },
76
- pageSize: {
77
- type: Number,
78
- attribute: "page-size"
79
- },
80
- pageSizes: {
81
- attribute: "page-sizes",
82
- converter: { fromAttribute: _ }
83
- },
84
- unit: { type: String },
85
- unitOne: {
86
- type: String,
87
- attribute: "unit-one"
88
- },
89
- hrefTemplate: {
90
- type: String,
91
- attribute: "href-template"
92
- },
93
- label: { type: String },
94
- compact: { state: !0 },
95
- stacked: { state: !0 }
96
- };
97
- }
98
- #e;
99
- connectedCallback() {
100
- super.connectedCallback(), typeof ResizeObserver < "u" && (this.#e = new ResizeObserver(() => this.fit()), this.#e.observe(this));
101
- }
102
- disconnectedCallback() {
103
- this.#e?.disconnect(), this.#e = null, super.disconnectedCallback();
104
- }
105
- updated(e) {
106
- super.updated(e), this.fit();
107
- }
108
- fit() {
109
- let e = this.renderRoot.querySelector(".lintje-pagination"), t = this.renderRoot.querySelector(".lintje-pagination__nav");
110
- if (!e || !t) return;
111
- let n = [...t.querySelectorAll(".lintje-pagination__word")], r = (t) => {
112
- e.classList.toggle("is-compact", t);
113
- for (let e of n) e.classList.toggle("visually-hidden", t);
114
- };
115
- r(!1);
116
- let i = [...t.querySelectorAll("[data-step], .lintje-pagination__page, .lintje-pagination__gap, .lintje-pagination__where")].filter((e) => e.getClientRects().length > 0), a = parseFloat(getComputedStyle(t).columnGap) || 0, o = i.reduce((e, t) => e + Math.max(t.getBoundingClientRect().width, t.scrollWidth), a * (i.length - 1)), s = e.clientWidth, c = Math.max(0, ...[...e.querySelectorAll(".lintje-pagination__count, .lintje-pagination__size")].map((e) => Math.max(e.getBoundingClientRect().width, e.scrollWidth))), l = parseFloat(getComputedStyle(e).columnGap) || 0;
117
- r(this.compact);
118
- let u = o > s + .5, d = c > 0 && o + 2 * (c + l) > s + .5;
119
- u !== this.compact && (this.compact = u), d !== this.stacked && (this.stacked = d);
120
- }
121
- get count() {
122
- return this.pageCount ? Math.max(1, Math.floor(this.pageCount)) : this.pageSize && this.total ? Math.max(1, Math.ceil(this.total / this.pageSize)) : 1;
123
- }
124
- get current() {
125
- return Math.min(Math.max(1, Math.floor(this.page || 1)), this.count);
126
- }
127
- hrefFor(e) {
128
- return this.hrefTemplate ? this.hrefTemplate.replaceAll("{page}", String(e)) : void 0;
129
- }
130
- choose(t, n, r) {
131
- let i = this.hrefFor(n);
132
- (!i || e(t)) && (n === this.current ? t.preventDefault() : (this.page = n, this.emit("lintje-page-change", { page: n }), i && this.followLink(i, t), this.updateComplete.then(() => this.keepFocus(r))));
133
- }
134
- get countUnit() {
135
- return this.unit ? {
136
- many: this.unit,
137
- one: this.unitOne || this.unit
138
- } : h;
139
- }
140
- chooseSize(e) {
141
- if (!e || e === this.pageSize) return;
142
- let t = this.pageSize ? (this.current - 1) * this.pageSize : 0, n = Math.floor(t / e) + 1;
143
- this.pageSize = e, this.page = n, this.emit("lintje-page-size-change", {
144
- pageSize: e,
145
- page: n
146
- });
147
- }
148
- sizes() {
149
- let e = this.pageSizes;
150
- if (!e?.length) return i;
151
- let t = this.pageSize ?? e[0], n = e.includes(t) ? e : [...e, t].sort((e, t) => e - t), r = this.countUnit.many;
152
- return c`<lintje-menu-button
1
+ import{G as e,U as t,cn as n,en as r,f as i,g as a,gt as o,ht as s,lt as c,on as l,pt as u,rn as d,tn as f}from"../chunks/base-BsZyWDre.js";import"./menu-button.js";var p=`:host{min-width:0;padding-inline:var(--lintje-inset,0px);padding-block-end:var(--lintje-inset-end,0px);display:block}:host([hidden]){display:none}.lintje-pagination{align-items:center;gap:var(--space-2) var(--space-4);grid-template-columns:1fr auto 1fr;grid-template-areas:"count nav size";display:grid}.lintje-pagination.is-stacked{grid-template-columns:1fr auto;grid-template-areas:"nav nav""count size"}.lintje-pagination__nav{font:var(--text-ui);flex-wrap:wrap;grid-area:nav;justify-self:center;align-items:center;display:flex}.lintje-pagination__pages{display:contents}.lintje-pagination__step{height:var(--h-target);padding:0 var(--space-3);gap:var(--space-1);text-decoration:none}.lintje-pagination__step:not(:disabled):hover{text-decoration:underline}.lintje-pagination.is-compact .lintje-pagination__step{width:var(--h-target);padding:0}.lintje-pagination__page{min-width:var(--h-target);height:var(--h-target);padding:0 var(--space-1);color:var(--color-link);font:var(--text-ui);font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--dur-hover) var(--ease-in-motion);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.lintje-pagination__page:hover{background:var(--color-bg-subtle);color:var(--color-link-hover)}.lintje-pagination__page.is-current{background:var(--color-action-primary);border-color:var(--color-action-primary-border);color:var(--color-action-primary-text);cursor:default;font-weight:700}.lintje-pagination__page.is-current:hover{background:var(--color-action-primary)}.lintje-pagination__gap{min-width:var(--h-target);text-align:center;color:var(--color-text-muted)}.lintje-pagination__where{color:var(--color-text-primary);white-space:nowrap;display:none}.lintje-pagination__count{white-space:nowrap;font:var(--text-small);color:var(--color-text-muted);font-variant-numeric:tabular-nums;grid-area:count;justify-self:start;margin:0}.lintje-pagination__size{white-space:nowrap;grid-area:size;justify-self:end}@media screen and (width<=767px){.lintje-pagination{grid-template-columns:1fr auto;grid-template-areas:"nav nav""count size"}.lintje-pagination__nav{flex-wrap:nowrap;justify-content:space-between;justify-self:stretch}.lintje-pagination__pages{display:none}.lintje-pagination__where{display:block}.lintje-pagination__step{padding:0 var(--space-2);flex:none}}@media (prefers-reduced-motion:reduce){.lintje-pagination__page{transition:none}}@media (forced-colors:active){.lintje-pagination__page.is-current{border-color:highlight}}@media print{.lintje-pagination__nav,.lintje-pagination__size{display:none}}`,m=7;function h(e,t){let n=Math.max(0,Math.floor(t));if(n<=m)return Array.from({length:n},(e,t)=>t+1);let r=Math.min(Math.max(1,Math.floor(e)),n);return r<=4?[1,2,3,4,5,`gap`,n]:r>=n-3?[1,`gap`,n-4,n-3,n-2,n-1,n]:[1,`gap`,r-1,r,r+1,`gap`,n]}var g={many:`resultaten`,one:`resultaat`};function _(e,t,n,r=g,a){if(!t||n==null||Number.isNaN(n))return null;let o=a!=null&&a>n?` · gefilterd uit ${i(a)}`:``;if(n<=0)return`Geen ${r.many}${o}`;let s=n===1?r.one:r.many;if(n<=t)return`${i(n)} ${s}${o}`;let c=Math.min((e-1)*t+1,n),l=Math.min(e*t,n);return`${c===l?i(c):`${i(c)}–${i(l)}`} van ${i(n)} ${s}${o}`}function v(e){if(!e)return;let t=e.split(`,`).map(e=>Number(e.trim())).filter(e=>Number.isInteger(e)&&e>0);return t.length?[...new Set(t)]:void 0}var y=class extends r{constructor(...t){super(...t),this.page=1,this.label=`Paginering`,this.compact=!1,this.stacked=!1,this.#e=new e(()=>this.fit())}static{this.styles=[s,d(c),d(p)]}static{this.properties={page:{type:Number},pageCount:{type:Number,attribute:`page-count`},total:{type:Number},filteredFrom:{type:Number,attribute:`filtered-from`},pageSize:{type:Number,attribute:`page-size`},pageSizes:{attribute:`page-sizes`,converter:{fromAttribute:v}},unit:{type:String},unitOne:{type:String,attribute:`unit-one`},hrefTemplate:{type:String,attribute:`href-template`},label:{type:String}}}#e;connectedCallback(){super.connectedCallback(),this.#e.observe(this)}disconnectedCallback(){this.#e.disconnect(),super.disconnectedCallback()}updated(e){super.updated(e),this.fit()}fit(){let e=this.renderRoot.querySelector(`.lintje-pagination`),t=this.renderRoot.querySelector(`.lintje-pagination__nav`);if(!e||!t)return;let n=[...t.querySelectorAll(`.lintje-pagination__word`)],r=t=>{e.classList.toggle(`is-compact`,t);for(let e of n)e.classList.toggle(`visually-hidden`,t)};r(!1);let i=[...t.querySelectorAll(`[data-step], .lintje-pagination__page, .lintje-pagination__gap, .lintje-pagination__where`)].filter(e=>e.getClientRects().length>0),a=parseFloat(getComputedStyle(t).columnGap)||0,o=i.reduce((e,t)=>e+Math.max(t.getBoundingClientRect().width,t.scrollWidth),a*(i.length-1)),s=e.clientWidth,c=Math.max(0,...[...e.querySelectorAll(`.lintje-pagination__count, .lintje-pagination__size`)].map(e=>Math.max(e.getBoundingClientRect().width,e.scrollWidth))),l=parseFloat(getComputedStyle(e).columnGap)||0;this.compact=o>s+.5,this.stacked=c>0&&o+2*(c+l)>s+.5,r(this.compact),e.classList.toggle(`is-stacked`,this.stacked)}get count(){return this.pageCount?Math.max(1,Math.floor(this.pageCount)):this.pageSize&&this.total?Math.max(1,Math.ceil(this.total/this.pageSize)):1}get current(){return Math.min(Math.max(1,Math.floor(this.page||1)),this.count)}hrefFor(e){return this.hrefTemplate?this.hrefTemplate.replaceAll(`{page}`,String(e)):void 0}choose(e,n,r){let i=this.hrefFor(n);(!i||t(e))&&(n===this.current?e.preventDefault():(this.page=n,this.emit(`lintje-page-change`,{page:n}),i&&this.followLink(i,e),this.updateComplete.then(()=>this.keepFocus(r))))}get countUnit(){return this.unit?{many:this.unit,one:this.unitOne||this.unit}:g}chooseSize(e){if(!e||e===this.pageSize)return;let t=this.pageSize?(this.current-1)*this.pageSize:0,n=Math.floor(t/e)+1;this.pageSize=e,this.page=n,this.emit(`lintje-page-size-change`,{pageSize:e,page:n})}sizes(){let e=this.pageSizes;if(!e?.length)return l;let t=this.pageSize??e[0],r=e.includes(t)?e:[...e,t].sort((e,t)=>e-t),a=this.countUnit.many;return n`<lintje-menu-button
153
2
  class="lintje-pagination__size"
154
3
  variant="flat"
155
4
  placement="bottom-end"
156
- label=${`${a(t)} per pagina`}
157
- accessible-label=${`${r[0].toUpperCase()}${r.slice(1)}: ${a(t)} per pagina`}
158
- .items=${n.map((e) => ({
159
- value: String(e),
160
- label: `${a(e)} per pagina`,
161
- checked: e === t,
162
- radio: !0
163
- }))}
164
- @lintje-action=${(e) => {
165
- e.stopPropagation(), this.chooseSize(Number(e.detail));
166
- }}
167
- ></lintje-menu-button>`;
168
- }
169
- keepFocus(e) {
170
- let t = this.renderRoot, n = [
171
- t.querySelector(typeof e == "number" ? `[data-page="${e}"]` : `[data-step="${e}"]`),
172
- t.querySelector("[aria-current=\"page\"]"),
173
- t.querySelector("[data-step]:not(:disabled)")
174
- ];
175
- for (let e of n) if (!(!e || e instanceof HTMLButtonElement && e.disabled) && (e.focus(), t.activeElement === e)) return;
176
- }
177
- step(e, t, n) {
178
- let r = e === "previous", i = r ? "Vorige" : "Volgende", a = d("functioneel-delta-rechts", {
179
- size: 16,
180
- flip: r ? "horizontal" : void 0
181
- }), o = c`<span
182
- class=${u({
183
- "lintje-pagination__word": !0,
184
- "visually-hidden": this.compact
185
- })}
186
- >${i}</span
187
- >`, s = r ? c`${a}${o}` : c`${o}${a}`, l = this.hrefFor(t);
188
- return n || !l ? c`<button
5
+ label=${`${i(t)} per pagina`}
6
+ accessible-label=${`${a[0].toUpperCase()}${a.slice(1)}: ${i(t)} per pagina`}
7
+ .items=${r.map(e=>({value:String(e),label:`${i(e)} per pagina`,checked:e===t,radio:!0}))}
8
+ @lintje-action=${e=>{e.stopPropagation(),this.chooseSize(Number(e.detail))}}
9
+ ></lintje-menu-button>`}keepFocus(e){let t=this.renderRoot,n=[t.querySelector(typeof e==`number`?`[data-page="${e}"]`:`[data-step="${e}"]`),t.querySelector(`[aria-current="page"]`),t.querySelector(`[data-step]:not(:disabled)`)];for(let e of n)if(!(!e||e instanceof HTMLButtonElement&&e.disabled)&&(e.focus(),t.activeElement===e))return}step(e,t,r){let i=e===`previous`,a=i?`Vorige`:`Volgende`,s=o(`functioneel-delta-rechts`,{size:16,flip:i?`horizontal`:void 0}),c=n`<span
10
+ class=${u({"lintje-pagination__word":!0,"visually-hidden":this.compact})}
11
+ >${a}</span
12
+ >`,l=i?n`${s}${c}`:n`${c}${s}`,d=this.hrefFor(t);return r||!d?n`<button
189
13
  type="button"
190
- class=${u({
191
- "lintje-button": !0,
192
- "lintje-button--link": !0,
193
- "lintje-pagination__step": !0,
194
- "is-disabled": n
195
- })}
14
+ class=${u({"lintje-button":!0,"lintje-button--link":!0,"lintje-pagination__step":!0,"is-disabled":r})}
196
15
  data-step=${e}
197
- ?disabled=${n}
198
- @click=${(n) => this.choose(n, t, e)}
16
+ ?disabled=${r}
17
+ @click=${n=>this.choose(n,t,e)}
199
18
  >
200
- ${s}
201
- </button>` : c`<a
19
+ ${l}
20
+ </button>`:n`<a
202
21
  class="lintje-button lintje-button--link lintje-pagination__step"
203
22
  data-step=${e}
204
- href=${l}
205
- @click=${(n) => this.choose(n, t, e)}
206
- >${s}</a
207
- >`;
208
- }
209
- number(e, t) {
210
- let n = e === t, r = u({
211
- "lintje-pagination__page": !0,
212
- "is-current": n
213
- }), a = n ? `Pagina ${e}, huidige pagina` : `Ga naar pagina ${e}`, o = this.hrefFor(e);
214
- return o ? c`<a
215
- class=${r}
23
+ href=${d}
24
+ @click=${n=>this.choose(n,t,e)}
25
+ >${l}</a
26
+ >`}number(e,t){let r=e===t,i=u({"lintje-pagination__page":!0,"is-current":r}),a=r?`Pagina ${e}, huidige pagina`:`Ga naar pagina ${e}`,o=this.hrefFor(e);return o?n`<a
27
+ class=${i}
216
28
  href=${o}
217
29
  data-page=${e}
218
30
  aria-label=${a}
219
- aria-current=${n ? "page" : i}
220
- @click=${(t) => this.choose(t, e, e)}
31
+ aria-current=${r?`page`:l}
32
+ @click=${t=>this.choose(t,e,e)}
221
33
  >${e}</a
222
- >` : c`<button
34
+ >`:n`<button
223
35
  type="button"
224
- class=${r}
36
+ class=${i}
225
37
  data-page=${e}
226
38
  aria-label=${a}
227
- aria-current=${n ? "page" : i}
228
- @click=${(t) => this.choose(t, e, e)}
39
+ aria-current=${r?`page`:l}
40
+ @click=${t=>this.choose(t,e,e)}
229
41
  >
230
42
  ${e}
231
- </button>`;
232
- }
233
- render() {
234
- let e = this.count, t = this.current, n = m(t, e), r = n.indexOf(t), a = g(t, this.pageSize, this.total, this.countUnit, this.filteredFrom);
235
- return c`<div
236
- class=${u({
237
- "lintje-pagination": !0,
238
- "is-compact": this.compact,
239
- "is-stacked": this.stacked
240
- })}
241
- >
242
- ${a ? c`<p class="lintje-pagination__count">${a}</p>` : i}
43
+ </button>`}render(){let e=this.count,t=this.current,r=h(t,e),i=r.indexOf(t),o=_(t,this.pageSize,this.total,this.countUnit,this.filteredFrom);return n`<div class="lintje-pagination">
44
+ ${o?n`<p class="lintje-pagination__count">${o}</p>`:l}
243
45
  <nav class="lintje-pagination__nav" aria-label=${this.label}>
244
- ${this.step("previous", t - 1, t <= 1)}
46
+ ${this.step(`previous`,t-1,t<=1)}
245
47
  <span class="lintje-pagination__pages">
246
- ${o(n, (e, t) => e === "gap" ? t < r ? "gap-before" : "gap-after" : e, (e) => e === "gap" ? c`<span class="lintje-pagination__gap" aria-hidden="true">…</span>` : this.number(e, t))}
48
+ ${a(r,(e,t)=>e===`gap`?t<i?`gap-before`:`gap-after`:e,e=>e===`gap`?n`<span class="lintje-pagination__gap" aria-hidden="true">…</span>`:this.number(e,t))}
247
49
  </span>
248
50
  <span class="lintje-pagination__where">Pagina ${t} van ${e}</span>
249
- ${this.step("next", t + 1, t >= e)}
51
+ ${this.step(`next`,t+1,t>=e)}
250
52
  </nav>
251
53
  ${this.sizes()}
252
- </div>`;
253
- }
254
- };
255
- n("lintje-pagination", v);
256
- //#endregion
257
- export { v as LintjePagination, m as pageRange, _ as parsePageSizes, g as rangeText };
54
+ </div>`}};f(`lintje-pagination`,y);export{y as LintjePagination,h as pageRange,v as parsePageSizes,_ as rangeText};
@@ -1 +1 @@
1
- export { U as LintjePopover } from "../chunks/base-Bd2pmq86.js";
1
+ export{W as LintjePopover}from"../chunks/base-BsZyWDre.js";
@@ -1 +1 @@
1
- export { c as LintjeProgressBar } from "../chunks/base-Bd2pmq86.js";
1
+ export{c as LintjeProgressBar}from"../chunks/base-BsZyWDre.js";
@@ -1,31 +1 @@
1
- import { P as e, St as t, Yt as n, Zt as r, nn as i, st as a } from "../chunks/base-Bd2pmq86.js";
2
- import { t as o } from "../chunks/prose-CmKVp5kL.js";
3
- //#region src/components/content/prose/prose.ts
4
- var s = class extends e {
5
- constructor(...e) {
6
- super(...e), this.tone = "default";
7
- }
8
- static {
9
- this.styles = r(o);
10
- }
11
- static {
12
- this.properties = {
13
- html: { attribute: !1 },
14
- text: { type: String },
15
- tone: {
16
- type: String,
17
- reflect: !0
18
- }
19
- };
20
- }
21
- render() {
22
- let e = a({
23
- "lintje-prose": !0,
24
- [`lintje-prose--${this.tone}`]: this.tone !== "default"
25
- });
26
- return this.html ? i`<div class=${e}>${t(this.html)}</div>` : this.text ? i`<div class=${e}><p>${this.text}</p></div>` : i`<div class=${e}><slot></slot></div>`;
27
- }
28
- };
29
- n("lintje-prose", s);
30
- //#endregion
31
- export { s as LintjeProse };
1
+ import{Ot as e,P as t,cn as n,pt as r,rn as i,tn as a}from"../chunks/base-BsZyWDre.js";import{t as o}from"../chunks/prose-DOF7h3je.js";var s=class extends t{constructor(...e){super(...e),this.tone=`default`}static{this.styles=i(o)}static{this.properties={html:{attribute:!1},text:{type:String},tone:{type:String,reflect:!0}}}render(){let t=r({"lintje-prose":!0,[`lintje-prose--${this.tone}`]:this.tone!=="default"});return this.html?n`<div class=${t}>${e(this.html)}</div>`:this.text?n`<div class=${t}><p>${this.text}</p></div>`:n`<div class=${t}><slot></slot></div>`}};a(`lintje-prose`,s);export{s as LintjeProse};