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
@@ -31,6 +31,23 @@
31
31
  }
32
32
  ]
33
33
  },
34
+ "AddonState": {
35
+ "kind": "interface",
36
+ "module": "src/components/inputs/shared/addon.ts",
37
+ "extends": [],
38
+ "fields": [
39
+ {
40
+ "name": "readonly",
41
+ "type": "boolean",
42
+ "optional": false
43
+ },
44
+ {
45
+ "name": "disabled",
46
+ "type": "boolean",
47
+ "optional": false
48
+ }
49
+ ]
50
+ },
34
51
  "AnnouncementBlockOptions": {
35
52
  "kind": "interface",
36
53
  "module": "src/components/shared/announcement-block.ts",
@@ -644,7 +661,7 @@
644
661
  "ChartData": {
645
662
  "kind": "interface",
646
663
  "module": "src/types.ts",
647
- "description": "Events: `lintje-mark-select` `{id, label, href}` when a mark with a `href` is clicked,\n`{id: null, href: clearHref}` when the selection is undone.",
664
+ "description": "Events: `lintje-mark-select` `{id, label, href}` when a mark with a `href` is clicked,\n`{id: null, href: clearHref}` when the selection is undone; uncancelled, the page goes to\nthat `href`.",
648
665
  "extends": [
649
666
  "FrameSettings",
650
667
  "TileData",
@@ -896,9 +913,9 @@
896
913
  },
897
914
  {
898
915
  "name": "onSelect",
899
- "type": "(mark: ChartSelection) => void",
916
+ "type": "(mark: ChartSelection, newTab?: boolean) => void",
900
917
  "optional": true,
901
- "description": "A mark that carries a `href` was activated. Without this the marks stay inert."
918
+ "description": "A mark that carries a `href` was activated; `newTab` for a modifier or middle click. Without\nthis the marks stay inert."
902
919
  },
903
920
  {
904
921
  "name": "onClear",
@@ -1229,7 +1246,8 @@
1229
1246
  {
1230
1247
  "name": "legendTable",
1231
1248
  "type": "boolean",
1232
- "optional": true
1249
+ "optional": true,
1250
+ "description": "The legend as a table with counts and shares; `false` puts the shared legend above the pie."
1233
1251
  },
1234
1252
  {
1235
1253
  "name": "labelHeader",
@@ -2100,7 +2118,7 @@
2100
2118
  "DataTableData": {
2101
2119
  "kind": "interface",
2102
2120
  "module": "src/types.ts",
2103
- "description": "Events: `lintje-row-click` with `{id, label, href?}` in a clickable table;\n`lintje-row-open` with `{id, label, href?}` from the name of an `openable` one;\n`lintje-checked-change` with the checked keys in a selectable one;\n`lintje-sort-change` with `{key, direction}` or `null`;\n`lintje-cell-edit` `{id, column, value}` from an `editor` column;\n`lintje-row-action` `{id, action}` from `rowActions`;\n`lintje-bulk-action` `{ids, action}` from `bulkActions`;\n`lintje-filter-change` `{column, value}` (`string[] | string | null`) from a column `filter`;\n`lintje-columns-change` `{order, hidden}` from the `columnChooser`.",
2121
+ "description": "Events: `lintje-row-click` with `{id, label, href?}` in a clickable table;\n`lintje-row-open` with `{id, label, href?}` from the name of an `openable` one; uncancelled,\neither goes to the row's `href`;\n`lintje-checked-change` with the checked keys in a selectable one;\n`lintje-sort-change` with `{key, direction}` or `null`;\n`lintje-cell-edit` `{id, column, value}` from an `editor` column;\n`lintje-row-action` `{id, label, action}` from `rowActions`;\n`lintje-bulk-action` `{ids, action}` from `bulkActions`;\n`lintje-filter-change` `{column, value}` (`string[] | string | null`) from a column `filter`;\n`lintje-columns-change` `{order, hidden}` from the `columnChooser`.",
2104
2122
  "extends": [
2105
2123
  "FrameSettings",
2106
2124
  "TileData",
@@ -2362,7 +2380,7 @@
2362
2380
  "name": "tone",
2363
2381
  "type": "DescriptionTone",
2364
2382
  "optional": true,
2365
- "description": "`changed`: differs from the default, and says \"Aangepast\". A shared tone carries its\nglyph when it has one, and the words are the host's (in the value or its slot)."
2383
+ "description": "`changed`: differs from the default, and says \"Aangepast\". A shared tone carries its glyph\nwhen it has one, with a hidden word for what the glyph says; the rest of the words are the\nhost's (in the value or its slot)."
2366
2384
  },
2367
2385
  {
2368
2386
  "name": "slot",
@@ -2963,6 +2981,12 @@
2963
2981
  "name": "hasFilters",
2964
2982
  "type": "boolean",
2965
2983
  "optional": false
2984
+ },
2985
+ {
2986
+ "name": "sentenceHeight",
2987
+ "type": "number",
2988
+ "optional": false,
2989
+ "description": "Below 768 px, the height of the filter sentence that sticks under the bar; else 0."
2966
2990
  }
2967
2991
  ]
2968
2992
  },
@@ -3071,6 +3095,25 @@
3071
3095
  "module": "src/components/content/highlight/highlight.ts",
3072
3096
  "text": "'uncertain' | 'term' | 'match' | 'added' | 'removed'"
3073
3097
  },
3098
+ "HoldOptions": {
3099
+ "kind": "interface",
3100
+ "module": "src/components/shared/dialog.ts",
3101
+ "extends": [],
3102
+ "fields": [
3103
+ {
3104
+ "name": "focus",
3105
+ "type": "boolean | HTMLElement",
3106
+ "optional": true,
3107
+ "description": "As `FocusTrap.activate`; `false` leaves it, for a window that moves it once its content has drawn."
3108
+ },
3109
+ {
3110
+ "name": "scroller",
3111
+ "type": "HTMLElement | null",
3112
+ "optional": true,
3113
+ "description": "The element that scrolls behind the window, when the host names one; else the page."
3114
+ }
3115
+ ]
3116
+ },
3074
3117
  "HostConfig": {
3075
3118
  "kind": "interface",
3076
3119
  "module": "src/core/host-config.ts",
@@ -3093,7 +3136,7 @@
3093
3136
  "IconGlyph": {
3094
3137
  "kind": "interface",
3095
3138
  "module": "src/icons/register.ts",
3096
- "description": "Generated by `npm run build:icons` — do not edit.\n\nThe icons the bundle carries itself: the chrome a component draws by name.\nEvery other icon is fetched by name when a name needs it\n(`src/icons/loader.ts`); the name is always the file name.\n\n63 icons, of 1200 in `dist-icons/`.",
3139
+ "description": "Generated by `npm run build:icons` — do not edit.\n\nThe icons the bundle carries itself: the chrome a component draws by name.\nEvery other icon is fetched by name when a name needs it\n(`src/icons/loader.ts`); the name is always the file name.\n\n64 icons, of 1200 in `dist-icons/`.",
3097
3140
  "extends": [],
3098
3141
  "fields": [
3099
3142
  {
@@ -3630,7 +3673,7 @@
3630
3673
  },
3631
3674
  {
3632
3675
  "name": "select",
3633
- "type": "(value: MapValue) => void",
3676
+ "type": "(value: MapValue, newTab?: boolean) => void",
3634
3677
  "optional": false
3635
3678
  },
3636
3679
  {
@@ -3673,6 +3716,12 @@
3673
3716
  "optional": true,
3674
3717
  "description": "The shape the line carries at its end, drawn on its line marker (rule 13)."
3675
3718
  },
3719
+ {
3720
+ "name": "symbolShape",
3721
+ "type": "SeriesShape",
3722
+ "optional": true,
3723
+ "description": "A `point` marker's shape when it is not the shape of a colour's name (a map's styled series)."
3724
+ },
3676
3725
  {
3677
3726
  "name": "hidden",
3678
3727
  "type": "boolean",
@@ -3942,12 +3991,6 @@
3942
3991
  "optional": true,
3943
3992
  "description": "The theme's emblem (the ribbon) by file name, with the organisation's name and byline."
3944
3993
  },
3945
- {
3946
- "name": "ribbon",
3947
- "type": "number",
3948
- "optional": false,
3949
- "description": "`RIBBON_WIDTH.desktop` or `.phone`."
3950
- },
3951
3994
  {
3952
3995
  "name": "environment",
3953
3996
  "type": "string",
@@ -4113,7 +4156,7 @@
4113
4156
  "MapData": {
4114
4157
  "kind": "interface",
4115
4158
  "module": "src/types.ts",
4116
- "description": "Events: `lintje-mark-select` `{id, label, href?}` on a click on an area or point,\n`{id: null, href: clearHref}` when undone; `lintje-layer-change` with the chosen layer;\nwith `controls.lasso` or `controls.circle`, `lintje-area-select` `{area, ids}` for a drawn area and\n`{area: null, ids: []}` when it is undone.",
4159
+ "description": "Events: `lintje-mark-select` `{id, label, href?}` on a click on an area or point,\n`{id: null, href: clearHref}` when undone; `lintje-layer-change` with the chosen layer;\nwith `controls.lasso` or `controls.circle`, `lintje-area-select` `{area, ids}` for a drawn area and\n`{area: null, ids: []}` when it is undone. An uncancelled `lintje-mark-select` goes to its\n`href`.",
4117
4160
  "extends": [
4118
4161
  "FrameSettings",
4119
4162
  "TileData",
@@ -4175,6 +4218,17 @@
4175
4218
  "name": "seriesLabels",
4176
4219
  "type": "Partial<Record<MapSeriesKey, string>>",
4177
4220
  "optional": true
4221
+ },
4222
+ {
4223
+ "name": "seriesStyles",
4224
+ "type": "Partial<Record<MapSeriesKey, MapSeriesStyle>>",
4225
+ "optional": true
4226
+ },
4227
+ {
4228
+ "name": "size",
4229
+ "type": "MapPointSize",
4230
+ "optional": true,
4231
+ "description": "How this layer's points are sized; `pointRadius` reads it."
4178
4232
  }
4179
4233
  ]
4180
4234
  },
@@ -4250,9 +4304,9 @@
4250
4304
  },
4251
4305
  {
4252
4306
  "name": "onSelect",
4253
- "type": "(mark: MapValue) => void",
4307
+ "type": "(mark: MapValue, newTab?: boolean) => void",
4254
4308
  "optional": true,
4255
- "description": "An area or point was clicked; the whole mark travels, as the panel needs its figure."
4309
+ "description": "An area or point was clicked; the whole mark travels, as the panel needs its figure. `newTab`\nfor a modifier or middle click on a mark with an `href`, which leaves the selection be."
4256
4310
  },
4257
4311
  {
4258
4312
  "name": "onClear",
@@ -4312,6 +4366,18 @@
4312
4366
  "type": "Partial<Record<MapSeriesKey, string>>",
4313
4367
  "optional": true,
4314
4368
  "description": "What each series in this layer means, over the map's own `seriesLabels`. A colour may serve\nseveral layers; each layer's line in the legend names and switches its own."
4369
+ },
4370
+ {
4371
+ "name": "seriesStyles",
4372
+ "type": "Partial<Record<MapSeriesKey, MapSeriesStyle>>",
4373
+ "optional": true,
4374
+ "description": "How this layer's series draw, over the map's own `seriesStyles`."
4375
+ },
4376
+ {
4377
+ "name": "size",
4378
+ "type": "MapPointSize",
4379
+ "optional": true,
4380
+ "description": "How this layer's points are sized; without it the map's own `size`."
4315
4381
  }
4316
4382
  ]
4317
4383
  },
@@ -4321,11 +4387,67 @@
4321
4387
  "description": "What one layer of a stacked map draws: a map's variant, without the scope picker.",
4322
4388
  "text": "'polygons' | 'points' | 'flows' | 'choropleth'"
4323
4389
  },
4390
+ "MapPointSize": {
4391
+ "kind": "interface",
4392
+ "module": "src/components/shared/charts/shared/types.ts",
4393
+ "description": "How a layer's points are sized. Without it a point's radius grows from 3 to 18 px with the\nsquare root of its figure's share of the layer's largest, and keeps that size at every zoom.",
4394
+ "extends": [],
4395
+ "fields": [
4396
+ {
4397
+ "name": "min",
4398
+ "type": "number",
4399
+ "optional": true,
4400
+ "description": "The smallest radius in px; default 3."
4401
+ },
4402
+ {
4403
+ "name": "max",
4404
+ "type": "number",
4405
+ "optional": true,
4406
+ "description": "The largest radius in px; default 18."
4407
+ },
4408
+ {
4409
+ "name": "by",
4410
+ "type": "'value' | 'none'",
4411
+ "optional": true,
4412
+ "description": "`value` (default): the radius follows the figure. `none`: every point draws at `min` — for a\nlayer whose figure is a count of one, or no size at all, so a national view is not a field\nof points all at the largest size."
4413
+ },
4414
+ {
4415
+ "name": "zoom",
4416
+ "type": "boolean",
4417
+ "optional": true,
4418
+ "description": "The radius follows the zoom — twice as large one level in, half a level out, between 2 and\n28 px — so a point reads as fixed to the ground. Default off: a point keeps its pixel size."
4419
+ }
4420
+ ]
4421
+ },
4422
+ "MapSeriesColor": {
4423
+ "kind": "alias",
4424
+ "module": "src/components/shared/charts/shared/types.ts",
4425
+ "description": "A series' colour: a data colour, or `neutral` — the comparison grey, for a map whose series differ by shape alone.",
4426
+ "text": "DataColor | 'neutral'"
4427
+ },
4324
4428
  "MapSeriesKey": {
4325
4429
  "kind": "alias",
4326
4430
  "module": "src/components/shared/charts/shared/types.ts",
4327
- "description": "A map point's data colour, by name: one of the data colours, each with its own shape.",
4328
- "text": "DataColor"
4431
+ "description": "What a point's `series` names: a data colour by name, which brings that colour's shape — or\nany key of the map's `seriesStyles`, which says what colour and shape it draws with. The\nunion keeps the colour names as suggestions beside the free key.",
4432
+ "text": "DataColor | (string & {})"
4433
+ },
4434
+ "MapSeriesStyle": {
4435
+ "kind": "interface",
4436
+ "module": "src/components/shared/charts/shared/types.ts",
4437
+ "description": "How a series draws, named by its key in `seriesStyles`. Without an entry a series is a data\ncolour by name with that colour's own shape (rule 13); with one, each part left out keeps\nthat default — and a key that is no colour name draws the default colour and a circle.",
4438
+ "extends": [],
4439
+ "fields": [
4440
+ {
4441
+ "name": "color",
4442
+ "type": "MapSeriesColor",
4443
+ "optional": true
4444
+ },
4445
+ {
4446
+ "name": "shape",
4447
+ "type": "SeriesShape",
4448
+ "optional": true
4449
+ }
4450
+ ]
4329
4451
  },
4330
4452
  "MapSpec": {
4331
4453
  "kind": "interface",
@@ -4396,7 +4518,13 @@
4396
4518
  "name": "seriesLabels",
4397
4519
  "type": "Partial<Record<MapSeriesKey, string>>",
4398
4520
  "optional": true,
4399
- "description": "What each series means, keyed by colour name; each used series gets a legend line."
4521
+ "description": "What each series means, keyed by its series key; each used series gets a legend line."
4522
+ },
4523
+ {
4524
+ "name": "seriesStyles",
4525
+ "type": "Partial<Record<MapSeriesKey, MapSeriesStyle>>",
4526
+ "optional": true,
4527
+ "description": "How a series draws, keyed as `seriesLabels` is — for series that differ by shape alone, in\none neutral colour, when the colour would carry a meaning that is not there. Without an\nentry a series keeps the colour of its name and that colour's shape."
4400
4528
  },
4401
4529
  {
4402
4530
  "name": "selectLabel",
@@ -4427,6 +4555,12 @@
4427
4555
  "type": "MapArea | null",
4428
4556
  "optional": true,
4429
4557
  "description": "The area the host keeps, from its URL: adopted when it changes, as `selectedId` is."
4558
+ },
4559
+ {
4560
+ "name": "size",
4561
+ "type": "MapPointSize",
4562
+ "optional": true,
4563
+ "description": "How the points are sized, for every layer that does not say so itself."
4430
4564
  }
4431
4565
  ]
