@nldd/design-system 0.8.69 → 0.8.71

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 (639) hide show
  1. package/README.md +12 -5
  2. package/custom-elements.json +31949 -0
  3. package/dist/assets/styles/style-resets.d.ts +1 -1
  4. package/dist/assets/styles/style-resets.js +1 -1
  5. package/dist/components/actions/button/button.d.ts +12 -5
  6. package/dist/components/actions/button/button.d.ts.map +1 -1
  7. package/dist/components/actions/button/button.i18n.d.ts +1 -1
  8. package/dist/components/actions/button/button.i18n.js +1 -1
  9. package/dist/components/actions/button/button.i18n.js.map +1 -1
  10. package/dist/components/actions/button/button.js +21 -4
  11. package/dist/components/actions/button/button.js.map +1 -1
  12. package/dist/components/actions/button/button.styles.d.ts.map +1 -1
  13. package/dist/components/actions/button/button.styles.js +14 -3
  14. package/dist/components/actions/button/button.styles.js.map +1 -1
  15. package/dist/components/actions/button/button.template.js +1 -1
  16. package/dist/components/actions/button/button.template.js.map +1 -1
  17. package/dist/components/actions/button-bar/button-bar.d.ts.map +1 -1
  18. package/dist/components/actions/button-bar/button-bar.js +6 -0
  19. package/dist/components/actions/button-bar/button-bar.js.map +1 -1
  20. package/dist/components/actions/icon-button/icon-button.d.ts +26 -37
  21. package/dist/components/actions/icon-button/icon-button.d.ts.map +1 -1
  22. package/dist/components/actions/icon-button/icon-button.i18n.d.ts +1 -1
  23. package/dist/components/actions/icon-button/icon-button.i18n.js +1 -1
  24. package/dist/components/actions/icon-button/icon-button.i18n.js.map +1 -1
  25. package/dist/components/actions/icon-button/icon-button.js +25 -36
  26. package/dist/components/actions/icon-button/icon-button.js.map +1 -1
  27. package/dist/components/actions/icon-button/icon-button.styles.d.ts.map +1 -1
  28. package/dist/components/actions/icon-button/icon-button.styles.js +2 -1
  29. package/dist/components/actions/icon-button/icon-button.styles.js.map +1 -1
  30. package/dist/components/actions/icon-button/icon-button.template.js +1 -1
  31. package/dist/components/actions/icon-button/icon-button.template.js.map +1 -1
  32. package/dist/components/actions/menu/menu.d.ts +47 -52
  33. package/dist/components/actions/menu/menu.d.ts.map +1 -1
  34. package/dist/components/actions/menu/menu.js +55 -54
  35. package/dist/components/actions/menu/menu.js.map +1 -1
  36. package/dist/components/actions/menu/menu.styles.d.ts.map +1 -1
  37. package/dist/components/actions/menu/menu.styles.js +8 -1
  38. package/dist/components/actions/menu/menu.styles.js.map +1 -1
  39. package/dist/components/actions/menu/menu.template.js +1 -1
  40. package/dist/components/actions/menu/menu.template.js.map +1 -1
  41. package/dist/components/actions/toolbar/toolbar.d.ts +14 -4
  42. package/dist/components/actions/toolbar/toolbar.d.ts.map +1 -1
  43. package/dist/components/actions/toolbar/toolbar.js +34 -11
  44. package/dist/components/actions/toolbar/toolbar.js.map +1 -1
  45. package/dist/components/actions/toolbar/toolbar.styles.js +3 -3
  46. package/dist/components/components.js +88 -82
  47. package/dist/components/content/avatar/avatar.d.ts +44 -12
  48. package/dist/components/content/avatar/avatar.d.ts.map +1 -1
  49. package/dist/components/content/avatar/avatar.i18n.d.ts +5 -0
  50. package/dist/components/content/avatar/avatar.i18n.d.ts.map +1 -0
  51. package/dist/components/content/avatar/avatar.i18n.js +4 -0
  52. package/dist/components/content/avatar/avatar.i18n.js.map +1 -0
  53. package/dist/components/content/avatar/avatar.js +87 -13
  54. package/dist/components/content/avatar/avatar.js.map +1 -1
  55. package/dist/components/content/avatar/avatar.styles.d.ts.map +1 -1
  56. package/dist/components/content/avatar/avatar.styles.js +46 -10
  57. package/dist/components/content/avatar/avatar.styles.js.map +1 -1
  58. package/dist/components/content/avatar/avatar.template.d.ts +2 -1
  59. package/dist/components/content/avatar/avatar.template.d.ts.map +1 -1
  60. package/dist/components/content/avatar/avatar.template.js +53 -23
  61. package/dist/components/content/avatar/avatar.template.js.map +1 -1
  62. package/dist/components/content/byline/byline.d.ts +6 -6
  63. package/dist/components/content/byline/byline.js +6 -6
  64. package/dist/components/content/code-viewer/code-viewer.d.ts.map +1 -1
  65. package/dist/components/content/code-viewer/code-viewer.js +4 -2
  66. package/dist/components/content/code-viewer/code-viewer.js.map +1 -1
  67. package/dist/components/content/code-viewer/code-viewer.styles.d.ts.map +1 -1
  68. package/dist/components/content/code-viewer/code-viewer.styles.js +5 -4
  69. package/dist/components/content/code-viewer/code-viewer.styles.js.map +1 -1
  70. package/dist/components/content/icon/icon-aliases.d.ts.map +1 -1
  71. package/dist/components/content/icon/icon-aliases.js +36 -5
  72. package/dist/components/content/icon/icon-aliases.js.map +1 -1
  73. package/dist/components/content/icon/icon-registry.d.ts.map +1 -1
  74. package/dist/components/content/icon/icon-registry.js +42 -6
  75. package/dist/components/content/icon/icon-registry.js.map +1 -1
  76. package/dist/components/content/icon/icon.d.ts +14 -16
  77. package/dist/components/content/icon/icon.d.ts.map +1 -1
  78. package/dist/components/content/icon/icon.js +13 -15
  79. package/dist/components/content/icon/icon.js.map +1 -1
  80. package/dist/components/content/icon/icon.styles.d.ts.map +1 -1
  81. package/dist/components/content/icon/icon.styles.js +7 -4
  82. package/dist/components/content/icon/icon.styles.js.map +1 -1
  83. package/dist/components/content/image/image.d.ts +11 -9
  84. package/dist/components/content/image/image.d.ts.map +1 -1
  85. package/dist/components/content/image/image.js +11 -9
  86. package/dist/components/content/image/image.js.map +1 -1
  87. package/dist/components/content/image/image.styles.js +2 -2
  88. package/dist/components/content/image/image.template.js +2 -2
  89. package/dist/components/content/image/image.template.js.map +1 -1
  90. package/dist/components/content/image/lqip-encoder-element.d.ts.map +1 -1
  91. package/dist/components/content/image/lqip-encoder-element.js +1 -0
  92. package/dist/components/content/image/lqip-encoder-element.js.map +1 -1
  93. package/dist/components/content/image/lqip-encoder.js +1 -1
  94. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.d.ts +4 -0
  95. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.d.ts.map +1 -1
  96. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.js +4 -0
  97. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  98. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.styles.js +2 -2
  99. package/dist/components/content/rich-text/rich-text.d.ts +4 -4
  100. package/dist/components/content/rich-text/rich-text.js +4 -4
  101. package/dist/components/content/token/token.d.ts +7 -7
  102. package/dist/components/content/token/token.js +7 -7
  103. package/dist/components/content/token/token.styles.d.ts.map +1 -1
  104. package/dist/components/content/token/token.styles.js +1 -0
  105. package/dist/components/content/token/token.styles.js.map +1 -1
  106. package/dist/components/content/tooltip/tooltip.d.ts +4 -14
  107. package/dist/components/content/tooltip/tooltip.d.ts.map +1 -1
  108. package/dist/components/content/tooltip/tooltip.js +4 -14
  109. package/dist/components/content/tooltip/tooltip.js.map +1 -1
  110. package/dist/components/forms/form/form.d.ts +10 -19
  111. package/dist/components/forms/form/form.d.ts.map +1 -1
  112. package/dist/components/forms/form/form.js +10 -19
  113. package/dist/components/forms/form/form.js.map +1 -1
  114. package/dist/components/forms/form-actions/form-actions.d.ts +2 -6
  115. package/dist/components/forms/form-actions/form-actions.d.ts.map +1 -1
  116. package/dist/components/forms/form-actions/form-actions.js +2 -6
  117. package/dist/components/forms/form-actions/form-actions.js.map +1 -1
  118. package/dist/components/forms/form-field/form-field.d.ts +7 -14
  119. package/dist/components/forms/form-field/form-field.d.ts.map +1 -1
  120. package/dist/components/forms/form-field/form-field.js +7 -14
  121. package/dist/components/forms/form-field/form-field.js.map +1 -1
  122. package/dist/components/forms/form-field/form-field.styles.d.ts.map +1 -1
  123. package/dist/components/forms/form-field/form-field.styles.js +15 -2
  124. package/dist/components/forms/form-field/form-field.styles.js.map +1 -1
  125. package/dist/components/forms/form-section/form-section.d.ts +2 -3
  126. package/dist/components/forms/form-section/form-section.d.ts.map +1 -1
  127. package/dist/components/forms/form-section/form-section.js +2 -3
  128. package/dist/components/forms/form-section/form-section.js.map +1 -1
  129. package/dist/components/{index-Bf4pa5Bp.js → index-CDK46KLh.js} +1 -1
  130. package/dist/components/{index-CXC-Objp.js → index-CbaaFM8N.js} +1 -1
  131. package/dist/components/{index-DZo3DrGQ.js → index-DRtuMofR.js} +1 -1
  132. package/dist/components/{index-BfOpap4b.js → index-DuvuHfMi.js} +1 -1
  133. package/dist/components/{index-CfvgUB5p.js → index-DzJola_U.js} +1 -1
  134. package/dist/components/{index-DB-i084x.js → index-n8evy8Za.js} +1 -1
  135. package/dist/components/{index-VwuVCCal.js → index-t08wCuGl.js} +11121 -7148
  136. package/dist/components/index.d.ts +5 -0
  137. package/dist/components/index.d.ts.map +1 -1
  138. package/dist/components/index.js +5 -0
  139. package/dist/components/index.js.map +1 -1
  140. package/dist/components/inputs/checkbox/checkbox.d.ts +11 -11
  141. package/dist/components/inputs/checkbox/checkbox.d.ts.map +1 -1
  142. package/dist/components/inputs/checkbox/checkbox.js +11 -15
  143. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  144. package/dist/components/inputs/checkbox/checkbox.styles.d.ts.map +1 -1
  145. package/dist/components/inputs/checkbox/checkbox.styles.js +2 -1
  146. package/dist/components/inputs/checkbox/checkbox.styles.js.map +1 -1
  147. package/dist/components/inputs/checkbox-field/checkbox-field.d.ts +20 -6
  148. package/dist/components/inputs/checkbox-field/checkbox-field.d.ts.map +1 -1
  149. package/dist/components/inputs/checkbox-field/checkbox-field.js +29 -7
  150. package/dist/components/inputs/checkbox-field/checkbox-field.js.map +1 -1
  151. package/dist/components/inputs/code-editor/code-editor.d.ts +19 -18
  152. package/dist/components/inputs/code-editor/code-editor.d.ts.map +1 -1
  153. package/dist/components/inputs/code-editor/code-editor.js +23 -23
  154. package/dist/components/inputs/code-editor/code-editor.js.map +1 -1
  155. package/dist/components/inputs/code-editor/code-editor.styles.js +2 -2
  156. package/dist/components/inputs/combo-box/combo-box.d.ts +26 -29
  157. package/dist/components/inputs/combo-box/combo-box.d.ts.map +1 -1
  158. package/dist/components/inputs/combo-box/combo-box.js +74 -39
  159. package/dist/components/inputs/combo-box/combo-box.js.map +1 -1
  160. package/dist/components/inputs/combo-box/combo-box.styles.js +7 -7
  161. package/dist/components/inputs/date-field/date-field.d.ts +227 -0
  162. package/dist/components/inputs/date-field/date-field.d.ts.map +1 -0
  163. package/dist/components/inputs/date-field/date-field.i18n.d.ts +11 -0
  164. package/dist/components/inputs/date-field/date-field.i18n.d.ts.map +1 -0
  165. package/dist/components/inputs/date-field/date-field.i18n.js +17 -0
  166. package/dist/components/inputs/date-field/date-field.i18n.js.map +1 -0
  167. package/dist/components/inputs/date-field/date-field.js +586 -0
  168. package/dist/components/inputs/date-field/date-field.js.map +1 -0
  169. package/dist/components/inputs/date-field/date-field.styles.d.ts +2 -0
  170. package/dist/components/inputs/date-field/date-field.styles.d.ts.map +1 -0
  171. package/dist/components/inputs/date-field/date-field.styles.js +246 -0
  172. package/dist/components/inputs/date-field/date-field.styles.js.map +1 -0
  173. package/dist/components/inputs/date-field/date-field.template.d.ts +17 -0
  174. package/dist/components/inputs/date-field/date-field.template.d.ts.map +1 -0
  175. package/dist/components/inputs/date-field/date-field.template.js +141 -0
  176. package/dist/components/inputs/date-field/date-field.template.js.map +1 -0
  177. package/dist/components/inputs/date-picker/date-picker.d.ts +271 -0
  178. package/dist/components/inputs/date-picker/date-picker.d.ts.map +1 -0
  179. package/dist/components/inputs/date-picker/date-picker.i18n.d.ts +64 -0
  180. package/dist/components/inputs/date-picker/date-picker.i18n.d.ts.map +1 -0
  181. package/dist/components/inputs/date-picker/date-picker.i18n.js +81 -0
  182. package/dist/components/inputs/date-picker/date-picker.i18n.js.map +1 -0
  183. package/dist/components/inputs/date-picker/date-picker.js +768 -0
  184. package/dist/components/inputs/date-picker/date-picker.js.map +1 -0
  185. package/dist/components/inputs/date-picker/date-picker.styles.d.ts +2 -0
  186. package/dist/components/inputs/date-picker/date-picker.styles.d.ts.map +1 -0
  187. package/dist/components/inputs/date-picker/date-picker.styles.js +345 -0
  188. package/dist/components/inputs/date-picker/date-picker.styles.js.map +1 -0
  189. package/dist/components/inputs/date-picker/date-picker.template.d.ts +8 -0
  190. package/dist/components/inputs/date-picker/date-picker.template.d.ts.map +1 -0
  191. package/dist/components/inputs/date-picker/date-picker.template.js +223 -0
  192. package/dist/components/inputs/date-picker/date-picker.template.js.map +1 -0
  193. package/dist/components/inputs/dropdown/dropdown.d.ts +4 -4
  194. package/dist/components/inputs/dropdown/dropdown.js +4 -4
  195. package/dist/components/inputs/dropdown/dropdown.styles.d.ts.map +1 -1
  196. package/dist/components/inputs/dropdown/dropdown.styles.js +1 -0
  197. package/dist/components/inputs/dropdown/dropdown.styles.js.map +1 -1
  198. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.d.ts +22 -21
  199. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.d.ts.map +1 -1
  200. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.js +24 -26
  201. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.js.map +1 -1
  202. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.styles.js +5 -5
  203. package/dist/components/inputs/number-field/number-field.d.ts +17 -20
  204. package/dist/components/inputs/number-field/number-field.d.ts.map +1 -1
  205. package/dist/components/inputs/number-field/number-field.js +20 -23
  206. package/dist/components/inputs/number-field/number-field.js.map +1 -1
  207. package/dist/components/inputs/number-field/number-field.styles.js +4 -4
  208. package/dist/components/inputs/password-field/password-field.d.ts +25 -23
  209. package/dist/components/inputs/password-field/password-field.d.ts.map +1 -1
  210. package/dist/components/inputs/password-field/password-field.js +27 -28
  211. package/dist/components/inputs/password-field/password-field.js.map +1 -1
  212. package/dist/components/inputs/password-field/password-field.styles.js +7 -7
  213. package/dist/components/inputs/radio-button/radio-button.d.ts +11 -8
  214. package/dist/components/inputs/radio-button/radio-button.d.ts.map +1 -1
  215. package/dist/components/inputs/radio-button/radio-button.js +10 -12
  216. package/dist/components/inputs/radio-button/radio-button.js.map +1 -1
  217. package/dist/components/inputs/radio-button/radio-button.styles.d.ts.map +1 -1
  218. package/dist/components/inputs/radio-button/radio-button.styles.js +3 -2
  219. package/dist/components/inputs/radio-button/radio-button.styles.js.map +1 -1
  220. package/dist/components/inputs/radio-button-field/radio-button-field.d.ts +25 -5
  221. package/dist/components/inputs/radio-button-field/radio-button-field.d.ts.map +1 -1
  222. package/dist/components/inputs/radio-button-field/radio-button-field.js +33 -6
  223. package/dist/components/inputs/radio-button-field/radio-button-field.js.map +1 -1
  224. package/dist/components/inputs/radio-button-group/radio-button-group.d.ts +3 -2
  225. package/dist/components/inputs/radio-button-group/radio-button-group.d.ts.map +1 -1
  226. package/dist/components/inputs/radio-button-group/radio-button-group.js +17 -9
  227. package/dist/components/inputs/radio-button-group/radio-button-group.js.map +1 -1
  228. package/dist/components/inputs/search-field/search-field.d.ts +15 -17
  229. package/dist/components/inputs/search-field/search-field.d.ts.map +1 -1
  230. package/dist/components/inputs/search-field/search-field.js +19 -22
  231. package/dist/components/inputs/search-field/search-field.js.map +1 -1
  232. package/dist/components/inputs/search-field/search-field.styles.js +5 -5
  233. package/dist/components/inputs/segmented-control/segmented-control.d.ts +31 -24
  234. package/dist/components/inputs/segmented-control/segmented-control.d.ts.map +1 -1
  235. package/dist/components/inputs/segmented-control/segmented-control.js +52 -53
  236. package/dist/components/inputs/segmented-control/segmented-control.js.map +1 -1
  237. package/dist/components/inputs/segmented-control/segmented-control.styles.d.ts.map +1 -1
  238. package/dist/components/inputs/segmented-control/segmented-control.styles.js +5 -4
  239. package/dist/components/inputs/segmented-control/segmented-control.styles.js.map +1 -1
  240. package/dist/components/inputs/stepper/stepper.d.ts +14 -13
  241. package/dist/components/inputs/stepper/stepper.d.ts.map +1 -1
  242. package/dist/components/inputs/stepper/stepper.js +13 -17
  243. package/dist/components/inputs/stepper/stepper.js.map +1 -1
  244. package/dist/components/inputs/stepper/stepper.styles.d.ts.map +1 -1
  245. package/dist/components/inputs/stepper/stepper.styles.js +1 -0
  246. package/dist/components/inputs/stepper/stepper.styles.js.map +1 -1
  247. package/dist/components/inputs/switch/switch.d.ts +12 -11
  248. package/dist/components/inputs/switch/switch.d.ts.map +1 -1
  249. package/dist/components/inputs/switch/switch.js +13 -16
  250. package/dist/components/inputs/switch/switch.js.map +1 -1
  251. package/dist/components/inputs/switch/switch.styles.d.ts.map +1 -1
  252. package/dist/components/inputs/switch/switch.styles.js +7 -6
  253. package/dist/components/inputs/switch/switch.styles.js.map +1 -1
  254. package/dist/components/inputs/switch-field/switch-field.d.ts +4 -4
  255. package/dist/components/inputs/switch-field/switch-field.js +4 -4
  256. package/dist/components/inputs/text-editor/text-editor.caret.d.ts +1 -1
  257. package/dist/components/inputs/text-editor/text-editor.caret.js +1 -1
  258. package/dist/components/inputs/text-editor/text-editor.commands.js +1 -1
  259. package/dist/components/inputs/text-editor/text-editor.d.ts +21 -21
  260. package/dist/components/inputs/text-editor/text-editor.d.ts.map +1 -1
  261. package/dist/components/inputs/text-editor/text-editor.js +27 -27
  262. package/dist/components/inputs/text-editor/text-editor.js.map +1 -1
  263. package/dist/components/inputs/text-editor/text-editor.links.js +4 -4
  264. package/dist/components/inputs/text-editor/text-editor.markdown.js +7 -7
  265. package/dist/components/inputs/text-editor/text-editor.markdown.js.map +1 -1
  266. package/dist/components/inputs/text-editor/text-editor.ordered-list.js +1 -1
  267. package/dist/components/inputs/text-editor/text-editor.styles.js +14 -14
  268. package/dist/components/inputs/text-field/text-field.d.ts +20 -18
  269. package/dist/components/inputs/text-field/text-field.d.ts.map +1 -1
  270. package/dist/components/inputs/text-field/text-field.js +22 -23
  271. package/dist/components/inputs/text-field/text-field.js.map +1 -1
  272. package/dist/components/inputs/text-field/text-field.styles.js +3 -3
  273. package/dist/components/inputs/toggle-button/toggle-button.d.ts +14 -13
  274. package/dist/components/inputs/toggle-button/toggle-button.d.ts.map +1 -1
  275. package/dist/components/inputs/toggle-button/toggle-button.js +18 -18
  276. package/dist/components/inputs/toggle-button/toggle-button.js.map +1 -1
  277. package/dist/components/inputs/toggle-button/toggle-button.styles.d.ts.map +1 -1
  278. package/dist/components/inputs/toggle-button/toggle-button.styles.js +1 -0
  279. package/dist/components/inputs/toggle-button/toggle-button.styles.js.map +1 -1
  280. package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts +7 -7
  281. package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts.map +1 -1
  282. package/dist/components/inputs/toggle-button-group/toggle-button-group.js +25 -17
  283. package/dist/components/inputs/toggle-button-group/toggle-button-group.js.map +1 -1
  284. package/dist/components/inputs/token-field/token-field.d.ts +24 -29
  285. package/dist/components/inputs/token-field/token-field.d.ts.map +1 -1
  286. package/dist/components/inputs/token-field/token-field.i18n.d.ts +1 -1
  287. package/dist/components/inputs/token-field/token-field.i18n.js +1 -1
  288. package/dist/components/inputs/token-field/token-field.i18n.js.map +1 -1
  289. package/dist/components/inputs/token-field/token-field.js +35 -39
  290. package/dist/components/inputs/token-field/token-field.js.map +1 -1
  291. package/dist/components/inputs/token-field/token-field.styles.js +4 -4
  292. package/dist/components/inputs/token-field/token-field.template.js +1 -1
  293. package/dist/components/inputs/token-field/token-field.template.js.map +1 -1
  294. package/dist/components/layout/app-view/app-view.d.ts +16 -4
  295. package/dist/components/layout/app-view/app-view.d.ts.map +1 -1
  296. package/dist/components/layout/app-view/app-view.js +18 -13
  297. package/dist/components/layout/app-view/app-view.js.map +1 -1
  298. package/dist/components/layout/box/box.d.ts +1 -1
  299. package/dist/components/layout/box/box.js +1 -1
  300. package/dist/components/layout/box/box.styles.d.ts.map +1 -1
  301. package/dist/components/layout/box/box.styles.js +8 -18
  302. package/dist/components/layout/box/box.styles.js.map +1 -1
  303. package/dist/components/layout/card/card.d.ts +26 -9
  304. package/dist/components/layout/card/card.d.ts.map +1 -1
  305. package/dist/components/layout/card/card.i18n.d.ts +1 -1
  306. package/dist/components/layout/card/card.i18n.js +1 -1
  307. package/dist/components/layout/card/card.i18n.js.map +1 -1
  308. package/dist/components/layout/card/card.js +51 -14
  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 +41 -4
  312. package/dist/components/layout/card/card.styles.js.map +1 -1
  313. package/dist/components/layout/card/card.template.d.ts.map +1 -1
  314. package/dist/components/layout/card/card.template.js +14 -6
  315. package/dist/components/layout/card/card.template.js.map +1 -1
  316. package/dist/components/layout/collection/collection.d.ts +3 -10
  317. package/dist/components/layout/collection/collection.d.ts.map +1 -1
  318. package/dist/components/layout/collection/collection.js +3 -10
  319. package/dist/components/layout/collection/collection.js.map +1 -1
  320. package/dist/components/layout/collection/collection.styles.d.ts.map +1 -1
  321. package/dist/components/layout/collection/collection.styles.js +21 -3
  322. package/dist/components/layout/collection/collection.styles.js.map +1 -1
  323. package/dist/components/layout/container/container.d.ts +47 -24
  324. package/dist/components/layout/container/container.d.ts.map +1 -1
  325. package/dist/components/layout/container/container.js +47 -24
  326. package/dist/components/layout/container/container.js.map +1 -1
  327. package/dist/components/layout/page/page.d.ts +1 -1
  328. package/dist/components/layout/page/page.js +2 -2
  329. package/dist/components/layout/page-footer/page-footer.d.ts +10 -12
  330. package/dist/components/layout/page-footer/page-footer.d.ts.map +1 -1
  331. package/dist/components/layout/page-footer/page-footer.js +11 -13
  332. package/dist/components/layout/page-footer/page-footer.js.map +1 -1
  333. package/dist/components/layout/page-footer/page-footer.styles.d.ts.map +1 -1
  334. package/dist/components/layout/page-footer/page-footer.styles.js +8 -1
  335. package/dist/components/layout/page-footer/page-footer.styles.js.map +1 -1
  336. package/dist/components/layout/page-footer/page-footer.template.js +1 -1
  337. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.d.ts +1 -3
  338. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.d.ts.map +1 -1
  339. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.js +1 -3
  340. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.js.map +1 -1
  341. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.d.ts +1 -3
  342. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.d.ts.map +1 -1
  343. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.js +1 -3
  344. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.js.map +1 -1
  345. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.d.ts +1 -3
  346. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.d.ts.map +1 -1
  347. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.js +1 -3
  348. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.js.map +1 -1
  349. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.d.ts +20 -18
  350. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.d.ts.map +1 -1
  351. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.js +26 -20
  352. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.js.map +1 -1
  353. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.styles.d.ts.map +1 -1
  354. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.styles.js +20 -2
  355. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.styles.js.map +1 -1
  356. package/dist/components/layout/page-sections/simple-section/simple-section.d.ts +1 -3
  357. package/dist/components/layout/page-sections/simple-section/simple-section.d.ts.map +1 -1
  358. package/dist/components/layout/page-sections/simple-section/simple-section.js +1 -3
  359. package/dist/components/layout/page-sections/simple-section/simple-section.js.map +1 -1
  360. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.d.ts +1 -3
  361. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.d.ts.map +1 -1
  362. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.js +1 -3
  363. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.js.map +1 -1
  364. package/dist/components/layout/popover/popover.d.ts +34 -46
  365. package/dist/components/layout/popover/popover.d.ts.map +1 -1
  366. package/dist/components/layout/popover/popover.js +99 -51
  367. package/dist/components/layout/popover/popover.js.map +1 -1
  368. package/dist/components/layout/sheet/sheet.d.ts +20 -16
  369. package/dist/components/layout/sheet/sheet.d.ts.map +1 -1
  370. package/dist/components/layout/sheet/sheet.js +62 -27
  371. package/dist/components/layout/sheet/sheet.js.map +1 -1
  372. package/dist/components/layout/sheet/sheet.styles.d.ts.map +1 -1
  373. package/dist/components/layout/sheet/sheet.styles.js +6 -1
  374. package/dist/components/layout/sheet/sheet.styles.js.map +1 -1
  375. package/dist/components/layout/sheet/sheet.template.d.ts.map +1 -1
  376. package/dist/components/layout/sheet/sheet.template.js +1 -0
  377. package/dist/components/layout/sheet/sheet.template.js.map +1 -1
  378. package/dist/components/layout/split-views/bar-split-view/bar-split-view.d.ts +4 -4
  379. package/dist/components/layout/split-views/bar-split-view/bar-split-view.js +4 -4
  380. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.d.ts +17 -17
  381. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.js +17 -17
  382. package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.d.ts +1 -0
  383. package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.d.ts.map +1 -1
  384. package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.js +5 -0
  385. package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.js.map +1 -1
  386. package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.styles.d.ts.map +1 -1
  387. package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.styles.js +27 -0
  388. package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.styles.js.map +1 -1
  389. package/dist/components/layout/split-views/split-view-pane/split-view-pane.d.ts +2 -2
  390. package/dist/components/layout/split-views/split-view-pane/split-view-pane.js +2 -2
  391. package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.d.ts +2 -0
  392. package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.d.ts.map +1 -1
  393. package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.js +3 -0
  394. package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.js.map +1 -1
  395. package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.styles.d.ts.map +1 -1
  396. package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.styles.js +24 -0
  397. package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.styles.js.map +1 -1
  398. package/dist/components/layout/window/window.d.ts +34 -19
  399. package/dist/components/layout/window/window.d.ts.map +1 -1
  400. package/dist/components/layout/window/window.js +76 -29
  401. package/dist/components/layout/window/window.js.map +1 -1
  402. package/dist/components/layout/window/window.styles.d.ts.map +1 -1
  403. package/dist/components/layout/window/window.styles.js +5 -1
  404. package/dist/components/layout/window/window.styles.js.map +1 -1
  405. package/dist/components/layout/window/window.template.d.ts.map +1 -1
  406. package/dist/components/layout/window/window.template.js +2 -0
  407. package/dist/components/layout/window/window.template.js.map +1 -1
  408. package/dist/components/lists-and-tables/cells/cell/cell.styles.d.ts.map +1 -1
  409. package/dist/components/lists-and-tables/cells/cell/cell.styles.js +1 -0
  410. package/dist/components/lists-and-tables/cells/cell/cell.styles.js.map +1 -1
  411. package/dist/components/lists-and-tables/cells/description-cell/description-cell.styles.d.ts.map +1 -1
  412. package/dist/components/lists-and-tables/cells/description-cell/description-cell.styles.js +1 -0
  413. package/dist/components/lists-and-tables/cells/description-cell/description-cell.styles.js.map +1 -1
  414. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.d.ts +2 -1
  415. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.d.ts.map +1 -1
  416. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.i18n.d.ts +1 -1
  417. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.i18n.js +1 -1
  418. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.i18n.js.map +1 -1
  419. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.js +3 -2
  420. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.js.map +1 -1
  421. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.styles.d.ts.map +1 -1
  422. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.styles.js +1 -0
  423. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.styles.js.map +1 -1
  424. package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.styles.d.ts.map +1 -1
  425. package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.styles.js +1 -0
  426. package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.styles.js.map +1 -1
  427. package/dist/components/lists-and-tables/cells/text-cell/text-cell.styles.d.ts.map +1 -1
  428. package/dist/components/lists-and-tables/cells/text-cell/text-cell.styles.js +1 -0
  429. package/dist/components/lists-and-tables/cells/text-cell/text-cell.styles.js.map +1 -1
  430. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.d.ts +43 -9
  431. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.d.ts.map +1 -1
  432. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.js +69 -9
  433. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.js.map +1 -1
  434. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.d.ts.map +1 -1
  435. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.js +96 -43
  436. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.js.map +1 -1
  437. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.d.ts.map +1 -1
  438. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.js +19 -7
  439. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.js.map +1 -1
  440. package/dist/components/lists-and-tables/cells/title-cell/title-cell.styles.d.ts.map +1 -1
  441. package/dist/components/lists-and-tables/cells/title-cell/title-cell.styles.js +1 -0
  442. package/dist/components/lists-and-tables/cells/title-cell/title-cell.styles.js.map +1 -1
  443. package/dist/components/lists-and-tables/list/list.d.ts +89 -29
  444. package/dist/components/lists-and-tables/list/list.d.ts.map +1 -1
  445. package/dist/components/lists-and-tables/list/list.i18n.d.ts +4 -4
  446. package/dist/components/lists-and-tables/list/list.i18n.js +4 -4
  447. package/dist/components/lists-and-tables/list/list.i18n.js.map +1 -1
  448. package/dist/components/lists-and-tables/list/list.js +214 -68
  449. package/dist/components/lists-and-tables/list/list.js.map +1 -1
  450. package/dist/components/lists-and-tables/list/list.styles.d.ts.map +1 -1
  451. package/dist/components/lists-and-tables/list/list.styles.js +29 -22
  452. package/dist/components/lists-and-tables/list/list.styles.js.map +1 -1
  453. package/dist/components/lists-and-tables/list/list.template.d.ts.map +1 -1
  454. package/dist/components/lists-and-tables/list/list.template.js +4 -3
  455. package/dist/components/lists-and-tables/list/list.template.js.map +1 -1
  456. package/dist/components/lists-and-tables/list-item/list-item.d.ts +198 -17
  457. package/dist/components/lists-and-tables/list-item/list-item.d.ts.map +1 -1
  458. package/dist/components/lists-and-tables/list-item/list-item.i18n.d.ts +1 -1
  459. package/dist/components/lists-and-tables/list-item/list-item.i18n.js +1 -1
  460. package/dist/components/lists-and-tables/list-item/list-item.i18n.js.map +1 -1
  461. package/dist/components/lists-and-tables/list-item/list-item.js +476 -44
  462. package/dist/components/lists-and-tables/list-item/list-item.js.map +1 -1
  463. package/dist/components/lists-and-tables/list-item/list-item.styles.d.ts.map +1 -1
  464. package/dist/components/lists-and-tables/list-item/list-item.styles.js +133 -101
  465. package/dist/components/lists-and-tables/list-item/list-item.styles.js.map +1 -1
  466. package/dist/components/lists-and-tables/list-item/list-item.template.d.ts +1 -1
  467. package/dist/components/lists-and-tables/list-item/list-item.template.d.ts.map +1 -1
  468. package/dist/components/lists-and-tables/list-item/list-item.template.js +51 -24
  469. package/dist/components/lists-and-tables/list-item/list-item.template.js.map +1 -1
  470. package/dist/components/lists-and-tables/list-item-action/list-item-action.d.ts +108 -0
  471. package/dist/components/lists-and-tables/list-item-action/list-item-action.d.ts.map +1 -0
  472. package/dist/components/lists-and-tables/list-item-action/list-item-action.js +228 -0
  473. package/dist/components/lists-and-tables/list-item-action/list-item-action.js.map +1 -0
  474. package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.d.ts +2 -0
  475. package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.d.ts.map +1 -0
  476. package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.js +145 -0
  477. package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.js.map +1 -0
  478. package/dist/components/lists-and-tables/list-item-action/list-item-action.template.d.ts +3 -0
  479. package/dist/components/lists-and-tables/list-item-action/list-item-action.template.d.ts.map +1 -0
  480. package/dist/components/lists-and-tables/list-item-action/list-item-action.template.js +35 -0
  481. package/dist/components/lists-and-tables/list-item-action/list-item-action.template.js.map +1 -0
  482. package/dist/components/lists-and-tables/table/table.styles.d.ts.map +1 -1
  483. package/dist/components/lists-and-tables/table/table.styles.js +4 -2
  484. package/dist/components/lists-and-tables/table/table.styles.js.map +1 -1
  485. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +5 -7
  486. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  487. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +5 -7
  488. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  489. package/dist/components/navigation/breadcrumbs/breadcrumbs.template.js +1 -1
  490. package/dist/components/navigation/document-tab-bar/document-tab-bar.d.ts +15 -16
  491. package/dist/components/navigation/document-tab-bar/document-tab-bar.d.ts.map +1 -1
  492. package/dist/components/navigation/document-tab-bar/document-tab-bar.i18n.d.ts +1 -1
  493. package/dist/components/navigation/document-tab-bar/document-tab-bar.i18n.js +1 -1
  494. package/dist/components/navigation/document-tab-bar/document-tab-bar.i18n.js.map +1 -1
  495. package/dist/components/navigation/document-tab-bar/document-tab-bar.js +14 -15
  496. package/dist/components/navigation/document-tab-bar/document-tab-bar.js.map +1 -1
  497. package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.d.ts.map +1 -1
  498. package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.js +1 -0
  499. package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.js.map +1 -1
  500. package/dist/components/navigation/link/link.d.ts +2 -2
  501. package/dist/components/navigation/link/link.i18n.d.ts +1 -1
  502. package/dist/components/navigation/link/link.i18n.js +1 -1
  503. package/dist/components/navigation/link/link.i18n.js.map +1 -1
  504. package/dist/components/navigation/link/link.template.js +1 -1
  505. package/dist/components/navigation/link/link.template.js.map +1 -1
  506. package/dist/components/navigation/menu-bar/menu-bar.styles.d.ts.map +1 -1
  507. package/dist/components/navigation/menu-bar/menu-bar.styles.js +1 -0
  508. package/dist/components/navigation/menu-bar/menu-bar.styles.js.map +1 -1
  509. package/dist/components/navigation/menu-bar-item/menu-bar-item.d.ts +2 -1
  510. package/dist/components/navigation/menu-bar-item/menu-bar-item.d.ts.map +1 -1
  511. package/dist/components/navigation/menu-bar-item/menu-bar-item.js +2 -1
  512. package/dist/components/navigation/menu-bar-item/menu-bar-item.js.map +1 -1
  513. package/dist/components/navigation/menu-bar-item/menu-bar-item.styles.d.ts.map +1 -1
  514. package/dist/components/navigation/menu-bar-item/menu-bar-item.styles.js +1 -0
  515. package/dist/components/navigation/menu-bar-item/menu-bar-item.styles.js.map +1 -1
  516. package/dist/components/navigation/pagination/pagination.d.ts +1 -0
  517. package/dist/components/navigation/pagination/pagination.d.ts.map +1 -1
  518. package/dist/components/navigation/pagination/pagination.i18n.d.ts +1 -1
  519. package/dist/components/navigation/pagination/pagination.i18n.js +1 -1
  520. package/dist/components/navigation/pagination/pagination.i18n.js.map +1 -1
  521. package/dist/components/navigation/pagination/pagination.js +1 -0
  522. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  523. package/dist/components/navigation/pagination/pagination.styles.d.ts.map +1 -1
  524. package/dist/components/navigation/pagination/pagination.styles.js +6 -5
  525. package/dist/components/navigation/pagination/pagination.styles.js.map +1 -1
  526. package/dist/components/navigation/pagination/pagination.template.js +1 -1
  527. package/dist/components/navigation/pagination/pagination.template.js.map +1 -1
  528. package/dist/components/navigation/tab-bar/tab-bar.d.ts +11 -9
  529. package/dist/components/navigation/tab-bar/tab-bar.d.ts.map +1 -1
  530. package/dist/components/navigation/tab-bar/tab-bar.js +11 -9
  531. package/dist/components/navigation/tab-bar/tab-bar.js.map +1 -1
  532. package/dist/components/navigation/tab-bar/tab-bar.styles.d.ts.map +1 -1
  533. package/dist/components/navigation/tab-bar/tab-bar.styles.js +8 -7
  534. package/dist/components/navigation/tab-bar/tab-bar.styles.js.map +1 -1
  535. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.d.ts +22 -0
  536. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.d.ts.map +1 -1
  537. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.js +22 -1
  538. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.js.map +1 -1
  539. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.d.ts.map +1 -1
  540. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js +9 -4
  541. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js.map +1 -1
  542. package/dist/components/navigation/top-title-bar/top-title-bar.d.ts +11 -1
  543. package/dist/components/navigation/top-title-bar/top-title-bar.d.ts.map +1 -1
  544. package/dist/components/navigation/top-title-bar/top-title-bar.js +29 -4
  545. package/dist/components/navigation/top-title-bar/top-title-bar.js.map +1 -1
  546. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.d.ts +3 -3
  547. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.i18n.d.ts +1 -1
  548. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.i18n.js +1 -1
  549. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.i18n.js.map +1 -1
  550. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.js +4 -4
  551. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.js.map +1 -1
  552. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.styles.js +6 -6
  553. package/dist/components/status-and-feedback/badge/badge.d.ts +2 -2
  554. package/dist/components/status-and-feedback/badge/badge.i18n.d.ts +1 -1
  555. package/dist/components/status-and-feedback/badge/badge.i18n.js +1 -1
  556. package/dist/components/status-and-feedback/badge/badge.i18n.js.map +1 -1
  557. package/dist/components/status-and-feedback/badge/badge.js +1 -1
  558. package/dist/components/status-and-feedback/badge/badge.js.map +1 -1
  559. package/dist/components/status-and-feedback/banner/banner.d.ts +9 -9
  560. package/dist/components/status-and-feedback/banner/banner.js +9 -9
  561. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.d.ts +6 -6
  562. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.js +6 -6
  563. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.d.ts +7 -7
  564. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.d.ts.map +1 -1
  565. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.js +10 -8
  566. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.js.map +1 -1
  567. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.d.ts.map +1 -1
  568. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.js +17 -1
  569. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.js.map +1 -1
  570. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.d.ts +22 -8
  571. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.d.ts.map +1 -1
  572. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.js +63 -27
  573. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.js.map +1 -1
  574. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.template.d.ts.map +1 -1
  575. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.template.js +1 -0
  576. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.template.js.map +1 -1
  577. package/dist/components/status-and-feedback/progress-bar/progress-bar.d.ts +13 -13
  578. package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.d.ts +2 -2
  579. package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.js +2 -2
  580. package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.js.map +1 -1
  581. package/dist/components/status-and-feedback/progress-bar/progress-bar.js +14 -14
  582. package/dist/components/status-and-feedback/progress-bar/progress-bar.js.map +1 -1
  583. package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.js +1 -1
  584. package/dist/components/status-and-feedback/progress-bar/progress-bar.template.js +1 -1
  585. package/dist/components/status-and-feedback/progress-bar/progress-bar.template.js.map +1 -1
  586. package/dist/components/status-and-feedback/progress-circle/progress-circle.d.ts +15 -15
  587. package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.d.ts +2 -2
  588. package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.js +2 -2
  589. package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.js.map +1 -1
  590. package/dist/components/status-and-feedback/progress-circle/progress-circle.js +20 -20
  591. package/dist/components/status-and-feedback/progress-circle/progress-circle.js.map +1 -1
  592. package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.js +3 -3
  593. package/dist/components/status-and-feedback/progress-circle/progress-circle.template.js +4 -4
  594. package/dist/components/status-and-feedback/progress-circle/progress-circle.template.js.map +1 -1
  595. package/dist/components/status-and-feedback/status-bar/status-bar.d.ts +4 -4
  596. package/dist/components/status-and-feedback/status-bar/status-bar.js +4 -4
  597. package/dist/components/status-and-feedback/step-indicator/step-indicator.d.ts +124 -0
  598. package/dist/components/status-and-feedback/step-indicator/step-indicator.d.ts.map +1 -0
  599. package/dist/components/status-and-feedback/step-indicator/step-indicator.i18n.d.ts +9 -0
  600. package/dist/components/status-and-feedback/step-indicator/step-indicator.i18n.d.ts.map +1 -0
  601. package/dist/components/status-and-feedback/step-indicator/step-indicator.i18n.js +8 -0
  602. package/dist/components/status-and-feedback/step-indicator/step-indicator.i18n.js.map +1 -0
  603. package/dist/components/status-and-feedback/step-indicator/step-indicator.js +210 -0
  604. package/dist/components/status-and-feedback/step-indicator/step-indicator.js.map +1 -0
  605. package/dist/components/status-and-feedback/step-indicator/step-indicator.styles.d.ts +3 -0
  606. package/dist/components/status-and-feedback/step-indicator/step-indicator.styles.d.ts.map +1 -0
  607. package/dist/components/status-and-feedback/step-indicator/step-indicator.styles.js +294 -0
  608. package/dist/components/status-and-feedback/step-indicator/step-indicator.styles.js.map +1 -0
  609. package/dist/components/status-and-feedback/step-indicator/step-indicator.template.d.ts +5 -0
  610. package/dist/components/status-and-feedback/step-indicator/step-indicator.template.d.ts.map +1 -0
  611. package/dist/components/status-and-feedback/step-indicator/step-indicator.template.js +69 -0
  612. package/dist/components/status-and-feedback/step-indicator/step-indicator.template.js.map +1 -0
  613. package/dist/css/form.css +16 -7
  614. package/dist/css/settings.css +68 -73
  615. package/dist/types/vue.d.ts +3421 -0
  616. package/dist/utilities/autofocus.d.ts +19 -0
  617. package/dist/utilities/autofocus.d.ts.map +1 -0
  618. package/dist/utilities/autofocus.js +35 -0
  619. package/dist/utilities/autofocus.js.map +1 -0
  620. package/dist/utilities/codemirror/theme.js +2 -2
  621. package/dist/utilities/codemirror/theme.js.map +1 -1
  622. package/dist/utilities/color-scheme-repaint.d.ts +2 -2
  623. package/dist/utilities/color-scheme-repaint.js +2 -2
  624. package/dist/utilities/form-associated-mixin.d.ts +33 -0
  625. package/dist/utilities/form-associated-mixin.d.ts.map +1 -0
  626. package/dist/utilities/form-associated-mixin.js +52 -0
  627. package/dist/utilities/form-associated-mixin.js.map +1 -0
  628. package/dist/utilities/input-modality.d.ts +3 -1
  629. package/dist/utilities/input-modality.d.ts.map +1 -1
  630. package/dist/utilities/input-modality.js +12 -1
  631. package/dist/utilities/input-modality.js.map +1 -1
  632. package/dist/utilities/page-section-mixin.d.ts +1 -1
  633. package/dist/utilities/page-section-mixin.js +2 -2
  634. package/dist/utilities/popup-anchor-controller.d.ts +2 -2
  635. package/dist/utilities/resolve-date-bound.d.ts +21 -0
  636. package/dist/utilities/resolve-date-bound.d.ts.map +1 -0
  637. package/dist/utilities/resolve-date-bound.js +75 -0
  638. package/dist/utilities/resolve-date-bound.js.map +1 -0
  639. package/package.json +39 -7
