@nldd/design-system 0.8.93 → 0.8.94

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 (312) hide show
  1. package/NOTICES.md +21 -1
  2. package/README.md +3 -3
  3. package/custom-elements.json +575 -96
  4. package/dist/components/actions/button/button.d.ts +8 -5
  5. package/dist/components/actions/button/button.d.ts.map +1 -1
  6. package/dist/components/actions/button/button.js +11 -5
  7. package/dist/components/actions/button/button.js.map +1 -1
  8. package/dist/components/actions/button/button.styles.d.ts.map +1 -1
  9. package/dist/components/actions/button/button.styles.js +41 -73
  10. package/dist/components/actions/button/button.styles.js.map +1 -1
  11. package/dist/components/actions/button/button.template.d.ts.map +1 -1
  12. package/dist/components/actions/button/button.template.js +1 -0
  13. package/dist/components/actions/button/button.template.js.map +1 -1
  14. package/dist/components/actions/button-bar/button-bar.d.ts +11 -4
  15. package/dist/components/actions/button-bar/button-bar.d.ts.map +1 -1
  16. package/dist/components/actions/button-bar/button-bar.js +25 -9
  17. package/dist/components/actions/button-bar/button-bar.js.map +1 -1
  18. package/dist/components/actions/button-bar/button-bar.styles.d.ts.map +1 -1
  19. package/dist/components/actions/button-bar/button-bar.styles.js +18 -3
  20. package/dist/components/actions/button-bar/button-bar.styles.js.map +1 -1
  21. package/dist/components/actions/icon-button/icon-button.d.ts +8 -5
  22. package/dist/components/actions/icon-button/icon-button.d.ts.map +1 -1
  23. package/dist/components/actions/icon-button/icon-button.js +11 -5
  24. package/dist/components/actions/icon-button/icon-button.js.map +1 -1
  25. package/dist/components/actions/icon-button/icon-button.styles.d.ts.map +1 -1
  26. package/dist/components/actions/icon-button/icon-button.styles.js +35 -61
  27. package/dist/components/actions/icon-button/icon-button.styles.js.map +1 -1
  28. package/dist/components/actions/icon-button/icon-button.template.d.ts.map +1 -1
  29. package/dist/components/actions/icon-button/icon-button.template.js +1 -0
  30. package/dist/components/actions/icon-button/icon-button.template.js.map +1 -1
  31. package/dist/components/actions/menu/menu.d.ts +17 -2
  32. package/dist/components/actions/menu/menu.d.ts.map +1 -1
  33. package/dist/components/actions/menu/menu.js +34 -11
  34. package/dist/components/actions/menu/menu.js.map +1 -1
  35. package/dist/components/actions/menu/menu.template.d.ts.map +1 -1
  36. package/dist/components/actions/menu/menu.template.js +5 -3
  37. package/dist/components/actions/menu/menu.template.js.map +1 -1
  38. package/dist/components/actions/split-button/split-button.d.ts +2 -2
  39. package/dist/components/actions/split-button/split-button.d.ts.map +1 -1
  40. package/dist/components/actions/split-button/split-button.js +5 -4
  41. package/dist/components/actions/split-button/split-button.js.map +1 -1
  42. package/dist/components/actions/split-button/split-button.styles.d.ts.map +1 -1
  43. package/dist/components/actions/split-button/split-button.styles.js +18 -3
  44. package/dist/components/actions/split-button/split-button.styles.js.map +1 -1
  45. package/dist/components/actions/split-button/split-button.template.js +2 -2
  46. package/dist/components/actions/split-button/split-button.template.js.map +1 -1
  47. package/dist/components/actions/toolbar/toolbar.d.ts.map +1 -1
  48. package/dist/components/actions/toolbar/toolbar.js +3 -2
  49. package/dist/components/actions/toolbar/toolbar.js.map +1 -1
  50. package/dist/components/components.js +1132 -461
  51. package/dist/components/content/avatar/avatar.js +1 -1
  52. package/dist/components/content/avatar/avatar.js.map +1 -1
  53. package/dist/components/content/code-viewer/code-viewer.d.ts +2 -2
  54. package/dist/components/content/code-viewer/code-viewer.d.ts.map +1 -1
  55. package/dist/components/content/code-viewer/code-viewer.js +10 -6
  56. package/dist/components/content/code-viewer/code-viewer.js.map +1 -1
  57. package/dist/components/content/code-viewer/code-viewer.styles.js +6 -6
  58. package/dist/components/content/image/image.d.ts.map +1 -1
  59. package/dist/components/content/image/image.js +2 -1
  60. package/dist/components/content/image/image.js.map +1 -1
  61. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.d.ts +3 -3
  62. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.d.ts.map +1 -1
  63. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.js +3 -3
  64. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  65. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.styles.js +7 -7
  66. package/dist/components/content/rich-text/rich-text.d.ts +2 -0
  67. package/dist/components/content/rich-text/rich-text.d.ts.map +1 -1
  68. package/dist/components/content/rich-text/rich-text.js +8 -1
  69. package/dist/components/content/rich-text/rich-text.js.map +1 -1
  70. package/dist/components/content/text/text.styles.d.ts.map +1 -1
  71. package/dist/components/content/text/text.styles.js +1 -0
  72. package/dist/components/content/text/text.styles.js.map +1 -1
  73. package/dist/components/content/token/token.d.ts.map +1 -1
  74. package/dist/components/content/token/token.js +2 -1
  75. package/dist/components/content/token/token.js.map +1 -1
  76. package/dist/components/content/token/token.template.js +2 -2
  77. package/dist/components/forms/form-actions/form-actions.d.ts +1 -1
  78. package/dist/components/forms/form-actions/form-actions.js +1 -1
  79. package/dist/components/{icon-button-hO6k8W63.js → icon-button-DHzLMmj0.js} +45 -67
  80. package/dist/components/index.d.ts +1 -0
  81. package/dist/components/index.d.ts.map +1 -1
  82. package/dist/components/index.js +2 -0
  83. package/dist/components/index.js.map +1 -1
  84. package/dist/components/inputs/code-editor/code-editor.d.ts +5 -5
  85. package/dist/components/inputs/code-editor/code-editor.d.ts.map +1 -1
  86. package/dist/components/inputs/code-editor/code-editor.js +5 -5
  87. package/dist/components/inputs/code-editor/code-editor.js.map +1 -1
  88. package/dist/components/inputs/code-editor/code-editor.styles.js +3 -3
  89. package/dist/components/inputs/combo-box/combo-box.d.ts +43 -2
  90. package/dist/components/inputs/combo-box/combo-box.d.ts.map +1 -1
  91. package/dist/components/inputs/combo-box/combo-box.js +115 -40
  92. package/dist/components/inputs/combo-box/combo-box.js.map +1 -1
  93. package/dist/components/inputs/combo-box/combo-box.template.js +2 -2
  94. package/dist/components/inputs/date-field/date-field.d.ts.map +1 -1
  95. package/dist/components/inputs/date-field/date-field.js +2 -1
  96. package/dist/components/inputs/date-field/date-field.js.map +1 -1
  97. package/dist/components/inputs/date-field/date-field.template.js +1 -1
  98. package/dist/components/inputs/date-picker/date-picker.template.js +2 -2
  99. package/dist/components/inputs/date-picker/date-picker.template.js.map +1 -1
  100. package/dist/components/inputs/dropdown/dropdown.d.ts +0 -2
  101. package/dist/components/inputs/dropdown/dropdown.d.ts.map +1 -1
  102. package/dist/components/inputs/dropdown/dropdown.js +1 -13
  103. package/dist/components/inputs/dropdown/dropdown.js.map +1 -1
  104. package/dist/components/inputs/dropdown/dropdown.styles.d.ts.map +1 -1
  105. package/dist/components/inputs/dropdown/dropdown.styles.js +24 -12
  106. package/dist/components/inputs/dropdown/dropdown.styles.js.map +1 -1
  107. package/dist/components/inputs/dropdown/dropdown.template.d.ts.map +1 -1
  108. package/dist/components/inputs/dropdown/dropdown.template.js +0 -1
  109. package/dist/components/inputs/dropdown/dropdown.template.js.map +1 -1
  110. package/dist/components/inputs/file-field/file-field.d.ts.map +1 -1
  111. package/dist/components/inputs/file-field/file-field.js +2 -7
  112. package/dist/components/inputs/file-field/file-field.js.map +1 -1
  113. package/dist/components/inputs/file-field/file-field.template.js +2 -2
  114. package/dist/components/inputs/number-field/number-field.d.ts.map +1 -1
  115. package/dist/components/inputs/number-field/number-field.js +2 -1
  116. package/dist/components/inputs/number-field/number-field.js.map +1 -1
  117. package/dist/components/inputs/number-field/number-field.template.js +2 -2
  118. package/dist/components/inputs/search-field/search-field.d.ts.map +1 -1
  119. package/dist/components/inputs/search-field/search-field.js +2 -1
  120. package/dist/components/inputs/search-field/search-field.js.map +1 -1
  121. package/dist/components/inputs/search-field/search-field.template.js +2 -2
  122. package/dist/components/inputs/segmented-control/segmented-control.d.ts +6 -0
  123. package/dist/components/inputs/segmented-control/segmented-control.d.ts.map +1 -1
  124. package/dist/components/inputs/segmented-control/segmented-control.js +13 -0
  125. package/dist/components/inputs/segmented-control/segmented-control.js.map +1 -1
  126. package/dist/components/inputs/segmented-control/segmented-control.styles.d.ts.map +1 -1
  127. package/dist/components/inputs/segmented-control/segmented-control.styles.js +54 -16
  128. package/dist/components/inputs/segmented-control/segmented-control.styles.js.map +1 -1
  129. package/dist/components/inputs/stepper/stepper.d.ts.map +1 -1
  130. package/dist/components/inputs/stepper/stepper.js +2 -1
  131. package/dist/components/inputs/stepper/stepper.js.map +1 -1
  132. package/dist/components/inputs/stepper/stepper.template.js +2 -2
  133. package/dist/components/inputs/text-editor/text-editor.annotations.d.ts.map +1 -1
  134. package/dist/components/inputs/text-editor/text-editor.annotations.js +6 -4
  135. package/dist/components/inputs/text-editor/text-editor.annotations.js.map +1 -1
  136. package/dist/components/inputs/text-editor/text-editor.d.ts +27 -64
  137. package/dist/components/inputs/text-editor/text-editor.d.ts.map +1 -1
  138. package/dist/components/inputs/text-editor/text-editor.i18n.d.ts +2 -0
  139. package/dist/components/inputs/text-editor/text-editor.i18n.d.ts.map +1 -1
  140. package/dist/components/inputs/text-editor/text-editor.i18n.js +5 -0
  141. package/dist/components/inputs/text-editor/text-editor.i18n.js.map +1 -1
  142. package/dist/components/inputs/text-editor/text-editor.js +87 -20
  143. package/dist/components/inputs/text-editor/text-editor.js.map +1 -1
  144. package/dist/components/inputs/text-editor/text-editor.labels.d.ts +4 -0
  145. package/dist/components/inputs/text-editor/text-editor.labels.d.ts.map +1 -0
  146. package/dist/components/inputs/text-editor/text-editor.labels.js +5 -0
  147. package/dist/components/inputs/text-editor/text-editor.labels.js.map +1 -0
  148. package/dist/components/inputs/text-editor/text-editor.links.d.ts.map +1 -1
  149. package/dist/components/inputs/text-editor/text-editor.links.js +6 -4
  150. package/dist/components/inputs/text-editor/text-editor.links.js.map +1 -1
  151. package/dist/components/inputs/text-editor/text-editor.markdown.d.ts.map +1 -1
  152. package/dist/components/inputs/text-editor/text-editor.markdown.js +5 -1
  153. package/dist/components/inputs/text-editor/text-editor.markdown.js.map +1 -1
  154. package/dist/components/inputs/text-editor/text-editor.mentions.d.ts +27 -3
  155. package/dist/components/inputs/text-editor/text-editor.mentions.d.ts.map +1 -1
  156. package/dist/components/inputs/text-editor/text-editor.mentions.js +144 -25
  157. package/dist/components/inputs/text-editor/text-editor.mentions.js.map +1 -1
  158. package/dist/components/inputs/text-editor/text-editor.spellcheck.d.ts +11 -0
  159. package/dist/components/inputs/text-editor/text-editor.spellcheck.d.ts.map +1 -0
  160. package/dist/components/inputs/text-editor/text-editor.spellcheck.js +134 -0
  161. package/dist/components/inputs/text-editor/text-editor.spellcheck.js.map +1 -0
  162. package/dist/components/inputs/text-editor/text-editor.styles.d.ts.map +1 -1
  163. package/dist/components/inputs/text-editor/text-editor.styles.js +9 -3
  164. package/dist/components/inputs/text-editor/text-editor.styles.js.map +1 -1
  165. package/dist/components/inputs/time-field/time-field.d.ts.map +1 -1
  166. package/dist/components/inputs/time-field/time-field.js +2 -1
  167. package/dist/components/inputs/time-field/time-field.js.map +1 -1
  168. package/dist/components/inputs/time-field/time-field.template.js +2 -2
  169. package/dist/components/inputs/time-picker/time-picker.d.ts.map +1 -1
  170. package/dist/components/inputs/time-picker/time-picker.js +2 -1
  171. package/dist/components/inputs/time-picker/time-picker.js.map +1 -1
  172. package/dist/components/inputs/toggle-button/toggle-button.d.ts +12 -0
  173. package/dist/components/inputs/toggle-button/toggle-button.d.ts.map +1 -1
  174. package/dist/components/inputs/toggle-button/toggle-button.js +17 -0
  175. package/dist/components/inputs/toggle-button/toggle-button.js.map +1 -1
  176. package/dist/components/inputs/toggle-button/toggle-button.styles.d.ts.map +1 -1
  177. package/dist/components/inputs/toggle-button/toggle-button.styles.js +99 -12
  178. package/dist/components/inputs/toggle-button/toggle-button.styles.js.map +1 -1
  179. package/dist/components/inputs/toggle-button/toggle-button.template.d.ts.map +1 -1
  180. package/dist/components/inputs/toggle-button/toggle-button.template.js +3 -2
  181. package/dist/components/inputs/toggle-button/toggle-button.template.js.map +1 -1
  182. package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts +4 -2
  183. package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts.map +1 -1
  184. package/dist/components/inputs/toggle-button-group/toggle-button-group.js +8 -2
  185. package/dist/components/inputs/toggle-button-group/toggle-button-group.js.map +1 -1
  186. package/dist/components/inputs/token-field/token-field.d.ts +26 -1
  187. package/dist/components/inputs/token-field/token-field.d.ts.map +1 -1
  188. package/dist/components/inputs/token-field/token-field.js +59 -6
  189. package/dist/components/inputs/token-field/token-field.js.map +1 -1
  190. package/dist/components/inputs/token-field/token-field.template.js +1 -1
  191. package/dist/components/layout/card/card.d.ts +3 -0
  192. package/dist/components/layout/card/card.d.ts.map +1 -1
  193. package/dist/components/layout/card/card.js +3 -0
  194. package/dist/components/layout/card/card.js.map +1 -1
  195. package/dist/components/layout/card/card.styles.d.ts.map +1 -1
  196. package/dist/components/layout/card/card.styles.js +22 -2
  197. package/dist/components/layout/card/card.styles.js.map +1 -1
  198. package/dist/components/layout/collection/collection.d.ts.map +1 -1
  199. package/dist/components/layout/collection/collection.js +2 -1
  200. package/dist/components/layout/collection/collection.js.map +1 -1
  201. package/dist/components/layout/collection/collection.template.js +1 -1
  202. package/dist/components/layout/page-footer/page-footer.d.ts +0 -2
  203. package/dist/components/layout/page-footer/page-footer.d.ts.map +1 -1
  204. package/dist/components/layout/page-footer/page-footer.js +4 -19
  205. package/dist/components/layout/page-footer/page-footer.js.map +1 -1
  206. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.d.ts.map +1 -1
  207. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.js +2 -1
  208. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.js.map +1 -1
  209. package/dist/components/layout/popover/popover.d.ts.map +1 -1
  210. package/dist/components/layout/popover/popover.js +2 -1
  211. package/dist/components/layout/popover/popover.js.map +1 -1
  212. package/dist/components/layout/window/window.d.ts.map +1 -1
  213. package/dist/components/layout/window/window.js +2 -1
  214. package/dist/components/layout/window/window.js.map +1 -1
  215. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.d.ts.map +1 -1
  216. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.js +2 -1
  217. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.js.map +1 -1
  218. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.d.ts +7 -7
  219. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.d.ts.map +1 -1
  220. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.js +9 -9
  221. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.js.map +1 -1
  222. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.js +5 -5
  223. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.js +1 -1
  224. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.js.map +1 -1
  225. package/dist/components/lists-and-tables/list/list.d.ts +11 -8
  226. package/dist/components/lists-and-tables/list/list.d.ts.map +1 -1
  227. package/dist/components/lists-and-tables/list/list.js +31 -31
  228. package/dist/components/lists-and-tables/list/list.js.map +1 -1
  229. package/dist/components/lists-and-tables/list/list.styles.js +5 -5
  230. package/dist/components/lists-and-tables/list/list.template.js +1 -1
  231. package/dist/components/lists-and-tables/list-item/list-item.d.ts +4 -4
  232. package/dist/components/lists-and-tables/list-item/list-item.d.ts.map +1 -1
  233. package/dist/components/lists-and-tables/list-item/list-item.js +10 -10
  234. package/dist/components/lists-and-tables/list-item/list-item.js.map +1 -1
  235. package/dist/components/lists-and-tables/table/table.d.ts +2 -0
  236. package/dist/components/lists-and-tables/table/table.d.ts.map +1 -1
  237. package/dist/components/lists-and-tables/table/table.js +10 -7
  238. package/dist/components/lists-and-tables/table/table.js.map +1 -1
  239. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +0 -2
  240. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  241. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +4 -19
  242. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  243. package/dist/components/navigation/document-tab-bar/document-tab-bar.template.js +1 -1
  244. package/dist/components/navigation/menu-bar/menu-bar.js +1 -1
  245. package/dist/components/navigation/menu-bar/menu-bar.js.map +1 -1
  246. package/dist/components/navigation/pagination/pagination.d.ts +0 -3
  247. package/dist/components/navigation/pagination/pagination.d.ts.map +1 -1
  248. package/dist/components/navigation/pagination/pagination.js +2 -13
  249. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  250. package/dist/components/navigation/pagination/pagination.template.js +2 -2
  251. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.d.ts +12 -0
  252. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.d.ts.map +1 -1
  253. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.js +37 -2
  254. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.js.map +1 -1
  255. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.d.ts.map +1 -1
  256. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js +48 -3
  257. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js.map +1 -1
  258. package/dist/components/navigation/top-title-bar/top-title-bar.template.js +3 -3
  259. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.d.ts.map +1 -1
  260. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.js +2 -1
  261. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.js.map +1 -1
  262. package/dist/components/status-and-feedback/banner/banner.d.ts.map +1 -1
  263. package/dist/components/status-and-feedback/banner/banner.js +2 -1
  264. package/dist/components/status-and-feedback/banner/banner.js.map +1 -1
  265. package/dist/components/status-and-feedback/banner/banner.template.js +1 -1
  266. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.template.js +1 -1
  267. package/dist/components/status-and-feedback/notification/notification.template.js +1 -1
  268. package/dist/components/status-and-feedback/progress-bar/progress-bar.d.ts +4 -4
  269. package/dist/components/status-and-feedback/progress-bar/progress-bar.d.ts.map +1 -1
  270. package/dist/components/status-and-feedback/progress-bar/progress-bar.js +11 -10
  271. package/dist/components/status-and-feedback/progress-bar/progress-bar.js.map +1 -1
  272. package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.js +6 -6
  273. package/dist/components/status-and-feedback/progress-bar/progress-bar.template.js +1 -1
  274. package/dist/components/status-and-feedback/progress-bar/progress-bar.template.js.map +1 -1
  275. package/dist/components/status-and-feedback/progress-circle/progress-circle.d.ts +6 -4
  276. package/dist/components/status-and-feedback/progress-circle/progress-circle.d.ts.map +1 -1
  277. package/dist/components/status-and-feedback/progress-circle/progress-circle.js +16 -13
  278. package/dist/components/status-and-feedback/progress-circle/progress-circle.js.map +1 -1
  279. package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.js +3 -3
  280. package/dist/components/{with-translations-BAKFoEKy.js → with-translations-Dt2DTXJF.js} +40 -12
  281. package/dist/css/rich-text.css +5 -1
  282. package/dist/css/variables.css +30 -42
  283. package/dist/nldd.min.js +1053 -869
  284. package/dist/translations/en-US.d.ts +17 -0
  285. package/dist/translations/en-US.d.ts.map +1 -0
  286. package/dist/translations/en-US.js +185 -0
  287. package/dist/translations/en-US.js.map +1 -0
  288. package/dist/translations/fy.d.ts +20 -0
  289. package/dist/translations/fy.d.ts.map +1 -0
  290. package/dist/translations/fy.js +185 -0
  291. package/dist/translations/fy.js.map +1 -0
  292. package/dist/translations/nl.generated.d.ts +188 -0
  293. package/dist/translations/nl.generated.d.ts.map +1 -0
  294. package/dist/translations/nl.generated.js +101 -0
  295. package/dist/translations/nl.generated.js.map +1 -0
  296. package/dist/translations/pap-AW.d.ts +22 -0
  297. package/dist/translations/pap-AW.d.ts.map +1 -0
  298. package/dist/translations/pap-AW.js +185 -0
  299. package/dist/translations/pap-AW.js.map +1 -0
  300. package/dist/translations/pap-CW.d.ts +22 -0
  301. package/dist/translations/pap-CW.d.ts.map +1 -0
  302. package/dist/translations/pap-CW.js +185 -0
  303. package/dist/translations/pap-CW.js.map +1 -0
  304. package/dist/types/vue.d.ts +76 -38
  305. package/dist/utilities/translations.d.ts +37 -0
  306. package/dist/utilities/translations.d.ts.map +1 -0
  307. package/dist/utilities/translations.js +80 -0
  308. package/dist/utilities/translations.js.map +1 -0
  309. package/dist/utilities/with-translations.d.ts.map +1 -1
  310. package/dist/utilities/with-translations.js +2 -15
  311. package/dist/utilities/with-translations.js.map +1 -1
  312. package/package.json +29 -3