4432
4566
  },
@@ -4478,7 +4612,7 @@
4478
4612
  "name": "series",
4479
4613
  "type": "MapSeriesKey",
4480
4614
  "optional": true,
4481
- "description": "A data colour by name, and with it that colour's shape (rule 13). No series, no legend."
4615
+ "description": "The series this mark belongs to: a data colour by name, and with it that colour's shape\n(rule 13), or a key styled in `seriesStyles`. No series, no legend."
4482
4616
  },
4483
4617
  {
4484
4618
  "name": "polygon",
@@ -4544,8 +4678,9 @@
4544
4678
  },
4545
4679
  {
4546
4680
  "name": "click",
4547
- "type": "(() => void) | typeof nothing",
4548
- "optional": false
4681
+ "type": "((event: MouseEvent) => void) | typeof nothing",
4682
+ "optional": false,
4683
+ "description": "Bound to both `click` and `auxclick`: the middle button opens the mark's `href` in a new tab."
4549
4684
  },
4550
4685
  {
4551
4686
  "name": "keydown",
@@ -4599,7 +4734,7 @@
4599
4734
  },
4600
4735
  {
4601
4736
  "name": "select",
4602
- "type": "(value: MapValue) => void",
4737
+ "type": "(value: MapValue, newTab?: boolean) => void",
4603
4738
  "optional": false
4604
4739
  },