@@ -4,6 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ var NLDDListItem_1;
7
8
  import { LitElement } from 'lit';
8
9
  import { customElement, property, query, state } from 'lit/decorators.js';
9
10
  import { reflectNonDefault } from '../../../utilities/reflect-non-default.js';
@@ -12,11 +13,54 @@ import { template } from './list-item.template.js';
12
13
  import { isPointerMode } from '../../../utilities/input-modality.js';
13
14
  import { withTranslations } from '../../../utilities/with-translations.js';
14
15
  import { nlddListItemTranslations } from './list-item.i18n.js';
15
- import '../cells/spacer-cell/spacer-cell.js';
16
16
  /**
17
- * A row within an `nldd-list`, providing layout for start, main and end areas.
18
- * Renders as a link when `href` is set, as a button when `button` is set, or
19
- * as a plain container otherwise. When it renders as a link, `target` and `rel`
17
+ * A row within an `nldd-list`. Renders as a link when `href` is set, as a
18
+ * checkbox when `checkbox` is set, as a button when `button` is set, or as a
19
+ * plain container otherwise. All cells and action segmented actions share one flat
20
+ * slot, in source order.
21
+ *
22
+ * ## Geometry
23
+ * Two rules govern every row:
24
+ * 1. State fills always paint the WIDENED row geometry — the row box extended
25
+ * by the indicator inline inset on both sides — whether or not the row is
26
+ * interactive. Paint never differs between a selected plain row and a
27
+ * selected interactive row.
28
+ * 2. The widened strip belongs to the ROW, never to a segment. A row with any
29
+ * action (its own `href`/`button`/`checkbox`, or a slotted segment) pulls
30
+ * itself outward (`is-interactive` host class → negative inline margin)
31
+ * and pads the row block back by the same amount, so content stays on the
32
+ * grid. A row-wide action owns that padding itself, making the whole
33
+ * widened box one hit area; slotted segmented actions stay in the grid, so their
34
+ * footprint is position-independent and tree columns line up at any depth.
35
+ *
36
+ * ## Divider
37
+ * The divider spans the content width by default. Mark a cell with
38
+ * `divider-start` and/or `divider-end` to run it from that cell's start edge
39
+ * to that cell's end edge instead (e.g. starting after an avatar). Multiple
40
+ * markers resolve as the union: first `divider-start` through last
41
+ * `divider-end`. A start past the last end is an authoring error — the item
42
+ * DEV-warns and falls back to the full content width.
43
+ *
44
+ * ## Disclosure
45
+ * A branch row can disclose its children in two ways: a dedicated
46
+ * `nldd-list-item-action[disclosure]` segment (only the chevron is clickable),
47
+ * or the row itself as the control (`button` + `expanded`, the whole row
48
+ * toggles). In the second case, mark the chevron's `nldd-icon-cell` with
49
+ * `disclosure` and the row turns it with `expanded` — the same affordance,
50
+ * without having to trade a clickable row for a turning chevron.
51
+ *
52
+ * `checkbox` makes the WHOLE row the control: the inner action becomes a
53
+ * `role="checkbox"` button carrying `aria-checked`, it toggles `checked` on
54
+ * activation and fires `change`. Slot a visual `nldd-checkbox` (or any glyph)
55
+ * before the text and mark it `aria-hidden` + non-focusable — the row already
56
+ * conveys role and state, and a second focusable control would double the tab
57
+ * stops. Do NOT nest a real `<input type="checkbox">` in the action: interactive
58
+ * content inside a `<button>` is invalid HTML and AT announces the button, not
59
+ * the checked state. A `<label>` variant is not offered for the same reason it
60
+ * cannot work — label-to-input association walks the DOM tree, and a slotted
61
+ * input is not a descendant of a label in the shadow root.
62
+ *
63
+ * When it renders as a link, `target` and `rel`
20
64
  * are forwarded to the inner `<a>` (e.g. `target="_blank" rel="noopener noreferrer"`). With
21
65
  * `target="_blank"` the item also injects a visually hidden "opens in new tab"
22
66
  * announcement for assistive technology (WCAG 2.1 SC 3.2.2).
@@ -24,26 +68,43 @@ import '../cells/spacer-cell/spacer-cell.js';
24
68
  * The item synchronises its ARIA with its parent `nldd-list`'s `type`:
25
69
  * - `list` parent → `role="listitem"`
26
70
  * - `navigation` parent → `role="listitem"` + `aria-current="page"` on the
27
- * inner `<a>` / `<button>` when `selected`
71
+ * inner `<a>` / `<button>` when `selected`
28
72
  * - `listbox` parent → `role="option"` + `aria-selected` reflecting `selected`.
29
- * The list points its search input's `aria-activedescendant`
30
- * at the active option via `_highlighted` (separate from `selected`).
73
+ * The list points its search input's `aria-activedescendant`
74
+ * at the active option via `_highlighted` (separate from `selected`).
75
+ *
76
+ * @element nldd-list-item
31
77
  *
32
- * @slot - Main content area
33
- * @slot start - Content at the start of the row
34
- * @slot end - Content at the end of the row
78
+ * @attr {'sm'|'md'} size - Row size (default: 'md'). Pushed onto the cells whose `size` means the same scale (nldd-text-cell, nldd-drag-handle-cell), so it is written once per row instead of once per cell. A size set on the cell itself wins. Cells where `size` means something else — pixels on nldd-icon-cell / nldd-spacer-cell, a heading scale on nldd-title-cell — are left alone.
79
+ * @attr {boolean} selected - Marks the item as selected. Selection is consumer-managed; the list never sets it. In a `navigation` parent it puts `aria-current="page"` on the inner action, in a `listbox` parent it drives `aria-selected`.
80
+ * @attr {boolean} button - Renders the item as a `<button>`; ignored when `href` is set (a link wins)
81
+ * @attr {boolean} checkbox - Makes the whole row a `role="checkbox"` control; ignored when `href` is set
82
+ * @attr {boolean} checked - Checked state of a `checkbox` row; the item toggles it on activation
83
+ * @attr {boolean} expanded - Disclosure state. Drives the `children` group's visibility AND supplies `aria-expanded` — to the row's own control when the row is interactive, or to the segmented action marked `disclosure`. Written once either way; the item DEV-warns when there is nowhere for it to live.
84
+ * @attr {string} href - Renders the item as an `<a>` with this URL. Takes precedence over `button`; without either the item is a plain container with no action.
85
+ * @attr {string} target - Link target forwarded to the `<a>` (e.g. '_blank'); only applies with `href`. With '_blank' a visually hidden "opens in new tab" announcement is added for assistive technology.
86
+ * @attr {string} rel - Link rel forwarded to the `<a>` (e.g. 'noopener noreferrer'); only applies with `href`
87
+ * @attr {boolean} reorderable - Set by the parent `nldd-list` when its own `reorderable` is on (with `type="list"`); consumers do not set this. Serves as a CSS hook for drag handle visibility.
88
+ *
89
+ * @slot - Cells and segmented actions, in source order
90
+ * @slot children - Child rows of a branch in an `nldd-list type="tree"`. Rendered as a `role="group"` below the row, hidden while `expanded` is false. The nesting IS the hierarchy, so aria-level / -posinset / -setsize are derived, not authored. The group has no styling of its own: repeat a spacer-cell per level to indent, or show depth some other way.
91
+ *
92
+ * @fires change - On a `checkbox` row after it toggles; detail: { checked: boolean }
35
93
  */
