@nldd/design-system 0.8.82 → 0.8.84

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 (487) hide show
  1. package/custom-elements.json +3849 -542
  2. package/dist/components/actions/button/button.d.ts +9 -2
  3. package/dist/components/actions/button/button.d.ts.map +1 -1
  4. package/dist/components/actions/button/button.js +15 -2
  5. package/dist/components/actions/button/button.js.map +1 -1
  6. package/dist/components/actions/button/button.template.d.ts.map +1 -1
  7. package/dist/components/actions/button/button.template.js +2 -0
  8. package/dist/components/actions/button/button.template.js.map +1 -1
  9. package/dist/components/actions/icon-button/icon-button.d.ts +2 -2
  10. package/dist/components/actions/icon-button/icon-button.js +2 -2
  11. package/dist/components/actions/menu/menu.d.ts +3 -1
  12. package/dist/components/actions/menu/menu.d.ts.map +1 -1
  13. package/dist/components/actions/menu/menu.js +22 -11
  14. package/dist/components/actions/menu/menu.js.map +1 -1
  15. package/dist/components/actions/toolbar/toolbar.styles.js +2 -2
  16. package/dist/components/components.js +2911 -1157
  17. package/dist/components/content/avatar/avatar.d.ts +6 -0
  18. package/dist/components/content/avatar/avatar.d.ts.map +1 -1
  19. package/dist/components/content/avatar/avatar.js +9 -0
  20. package/dist/components/content/avatar/avatar.js.map +1 -1
  21. package/dist/components/content/avatar/avatar.styles.d.ts.map +1 -1
  22. package/dist/components/content/avatar/avatar.styles.js +5 -1
  23. package/dist/components/content/avatar/avatar.styles.js.map +1 -1
  24. package/dist/components/content/avatar/avatar.template.d.ts.map +1 -1
  25. package/dist/components/content/avatar/avatar.template.js +2 -0
  26. package/dist/components/content/avatar/avatar.template.js.map +1 -1
  27. package/dist/components/content/avatar-group/avatar-group.styles.d.ts.map +1 -1
  28. package/dist/components/content/avatar-group/avatar-group.styles.js +6 -16
  29. package/dist/components/content/avatar-group/avatar-group.styles.js.map +1 -1
  30. package/dist/components/content/blockquote/blockquote.d.ts +3 -4
  31. package/dist/components/content/blockquote/blockquote.d.ts.map +1 -1
  32. package/dist/components/content/blockquote/blockquote.js +3 -4
  33. package/dist/components/content/blockquote/blockquote.js.map +1 -1
  34. package/dist/components/content/icon/icon-aliases.d.ts.map +1 -1
  35. package/dist/components/content/icon/icon-aliases.js +80 -6
  36. package/dist/components/content/icon/icon-aliases.js.map +1 -1
  37. package/dist/components/content/icon/icon-gallery-status.d.ts.map +1 -1
  38. package/dist/components/content/icon/icon-gallery-status.js +57 -94
  39. package/dist/components/content/icon/icon-gallery-status.js.map +1 -1
  40. package/dist/components/content/icon/icon-registry.d.ts.map +1 -1
  41. package/dist/components/content/icon/icon-registry.js +36 -4
  42. package/dist/components/content/icon/icon-registry.js.map +1 -1
  43. package/dist/components/content/icon/icon.d.ts +8 -2
  44. package/dist/components/content/icon/icon.d.ts.map +1 -1
  45. package/dist/components/content/icon/icon.js +17 -2
  46. package/dist/components/content/icon/icon.js.map +1 -1
  47. package/dist/components/content/icon/icon.styles.d.ts.map +1 -1
  48. package/dist/components/content/icon/icon.styles.js +8 -0
  49. package/dist/components/content/icon/icon.styles.js.map +1 -1
  50. package/dist/components/content/image/image.d.ts +1 -1
  51. package/dist/components/content/image/image.js +1 -1
  52. package/dist/components/content/image/image.styles.d.ts.map +1 -1
  53. package/dist/components/content/image/image.styles.js +11 -0
  54. package/dist/components/content/image/image.styles.js.map +1 -1
  55. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.d.ts +30 -30
  56. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.js +30 -30
  57. package/dist/components/content/rich-text/rich-text.d.ts +20 -20
  58. package/dist/components/content/rich-text/rich-text.js +20 -20
  59. package/dist/components/content/text/text.d.ts +50 -0
  60. package/dist/components/content/text/text.d.ts.map +1 -0
  61. package/dist/components/content/text/text.js +81 -0
  62. package/dist/components/content/text/text.js.map +1 -0
  63. package/dist/components/content/text/text.styles.d.ts +2 -0
  64. package/dist/components/content/text/text.styles.d.ts.map +1 -0
  65. package/dist/components/content/text/text.styles.js +116 -0
  66. package/dist/components/content/text/text.styles.js.map +1 -0
  67. package/dist/components/content/text/text.template.d.ts +3 -0
  68. package/dist/components/content/text/text.template.d.ts.map +1 -0
  69. package/dist/components/content/text/text.template.js +7 -0
  70. package/dist/components/content/text/text.template.js.map +1 -0
  71. package/dist/components/content/title/title.d.ts +4 -4
  72. package/dist/components/content/title/title.js +4 -4
  73. package/dist/components/content/title/title.styles.d.ts.map +1 -1
  74. package/dist/components/content/title/title.styles.js +9 -13
  75. package/dist/components/content/title/title.styles.js.map +1 -1
  76. package/dist/components/content/tooltip/tooltip.d.ts +1 -1
  77. package/dist/components/content/tooltip/tooltip.js +1 -1
  78. package/dist/components/{decorate-BKn10QQi.js → decorate-lwt_OrAG.js} +1 -1
  79. package/dist/components/{dist-TpIL8G4G.js → dist-762GHPyH.js} +3 -3
  80. package/dist/components/{dist-OBifyiJS.js → dist-BB7TxeMK.js} +2 -2
  81. package/dist/components/{dist-CJR_Rwhh.js → dist-BJI4-6iQ.js} +1 -1
  82. package/dist/components/{dist-C400RcFU.js → dist-B_3OW7pC.js} +1 -1
  83. package/dist/components/{dist-afrAoubg.js → dist-C09E9-dJ.js} +34 -34
  84. package/dist/components/{dist-Ccw7ZfsU.js → dist-C6gnorjP.js} +4 -3
  85. package/dist/components/{dist-bO14jlsr.js → dist-CRsR6ckU.js} +1 -1
  86. package/dist/components/{dist-C0PiB1dr.js → dist-CjaG8dOI.js} +2 -2
  87. package/dist/components/{dist-CCg5Mso_.js → dist-DZoFKUO-.js} +1 -1
  88. package/dist/components/{dist-Bq4xc7Bm.js → dist-DaavuU6W.js} +14 -3
  89. package/dist/components/{dist-BYVOPNHp.js → dist-la_b3ZSq.js} +1 -1
  90. package/dist/components/forms/form/form.d.ts +76 -22
  91. package/dist/components/forms/form/form.d.ts.map +1 -1
  92. package/dist/components/forms/form/form.js +127 -22
  93. package/dist/components/forms/form/form.js.map +1 -1
  94. package/dist/components/forms/form-actions/form-actions.d.ts +14 -15
  95. package/dist/components/forms/form-actions/form-actions.d.ts.map +1 -1
  96. package/dist/components/forms/form-actions/form-actions.js +14 -15
  97. package/dist/components/forms/form-actions/form-actions.js.map +1 -1
  98. package/dist/components/forms/form-field/form-field.d.ts +42 -39
  99. package/dist/components/forms/form-field/form-field.d.ts.map +1 -1
  100. package/dist/components/forms/form-field/form-field.js +79 -111
  101. package/dist/components/forms/form-field/form-field.js.map +1 -1
  102. package/dist/components/forms/form-field/form-field.styles.d.ts +0 -1
  103. package/dist/components/forms/form-field/form-field.styles.d.ts.map +1 -1
  104. package/dist/components/forms/form-field/form-field.styles.js +7 -73
  105. package/dist/components/forms/form-field/form-field.styles.js.map +1 -1
  106. package/dist/components/forms/form-field/form-field.template.d.ts +0 -2
  107. package/dist/components/forms/form-field/form-field.template.d.ts.map +1 -1
  108. package/dist/components/forms/form-field/form-field.template.js +0 -15
  109. package/dist/components/forms/form-field/form-field.template.js.map +1 -1
  110. package/dist/components/forms/form-section/form-section.d.ts +26 -28
  111. package/dist/components/forms/form-section/form-section.d.ts.map +1 -1
  112. package/dist/components/forms/form-section/form-section.js +27 -29
  113. package/dist/components/forms/form-section/form-section.js.map +1 -1
  114. package/dist/components/forms/validation-list/validation-list.d.ts +193 -0
  115. package/dist/components/forms/validation-list/validation-list.d.ts.map +1 -0
  116. package/dist/components/forms/validation-list/validation-list.js +358 -0
  117. package/dist/components/forms/validation-list/validation-list.js.map +1 -0
  118. package/dist/components/forms/validation-list/validation-list.styles.d.ts +3 -0
  119. package/dist/components/forms/validation-list/validation-list.styles.d.ts.map +1 -0
  120. package/dist/components/forms/validation-list/validation-list.styles.js +58 -0
  121. package/dist/components/forms/validation-list/validation-list.styles.js.map +1 -0
  122. package/dist/components/forms/validation-list/validation-list.template.d.ts +5 -0
  123. package/dist/components/forms/validation-list/validation-list.template.d.ts.map +1 -0
  124. package/dist/components/forms/validation-list/validation-list.template.js +16 -0
  125. package/dist/components/forms/validation-list/validation-list.template.js.map +1 -0
  126. package/dist/components/{icon-CIpJq_cf.js → icon-VTLbdcvZ.js} +104 -11
  127. package/dist/components/{icon-button-BAkUJTn6.js → icon-button-Sne5TwRG.js} +6 -6
  128. package/dist/components/index.d.ts +3 -1
  129. package/dist/components/index.d.ts.map +1 -1
  130. package/dist/components/index.js +3 -1
  131. package/dist/components/index.js.map +1 -1
  132. package/dist/components/inputs/checkbox/checkbox.d.ts +20 -1
  133. package/dist/components/inputs/checkbox/checkbox.d.ts.map +1 -1
  134. package/dist/components/inputs/checkbox/checkbox.js +32 -2
  135. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  136. package/dist/components/inputs/checkbox/checkbox.template.d.ts.map +1 -1
  137. package/dist/components/inputs/checkbox/checkbox.template.js +2 -0
  138. package/dist/components/inputs/checkbox/checkbox.template.js.map +1 -1
  139. package/dist/components/inputs/checkbox-field/checkbox-field.d.ts +16 -1
  140. package/dist/components/inputs/checkbox-field/checkbox-field.d.ts.map +1 -1
  141. package/dist/components/inputs/checkbox-field/checkbox-field.js +27 -2
  142. package/dist/components/inputs/checkbox-field/checkbox-field.js.map +1 -1
  143. package/dist/components/inputs/checkbox-field/checkbox-field.template.d.ts.map +1 -1
  144. package/dist/components/inputs/checkbox-field/checkbox-field.template.js +2 -0
  145. package/dist/components/inputs/checkbox-field/checkbox-field.template.js.map +1 -1
  146. package/dist/components/inputs/code-editor/code-editor.d.ts +14 -1
  147. package/dist/components/inputs/code-editor/code-editor.d.ts.map +1 -1
  148. package/dist/components/inputs/code-editor/code-editor.js +21 -2
  149. package/dist/components/inputs/code-editor/code-editor.js.map +1 -1
  150. package/dist/components/inputs/combo-box/combo-box.d.ts +15 -2
  151. package/dist/components/inputs/combo-box/combo-box.d.ts.map +1 -1
  152. package/dist/components/inputs/combo-box/combo-box.js +54 -5
  153. package/dist/components/inputs/combo-box/combo-box.js.map +1 -1
  154. package/dist/components/inputs/combo-box/combo-box.styles.d.ts.map +1 -1
  155. package/dist/components/inputs/combo-box/combo-box.styles.js +14 -0
  156. package/dist/components/inputs/combo-box/combo-box.styles.js.map +1 -1
  157. package/dist/components/inputs/combo-box/combo-box.template.d.ts.map +1 -1
  158. package/dist/components/inputs/combo-box/combo-box.template.js +27 -20
  159. package/dist/components/inputs/combo-box/combo-box.template.js.map +1 -1
  160. package/dist/components/inputs/date-field/date-field.d.ts +29 -31
  161. package/dist/components/inputs/date-field/date-field.d.ts.map +1 -1
  162. package/dist/components/inputs/date-field/date-field.js +40 -37
  163. package/dist/components/inputs/date-field/date-field.js.map +1 -1
  164. package/dist/components/inputs/date-field/date-field.styles.d.ts.map +1 -1
  165. package/dist/components/inputs/date-field/date-field.styles.js +11 -0
  166. package/dist/components/inputs/date-field/date-field.styles.js.map +1 -1
  167. package/dist/components/inputs/date-field/date-field.template.d.ts.map +1 -1
  168. package/dist/components/inputs/date-field/date-field.template.js +7 -2
  169. package/dist/components/inputs/date-field/date-field.template.js.map +1 -1
  170. package/dist/components/inputs/date-picker/date-picker.d.ts +34 -21
  171. package/dist/components/inputs/date-picker/date-picker.d.ts.map +1 -1
  172. package/dist/components/inputs/date-picker/date-picker.js +42 -22
  173. package/dist/components/inputs/date-picker/date-picker.js.map +1 -1
  174. package/dist/components/inputs/dropdown/dropdown.d.ts +23 -2
  175. package/dist/components/inputs/dropdown/dropdown.d.ts.map +1 -1
  176. package/dist/components/inputs/dropdown/dropdown.js +36 -3
  177. package/dist/components/inputs/dropdown/dropdown.js.map +1 -1
  178. package/dist/components/inputs/file-field/file-field.d.ts +4 -3
  179. package/dist/components/inputs/file-field/file-field.d.ts.map +1 -1
  180. package/dist/components/inputs/file-field/file-field.js +8 -7
  181. package/dist/components/inputs/file-field/file-field.js.map +1 -1
  182. package/dist/components/inputs/file-field/file-field.template.d.ts.map +1 -1
  183. package/dist/components/inputs/file-field/file-field.template.js +0 -1
  184. package/dist/components/inputs/file-field/file-field.template.js.map +1 -1
  185. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.d.ts +15 -4
  186. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.d.ts.map +1 -1
  187. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.js +20 -8
  188. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.js.map +1 -1
  189. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.template.d.ts.map +1 -1
  190. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.template.js +4 -1
  191. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.template.js.map +1 -1
  192. package/dist/components/inputs/number-field/number-field.d.ts +12 -1
  193. package/dist/components/inputs/number-field/number-field.d.ts.map +1 -1
  194. package/dist/components/inputs/number-field/number-field.js +18 -3
  195. package/dist/components/inputs/number-field/number-field.js.map +1 -1
  196. package/dist/components/inputs/number-field/number-field.styles.d.ts.map +1 -1
  197. package/dist/components/inputs/number-field/number-field.styles.js +8 -16
  198. package/dist/components/inputs/number-field/number-field.styles.js.map +1 -1
  199. package/dist/components/inputs/password-field/password-field.d.ts +10 -3
  200. package/dist/components/inputs/password-field/password-field.d.ts.map +1 -1
  201. package/dist/components/inputs/password-field/password-field.js +18 -8
  202. package/dist/components/inputs/password-field/password-field.js.map +1 -1
  203. package/dist/components/inputs/password-field/password-field.template.d.ts.map +1 -1
  204. package/dist/components/inputs/password-field/password-field.template.js +3 -1
  205. package/dist/components/inputs/password-field/password-field.template.js.map +1 -1
  206. package/dist/components/inputs/radio-button/radio-button.d.ts +18 -1
  207. package/dist/components/inputs/radio-button/radio-button.d.ts.map +1 -1
  208. package/dist/components/inputs/radio-button/radio-button.js +27 -2
  209. package/dist/components/inputs/radio-button/radio-button.js.map +1 -1
  210. package/dist/components/inputs/radio-button/radio-button.template.d.ts.map +1 -1
  211. package/dist/components/inputs/radio-button/radio-button.template.js +1 -0
  212. package/dist/components/inputs/radio-button/radio-button.template.js.map +1 -1
  213. package/dist/components/inputs/radio-button-field/radio-button-field.d.ts +14 -1
  214. package/dist/components/inputs/radio-button-field/radio-button-field.d.ts.map +1 -1
  215. package/dist/components/inputs/radio-button-field/radio-button-field.js +22 -2
  216. package/dist/components/inputs/radio-button-field/radio-button-field.js.map +1 -1
  217. package/dist/components/inputs/radio-button-field/radio-button-field.template.d.ts.map +1 -1
  218. package/dist/components/inputs/radio-button-field/radio-button-field.template.js +1 -0
  219. package/dist/components/inputs/radio-button-field/radio-button-field.template.js.map +1 -1
  220. package/dist/components/inputs/radio-button-group/radio-button-group.d.ts +11 -0
  221. package/dist/components/inputs/radio-button-group/radio-button-group.d.ts.map +1 -1
  222. package/dist/components/inputs/radio-button-group/radio-button-group.js +21 -0
  223. package/dist/components/inputs/radio-button-group/radio-button-group.js.map +1 -1
  224. package/dist/components/inputs/search-field/search-field.d.ts +23 -1
  225. package/dist/components/inputs/search-field/search-field.d.ts.map +1 -1
  226. package/dist/components/inputs/search-field/search-field.js +37 -3
  227. package/dist/components/inputs/search-field/search-field.js.map +1 -1
  228. package/dist/components/inputs/search-field/search-field.template.d.ts.map +1 -1
  229. package/dist/components/inputs/search-field/search-field.template.js +4 -0
  230. package/dist/components/inputs/search-field/search-field.template.js.map +1 -1
  231. package/dist/components/inputs/segmented-control/segmented-control.d.ts +28 -0
  232. package/dist/components/inputs/segmented-control/segmented-control.d.ts.map +1 -1
  233. package/dist/components/inputs/segmented-control/segmented-control.js +52 -2
  234. package/dist/components/inputs/segmented-control/segmented-control.js.map +1 -1
  235. package/dist/components/inputs/segmented-control/segmented-control.template.d.ts.map +1 -1
  236. package/dist/components/inputs/segmented-control/segmented-control.template.js +1 -0
  237. package/dist/components/inputs/segmented-control/segmented-control.template.js.map +1 -1
  238. package/dist/components/inputs/stepper/stepper.d.ts +14 -1
  239. package/dist/components/inputs/stepper/stepper.d.ts.map +1 -1
  240. package/dist/components/inputs/stepper/stepper.js +21 -2
  241. package/dist/components/inputs/stepper/stepper.js.map +1 -1
  242. package/dist/components/inputs/switch/switch.d.ts +20 -1
  243. package/dist/components/inputs/switch/switch.d.ts.map +1 -1
  244. package/dist/components/inputs/switch/switch.js +31 -2
  245. package/dist/components/inputs/switch/switch.js.map +1 -1
  246. package/dist/components/inputs/switch/switch.template.d.ts.map +1 -1
  247. package/dist/components/inputs/switch/switch.template.js +2 -0
  248. package/dist/components/inputs/switch/switch.template.js.map +1 -1
  249. package/dist/components/inputs/switch-field/switch-field.d.ts +18 -1
  250. package/dist/components/inputs/switch-field/switch-field.d.ts.map +1 -1
  251. package/dist/components/inputs/switch-field/switch-field.js +25 -1
  252. package/dist/components/inputs/switch-field/switch-field.js.map +1 -1
  253. package/dist/components/inputs/switch-field/switch-field.template.d.ts.map +1 -1
  254. package/dist/components/inputs/switch-field/switch-field.template.js +2 -0
  255. package/dist/components/inputs/switch-field/switch-field.template.js.map +1 -1
  256. package/dist/components/inputs/text-editor/text-editor.d.ts +14 -1
  257. package/dist/components/inputs/text-editor/text-editor.d.ts.map +1 -1
  258. package/dist/components/inputs/text-editor/text-editor.js +21 -2
  259. package/dist/components/inputs/text-editor/text-editor.js.map +1 -1
  260. package/dist/components/inputs/text-field/text-field.d.ts +31 -3
  261. package/dist/components/inputs/text-field/text-field.d.ts.map +1 -1
  262. package/dist/components/inputs/text-field/text-field.js +65 -7
  263. package/dist/components/inputs/text-field/text-field.js.map +1 -1
  264. package/dist/components/inputs/text-field/text-field.template.d.ts.map +1 -1
  265. package/dist/components/inputs/text-field/text-field.template.js +5 -1
  266. package/dist/components/inputs/text-field/text-field.template.js.map +1 -1
  267. package/dist/components/inputs/time-field/time-field.d.ts +33 -35
  268. package/dist/components/inputs/time-field/time-field.d.ts.map +1 -1
  269. package/dist/components/inputs/time-field/time-field.js +43 -40
  270. package/dist/components/inputs/time-field/time-field.js.map +1 -1
  271. package/dist/components/inputs/time-field/time-field.styles.d.ts.map +1 -1
  272. package/dist/components/inputs/time-field/time-field.styles.js +12 -0
  273. package/dist/components/inputs/time-field/time-field.styles.js.map +1 -1
  274. package/dist/components/inputs/time-field/time-field.template.d.ts.map +1 -1
  275. package/dist/components/inputs/time-field/time-field.template.js +7 -2
  276. package/dist/components/inputs/time-field/time-field.template.js.map +1 -1
  277. package/dist/components/inputs/time-picker/time-picker.d.ts +34 -19
  278. package/dist/components/inputs/time-picker/time-picker.d.ts.map +1 -1
  279. package/dist/components/inputs/time-picker/time-picker.js +42 -22
  280. package/dist/components/inputs/time-picker/time-picker.js.map +1 -1
  281. package/dist/components/inputs/toggle-button/toggle-button.d.ts +22 -1
  282. package/dist/components/inputs/toggle-button/toggle-button.d.ts.map +1 -1
  283. package/dist/components/inputs/toggle-button/toggle-button.js +35 -2
  284. package/dist/components/inputs/toggle-button/toggle-button.js.map +1 -1
  285. package/dist/components/inputs/toggle-button/toggle-button.template.d.ts.map +1 -1
  286. package/dist/components/inputs/toggle-button/toggle-button.template.js +3 -0
  287. package/dist/components/inputs/toggle-button/toggle-button.template.js.map +1 -1
  288. package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts +27 -0
  289. package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts.map +1 -1
  290. package/dist/components/inputs/toggle-button-group/toggle-button-group.js +46 -0
  291. package/dist/components/inputs/toggle-button-group/toggle-button-group.js.map +1 -1
  292. package/dist/components/inputs/token-field/token-field.d.ts +7 -1
  293. package/dist/components/inputs/token-field/token-field.d.ts.map +1 -1
  294. package/dist/components/inputs/token-field/token-field.js +14 -1
  295. package/dist/components/inputs/token-field/token-field.js.map +1 -1
  296. package/dist/components/layout/app-view/app-view.d.ts.map +1 -1
  297. package/dist/components/layout/app-view/app-view.js +12 -0
  298. package/dist/components/layout/app-view/app-view.js.map +1 -1
  299. package/dist/components/layout/box/box.d.ts +4 -4
  300. package/dist/components/layout/box/box.d.ts.map +1 -1
  301. package/dist/components/layout/box/box.js +4 -4
  302. package/dist/components/layout/box/box.js.map +1 -1
  303. package/dist/components/layout/box/box.styles.d.ts.map +1 -1
  304. package/dist/components/layout/box/box.styles.js +4 -6
  305. package/dist/components/layout/box/box.styles.js.map +1 -1
  306. package/dist/components/layout/card/card.d.ts +18 -19
  307. package/dist/components/layout/card/card.d.ts.map +1 -1
  308. package/dist/components/layout/card/card.js +18 -19
  309. package/dist/components/layout/card/card.js.map +1 -1
  310. package/dist/components/layout/card/card.styles.d.ts.map +1 -1
  311. package/dist/components/layout/card/card.styles.js +1 -0
  312. package/dist/components/layout/card/card.styles.js.map +1 -1
  313. package/dist/components/layout/collection/collection.d.ts.map +1 -1
  314. package/dist/components/layout/collection/collection.js +6 -2
  315. package/dist/components/layout/collection/collection.js.map +1 -1
  316. package/dist/components/layout/divider/divider.d.ts +1 -1
  317. package/dist/components/layout/divider/divider.js +1 -1
  318. package/dist/components/layout/popover/popover.d.ts +1 -1
  319. package/dist/components/layout/popover/popover.d.ts.map +1 -1
  320. package/dist/components/layout/popover/popover.js +15 -2
  321. package/dist/components/layout/popover/popover.js.map +1 -1
  322. package/dist/components/layout/sheet/sheet.d.ts +1 -1
  323. package/dist/components/layout/sheet/sheet.js +2 -2
  324. package/dist/components/layout/sheet/sheet.js.map +1 -1
  325. package/dist/components/layout/sheet/sheet.styles.d.ts.map +1 -1
  326. package/dist/components/layout/sheet/sheet.styles.js +15 -3
  327. package/dist/components/layout/sheet/sheet.styles.js.map +1 -1
  328. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.d.ts +8 -0
  329. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.d.ts.map +1 -1
  330. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.js +29 -11
  331. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.js.map +1 -1
  332. package/dist/components/layout/window/window.d.ts +20 -21
  333. package/dist/components/layout/window/window.d.ts.map +1 -1
  334. package/dist/components/layout/window/window.js +21 -22
  335. package/dist/components/layout/window/window.js.map +1 -1
  336. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.d.ts +41 -12
  337. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.d.ts.map +1 -1
  338. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.js +47 -17
  339. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.js.map +1 -1
  340. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.d.ts.map +1 -1
  341. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.js +42 -13
  342. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.js.map +1 -1
  343. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.d.ts.map +1 -1
  344. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.js +12 -4
  345. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.js.map +1 -1
  346. package/dist/components/lists-and-tables/list/list.d.ts +168 -61
  347. package/dist/components/lists-and-tables/list/list.d.ts.map +1 -1
  348. package/dist/components/lists-and-tables/list/list.i18n.d.ts +0 -1
  349. package/dist/components/lists-and-tables/list/list.i18n.d.ts.map +1 -1
  350. package/dist/components/lists-and-tables/list/list.i18n.js +0 -1
  351. package/dist/components/lists-and-tables/list/list.i18n.js.map +1 -1
  352. package/dist/components/lists-and-tables/list/list.js +361 -122
  353. package/dist/components/lists-and-tables/list/list.js.map +1 -1
  354. package/dist/components/lists-and-tables/list/list.styles.d.ts.map +1 -1
  355. package/dist/components/lists-and-tables/list/list.styles.js +5 -0
  356. package/dist/components/lists-and-tables/list/list.styles.js.map +1 -1
  357. package/dist/components/lists-and-tables/list/list.template.d.ts +1 -3
  358. package/dist/components/lists-and-tables/list/list.template.d.ts.map +1 -1
  359. package/dist/components/lists-and-tables/list/list.template.js +2 -7
  360. package/dist/components/lists-and-tables/list/list.template.js.map +1 -1
  361. package/dist/components/lists-and-tables/list-item/list-item.d.ts +134 -23
  362. package/dist/components/lists-and-tables/list-item/list-item.d.ts.map +1 -1
  363. package/dist/components/lists-and-tables/list-item/list-item.js +354 -61
  364. package/dist/components/lists-and-tables/list-item/list-item.js.map +1 -1
  365. package/dist/components/lists-and-tables/list-item/list-item.styles.d.ts.map +1 -1
  366. package/dist/components/lists-and-tables/list-item/list-item.styles.js +116 -34
  367. package/dist/components/lists-and-tables/list-item/list-item.styles.js.map +1 -1
  368. package/dist/components/lists-and-tables/list-item/list-item.template.d.ts +1 -1
  369. package/dist/components/lists-and-tables/list-item/list-item.template.d.ts.map +1 -1
  370. package/dist/components/lists-and-tables/list-item/list-item.template.js +5 -2
  371. package/dist/components/lists-and-tables/list-item/list-item.template.js.map +1 -1
  372. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.d.ts +116 -0
  373. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.d.ts.map +1 -0
  374. package/dist/components/lists-and-tables/{list-item-action/list-item-action.js → list-item-segment/list-item-segment.js} +85 -56
  375. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.js.map +1 -0
  376. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.styles.d.ts +2 -0
  377. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.styles.d.ts.map +1 -0
  378. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.styles.js +179 -0
  379. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.styles.js.map +1 -0
  380. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.template.d.ts +3 -0
  381. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.template.d.ts.map +1 -0
  382. package/dist/components/lists-and-tables/{list-item-action/list-item-action.template.js → list-item-segment/list-item-segment.template.js} +5 -4
  383. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.template.js.map +1 -0
  384. package/dist/components/lists-and-tables/table/table.d.ts +12 -9
  385. package/dist/components/lists-and-tables/table/table.d.ts.map +1 -1
  386. package/dist/components/lists-and-tables/table/table.i18n.d.ts +0 -1
  387. package/dist/components/lists-and-tables/table/table.i18n.d.ts.map +1 -1
  388. package/dist/components/lists-and-tables/table/table.i18n.js +0 -1
  389. package/dist/components/lists-and-tables/table/table.i18n.js.map +1 -1
  390. package/dist/components/lists-and-tables/table/table.js +26 -16
  391. package/dist/components/lists-and-tables/table/table.js.map +1 -1
  392. package/dist/components/lists-and-tables/table/table.styles.d.ts.map +1 -1
  393. package/dist/components/lists-and-tables/table/table.styles.js +5 -0
  394. package/dist/components/lists-and-tables/table/table.styles.js.map +1 -1
  395. package/dist/components/lists-and-tables/table/table.template.d.ts +1 -1
  396. package/dist/components/lists-and-tables/table/table.template.d.ts.map +1 -1
  397. package/dist/components/lists-and-tables/table/table.template.js +5 -9
  398. package/dist/components/lists-and-tables/table/table.template.js.map +1 -1
  399. package/dist/components/navigation/link/link.d.ts +30 -24
  400. package/dist/components/navigation/link/link.d.ts.map +1 -1
  401. package/dist/components/navigation/link/link.js +33 -24
  402. package/dist/components/navigation/link/link.js.map +1 -1
  403. package/dist/components/navigation/link/link.template.js +1 -1
  404. package/dist/components/navigation/link/link.template.js.map +1 -1
  405. package/dist/components/navigation/menu-bar/menu-bar.d.ts +7 -7
  406. package/dist/components/navigation/menu-bar/menu-bar.js +7 -7
  407. package/dist/components/navigation/menu-bar-item/menu-bar-item.d.ts +23 -23
  408. package/dist/components/navigation/menu-bar-item/menu-bar-item.js +23 -23
  409. package/dist/components/navigation/pagination/pagination.d.ts +4 -4
  410. package/dist/components/navigation/pagination/pagination.js +4 -4
  411. package/dist/components/navigation/skip-link/skip-link.d.ts +7 -7
  412. package/dist/components/navigation/skip-link/skip-link.js +7 -7
  413. package/dist/components/navigation/tab-bar/tab-bar.d.ts +5 -3
  414. package/dist/components/navigation/tab-bar/tab-bar.d.ts.map +1 -1
  415. package/dist/components/navigation/tab-bar/tab-bar.js +18 -13
  416. package/dist/components/navigation/tab-bar/tab-bar.js.map +1 -1
  417. package/dist/components/navigation/tab-bar/tab-bar.styles.js +8 -8
  418. package/dist/components/navigation/tab-bar/tab-bar.template.js +5 -5
  419. package/dist/components/navigation/tab-bar/tab-bar.template.js.map +1 -1
  420. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.d.ts +15 -15
  421. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.js +15 -15
  422. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.d.ts.map +1 -1
  423. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js +14 -2
  424. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js.map +1 -1
  425. package/dist/components/navigation/top-title-bar/top-title-bar.d.ts +2 -2
  426. package/dist/components/navigation/top-title-bar/top-title-bar.js +2 -2
  427. package/dist/components/navigation/top-title-bar/top-title-bar.styles.js +2 -2
  428. package/dist/components/status-and-feedback/badge/badge.d.ts +8 -2
  429. package/dist/components/status-and-feedback/badge/badge.d.ts.map +1 -1
  430. package/dist/components/status-and-feedback/badge/badge.js +17 -1
  431. package/dist/components/status-and-feedback/badge/badge.js.map +1 -1
  432. package/dist/components/status-and-feedback/badge/badge.styles.d.ts.map +1 -1
  433. package/dist/components/status-and-feedback/badge/badge.styles.js +41 -10
  434. package/dist/components/status-and-feedback/badge/badge.styles.js.map +1 -1
  435. package/dist/components/status-and-feedback/badge/badge.template.js +1 -1
  436. package/dist/components/status-and-feedback/badge/badge.template.js.map +1 -1
  437. package/dist/components/status-and-feedback/banner/banner.styles.js +2 -2
  438. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.d.ts +37 -36
  439. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.d.ts.map +1 -1
  440. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.js +37 -36
  441. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.js.map +1 -1
  442. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.d.ts +1 -1
  443. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.js +2 -2
  444. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.js.map +1 -1
  445. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.styles.d.ts.map +1 -1
  446. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.styles.js +7 -0
  447. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.styles.js.map +1 -1
  448. package/dist/components/status-and-feedback/notification/notification-region.js +1 -1
  449. package/dist/components/status-and-feedback/status-bar/status-bar.d.ts +29 -28
  450. package/dist/components/status-and-feedback/status-bar/status-bar.d.ts.map +1 -1
  451. package/dist/components/status-and-feedback/status-bar/status-bar.js +29 -28
  452. package/dist/components/status-and-feedback/status-bar/status-bar.js.map +1 -1
  453. package/dist/components/status-and-feedback/step-indicator/step-indicator.styles.js +1 -1
  454. package/dist/components/{visibility-mixin-GxbwkBb1.js → visibility-mixin-vbfhyo7f.js} +1 -1
  455. package/dist/components/{with-translations-DzAdFTK8.js → with-translations-CqUV9S5g.js} +1 -1
  456. package/dist/css/form-section.css +28 -46
  457. package/dist/css/form.css +7 -13
  458. package/dist/css/rich-text.css +5 -5
  459. package/dist/css/variables.css +133 -8
  460. package/dist/nldd.min.js +1382 -875
  461. package/dist/types/vue.d.ts +530 -336
  462. package/dist/utilities/codemirror/codemirror-element.d.ts.map +1 -1
  463. package/dist/utilities/codemirror/codemirror-element.js +5 -0
  464. package/dist/utilities/codemirror/codemirror-element.js.map +1 -1
  465. package/dist/utilities/described-by-mixin.d.ts +49 -0
  466. package/dist/utilities/described-by-mixin.d.ts.map +1 -0
  467. package/dist/utilities/described-by-mixin.js +109 -0
  468. package/dist/utilities/described-by-mixin.js.map +1 -0
  469. package/dist/utilities/form-associated-mixin.d.ts +5 -0
  470. package/dist/utilities/form-associated-mixin.d.ts.map +1 -1
  471. package/dist/utilities/form-associated-mixin.js +69 -0
  472. package/dist/utilities/form-associated-mixin.js.map +1 -1
  473. package/dist/utilities/scroll-mode-controller.d.ts +9 -1
  474. package/dist/utilities/scroll-mode-controller.d.ts.map +1 -1
  475. package/dist/utilities/scroll-mode-controller.js +10 -2
  476. package/dist/utilities/scroll-mode-controller.js.map +1 -1
  477. package/package.json +21 -9
  478. package/dist/components/lists-and-tables/list-item-action/list-item-action.d.ts +0 -108
  479. package/dist/components/lists-and-tables/list-item-action/list-item-action.d.ts.map +0 -1
  480. package/dist/components/lists-and-tables/list-item-action/list-item-action.js.map +0 -1
  481. package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.d.ts +0 -2
  482. package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.d.ts.map +0 -1
  483. package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.js +0 -145
  484. package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.js.map +0 -1
  485. package/dist/components/lists-and-tables/list-item-action/list-item-action.template.d.ts +0 -3
  486. package/dist/components/lists-and-tables/list-item-action/list-item-action.template.d.ts.map +0 -1
  487. package/dist/components/lists-and-tables/list-item-action/list-item-action.template.js.map +0 -1