4605
4740
  {
@@ -4921,6 +5056,79 @@
4921
5056
  }
4922
5057
  ]
4923
5058
  },
5059
+ "OtherFieldOptions": {
5060
+ "kind": "interface",
5061
+ "module": "src/components/shared/other.ts",
5062
+ "extends": [],
5063
+ "fields": [
5064
+ {
5065
+ "name": "label",
5066
+ "type": "string",
5067
+ "optional": false,
5068
+ "description": "The option's word: the field's hidden label."
5069
+ },
5070
+ {
5071
+ "name": "text",
5072
+ "type": "string",
5073
+ "optional": false
5074
+ },
5075
+ {
5076
+ "name": "placeholder",
5077
+ "type": "string",
5078
+ "optional": true
5079
+ },
5080
+ {
5081
+ "name": "error",
5082
+ "type": "string",
5083
+ "optional": true
5084
+ },
5085
+ {
5086
+ "name": "disabled",
5087
+ "type": "boolean",
5088
+ "optional": true
5089
+ },
5090
+ {
5091
+ "name": "className",
5092
+ "type": "string",
5093
+ "optional": true,
5094
+ "description": "The holder's class for the field's place."
5095
+ },
5096
+ {
5097
+ "name": "onCommit",
5098
+ "type": "(text: string) => void",
5099
+ "optional": false,
5100
+ "description": "The text, committed when the reader leaves the field or presses Enter."
5101
+ }
5102
+ ]
5103
+ },
5104
+ "OtherHolder": {
5105
+ "kind": "interface",
5106
+ "module": "src/components/shared/controls.ts",
5107
+ "description": "A choice group with \"Anders\" on, as its holders see it.",
5108
+ "extends": [],
5109
+ "fields": [
5110
+ {
5111
+ "name": "other",
5112
+ "type": "boolean",
5113
+ "optional": false
5114
+ },
5115
+ {
5116
+ "name": "otherText",
5117
+ "type": "string",
5118
+ "optional": false
5119
+ },
5120
+ {
5121
+ "name": "otherError",
5122
+ "type": "string",
5123
+ "optional": true
5124
+ },
5125
+ {
5126
+ "name": "label",
5127
+ "type": "string",
5128
+ "optional": true
5129
+ }
5130
+ ]
5131
+ },
4924
5132
  "OverflowHost": {
4925
5133
  "kind": "interface",
4926
5134
  "module": "src/components/shared/overflow.ts",
@@ -5313,9 +5521,28 @@
5313
5521
  }
