@nldd/design-system 0.8.83 → 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 (421) hide show
  1. package/custom-elements.json +3415 -476
  2. package/dist/components/actions/button/button.d.ts +4 -2
  3. package/dist/components/actions/button/button.d.ts.map +1 -1
  4. package/dist/components/actions/button/button.js +7 -2
  5. package/dist/components/actions/button/button.js.map +1 -1
  6. package/dist/components/actions/icon-button/icon-button.d.ts +1 -1
  7. package/dist/components/actions/icon-button/icon-button.js +1 -1
  8. package/dist/components/actions/menu/menu.d.ts +3 -1
  9. package/dist/components/actions/menu/menu.d.ts.map +1 -1
  10. package/dist/components/actions/menu/menu.js +22 -11
  11. package/dist/components/actions/menu/menu.js.map +1 -1
  12. package/dist/components/actions/toolbar/toolbar.styles.js +2 -2
  13. package/dist/components/components.js +2027 -941
  14. package/dist/components/content/avatar/avatar.d.ts +6 -0
  15. package/dist/components/content/avatar/avatar.d.ts.map +1 -1
  16. package/dist/components/content/avatar/avatar.js +9 -0
  17. package/dist/components/content/avatar/avatar.js.map +1 -1
  18. package/dist/components/content/avatar/avatar.template.d.ts.map +1 -1
  19. package/dist/components/content/avatar/avatar.template.js +2 -0
  20. package/dist/components/content/avatar/avatar.template.js.map +1 -1
  21. package/dist/components/content/avatar-group/avatar-group.styles.d.ts.map +1 -1
  22. package/dist/components/content/avatar-group/avatar-group.styles.js +6 -16
  23. package/dist/components/content/avatar-group/avatar-group.styles.js.map +1 -1
  24. package/dist/components/content/blockquote/blockquote.d.ts +3 -4
  25. package/dist/components/content/blockquote/blockquote.d.ts.map +1 -1
  26. package/dist/components/content/blockquote/blockquote.js +3 -4
  27. package/dist/components/content/blockquote/blockquote.js.map +1 -1
  28. package/dist/components/content/icon/icon-aliases.d.ts.map +1 -1
  29. package/dist/components/content/icon/icon-aliases.js +2 -0
  30. package/dist/components/content/icon/icon-aliases.js.map +1 -1
  31. package/dist/components/content/icon/icon-gallery-status.d.ts.map +1 -1
  32. package/dist/components/content/icon/icon-gallery-status.js +2 -0
  33. package/dist/components/content/icon/icon-gallery-status.js.map +1 -1
  34. package/dist/components/content/icon/icon-registry.d.ts.map +1 -1
  35. package/dist/components/content/icon/icon-registry.js +2 -0
  36. package/dist/components/content/icon/icon-registry.js.map +1 -1
  37. package/dist/components/content/image/image.d.ts +1 -1
  38. package/dist/components/content/image/image.js +1 -1
  39. package/dist/components/content/image/image.styles.d.ts.map +1 -1
  40. package/dist/components/content/image/image.styles.js +11 -0
  41. package/dist/components/content/image/image.styles.js.map +1 -1
  42. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.d.ts +30 -30
  43. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.js +30 -30
  44. package/dist/components/content/rich-text/rich-text.d.ts +20 -20
  45. package/dist/components/content/rich-text/rich-text.js +20 -20
  46. package/dist/components/content/title/title.d.ts +4 -4
  47. package/dist/components/content/title/title.js +4 -4
  48. package/dist/components/content/tooltip/tooltip.d.ts +1 -1
  49. package/dist/components/content/tooltip/tooltip.js +1 -1
  50. package/dist/components/{decorate-BKn10QQi.js → decorate-lwt_OrAG.js} +1 -1
  51. package/dist/components/{dist-TpIL8G4G.js → dist-762GHPyH.js} +3 -3
  52. package/dist/components/{dist-OBifyiJS.js → dist-BB7TxeMK.js} +2 -2
  53. package/dist/components/{dist-CJR_Rwhh.js → dist-BJI4-6iQ.js} +1 -1
  54. package/dist/components/{dist-C400RcFU.js → dist-B_3OW7pC.js} +1 -1
  55. package/dist/components/{dist-afrAoubg.js → dist-C09E9-dJ.js} +34 -34
  56. package/dist/components/{dist-Ccw7ZfsU.js → dist-C6gnorjP.js} +4 -3
  57. package/dist/components/{dist-bO14jlsr.js → dist-CRsR6ckU.js} +1 -1
  58. package/dist/components/{dist-C0PiB1dr.js → dist-CjaG8dOI.js} +2 -2
  59. package/dist/components/{dist-CCg5Mso_.js → dist-DZoFKUO-.js} +1 -1
  60. package/dist/components/{dist-Bq4xc7Bm.js → dist-DaavuU6W.js} +14 -3
  61. package/dist/components/{dist-BYVOPNHp.js → dist-la_b3ZSq.js} +1 -1
  62. package/dist/components/forms/form/form.d.ts +76 -22
  63. package/dist/components/forms/form/form.d.ts.map +1 -1
  64. package/dist/components/forms/form/form.js +127 -22
  65. package/dist/components/forms/form/form.js.map +1 -1
  66. package/dist/components/forms/form-actions/form-actions.d.ts +14 -15
  67. package/dist/components/forms/form-actions/form-actions.d.ts.map +1 -1
  68. package/dist/components/forms/form-actions/form-actions.js +14 -15
  69. package/dist/components/forms/form-actions/form-actions.js.map +1 -1
  70. package/dist/components/forms/form-field/form-field.d.ts +42 -39
  71. package/dist/components/forms/form-field/form-field.d.ts.map +1 -1
  72. package/dist/components/forms/form-field/form-field.js +79 -111
  73. package/dist/components/forms/form-field/form-field.js.map +1 -1
  74. package/dist/components/forms/form-field/form-field.styles.d.ts +0 -1
  75. package/dist/components/forms/form-field/form-field.styles.d.ts.map +1 -1
  76. package/dist/components/forms/form-field/form-field.styles.js +7 -73
  77. package/dist/components/forms/form-field/form-field.styles.js.map +1 -1
  78. package/dist/components/forms/form-field/form-field.template.d.ts +0 -2
  79. package/dist/components/forms/form-field/form-field.template.d.ts.map +1 -1
  80. package/dist/components/forms/form-field/form-field.template.js +0 -15
  81. package/dist/components/forms/form-field/form-field.template.js.map +1 -1
  82. package/dist/components/forms/form-section/form-section.d.ts +26 -28
  83. package/dist/components/forms/form-section/form-section.d.ts.map +1 -1
  84. package/dist/components/forms/form-section/form-section.js +27 -29
  85. package/dist/components/forms/form-section/form-section.js.map +1 -1
  86. package/dist/components/forms/validation-list/validation-list.d.ts +193 -0
  87. package/dist/components/forms/validation-list/validation-list.d.ts.map +1 -0
  88. package/dist/components/forms/validation-list/validation-list.js +358 -0
  89. package/dist/components/forms/validation-list/validation-list.js.map +1 -0
  90. package/dist/components/forms/validation-list/validation-list.styles.d.ts +3 -0
  91. package/dist/components/forms/validation-list/validation-list.styles.d.ts.map +1 -0
  92. package/dist/components/forms/validation-list/validation-list.styles.js +58 -0
  93. package/dist/components/forms/validation-list/validation-list.styles.js.map +1 -0
  94. package/dist/components/forms/validation-list/validation-list.template.d.ts +5 -0
  95. package/dist/components/forms/validation-list/validation-list.template.d.ts.map +1 -0
  96. package/dist/components/forms/validation-list/validation-list.template.js +16 -0
  97. package/dist/components/forms/validation-list/validation-list.template.js.map +1 -0
  98. package/dist/components/{icon-C1Kikpol.js → icon-VTLbdcvZ.js} +4 -1
  99. package/dist/components/{icon-button-BYy6hnAY.js → icon-button-Sne5TwRG.js} +5 -5
  100. package/dist/components/index.d.ts +1 -0
  101. package/dist/components/index.d.ts.map +1 -1
  102. package/dist/components/index.js +1 -0
  103. package/dist/components/index.js.map +1 -1
  104. package/dist/components/inputs/checkbox/checkbox.d.ts +20 -1
  105. package/dist/components/inputs/checkbox/checkbox.d.ts.map +1 -1
  106. package/dist/components/inputs/checkbox/checkbox.js +32 -2
  107. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  108. package/dist/components/inputs/checkbox/checkbox.template.d.ts.map +1 -1
  109. package/dist/components/inputs/checkbox/checkbox.template.js +2 -0
  110. package/dist/components/inputs/checkbox/checkbox.template.js.map +1 -1
  111. package/dist/components/inputs/checkbox-field/checkbox-field.d.ts +16 -1
  112. package/dist/components/inputs/checkbox-field/checkbox-field.d.ts.map +1 -1
  113. package/dist/components/inputs/checkbox-field/checkbox-field.js +27 -2
  114. package/dist/components/inputs/checkbox-field/checkbox-field.js.map +1 -1
  115. package/dist/components/inputs/checkbox-field/checkbox-field.template.d.ts.map +1 -1
  116. package/dist/components/inputs/checkbox-field/checkbox-field.template.js +2 -0
  117. package/dist/components/inputs/checkbox-field/checkbox-field.template.js.map +1 -1
  118. package/dist/components/inputs/code-editor/code-editor.d.ts +14 -1
  119. package/dist/components/inputs/code-editor/code-editor.d.ts.map +1 -1
  120. package/dist/components/inputs/code-editor/code-editor.js +21 -2
  121. package/dist/components/inputs/code-editor/code-editor.js.map +1 -1
  122. package/dist/components/inputs/combo-box/combo-box.d.ts +13 -2
  123. package/dist/components/inputs/combo-box/combo-box.d.ts.map +1 -1
  124. package/dist/components/inputs/combo-box/combo-box.js +32 -5
  125. package/dist/components/inputs/combo-box/combo-box.js.map +1 -1
  126. package/dist/components/inputs/combo-box/combo-box.styles.d.ts.map +1 -1
  127. package/dist/components/inputs/combo-box/combo-box.styles.js +9 -0
  128. package/dist/components/inputs/combo-box/combo-box.styles.js.map +1 -1
  129. package/dist/components/inputs/combo-box/combo-box.template.d.ts.map +1 -1
  130. package/dist/components/inputs/combo-box/combo-box.template.js +4 -0
  131. package/dist/components/inputs/combo-box/combo-box.template.js.map +1 -1
  132. package/dist/components/inputs/date-field/date-field.d.ts +29 -31
  133. package/dist/components/inputs/date-field/date-field.d.ts.map +1 -1
  134. package/dist/components/inputs/date-field/date-field.js +40 -37
  135. package/dist/components/inputs/date-field/date-field.js.map +1 -1
  136. package/dist/components/inputs/date-field/date-field.styles.d.ts.map +1 -1
  137. package/dist/components/inputs/date-field/date-field.styles.js +11 -0
  138. package/dist/components/inputs/date-field/date-field.styles.js.map +1 -1
  139. package/dist/components/inputs/date-field/date-field.template.d.ts.map +1 -1
  140. package/dist/components/inputs/date-field/date-field.template.js +0 -1
  141. package/dist/components/inputs/date-field/date-field.template.js.map +1 -1
  142. package/dist/components/inputs/date-picker/date-picker.d.ts +34 -21
  143. package/dist/components/inputs/date-picker/date-picker.d.ts.map +1 -1
  144. package/dist/components/inputs/date-picker/date-picker.js +42 -22
  145. package/dist/components/inputs/date-picker/date-picker.js.map +1 -1
  146. package/dist/components/inputs/dropdown/dropdown.d.ts +23 -2
  147. package/dist/components/inputs/dropdown/dropdown.d.ts.map +1 -1
  148. package/dist/components/inputs/dropdown/dropdown.js +36 -3
  149. package/dist/components/inputs/dropdown/dropdown.js.map +1 -1
  150. package/dist/components/inputs/file-field/file-field.d.ts +4 -3
  151. package/dist/components/inputs/file-field/file-field.d.ts.map +1 -1
  152. package/dist/components/inputs/file-field/file-field.js +8 -7
  153. package/dist/components/inputs/file-field/file-field.js.map +1 -1
  154. package/dist/components/inputs/file-field/file-field.template.d.ts.map +1 -1
  155. package/dist/components/inputs/file-field/file-field.template.js +0 -1
  156. package/dist/components/inputs/file-field/file-field.template.js.map +1 -1
  157. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.d.ts +7 -3
  158. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.d.ts.map +1 -1
  159. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.js +12 -8
  160. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.js.map +1 -1
  161. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.template.d.ts.map +1 -1
  162. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.template.js +2 -1
  163. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.template.js.map +1 -1
  164. package/dist/components/inputs/number-field/number-field.d.ts +12 -1
  165. package/dist/components/inputs/number-field/number-field.d.ts.map +1 -1
  166. package/dist/components/inputs/number-field/number-field.js +18 -3
  167. package/dist/components/inputs/number-field/number-field.js.map +1 -1
  168. package/dist/components/inputs/number-field/number-field.styles.d.ts.map +1 -1
  169. package/dist/components/inputs/number-field/number-field.styles.js +8 -16
  170. package/dist/components/inputs/number-field/number-field.styles.js.map +1 -1
  171. package/dist/components/inputs/password-field/password-field.d.ts +10 -3
  172. package/dist/components/inputs/password-field/password-field.d.ts.map +1 -1
  173. package/dist/components/inputs/password-field/password-field.js +18 -8
  174. package/dist/components/inputs/password-field/password-field.js.map +1 -1
  175. package/dist/components/inputs/password-field/password-field.template.d.ts.map +1 -1
  176. package/dist/components/inputs/password-field/password-field.template.js +3 -1
  177. package/dist/components/inputs/password-field/password-field.template.js.map +1 -1
  178. package/dist/components/inputs/radio-button/radio-button.d.ts +18 -1
  179. package/dist/components/inputs/radio-button/radio-button.d.ts.map +1 -1
  180. package/dist/components/inputs/radio-button/radio-button.js +27 -2
  181. package/dist/components/inputs/radio-button/radio-button.js.map +1 -1
  182. package/dist/components/inputs/radio-button/radio-button.template.d.ts.map +1 -1
  183. package/dist/components/inputs/radio-button/radio-button.template.js +1 -0
  184. package/dist/components/inputs/radio-button/radio-button.template.js.map +1 -1
  185. package/dist/components/inputs/radio-button-field/radio-button-field.d.ts +14 -1
  186. package/dist/components/inputs/radio-button-field/radio-button-field.d.ts.map +1 -1
  187. package/dist/components/inputs/radio-button-field/radio-button-field.js +22 -2
  188. package/dist/components/inputs/radio-button-field/radio-button-field.js.map +1 -1
  189. package/dist/components/inputs/radio-button-field/radio-button-field.template.d.ts.map +1 -1
  190. package/dist/components/inputs/radio-button-field/radio-button-field.template.js +1 -0
  191. package/dist/components/inputs/radio-button-field/radio-button-field.template.js.map +1 -1
  192. package/dist/components/inputs/radio-button-group/radio-button-group.d.ts +11 -0
  193. package/dist/components/inputs/radio-button-group/radio-button-group.d.ts.map +1 -1
  194. package/dist/components/inputs/radio-button-group/radio-button-group.js +21 -0
  195. package/dist/components/inputs/radio-button-group/radio-button-group.js.map +1 -1
  196. package/dist/components/inputs/search-field/search-field.d.ts +23 -1
  197. package/dist/components/inputs/search-field/search-field.d.ts.map +1 -1
  198. package/dist/components/inputs/search-field/search-field.js +37 -3
  199. package/dist/components/inputs/search-field/search-field.js.map +1 -1
  200. package/dist/components/inputs/search-field/search-field.template.d.ts.map +1 -1
  201. package/dist/components/inputs/search-field/search-field.template.js +4 -0
  202. package/dist/components/inputs/search-field/search-field.template.js.map +1 -1
  203. package/dist/components/inputs/segmented-control/segmented-control.d.ts +28 -0
  204. package/dist/components/inputs/segmented-control/segmented-control.d.ts.map +1 -1
  205. package/dist/components/inputs/segmented-control/segmented-control.js +52 -2
  206. package/dist/components/inputs/segmented-control/segmented-control.js.map +1 -1
  207. package/dist/components/inputs/segmented-control/segmented-control.template.d.ts.map +1 -1
  208. package/dist/components/inputs/segmented-control/segmented-control.template.js +1 -0
  209. package/dist/components/inputs/segmented-control/segmented-control.template.js.map +1 -1
  210. package/dist/components/inputs/stepper/stepper.d.ts +14 -1
  211. package/dist/components/inputs/stepper/stepper.d.ts.map +1 -1
  212. package/dist/components/inputs/stepper/stepper.js +21 -2
  213. package/dist/components/inputs/stepper/stepper.js.map +1 -1
  214. package/dist/components/inputs/switch/switch.d.ts +20 -1
  215. package/dist/components/inputs/switch/switch.d.ts.map +1 -1
  216. package/dist/components/inputs/switch/switch.js +31 -2
  217. package/dist/components/inputs/switch/switch.js.map +1 -1
  218. package/dist/components/inputs/switch/switch.template.d.ts.map +1 -1
  219. package/dist/components/inputs/switch/switch.template.js +2 -0
  220. package/dist/components/inputs/switch/switch.template.js.map +1 -1
  221. package/dist/components/inputs/switch-field/switch-field.d.ts +18 -1
  222. package/dist/components/inputs/switch-field/switch-field.d.ts.map +1 -1
  223. package/dist/components/inputs/switch-field/switch-field.js +25 -1
  224. package/dist/components/inputs/switch-field/switch-field.js.map +1 -1
  225. package/dist/components/inputs/switch-field/switch-field.template.d.ts.map +1 -1
  226. package/dist/components/inputs/switch-field/switch-field.template.js +2 -0
  227. package/dist/components/inputs/switch-field/switch-field.template.js.map +1 -1
  228. package/dist/components/inputs/text-editor/text-editor.d.ts +14 -1
  229. package/dist/components/inputs/text-editor/text-editor.d.ts.map +1 -1
  230. package/dist/components/inputs/text-editor/text-editor.js +21 -2
  231. package/dist/components/inputs/text-editor/text-editor.js.map +1 -1
  232. package/dist/components/inputs/text-field/text-field.d.ts +10 -3
  233. package/dist/components/inputs/text-field/text-field.d.ts.map +1 -1
  234. package/dist/components/inputs/text-field/text-field.js +18 -8
  235. package/dist/components/inputs/text-field/text-field.js.map +1 -1
  236. package/dist/components/inputs/text-field/text-field.template.d.ts.map +1 -1
  237. package/dist/components/inputs/text-field/text-field.template.js +3 -1
  238. package/dist/components/inputs/text-field/text-field.template.js.map +1 -1
  239. package/dist/components/inputs/time-field/time-field.d.ts +33 -35
  240. package/dist/components/inputs/time-field/time-field.d.ts.map +1 -1
  241. package/dist/components/inputs/time-field/time-field.js +43 -40
  242. package/dist/components/inputs/time-field/time-field.js.map +1 -1
  243. package/dist/components/inputs/time-field/time-field.styles.d.ts.map +1 -1
  244. package/dist/components/inputs/time-field/time-field.styles.js +12 -0
  245. package/dist/components/inputs/time-field/time-field.styles.js.map +1 -1
  246. package/dist/components/inputs/time-field/time-field.template.d.ts.map +1 -1
  247. package/dist/components/inputs/time-field/time-field.template.js +0 -1
  248. package/dist/components/inputs/time-field/time-field.template.js.map +1 -1
  249. package/dist/components/inputs/time-picker/time-picker.d.ts +34 -19
  250. package/dist/components/inputs/time-picker/time-picker.d.ts.map +1 -1
  251. package/dist/components/inputs/time-picker/time-picker.js +42 -22
  252. package/dist/components/inputs/time-picker/time-picker.js.map +1 -1
  253. package/dist/components/inputs/toggle-button/toggle-button.d.ts +22 -1
  254. package/dist/components/inputs/toggle-button/toggle-button.d.ts.map +1 -1
  255. package/dist/components/inputs/toggle-button/toggle-button.js +35 -2
  256. package/dist/components/inputs/toggle-button/toggle-button.js.map +1 -1
  257. package/dist/components/inputs/toggle-button/toggle-button.template.d.ts.map +1 -1
  258. package/dist/components/inputs/toggle-button/toggle-button.template.js +3 -0
  259. package/dist/components/inputs/toggle-button/toggle-button.template.js.map +1 -1
  260. package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts +27 -0
  261. package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts.map +1 -1
  262. package/dist/components/inputs/toggle-button-group/toggle-button-group.js +46 -0
  263. package/dist/components/inputs/toggle-button-group/toggle-button-group.js.map +1 -1
  264. package/dist/components/inputs/token-field/token-field.d.ts +7 -1
  265. package/dist/components/inputs/token-field/token-field.d.ts.map +1 -1
  266. package/dist/components/inputs/token-field/token-field.js +14 -1
  267. package/dist/components/inputs/token-field/token-field.js.map +1 -1
  268. package/dist/components/layout/app-view/app-view.d.ts.map +1 -1
  269. package/dist/components/layout/app-view/app-view.js +12 -0
  270. package/dist/components/layout/app-view/app-view.js.map +1 -1
  271. package/dist/components/layout/box/box.d.ts +1 -1
  272. package/dist/components/layout/box/box.js +1 -1
  273. package/dist/components/layout/box/box.styles.d.ts.map +1 -1
  274. package/dist/components/layout/box/box.styles.js +1 -0
  275. package/dist/components/layout/box/box.styles.js.map +1 -1
  276. package/dist/components/layout/card/card.d.ts +18 -19
  277. package/dist/components/layout/card/card.d.ts.map +1 -1
  278. package/dist/components/layout/card/card.js +18 -19
  279. package/dist/components/layout/card/card.js.map +1 -1
  280. package/dist/components/layout/card/card.styles.d.ts.map +1 -1
  281. package/dist/components/layout/card/card.styles.js +1 -0
  282. package/dist/components/layout/card/card.styles.js.map +1 -1
  283. package/dist/components/layout/collection/collection.d.ts.map +1 -1
  284. package/dist/components/layout/collection/collection.js +6 -2
  285. package/dist/components/layout/collection/collection.js.map +1 -1
  286. package/dist/components/layout/divider/divider.d.ts +1 -1
  287. package/dist/components/layout/divider/divider.js +1 -1
  288. package/dist/components/layout/popover/popover.d.ts +1 -1
  289. package/dist/components/layout/popover/popover.d.ts.map +1 -1
  290. package/dist/components/layout/popover/popover.js +15 -2
  291. package/dist/components/layout/popover/popover.js.map +1 -1
  292. package/dist/components/layout/sheet/sheet.d.ts +1 -1
  293. package/dist/components/layout/sheet/sheet.js +2 -2
  294. package/dist/components/layout/sheet/sheet.js.map +1 -1
  295. package/dist/components/layout/sheet/sheet.styles.d.ts.map +1 -1
  296. package/dist/components/layout/sheet/sheet.styles.js +5 -0
  297. package/dist/components/layout/sheet/sheet.styles.js.map +1 -1
  298. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.d.ts +8 -0
  299. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.d.ts.map +1 -1
  300. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.js +29 -11
  301. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.js.map +1 -1
  302. package/dist/components/layout/window/window.d.ts +20 -21
  303. package/dist/components/layout/window/window.d.ts.map +1 -1
  304. package/dist/components/layout/window/window.js +21 -22
  305. package/dist/components/layout/window/window.js.map +1 -1
  306. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.d.ts +41 -12
  307. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.d.ts.map +1 -1
  308. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.js +47 -17
  309. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.js.map +1 -1
  310. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.d.ts.map +1 -1
  311. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.js +42 -13
  312. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.js.map +1 -1
  313. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.d.ts.map +1 -1
  314. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.js +12 -4
  315. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.js.map +1 -1
  316. package/dist/components/lists-and-tables/list/list.d.ts +117 -25
  317. package/dist/components/lists-and-tables/list/list.d.ts.map +1 -1
  318. package/dist/components/lists-and-tables/list/list.i18n.d.ts +0 -1
  319. package/dist/components/lists-and-tables/list/list.i18n.d.ts.map +1 -1
  320. package/dist/components/lists-and-tables/list/list.i18n.js +0 -1
  321. package/dist/components/lists-and-tables/list/list.i18n.js.map +1 -1
  322. package/dist/components/lists-and-tables/list/list.js +292 -67
  323. package/dist/components/lists-and-tables/list/list.js.map +1 -1
  324. package/dist/components/lists-and-tables/list/list.styles.d.ts.map +1 -1
  325. package/dist/components/lists-and-tables/list/list.styles.js +5 -0
  326. package/dist/components/lists-and-tables/list/list.styles.js.map +1 -1
  327. package/dist/components/lists-and-tables/list/list.template.d.ts +1 -3
  328. package/dist/components/lists-and-tables/list/list.template.d.ts.map +1 -1
  329. package/dist/components/lists-and-tables/list/list.template.js +2 -7
  330. package/dist/components/lists-and-tables/list/list.template.js.map +1 -1
  331. package/dist/components/lists-and-tables/list-item/list-item.d.ts +41 -3
  332. package/dist/components/lists-and-tables/list-item/list-item.d.ts.map +1 -1
  333. package/dist/components/lists-and-tables/list-item/list-item.js +82 -16
  334. package/dist/components/lists-and-tables/list-item/list-item.js.map +1 -1
  335. package/dist/components/lists-and-tables/list-item/list-item.styles.js +1 -1
  336. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.d.ts.map +1 -1
  337. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.js +8 -4
  338. package/dist/components/lists-and-tables/list-item-segment/list-item-segment.js.map +1 -1
  339. package/dist/components/lists-and-tables/table/table.d.ts +12 -9
  340. package/dist/components/lists-and-tables/table/table.d.ts.map +1 -1
  341. package/dist/components/lists-and-tables/table/table.i18n.d.ts +0 -1
  342. package/dist/components/lists-and-tables/table/table.i18n.d.ts.map +1 -1
  343. package/dist/components/lists-and-tables/table/table.i18n.js +0 -1
  344. package/dist/components/lists-and-tables/table/table.i18n.js.map +1 -1
  345. package/dist/components/lists-and-tables/table/table.js +26 -16
  346. package/dist/components/lists-and-tables/table/table.js.map +1 -1
  347. package/dist/components/lists-and-tables/table/table.styles.d.ts.map +1 -1
  348. package/dist/components/lists-and-tables/table/table.styles.js +5 -0
  349. package/dist/components/lists-and-tables/table/table.styles.js.map +1 -1
  350. package/dist/components/lists-and-tables/table/table.template.d.ts +1 -1
  351. package/dist/components/lists-and-tables/table/table.template.d.ts.map +1 -1
  352. package/dist/components/lists-and-tables/table/table.template.js +5 -9
  353. package/dist/components/lists-and-tables/table/table.template.js.map +1 -1
  354. package/dist/components/navigation/link/link.d.ts +30 -24
  355. package/dist/components/navigation/link/link.d.ts.map +1 -1
  356. package/dist/components/navigation/link/link.js +33 -24
  357. package/dist/components/navigation/link/link.js.map +1 -1
  358. package/dist/components/navigation/link/link.template.js +1 -1
  359. package/dist/components/navigation/link/link.template.js.map +1 -1
  360. package/dist/components/navigation/menu-bar/menu-bar.d.ts +7 -7
  361. package/dist/components/navigation/menu-bar/menu-bar.js +7 -7
  362. package/dist/components/navigation/menu-bar-item/menu-bar-item.d.ts +23 -23
  363. package/dist/components/navigation/menu-bar-item/menu-bar-item.js +23 -23
  364. package/dist/components/navigation/pagination/pagination.d.ts +4 -4
  365. package/dist/components/navigation/pagination/pagination.js +4 -4
  366. package/dist/components/navigation/skip-link/skip-link.d.ts +7 -7
  367. package/dist/components/navigation/skip-link/skip-link.js +7 -7
  368. package/dist/components/navigation/tab-bar/tab-bar.d.ts +5 -3
  369. package/dist/components/navigation/tab-bar/tab-bar.d.ts.map +1 -1
  370. package/dist/components/navigation/tab-bar/tab-bar.js +18 -13
  371. package/dist/components/navigation/tab-bar/tab-bar.js.map +1 -1
  372. package/dist/components/navigation/tab-bar/tab-bar.styles.js +8 -8
  373. package/dist/components/navigation/tab-bar/tab-bar.template.js +5 -5
  374. package/dist/components/navigation/tab-bar/tab-bar.template.js.map +1 -1
  375. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.d.ts +15 -15
  376. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.js +15 -15
  377. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.d.ts.map +1 -1
  378. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js +14 -2
  379. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js.map +1 -1
  380. package/dist/components/navigation/top-title-bar/top-title-bar.d.ts +2 -2
  381. package/dist/components/navigation/top-title-bar/top-title-bar.js +2 -2
  382. package/dist/components/navigation/top-title-bar/top-title-bar.styles.js +2 -2
  383. package/dist/components/status-and-feedback/badge/badge.styles.d.ts.map +1 -1
  384. package/dist/components/status-and-feedback/badge/badge.styles.js +6 -4
  385. package/dist/components/status-and-feedback/badge/badge.styles.js.map +1 -1
  386. package/dist/components/status-and-feedback/badge/badge.template.js +1 -1
  387. package/dist/components/status-and-feedback/badge/badge.template.js.map +1 -1
  388. package/dist/components/status-and-feedback/banner/banner.styles.js +2 -2
  389. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.d.ts +37 -36
  390. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.d.ts.map +1 -1
  391. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.js +37 -36
  392. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.js.map +1 -1
  393. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.d.ts +1 -1
  394. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.js +2 -2
  395. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.js.map +1 -1
  396. package/dist/components/status-and-feedback/notification/notification-region.js +1 -1
  397. package/dist/components/status-and-feedback/status-bar/status-bar.d.ts +29 -28
  398. package/dist/components/status-and-feedback/status-bar/status-bar.d.ts.map +1 -1
  399. package/dist/components/status-and-feedback/status-bar/status-bar.js +29 -28
  400. package/dist/components/status-and-feedback/status-bar/status-bar.js.map +1 -1
  401. package/dist/components/status-and-feedback/step-indicator/step-indicator.styles.js +1 -1
  402. package/dist/components/{visibility-mixin-GxbwkBb1.js → visibility-mixin-vbfhyo7f.js} +1 -1
  403. package/dist/components/{with-translations-DzAdFTK8.js → with-translations-CqUV9S5g.js} +1 -1
  404. package/dist/css/form-section.css +28 -46
  405. package/dist/css/form.css +7 -13
  406. package/dist/css/rich-text.css +5 -5
  407. package/dist/css/variables.css +108 -7
  408. package/dist/nldd.min.js +851 -753
  409. package/dist/types/vue.d.ts +439 -291
  410. package/dist/utilities/codemirror/codemirror-element.d.ts.map +1 -1
  411. package/dist/utilities/codemirror/codemirror-element.js +5 -0
  412. package/dist/utilities/codemirror/codemirror-element.js.map +1 -1
  413. package/dist/utilities/described-by-mixin.d.ts +49 -0
  414. package/dist/utilities/described-by-mixin.d.ts.map +1 -0
  415. package/dist/utilities/described-by-mixin.js +109 -0
  416. package/dist/utilities/described-by-mixin.js.map +1 -0
  417. package/dist/utilities/form-associated-mixin.d.ts +5 -0
  418. package/dist/utilities/form-associated-mixin.d.ts.map +1 -1
  419. package/dist/utilities/form-associated-mixin.js +69 -0
  420. package/dist/utilities/form-associated-mixin.js.map +1 -1
  421. package/package.json +14 -6