@@ -9,14 +9,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
9
9
  *
10
10
  * @element nldd-form-field
11
11
  *
12
- * @attr {string} label-alignment - 'top' (default) | 'right' | 'left'. Een eigen waarde wint altijd over de inherited form-label-alignment.
13
- * @attr {string} form-label-alignment - Door wrappende nldd-form gezet als fallback. Niet zelf zetten in consumer-code.
12
+ * @attr {string} label-alignment - 'top' (default) | 'right' | 'left'. A value of its own always wins over the inherited form-label-alignment.
13
+ * @attr {string} form-label-alignment - Set by a wrapping nldd-form as a fallback. Do not set it yourself in consumer code.
14
14
  * @attr {string} label - Field label text. Omit for no-label layout.
15
15
  * @attr {string} supporting-label - Short supporting text below the label. Same typography as optional badge.
16
16
  * @attr {boolean} optional - Shows an optional badge next to the label.
17
17
  * @attr {string} optional-label - Text for the optional badge. Defaults to 'Optioneel'.
18
18
  *
19
- * @slot - The slotted input (e.g. nldd-text-field). Set `invalid` and `error-message="id1 id2"` on the input to wire up error texts. nldd-form-field-error-text elements assign themselves to the errors slot automatically.
19
+ * @slot - The slotted input (e.g. nldd-text-field), its nldd-validation-list and its nldd-form-field-help-text.
20
20
  *