5314
5522
  ]
5315
5523
  },
5316
- "RowClickDetail": {
5524
+ "ResolvedSeriesStyle": {
5317
5525
  "kind": "interface",
5318
- "module": "src/components/tables/list/list.ts",
5526
+ "module": "src/components/shared/charts/map-chart/series-style.ts",
5527
+ "extends": [],
5528
+ "fields": [
5529
+ {
5530
+ "name": "color",
5531
+ "type": "string | undefined",
5532
+ "optional": false,
5533
+ "description": "A CSS colour, or nothing for the default."
5534
+ },
5535
+ {
5536
+ "name": "shape",
5537
+ "type": "SeriesShape",
5538
+ "optional": false
5539
+ }
5540
+ ]
5541
+ },
5542
+ "RowActionDetail": {
5543
+ "kind": "interface",
5544
+ "module": "src/types.ts",
5545
+ "description": "What `lintje-row-action` carries, in `lintje-list` and `lintje-data-table`.",
5319
5546
  "extends": [],
5320
5547
  "fields": [
5321
5548
  {
@@ -5326,12 +5553,39 @@
5326
5553
  {
5327
5554
  "name": "label",
5328
5555
  "type": "string",
5556
+ "optional": false,
5557
+ "description": "The row's name: a list row's title, a table row's first column."
5558
+ },
5559
+ {
5560
+ "name": "action",
5561
+ "type": "string",
5562
+ "optional": false,
5563
+ "description": "The `value` of the chosen action."
5564
+ }
5565
+ ]
5566
+ },
5567
+ "RowClickDetail": {
5568
+ "kind": "interface",
5569
+ "module": "src/types.ts",
5570
+ "description": "What `lintje-row-click` and `lintje-row-open` carry, in `lintje-list` and `lintje-data-table`.",
5571
+ "extends": [],
5572
+ "fields": [
5573
+ {
5574
+ "name": "id",
5575
+ "type": "string",
5329
5576
  "optional": false
5330
5577
  },
5578
+ {
5579
+ "name": "label",
5580
+ "type": "string",
5581
+ "optional": false,
5582
+ "description": "The row's name: a list row's title, a table row's first column."
5583
+ },
5331
5584
  {
5332
5585
  "name": "href",
5333
5586
  "type": "string",
5334
- "optional": true
5587
+ "optional": true,
5588
+ "description": "The address the host gave the row, if any."
5335
5589
  }
5336
5590
  ]
5337
5591
  },
@@ -5935,6 +6189,12 @@
5935
6189
  "type": "string",
5936
6190
  "optional": true,
5937
6191
  "description": "A sentence or two about the step, shown only when the steps stand in a column."
6192
+ },
6193
+ {
6194
+ "name": "value",
6195
+ "type": "string",
6196
+ "optional": true,
6197
+ "description": "The name of the step's slot: a child of `<lintje-stepper>` with `slot=\"<value>\"` is the\nstep's own content, any Lintje element or plain HTML. It inherits the text colour; the host\ndecides what it shows."
5938
6198
  }
5939
6199
  ]