@@ -28,8 +28,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
28
28
  * @attr {string} name - Input name for form submission
29
29
  * @attr {string} autocomplete - Autocomplete hint
30
30
  * @attr {string} accessible-label - Accessible label forwarded to the inner input. Set automatically by nldd-form-field.
31
- * @attr {string} error-message-ids - Ids for aria-describedby on the inner input. Set automatically by nldd-form-field.
32
31
  * @attr {string} width - Optional fixed width (any CSS length, e.g. "240px"). Default: stretches to fill container.
32
+ * @attr {string} pattern - Regular expression the value has to match, as the native `pattern`.
33
+ * @attr {number} minlength - Fewest characters the value may have.
34
+ * @attr {number} maxlength - Most characters the value may have.
33
35
  *
34
36
  * @fires input - When the input value changes ({ detail: { value } })
35
37
  * @fires change - When the input value is committed ({ detail: { value } })
@@ -41,7 +43,8 @@ import { submitOnEnter } from '../../../utilities/implicit-submission.js';
41
43
  import { reflectNonDefault } from '../../../utilities/reflect-non-default.js';
42
44
  import { passwordFieldStyles } from './password-field.styles.js';
43
45
  import { passwordFieldTemplate } from './password-field.template.js';
44
- let NLDDPasswordField = class NLDDPasswordField extends FormAssociated(LitElement) {
46
+ import { DescribedBy } from '../../../utilities/described-by-mixin.js';
47
+ let NLDDPasswordField = class NLDDPasswordField extends DescribedBy(FormAssociated(LitElement)) {
45
48
  constructor() {
46
49
  super(...arguments);
47
50
  this._initialValue = '';
@@ -67,9 +70,10 @@ let NLDDPasswordField = class NLDDPasswordField extends FormAssociated(LitElemen
67
70
  this.autocomplete = '';
68
71
  /** Accessible label forwarded to the inner <input>. Set automatically by nldd-form-field. */
69
72
  this.accessibleLabel = '';
70
- this.errorMessageIds = '';
71
73
  /** Optional fixed width (any CSS length). When unset, the field stretches to fill its container. */
72
74
  this.width = '';
75
+ /** Regular expression the value has to match, as the native `pattern`. */
76
+ this.pattern = '';
73
77
  }
74
78
  firstUpdated() {
75
79
  this._initialValue = this.value;
@@ -189,7 +193,7 @@ __decorate([
189
193
  property({ type: Boolean, reflect: true })
190
194
  ], NLDDPasswordField.prototype, "required", void 0);
191
195
  __decorate([
192
- property({ type: String, reflect: true })
196
+ property({ reflect: true, converter: reflectNonDefault('') })
193
197
  ], NLDDPasswordField.prototype, "name", void 0);
194
198
  __decorate([
195
199
  property({ type: String })
@@ -198,14 +202,20 @@ __decorate([
198
202
  property({ type: String, attribute: 'accessible-label' })
199
203
  ], NLDDPasswordField.prototype, "accessibleLabel", void 0);
200
204
  __decorate([
201
- property({ type: String, attribute: 'error-message-ids' })
202
- ], NLDDPasswordField.prototype, "errorMessageIds", void 0);
203
- __decorate([
204
- property({ type: String, reflect: true })
205
+ property({ reflect: true, converter: reflectNonDefault('') })
205
206
  ], NLDDPasswordField.prototype, "width", void 0);
206
207
  __decorate([
207
208
  query('.password-field__input')
208
209
  ], NLDDPasswordField.prototype, "_input", void 0);
210
+ __decorate([
211
+ property({ reflect: true, converter: reflectNonDefault('') })
212
+ ], NLDDPasswordField.prototype, "pattern", void 0);
213
+ __decorate([
214
+ property({ type: Number, reflect: true })
215
+ ], NLDDPasswordField.prototype, "minlength", void 0);
216
+ __decorate([
217
+ property({ type: Number, reflect: true })
218
+ ], NLDDPasswordField.prototype, "maxlength", void 0);
209
219
  NLDDPasswordField = __decorate([
210
220
  customElement('nldd-password-field')
211
221
  ], NLDDPasswordField);
@@ -1 +1 @@
1
- {"version":3,"file":"password-field.js","sourceRoot":"","sources":["../../../../src/components/inputs/password-field/password-field.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"password-field.js","sourceRoot":"","sources":["../../../../src/components/inputs/password-field/password-field.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"password-field.template.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/password-field/password-field.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAE,MAAM,KAAK,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,8BAA8B,CAAC;AACtC,OAAO,kCAAkC,CAAC;AA8C1C,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,iBAAiB,GAAG,cAAc,CA0BlF"}
1
+ {"version":3,"file":"password-field.template.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/password-field/password-field.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAE,MAAM,KAAK,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,8BAA8B,CAAC;AACtC,OAAO,kCAAkC,CAAC;AA8C1C,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,iBAAiB,GAAG,cAAc,CA4BlF"}
@@ -46,6 +46,9 @@ export function passwordFieldTemplate(component) {
46
46
  return html `
47
47
  <div class="password-field">
48
48
  <input class="password-field__input ${component.masked ? 'is-masked' : ''}"
49
+ pattern=${component.pattern || nothing}
50
+ minlength=${component.minlength ?? nothing}
51
+ maxlength=${component.maxlength ?? nothing}
49
52
  id=${component.inputId || nothing}
50
53
  type=${component.masked ? 'password' : 'text'}
51
54
  .value=${component.value}
@@ -57,7 +60,6 @@ export function passwordFieldTemplate(component) {
57
60
  autocomplete=${component.autocomplete || nothing}
58
61
  spellcheck="false"
59
62
  aria-label=${component.accessibleLabel || nothing}
60
- aria-describedby=${component.errorMessageIds || nothing}
61
63
  aria-invalid=${component.invalid ? 'true' : nothing}
62
64
  @keydown=${component._handleKeydown}
63
65
  @input=${component._handleInput}
@@ -1 +1 @@
1
- {"version":3,"file":"password-field.template.js","sourceRoot":"","sources":["../../../../src/components/inputs/password-field/password-field.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAC;AAEpD,OAAO,8BAA8B,CAAC;AACtC,OAAO,kCAAkC,CAAC;AAE1C,SAAS,oBAAoB,CAAC,SAA4B;IACzD,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,IAAI,CAAA;;;;;;;GAOV,CAAC;IACH,CAAC;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,IAAI,CAAA;;;;;;;GAOV,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,SAA4B;IAC3D,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC;IACrF,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC;IAErH,OAAO,IAAI,CAAA;;;WAGD,UAAU;;WAEV,KAAK;uBACO,eAAe;gBACtB,SAAS,CAAC,QAAQ;aACrB,SAAS,CAAC,aAAa;mBACjB,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE;;;EAGjD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,SAA4B;IACjE,OAAO,IAAI,CAAA;;yCAE6B,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;SACnE,SAAS,CAAC,OAAO,IAAI,OAAO;WAC1B,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;aACpC,SAAS,CAAC,KAAK;kBACV,SAAS,CAAC,WAAW,IAAI,OAAO;gBAClC,SAAS,CAAC,QAAQ;gBAClB,SAAS,CAAC,QAAQ;gBAClB,SAAS,CAAC,QAAQ;WACvB,SAAS,CAAC,IAAI,IAAI,OAAO;mBACjB,SAAS,CAAC,YAAY,IAAI,OAAO;;iBAEnC,SAAS,CAAC,eAAe,IAAI,OAAO;uBAC9B,SAAS,CAAC,eAAe,IAAI,OAAO;mBACxC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;eACxC,SAAS,CAAC,cAAc;aAC1B,SAAS,CAAC,YAAY;cACrB,SAAS,CAAC,aAAa;;;KAGhC,oBAAoB,CAAC,SAAS,CAAC;KAC/B,sBAAsB,CAAC,SAAS,CAAC;;EAEpC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"password-field.template.js","sourceRoot":"","sources":["../../../../src/components/inputs/password-field/password-field.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAC;AAEpD,OAAO,8BAA8B,CAAC;AACtC,OAAO,kCAAkC,CAAC;AAE1C,SAAS,oBAAoB,CAAC,SAA4B;IACzD,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,IAAI,CAAA;;;;;;;GAOV,CAAC;IACH,CAAC;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,IAAI,CAAA;;;;;;;GAOV,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,SAA4B;IAC3D,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC;IACrF,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC;IAErH,OAAO,IAAI,CAAA;;;WAGD,UAAU;;WAEV,KAAK;uBACO,eAAe;gBACtB,SAAS,CAAC,QAAQ;aACrB,SAAS,CAAC,aAAa;mBACjB,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE;;;EAGjD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,SAA4B;IACjE,OAAO,IAAI,CAAA;;yCAE6B,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;cAC9D,SAAS,CAAC,OAAO,IAAI,OAAO;gBAC1B,SAAS,CAAC,SAAS,IAAI,OAAO;gBAC9B,SAAS,CAAC,SAAS,IAAI,OAAO;SACrC,SAAS,CAAC,OAAO,IAAI,OAAO;WAC1B,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;aACpC,SAAS,CAAC,KAAK;kBACV,SAAS,CAAC,WAAW,IAAI,OAAO;gBAClC,SAAS,CAAC,QAAQ;gBAClB,SAAS,CAAC,QAAQ;gBAClB,SAAS,CAAC,QAAQ;WACvB,SAAS,CAAC,IAAI,IAAI,OAAO;mBACjB,SAAS,CAAC,YAAY,IAAI,OAAO;;iBAEnC,SAAS,CAAC,eAAe,IAAI,OAAO;mBAClC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;eACxC,SAAS,CAAC,cAAc;aAC1B,SAAS,CAAC,YAAY;cACrB,SAAS,CAAC,aAAa;;;KAGhC,oBAAoB,CAAC,SAAS,CAAC;KAC/B,sBAAsB,CAAC,SAAS,CAAC;;EAEpC,CAAC;AACH,CAAC"}
@@ -14,6 +14,7 @@
14
14
  * @element nldd-radio-button
15
15
  * @attr {boolean} checked - Checked state
16
16
  * @attr {boolean} disabled - Disabled state
17
+ * @attr {boolean} no-tab - Takes the control out of the tab order (tabindex="-1"), for a control owned by a roving container (a row of an nldd-list, where the arrow keys move between rows) that manages focus itself. Still mouse- and script-focusable.
17
18
  * @attr {boolean} decorative - Renders the shape without the input: no focus, no
18
19
  * name/value, nothing announced. For a control that owns the state elsewhere,
19
20
  * such as a list row that is itself the radio; putting a real input in there
@@ -22,13 +23,14 @@
22
23
  * @attr {string} name - Radio group name for form submission; ties the buttons of one group together
23
24
  * @attr {string} value - Value submitted with the form when this radio button is checked
24
25
  * @attr {string} accessible-label - Accessible label forwarded as aria-label to the native input.
26
+ * @attr {boolean} invalid - Marks the control as invalid. Announced with aria-invalid; nothing is drawn for it.
25
27
  * Note: aria-labelledby is not supported as IDREF resolution cannot cross shadow DOM boundaries.
26
28
  *
27
29
  * @fires change - When checked state changes; detail: { checked: boolean, value: string, name: string }
28
30
  */
29
31
  import { LitElement } from 'lit';
30
32
  import { type FormValue } from '../../../utilities/form-associated-mixin.js';
31
- declare const NLDDRadioButton_base: typeof LitElement & (abstract new (...args: any[]) => LitElement & import("../../../utilities/form-associated-mixin.js").FormAssociatedElement);
33
+ declare const NLDDRadioButton_base: typeof LitElement & (abstract new (...args: any[]) => LitElement & import("../../../utilities/form-associated-mixin.js").FormAssociatedElement) & (abstract new (...args: any[]) => import("../../../utilities/described-by-mixin.js").DescribedElement);
32
34
  export declare class NLDDRadioButton extends NLDDRadioButton_base {
33
35
  static styles: import("lit").CSSResult;
34
36
  /** Says this is the control an nldd-form-field is about, so the field can
@@ -38,10 +40,25 @@ export declare class NLDDRadioButton extends NLDDRadioButton_base {
38
40
  checked: boolean;
39
41
  decorative: boolean;
40
42
  disabled: boolean;
43
+ /** Take the control out of the tab order (`tabindex="-1"`) — for a control
44
+ * owned by a roving container (an `nldd-list` sets it on the rows that are
45
+ * not the current one) that manages focus itself. Still mouse- and
46
+ * script-focusable. */
47
+ noTab: boolean;
41
48
  required: boolean;
42
49
  name: string;
43
50
  value: string;
44
51
  accessibleLabel: string;
52
+ /**
53
+ * Marks the control as invalid.
54
+ *
55
+ * Announced and not drawn. What is wrong belongs in an
56
+ * nldd-validation-list, in words: a red ring around a single
57
+ * checkbox or radio would say the option is wrong, while it is the question
58
+ * that is unanswered. `aria-invalid` still goes on the control, because
59
+ * choosing not to show something is not a reason to keep quiet about it.
60
+ */
61
+ invalid: boolean;
45
62
  firstUpdated(): void;
46
63
  formValue(): FormValue;
47
64
  formResetCallback(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button/radio-button.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEjC,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,6CAA6C,CAAC;;AAI7F,qBACa,eAAgB,SAAQ,oBAA0B;IAE9D,OAAgB,MAAM,0BAAqB;IAE3C;wEACoE;IACpE,MAAM,CAAC,WAAW,UAAQ;IAG1B,OAAO,CAAC,eAAe,CAAS;IAGhC,OAAO,UAAS;IAGhB,UAAU,UAAS;IAGnB,QAAQ,UAAS;IAGjB,QAAQ,UAAS;IAGjB,IAAI,SAAM;IAGV,KAAK,SAAM;IAGX,eAAe,SAAM;IAEZ,YAAY,IAAI,IAAI;IAKpB,SAAS,IAAI,SAAS;IAI/B,iBAAiB,IAAI,IAAI;IAKzB,wBAAwB,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI;IAI/D,MAAM,IAAI,IAAI;IAQd,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAWpC;;;OAGG;IACM,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAInC,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,mBAAmB,EAAE,eAAe,CAAC;KACrC;CACD"}
1
+ {"version":3,"file":"radio-button.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button/radio-button.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEjC,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,6CAA6C,CAAC;;AAM7F,qBACa,eAAgB,SAAQ,oBAAuC;IAE3E,OAAgB,MAAM,0BAAqB;IAE3C;wEACoE;IACpE,MAAM,CAAC,WAAW,UAAQ;IAG1B,OAAO,CAAC,eAAe,CAAS;IAGhC,OAAO,UAAS;IAGhB,UAAU,UAAS;IAGnB,QAAQ,UAAS;IACjB;;;4BAGwB;IAExB,KAAK,UAAS;IAId,QAAQ,UAAS;IAGjB,IAAI,SAAM;IAGV,KAAK,SAAM;IAGX,eAAe,SAAM;IAGrB;;;;;;;;OAQG;IAEH,OAAO,UAAS;IAEP,YAAY,IAAI,IAAI;IAKpB,SAAS,IAAI,SAAS;IAI/B,iBAAiB,IAAI,IAAI;IAKzB,wBAAwB,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI;IAI/D,MAAM,IAAI,IAAI;IAQd,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAWpC;;;OAGG;IACM,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAInC,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,mBAAmB,EAAE,eAAe,CAAC;KACrC;CACD"}
@@ -20,6 +20,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
20
20
  * @element nldd-radio-button
21
21
  * @attr {boolean} checked - Checked state
22
22
  * @attr {boolean} disabled - Disabled state
23
+ * @attr {boolean} no-tab - Takes the control out of the tab order (tabindex="-1"), for a control owned by a roving container (a row of an nldd-list, where the arrow keys move between rows) that manages focus itself. Still mouse- and script-focusable.
23
24
  * @attr {boolean} decorative - Renders the shape without the input: no focus, no
24
25
  * name/value, nothing announced. For a control that owns the state elsewhere,
25
26
  * such as a list row that is itself the radio; putting a real input in there
@@ -28,6 +29,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
28
29
  * @attr {string} name - Radio group name for form submission; ties the buttons of one group together
29
30
  * @attr {string} value - Value submitted with the form when this radio button is checked
30
31
  * @attr {string} accessible-label - Accessible label forwarded as aria-label to the native input.
32
+ * @attr {boolean} invalid - Marks the control as invalid. Announced with aria-invalid; nothing is drawn for it.
31
33
  * Note: aria-labelledby is not supported as IDREF resolution cannot cross shadow DOM boundaries.
32
34
  *
33
35
  * @fires change - When checked state changes; detail: { checked: boolean, value: string, name: string }
@@ -37,17 +39,34 @@ import { customElement, property } from 'lit/decorators.js';
37
39
  import { FormAssociated } from '../../../utilities/form-associated-mixin.js';
38
40
  import { radioButtonStyles } from './radio-button.styles.js';
39
41
  import { radioButtonTemplate } from './radio-button.template.js';
40
- let NLDDRadioButton = class NLDDRadioButton extends FormAssociated(LitElement) {
42
+ import { DescribedBy } from '../../../utilities/described-by-mixin.js';
43
+ import { reflectNonDefault } from '../../../utilities/reflect-non-default.js';
44
+ let NLDDRadioButton = class NLDDRadioButton extends DescribedBy(FormAssociated(LitElement)) {
41
45
  constructor() {
42
46
  super(...arguments);
43
47
  this._initialChecked = false;
44
48
  this.checked = false;
45
49
  this.decorative = false;
46
50
  this.disabled = false;
51
+ /** Take the control out of the tab order (`tabindex="-1"`) — for a control
52
+ * owned by a roving container (an `nldd-list` sets it on the rows that are
53
+ * not the current one) that manages focus itself. Still mouse- and
54
+ * script-focusable. */
55
+ this.noTab = false;
47
56
  this.required = false;
48
57
  this.name = '';
49
58
  this.value = '';
50
59
  this.accessibleLabel = '';
60
+ /**
61
+ * Marks the control as invalid.
62
+ *
63
+ * Announced and not drawn. What is wrong belongs in an
64
+ * nldd-validation-list, in words: a red ring around a single
65
+ * checkbox or radio would say the option is wrong, while it is the question
66
+ * that is unanswered. `aria-invalid` still goes on the control, because
67
+ * choosing not to show something is not a reason to keep quiet about it.
68
+ */
69
+ this.invalid = false;
51
70
  }
52
71
  firstUpdated() {
53
72
  this._initialChecked = this.checked;
@@ -104,11 +123,14 @@ __decorate([
104
123
  __decorate([
105
124
  property({ type: Boolean, reflect: true })
106
125
  ], NLDDRadioButton.prototype, "disabled", void 0);
126
+ __decorate([
127
+ property({ type: Boolean, reflect: true, attribute: 'no-tab' })
128
+ ], NLDDRadioButton.prototype, "noTab", void 0);
107
129
  __decorate([
108
130
  property({ type: Boolean, reflect: true })
109
131
  ], NLDDRadioButton.prototype, "required", void 0);
110
132
  __decorate([
111
- property({ type: String, reflect: true })
133
+ property({ reflect: true, converter: reflectNonDefault('') })
112
134
  ], NLDDRadioButton.prototype, "name", void 0);
113
135
  __decorate([
114
136
  property({ type: String })
@@ -116,6 +138,9 @@ __decorate([
116
138
  __decorate([
117
139
  property({ type: String, attribute: 'accessible-label' })
118
140
  ], NLDDRadioButton.prototype, "accessibleLabel", void 0);
141
+ __decorate([
142
+ property({ type: Boolean, reflect: true })
143
+ ], NLDDRadioButton.prototype, "invalid", void 0);
119
144
  NLDDRadioButton = __decorate([
120
145
  customElement('nldd-radio-button')
121
146
  ], NLDDRadioButton);
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button.js","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button/radio-button.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radio-button.js","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button/radio-button.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAkB,MAAM,6CAA6C,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAGvE,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAArE;;QASE,oBAAe,GAAG,KAAK,CAAC;QAGhC,YAAO,GAAG,KAAK,CAAC;QAGhB,eAAU,GAAG,KAAK,CAAC;QAGnB,aAAQ,GAAG,KAAK,CAAC;QACjB;;;gCAGwB;QAExB,UAAK,GAAG,KAAK,CAAC;QAId,aAAQ,GAAG,KAAK,CAAC;QAGjB,SAAI,GAAG,EAAE,CAAC;QAGV,UAAK,GAAG,EAAE,CAAC;QAGX,oBAAe,GAAG,EAAE,CAAC;QAGrB;;;;;;;;WAQG;QAEH,YAAO,GAAG,KAAK,CAAC;IAkDjB,CAAC;IAhDS,YAAY;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;IACrC,CAAC;IAGQ,SAAS;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;IACrC,CAAC;IAGD,wBAAwB,CAAC,KAAsC;QAC9D,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC;IAC/B,CAAC;IAEM,MAAM;QACZ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAA4B,CAAC;QACjF,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEM,aAAa,CAAC,CAAQ;QAC5B,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE;YAC5C,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YACrE,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACM,KAAK,CAAC,OAAsB;QACpC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAmB,sBAAsB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1F,CAAC;IAEQ,MAAM;QACd,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;;AAjGe,sBAAM,GAAG,iBAAiB,AAApB,CAAqB;AAE3C;oEACoE;AAC7D,2BAAW,GAAG,IAAI,AAAP,CAAQ;AAM1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDAC3B;AAGhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDACxB;AAGnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDAC1B;AAMjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;8CAClD;AAId;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDAC1B;AAGjB;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;6CACpD;AAGV;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAChB;AAGX;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;wDACrC;AAarB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDAC3B;AAlDJ,eAAe;IAD3B,aAAa,CAAC,mBAAmB,CAAC;GACtB,eAAe,CAoG3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button.template.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button/radio-button.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAE,MAAM,KAAK,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,eAAe,GAAG,cAAc,CA4B9E"}
1
+ {"version":3,"file":"radio-button.template.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button/radio-button.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAE,MAAM,KAAK,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,eAAe,GAAG,cAAc,CA6B9E"}
@@ -19,6 +19,7 @@ export function radioButtonTemplate(component) {
19
19
  name=${component.name || ''}
20
20
  value=${component.value}
21
21
  aria-label=${component.accessibleLabel || nothing}
22
+ tabindex=${component.noTab ? '-1' : nothing}
22
23
  @change=${component._handleChange}
23
24
  >
24
25
  <div class="radio-button__outer-shape"
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button.template.js","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button/radio-button.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAC;AAGpD,MAAM,UAAU,mBAAmB,CAAC,SAA0B;IAC7D,0EAA0E;IAC1E,0EAA0E;IAC1E,uCAAuC;IACvC,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAA;;;;GAIV,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;;;cAGE,SAAS,CAAC,OAAO;eAChB,SAAS,CAAC,QAAQ;eAClB,SAAS,CAAC,QAAQ;UACvB,SAAS,CAAC,IAAI,IAAI,EAAE;WACnB,SAAS,CAAC,KAAK;gBACV,SAAS,CAAC,eAAe,IAAI,OAAO;aACvC,SAAS,CAAC,aAAa;;;;;;;EAOlC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"radio-button.template.js","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button/radio-button.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAC;AAGpD,MAAM,UAAU,mBAAmB,CAAC,SAA0B;IAC7D,0EAA0E;IAC1E,0EAA0E;IAC1E,uCAAuC;IACvC,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAA;;;;GAIV,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;;;cAGE,SAAS,CAAC,OAAO;eAChB,SAAS,CAAC,QAAQ;eAClB,SAAS,CAAC,QAAQ;UACvB,SAAS,CAAC,IAAI,IAAI,EAAE;WACnB,SAAS,CAAC,KAAK;gBACV,SAAS,CAAC,eAAe,IAAI,OAAO;cACtC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;aACjC,SAAS,CAAC,aAAa;;;;;;;EAOlC,CAAC;AACH,CAAC"}
@@ -16,12 +16,13 @@
16
16
  * @attr {string} name - Radio group name for form submission, forwarded to the inner nldd-radio-button. Set automatically by nldd-radio-button-group.
17
17
  * @attr {boolean} required - Required state, forwarded to the inner nldd-radio-button. Set automatically by nldd-radio-button-group.
18
18
  * @attr {string} label - Label text for the radio button
19
+ * @attr {boolean} invalid - Marks the control as invalid. Announced with aria-invalid; nothing is drawn for it.
19
20
  *
20
21
  * @fires change - When checked state changes; detail: { checked: boolean, value: string }
21
22
  */
22
23
  import { LitElement } from 'lit';
23
24
  import { type FormValue } from '../../../utilities/form-associated-mixin.js';
24
- declare const NLDDRadioButtonField_base: typeof LitElement & (abstract new (...args: any[]) => LitElement & import("../../../utilities/form-associated-mixin.js").FormAssociatedElement);
25
+ declare const NLDDRadioButtonField_base: typeof LitElement & (abstract new (...args: any[]) => LitElement & import("../../../utilities/form-associated-mixin.js").FormAssociatedElement) & (abstract new (...args: any[]) => import("../../../utilities/described-by-mixin.js").DescribedElement);
25
26
  export declare class NLDDRadioButtonField extends NLDDRadioButtonField_base {
26
27
  static styles: import("lit").CSSResult;
27
28
  /** Says this is the control an nldd-form-field is about, so the field can
@@ -37,6 +38,16 @@ export declare class NLDDRadioButtonField extends NLDDRadioButtonField_base {
37
38
  name: string;
38
39
  required: boolean;
39
40
  label: string;
41
+ /**
42
+ * Marks the control as invalid.
43
+ *
44
+ * Announced and not drawn. What is wrong belongs in an
45
+ * nldd-validation-list, in words: a red ring around a single
46
+ * checkbox or radio would say the option is wrong, while it is the question
47
+ * that is unanswered. `aria-invalid` still goes on the control, because
48
+ * choosing not to show something is not a reason to keep quiet about it.
49
+ */
50
+ invalid: boolean;
40
51
  firstUpdated(): void;
41
52
  /** An unchecked radio contributes nothing to the form. The group calls
42
53
  * `commitFormValue()` on the siblings it unchecks, so a listener that reads
@@ -52,6 +63,8 @@ export declare class NLDDRadioButtonField extends NLDDRadioButtonField_base {
52
63
  * reaching into shadow DOM.
53
64
  */
54
65
  focus(options?: FocusOptions): void;
66
+ /** The radio button it renders knows which element inside itself is the control. */
67
+ describedTarget(): Element | null;
55
68
  render(): import("lit-html").TemplateResult;
56
69
  }
57
70
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button-field.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button-field/radio-button-field.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEjC,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,6CAA6C,CAAC;;AAK7F,qBACa,oBAAqB,SAAQ,yBAA0B;IAEnE,OAAgB,MAAM,0BAA0B;IAEhD;wEACoE;IACpE,MAAM,CAAC,WAAW,UAAQ;IAG1B,OAAO,CAAC,eAAe,CAAS;IAGhC,OAAO,UAAS;IAGhB,QAAQ,UAAS;IAGjB,KAAK,SAAM;IAEX;;sCAEkC;IAElC,IAAI,SAAM;IAGV,QAAQ,UAAS;IAGjB,KAAK,SAAM;IAEF,YAAY,IAAI,IAAI;IAI7B;;8EAE0E;IACjE,SAAS,IAAI,SAAS;IAI/B,iBAAiB,IAAI,IAAI;IAKzB,wBAAwB,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI;IAI/D,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAOjC,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAUpC;;;;OAIG;IACM,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAInC,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,yBAAyB,EAAE,oBAAoB,CAAC;KAChD;CACD"}
1
+ {"version":3,"file":"radio-button-field.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button-field/radio-button-field.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEjC,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,6CAA6C,CAAC;;AAO7F,qBACa,oBAAqB,SAAQ,yBAAuC;IAEhF,OAAgB,MAAM,0BAA0B;IAEhD;wEACoE;IACpE,MAAM,CAAC,WAAW,UAAQ;IAG1B,OAAO,CAAC,eAAe,CAAS;IAGhC,OAAO,UAAS;IAGhB,QAAQ,UAAS;IAGjB,KAAK,SAAM;IAEX;;sCAEkC;IAElC,IAAI,SAAM;IAGV,QAAQ,UAAS;IAGjB,KAAK,SAAM;IAGX;;;;;;;;OAQG;IAEH,OAAO,UAAS;IAEP,YAAY,IAAI,IAAI;IAI7B;;8EAE0E;IACjE,SAAS,IAAI,SAAS;IAI/B,iBAAiB,IAAI,IAAI;IAKzB,wBAAwB,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI;IAI/D,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAOjC,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAUpC;;;;OAIG;IACM,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAI5C,oFAAoF;IAC3E,eAAe,IAAI,OAAO,GAAG,IAAI;IAIjC,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,yBAAyB,EAAE,oBAAoB,CAAC;KAChD;CACD"}
@@ -22,6 +22,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
22
22
  * @attr {string} name - Radio group name for form submission, forwarded to the inner nldd-radio-button. Set automatically by nldd-radio-button-group.
23
23
  * @attr {boolean} required - Required state, forwarded to the inner nldd-radio-button. Set automatically by nldd-radio-button-group.
24
24
  * @attr {string} label - Label text for the radio button
25
+ * @attr {boolean} invalid - Marks the control as invalid. Announced with aria-invalid; nothing is drawn for it.
25
26
  *
26
27
  * @fires change - When checked state changes; detail: { checked: boolean, value: string }
27
28
  */
@@ -30,7 +31,9 @@ import { customElement, property } from 'lit/decorators.js';
30
31
  import { FormAssociated } from '../../../utilities/form-associated-mixin.js';
31
32
  import { radioButtonFieldStyles } from './radio-button-field.styles.js';
32
33
  import { radioButtonFieldTemplate } from './radio-button-field.template.js';
33
- let NLDDRadioButtonField = class NLDDRadioButtonField extends FormAssociated(LitElement) {
34
+ import { DescribedBy } from '../../../utilities/described-by-mixin.js';
35
+ import { reflectNonDefault } from '../../../utilities/reflect-non-default.js';
36
+ let NLDDRadioButtonField = class NLDDRadioButtonField extends DescribedBy(FormAssociated(LitElement)) {
34
37
  constructor() {
35
38
  super(...arguments);
36
39
  this._initialChecked = false;
@@ -43,6 +46,16 @@ let NLDDRadioButtonField = class NLDDRadioButtonField extends FormAssociated(Lit
43
46
  this.name = '';
44
47
  this.required = false;
45
48
  this.label = '';
49
+ /**
50
+ * Marks the control as invalid.
51
+ *
52
+ * Announced and not drawn. What is wrong belongs in an
53
+ * nldd-validation-list, in words: a red ring around a single
54
+ * checkbox or radio would say the option is wrong, while it is the question
55
+ * that is unanswered. `aria-invalid` still goes on the control, because
56
+ * choosing not to show something is not a reason to keep quiet about it.
57
+ */
58
+ this.invalid = false;
46
59
  }
47
60
  firstUpdated() {
48
61
  this._initialChecked = this.checked;
@@ -84,6 +97,10 @@ let NLDDRadioButtonField = class NLDDRadioButtonField extends FormAssociated(Lit
84
97
  focus(options) {
85
98
  this.shadowRoot?.querySelector('nldd-radio-button')?.focus(options);
86
99
  }
100
+ /** The radio button it renders knows which element inside itself is the control. */
101
+ describedTarget() {
102
+ return this.shadowRoot?.querySelector('nldd-radio-button') ?? null;
103
+ }
87
104
  render() {
88
105
  return radioButtonFieldTemplate(this);
89
106
  }
@@ -102,7 +119,7 @@ __decorate([
102
119
  property({ type: String })
103
120
  ], NLDDRadioButtonField.prototype, "value", void 0);
104
121
  __decorate([
105
- property({ type: String, reflect: true })
122
+ property({ reflect: true, converter: reflectNonDefault('') })
106
123
  ], NLDDRadioButtonField.prototype, "name", void 0);
107
124
  __decorate([
108
125
  property({ type: Boolean, reflect: true })
@@ -110,6 +127,9 @@ __decorate([
110
127
  __decorate([
111
128
  property({ type: String })
112
129
  ], NLDDRadioButtonField.prototype, "label", void 0);
130
+ __decorate([
131
+ property({ type: Boolean, reflect: true })
132
+ ], NLDDRadioButtonField.prototype, "invalid", void 0);
113
133
  NLDDRadioButtonField = __decorate([
114
134
  customElement('nldd-radio-button-field')
115
135
  ], NLDDRadioButtonField);
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button-field.js","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button-field/radio-button-field.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radio-button-field.js","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button-field/radio-button-field.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button-field.template.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button-field/radio-button-field.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAE,MAAM,KAAK,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,iCAAiC,CAAC;AAGzC,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,oBAAoB,GAAG,cAAc,CAmBxF"}
1
+ {"version":3,"file":"radio-button-field.template.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button-field/radio-button-field.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAE,MAAM,KAAK,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,iCAAiC,CAAC;AAGzC,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,oBAAoB,GAAG,cAAc,CAoBxF"}
@@ -8,6 +8,7 @@ export function radioButtonFieldTemplate(component) {
8
8
  >
9
9
  <div class="radio-button-field__control">
10
10
  <nldd-radio-button
11
+ ?invalid=${component.invalid}
11
12
  ?checked=${component.checked}
12
13
  ?disabled=${component.disabled}
13
14
  ?required=${component.required}
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button-field.template.js","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button-field/radio-button-field.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAC;AAEpD,OAAO,iCAAiC,CAAC;AAEzC,2GAA2G;AAC3G,MAAM,UAAU,wBAAwB,CAAC,SAA+B;IACvE,OAAO,IAAI,CAAA;;YAEA,SAAS,CAAC,iBAAiB;;;;gBAIvB,SAAS,CAAC,OAAO;iBAChB,SAAS,CAAC,QAAQ;iBAClB,SAAS,CAAC,QAAQ;YACvB,SAAS,CAAC,IAAI,IAAI,EAAE;aACnB,SAAS,CAAC,KAAK;wBACJ,SAAS,CAAC,KAAK,IAAI,OAAO;eACnC,SAAS,CAAC,aAAa;;;6CAGO,SAAS,CAAC,KAAK;;EAE1D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"radio-button-field.template.js","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button-field/radio-button-field.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAC;AAEpD,OAAO,iCAAiC,CAAC;AAEzC,2GAA2G;AAC3G,MAAM,UAAU,wBAAwB,CAAC,SAA+B;IACvE,OAAO,IAAI,CAAA;;YAEA,SAAS,CAAC,iBAAiB;;;;gBAIvB,SAAS,CAAC,OAAO;gBACjB,SAAS,CAAC,OAAO;iBAChB,SAAS,CAAC,QAAQ;iBAClB,SAAS,CAAC,QAAQ;YACvB,SAAS,CAAC,IAAI,IAAI,EAAE;aACnB,SAAS,CAAC,KAAK;wBACJ,SAAS,CAAC,KAAK,IAAI,OAAO;eACnC,SAAS,CAAC,aAAa;;;6CAGO,SAAS,CAAC,KAAK;;EAE1D,CAAC;AACH,CAAC"}
@@ -11,6 +11,7 @@
11
11
  * @attr {boolean} required - Marks the group as required
12
12
  * @attr {string} accessible-label - Accessible name for the group, set as aria-label on the group
13
13
  * @attr {string} accessible-labeled-by - Id of an external label element, set as aria-labelledby on the group
14
+ * @attr {boolean} invalid - Marks the control as invalid. Announced with aria-invalid; nothing is drawn for it.
14
15
  *
15
16
  * @slot - Slot for nldd-radio-button-field elements
16
17
  *
@@ -30,6 +31,16 @@ export declare class NLDDRadioButtonGroup extends LitElement {
30
31
  accessibleLabeledBy: string;
31
32
  /** The name this group wrote onto its host, so it only takes back its own. */
32
33
  private _appliedLabel;
34
+ /**
35
+ * Marks the control as invalid.
36
+ *
37
+ * Announced and not drawn. What is wrong belongs in an
38
+ * nldd-validation-list, in words: a red ring around a single
39
+ * checkbox or radio would say the option is wrong, while it is the question
40
+ * that is unanswered. `aria-invalid` still goes on the control, because
41
+ * choosing not to show something is not a reason to keep quiet about it.
42
+ */
43
+ invalid: boolean;
33
44
  connectedCallback(): void;
34
45
  disconnectedCallback(): void;
35
46
  firstUpdated(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button-group.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button-group/radio-button-group.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAOjC,qBACa,oBAAqB,SAAQ,UAAU;IACnD,OAAgB,MAAM,0BAA0B;IAEhD;wEACoE;IACpE,MAAM,CAAC,WAAW,UAAQ;IAG1B,IAAI,SAAM;IAGV,QAAQ,UAAS;IAGjB,QAAQ,UAAS;IAEjB,iEAAiE;IAEjE,eAAe,SAAM;IAGrB,mBAAmB,SAAM;IAEzB,8EAA8E;IAC9E,OAAO,CAAC,aAAa,CAAuB;IAEnC,iBAAiB,IAAI,IAAI;IAOzB,oBAAoB,IAAI,IAAI;IAM5B,YAAY,IAAI,IAAI;IAMpB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,IAAI;IA0B1D,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,aAAa,CAWnB;IAEF,OAAO,CAAC,cAAc,CAkCpB;IAEF,aAAa,QAAO,IAAI,CAEtB;IAEF;;;;;OAKG;IACM,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAKnC,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,yBAAyB,EAAE,oBAAoB,CAAC;KAChD;CACD"}
1
+ {"version":3,"file":"radio-button-group.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button-group/radio-button-group.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAOjC,qBACa,oBAAqB,SAAQ,UAAU;IACnD,OAAgB,MAAM,0BAA0B;IAEhD;wEACoE;IACpE,MAAM,CAAC,WAAW,UAAQ;IAG1B,IAAI,SAAM;IAGV,QAAQ,UAAS;IAGjB,QAAQ,UAAS;IAEjB,iEAAiE;IAEjE,eAAe,SAAM;IAGrB,mBAAmB,SAAM;IAEzB,8EAA8E;IAC9E,OAAO,CAAC,aAAa,CAAuB;IAG5C;;;;;;;;OAQG;IAEH,OAAO,UAAS;IAEP,iBAAiB,IAAI,IAAI;IAOzB,oBAAoB,IAAI,IAAI;IAM5B,YAAY,IAAI,IAAI;IAMpB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,IAAI;IA+B1D,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,aAAa,CAWnB;IAEF,OAAO,CAAC,cAAc,CAkCpB;IAEF,aAAa,QAAO,IAAI,CAEtB;IAEF;;;;;OAKG;IACM,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAKnC,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,yBAAyB,EAAE,oBAAoB,CAAC;KAChD;CACD"}
@@ -17,6 +17,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
17
17
  * @attr {boolean} required - Marks the group as required
18
18
  * @attr {string} accessible-label - Accessible name for the group, set as aria-label on the group
19
19
  * @attr {string} accessible-labeled-by - Id of an external label element, set as aria-labelledby on the group
20
+ * @attr {boolean} invalid - Marks the control as invalid. Announced with aria-invalid; nothing is drawn for it.
20
21
  *
21
22
  * @slot - Slot for nldd-radio-button-field elements
22
23
  *
@@ -38,6 +39,16 @@ let NLDDRadioButtonGroup = class NLDDRadioButtonGroup extends LitElement {
38
39
  this.accessibleLabeledBy = '';
39
40
  /** The name this group wrote onto its host, so it only takes back its own. */
40
41
  this._appliedLabel = null;
42
+ /**
43
+ * Marks the control as invalid.
44
+ *
45
+ * Announced and not drawn. What is wrong belongs in an
46
+ * nldd-validation-list, in words: a red ring around a single
47
+ * checkbox or radio would say the option is wrong, while it is the question
48
+ * that is unanswered. `aria-invalid` still goes on the control, because
49
+ * choosing not to show something is not a reason to keep quiet about it.
50
+ */
51
+ this.invalid = false;
41
52
  this._handleChange = (e) => {
42
53
  const changedField = e.target;
43
54
  if (!changedField.checked)
@@ -110,6 +121,13 @@ let NLDDRadioButtonGroup = class NLDDRadioButtonGroup extends LitElement {
110
121
  // Only ever take back a name this group wrote itself. Without the guard the
111
122
  // first update would strip an aria-label the consumer put on the host,
112
123
  // because "no accessible-label here" would be read as "remove the name".
124
+ // Announced, not drawn. See the note on `invalid`.
125
+ if (changed.has('invalid')) {
126
+ if (this.invalid)
127
+ this.setAttribute('aria-invalid', 'true');
128
+ else
129
+ this.removeAttribute('aria-invalid');
130
+ }
113
131
  if (changed.has('accessibleLabel')) {
114
132
  this._appliedLabel = setOwnedAttribute(this, 'aria-label', this.accessibleLabel, this._appliedLabel);
115
133
  }
@@ -185,6 +203,9 @@ __decorate([
185
203
  __decorate([
186
204
  property({ type: String, attribute: 'accessible-labeled-by' })
187
205
  ], NLDDRadioButtonGroup.prototype, "accessibleLabeledBy", void 0);
206
+ __decorate([
207
+ property({ type: Boolean, reflect: true })
208
+ ], NLDDRadioButtonGroup.prototype, "invalid", void 0);
188
209
  NLDDRadioButtonGroup = __decorate([
189
210
  customElement('nldd-radio-button-group')
190
211
  ], NLDDRadioButtonGroup);
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button-group.js","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button-group/radio-button-group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radio-button-group.js","sourceRoot":"","sources":["../../../../src/components/inputs/radio-button-group/radio-button-group.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,11 @@
15
15
  * @attr {object} translations - Override translation keys; unset keys fall back to Dutch
16
16
  * @attr {boolean} no-spellcheck - Disables browser spellchecking on the inner input
17
17
  * @attr {string} width - Optional fixed width (any CSS length, e.g. "240px"). Default: stretches to fill container.
18
+ * @attr {boolean} required - Required state
19
+ * @attr {string} pattern - Regular expression the value has to match, as the native `pattern`.
20
+ * @attr {number} minlength - Fewest characters the value may have.
21
+ * @attr {number} maxlength - Most characters the value may have.
22
+ * @attr {boolean} invalid - Marks the control as invalid. Announced with aria-invalid; nothing is drawn for it.
18
23
  *
19
24
  * @fires input - When the input value changes; detail: { value: string }
20
25
  * @fires change - When the input value is committed; detail: { value: string }
@@ -27,7 +32,7 @@ import './../../actions/icon-button/icon-button.js';
27
32
  import './../../actions/button/button.js';
28
33
  import './../../content/icon/icon.js';
29
34
  export type SearchFieldSize = 'sm' | 'md';
30
- declare const NLDDSearchField_base: typeof LitElement & (abstract new (...args: any[]) => LitElement & import("../../../utilities/form-associated-mixin.js").FormAssociatedElement);
35
+ declare const NLDDSearchField_base: typeof LitElement & (abstract new (...args: any[]) => LitElement & import("../../../utilities/form-associated-mixin.js").FormAssociatedElement) & (abstract new (...args: any[]) => import("../../../utilities/described-by-mixin.js").DescribedElement);
31
36
  export declare class NLDDSearchField extends NLDDSearchField_base {
32
37
  static styles: import("lit").CSSResult;
33
38
  /** Says this is the control an nldd-form-field is about, so the field can
@@ -55,6 +60,23 @@ export declare class NLDDSearchField extends NLDDSearchField_base {
55
60
  /** Optional fixed width (any CSS length). When unset, the field stretches to fill its container. */
56
61
  width: string;
57
62
  _input: HTMLInputElement;
63
+ required: boolean;
64
+ /** Regular expression the value has to match, as the native `pattern`. */
65
+ pattern: string;
66
+ /** Fewest characters the value may have, as the native `minlength`. */
67
+ minlength?: number;
68
+ /** Most characters the value may have, as the native `maxlength`. */
69
+ maxlength?: number;
70
+ /**
71
+ * Marks the control as invalid.
72
+ *
73
+ * Announced and not drawn. What is wrong belongs in an
74
+ * nldd-validation-list, in words: a red ring around a single
75
+ * checkbox or radio would say the option is wrong, while it is the question
76
+ * that is unanswered. `aria-invalid` still goes on the control, because
77
+ * choosing not to show something is not a reason to keep quiet about it.
78
+ */
79
+ invalid: boolean;
58
80
  firstUpdated(): void;
59
81
  updated(changed: PropertyValues): void;
60
82
  formValue(): FormValue;