21
21
  * ─────────────────────────────────────────────────────────────────────────
22
22
  *
@@ -26,32 +26,26 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
26
26
  *
27
27
  * ─────────────────────────────────────────────────────────────────────────
28
28
  *
29
- * @element nldd-form-field-error-text
30
- *
31
- * @attr {string} id - Referenced by the input's `error-message` attribute.
32
- * @attr {boolean} invalid - Visibility managed automatically by nldd-form-field.
33
- *
34
- * @slot - The error message text.
35
- *
36
- * ─────────────────────────────────────────────────────────────────────────
37
- *
38
29
  * @example
39
30
  * <nldd-form-field label="Password">
31
+ * <nldd-password-field invalid></nldd-password-field>
32
+ * <nldd-validation-list>
33
+ * <nldd-validation-item id="password-required" required>This field is required.</nldd-validation-item>
34
+ * <nldd-validation-item id="password-length" minlength="8">Must be at least 8 characters.</nldd-validation-item>
35
+ * </nldd-validation-list>
40
36
  * <nldd-form-field-help-text>
41
- * At least 8 characters. <a href="/help">Learn more</a>.
37
+ * We only use this to sign you in. <a href="/help">Learn more</a>.
42
38
  * </nldd-form-field-help-text>
43
- * <nldd-text-field invalid error-message="error-required error-length"></nldd-text-field>
44
- * <nldd-form-field-error-text id="error-required">This field is required.</nldd-form-field-error-text>
45
- * <nldd-form-field-error-text id="error-length">Must be at least 8 characters.</nldd-form-field-error-text>
46
39
  * </nldd-form-field>