5940
6200
  },
@@ -6279,7 +6539,13 @@
6279
6539
  "name": "format",
6280
6540
  "type": "| 'text' | 'number' | 'percent' | 'decimal' | 'change' | 'change-compact' | 'status' | 'label'",
6281
6541
  "optional": true,
6282
- "description": "How a value shows; default `number` for numbers. `change`: a signed percentage with ▲ ▼ ●.\n`change-compact`: only the ▲ ▼ ● of `change`; a screen reader hears the whole change, and\nbelow 768 px the row's measure shows it whole.\n`status`: a `StatusTone` (or mapped through `status.tones`) as the status dot with its label.\n`label`: the value as a badge with the word, tone and icon from `labels`."
6542
+ "description": "How a value shows; default `number` for numbers. `change`: a signed percentage with ▲ ▼ ●.\n`change-compact`: only the ▲ ▼ ● of `change`, its words in a tooltip (`tooltip`); a screen\nreader hears them, and below 768 px the row's measure shows the change whole.\n`status`: a `StatusTone` (or mapped through `status.tones`) as the status dot with its label.\n`label`: the value as a badge with the word, tone and icon from `labels`."
6543
+ },
6544
+ {
6545
+ "name": "tooltip",
6546
+ "type": "string",
6547
+ "optional": true,
6548
+ "description": "`change-compact`: the words the glyph stands for, as a template with `{key}` placeholders\nfilled from the row, each value read the way its column reads it (`{change}` gives\n\"▲ +4,2%\"). They are the glyph's tooltip, a screen reader hears them, and under the keyboard's\nfocus or without hover they stand whole. Without it, the whole change. Other formats ignore it."
6283
6549
  },