36
- let NLDDListItem = class NLDDListItem extends withTranslations(LitElement, nlddListItemTranslations) {
94
+ let NLDDListItem = NLDDListItem_1 = class NLDDListItem extends withTranslations(LitElement, nlddListItemTranslations) {
37
95
  constructor() {
38
96
  super(...arguments);
39
97
  this.size = 'md';
40
98
  this.selected = false;
41
99
  /** When set, renders the item as a button; ignored when href is set. */
42
100
  this.button = false;
101
+ /** When set, the whole row is the checkbox control. Ignored when href is set. */
102
+ this.checkbox = false;
103
+ /** Checked state of a `checkbox` row. Toggled by the item on activation. */
104
+ this.checked = false;
43
105
  /** Set by the parent nldd-list when reorderable is enabled. Used as a CSS hook for drag handle visibility. */
44
106
  this.reorderable = false;
45
- this._showStart = false;
46
- this._showEnd = false;
107
+ this._showChildren = false;
47
108
  this._parentType = 'list';
48
109
  /** Set by the parent nldd-list when `arrow-navigation` (roving tabindex) is on.
49
110
  * Switches the inner action from a normal tab stop to a roving one. */
@@ -58,10 +119,27 @@ let NLDDListItem = class NLDDListItem extends withTranslations(LitElement, nlddL
58
119
  * `_active`, which would clash with the pressed / `:active` feedback). */
59
120
  this._highlighted = false;
60
121
  this._isBoxed = false;
61
- this._handleClick = () => {
122
+ this._hasCheckedSegment = false;
123
+ this._lightDomObserver = null;
124
+ /** Watches the row and its divider-marker cells for size changes; marker
125
+ * insets are measured, so any reflow can move them. */
126
+ this._dividerMarkerObserver = null;
127
+ this._observedMarkerTargets = [];
128
+ this._warnedDegenerateDivider = false;
129
+ /** Remembers the size a cell was authored with, so a later push can restore it. */
130
+ this._ownCellSize = new WeakMap();
131
+ this._handleClick = (e) => {
62
132
  // Safari and Firefox on Mac don't focus buttons on click. Force focus
63
133
  // so :has(.list-item__action:focus) and :focus-within CSS work reliably.
64
134
  this._action?.focus();
135
+ if (this.checkbox && !this.href && e.composedPath().includes(this._action)) {
136
+ this.checked = !this.checked;
137
+ this.dispatchEvent(new CustomEvent('change', {
138
+ detail: { checked: this.checked },
139
+ bubbles: true,
140
+ composed: true,
141
+ }));
142
+ }
65
143
  };
66
144
  this._handleFocusIn = () => {
67
145
  // Safari treats programmatic focus (forced on click for Safari/Firefox)
@@ -78,6 +156,11 @@ let NLDDListItem = class NLDDListItem extends withTranslations(LitElement, nlddL
78
156
  // Primary button / touch / pen only (mouse right-click has button > 0).
79
157
  if (e.button > 0)
80
158
  return;
159
+ // A branch's child rows are light-DOM children, so their pointer events
160
+ // bubble through this row. Without this check, pressing a nested row
161
+ // flashes the press state of every ancestor row above it.
162
+ if (this._isFromNestedRow(e))
163
+ return;
81
164
  this._action?.classList.add('is-pressed');
82
165
  };
83
166
  this._clearPressed = () => {
@@ -86,6 +169,8 @@ let NLDDListItem = class NLDDListItem extends withTranslations(LitElement, nlddL
86
169
  }
87
170
  connectedCallback() {
88
171
  super.connectedCallback();
172
+ // Before the children upgrade — see _captureAuthoredCellSizes.
173
+ this._captureAuthoredCellSizes();
89
174
  // Skip setup for drag clones — they are visual-only copies inside nldd-list's shadow root
90
175
  if (this.hasAttribute('data-nldd-clone'))
91
176
  return;
@@ -102,6 +187,18 @@ let NLDDListItem = class NLDDListItem extends withTranslations(LitElement, nlddL
102
187
  this.addEventListener('pointerdown', this._onPointerDown);
103
188
  this.addEventListener('pointerup', this._clearPressed);
104
189
  this.addEventListener('pointercancel', this._clearPressed);
190
+ // Light-DOM state the row derives styling from: a checked checkbox-
191
+ // segment (row-wide selected fill), which segmented actions own a row edge, and
192
+ // the divider markers. Attribute observation, not events: consumers
193
+ // also set these programmatically via setAttribute.
194
+ this._lightDomObserver = new MutationObserver(() => this._onLightDomChange());
195
+ this._lightDomObserver.observe(this, {
196
+ subtree: true,
197
+ childList: true,
198
+ attributes: true,
199
+ attributeFilter: ['checked', 'divider-start', 'divider-end'],
200
+ });
201
+ this._onLightDomChange();
105
202
  }
106
203
  disconnectedCallback() {
107
204
  super.disconnectedCallback();
@@ -111,23 +208,146 @@ let NLDDListItem = class NLDDListItem extends withTranslations(LitElement, nlddL
111
208
  this.removeEventListener('pointerdown', this._onPointerDown);
112
209
  this.removeEventListener('pointerup', this._clearPressed);
113
210
  this.removeEventListener('pointercancel', this._clearPressed);
211
+ this._lightDomObserver?.disconnect();
212
+ this._lightDomObserver = null;
213
+ this._dividerMarkerObserver?.disconnect();
214
+ this._dividerMarkerObserver = null;
215
+ }
216
+ _onLightDomChange() {
217
+ this._updateCheckedSegment();
218
+ this._updateInteractive();
219
+ this._measureDividerMarkers();
220
+ }
221
+ /** A checked checkbox-segment reads as "this row is selected", so the fill
222
+ * covers the whole row — including a disclosure segment — instead of
223
+ * stopping at the segmented action boundary. Scoped to own descendants: a checked
224
+ * row in a nested branch must not light up its ancestors. */
225
+ _updateCheckedSegment() {
226
+ this._hasCheckedSegment =
227
+ this._ownDescendants('nldd-list-item-action[checkbox][checked]').length > 0;
228
+ }
229
+ /** A row with any action — its own href/button/checkbox or a slotted
230
+ * segment — carries the widened geometry: negative host margin plus the
231
+ * compensating row padding (see the geometry rules in the class doc).
232
+ *
233
+ * An action segment at a row edge owns the padding for that side itself,
234
+ * so the row drops its own there and the segmented action lands on the row's edge.
235
+ * Stamped as classes because the CSS cannot ask: `:has()` is not allowed
236
+ * inside `:host()`, and the row's own padding is what has to change — a
237
+ * `::slotted()` rule could only reach the segmented action. */
238
+ _updateInteractive() {
239
+ const interactive = !!this.href || this.button || this.checkbox ||
240
+ this._ownDescendants('nldd-list-item-action').length > 0;
241
+ this.classList.toggle('is-interactive', interactive);
242
+ // The row's own children, not the branch's child rows: those go to the
243
+ // `children` slot and render BELOW the row, so on a branch row the last
244
+ // element child is a nested row rather than the row's trailing segment.
245
+ const ownChildren = Array.from(this.children)
246
+ .filter(el => el.getAttribute('slot') !== 'children');
247
+ const isSegment = (el) => el?.tagName.toLowerCase() === 'nldd-list-item-action';
248
+ this.classList.toggle('has-leading-action', isSegment(ownChildren[0]));
249
+ this.classList.toggle('has-trailing-action', isSegment(ownChildren[ownChildren.length - 1]));
114
250
  }
115
251
  firstUpdated() {
116
- if (this.hasAttribute('data-nldd-clone')) {
117
- // Clone is visual-only skip list sync but still observe slots
118
- // so start/end areas render correctly based on cloned light DOM
119
- this._observeStartSlot();
120
- this._observeEndSlot();
252
+ // Clones are visual-only copies inside nldd-list's shadow root: their
253
+ // classes and stamped attributes came along with cloneNode, so no sync.
254
+ if (this.hasAttribute('data-nldd-clone'))
121
255
  return;
122
- }
123
256
  this._syncWithList();
124
- this._observeStartSlot();
125
- this._observeEndSlot();
257
+ this._observeChildrenSlot();
258
+ this._updateChildren();
259
+ this._relayExpanded();
260
+ // First measurement after the first render: the marker offsets need
261
+ // laid-out boxes.
262
+ this._measureDividerMarkers();
263
+ }
264
+ /**
265
+ * The row's own descendants for `selector` — everything down to and inside
266
+ * its action segmented actions, but NOT inside a nested row. In a tree the child rows
267
+ * are DOM children of this row, so a plain querySelectorAll would push this
268
+ * row's state into theirs (a parent's `expanded` turning every nested
269
+ * chevron, its `size` overwriting theirs). A `:scope >` child selector is
270
+ * too strict the other way: cells legitimately sit one level deeper, inside
271
+ * an nldd-list-item-action.
272
+ */
273
+ _ownDescendants(selector) {
274
+ return Array.from(this.querySelectorAll(selector))
275
+ .filter(el => el.closest('nldd-list-item') === this);
276
+ }
277
+ /**
278
+ * Records the authored `size` before the cells upgrade. Custom elements
279
+ * upgrade in document order, so the item's connectedCallback runs before its
280
+ * children's — the only moment an authored `size="md"` is still readable.
281
+ * After upgrade `reflectNonDefault` strips it, making it indistinguishable
282
+ * from no attribute at all.
283
+ */
284
+ _captureAuthoredCellSizes() {
285
+ this._ownDescendants(NLDDListItem_1.SIZED_CELLS).forEach(cell => {
286
+ if (!this._ownCellSize.has(cell)) {
287
+ this._ownCellSize.set(cell, cell.getAttribute('size'));
288
+ }
289
+ });
290
+ }
291
+ /**
292
+ * Pushes the row's size onto its sized cells so `size="sm"` is written once
293
+ * instead of on the row and on every cell. An explicit size on the cell wins
294
+ * and survives later pushes.
295
+ */
296
+ _propagateSize() {
297
+ this._captureAuthoredCellSizes();
298
+ this._ownDescendants(NLDDListItem_1.SIZED_CELLS).forEach(cell => {
299
+ const own = this._ownCellSize.get(cell);
300
+ if (own !== null && own !== undefined)
301
+ return;
302
+ cell.setAttribute('size', this.size);
303
+ });
126
304
  }
127
305
  updated(changed) {
128
- if (changed.has('selected') || changed.has('button') || changed.has('href') || changed.has('_parentType')) {
306
+ if (changed.has('selected') || changed.has('button') || changed.has('checkbox') || changed.has('href') || changed.has('_parentType')) {
129
307
  this._updateAriaState();
130
308
  }
309
+ if (changed.has('button') || changed.has('checkbox') || changed.has('href')) {
310
+ this._updateInteractive();
311
+ }
312
+ if (changed.has('expanded')) {
313
+ this._relayExpanded();
314
+ this._warnOnStrayExpanded();
315
+ }
316
+ if (changed.has('_arrowNavigation') || changed.has('_rovingActive')) {
317
+ this._syncRovingTabStops();
318
+ }
319
+ this._propagateSize();
320
+ }
321
+ /**
322
+ * A row WITH children is a branch, and a branch is either open or closed —
323
+ * there is no third state. So an absent `expanded` reads as collapsed there,
324
+ * and aria-expanded is always emitted. On a row without children an absent
325
+ * attribute keeps its other meaning: this row discloses nothing, emit no
326
+ * aria-expanded at all. Without this split, `?expanded=\${false}` (which
327
+ * removes the attribute) would leave a branch that never collapses.
328
+ */
329
+ get _resolvedExpanded() {
330
+ if (this._showChildren)
331
+ return this.expanded === true;
332
+ return this.expanded;
333
+ }
334
+ /** Segments marked `disclosure` announce the row's expanded state, so the
335
+ * consumer writes it once — here, where it also drives the children group. */
336
+ _relayExpanded() {
337
+ this._ownDescendants('nldd-list-item-action[disclosure]')
338
+ .forEach(action => { action._rowExpanded = this._resolvedExpanded; });
339
+ }
340
+ /** `expanded` needs a control to sit on; a plain container has none. */
341
+ _warnOnStrayExpanded() {
342
+ if (!import.meta.env?.DEV)
343
+ return;
344
+ if (this.expanded === undefined)
345
+ return;
346
+ if (this.href || this.button || this.checkbox)
347
+ return;
348
+ if (this._ownDescendants('nldd-list-item-action[disclosure]').length > 0)
349
+ return;
350
+ console.warn('nldd-list-item: `expanded` needs somewhere to live — make the row interactive (href, button or checkbox), or mark the segmented action that does the disclosing with `disclosure`.');
131
351
  }
132
352
  /** True when the item is an option in a `type="listbox"` parent. */
133
353
  get _isListboxOption() {
@@ -154,18 +374,38 @@ let NLDDListItem = class NLDDListItem extends withTranslations(LitElement, nlddL
154
374
  }
155
375
  _applyVariant(variant) {
156
376
  this._isBoxed = variant === 'box';
377
+ this._relayToChildren(item => item._applyVariant(variant));
157
378
  this.classList.toggle('is-boxed', this._isBoxed);
158
- this._updateVisibility();
159
379
  }
160
380
  _applyParentType(type) {
161
381
  this._parentType = type;
382
+ this._relayToChildren(item => item._applyParentType(type));
383
+ // Segment actions need the list type too: in a listbox they degrade to a
384
+ // plain container, since an `option` may not hold interactive descendants.
385
+ // Own segmented actions only — nested rows get the relay above and push their own.
386
+ this._ownDescendants('nldd-list-item-action')
387
+ .forEach(action => action._applyParentType?.(type));
388
+ }
389
+ /** Nested rows sit in this item's `children` slot, not the list's, so a plain
390
+ * `querySelector` from the list walks past them. */
391
+ get childRows() {
392
+ return Array.from(this.children)
393
+ .filter(el => el.getAttribute('slot') === 'children' && el.tagName.toLowerCase() === 'nldd-list-item');
394
+ }
395
+ /** Every push the item receives is relayed one level down. */
396
+ _relayToChildren(fn) {
397
+ this.childRows.forEach(fn);
162
398
  }
163
399
  _updateAriaState() {
164
400
  // In a listbox parent the item is an `option`, not a `listitem`, and
165
401
  // carries aria-selected so AT announces selection state. The active
166
402
  // option (the input's aria-activedescendant) is conveyed via `_highlighted`
167
403
  // (a highlight class), kept separate from selection.
168
- if (this._isListboxOption) {
404
+ if (this._parentType === 'tree') {
405
+ this.setAttribute('role', 'treeitem');
406
+ this.removeAttribute('aria-selected');
407
+ }
408
+ else if (this._isListboxOption) {
169
409
  this.setAttribute('role', 'option');
170
410
  this.setAttribute('aria-selected', String(this.selected));
171
411
  }
@@ -182,30 +422,207 @@ let NLDDListItem = class NLDDListItem extends withTranslations(LitElement, nlddL
182
422
  action?.removeAttribute('aria-current');
183
423
  }
184
424
  }
185
- _updateVisibility() {
186
- const startSlot = this.shadowRoot?.querySelector('slot[name="start"]');
187
- const endSlot = this.shadowRoot?.querySelector('slot[name="end"]');
188
- this._showStart = this._isBoxed || (startSlot?.assignedElements().length ?? 0) > 0;
189
- this._showEnd = this._isBoxed || (endSlot?.assignedElements().length ?? 0) > 0;
425
+ /**
426
+ * Measures the divider markers and writes the result as `--_divider-inset-
427
+ * start/-end` on the host. No markers → the vars are cleared and CSS falls
428
+ * back to the content width. Union semantics: the divider runs from the
429
+ * FIRST `divider-start` to the LAST `divider-end`; a side without markers
430
+ * keeps its default. Insets are measured against the row block (the widened
431
+ * box on interactive rows), so the values compose with the edge geometry.
432
+ */
433
+ _measureDividerMarkers() {
434
+ if (this.hasAttribute('data-nldd-clone'))
435
+ return;
436
+ const starts = this._ownDescendants('[divider-start]');
437
+ const ends = this._ownDescendants('[divider-end]');
438
+ // Re-target the resize observer ONLY when the marker set changed: every
439
+ // observe() fires an initial notification, so retargeting on each
440
+ // measurement would loop the observer on itself.
441
+ const targets = starts.length || ends.length ? [this, ...starts, ...ends] : [];
442
+ const sameTargets = targets.length === this._observedMarkerTargets.length
443
+ && targets.every((target, i) => target === this._observedMarkerTargets[i]);
444
+ if (!sameTargets) {
445
+ this._dividerMarkerObserver?.disconnect();
446
+ this._observedMarkerTargets = targets;
447
+ if (targets.length) {
448
+ this._dividerMarkerObserver ?? (this._dividerMarkerObserver = new ResizeObserver(() => this._measureDividerMarkers()));
449
+ targets.forEach(target => this._dividerMarkerObserver.observe(target));
450
+ }
451
+ else {
452
+ this._dividerMarkerObserver = null;
453
+ }
454
+ }
455
+ if (targets.length === 0) {
456
+ this.style.removeProperty('--_divider-inset-start');
457
+ this.style.removeProperty('--_divider-inset-end');
458
+ return;
459
+ }
460
+ const block = this.shadowRoot?.querySelector('.list-item');
461
+ if (!block)
462
+ return;
463
+ const blockRect = block.getBoundingClientRect();
464
+ if (blockRect.width === 0)
465
+ return;
466
+ const rtl = getComputedStyle(this).direction === 'rtl';
467
+ const startInsetOf = (rect) => rtl ? blockRect.right - rect.right : rect.left - blockRect.left;
468
+ const endInsetOf = (rect) => rtl ? rect.left - blockRect.left : blockRect.right - rect.right;
469
+ // Union: smallest start inset (= first marker) and smallest end inset
470
+ // (= last marker) win.
471
+ const insetStart = starts.length
472
+ ? Math.min(...starts.map(el => startInsetOf(el.getBoundingClientRect())))
473
+ : null;
474
+ const insetEnd = ends.length
475
+ ? Math.min(...ends.map(el => endInsetOf(el.getBoundingClientRect())))
476
+ : null;
477
+ if (insetStart !== null && insetEnd !== null
478
+ && blockRect.width - insetStart - insetEnd <= 0) {
479
+ // A start past the last end: authoring error, fall back to full width.
480
+ if (import.meta.env?.DEV && !this._warnedDegenerateDivider) {
481
+ this._warnedDegenerateDivider = true;
482
+ console.warn('nldd-list-item: divider-start ligt voorbij de laatste divider-end; de divider valt terug op de volle contentbreedte.');
483
+ }
484
+ this.style.removeProperty('--_divider-inset-start');
485
+ this.style.removeProperty('--_divider-inset-end');
486
+ return;
487
+ }
488
+ if (insetStart !== null)
489
+ this.style.setProperty('--_divider-inset-start', `${insetStart}px`);
490
+ else
491
+ this.style.removeProperty('--_divider-inset-start');
492
+ if (insetEnd !== null)
493
+ this.style.setProperty('--_divider-inset-end', `${insetEnd}px`);
494
+ else
495
+ this.style.removeProperty('--_divider-inset-end');
496
+ }
497
+ _observeChildrenSlot() {
498
+ const slot = this.shadowRoot?.querySelector('slot[name="children"]');
499
+ slot?.addEventListener('slotchange', () => this._updateChildren());
190
500
  }
191
- _observeStartSlot() {
192
- const slot = this.shadowRoot?.querySelector('slot[name="start"]');
193
- slot?.addEventListener('slotchange', () => this._updateVisibility());
501
+ /** Renders the group only when there is something in it — an empty
502
+ * `role="group"` would be an empty branch in the accessibility tree. */
503
+ _updateChildren() {
504
+ const slot = this.shadowRoot?.querySelector('slot[name="children"]');
505
+ const rows = (slot?.assignedElements() ?? []).filter(el => el.tagName.toLowerCase() === 'nldd-list-item');
506
+ const had = this._showChildren;
507
+ this._showChildren = rows.length > 0;
508
+ if (this._showChildren !== had)
509
+ this._relayExpanded();
510
+ if (this._showChildren) {
511
+ // Nested rows are not in the list's own slot, so the list's pushes never
512
+ // reach them. Relay what we were given, and they relay it downwards.
513
+ rows.forEach(row => {
514
+ const item = row;
515
+ item._applyVariant?.(this._isBoxed ? 'box' : 'simple');
516
+ item._applyParentType?.(this._parentType);
517
+ });
518
+ }
519
+ if (!import.meta.env?.DEV)
520
+ return;
521
+ if (this._showChildren && this._parentType !== 'tree') {
522
+ console.warn('nldd-list-item: `slot="children"` nests rows, which only carries meaning in an nldd-list with type="tree". Elsewhere the group has no owning tree and assistive technology cannot read the hierarchy.');
523
+ }
524
+ if (this._showChildren && this.expanded === undefined) {
525
+ console.warn('nldd-list-item: a row with children needs `expanded` — without it there is no aria-expanded, so the branch reads as a leaf and the group can never be announced as collapsed.');
526
+ }
194
527
  }
195
- _observeEndSlot() {
196
- const slot = this.shadowRoot?.querySelector('slot[name="end"]');
197
- slot?.addEventListener('slotchange', () => this._updateVisibility());
528
+ /** Whether the event started in a row nested inside this one. Only the part
529
+ * of the path BELOW this row counts — everything above it is this row's own
530
+ * ancestry, which is where the event is heading, not where it came from. */
531
+ _isFromNestedRow(e) {
532
+ const path = e.composedPath();
533
+ const self = path.indexOf(this);
534
+ return path
535
+ .slice(0, self === -1 ? path.length : self)
536
+ .some(el => el instanceof Element && el.localName === 'nldd-list-item');
198
537
  }
199
538
  /**
200
539
  * Delegates focus to the inner `.list-item__action` (the button or anchor),
201
540
  * so consumers can call `listItemEl.focus()` without reaching into shadow DOM.
202
541
  */
203
542
  focus(options) {
204
- this._action?.focus(options);
543
+ // A tree row without a control of its own (only segmented actions, or
544
+ // none at all) takes focus on the host: that is where role="treeitem"
545
+ // sits, so assistive technology announces the row rather than a button
546
+ // inside it. _syncRovingTabStops gives the host the tabindex for it.
547
+ if (this._action) {
548
+ this._action.focus(options);
549
+ return;
550
+ }
551
+ super.focus(options);
552
+ }
553
+ /**
554
+ * The roving tab stop, spread over the row and the controls inside it: the
555
+ * current row is reachable with Tab, everything else only with the arrow
556
+ * keys. Within the current row Tab then walks its segmented actions, so a row
557
+ * that holds a checkbox and a chevron stays fully operable.
558
+ *
559
+ * A row that is not the current one carries NO tabindex at all rather than
560
+ * -1. A shadow host with a tabindex is a focus scope of its own, and Chromium
561
+ * walks straight past such a scope when tabbing BACKWARDS if the host itself
562
+ * isn't tabbable — so a `-1` on a branch made every row inside it
563
+ * unreachable with Shift+Tab, while forward navigation still found them.
564
+ *
565
+ * @internal Also called by the list right after it moves the roving, so the
566
+ * tab stop is in the DOM before focus is handed over.
567
+ */
568
+ _syncRovingTabStops() {
569
+ const ownActions = Array.from(this.children).filter((el) => el.getAttribute('slot') !== 'children'
570
+ && el.tagName.toLowerCase() === 'nldd-list-item-action');
571
+ if (!this._arrowNavigation) {
572
+ this.removeAttribute('tabindex');
573
+ ownActions.forEach((action) => { action._tabbable = undefined; });
574
+ return;
575
+ }
576
+ // Only a row without its own control needs the host as focus target; with
577
+ // a control the tabindex sits on that control (see render()).
578
+ if (this._action || !this._rovingActive) {
579
+ this.removeAttribute('tabindex');
580
+ }
581
+ else {
582
+ this.setAttribute('tabindex', '0');
583
+ }
584
+ ownActions.forEach((action) => { action._tabbable = this._rovingActive; });
585
+ }
586
+ /** The control that opens and closes this row: the segmented action marked
587
+ * `disclosure`, or the row itself when it is a button. Never a link — Left
588
+ * and Right may not navigate away. */
589
+ get _disclosureControl() {
590
+ const action = Array.from(this.children).find((el) => el.getAttribute('slot') !== 'children'
591
+ && el.tagName.toLowerCase() === 'nldd-list-item-action'
592
+ && el.hasAttribute('disclosure'));
593
+ if (action)
594
+ return action;
595
+ if (this.button && !this.href)
596
+ return this._action;
597
+ return undefined;
598
+ }
599
+ /** Activates whatever opens this row, so the consumer's own click handler runs
600
+ * and stays the only place `expanded` is written. Returns false when the row
601
+ * has nothing to activate. */
602
+ _activateDisclosure() {
603
+ const control = this._disclosureControl;
604
+ if (!control)
605
+ return false;
606
+ // The click lands on a segmented action, and that action pulls focus into
607
+ // its own control — with the pointer-focus flag set, since a click is what
608
+ // it sees. Focus belongs to the row: that is the roving tab stop, and the
609
+ // keyboard user has to keep seeing where they are.
610
+ const hadFocus = this.matches(':focus-within');
611
+ control.click();
612
+ if (hadFocus)
613
+ this.focus();
614
+ return true;
615
+ }
616
+ /** The branch this row hangs under, or undefined for a top-level row. */
617
+ get parentRow() {
618
+ const parent = this.parentElement;
619
+ if (!parent || parent.tagName.toLowerCase() !== 'nldd-list-item')
620
+ return undefined;
621
+ return parent;
205
622
  }
206
623
  render() {
207
624
  const opensInNewTabLabel = this.href && this.target === '_blank'
208
- ? this._t('components.list-item.opens-in-new-tab-text')
625
+ ? this._t('components.list-item.opens-in-new-tab-label')
209
626
  : undefined;
210
627
  // Listbox options are never separate tab stops — only the list's own
211
628
  // search input is in the tab order, and active moves via
@@ -220,10 +637,16 @@ let NLDDListItem = class NLDDListItem extends withTranslations(LitElement, nlddL
220
637
  : this._arrowNavigation
221
638
  ? (this._rovingActive ? '0' : '-1')
222
639
  : undefined;
223
- return template(this.button, this.href, this.target, this.rel, this._showStart, this._showEnd, opensInNewTabLabel, actionTabindex, this._highlighted);
640
+ return template(this.button, this.href, this.target, this.rel, opensInNewTabLabel, actionTabindex, this._highlighted, this.checkbox, this.checked, this._resolvedExpanded, this._showChildren, this._hasCheckedSegment);
224
641
  }
225
642
  };
226
643
  NLDDListItem.styles = [listItemStyles];
644
+ /**
645
+ * Cells whose `size` means the sm/md scale. NOT every cell: `size` on
646
+ * nldd-icon-cell and nldd-spacer-cell is a pixel value and on nldd-title-cell
647
+ * a 1-6 heading scale, so pushing 'sm' there would corrupt them.
648
+ */
649
+ NLDDListItem.SIZED_CELLS = 'nldd-text-cell, nldd-drag-handle-cell';
227
650
  __decorate([
228
651
  property({ reflect: true, converter: reflectNonDefault('md') })
229
652
  ], NLDDListItem.prototype, "size", void 0);
@@ -233,6 +656,15 @@ __decorate([
233
656
  __decorate([
234
657
  property({ type: Boolean, reflect: true })
235
658
  ], NLDDListItem.prototype, "button", void 0);
659
+ __decorate([
660
+ property({ type: Boolean, reflect: true })
661
+ ], NLDDListItem.prototype, "checkbox", void 0);
662
+ __decorate([
663
+ property({ type: Boolean, reflect: true })
664
+ ], NLDDListItem.prototype, "checked", void 0);
665
+ __decorate([
666
+ property({ type: Boolean, reflect: true })
667
+ ], NLDDListItem.prototype, "expanded", void 0);
236
668
  __decorate([
237
669
  property({ reflect: true })
238
670
  ], NLDDListItem.prototype, "href", void 0);
@@ -247,10 +679,7 @@ __decorate([
247
679
  ], NLDDListItem.prototype, "reorderable", void 0);
248
680
  __decorate([
249
681
  state()
250
- ], NLDDListItem.prototype, "_showStart", void 0);
251
- __decorate([
252
- state()
253
- ], NLDDListItem.prototype, "_showEnd", void 0);
682
+ ], NLDDListItem.prototype, "_showChildren", void 0);
254
683
  __decorate([
255
684
  state()
256
685
  ], NLDDListItem.prototype, "_parentType", void 0);
@@ -266,7 +695,10 @@ __decorate([
266
695
  __decorate([
267
696
  query('.list-item__action')
268
697
  ], NLDDListItem.prototype, "_action", void 0);
269
- NLDDListItem = __decorate([
698
+ __decorate([
699
+ state()
700
+ ], NLDDListItem.prototype, "_hasCheckedSegment", void 0);
701
+ NLDDListItem = NLDDListItem_1 = __decorate([
270
702
  customElement('nldd-list-item')
271
703
  ], NLDDListItem);
272
704
  export { NLDDListItem };