47
40
  */
48
41
  import { LitElement } from 'lit';
49
- import { customElement, property, state } from 'lit/decorators.js';
42
+ import { customElement, property } from 'lit/decorators.js';
50
43
  import { setOwnedAttribute } from '../../../utilities/owned-attribute.js';
51
- import { formFieldStyles, formFieldHelpTextStyles, formFieldErrorTextStyles, } from './form-field.styles.js';
52
- import { formFieldTemplate, formFieldHelpTextTemplate, formFieldErrorTextTemplate, } from './form-field.template.js';
44
+ import { applyDescribedBy } from '../../../utilities/described-by-mixin.js';
45
+ import { formFieldStyles, formFieldHelpTextStyles, } from './form-field.styles.js';
46
+ import { formFieldTemplate, formFieldHelpTextTemplate, } from './form-field.template.js';
53
47
  // Exclude helper elements so _findInput() never returns them instead of the actual input
54
- const HELPER_TAGS = ['nldd-form-field-help-text', 'nldd-form-field-error-text'];
48
+ const HELPER_TAGS = ['nldd-form-field-help-text'];
55
49
  /**
56
50
  * Whether this element is the input a field is about.
57
51
  *
@@ -118,18 +112,15 @@ let NLDDFormField = class NLDDFormField extends LitElement {
118
112
  /** Label text for the optional badge. Defaults to 'Optioneel'. Override for localisation. */