6284
6550
  {
6285
6551
  "name": "decimals",
@@ -1,31 +1 @@
1
- //#region src/bundle/dev.ts
2
- function e(e = document) {
3
- let t = /* @__PURE__ */ new Set();
4
- for (let n of e.querySelectorAll("*")) {
5
- let e = n.localName;
6
- e.startsWith("lintje-") && !customElements.get(e) && t.add(e);
7
- }
8
- return [...t].sort();
9
- }
10
- var t = /* @__PURE__ */ new Set();
11
- function n(n = document) {
12
- let r = e(n).filter((e) => !t.has(e));
13
- for (let e of r) t.add(e), console.warn(`<${e}> is on the page but not defined. Import its file (tag/${e.replace(/^lintje-/, "")}.js) or its category.`);
14
- return r;
15
- }
16
- var r = 1e3;
17
- if (typeof document < "u" && typeof MutationObserver < "u") {
18
- let e, t = () => {
19
- e === void 0 && (e = setTimeout(() => {
20
- e = void 0, n();
21
- }, r));
22
- }, i = () => {
23
- t(), new MutationObserver(t).observe(document.documentElement, {
24
- childList: !0,
25
- subtree: !0
26
- });
27
- };
28
- document.readyState === "complete" ? i() : window.addEventListener("load", i, { once: !0 });
29
- }
30
- //#endregion
31
- export { n as reportUndefinedTags, e as undefinedTags };
1
+ function e(e=document){let t=/* @__PURE__ */ new Set;for(let n of e.querySelectorAll(`*`)){let e=n.localName;e.startsWith(`lintje-`)&&!customElements.get(e)&&t.add(e)}return[...t].sort()}var t=/* @__PURE__ */ new Set;function n(n=document){let r=e(n).filter(e=>!t.has(e));for(let e of r)t.add(e),console.warn(`<${e}> is on the page but not defined. Import its file (tag/${e.replace(/^lintje-/,``)}.js) or its category.`);return r}var r=1e3;if(typeof document<`u`&&typeof MutationObserver<`u`){let e,t=()=>{e===void 0&&(e=setTimeout(()=>{e=void 0,n()},r))},i=()=>{t(),new MutationObserver(t).observe(document.documentElement,{childList:!0,subtree:!0})};document.readyState===`complete`?i():window.addEventListener(`load`,i,{once:!0})}export{n as reportUndefinedTags,e as undefinedTags};
@@ -1,11 +1 @@
1
- import "./chunks/base-Bd2pmq86.js";
2
- import "./tag/toast.js";
3
- import "./tag/announcement.js";
4
- import "./tag/empty-state.js";
5
- import "./tag/conflict-alert.js";
6
- import "./tag/error-page.js";
7
- import "./tag/job-list.js";
8
- import "./tag/streaming-text.js";
9
- import "./tag/ai-label.js";
10
- import "./tag/level-meter.js";
11
- import "./tag/recording-status.js";
1
+ import"./chunks/base-BsZyWDre.js";import"./tag/toast.js";import"./tag/announcement.js";import"./tag/empty-state.js";import"./tag/conflict-alert.js";import"./tag/error-page.js";import"./tag/job-list.js";import"./tag/streaming-text.js";import"./tag/ai-label.js";import"./tag/level-meter.js";import"./tag/recording-status.js";
@@ -1,3 +1 @@
1
- import "./tag/filter-zone.js";
2
- import "./tag/filter-sheet.js";
3
- import "./tag/filter-bar.js";
1
+ import"./tag/filter-zone.js";import"./tag/filter-sheet.js";import"./tag/filter-bar.js";
@@ -1,7 +1 @@
1
- import "./inputs.js";
2
- import "./tag/error-summary.js";
3
- import "./tag/form-actions.js";
4
- import "./tag/form.js";
5
- import "./tag/form-section.js";
6
- import "./tag/stepper.js";
7
- import "./tag/repeater.js";
1
+ import"./inputs.js";import"./tag/error-summary.js";import"./tag/form-actions.js";import"./tag/form.js";import"./tag/form-section.js";import"./tag/stepper.js";import"./tag/repeater.js";
@@ -1,9 +1 @@
1
- import "./tag/notifications.js";
2
- import "./tag/user-menu.js";
3
- import "./tag/shell.js";
4
- import "./tag/page-header.js";
5
- import "./tag/breadcrumbs.js";
6
- import "./tag/sub-nav.js";
7
- import "./tag/hero.js";
8
- import "./tag/footer.js";
9
- import "./tag/app-search.js";
1
+ import"./tag/notifications.js";import"./tag/user-menu.js";import"./tag/shell.js";import"./tag/page-header.js";import"./tag/breadcrumbs.js";import"./tag/sub-nav.js";import"./tag/hero.js";import"./tag/footer.js";import"./tag/app-search.js";
@@ -84,8 +84,9 @@ applicatie.
84
84
  ## Doorklikken en selectie
85
85
 
86
86
  `lintje-row-click` en `lintje-mark-select` komen van de tabel en van de grafiek- en
87
- kaarttegels. Volg de `href` die je op die rij of markering hebt gezet, of zet `data.selectedId` zelf.
88
- Een selectie ongedaan maken is hetzelfde event met de id null en de `href` die je als `clearHref` gaf.
87
+ kaarttegels. Heeft de rij of markering een `href`, dan gaat het element erheen, tenzij je het event
88
+ annuleert; dan zet je `data.selectedId` zelf. Een selectie ongedaan maken is hetzelfde event met de
89
+ id null, en gaat zo naar de `href` die je als `clearHref` gaf.
89
90
  `lintje-sort-change` zet `data.sort`, `lintje-checked-change` `data.checkedIds`,
90
91
  `lintje-layer-change` de `data.layer` van de kaart.
91
92
 
@@ -1,7 +1,8 @@
1
1
  # Events: wat een element vraagt, en wat jij antwoordt
2
2
 
3
- Een element haalt nooit iets op, schrijft nooit de URL en navigeert nooit. Het stuurt een event en wacht
4
- tot jij een property zet. Elk event is een `CustomEvent`, bubbling en composed, dus één listener
3
+ Een element haalt nooit iets op en schrijft nooit de URL; het gaat alleen naar een adres dat jij gaf,
4
+ en nooit als je zijn event annuleert ([links](#links)). Het stuurt een event en wacht tot jij een
5
+ property zet. Elk event is een `CustomEvent`, bubbling en composed, dus één listener
5
6
  op `document` hoort het vanaf elke diepte: de payload is `event.detail`, `event.target` het element
6
7
  dat het stuurde. Welke tag wat stuurt, staat in de styleguide, onder elk element.
7
8
 
@@ -23,6 +24,15 @@ download. Waar geen klik te volgen is — een resultaat dat je met Enter kiest i
23
24
  klik naast de titel van een kaart, een rij van de takenlijst — gaat het element zelf naar het adres, tenzij je het event annuleert. Een linkrij van `lintje-list` (`lintje-row-click`) en een melding met een `href`
24
25
  (`lintje-notification-open`) werken op dezelfde manier.
25
26
 
27
+ Zo werken ook een klikbare rij van `lintje-data-table` (`lintje-row-click`, `lintje-row-open`), een
28
+ teken in `lintje-chart` en een markering op `lintje-map` (`lintje-mark-select`) met een `href`:
29
+ eerst het event, en annuleert niemand het, dan gaat het element naar de `href`, via
30
+ `lintje-navigate`, zodat een router het daar opvangt. Een selectie ongedaan maken gaat zo naar de
31
+ `clearHref`. Zonder `href` is er alleen het event. Een klik met een modifier of met de middelste
32
+ knop op zo'n rij of teken stuurt hun event niet, maar opent de `href` in een nieuw tabblad, zoals
33
+ een link: dan heeft `lintje-navigate` `{ href, newTab: true }`. Een router die `lintje-navigate`
34
+ annuleert, ziet aan `newTab` dat de lezer een nieuw tabblad vroeg, en opent het zelf of laat het.
35
+
26
36
  Een instelling van de lezer in de shell — modus, thema, waar het menu staat — is geen link:
27
37
  `lintje-shell` stuurt `lintje-view-change` met de instelling die veranderde en laat het aan jou over
28
38
  ([dashboards](dashboard.md)).
@@ -86,9 +96,10 @@ Een *toestand* is iets wat je bewaart en terugzet op het element (en in de URL m
86
96
  | `lintje-time-change`, `lintje-play`, `lintje-pause` | `lintje-audio-player`, `lintje-video-player` | toestand |
87
97
  | `lintje-seek` | `lintje-audio-player`, `lintje-video-player`, `lintje-transcript` | actie |
88
98
  | `lintje-node-toggle` | `lintje-tree-view` | actie |
89
- | `lintje-toggle` | `lintje-expander`, `lintje-toggletip` | actie (niets te beantwoorden) |
99
+ | `lintje-toggle` | `lintje-expander`, `lintje-toggletip`, `lintje-user-menu` | actie (niets te beantwoorden) |
90
100
  | `lintje-copy`, `lintje-copy-error` | `lintje-copy-button`, `lintje-qr-code` | actie (niets te beantwoorden) |
91
101
  | `lintje-job-cancel`, `lintje-job-resume`, `lintje-job-retry`, `lintje-job-remove` | `lintje-job-list` | actie |
102
+ | `lintje-jobs-empty` | `lintje-job-list`: de laatste taak ging met de focus erin; annuleer het en zet de focus zelf op een zichtbaar doel | actie |
92
103
  | `lintje-stop` | `lintje-streaming-text` | actie |
93
104
  | `lintje-text-change`, `lintje-languages-swap` | `lintje-translator` | toestand, actie |
94
105
  | `lintje-segment-edit`, `lintje-segment-save`, `lintje-segment-cancel`, `lintje-segment-speaker`, `lintje-speaker-new`, `lintje-speaker-rename` | `lintje-transcript` | actie |
@@ -98,6 +109,11 @@ Een *toestand* is iets wat je bewaart en terugzet op het element (en in de URL m
98
109
  | `lintje-message-send`, `lintje-message-edit`, `lintje-suggestion-select`, `lintje-answer-retry`, `lintje-answer-rate`, `lintje-answer-stop` | de chat | actie |
99
110
  | `lintje-sources-change`, `lintje-draft-change`, `lintje-strip-change` | de chat | toestand |
100
111
 
112
+ **Eén vorm voor een rij.** De lijst en de tabel sturen hetzelfde: `lintje-row-action` draagt
113
+ `{ id, label, action }` (`RowActionDetail`), de sleutel van de rij, haar naam en de `value` van de
114
+ gekozen actie; `lintje-row-click` en `lintje-row-open` dragen `{ id, label, href? }`
115
+ (`RowClickDetail`). Beide types komen uit het pakket.
116
+
101
117
  **Het verzoek en zijn antwoord.** Een opslag, een zoekactie, een bestand, een taak om te annuleren, een cel om op te slaan: het
102
118
  element stuurt het verzoek en wacht op de property die het beantwoordt (`.options`, `.jobs`,
103
119
  `busy`, `.errors`, `busyCells`). Het toont de wijziging van de lezer meteen en verwacht dat je volgende