@@ -318,8 +318,8 @@ declare module 'vue' {
318
318
  };
319
319
 
320
320
  type NLDDButtonProps = {
321
- /** Button variant: 'primary' | 'secondary' | 'destructive' | 'accent-filled' | 'accent-transparent' | 'neutral-tinted' | 'neutral-base' | 'neutral-transparent' | 'critical-tinted' | 'critical-transparent' | 'inherit-filled' | 'inherit-tinted'. The inherit variants derive their colors from currentColor, for buttons on colored surfaces; inherit-filled uses the surface color (--context-parent-background-color) as the label color, with a white/black contrast flip as a fallback. */
322
- 'variant'?: NLDDButton['variant'];
321
+ /** Visual style, color included: 'primary' | 'secondary' | 'destructive' | 'accent-filled' | 'accent-transparent' | 'neutral-tinted' | 'neutral-base' | 'neutral-transparent' | 'critical-tinted' | 'critical-transparent' | 'inherit-filled' | 'inherit-tinted'. The inherit appearances derive their colors from currentColor, for buttons on colored surfaces; inherit-filled uses the surface color (--context-parent-background-color) as the label color, with a white/black contrast flip as a fallback. */
322
+ 'appearance'?: NLDDButton['appearance'];
323
323
  /** Button size: 'xs' | 'sm' | 'md' | 'lg' (default: 'md'). 'lg' uses larger text and 24px start/end icons. */
324
324
  'size'?: NLDDButton['size'];
325
325
  /** Horizontal alignment of the button content: 'left' | 'center' | 'right' (default: unset, centered). Most visible with width="full" or a fixed width. */
@@ -350,6 +350,10 @@ declare module 'vue' {
350
350
  'popovertarget'?: NLDDButton['popovertarget'];
351
351
  /** Loading state (default: false). Shows an activity indicator over the visually hidden content, sets aria-busy on the inner control and blocks activation, without dropping the button from the tab order (unlike disabled). The content stays laid out, so the button keeps its width. */
352
352
  'loading'?: NLDDButton['loading'];
353
+ /** What the screen reader announces while `loading` is on, for a button that does more than load: "Aan het bewaren". Leave it out and the activity indicator says its translated "Laden". */
354
+ 'loading-text'?: NLDDButton['loadingText'];
355
+ /** What the screen reader announces while `loading` is on, for a button that does more than load: "Aan het bewaren". Leave it out and the activity indicator says its translated "Laden". */
356
+ 'loadingText'?: NLDDButton['loadingText'];
353
357
  /** Disabled state */
354
358
  'disabled'?: NLDDButton['disabled'];
355
359
  /** Button text */
@@ -362,9 +366,9 @@ declare module 'vue' {
362
366
  'single-line'?: NLDDButton['singleLine'];
363
367
  /** When true, truncates overflowing text with an ellipsis instead of letting it wrap. Requires the button (or an ancestor) to constrain the width. */
364
368
  'singleLine'?: NLDDButton['singleLine'];
365
- /** Removes the per-variant highlight border (e.g. when nldd-button-bar draws a single group border instead). */
369
+ /** Removes the per-appearance highlight border (e.g. when nldd-button-bar draws a single group border instead). */
366
370
  'no-highlight-border'?: NLDDButton['noHighlightBorder'];
367
- /** Removes the per-variant highlight border (e.g. when nldd-button-bar draws a single group border instead). */
371
+ /** Removes the per-appearance highlight border (e.g. when nldd-button-bar draws a single group border instead). */
368
372
  'noHighlightBorder'?: NLDDButton['noHighlightBorder'];
369
373
  /** Icon name for the start icon (before text) */
370
374
  'start-icon'?: NLDDButton['startIcon'];
@@ -399,8 +403,8 @@ declare module 'vue' {
399
403
  type NLDDButtonBarProps = {
400
404
  /** Bar size: 'xs' | 'sm' | 'md' | 'lg' (default: 'md'). At 'lg', icon-button children stack their label below the icon (mobile action-bar style). */
401
405
  'size'?: NLDDButtonBar['size'];
402
- /** Button variant (default: 'neutral-tinted') */
403
- 'variant'?: NLDDButtonBar['variant'];
406
+ /** Visual style of the buttons (default: 'neutral-tinted'; 'inherit-tinted' and 'inherit-filled' for a colored surface) */
407
+ 'appearance'?: NLDDButtonBar['appearance'];
404
408
  /** Disabled state */
405
409
  'disabled'?: NLDDButtonBar['disabled'];
406
410
  };
@@ -543,7 +547,7 @@ declare module 'vue' {
543
547
  /** 'none' (fixed) | 'vertical' (drag) | 'auto' (grow, default) */
544
548
  'resize'?: NLDDCodeEditor['resize'];
545
549
  /** 'simple' (default, bare) | 'input-field' (framed surface) */
546
- 'variant'?: NLDDCodeEditor['variant'];
550
+ 'appearance'?: NLDDCodeEditor['appearance'];
547
551
  /** Highlight grammar (yaml, json, javascript, typescript, css, html, xml, bash, markdown, rust, gherkin, toml, sql, python). Empty disables highlighting. */
548
552
  'language'?: NLDDCodeEditor['language'];
549
553
  /** Show a line-number gutter */
@@ -567,7 +571,7 @@ declare module 'vue' {
567
571
 
568
572
  type NLDDCodeViewerProps = {
569
573
  /** Visual style. The two `box` values are a framed card with rounded corners, padding, fill, and a 1px border ring, and differ in which surface they fill with; `box-tinted` is the default. `simple` drops the entire frame — use when embedding inside a parent surface. */
570
- 'variant'?: NLDDCodeViewer['variant'];
574
+ 'appearance'?: NLDDCodeViewer['appearance'];
571
575
  /** Grammar to highlight with. Empty disables highlighting. */
572
576
  'language'?: NLDDCodeViewer['language'];
573
577
  /** Hide the copy-to-clipboard button (shown by default). */
@@ -638,10 +642,14 @@ declare module 'vue' {
638
642
  'disabled'?: NLDDComboBox['disabled'];
639
643
  /** Read-only state: the value stays readable, selectable and in the tab order, but the menu does not open and there is nothing to clear. The input drops its combobox role and the aria that goes with it, so assistive technology is not told about a list it cannot open. Use this where the value belongs to the record rather than to the form, e.g. the product an asset is an instance of. */
640
644
  'readonly'?: NLDDComboBox['readonly'];
641
- /** Allow committing free-typed values that match no option (Enter/blur). Default false: only menu options are accepted. */
645
+ /** Allow committing free-typed values that match no option (Enter/blur). Default false: only menu options are accepted. Typing an option's label in full picks that option, ignoring case and the spaces around it; with two such labels, the first one. */
642
646
  'allow-custom'?: NLDDComboBox['allowCustom'];
643
- /** Allow committing free-typed values that match no option (Enter/blur). Default false: only menu options are accepted. */
647
+ /** Allow committing free-typed values that match no option (Enter/blur). Default false: only menu options are accepted. Typing an option's label in full picks that option, ignoring case and the spaces around it; with two such labels, the first one. */
644
648
  'allowCustom'?: NLDDComboBox['allowCustom'];
649
+ /** Leaves the options as they are while typing, for a list your server already filtered per keystroke. Without it the field hides options that do not contain the typed text, which also hides a server match on, say, an e-mail address. */
650
+ 'no-filter'?: NLDDComboBox['noFilter'];
651
+ /** Leaves the options as they are while typing, for a list your server already filtered per keystroke. Without it the field hides options that do not contain the typed text, which also hides a server match on, say, an e-mail address. */
652
+ 'noFilter'?: NLDDComboBox['noFilter'];
645
653
  /** Input name for form submission */
646
654
  'name'?: NLDDComboBox['name'];
647
655
  /** Browser autofill hint. Default 'off' to prevent the native autofill panel from competing with the menu dropdown. Set to a valid token (e.g. 'country', 'organization') when browser autofill is desired. */
@@ -1247,8 +1255,8 @@ declare module 'vue' {
1247
1255
  };
1248
1256
 
1249
1257
  type NLDDIconButtonProps = {
1250
- /** Button variant: 'accent-filled' | 'accent-transparent' | 'neutral-tinted' | 'neutral-transparent' | 'critical-tinted' | 'critical-transparent' | 'inherit-filled' | 'inherit-tinted' | 'primary' | 'secondary' | 'destructive'. The inherit variants derive their colors from currentColor, for buttons on colored surfaces. */
1251
- 'variant'?: NLDDIconButton['variant'];
1258
+ /** Visual style, color included: 'accent-filled' | 'accent-transparent' | 'neutral-tinted' | 'neutral-transparent' | 'critical-tinted' | 'critical-transparent' | 'inherit-filled' | 'inherit-tinted' | 'primary' | 'secondary' | 'destructive'. The inherit appearances derive their colors from currentColor, for buttons on colored surfaces. */
1259
+ 'appearance'?: NLDDIconButton['appearance'];
1252
1260
  /** Button size: 'xs' | 'sm' | 'md' | 'lg' (default: 'md') */
1253
1261
  'size'?: NLDDIconButton['size'];
1254
1262
  /** In lg size, hides the text label and enlarges the icon by one step (28px) */
@@ -1257,11 +1265,15 @@ declare module 'vue' {
1257
1265
  'hideLgText'?: NLDDIconButton['hideLgText'];
1258
1266
  /** Loading state (default: false). Shows an activity indicator over the visually hidden icon, sets aria-busy on the inner control and blocks activation, without dropping the button from the tab order (unlike disabled). */
1259
1267
  'loading'?: NLDDIconButton['loading'];
1268
+ /** What the screen reader announces while `loading` is on, for a button that does more than load: "Aan het bewaren". Leave it out and the activity indicator says its translated "Laden". */
1269
+ 'loading-text'?: NLDDIconButton['loadingText'];
1270
+ /** What the screen reader announces while `loading` is on, for a button that does more than load: "Aan het bewaren". Leave it out and the activity indicator says its translated "Laden". */
1271
+ 'loadingText'?: NLDDIconButton['loadingText'];
1260
1272
  /** Disabled state */
1261
1273
  'disabled'?: NLDDIconButton['disabled'];
1262
- /** Removes the per-variant highlight border (e.g. when a control group draws a single border instead). */
1274
+ /** Removes the per-appearance highlight border (e.g. when a control group draws a single border instead). */
1263
1275
  'no-highlight-border'?: NLDDIconButton['noHighlightBorder'];
1264
- /** Removes the per-variant highlight border (e.g. when a control group draws a single border instead). */
1276
+ /** Removes the per-appearance highlight border (e.g. when a control group draws a single border instead). */
1265
1277
  'noHighlightBorder'?: NLDDIconButton['noHighlightBorder'];
1266
1278
  /** Button type for form submission: 'button' | 'submit' | 'reset' (ignored when href is set) */
1267
1279
  'type'?: NLDDIconButton['type'];
@@ -1465,7 +1477,7 @@ declare module 'vue' {
1465
1477
  /** Size: 'sm' | 'md' | 'inherit' (default: 'md'). 'inherit' takes the font-size from the container; in the box variant the keycaps then scale along in em. */
1466
1478
  'size'?: NLDDKeyboardShortcut['size'];
1467
1479
  /** 'box' (default) shows each key as a keycap with a fill and a highlight edge. 'simple' shows the keys as plain text with separators: lighter, for inline use such as in a menu item. */
1468
- 'variant'?: NLDDKeyboardShortcut['variant'];
1480
+ 'appearance'?: NLDDKeyboardShortcut['appearance'];
1469
1481
  /** 'neutral' (default) uses the component colors of its own. 'inherit' lets the keys and separators follow the surrounding text color (currentColor), with a translucent contrast fill and highlight edge. Useful on a filled surface color or a highlighted row. */
1470
1482
  'color'?: NLDDKeyboardShortcut['color'];
1471
1483
  /** Show on touch-only devices too, where shortcuts cannot be invoked. */
@@ -1509,7 +1521,7 @@ declare module 'vue' {
1509
1521
 
1510
1522
  type NLDDListProps = {
1511
1523
  /** Visual style (default 'simple'): `simple` is a plain vertical strip with no chrome, the two `box` values a framed card with rounded corners, fill and inset border ring. `box-tinted` for a list on a plain page, `box-base` for one on an already-tinted parent (the border ring gets +2 palette steps so it still reads against a card-on-card) */
1512
- 'variant'?: NLDDList['variant'];
1524
+ 'appearance'?: NLDDList['appearance'];
1513
1525
  /** A11y role and behavior (default 'list'). See the docblock above. */
1514
1526
  'type'?: NLDDList['type'];
1515
1527
  /** When to draw the lines between the items (default 'always'). `on-touch` draws them only where the primary input is touch, under `(pointer: coarse)`: a pointer has the hover highlight to tell one row from the next and a finger has nothing, so the line earns its place in the one case and is clutter in the other. `never` hides them everywhere */
@@ -1734,7 +1746,7 @@ declare module 'vue' {
1734
1746
  'shortcutMac'?: NLDDMenuItem['shortcutMac'];
1735
1747
  /** Optional link target. A plain button item with an href renders as an `<a>` so it is a real link (middle-click, open in new tab, copy link). Ignored for submenu openers, checkbox/radio items, and while disabled. */
1736
1748
  'href'?: NLDDMenuItem['href'];
1737
- /** Item type: 'button' | 'checkbox' | 'radio'. Default: 'button'. */
1749
+ /** Item type: 'button' | 'checkbox' | 'radio'. Default: 'button'. One checkbox or radio item gives every item in its menu the check-mark column, so the text of the whole menu starts at one line, as in a native menu. Submenus decide for themselves. */
1738
1750
  'type'?: NLDDMenuItem['type'];
1739
1751
  /** Selected state for checkbox and radio types. */
1740
1752
  'selected'?: NLDDMenuItem['selected'];
@@ -1756,6 +1768,8 @@ declare module 'vue' {
1756
1768
  'shortcutLinux'?: NLDDMenuItem['shortcutLinux'];
1757
1769
  /** Which menu owns this item, set by that nldd-menu. Not part of the public API. `null` until one claims it, and an unclaimed item carries no menu role. A menu role is a promise about what is around you, so an item cannot make it on its own. `nldd-toolbar-item` holds exactly such an item: the declaration of what belongs in the overflow menu, which the toolbar clones into the real menu when it collapses. The clone is claimed there and the declaration stays what it is. */
1758
1770
  'menuVariant'?: NLDDMenuItem['menuVariant'];
1771
+ /** Whether this item keeps the check-mark column free without being checkable, because another item in its menu is. Set by that nldd-menu. Not part of the public API. */
1772
+ 'checkColumn'?: NLDDMenuItem['checkColumn'];
1759
1773
  'onMenuItemFocused'?: (event: CustomEvent) => void;
1760
1774
  'onSubmenuOpen'?: (event: CustomEvent) => void;
1761
1775
  /** Fired when the item is clicked and not disabled. */
@@ -2180,7 +2194,7 @@ declare module 'vue' {
2180
2194
 
2181
2195
  type NLDDProgressBarProps = {
2182
2196
  /** Semantics for ARIA and visualization (default: 'progress') */
2183
- 'mode'?: NLDDProgressBar['mode'];
2197
+ 'variant'?: NLDDProgressBar['variant'];
2184
2198
  /** Total value (default: 100) */
2185
2199
  'max'?: NLDDProgressBar['max'];
2186
2200
  /** Single-segment shorthand (ignored when segment children are present) */
@@ -2228,7 +2242,7 @@ declare module 'vue' {
2228
2242
 
2229
2243
  type NLDDProgressCircleProps = {
2230
2244
  /** Semantics for ARIA and gap behavior (default: 'progress') */
2231
- 'mode'?: NLDDProgressCircle['mode'];
2245
+ 'variant'?: NLDDProgressCircle['variant'];
2232
2246
  /** Total value (default: 100) */
2233
2247
  'max'?: NLDDProgressCircle['max'];
2234
2248
  /** Single-segment shorthand (ignored when segment children exist) */
@@ -2415,6 +2429,8 @@ declare module 'vue' {
2415
2429
  'invalid'?: NLDDSegmentedControl['invalid'];
2416
2430
  /** Selected value for radio type */
2417
2431
  'value'?: NLDDSegmentedControl['value'];
2432
+ /** Visual style, color included: 'neutral-tinted' | 'neutral-base' (default: 'neutral-tinted'). neutral-base is for a tinted surface. For a quiet row without a track, use nldd-toggle-button-group with type="radio" and a transparent appearance. */
2433
+ 'appearance'?: NLDDSegmentedControl['appearance'];
2418
2434
  /** Control size: 'sm' | 'md' | 'lg' (default: 'md') */
2419
2435
  'size'?: NLDDSegmentedControl['size'];
2420
2436
  /** Selection mode: 'radio' | 'checkbox' (default: 'radio'). */
@@ -2451,6 +2467,8 @@ declare module 'vue' {
2451
2467
  'selected'?: NLDDSegmentedControlItem['selected'];
2452
2468
  /** Disabled state */
2453
2469
  'disabled'?: NLDDSegmentedControlItem['disabled'];
2470
+ /** Visual style: 'neutral-tinted' | 'neutral-base' (default: 'neutral-tinted'). Set by nldd-segmented-control. */
2471
+ 'appearance'?: NLDDSegmentedControlItem['appearance'];
2454
2472
  /** Control size: 'sm' | 'md' | 'lg' (default: 'md'). Set by nldd-segmented-control. */
2455
2473
  'size'?: NLDDSegmentedControlItem['size'];
2456
2474
  /** Content type: 'text' | 'icon' | 'icon-and-text' (default: 'text'). Set by nldd-segmented-control. */
@@ -2643,8 +2661,8 @@ declare module 'vue' {
2643
2661
  type NLDDSplitButtonProps = {
2644
2662
  /** Button size: 'xs' | 'sm' | 'md' | 'lg' (default: 'md') */
2645
2663
  'size'?: NLDDSplitButton['size'];
2646
- /** Button variant (default: 'neutral-tinted') */
2647
- 'variant'?: NLDDSplitButton['variant'];
2664
+ /** Visual style (default: 'neutral-tinted'; 'inherit-tinted' and 'inherit-filled' for a colored surface) */
2665
+ 'appearance'?: NLDDSplitButton['appearance'];
2648
2666
  /** Disabled state */
2649
2667
  'disabled'?: NLDDSplitButton['disabled'];
2650
2668
  /** Width mode: 'full' (stretches to container) or any CSS length; the main action button fills the available space */
@@ -2982,6 +3000,10 @@ declare module 'vue' {
2982
3000
  'readonly'?: NLDDTextEditor['readonly'];
2983
3001
  /** Required state */
2984
3002
  'required'?: NLDDTextEditor['required'];
3003
+ /** Turns spellchecking off. It is on by default, like the other text fields, and leaves out what is not running text: inline code and code blocks, the address of a link and a bare URL (the link text is checked), and mentions. Autocorrect and autocapitalize follow the user's own settings, as in the other fields, also with `no-spellcheck`. Two limits come from the browser: text that was already there is checked once you edit near it, not when the editor opens (the editor lives in a shadow root; Firefox only checks around the caret), and markup that changes how a line is built, such as starting a list item, hides the underlines on that line until you type on. */
3004
+ 'no-spellcheck'?: NLDDTextEditor['noSpellcheck'];
3005
+ /** Turns spellchecking off. It is on by default, like the other text fields, and leaves out what is not running text: inline code and code blocks, the address of a link and a bare URL (the link text is checked), and mentions. Autocorrect and autocapitalize follow the user's own settings, as in the other fields, also with `no-spellcheck`. Two limits come from the browser: text that was already there is checked once you edit near it, not when the editor opens (the editor lives in a shadow root; Firefox only checks around the caret), and markup that changes how a line is built, such as starting a list item, hides the underlines on that line until you type on. */
3006
+ 'noSpellcheck'?: NLDDTextEditor['noSpellcheck'];
2985
3007
  /** Wrap long lines (default true; prose wraps) */
2986
3008
  'wrap'?: NLDDTextEditor['wrap'];
2987
3009
  /** Minimum visible rows (the floor in every resize mode). Default: 6. */
@@ -2989,7 +3011,7 @@ declare module 'vue' {
2989
3011
  /** 'none' (fixed) | 'vertical' (drag) | 'auto' (grow, default) */
2990
3012
  'resize'?: NLDDTextEditor['resize'];
2991
3013
  /** 'simple' (default, bare) | 'input-field' (framed surface) */
2992
- 'variant'?: NLDDTextEditor['variant'];
3014
+ 'appearance'?: NLDDTextEditor['appearance'];
2993
3015
  /** Accessible label forwarded to the editor. Set automatically by nldd-form-field. */
2994
3016
  'accessible-label'?: NLDDTextEditor['accessibleLabel'];
2995
3017
  /** Accessible label forwarded to the editor. Set automatically by nldd-form-field. */
@@ -3002,6 +3024,10 @@ declare module 'vue' {
3002
3024
  'invalid'?: NLDDTextEditor['invalid'];
3003
3025
  /** Consumer-supplied */
3004
3026
  'mentionSource'?: NLDDTextEditor['mentionSource'];
3027
+ /** What may follow the `@` of a mention, as a regular expression without anchors or capturing groups. Property only. Without it: letters with any accent, digits, `_`, `.`, `+` and `-`. Allow one space to search on a full name: `'[\\p{L}\\p{M}\\p{N}_.+-]*(?: [\\p{L}\\p{M}\\p{N}_.+-]+)?'`. */
3028
+ 'mentionQuery'?: NLDDTextEditor['mentionQuery'];
3029
+ /** What to say when the */
3030
+ 'mentionEmptyText'?: NLDDTextEditor['mentionEmptyText'];
3005
3031
  /** Your own typeahead lists next to the */
3006
3032
  'typeaheads'?: NLDDTextEditor['typeaheads'];
3007
3033
  /** Consumer-supplied annotations (W3C-style overlay). Property only (set via JS). Render only when `annotatable` is on. The text stays clean; these render as a light tint and a count badge, anchored by offset and mapped through edits. IMPORTANT: assign a NEW array to apply changes. Lit dirty-checks this property by identity, so mutating the existing array in place (`editor.annotations.push(next)`, `editor.annotations[0].end = 9`, …) does NOT trigger a re-render. Always replace it: `editor.annotations = [...editor.annotations, next]`. */
@@ -3164,16 +3190,16 @@ declare module 'vue' {
3164
3190
 
3165
3191
  type NLDDTimelineTrackCellProps = {
3166
3192
  /** What stands in the lane: a whole dot (`major`, the default), a smaller one for a row that belongs under the one above it (`minor`), or nothing at all (`none`) for a row that carries what a step holds rather than being a step. A `none` row keeps its `size` and its `status`, so it stays in the same lane and the track runs on in the right color */
3167
- 'variant'?: NLDDTimelineTrackCell['variant'];
3193
+ 'level'?: NLDDTimelineTrackCell['level'];
3168
3194
  /** How far along this row is (default 'past'); the same values as `nldd-step-indicator-item`. It colors the dot and the track around it: covered above where you are, still ahead below */
3169
3195
  'status'?: NLDDTimelineTrackCell['status'];
3170
3196
  /** How wide the lane is and so how big the dot: `sm` (default, 16px) for a timeline of events, `md` (24px) where a number or an icon has to fit. Every row in one list takes the same size, or the track jumps */
3171
3197
  'size'?: NLDDTimelineTrackCell['size'];
3172
3198
  /** The direction the timeline moves forward in: `down` (default) puts the past above, `up` below. Only the current step has half a track, so this only has an effect there */
3173
3199
  'direction'?: NLDDTimelineTrackCell['direction'];
3174
- /** Place in the series (default 'between'): decides whether the line continues above the dot, below it, or on both sides. `only` is the single row in the series and gets a line on neither side: a track of one dot leads nowhere. On a `variant="none"` row, which is nothing but line, `only` leaves it out altogether: the track ends above it */
3200
+ /** Place in the series (default 'between'): decides whether the line continues above the dot, below it, or on both sides. `only` is the single row in the series and gets a line on neither side: a track of one dot leads nowhere. On a `level="none"` row, which is nothing but line, `only` leaves it out altogether: the track ends above it */
3175
3201
  'position'?: NLDDTimelineTrackCell['position'];
3176
- /** Which halves of the track you have covered, when `status` and `direction` get it wrong (default 'auto', which is what those two say). The halves you name are drawn as covered and the other one as still ahead, so `none` covers neither. Which halves are drawn at all stays with `position`, except that naming a half draws it: `line="both"` on a `first` row draws one above too. A row that opens a group of its own is the case for `both`, since the going carries on below it. A `variant="none"` row has one line rather than two halves, and no point where a fill could change over, so there the status colors the whole of it and `line` overrules the whole of it. On a `current` row that leans the way the timeline runs: what belongs to a point usually comes after it, so going `down` the stretch reads as still ahead and going `up` as behind you */
3202
+ /** Which halves of the track you have covered, when `status` and `direction` get it wrong (default 'auto', which is what those two say). The halves you name are drawn as covered and the other one as still ahead, so `none` covers neither. Which halves are drawn at all stays with `position`, except that naming a half draws it: `line="both"` on a `first` row draws one above too. A row that opens a group of its own is the case for `both`, since the going carries on below it. A `level="none"` row has one line rather than two halves, and no point where a fill could change over, so there the status colors the whole of it and `line` overrules the whole of it. On a `current` row that leans the way the timeline runs: what belongs to a point usually comes after it, so going `down` the stretch reads as still ahead and going `up` as behind you */
3177
3203
  'line'?: NLDDTimelineTrackCell['line'];
3178
3204
  /** Number or short text in the dot */
3179
3205
  'text'?: NLDDTimelineTrackCell['text'];
@@ -3262,6 +3288,8 @@ declare module 'vue' {
3262
3288
  'required'?: NLDDToggleButton['required'];
3263
3289
  /** What the button is: a button with aria-pressed, a native checkbox, or a radio (default: 'button') */
3264
3290
  'type'?: NLDDToggleButton['type'];
3291
+ /** Visual style, color included (default: 'neutral-tinted'). Selected is filled in each of them; the transparent ones are for a toggle among transparent buttons, and with a selected-icon they stay quiet when on. */
3292
+ 'appearance'?: NLDDToggleButton['appearance'];
3265
3293
  /** Button size (default: 'md') */
3266
3294
  'size'?: NLDDToggleButton['size'];
3267
3295
  /** Selected state */
@@ -3280,6 +3308,10 @@ declare module 'vue' {
3280
3308
  'text'?: NLDDToggleButton['text'];
3281
3309
  /** Icon name for nldd-icon */
3282
3310
  'icon'?: NLDDToggleButton['icon'];
3311
+ /** Icon shown instead of `icon` while selected, such as `check-mark` for `plus` or `heart-filled` for `heart`. The appearances with a surface fill it when on, as without one. The transparent appearances have no surface to fill: with a selected-icon they stay quiet when on and the change of shape says it is on; without one they fill, so the state always shows. */
3312
+ 'selected-icon'?: NLDDToggleButton['selectedIcon'];
3313
+ /** Icon shown instead of `icon` while selected, such as `check-mark` for `plus` or `heart-filled` for `heart`. The appearances with a surface fill it when on, as without one. The transparent appearances have no surface to fill: with a selected-icon they stay quiet when on and the change of shape says it is on; without one they fill, so the state always shows. */
3314
+ 'selectedIcon'?: NLDDToggleButton['selectedIcon'];
3283
3315
  /** What renders: text, icon, or both. Unset → auto-detect from text/icon attributes. */
3284
3316
  'variant'?: NLDDToggleButton['variant'];
3285
3317
  /** Accessible label; required for icon-only usage */
@@ -3302,6 +3334,8 @@ declare module 'vue' {
3302
3334
  'type'?: NLDDToggleButtonGroup['type'];
3303
3335
  /** Forwarded to all buttons */
3304
3336
  'name'?: NLDDToggleButtonGroup['name'];
3337
+ /** Forwarded to all buttons (default: 'neutral-tinted') */
3338
+ 'appearance'?: NLDDToggleButtonGroup['appearance'];
3305
3339
  /** Forwarded to all buttons (default: 'md') */
3306
3340
  'size'?: NLDDToggleButtonGroup['size'];
3307
3341
  /** Disables all buttons */
@@ -3358,10 +3392,14 @@ declare module 'vue' {
3358
3392
  'accessible-label'?: NLDDTokenField['accessibleLabel'];
3359
3393
  /** Accessible label forwarded as aria-label to the input */
3360
3394
  'accessibleLabel'?: NLDDTokenField['accessibleLabel'];
3361
- /** Allow free-typed values (not just menu options) */
3395
+ /** Allow free-typed values (not just menu options). Typing an option's label in full adds that option, with its value, ignoring case and the spaces around it; with two such labels, the first one. */
3362
3396
  'allow-custom'?: NLDDTokenField['allowCustom'];
3363
- /** Allow free-typed values (not just menu options) */
3397
+ /** Allow free-typed values (not just menu options). Typing an option's label in full adds that option, with its value, ignoring case and the spaces around it; with two such labels, the first one. */
3364
3398
  'allowCustom'?: NLDDTokenField['allowCustom'];
3399
+ /** Leaves the options as they are while typing, for a list your server already filtered per keystroke. Without it the field hides options that do not contain the typed text, which also hides a server match on, say, an e-mail address. */
3400
+ 'no-filter'?: NLDDTokenField['noFilter'];
3401
+ /** Leaves the options as they are while typing, for a list your server already filtered per keystroke. Without it the field hides options that do not contain the typed text, which also hides a server match on, say, an e-mail address. */
3402
+ 'noFilter'?: NLDDTokenField['noFilter'];
3365
3403
  /** Marks the field valid (shows the valid icon) */
3366
3404
  'valid'?: NLDDTokenField['valid'];
3367
3405
  /** Marks the field invalid (shows the invalid icon) */
@@ -3676,19 +3714,19 @@ declare module 'vue' {
3676
3714
  /** A single entry in an `nldd-breadcrumbs` list. Renders as a link when `href` is set, as plain text marked `aria-current="page"` when `current` is set, and as plain text otherwise. Each item renders its own trailing `›` separator; the last item in the list hides it via `:host(:last-of-type)`. */
3677
3715
  'nldd-breadcrumbs-item': DefineComponent<NLDDBreadcrumbsItemProps>;
3678
3716
  'nldd-button': DefineComponent<NLDDButtonProps>;
3679
- /** A horizontal container for grouping buttons with a neutral background. Automatically propagates its size and variant to all child nldd-button and nldd-icon-button elements. Renders nldd-button-bar-divider elements as internal dividers — no separate component needed. */
3717
+ /** A horizontal container for grouping buttons with a neutral background. Automatically propagates its size and appearance to all child nldd-button and nldd-icon-button elements. Renders nldd-button-bar-divider elements as internal dividers — no separate component needed. The bar is one surface for actions; on/off buttons do not go in it. For a row of toggles use nldd-toggle-button-group, and for one choice out of a few options on one surface nldd-segmented-control. An nldd-toggle-button placed here is shown as it is, and a warning says so in development. */
3680
3718
  'nldd-button-bar': DefineComponent<NLDDButtonBarProps>;
3681
3719
  'nldd-button-bar-divider': DefineComponent<anonymous_0Props>;
3682
3720
  /** A container for grouping related buttons together, in a row or stacked. `auto`, the default, is a row on a container wide enough for one and a stack over the full width below the sm breakpoint, where two labels beside each other leave no room for either. The group is its own container, so it follows the width it was given rather than the width of the window: the same group is a row in a page and a stack in a sheet beside it. Being a container has one consequence to know: the width has to come from the parent, since a container may not size itself from what is inside it. In a parent that shrink-wraps its content (an inline-flex box, a float, a table cell, a flex item at `width: auto`) the group measures zero and its buttons are invisible. It says so once in development. Give the group or that parent a width. A stack fills the width with its buttons, except an `nldd-icon-button`, which keeps its own size: a bar with a single glyph in the middle is not a bigger target, only a wider one. */
3683
3721
  'nldd-button-group': DefineComponent<NLDDButtonGroupProps>;
3684
- /** A visually bounded card with optional header, body and footer sections. The card is elevated by default. Padding is left to nested containers. With `href` the whole card becomes a link (an overlay anchor across the card), with `button` a button (an overlay button that fires a plain, composed `click`, so a click listener or htmx attribute on the card itself works directly, and Enter/Space work natively). `href` wins when both are set. Nested interactive content, footer buttons for instance, has to be lifted above it with `position: relative; z-index: 1` to stay clickable. */
3722
+ /** A visually bounded card with optional header, body and footer sections. The card is elevated by default. Padding is left to nested containers. With `href` the whole card becomes a link (an overlay anchor across the card), with `button` a button (an overlay button that fires a plain, composed `click`, so a click listener or htmx attribute on the card itself works directly, and Enter/Space work natively). `href` wins when both are set. Nested interactive content, footer buttons for instance, has to be lifted above it with `position: relative; z-index: 1` to stay clickable. A card that is a link or button steps its surface and border one shade up on hover and one more while pressed, as a neutral-base button does; content lifted above the overlay does not set it off. */
3685
3723
  'nldd-card': DefineComponent<NLDDCardProps>;
3686
3724
  /** A generic cell for wrapping arbitrary content in a list item. Controls vertical alignment and sizing without imposing content opinions. For more than a line of text, such as paragraphs or markup, put an `nldd-rich-text` in it rather than loose text in the row. `vertical-alignment="center"` (default) stretches the cell to fill the full row height and centers its content within that space. Use `min-height` to set a minimum centered region. For strict top alignment without a minimum height, use `vertical-alignment="top"`. */
3687
3725
  'nldd-cell': DefineComponent<NLDDCellProps>;
3688
3726
  'nldd-checkbox': DefineComponent<NLDDCheckboxProps>;
3689
3727
  /** A checkbox with an inline label for use in forms. Form-associated: participates in native form submission under `name` with `value` when checked (the inner nldd-checkbox sits in the shadow root and never joins the consumer's form; the field submits on its behalf). */
3690
3728
  'nldd-checkbox-field': DefineComponent<NLDDCheckboxFieldProps>;
3691
- /** A monospace editor for code, YAML, JSON and other technical content, built on CodeMirror 6 (via NLDDCodeMirrorElement). Visually pairs with nldd-code-viewer for a matching read-only surface. Default `variant="simple"` is a bare, flush editor (no frame, no focus ring) for use inside an nldd-form-field or a consumer composition that owns its own chrome and focus treatment; the caret is rendered as a prominent accent as the focus cue. `variant="input-field"` adds the framed surface (border ring, tinted fill, inner padding, radius) and a focus ring for standalone use. The simple variant has no surrounding space of its own: let a layout container own the spacing and forward clicks with `focusFromPoint()` so clicking the padding still starts editing. Optional `language` enables lazy syntax highlighting; `line-numbers` adds a gutter (click a number to move the caret to that line). */
3729
+ /** A monospace editor for code, YAML, JSON and other technical content, built on CodeMirror 6 (via NLDDCodeMirrorElement). Visually pairs with nldd-code-viewer for a matching read-only surface. Default `appearance="simple"` is a bare, flush editor (no frame, no focus ring) for use inside an nldd-form-field or a consumer composition that owns its own chrome and focus treatment; the caret is rendered as a prominent accent as the focus cue. `appearance="input-field"` adds the framed surface (border ring, tinted fill, inner padding, radius) and a focus ring for standalone use. The simple variant has no surrounding space of its own: let a layout container own the spacing and forward clicks with `focusFromPoint()` so clicking the padding still starts editing. Optional `language` enables lazy syntax highlighting; `line-numbers` adds a gutter (click a number to move the caret to that line). */
3692
3730
  'nldd-code-editor': DefineComponent<NLDDCodeEditorProps>;
3693
3731
  /** A read-only block of code/text built on a non-editable CodeMirror 6 view. Visually pairs with nldd-code-editor (same engine, same token palette). Whitespace is preserved; long lines scroll horizontally by default. Set `wrap` to break long lines onto the next visual line. Set `language` to one of the supported grammars (yaml, json, javascript, typescript, css, html, xml, bash, markdown, rust, gherkin, toml, sql, python) to highlight the content. Without `language` the content renders plain. Grammars are loaded lazily on first use, so a page that never sets `language` ships zero grammar code. Token colors are the `--components-code-viewer-token-*` custom properties (shared with the editor via the CodeMirror highlight style). Override them per-instance to swap the theme. */
3694
3732
  'nldd-code-viewer': DefineComponent<NLDDCodeViewerProps>;
@@ -3717,7 +3755,7 @@ declare module 'vue' {
3717
3755
  'nldd-file-field': DefineComponent<NLDDFileFieldProps>;
3718
3756
  /** Nederlandse Digitale Dienst Form Component Plain custom element (extends HTMLElement, no Lit), required for light-DOM autofill. Renders a real <form> element in the LIGHT DOM around its children. Chrome's autofill engine looks for native <input> elements that have a <form> ancestor in the light DOM; with shadow-DOM inputs it can't find them, so we keep this component shadow-less. **Differs from other nldd-* components:** - No shadowRoot: all children live in the light DOM (inside the inner <form>) - No Lit: a plain HTMLElement with manual attribute mirroring - **Requires a global stylesheet import**: the vertical rhythm rules live in `dist/css/form.css` (or `global.css`), not in a component-specific shadow stylesheet. Import it as part of your app's global CSS bundle. **When a field turns red:** on submit the form marks every control the browser rejects with `invalid`, and clears it again once the value passes. Setting `invalid` yourself is fine, but do it on submit, not while someone is still typing, or a field turns red over a value that is not finished yet. **Two usage modes:** 1. **Auto-wrap** (default): write children directly. Component creates a `<form>` element and migrates children into it via MutationObserver. Simplest API. 2. **User-provided form** (framework-friendly): write your own `<form>` as direct child. Component detects it, takes over attribute mirroring, and skips the migration. Children stay where your framework puts them, so there is no DOM shuffling to conflict with React/Vue/Angular reconciliation. **Framework interop:** In auto-wrap mode every direct child is moved into the inner form through a MutationObserver. That works fine for most React/Vue use cases, because frameworks only mutate the DOM when their virtual DOM changes. For edge cases (animation libraries that track DOM position, SSR hydration mismatches, frameworks that actively check sibling positions) use **user-provided form** mode instead. For programmatic manipulation, use the `form` getter so you work with the inner `<form>` element directly: const inner = document.querySelector('nldd-form').form; inner.checkValidity(); inner.appendChild(myInput); // skips the migration overhead */
3719
3757
  'nldd-form': DefineComponent<NLDDFormProps>;
3720
- /** A layout wrapper for the action buttons at the bottom of a form (typically a submit button or a button group). Follows the same responsive layout as `nldd-form-field`: with `label-alignment="right"` or `"left"` the content gets the same indent as the fields above it, thanks to a `::before` pseudo-element that acts as the spacer column where the label would sit. Inherits `label-alignment` automatically from a wrapping `<nldd-form>`: the form propagates its own `label-alignment` as `form-label-alignment` to descendant `nldd-form-actions` (and `nldd-form-field`) through a MutationObserver. An explicit `label-alignment` on the form-actions itself wins through the CSS cascade, and the form code never touches the `label-alignment` attribute of the descendant. <nldd-form label-alignment="right"> <nldd-form-field>...</nldd-form-field> <nldd-form-actions> <nldd-button-group> <nldd-button variant="primary" type="submit" text="Bewaar"></nldd-button> </nldd-button-group> </nldd-form-actions> </nldd-form> */
3758
+ /** A layout wrapper for the action buttons at the bottom of a form (typically a submit button or a button group). Follows the same responsive layout as `nldd-form-field`: with `label-alignment="right"` or `"left"` the content gets the same indent as the fields above it, thanks to a `::before` pseudo-element that acts as the spacer column where the label would sit. Inherits `label-alignment` automatically from a wrapping `<nldd-form>`: the form propagates its own `label-alignment` as `form-label-alignment` to descendant `nldd-form-actions` (and `nldd-form-field`) through a MutationObserver. An explicit `label-alignment` on the form-actions itself wins through the CSS cascade, and the form code never touches the `label-alignment` attribute of the descendant. <nldd-form label-alignment="right"> <nldd-form-field>...</nldd-form-field> <nldd-form-actions> <nldd-button-group> <nldd-button appearance="primary" type="submit" text="Bewaar"></nldd-button> </nldd-button-group> </nldd-form-actions> </nldd-form> */
3721
3759
  'nldd-form-actions': DefineComponent<NLDDFormActionsProps>;
3722
3760
  /** A field around one input: its label, supporting label, optional badge, validation and help text. It finds the input among its children, hands it the label as its accessible name and gives it an id, so you write no `for` or `id` yourself. Mark the optional fields with `optional`, not the required ones; the design guidelines say why. Put the requirements on a value in an nldd-validation-list inside the same field. What only your server knows, such as a password found in a breach, the app names in `unmet` on the input itself: see nldd-validation-list. */
3723
3761
  'nldd-form-field': DefineComponent<NLDDFormFieldProps>;
@@ -3790,10 +3828,10 @@ declare module 'vue' {
3790
3828
  'nldd-password-field': DefineComponent<NLDDPasswordFieldProps>;
3791
3829
  /** A non-modal floating panel anchored to a trigger element. Built on the native Popover API (popover="auto") with Floating UI for positioning. The browser handles opening, toggling and light dismiss; this component only handles positioning and focus. The recommended use is through popovertarget, so the browser owns the toggle: <nldd-button id="info-trigger" popovertarget="info-popover">Info</nldd-button> <nldd-popover id="info-popover" anchor="info-trigger" accessible-label="Info"> <nldd-container> <p>Content of the popover.</p> </nldd-container> </nldd-popover> To open it from your own state instead, bind `open` together with the close event: the popover clears `open` itself on light dismiss, Escape or a click on its anchor. It needs that anchor to open against. For a custom focus target inside the popover, put `autofocus` on the child you want. Without it the popover host itself takes focus. */
3792
3830
  'nldd-popover': DefineComponent<NLDDPopoverProps>;
3793
- /** Exports both NLDDProgressBar and NLDDProgressBarSegmentIndicator. A progress bar that supports a single value (loading-style) or multiple segments (multi-stage progress, or distribution like storage usage). The consumer provides raw values; the component computes percentages from `max`. Two modes: - `progress` (default): segments sum toward `max`; remaining space is empty track. ARIA reads "X% voltooid". - `distribution`: segments fill the bar; ARIA enumerates segments. If the sum of segment values exceeds `max`, segments are normalized proportionally to fit and a warning is logged. */
3831
+ /** Exports both NLDDProgressBar and NLDDProgressBarSegmentIndicator. A progress bar that supports a single value (loading-style) or multiple segments (multi-stage progress, or distribution like storage usage). The consumer provides raw values; the component computes percentages from `max`. Two variants: - `progress` (default): segments sum toward `max`; remaining space is empty track. ARIA reads "X% voltooid". - `distribution`: segments fill the bar; ARIA enumerates segments. If the sum of segment values exceeds `max`, segments are normalized proportionally to fit and a warning is logged. */
3794
3832
  'nldd-progress-bar': DefineComponent<NLDDProgressBarProps>;
3795
3833
  'nldd-progress-bar-segment-indicator': DefineComponent<NLDDProgressBarSegmentIndicatorProps>;
3796
- /** Exports both NLDDProgressCircle and NLDDProgressCircleSegmentIndicator. A circular progress indicator that mirrors the API of nldd-progress-bar: single-value or multi-segment, progress or distribution mode, 24 colors, fade transitions between determinate/indeterminate, indeterminate indicator. Visual differences vs the bar: - SVG arcs instead of rectangular bars. - Label below the circle (not above). - No center text; the consumer can wrap the circle if needed. - One combined tooltip on the whole circle showing all segment info (no per-segment tooltips). - Indeterminate uses a rotating elastic arc (Material-style) instead of the bar's Knight Rider scanner. */
3834
+ /** Exports both NLDDProgressCircle and NLDDProgressCircleSegmentIndicator. A circular progress indicator that mirrors the API of nldd-progress-bar: single-value or multi-segment, progress or distribution variant, 24 colors, fade transitions between determinate/indeterminate, indeterminate indicator. Visual differences vs the bar: - SVG arcs instead of rectangular bars. - Label below the circle (not above). - No center text; the consumer can wrap the circle if needed. - One combined tooltip on the whole circle showing all segment info (no per-segment tooltips). - Indeterminate uses a rotating elastic arc (Material-style) instead of the bar's Knight Rider scanner. */
3797
3835
  'nldd-progress-circle': DefineComponent<NLDDProgressCircleProps>;
3798
3836
  'nldd-progress-circle-segment-indicator': DefineComponent<NLDDProgressCircleSegmentIndicatorProps>;
3799
3837
  /** WAI-ARIA: put the buttons of one group in a container with role="radiogroup" and a name of its own. A screen reader counts the options from that container, so a bare <fieldset> (which is a group, not a radiogroup) leaves them uncounted. nldd-radio-button-group does this for you. Radio buttons with the same name, in the same form and the same tree, form one group the way native radios do: checking one unchecks the others, the arrow keys move between them, Tab stops at the group once, and a screen reader hears each one's place in it. The element itself is the radio, because an input per shadow root would leave every button a group of one. The shape is all this component draws. A radio with a label beside it is nldd-radio-button-field. <fieldset role="radiogroup" aria-labelledby="options-label"> <legend id="options-label">Kies een optie</legend> <nldd-radio-button name="options" value="1" accessible-label="Optie 1"></nldd-radio-button> <nldd-radio-button name="options" value="2" accessible-label="Optie 2"></nldd-radio-button> </fieldset> */
@@ -3855,26 +3893,26 @@ declare module 'vue' {
3855
3893
  'nldd-text': DefineComponent<NLDDTextProps>;
3856
3894
  /** A cell component for displaying text content in lists with configurable alignment, size and color. This is the most fundamental list cell component. `vertical-alignment="center"` (default) stretches the cell to fill the full row height and centers its content within that space. Use `min-height` to set a minimum centered region. For strict top alignment without a minimum height, use `vertical-alignment="top"`. Each text region (overline, main text, supporting text) accepts either a string attribute or slotted DOM content. The slot is the source of truth: if the consumer provides slotted content, it replaces the attribute-based render for that region. Use slots when you need inline elements like `<nldd-tag>`, `<a>` or `<nldd-icon>` mixed with text. Note that `query` highlighting and `**bold**` parsing only apply to the attribute path — slotted content is rendered as-is. */
3857
3895
  'nldd-text-cell': DefineComponent<NLDDTextCellProps>;
3858
- /** A hybrid markdown editor built on CodeMirror 6 (via NLDDCodeMirrorElement): the document stays plain markdown text, but formatting is shown inline (bold is bold, headings are larger, links are colored) while the syntax markers stay visible, only dimmed — the iA Writer / Kirby approach. No WYSIWYG tree, so the data stays portable. Default `variant="simple"` is bare (no frame, no focus ring) for use inside a composition (e.g. a message field) that owns its chrome and focus; the caret is a prominent accent. `variant="input-field"` adds a framed surface + focus Headless: there is no built-in toolbar. A consumer drives formatting via the command methods (toggleBold/toggleItalic/toggleInlineCode/toggleStrikethrough/ toggleHeading/toggleBulletList/toggleTaskList/toggleQuote/toggleLink/runCommand to toggle, and setHeading/setList for picker-style "set" semantics), reads the active formats with getState(), listens to the nldd-text-editor-state event to render toggle states, and forwards padding clicks with focusFromPoint(). Cmd/Ctrl+B/I/E/K are bound out of the box. Commands keep focus on the editor. An inline toggle wraps the selected text (whitespace at its edges stays outside the markers), unwraps a run the caret is in, and with the caret at the very end of a run steps out of it. Bold that a typed space has broken (`**woord **`) keeps its styling while the caret is inside; the space moves outside the markers when the caret leaves. insertAtCursor(text) puts text at the caret and replaceRange(from, to, text) writes at the same clean offsets getSelection() reads. An @-mention typeahead (mentionSource) collapses to an atomic token, further typeahead lists on their own trigger (typeaheads) write what you tell them to, and a W3C-style annotation overlay (annotations) marks ranges with a dashed underline, light tint and a count badge without touching the underlying text. */
3896
+ /** A hybrid markdown editor built on CodeMirror 6 (via NLDDCodeMirrorElement): the document stays plain markdown text, but formatting is shown inline (bold is bold, headings are larger, links are colored) while the syntax markers stay visible, only dimmed — the iA Writer / Kirby approach. No WYSIWYG tree, so the data stays portable. Default `appearance="simple"` is bare (no frame, no focus ring) for use inside a composition (e.g. a message field) that owns its chrome and focus; the caret is a prominent accent. `appearance="input-field"` adds a framed surface + focus Headless: there is no built-in toolbar. A consumer drives formatting via the command methods (toggleBold/toggleItalic/toggleInlineCode/toggleStrikethrough/ toggleHeading/toggleBulletList/toggleTaskList/toggleQuote/toggleLink/runCommand to toggle, and setHeading/setList for picker-style "set" semantics), reads the active formats with getState(), listens to the nldd-text-editor-state event to render toggle states, and forwards padding clicks with focusFromPoint(). Cmd/Ctrl+B/I/E/K are bound out of the box. Commands keep focus on the editor. An inline toggle wraps the selected text (whitespace at its edges stays outside the markers), unwraps a run the caret is in, and with the caret at the very end of a run steps out of it. Bold that a typed space has broken (`**woord **`) keeps its styling while the caret is inside; the space moves outside the markers when the caret leaves. insertAtCursor(text) puts text at the caret and replaceRange(from, to, text) writes at the same clean offsets getSelection() reads. An @-mention typeahead (mentionSource) collapses to an atomic token, further typeahead lists on their own trigger (typeaheads) write what you tell them to, and a W3C-style annotation overlay (annotations) marks ranges with a dashed underline, light tint and a count badge without touching the underlying text. */
3859
3897
  'nldd-text-editor': DefineComponent<NLDDTextEditorProps>;
3860
3898
  'nldd-text-field': DefineComponent<NLDDTextFieldProps>;
3861
3899
  /** A text field for a time. The value is always 24-hour `HH:mm`, which is how Dutch shows it too, so unlike nldd-date-field there is nothing to convert. Typing is not masked: input is accepted generously and normalized only when the field is left. Error messages belong to nldd-form-field, not here. This field reflects only `invalid` / `valid`, like nldd-text-field. What you do in the picker is a preview until you leave it. The field shows the time right away but commits it on close. "Klaar" and Enter keep the choice, and so does a click outside once you have picked something. Cancel and Escape put the old time back. On an empty field the wheels open at `min`, or otherwise at the current time rounded to `step`, which does not fill in the field yet. */
3862
3900
  'nldd-time-field': DefineComponent<NLDDTimeFieldProps>;
3863
3901
  /** Two columns, hours and minutes, that slide like a wheel past the selection in the middle. The component works on its own (inline on a page, in a filter panel) and also sits in the popover of nldd-time-field. Values are always 24-hour `HH:mm`. Scrolling is choosing: whatever comes to rest in the middle is the value. The keyboard drives that same selection, because that is what a wheel is: hour and minute are each a spinbutton. The columns underneath are aria-hidden, so the same values are not read out twice. */
3864
3902
  'nldd-time-picker': DefineComponent<NLDDTimePickerProps>;
3865
- /** A cell component for displaying timeline track indicators in lists. Shows a vertical line with a dot indicating timeline position and state. The row's block padding belongs to the cell itself (via `--context-cell-padding-block`), so the line spans the cell's own box edge to edge and consecutive steps connect without gaps. By default the cell is a bare track: a line with a dot per row, for a timeline of events. With `variant="step"` the dot grows big enough for a number or an icon and you have a list of steps under each other, the vertical counterpart of `nldd-step-indicator`. The size belongs to the variant rather than to the content: every dot in a list is the same size, or the track would jump. */
3903
+ /** A cell component for displaying timeline track indicators in lists. Shows a vertical line with a dot indicating timeline position and state. The row's block padding belongs to the cell itself (via `--context-cell-padding-block`), so the line spans the cell's own box edge to edge and consecutive steps connect without gaps. By default the cell is a bare track: a line with a dot per row, for a timeline of events. With `size="md"` the dot grows big enough for a number or an icon and you have a list of steps under each other, the vertical counterpart of `nldd-step-indicator`. The size belongs to the lane rather than to the content: every dot in a list is the same size, or the track would jump. */
3866
3904
  'nldd-timeline-track-cell': DefineComponent<NLDDTimelineTrackCellProps>;
3867
3905
  /** A title bar with an optional overline, title, and supporting text on the left, and a slot at the end of the title line on the right. The title comes from `text`, with `heading-level` for its place in the heading structure. `size` is how it looks, `heading-level` what it is, and the two are set apart. `overline` and `supporting-text` go above and below it. Each of the three has a slot in the same place for content that is more than text, and a filled slot takes the place of the attribute. */
3868
3906
  'nldd-title': DefineComponent<NLDDTitleProps>;
3869
3907
  /** A cell component for displaying a title with optional overline and supporting text in lists. `vertical-alignment="center"` (default) stretches the cell to fill the full row height and centers its content within that space. Use `min-height` to set a minimum centered region. For strict top alignment without a minimum height, use `vertical-alignment="top"`. Each text region (overline, title, supporting text) accepts either a string attribute or slotted DOM content. The slot is the source of truth: if the consumer provides slotted content, it replaces the attribute-based render for that region. Use slots when you need inline elements like `<nldd-tag>`, `<nldd-icon>` or other components mixed with text. Note that `query` highlighting and `**bold**` parsing only apply to the attribute path — slotted content is rendered as-is. */
3870
3908
  'nldd-title-cell': DefineComponent<NLDDTitleCellProps>;
3871
- /** A selectable button that toggles between selected and unselected. Available as a button (aria-pressed), a checkbox, or a radio. In radio mode the button itself is the radio: it carries the role, the state and its place in the group. A native radio in a shadow root of its own would be a group of one, counted as "1 of 1" and stopped at by Tab. */
3909
+ /** A selectable button that toggles between selected and unselected. Available as a button (aria-pressed), a checkbox, or a radio. The label stays the same in both states: the state is in aria-pressed (or checked) and in the fill, so a screen reader says "Favoriet, pressed". A label that changes with the state ("Volgen", then "Ontvolgen") says what the button does next; that is an nldd-button whose text you change, not a toggle. In radio mode the button itself is the radio: it carries the role, the state and its place in the group. A native radio in a shadow root of its own would be a group of one, counted as "1 of 1" and stopped at by Tab. */
3872
3910
  'nldd-toggle-button': DefineComponent<NLDDToggleButtonProps>;
3873
- /** Groups nldd-toggle-button elements and manages selection, keyboard navigation, and forwarding of type, name, size, and disabled state to all buttons. For type="radio" (single-select), arrow keys navigate between buttons and automatically select the focused one. For type="checkbox" (multi-select), multiple buttons can be selected simultaneously. */
3911
+ /** Groups nldd-toggle-button elements and manages selection, keyboard navigation, and forwarding of type, name, appearance, size, and disabled state to all buttons. For type="radio" (single-select), arrow keys navigate between buttons and automatically select the focused one. For type="checkbox" (multi-select), multiple buttons can be selected simultaneously. */
3874
3912
  'nldd-toggle-button-group': DefineComponent<NLDDToggleButtonGroupProps>;
3875
3913
  /** A self-contained piece of data the user is handling: a person in an address field, an active filter value. Alone among the three it can be operated, so it is optionally dismissable or interactive through a contextual menu. For something you only read, reach for `nldd-tag` (a trait someone assigned) or `nldd-badge` (a state or a count the system keeps). */
3876
3914
  'nldd-token': DefineComponent<NLDDTokenProps>;
3877
- /** A multi-select input that looks like a normal input field: chosen values show as dismissible tokens in a wrapping row, followed by an inline text input that stretches to fill the remaining space and wraps to a new line (growing the field) when it no longer fits. Options are supplied as a slotted nldd-menu, exactly like nldd-combo-box; the menu filters as you type, with a chevron picker button, arrow-key roving across the tokens and ElementInternals form participation. */
3915
+ /** A multi-select input that looks like a normal input field: chosen values show as dismissible tokens in a wrapping row, followed by an inline text input that stretches to fill the remaining space and wraps to a new line (growing the field) when it no longer fits. Options are supplied as a slotted nldd-menu, exactly like nldd-combo-box; the menu filters as you type, with a chevron picker button, arrow-key roving across the tokens and ElementInternals form participation. Options can arrive after the keystroke, from a server you query per keystroke. Slot them into the menu when they come in: if the user is still in the field and the keystroke found nothing to show, the menu opens then. After Escape, or once the user left the field, it stays shut. */
3878
3916
  'nldd-token-field': DefineComponent<NLDDTokenFieldProps>;
3879
3917
  /** A row of controls that belong to a whole screen or pane, with an overflow menu for what does not fit. The toolbar measures itself: as the row runs out of room, items move into that menu, the lowest `priority` first, and items that share a priority move together. So the order in the HTML says where an item sits, and `priority` says how long it stays. Every item carries its own alternative for the menu, an nldd-menu-item in its `overflow` slot. Without one the action is simply gone once the item overflows, which on a wide screen you never see; the item warns about it in development. The toolbar's own `overflow` slot holds the actions that live in the menu at every width. */
3880
3918
  'nldd-toolbar': DefineComponent<NLDDToolbarProps>;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * The translation layer shared by every component.
3
+ *
4
+ * A component looks a text up in this order: its own `translations` property,
5
+ * then what the app set for the whole package with `setTranslations()`, then
6
+ * its Dutch default. The package-wide layer is what reaches a component that
7
+ * another component builds in its shadow root, such as the activity indicator
8
+ * in a loading button or the calendar in a date field: nobody outside can set
9
+ * `translations` on those, but they all read this layer.
10
+ *
11
+ * Keys are language, not content. A text that differs per instance, such as
12
+ * "Aan het bewaren" on one button and "Aan het laden" on another, belongs in an
13
+ * attribute on that element.
14
+ */
15
+ type Translations = Record<string, string>;
16
+ /**
17
+ * Sets the texts for the whole package, replacing what was set before. Keys you
18
+ * leave out fall back to Dutch. To start from the shipped English and change a
19
+ * few texts, spread them: `setTranslations({ ...enUS, 'key': 'Mine' })`.
20
+ *
21
+ * Call it before the components render. Calling it again re-renders the
22
+ * components on the page, so a language switch at runtime works too. Call it
23
+ * when the language changes, not on every render: each call walks the page.
24
+ * A component inside a closed shadow root is out of its reach and keeps its old
25
+ * texts until it renders again; ask it to with `requestUpdate()`.
26
+ */
27
+ export declare function setTranslations(translations: Translations): void;
28
+ /** What the app set with `setTranslations()`, for tests and debugging. */
29
+ export declare function getTranslations(): Readonly<Translations>;
30
+ /**
31
+ * Looks a key up through the three layers and fills in `{placeholders}`. Every
32
+ * component's `_t()` goes through here, so none of them skips the package-wide
33
+ * layer.
34
+ */
35
+ export declare function translate<T extends Translations>(own: Partial<T> | undefined, defaults: T, key: keyof T, vars?: Record<string, string | number>): string;
36
+ export {};
37
+ //# sourceMappingURL=translations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../src/utilities/translations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAY3C;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAIhE;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,IAAI,QAAQ,CAAC,YAAY,CAAC,CAExD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,YAAY,EAC/C,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,EAC3B,QAAQ,EAAE,CAAC,EACX,GAAG,EAAE,MAAM,CAAC,EACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACpC,MAAM,CASR"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * The translation layer shared by every component.
3
+ *
4
+ * A component looks a text up in this order: its own `translations` property,
5
+ * then what the app set for the whole package with `setTranslations()`, then
6
+ * its Dutch default. The package-wide layer is what reaches a component that
7
+ * another component builds in its shadow root, such as the activity indicator
8
+ * in a loading button or the calendar in a date field: nobody outside can set
9
+ * `translations` on those, but they all read this layer.
10
+ *
11
+ * Keys are language, not content. A text that differs per instance, such as
12
+ * "Aan het bewaren" on one button and "Aan het laden" on another, belongs in an
13
+ * attribute on that element.
14
+ */
15
+ var _a;
16
+ // On globalThis under a registered symbol: the package entry is a bundle and
17
+ // the per-component entries are separate modules, so an app that imports both
18
+ // loads this file twice. Both copies have to read the same layer.
19
+ const STORE_KEY = Symbol.for('nldd.translations');
20
+ const store = ((_a = globalThis)[STORE_KEY] ?? (_a[STORE_KEY] = { translations: {} }));
21
+ /**
22
+ * Sets the texts for the whole package, replacing what was set before. Keys you
23
+ * leave out fall back to Dutch. To start from the shipped English and change a
24
+ * few texts, spread them: `setTranslations({ ...enUS, 'key': 'Mine' })`.
25
+ *
26
+ * Call it before the components render. Calling it again re-renders the
27
+ * components on the page, so a language switch at runtime works too. Call it
28
+ * when the language changes, not on every render: each call walks the page.
29
+ * A component inside a closed shadow root is out of its reach and keeps its old
30
+ * texts until it renders again; ask it to with `requestUpdate()`.
31
+ */
32
+ export function setTranslations(translations) {
33
+ store.translations = { ...translations };
34
+ if (import.meta.env?.DEV)
35
+ warnUnknownKeys(store.translations);
36
+ if (typeof document !== 'undefined')
37
+ rerender(document);
38
+ }
39
+ /** What the app set with `setTranslations()`, for tests and debugging. */
40
+ export function getTranslations() {
41
+ return store.translations;
42
+ }
43
+ /**
44
+ * Looks a key up through the three layers and fills in `{placeholders}`. Every
45
+ * component's `_t()` goes through here, so none of them skips the package-wide
46
+ * layer.
47
+ */
48
+ export function translate(own, defaults, key, vars) {
49
+ const name = key;
50
+ let text = own?.[key] ?? store.translations[name] ?? defaults[key] ?? name;
51
+ if (vars) {
52
+ for (const [k, v] of Object.entries(vars)) {
53
+ text = text.split(`{${k}}`).join(String(v));
54
+ }
55
+ }
56
+ return text;
57
+ }
58
+ /** Asks every nldd component on the page, also inside shadow roots, to render again. */
59
+ function rerender(root) {
60
+ for (const el of Array.from(root.querySelectorAll('*'))) {
61
+ if (el.tagName.startsWith('NLDD-'))
62
+ el.requestUpdate?.();
63
+ if (el.shadowRoot)
64
+ rerender(el.shadowRoot);
65
+ }
66
+ }
67
+ /**
68
+ * A key no component knows does nothing, silently. That is what happens to an
69
+ * override after a key is renamed, so in DEV it says so. The full key list is
70
+ * loaded only here, so production bundles do not carry it.
71
+ */
72
+ function warnUnknownKeys(translations) {
73
+ import('../translations/nl.generated.js').then(({ nl }) => {
74
+ const unknown = Object.keys(translations).filter((key) => !(key in nl));
75
+ if (unknown.length) {
76
+ console.warn(`setTranslations: no component knows ${unknown.length === 1 ? 'this key, so it does' : 'these keys, so they do'} nothing: ${unknown.join(', ')}`);
77
+ }
78
+ }).catch(() => { });
79
+ }
80
+ //# sourceMappingURL=translations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translations.js","sourceRoot":"","sources":["../../src/utilities/translations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;;AAQH,6EAA6E;AAC7E,8EAA8E;AAC9E,kEAAkE;AAClE,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAClD,MAAM,KAAK,GAAU,OAAE,UAAsC,EAAC,SAAS,SAAT,SAAS,IAAM,EAAE,YAAY,EAAE,EAAE,EAAE,EAAU,CAAC;AAE5G;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,YAA0B;IACzD,KAAK,CAAC,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IACzC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG;QAAE,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9D,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,eAAe;IAC9B,OAAO,KAAK,CAAC,YAAY,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CACxB,GAA2B,EAC3B,QAAW,EACX,GAAY,EACZ,IAAsC;IAEtC,MAAM,IAAI,GAAG,GAAa,CAAC;IAC3B,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IAC3E,IAAI,IAAI,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,wFAAwF;AACxF,SAAS,QAAQ,CAAC,IAAqC;IACtD,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACzD,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YAAG,EAA+C,CAAC,aAAa,EAAE,EAAE,CAAC;QACvG,IAAI,EAAE,CAAC,UAAU;YAAE,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,YAA0B;IAClD,MAAM,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACzD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QACxE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,uCAAuC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,wBAAwB,aAAa,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChK,CAAC;IACF,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"with-translations.d.ts","sourceRoot":"","sources":["../../src/utilities/with-translations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAIjC,KAAK,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAElE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChE,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,OAAO,UAAU,EACjD,QAAQ,EAAE,CAAC,GA4B4B,WAAW,CAAC,UAAU,GAAG;IAC/D,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;CACjE,CAAC,GAAG,OAAO,UAAU,CACtB"}
1
+ {"version":3,"file":"with-translations.d.ts","sourceRoot":"","sources":["../../src/utilities/with-translations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAIjC,KAAK,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAElE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChE,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,OAAO,UAAU,EACjD,QAAQ,EAAE,CAAC,GAY4B,WAAW,CAAC,UAAU,GAAG;IAC/D,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;CACjE,CAAC,GAAG,OAAO,UAAU,CACtB"}
@@ -5,6 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { property } from 'lit/decorators.js';
8
+ import { translate } from './translations.js';
8
9
  /**
9
10
  * Mixin that adds i18n support to a LitElement component.
10
11
  *
@@ -29,24 +30,10 @@ export function withTranslations(Base, defaults) {
29
30
  constructor() {
30
31
  super(...arguments);
31
32
  this.translations = {};
32
- /** @internal */
33
- this._mergedTranslations = { ...defaults };
34
33
  }
35
34
  /** @internal */
36
35
  _t(key, vars) {
37
- let str = this._mergedTranslations[key] ?? String(key);
38
- if (vars) {
39
- for (const [k, v] of Object.entries(vars)) {
40
- str = str.split(`{${k}}`).join(String(v));
41
- }
42
- }
43
- return str;
44
- }
45
- willUpdate(changed) {
46
- super.willUpdate(changed);
47
- if (changed.has('translations')) {
48
- this._mergedTranslations = { ...defaults, ...this.translations };
49
- }
36
+ return translate(this.translations, defaults, key, vars);
50
37
  }
51
38
  }
52
39
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"with-translations.js","sourceRoot":"","sources":["../../src/utilities/with-translations.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK7C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,gBAAgB,CAC/B,IAAiD,EACjD,QAAW;IAEX,MAAM,iBAAkB,SAAQ,IAAI;QAApC;;YAEC,iBAAY,GAAe,EAAE,CAAC;YAE9B,gBAAgB;YAChB,wBAAmB,GAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;QAmB1C,CAAC;QAjBA,gBAAgB;QAChB,EAAE,CAAC,GAAY,EAAE,IAAsC;YACtD,IAAI,GAAG,GAAW,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/D,IAAI,IAAI,EAAE,CAAC;gBACV,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACF,CAAC;YACD,OAAO,GAAG,CAAC;QACZ,CAAC;QAEQ,UAAU,CAAC,OAAuB;YAC1C,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,cAA4B,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,mBAAmB,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAClE,CAAC;QACF,CAAC;KACD;IAtBA;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2DACG;IAwB/B,OAAO,iBAGe,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"with-translations.js","sourceRoot":"","sources":["../../src/utilities/with-translations.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAI9C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,gBAAgB,CAC/B,IAAiD,EACjD,QAAW;IAEX,MAAM,iBAAkB,SAAQ,IAAI;QAApC;;YAEC,iBAAY,GAAe,EAAE,CAAC;QAM/B,CAAC;QAJA,gBAAgB;QAChB,EAAE,CAAC,GAAY,EAAE,IAAsC;YACtD,OAAO,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;KACD;IANA;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2DACG;IAQ/B,OAAO,iBAGe,CAAC;AACxB,CAAC"}