119
113
  this.optionalLabel = 'Optioneel';
120
114
  this._childObserver = null;
121
- this._observer = null;
122
115
  /** The last label this field wrote onto the control, so it only takes back its own. */
123
116
  this._appliedLabel = null;
124
117
  /** Keeps the "no input found" warning to one per field rather than one per mutation. */
125
118
  this._warnedNoInput = false;
126
- this._hasErrors = false;
127
119
  }
128
120
  render() {
129
121
  return formFieldTemplate(this);
130
122
  }
131
123
  updated(changed) {
132
- this.classList.toggle('has-errors', this._hasErrors);
133
124
  if (changed.has('label')) {
134
125
  this._onSlotChange();
135
126
  }
@@ -145,7 +136,6 @@ let NLDDFormField = class NLDDFormField extends LitElement {
145
136
  disconnectedCallback() {
146
137
  super.disconnectedCallback();
147
138
  this._childObserver?.disconnect();
148
- this._observer?.disconnect();
149
139
  }
150
140
  /**
151
141
  * Called when the label is clicked — focuses the slotted input.
@@ -170,8 +160,6 @@ let NLDDFormField = class NLDDFormField extends LitElement {
170
160
  input.focus();
171
161
  }
172
162
  _onSlotChange() {
173
- // Disconnect the previous attribute observer before wiring up a new one.
174
- this._observer?.disconnect();
175
163
  const input = this._findInput();
176
164
  if (!input) {
177
165
  // Only once there is something to look at. An empty field is usually one
@@ -202,17 +190,8 @@ let NLDDFormField = class NLDDFormField extends LitElement {
202
190
  input.id = generateId();
203
191
  }
204
192
  this._applyAccessibleLabel(input);
205
- // Ensure each help text element has an id so it can be referenced in aria-describedby
206
- Array.from(this.children)
207
- .filter(el => el.tagName.toLowerCase() === 'nldd-form-field-help-text')
208
- .forEach(el => { if (!el.id)
209
- el.id = generateId(); });
210
- this._observer = new MutationObserver(() => this._syncErrorText());
211
- this._observer.observe(input, {
212
- attributes: true,
213
- attributeFilter: ['invalid', 'error-message'],
214
- });
215
- this._syncErrorText();
193
+ this._adoptValidationLists(input);
194
+ this._syncDescription();
216
195
  }
217
196
  /**
218
197
  * Hands the label to the control as its accessible name, through whichever
@@ -247,6 +226,42 @@ let NLDDFormField = class NLDDFormField extends LitElement {
247
226
  return;
248
227
  this._appliedLabel = setOwnedAttribute(input, attribute, this.label, this._appliedLabel);
249
228
  }
229
+ /**
230
+ * Hands every validation list in this field the control it is about, so it
231
+ * does not have to go looking for one.
232
+ *
233
+ * A list with a `for` of its own is left alone: that is how you say it is
234
+ * about a different control than the first.
235
+ *
236
+ * More than one control in a field is allowed and sometimes right, a radio
237
+ * group with an "Anders" text field beside it being the case this component
238
+ * is built for. But a list that reads a value would then quietly read the
239
+ * wrong one, and nothing on screen would show it: the rules simply never
240
+ * match. Say so once, where it can still be fixed.
241
+ */
242
+ _adoptValidationLists(input) {
243
+ const lists = Array.from(this.children)
244
+ .filter((el) => el.tagName.toLowerCase() === 'nldd-validation-list');
245
+ if (!lists.length)
246
+ return;
247
+ for (const list of lists) {
248
+ if (!list.getAttribute('for'))
249
+ list.control = input;
250
+ }
251
+ if (!import.meta.env?.DEV)
252
+ return;
253
+ const controls = Array.from(this.children)
254
+ .filter(el => !HELPER_TAGS.includes(el.tagName.toLowerCase()) && isFormInput(el));
255
+ if (controls.length < 2)
256
+ return;
257
+ const readsValue = lists.some(list => !list.getAttribute('for') && Array.from(list.children)
258
+ .some(item => item.hasAttribute('match') || item.hasAttribute('minlength') || item.hasAttribute('maxlength')));
259
+ if (!readsValue)
260
+ return;
261
+ const which = this.label ? ` (label="${this.label}")` : '';
262
+ console.warn(`<nldd-form-field>${which}: more than one control, and the validation list has rules that read a value. `
263
+ + `It is reading <${input.localName}>, the first one. Set \`for\` on the list if it should read another.`);
264
+ }
250
265
  /**
251
266
  * The input this field is about: the first one in the light DOM, wrapped or
252
267
  * not.
@@ -278,55 +293,41 @@ let NLDDFormField = class NLDDFormField extends LitElement {
278
293
  return undefined;
279
294
  }
280
295
  /**
281
- * Reads `invalid` and `error-message` from the input and toggles
282
- * the `invalid` attribute on the referenced nldd-form-field-error-text elements.
283
- * Also sets `aria-describedby` on the input to reference visible error texts.
296
+ * Hands the control the elements that describe it.
297
+ *
298
+ * Elements and not ids. An IDREF resolves inside the tree of the element
299
+ * that carries it, so an id written here cannot be found from inside a
300
+ * component's shadow root: the attribute lands, the id is right, and the
301
+ * description comes out empty. A control that renders its own input takes
302
+ * `describedByElements` and puts the references where they belong; anything
303
+ * that is the control itself, a native input or a host with a role of its
304
+ * own, is pointed at directly.
284
305
  *
285
- * Note: this mechanism relies on the slotted input reflecting an `invalid`
286
- * attribute, which nldd-text-field and nldd-password-field do. Plain native
287
- * `<input>` elements use constraint validation (validity.valid, the `invalid`
288
- * event) instead support for native inputs is a known limitation and
289
- * tracked as a follow-up.
306
+ * The list once, not each of its items. The items come and go while you
307
+ * type, and a description rewritten per keystroke is a lot of churn in
308
+ * something assistive software is reading. A hidden item counts for nothing
309
+ * in the description, so one reference gives exactly what is on screen, and
310
+ * this never has to run again when the value changes.
311
+ *
312
+ * The requirements before the plain help text: what is wrong is why you are
313
+ * here.
290
314
  */
291
- _syncErrorText() {
315
+ _syncDescription() {
292
316
  const input = this._findInput();
293
317
  if (!input)
294
318
  return;
295
- const isCustomInput = 'inputId' in input;
296
- const isInvalid = input.hasAttribute('invalid');
297
- const referencedIds = (input.getAttribute('error-message') ?? '')
298
- .split(' ')
299
- .filter(Boolean);
300
- const allErrorTexts = Array.from(this.children)
301
- .filter(el => el.tagName.toLowerCase() === 'nldd-form-field-error-text');
302
- const helpIds = Array.from(this.children)
303
- .filter(el => el.tagName.toLowerCase() === 'nldd-form-field-help-text' && el.id)
304
- .map(el => el.id);
305
- const visibleErrorIds = [];
306
- for (const el of allErrorTexts) {
307
- const shouldShow = isInvalid && referencedIds.includes(el.id);
308
- el.toggleAttribute('invalid', shouldShow);
309
- if (shouldShow && el.id)
310
- visibleErrorIds.push(el.id);
311
- }
312
- // Prepend help text IDs so they are announced first, then error IDs.
313
- const describedByIds = [...helpIds, ...visibleErrorIds];
314
- const describedByValue = describedByIds.join(' ');
315
- if (isCustomInput) {
316
- // For custom elements (nldd-text-field, nldd-password-field), set error-message-ids
317
- // so they can forward it to the inner <input aria-describedby>. IDs do not cross
318
- // shadow DOM boundaries so setting aria-describedby on the host is not sufficient.
319
- input.errorMessageIds = describedByValue;
319
+ const children = Array.from(this.children);
320
+ const tag = (el) => el.tagName.toLowerCase();
321
+ const describedBy = [
322
+ ...children.filter(el => tag(el) === 'nldd-validation-list'),
323
+ ...children.filter(el => tag(el) === 'nldd-form-field-help-text'),
324
+ ];
325
+ if ('describedByElements' in input) {
326
+ input.describedByElements = describedBy;
320
327
  }
321
328
  else {
322
- if (describedByIds.length > 0) {
323
- input.setAttribute('aria-describedby', describedByValue);
324
- }
325
- else {
326
- input.removeAttribute('aria-describedby');
327
- }
329
+ applyDescribedBy(input, describedBy);
328
330
  }
329
- this._hasErrors = visibleErrorIds.length > 0;
330
331
  }
331
332
  };
332
333
  NLDDFormField.styles = formFieldStyles;
@@ -345,9 +346,6 @@ __decorate([
345
346
  __decorate([
346
347
  property({ type: String, attribute: 'optional-label' })
347
348
  ], NLDDFormField.prototype, "optionalLabel", void 0);
348
- __decorate([
349
- state()
350
- ], NLDDFormField.prototype, "_hasErrors", void 0);
351
349
  NLDDFormField = __decorate([
352
350
  customElement('nldd-form-field')
353
351
  ], NLDDFormField);
@@ -371,34 +369,4 @@ NLDDFormFieldHelpText = __decorate([
371
369
  customElement('nldd-form-field-help-text')
372
370
  ], NLDDFormFieldHelpText);
373
371
  export { NLDDFormFieldHelpText };
374
- /* ============================================================
375
- nldd-form-field-error-text
376
- ============================================================ */
377
- let NLDDFormFieldErrorText = class NLDDFormFieldErrorText extends LitElement {
378
- constructor() {
379
- super(...arguments);
380
- /**
381
- * When present the error text is visible.
382
- * Managed automatically by the parent nldd-form-field — do not set manually.
383
- */
384
- this.invalid = false;
385
- }
386
- connectedCallback() {
387
- super.connectedCallback();
388
- // Assign to the 'errors' slot automatically so consumers don't need to set slot="errors" manually.
389
- // Note: this will overwrite any explicit slot attribute set by the consumer.
390
- this.slot = 'errors';
391
- }
392
- render() {
393
- return formFieldErrorTextTemplate(this);
394
- }
395
- };
396
- NLDDFormFieldErrorText.styles = formFieldErrorTextStyles;
397
- __decorate([
398
- property({ type: Boolean, reflect: true })
399
- ], NLDDFormFieldErrorText.prototype, "invalid", void 0);
400
- NLDDFormFieldErrorText = __decorate([
401
- customElement('nldd-form-field-error-text')
402
- ], NLDDFormFieldErrorText);
403
- export { NLDDFormFieldErrorText };
404
372
  //# sourceMappingURL=form-field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-field.js","sourceRoot":"","sources":["../../../../src/components/forms/form-field/form-field.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-field.js","sourceRoot":"","sources":["../../../../src/components/forms/form-field/form-field.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
1
  export declare const formFieldStyles: import("lit").CSSResult;
2
2
  export declare const formFieldHelpTextStyles: import("lit").CSSResult;
3
- export declare const formFieldErrorTextStyles: import("lit").CSSResult;
4
3
  //# sourceMappingURL=form-field.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-field.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-field/form-field.styles.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,yBA+K3B,CAAC;AAEF,eAAO,MAAM,uBAAuB,yBAwDnC,CAAC;AAEF,eAAO,MAAM,wBAAwB,yBA4DpC,CAAC"}
1
+ {"version":3,"file":"form-field.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-field/form-field.styles.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,yBA0K3B,CAAC;AAEF,eAAO,MAAM,uBAAuB,yBAwDnC,CAAC"}
@@ -11,7 +11,8 @@ export const formFieldStyles = css `
11
11
  /* # Host */
12
12
 
13
13
  :host {
14
- --_gap: var(--primitives-space-3);
14
+ --_gap: var(--primitives-space-4);
15
+ --_description-gap: var(--primitives-space-4);
15
16
 
16
17
  ${inheritedTextReset}
17
18
  display: block;
@@ -108,7 +109,7 @@ export const formFieldStyles = css `
108
109
  gap: var(--primitives-space-4);
109
110
  align-items: baseline;
110
111
  color: var(--semantics-content-color);
111
- font: var(--primitives-font-body-md-regular-tight);
112
+ font: var(--primitives-font-body-md-regular-flat);
112
113
  text-wrap: pretty;
113
114
  }
114
115
 
@@ -166,17 +167,11 @@ export const formFieldStyles = css `
166
167
  flex-basis: 0;
167
168
  }
168
169
 
169
-
170
- /* # Errors */
171
-
172
- .form-field__errors {
173
- display: flex;
174
- flex-direction: column;
170
+ ::slotted(nldd-validation-list) {
171
+ margin-block-start: var(--_description-gap);
175
172
  }
176
173
 
177
- :host(.has-errors) .form-field__errors {
178
- margin-top: var(--primitives-space-3);
179
- }
174
+
180
175
  `;
181
176
  export const formFieldHelpTextStyles = css `
182
177
 
@@ -198,73 +193,12 @@ export const formFieldHelpTextStyles = css `
198
193
  /* # Help text */
199
194
 
200
195
  .form-field__help-text {
201
- margin: var(--primitives-space-3) 0 0;
196
+ margin: var(--primitives-space-4) 0 0;
202
197
  color: var(--semantics-content-color);
203
198
  font: var(--primitives-font-body-sm-regular-tight);
204
199
  }
205
200
 
206
201
 
207
- /* # Links */
208
-
209
- ::slotted(a) {
210
- ${slottedReset}
211
- ${inheritedTextReset}
212
- border-radius: var(--primitives-corner-radius-xxs) !important;
213
- color: var(--semantics-links-color) !important;
214
- text-decoration: underline !important;
215
- text-underline-offset: var(--primitives-space-2) !important;
216
- }
217
-
218
- @media (hover: hover) {
219
- ::slotted(a:hover) {
220
- color: var(--semantics-links-is-hovered-color) !important;
221
- }
222
- }
223
-
224
- ::slotted(a:active) {
225
- color: var(--semantics-links-is-active-color) !important;
226
- }
227
-
228
- ::slotted(a:focus-visible) {
229
- outline: var(--semantics-focus-ring-outline) !important;
230
- outline-offset: var(--semantics-focus-ring-outline-offset) !important;
231
- box-shadow: var(--semantics-focus-ring-box-shadow) !important;
232
- }
233
-
234
- ::slotted(a:focus:not(:focus-visible)) {
235
- outline: none !important;
236
- }
237
- `;
238
- export const formFieldErrorTextStyles = css `
239
-
240
-
241
- /* # Host */
242
-
243
- :host {
244
- ${inheritedTextReset}
245
- display: none;
246
- }
247
-
248
- :host([invalid]) {
249
- display: block;
250
- }
251
-
252
- /* After the invalid rule at equal specificity: hidden must also win on an
253
- error text that is currently shown. */
254
- :host([hidden]) {
255
- display: none;
256
- }
257
-
258
-
259
- /* # Error text */
260
-
261
- .form-field__error-text {
262
- margin: 0;
263
- color: var(--semantics-content-critical-color);
264
- font: var(--primitives-font-body-sm-regular-tight);
265
- }
266
-
267
-
268
202
  /* # Links */
269
203
 
270
204
  ::slotted(a) {
@@ -1 +1 @@
1
- {"version":3,"file":"form-field.styles.js","sourceRoot":"","sources":["../../../../src/components/forms/form-field/form-field.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE3F,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAE3C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;;;;IAW9B,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;2BAwBK,KAAK;;;;;;;;;;;;;;;;;;;;;;;;2BAwBL,KAAK;;;;;;;;;;;;2BAYL,KAAK;;;;;;;;2BAQL,KAAK;;;;;;;;;;;;;;2BAcL,KAAK;;;;;;;;;;;;;;;;;;;;;2BAqBL,KAAK;;;;;;;;;2BASL,KAAK;;;;;;;2BAOL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6C/B,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAA;;;;;;IAMtC,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;IAuBlB,YAAY;IACZ,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BrB,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAA;;;;;;IAMvC,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2BlB,YAAY;IACZ,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BrB,CAAC"}
1
+ {"version":3,"file":"form-field.styles.js","sourceRoot":"","sources":["../../../../src/components/forms/form-field/form-field.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE3F,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAE3C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;;;;;IAY9B,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;2BAwBK,KAAK;;;;;;;;;;;;;;;;;;;;;;;;2BAwBL,KAAK;;;;;;;;;;;;2BAYL,KAAK;;;;;;;;2BAQL,KAAK;;;;;;;;;;;;;;2BAcL,KAAK;;;;;;;;;;;;;;;;;;;;;2BAqBL,KAAK;;;;;;;;;2BASL,KAAK;;;;;;;2BAOL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuC/B,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAA;;;;;;IAMtC,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;IAuBlB,YAAY;IACZ,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BrB,CAAC"}
@@ -1,8 +1,6 @@
1
1
  import { TemplateResult } from 'lit';
2
2
  import type { NLDDFormField } from './form-field.js';
3
3
  import type { NLDDFormFieldHelpText } from './form-field.js';
4
- import type { NLDDFormFieldErrorText } from './form-field.js';
5
4
  export declare function formFieldTemplate(component: NLDDFormField): TemplateResult;
6
5
  export declare function formFieldHelpTextTemplate(_component: NLDDFormFieldHelpText): TemplateResult;
7
- export declare function formFieldErrorTextTemplate(_component: NLDDFormFieldErrorText): TemplateResult;
8
6
  //# sourceMappingURL=form-field.template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-field.template.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-field/form-field.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,cAAc,EAAE,MAAM,KAAK,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAU9D,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,aAAa,GAAG,cAAc,CAmC1E;AAMD,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,qBAAqB,GAAG,cAAc,CAM3F;AAMD,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,sBAAsB,GAAG,cAAc,CAM7F"}
1
+ {"version":3,"file":"form-field.template.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-field/form-field.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,cAAc,EAAE,MAAM,KAAK,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAU7D,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,aAAa,GAAG,cAAc,CA8B1E;AAMD,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,qBAAqB,GAAG,cAAc,CAM3F"}
@@ -30,11 +30,6 @@ export function formFieldTemplate(component) {
30
30
  ${headerEl}
31
31
  <div class="form-field__main">
32
32
  <slot></slot>
33
- <div class="form-field__errors"
34
- aria-live="polite"
35
- >
36
- <slot name="errors"></slot>
37
- </div>
38
33
  <slot name="help"></slot>
39
34
  </div>
40
35
  </div>
@@ -50,14 +45,4 @@ export function formFieldHelpTextTemplate(_component) {
50
45
  </p>
51
46
  `;
52
47
  }
53
- /* ============================================================
54
- nldd-form-field-error-text
55
- ============================================================ */
56
- export function formFieldErrorTextTemplate(_component) {
57
- return html `
58
- <p class="form-field__error-text">
59
- <slot></slot>
60
- </p>
61
- `;
62
- }
63
48
  //# sourceMappingURL=form-field.template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-field.template.js","sourceRoot":"","sources":["../../../../src/components/forms/form-field/form-field.template.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAC;AAKpD;;kEAEkE;AAElE,SAAS,cAAc,CAAC,KAAa;IACpC,OAAO,IAAI,CAAA,sCAAsC,KAAK,SAAS,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAwB;IACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,CAAC,QAAQ,IAAI,CAAC,kBAAkB,CAAC;IAEvD,MAAM,QAAQ,GAAG,IAAI,CAAA;mCACa,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;KAC7D,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;;cAEN,CAAC,CAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;;OAE7C,SAAS,CAAC,KAAK;OACf,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO;;IAEzE,CAAC,CAAC,CAAC,OAAO;KACT,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAA;iDACmB,SAAS,CAAC,eAAe;IACtE,CAAC,CAAC,CAAC,OAAO;;EAEZ,CAAC;IAEF,OAAO,IAAI,CAAA;;KAEP,QAAQ;;;;;;;;;;;EAWX,CAAC;AACH,CAAC;AAED;;kEAEkE;AAElE,MAAM,UAAU,yBAAyB,CAAC,UAAiC;IAC1E,OAAO,IAAI,CAAA;;;;EAIV,CAAC;AACH,CAAC;AAED;;kEAEkE;AAElE,MAAM,UAAU,0BAA0B,CAAC,UAAkC;IAC5E,OAAO,IAAI,CAAA;;;;EAIV,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"form-field.template.js","sourceRoot":"","sources":["../../../../src/components/forms/form-field/form-field.template.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAC;AAIpD;;kEAEkE;AAElE,SAAS,cAAc,CAAC,KAAa;IACpC,OAAO,IAAI,CAAA,sCAAsC,KAAK,SAAS,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAwB;IACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,CAAC,QAAQ,IAAI,CAAC,kBAAkB,CAAC;IAEvD,MAAM,QAAQ,GAAG,IAAI,CAAA;mCACa,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;KAC7D,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;;cAEN,CAAC,CAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;;OAE7C,SAAS,CAAC,KAAK;OACf,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO;;IAEzE,CAAC,CAAC,CAAC,OAAO;KACT,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAA;iDACmB,SAAS,CAAC,eAAe;IACtE,CAAC,CAAC,CAAC,OAAO;;EAEZ,CAAC;IAEF,OAAO,IAAI,CAAA;;KAEP,QAAQ;;;;;;EAMX,CAAC;AACH,CAAC;AAED;;kEAEkE;AAElE,MAAM,UAAU,yBAAyB,CAAC,UAAiC;IAC1E,OAAO,IAAI,CAAA;;;;EAIV,CAAC;AACH,CAAC"}
@@ -1,18 +1,18 @@
1
1
  /**
2
2
  * Nederlandse Digitale Dienst Form Section Component
3
3
  *
4
- * Plain custom element (extends HTMLElement, no Lit) light-DOM render
5
- * lost een NVDA + Firefox a11y-bug op waar shadow-DOM <fieldset> + <legend>
6
- * niet betrouwbaar als group-label aangekondigd worden voor slotted
7
- * controls. Native fieldset/legend in light DOM werkt correct over alle
8
- * AT/browser-combinaties.
4
+ * Plain custom element (extends HTMLElement, no Lit). The light-DOM render
5
+ * works around an NVDA + Firefox a11y bug where a shadow-DOM <fieldset> +
6
+ * <legend> is not reliably announced as the group label for slotted controls.
7
+ * A native fieldset/legend in the light DOM works correctly across all
8
+ * AT/browser combinations.
9
9
  *
10
10
  * **Differs from shadow components:**
11
- * - Geen shadowRoot alle children leven in light DOM (binnen het
12
- * gerenderde <fieldset>).
13
- * - Geen Lit pure HTMLElement met handmatige DOM-mutation.
14
- * - **Vereist global stylesheet import** `dist/css/form-section.css`
15
- * (of `global.css`). Form-section heeft geen shadow stylesheet.
11
+ * - No shadowRoot: all children live in the light DOM (inside the rendered
12
+ * <fieldset>).
13
+ * - No Lit: a plain HTMLElement with manual DOM mutation.
14
+ * - **Requires a global stylesheet import**: `dist/css/form-section.css` (or
15
+ * `global.css`). Form-section has no shadow stylesheet.
16
16
  *
17
17
  * Renders to:
18
18
  *
@@ -28,22 +28,20 @@
28
28
  * </fieldset>
29
29
  * </nldd-form-section>
30
30
  *
31
- * **Accessibility note**: de title rendert als `<legend>`. Dat is
32
- * semantisch een **groep-label**, geen heading. Screenreaders
33
- * kondigen 't aan wanneer de gebruiker in de fieldset komt, maar
34
- * gebruikers die met de H-toets door headings springen slaan 'm
35
- * over. Visueel lijkt 't op een heading; gebruik dit component dus
36
- * voor *form-grouping*, niet als pagina-structuur. Voor echte
37
- * page-headings: gebruik een apart heading-element boven het form.
31
+ * **Accessibility note**: the title renders as a `<legend>`. Semantically that
32
+ * is a **group label**, not a heading. Screen readers announce it when the user
33
+ * enters the fieldset, but users jumping through headings with the H key skip
34
+ * it. Visually it looks like a heading, so use this component for *form
35
+ * grouping*, not as page structure. For real page headings, use a separate
36
+ * heading element above the form.
38
37
  *
39
- * **Supporting-text lengte**: de subtitle staat als `<span>` binnen
40
- * de `<legend>` zodat SR 'm meeleest als group label. Bijwerking: bij
41
- * elke field-entry binnen de sectie wordt de hele legend (titel +
42
- * subtitel) opnieuw uitgesproken. Houd `supporting-text` daarom kort
43
- * (richtlijn: ~80 tekens) en gebruik 'm voor groep-introductie
44
- * ("Vul je adresgegevens in"), niet voor uitgebreide instructies.
45
- * Voor langere uitleg op een specifiek veld: gebruik
46
- * `nldd-form-field-help-text` op dat veld.
38
+ * **Supporting-text length**: the subtitle sits as a `<span>` inside the
39
+ * `<legend>` so a screen reader reads it along as the group label. Side effect:
40
+ * on every field entry within the section, the whole legend (title + subtitle)
41
+ * is spoken again. Keep `supporting-text` short (roughly 80 characters or less)
42
+ * and use it to introduce the group ("Vul je adresgegevens in"), not for
43
+ * detailed instructions. For a longer explanation on one specific field, use
44
+ * `nldd-form-field-help-text` on that field.
47
45
  *
48
46
  * <nldd-form>
49
47
  * <nldd-form-section text="Persoonsgegevens" supporting-text="Vul je gegevens in.">
@@ -60,10 +58,10 @@
60
58
  *
61
59
  * @element nldd-form-section
62
60
  *
63
- * @attr {string} text - Heading-tekst (gerenderd in `<legend>`).
64
- * @attr {string} supporting-text - Korte beschrijving onder de heading. Houd ~80 tekens (zie a11y-note).
61
+ * @attr {string} text - Heading text (rendered in the `<legend>`).
62
+ * @attr {string} supporting-text - Short description under the heading. Keep it to roughly 80 characters or less (see the a11y note).
65
63
  *
66
- * Children van de form-section worden in `.form-section__main` geplaatst.
64
+ * Children of the form-section are placed in `.form-section__main`.
67
65
  */
68
66
  export declare class NLDDFormSection extends HTMLElement {
69
67
  static get observedAttributes(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"form-section.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-section/form-section.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AAQH,qBAAa,eAAgB,SAAQ,WAAW;IAC/C,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,iBAAiB,CAAS;IAElC,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAGrB;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IACD,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,EAG/B;IAED,iBAAiB,IAAI,IAAI;IAyBzB,oBAAoB,IAAI,IAAI;IAK5B,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAU5C,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,eAAe;IA4BvB,OAAO,CAAC,aAAa;CAsCrB;AAMD,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,mBAAmB,EAAE,eAAe,CAAC;KACrC;CACD"}
1
+ {"version":3,"file":"form-section.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-section/form-section.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AAQH,qBAAa,eAAgB,SAAQ,WAAW;IAC/C,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,iBAAiB,CAAS;IAElC,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAGrB;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IACD,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,EAG/B;IAED,iBAAiB,IAAI,IAAI;IAyBzB,oBAAoB,IAAI,IAAI;IAK5B,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAU5C,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,eAAe;IA4BvB,OAAO,CAAC,aAAa;CAsCrB;AAMD,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,mBAAmB,EAAE,eAAe,CAAC;KACrC;CACD"}