@nldd/design-system 0.8.70 → 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 (530) hide show
  1. package/README.md +12 -5
  2. package/custom-elements.json +2990 -577
  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 +10 -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 +19 -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 +13 -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 -39
  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 -38
  26. package/dist/components/actions/icon-button/icon-button.js.map +1 -1
  27. package/dist/components/actions/icon-button/icon-button.styles.js +1 -1
  28. package/dist/components/actions/icon-button/icon-button.template.js +1 -1
  29. package/dist/components/actions/icon-button/icon-button.template.js.map +1 -1
  30. package/dist/components/actions/menu/menu.d.ts +47 -52
  31. package/dist/components/actions/menu/menu.d.ts.map +1 -1
  32. package/dist/components/actions/menu/menu.js +55 -54
  33. package/dist/components/actions/menu/menu.js.map +1 -1
  34. package/dist/components/actions/menu/menu.styles.d.ts.map +1 -1
  35. package/dist/components/actions/menu/menu.styles.js +7 -1
  36. package/dist/components/actions/menu/menu.styles.js.map +1 -1
  37. package/dist/components/actions/menu/menu.template.js +1 -1
  38. package/dist/components/actions/menu/menu.template.js.map +1 -1
  39. package/dist/components/actions/toolbar/toolbar.d.ts +10 -4
  40. package/dist/components/actions/toolbar/toolbar.d.ts.map +1 -1
  41. package/dist/components/actions/toolbar/toolbar.js +30 -11
  42. package/dist/components/actions/toolbar/toolbar.js.map +1 -1
  43. package/dist/components/actions/toolbar/toolbar.styles.js +3 -3
  44. package/dist/components/components.js +65 -62
  45. package/dist/components/content/avatar/avatar.d.ts +44 -12
  46. package/dist/components/content/avatar/avatar.d.ts.map +1 -1
  47. package/dist/components/content/avatar/avatar.i18n.d.ts +5 -0
  48. package/dist/components/content/avatar/avatar.i18n.d.ts.map +1 -0
  49. package/dist/components/content/avatar/avatar.i18n.js +4 -0
  50. package/dist/components/content/avatar/avatar.i18n.js.map +1 -0
  51. package/dist/components/content/avatar/avatar.js +87 -13
  52. package/dist/components/content/avatar/avatar.js.map +1 -1
  53. package/dist/components/content/avatar/avatar.styles.d.ts.map +1 -1
  54. package/dist/components/content/avatar/avatar.styles.js +44 -9
  55. package/dist/components/content/avatar/avatar.styles.js.map +1 -1
  56. package/dist/components/content/avatar/avatar.template.d.ts +2 -1
  57. package/dist/components/content/avatar/avatar.template.d.ts.map +1 -1
  58. package/dist/components/content/avatar/avatar.template.js +53 -23
  59. package/dist/components/content/avatar/avatar.template.js.map +1 -1
  60. package/dist/components/content/byline/byline.d.ts +6 -6
  61. package/dist/components/content/byline/byline.js +6 -6
  62. package/dist/components/content/code-viewer/code-viewer.js +2 -2
  63. package/dist/components/content/code-viewer/code-viewer.styles.d.ts.map +1 -1
  64. package/dist/components/content/code-viewer/code-viewer.styles.js +5 -4
  65. package/dist/components/content/code-viewer/code-viewer.styles.js.map +1 -1
  66. package/dist/components/content/icon/icon-aliases.d.ts.map +1 -1
  67. package/dist/components/content/icon/icon-aliases.js +19 -5
  68. package/dist/components/content/icon/icon-aliases.js.map +1 -1
  69. package/dist/components/content/icon/icon-registry.d.ts.map +1 -1
  70. package/dist/components/content/icon/icon-registry.js +9 -2
  71. package/dist/components/content/icon/icon-registry.js.map +1 -1
  72. package/dist/components/content/icon/icon.d.ts +14 -16
  73. package/dist/components/content/icon/icon.d.ts.map +1 -1
  74. package/dist/components/content/icon/icon.js +13 -15
  75. package/dist/components/content/icon/icon.js.map +1 -1
  76. package/dist/components/content/icon/icon.styles.d.ts.map +1 -1
  77. package/dist/components/content/icon/icon.styles.js +7 -4
  78. package/dist/components/content/icon/icon.styles.js.map +1 -1
  79. package/dist/components/content/image/image.d.ts +9 -9
  80. package/dist/components/content/image/image.js +9 -9
  81. package/dist/components/content/image/image.styles.js +2 -2
  82. package/dist/components/content/image/image.template.js +2 -2
  83. package/dist/components/content/image/image.template.js.map +1 -1
  84. package/dist/components/content/image/lqip-encoder.js +1 -1
  85. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.styles.js +2 -2
  86. package/dist/components/content/rich-text/rich-text.d.ts +4 -4
  87. package/dist/components/content/rich-text/rich-text.js +4 -4
  88. package/dist/components/content/token/token.d.ts +7 -7
  89. package/dist/components/content/token/token.js +7 -7
  90. package/dist/components/content/tooltip/tooltip.d.ts +4 -14
  91. package/dist/components/content/tooltip/tooltip.d.ts.map +1 -1
  92. package/dist/components/content/tooltip/tooltip.js +4 -14
  93. package/dist/components/content/tooltip/tooltip.js.map +1 -1
  94. package/dist/components/forms/form/form.d.ts +10 -19
  95. package/dist/components/forms/form/form.d.ts.map +1 -1
  96. package/dist/components/forms/form/form.js +10 -19
  97. package/dist/components/forms/form/form.js.map +1 -1
  98. package/dist/components/forms/form-actions/form-actions.d.ts +2 -6
  99. package/dist/components/forms/form-actions/form-actions.d.ts.map +1 -1
  100. package/dist/components/forms/form-actions/form-actions.js +2 -6
  101. package/dist/components/forms/form-actions/form-actions.js.map +1 -1
  102. package/dist/components/forms/form-field/form-field.d.ts +7 -14
  103. package/dist/components/forms/form-field/form-field.d.ts.map +1 -1
  104. package/dist/components/forms/form-field/form-field.js +7 -14
  105. package/dist/components/forms/form-field/form-field.js.map +1 -1
  106. package/dist/components/forms/form-field/form-field.styles.d.ts.map +1 -1
  107. package/dist/components/forms/form-field/form-field.styles.js +15 -2
  108. package/dist/components/forms/form-field/form-field.styles.js.map +1 -1
  109. package/dist/components/forms/form-section/form-section.d.ts +2 -3
  110. package/dist/components/forms/form-section/form-section.d.ts.map +1 -1
  111. package/dist/components/forms/form-section/form-section.js +2 -3
  112. package/dist/components/forms/form-section/form-section.js.map +1 -1
  113. package/dist/components/{index-Dgxr-sEe.js → index-CDK46KLh.js} +1 -1
  114. package/dist/components/{index-Bh_hMHn8.js → index-CbaaFM8N.js} +1 -1
  115. package/dist/components/{index-DS-RnHMu.js → index-DRtuMofR.js} +1 -1
  116. package/dist/components/{index-BP0XMTYa.js → index-DuvuHfMi.js} +1 -1
  117. package/dist/components/{index-CTUlN5qN.js → index-DzJola_U.js} +1 -1
  118. package/dist/components/{index-sa60dMt-.js → index-n8evy8Za.js} +1 -1
  119. package/dist/components/{index-BuLJAwiB.js → index-t08wCuGl.js} +4213 -2494
  120. package/dist/components/index.d.ts +2 -0
  121. package/dist/components/index.d.ts.map +1 -1
  122. package/dist/components/index.js +2 -0
  123. package/dist/components/index.js.map +1 -1
  124. package/dist/components/inputs/checkbox/checkbox.d.ts +11 -11
  125. package/dist/components/inputs/checkbox/checkbox.d.ts.map +1 -1
  126. package/dist/components/inputs/checkbox/checkbox.js +11 -15
  127. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  128. package/dist/components/inputs/checkbox/checkbox.styles.js +1 -1
  129. package/dist/components/inputs/checkbox-field/checkbox-field.d.ts +20 -6
  130. package/dist/components/inputs/checkbox-field/checkbox-field.d.ts.map +1 -1
  131. package/dist/components/inputs/checkbox-field/checkbox-field.js +29 -7
  132. package/dist/components/inputs/checkbox-field/checkbox-field.js.map +1 -1
  133. package/dist/components/inputs/code-editor/code-editor.d.ts +19 -18
  134. package/dist/components/inputs/code-editor/code-editor.d.ts.map +1 -1
  135. package/dist/components/inputs/code-editor/code-editor.js +23 -23
  136. package/dist/components/inputs/code-editor/code-editor.js.map +1 -1
  137. package/dist/components/inputs/code-editor/code-editor.styles.js +2 -2
  138. package/dist/components/inputs/combo-box/combo-box.d.ts +26 -29
  139. package/dist/components/inputs/combo-box/combo-box.d.ts.map +1 -1
  140. package/dist/components/inputs/combo-box/combo-box.js +74 -39
  141. package/dist/components/inputs/combo-box/combo-box.js.map +1 -1
  142. package/dist/components/inputs/combo-box/combo-box.styles.js +7 -7
  143. package/dist/components/inputs/date-field/date-field.d.ts +25 -24
  144. package/dist/components/inputs/date-field/date-field.d.ts.map +1 -1
  145. package/dist/components/inputs/date-field/date-field.js +26 -29
  146. package/dist/components/inputs/date-field/date-field.js.map +1 -1
  147. package/dist/components/inputs/date-field/date-field.styles.js +5 -5
  148. package/dist/components/inputs/date-picker/date-picker.d.ts +16 -13
  149. package/dist/components/inputs/date-picker/date-picker.d.ts.map +1 -1
  150. package/dist/components/inputs/date-picker/date-picker.js +35 -15
  151. package/dist/components/inputs/date-picker/date-picker.js.map +1 -1
  152. package/dist/components/inputs/date-picker/date-picker.styles.d.ts.map +1 -1
  153. package/dist/components/inputs/date-picker/date-picker.styles.js +21 -29
  154. package/dist/components/inputs/date-picker/date-picker.styles.js.map +1 -1
  155. package/dist/components/inputs/dropdown/dropdown.d.ts +4 -4
  156. package/dist/components/inputs/dropdown/dropdown.js +4 -4
  157. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.d.ts +21 -21
  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 +23 -26
  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.styles.js +5 -5
  162. package/dist/components/inputs/number-field/number-field.d.ts +17 -20
  163. package/dist/components/inputs/number-field/number-field.d.ts.map +1 -1
  164. package/dist/components/inputs/number-field/number-field.js +20 -23
  165. package/dist/components/inputs/number-field/number-field.js.map +1 -1
  166. package/dist/components/inputs/number-field/number-field.styles.js +4 -4
  167. package/dist/components/inputs/password-field/password-field.d.ts +25 -24
  168. package/dist/components/inputs/password-field/password-field.d.ts.map +1 -1
  169. package/dist/components/inputs/password-field/password-field.js +27 -29
  170. package/dist/components/inputs/password-field/password-field.js.map +1 -1
  171. package/dist/components/inputs/password-field/password-field.styles.js +7 -7
  172. package/dist/components/inputs/radio-button/radio-button.d.ts +10 -10
  173. package/dist/components/inputs/radio-button/radio-button.d.ts.map +1 -1
  174. package/dist/components/inputs/radio-button/radio-button.js +9 -14
  175. package/dist/components/inputs/radio-button/radio-button.js.map +1 -1
  176. package/dist/components/inputs/radio-button/radio-button.styles.js +2 -2
  177. package/dist/components/inputs/radio-button-field/radio-button-field.d.ts +24 -6
  178. package/dist/components/inputs/radio-button-field/radio-button-field.d.ts.map +1 -1
  179. package/dist/components/inputs/radio-button-field/radio-button-field.js +32 -7
  180. package/dist/components/inputs/radio-button-field/radio-button-field.js.map +1 -1
  181. package/dist/components/inputs/radio-button-group/radio-button-group.d.ts +3 -3
  182. package/dist/components/inputs/radio-button-group/radio-button-group.d.ts.map +1 -1
  183. package/dist/components/inputs/radio-button-group/radio-button-group.js +17 -10
  184. package/dist/components/inputs/radio-button-group/radio-button-group.js.map +1 -1
  185. package/dist/components/inputs/search-field/search-field.d.ts +15 -17
  186. package/dist/components/inputs/search-field/search-field.d.ts.map +1 -1
  187. package/dist/components/inputs/search-field/search-field.js +19 -22
  188. package/dist/components/inputs/search-field/search-field.js.map +1 -1
  189. package/dist/components/inputs/search-field/search-field.styles.js +5 -5
  190. package/dist/components/inputs/segmented-control/segmented-control.d.ts +27 -29
  191. package/dist/components/inputs/segmented-control/segmented-control.d.ts.map +1 -1
  192. package/dist/components/inputs/segmented-control/segmented-control.js +47 -57
  193. package/dist/components/inputs/segmented-control/segmented-control.js.map +1 -1
  194. package/dist/components/inputs/segmented-control/segmented-control.styles.js +4 -4
  195. package/dist/components/inputs/stepper/stepper.d.ts +14 -14
  196. package/dist/components/inputs/stepper/stepper.d.ts.map +1 -1
  197. package/dist/components/inputs/stepper/stepper.js +13 -18
  198. package/dist/components/inputs/stepper/stepper.js.map +1 -1
  199. package/dist/components/inputs/switch/switch.d.ts +12 -13
  200. package/dist/components/inputs/switch/switch.d.ts.map +1 -1
  201. package/dist/components/inputs/switch/switch.js +13 -18
  202. package/dist/components/inputs/switch/switch.js.map +1 -1
  203. package/dist/components/inputs/switch/switch.styles.js +6 -6
  204. package/dist/components/inputs/switch-field/switch-field.d.ts +4 -4
  205. package/dist/components/inputs/switch-field/switch-field.js +4 -4
  206. package/dist/components/inputs/text-editor/text-editor.caret.d.ts +1 -1
  207. package/dist/components/inputs/text-editor/text-editor.caret.js +1 -1
  208. package/dist/components/inputs/text-editor/text-editor.commands.js +1 -1
  209. package/dist/components/inputs/text-editor/text-editor.d.ts +21 -21
  210. package/dist/components/inputs/text-editor/text-editor.d.ts.map +1 -1
  211. package/dist/components/inputs/text-editor/text-editor.js +27 -27
  212. package/dist/components/inputs/text-editor/text-editor.js.map +1 -1
  213. package/dist/components/inputs/text-editor/text-editor.links.js +4 -4
  214. package/dist/components/inputs/text-editor/text-editor.markdown.js +7 -7
  215. package/dist/components/inputs/text-editor/text-editor.markdown.js.map +1 -1
  216. package/dist/components/inputs/text-editor/text-editor.ordered-list.js +1 -1
  217. package/dist/components/inputs/text-editor/text-editor.styles.js +14 -14
  218. package/dist/components/inputs/text-field/text-field.d.ts +20 -19
  219. package/dist/components/inputs/text-field/text-field.d.ts.map +1 -1
  220. package/dist/components/inputs/text-field/text-field.js +22 -24
  221. package/dist/components/inputs/text-field/text-field.js.map +1 -1
  222. package/dist/components/inputs/text-field/text-field.styles.js +3 -3
  223. package/dist/components/inputs/toggle-button/toggle-button.d.ts +14 -13
  224. package/dist/components/inputs/toggle-button/toggle-button.d.ts.map +1 -1
  225. package/dist/components/inputs/toggle-button/toggle-button.js +18 -18
  226. package/dist/components/inputs/toggle-button/toggle-button.js.map +1 -1
  227. package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts +7 -7
  228. package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts.map +1 -1
  229. package/dist/components/inputs/toggle-button-group/toggle-button-group.js +25 -17
  230. package/dist/components/inputs/toggle-button-group/toggle-button-group.js.map +1 -1
  231. package/dist/components/inputs/token-field/token-field.d.ts +24 -29
  232. package/dist/components/inputs/token-field/token-field.d.ts.map +1 -1
  233. package/dist/components/inputs/token-field/token-field.i18n.d.ts +1 -1
  234. package/dist/components/inputs/token-field/token-field.i18n.js +1 -1
  235. package/dist/components/inputs/token-field/token-field.i18n.js.map +1 -1
  236. package/dist/components/inputs/token-field/token-field.js +35 -39
  237. package/dist/components/inputs/token-field/token-field.js.map +1 -1
  238. package/dist/components/inputs/token-field/token-field.styles.js +4 -4
  239. package/dist/components/inputs/token-field/token-field.template.js +1 -1
  240. package/dist/components/inputs/token-field/token-field.template.js.map +1 -1
  241. package/dist/components/layout/app-view/app-view.d.ts +16 -4
  242. package/dist/components/layout/app-view/app-view.d.ts.map +1 -1
  243. package/dist/components/layout/app-view/app-view.js +18 -13
  244. package/dist/components/layout/app-view/app-view.js.map +1 -1
  245. package/dist/components/layout/box/box.d.ts +1 -1
  246. package/dist/components/layout/box/box.js +1 -1
  247. package/dist/components/layout/box/box.styles.d.ts.map +1 -1
  248. package/dist/components/layout/box/box.styles.js +8 -18
  249. package/dist/components/layout/box/box.styles.js.map +1 -1
  250. package/dist/components/layout/card/card.d.ts +26 -9
  251. package/dist/components/layout/card/card.d.ts.map +1 -1
  252. package/dist/components/layout/card/card.i18n.d.ts +1 -1
  253. package/dist/components/layout/card/card.i18n.js +1 -1
  254. package/dist/components/layout/card/card.i18n.js.map +1 -1
  255. package/dist/components/layout/card/card.js +51 -14
  256. package/dist/components/layout/card/card.js.map +1 -1
  257. package/dist/components/layout/card/card.styles.d.ts.map +1 -1
  258. package/dist/components/layout/card/card.styles.js +41 -4
  259. package/dist/components/layout/card/card.styles.js.map +1 -1
  260. package/dist/components/layout/card/card.template.d.ts.map +1 -1
  261. package/dist/components/layout/card/card.template.js +14 -6
  262. package/dist/components/layout/card/card.template.js.map +1 -1
  263. package/dist/components/layout/collection/collection.d.ts +3 -10
  264. package/dist/components/layout/collection/collection.d.ts.map +1 -1
  265. package/dist/components/layout/collection/collection.js +3 -10
  266. package/dist/components/layout/collection/collection.js.map +1 -1
  267. package/dist/components/layout/collection/collection.styles.d.ts.map +1 -1
  268. package/dist/components/layout/collection/collection.styles.js +21 -3
  269. package/dist/components/layout/collection/collection.styles.js.map +1 -1
  270. package/dist/components/layout/container/container.d.ts +41 -41
  271. package/dist/components/layout/container/container.js +41 -41
  272. package/dist/components/layout/page/page.d.ts +1 -1
  273. package/dist/components/layout/page/page.js +2 -2
  274. package/dist/components/layout/page-footer/page-footer.d.ts +10 -12
  275. package/dist/components/layout/page-footer/page-footer.d.ts.map +1 -1
  276. package/dist/components/layout/page-footer/page-footer.js +11 -13
  277. package/dist/components/layout/page-footer/page-footer.js.map +1 -1
  278. package/dist/components/layout/page-footer/page-footer.styles.d.ts.map +1 -1
  279. package/dist/components/layout/page-footer/page-footer.styles.js +8 -1
  280. package/dist/components/layout/page-footer/page-footer.styles.js.map +1 -1
  281. package/dist/components/layout/page-footer/page-footer.template.js +1 -1
  282. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.d.ts +1 -3
  283. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.d.ts.map +1 -1
  284. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.js +1 -3
  285. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.js.map +1 -1
  286. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.d.ts +1 -3
  287. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.d.ts.map +1 -1
  288. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.js +1 -3
  289. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.js.map +1 -1
  290. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.d.ts +1 -3
  291. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.d.ts.map +1 -1
  292. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.js +1 -3
  293. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.js.map +1 -1
  294. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.d.ts +20 -18
  295. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.d.ts.map +1 -1
  296. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.js +26 -20
  297. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.js.map +1 -1
  298. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.styles.d.ts.map +1 -1
  299. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.styles.js +20 -2
  300. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.styles.js.map +1 -1
  301. package/dist/components/layout/page-sections/simple-section/simple-section.d.ts +1 -3
  302. package/dist/components/layout/page-sections/simple-section/simple-section.d.ts.map +1 -1
  303. package/dist/components/layout/page-sections/simple-section/simple-section.js +1 -3
  304. package/dist/components/layout/page-sections/simple-section/simple-section.js.map +1 -1
  305. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.d.ts +1 -3
  306. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.d.ts.map +1 -1
  307. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.js +1 -3
  308. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.js.map +1 -1
  309. package/dist/components/layout/popover/popover.d.ts +18 -47
  310. package/dist/components/layout/popover/popover.d.ts.map +1 -1
  311. package/dist/components/layout/popover/popover.js +18 -47
  312. package/dist/components/layout/popover/popover.js.map +1 -1
  313. package/dist/components/layout/sheet/sheet.d.ts +9 -17
  314. package/dist/components/layout/sheet/sheet.d.ts.map +1 -1
  315. package/dist/components/layout/sheet/sheet.js +39 -27
  316. package/dist/components/layout/sheet/sheet.js.map +1 -1
  317. package/dist/components/layout/split-views/bar-split-view/bar-split-view.d.ts +4 -4
  318. package/dist/components/layout/split-views/bar-split-view/bar-split-view.js +4 -4
  319. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.d.ts +17 -17
  320. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.js +17 -17
  321. package/dist/components/layout/split-views/split-view-pane/split-view-pane.d.ts +2 -2
  322. package/dist/components/layout/split-views/split-view-pane/split-view-pane.js +2 -2
  323. package/dist/components/layout/window/window.d.ts +26 -20
  324. package/dist/components/layout/window/window.d.ts.map +1 -1
  325. package/dist/components/layout/window/window.js +58 -30
  326. package/dist/components/layout/window/window.js.map +1 -1
  327. package/dist/components/layout/window/window.template.d.ts.map +1 -1
  328. package/dist/components/layout/window/window.template.js +1 -0
  329. package/dist/components/layout/window/window.template.js.map +1 -1
  330. package/dist/components/lists-and-tables/cells/cell/cell.styles.d.ts.map +1 -1
  331. package/dist/components/lists-and-tables/cells/cell/cell.styles.js +1 -0
  332. package/dist/components/lists-and-tables/cells/cell/cell.styles.js.map +1 -1
  333. package/dist/components/lists-and-tables/cells/description-cell/description-cell.styles.d.ts.map +1 -1
  334. package/dist/components/lists-and-tables/cells/description-cell/description-cell.styles.js +1 -0
  335. package/dist/components/lists-and-tables/cells/description-cell/description-cell.styles.js.map +1 -1
  336. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.d.ts +1 -1
  337. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.i18n.d.ts +1 -1
  338. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.i18n.js +1 -1
  339. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.i18n.js.map +1 -1
  340. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.js +2 -2
  341. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.js.map +1 -1
  342. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.styles.d.ts.map +1 -1
  343. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.styles.js +1 -0
  344. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.styles.js.map +1 -1
  345. package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.styles.d.ts.map +1 -1
  346. package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.styles.js +1 -0
  347. package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.styles.js.map +1 -1
  348. package/dist/components/lists-and-tables/cells/text-cell/text-cell.styles.d.ts.map +1 -1
  349. package/dist/components/lists-and-tables/cells/text-cell/text-cell.styles.js +1 -0
  350. package/dist/components/lists-and-tables/cells/text-cell/text-cell.styles.js.map +1 -1
  351. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.d.ts +43 -9
  352. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.d.ts.map +1 -1
  353. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.js +69 -9
  354. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.js.map +1 -1
  355. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.d.ts.map +1 -1
  356. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.js +96 -43
  357. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.js.map +1 -1
  358. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.d.ts.map +1 -1
  359. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.js +19 -7
  360. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.js.map +1 -1
  361. package/dist/components/lists-and-tables/cells/title-cell/title-cell.styles.d.ts.map +1 -1
  362. package/dist/components/lists-and-tables/cells/title-cell/title-cell.styles.js +1 -0
  363. package/dist/components/lists-and-tables/cells/title-cell/title-cell.styles.js.map +1 -1
  364. package/dist/components/lists-and-tables/list/list.d.ts +77 -31
  365. package/dist/components/lists-and-tables/list/list.d.ts.map +1 -1
  366. package/dist/components/lists-and-tables/list/list.i18n.d.ts +4 -4
  367. package/dist/components/lists-and-tables/list/list.i18n.js +4 -4
  368. package/dist/components/lists-and-tables/list/list.i18n.js.map +1 -1
  369. package/dist/components/lists-and-tables/list/list.js +202 -70
  370. package/dist/components/lists-and-tables/list/list.js.map +1 -1
  371. package/dist/components/lists-and-tables/list/list.styles.d.ts.map +1 -1
  372. package/dist/components/lists-and-tables/list/list.styles.js +29 -22
  373. package/dist/components/lists-and-tables/list/list.styles.js.map +1 -1
  374. package/dist/components/lists-and-tables/list/list.template.d.ts.map +1 -1
  375. package/dist/components/lists-and-tables/list/list.template.js +4 -3
  376. package/dist/components/lists-and-tables/list/list.template.js.map +1 -1
  377. package/dist/components/lists-and-tables/list-item/list-item.d.ts +189 -18
  378. package/dist/components/lists-and-tables/list-item/list-item.d.ts.map +1 -1
  379. package/dist/components/lists-and-tables/list-item/list-item.i18n.d.ts +1 -1
  380. package/dist/components/lists-and-tables/list-item/list-item.i18n.js +1 -1
  381. package/dist/components/lists-and-tables/list-item/list-item.i18n.js.map +1 -1
  382. package/dist/components/lists-and-tables/list-item/list-item.js +467 -45
  383. package/dist/components/lists-and-tables/list-item/list-item.js.map +1 -1
  384. package/dist/components/lists-and-tables/list-item/list-item.styles.d.ts.map +1 -1
  385. package/dist/components/lists-and-tables/list-item/list-item.styles.js +133 -101
  386. package/dist/components/lists-and-tables/list-item/list-item.styles.js.map +1 -1
  387. package/dist/components/lists-and-tables/list-item/list-item.template.d.ts +1 -1
  388. package/dist/components/lists-and-tables/list-item/list-item.template.d.ts.map +1 -1
  389. package/dist/components/lists-and-tables/list-item/list-item.template.js +51 -24
  390. package/dist/components/lists-and-tables/list-item/list-item.template.js.map +1 -1
  391. package/dist/components/lists-and-tables/list-item-action/list-item-action.d.ts +108 -0
  392. package/dist/components/lists-and-tables/list-item-action/list-item-action.d.ts.map +1 -0
  393. package/dist/components/lists-and-tables/list-item-action/list-item-action.js +228 -0
  394. package/dist/components/lists-and-tables/list-item-action/list-item-action.js.map +1 -0
  395. package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.d.ts +2 -0
  396. package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.d.ts.map +1 -0
  397. package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.js +145 -0
  398. package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.js.map +1 -0
  399. package/dist/components/lists-and-tables/list-item-action/list-item-action.template.d.ts +3 -0
  400. package/dist/components/lists-and-tables/list-item-action/list-item-action.template.d.ts.map +1 -0
  401. package/dist/components/lists-and-tables/list-item-action/list-item-action.template.js +35 -0
  402. package/dist/components/lists-and-tables/list-item-action/list-item-action.template.js.map +1 -0
  403. package/dist/components/lists-and-tables/table/table.styles.d.ts.map +1 -1
  404. package/dist/components/lists-and-tables/table/table.styles.js +4 -2
  405. package/dist/components/lists-and-tables/table/table.styles.js.map +1 -1
  406. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +5 -7
  407. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  408. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +5 -7
  409. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  410. package/dist/components/navigation/breadcrumbs/breadcrumbs.template.js +1 -1
  411. package/dist/components/navigation/document-tab-bar/document-tab-bar.d.ts +15 -16
  412. package/dist/components/navigation/document-tab-bar/document-tab-bar.d.ts.map +1 -1
  413. package/dist/components/navigation/document-tab-bar/document-tab-bar.i18n.d.ts +1 -1
  414. package/dist/components/navigation/document-tab-bar/document-tab-bar.i18n.js +1 -1
  415. package/dist/components/navigation/document-tab-bar/document-tab-bar.i18n.js.map +1 -1
  416. package/dist/components/navigation/document-tab-bar/document-tab-bar.js +14 -15
  417. package/dist/components/navigation/document-tab-bar/document-tab-bar.js.map +1 -1
  418. package/dist/components/navigation/link/link.d.ts +2 -2
  419. package/dist/components/navigation/link/link.i18n.d.ts +1 -1
  420. package/dist/components/navigation/link/link.i18n.js +1 -1
  421. package/dist/components/navigation/link/link.i18n.js.map +1 -1
  422. package/dist/components/navigation/link/link.template.js +1 -1
  423. package/dist/components/navigation/link/link.template.js.map +1 -1
  424. package/dist/components/navigation/menu-bar-item/menu-bar-item.d.ts +1 -1
  425. package/dist/components/navigation/menu-bar-item/menu-bar-item.js +1 -1
  426. package/dist/components/navigation/pagination/pagination.i18n.d.ts +1 -1
  427. package/dist/components/navigation/pagination/pagination.i18n.js +1 -1
  428. package/dist/components/navigation/pagination/pagination.i18n.js.map +1 -1
  429. package/dist/components/navigation/pagination/pagination.styles.js +5 -5
  430. package/dist/components/navigation/pagination/pagination.template.js +1 -1
  431. package/dist/components/navigation/pagination/pagination.template.js.map +1 -1
  432. package/dist/components/navigation/tab-bar/tab-bar.d.ts +11 -11
  433. package/dist/components/navigation/tab-bar/tab-bar.js +11 -11
  434. package/dist/components/navigation/tab-bar/tab-bar.styles.js +7 -7
  435. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.d.ts +11 -11
  436. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.d.ts.map +1 -1
  437. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.js +11 -12
  438. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.js.map +1 -1
  439. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.d.ts.map +1 -1
  440. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js +9 -4
  441. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js.map +1 -1
  442. package/dist/components/navigation/top-title-bar/top-title-bar.d.ts +5 -5
  443. package/dist/components/navigation/top-title-bar/top-title-bar.js +6 -6
  444. package/dist/components/navigation/top-title-bar/top-title-bar.js.map +1 -1
  445. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.d.ts +3 -3
  446. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.i18n.d.ts +1 -1
  447. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.i18n.js +1 -1
  448. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.i18n.js.map +1 -1
  449. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.js +4 -4
  450. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.js.map +1 -1
  451. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.styles.js +6 -6
  452. package/dist/components/status-and-feedback/badge/badge.d.ts +2 -2
  453. package/dist/components/status-and-feedback/badge/badge.i18n.d.ts +1 -1
  454. package/dist/components/status-and-feedback/badge/badge.i18n.js +1 -1
  455. package/dist/components/status-and-feedback/badge/badge.i18n.js.map +1 -1
  456. package/dist/components/status-and-feedback/badge/badge.js +1 -1
  457. package/dist/components/status-and-feedback/badge/badge.js.map +1 -1
  458. package/dist/components/status-and-feedback/banner/banner.d.ts +9 -9
  459. package/dist/components/status-and-feedback/banner/banner.js +9 -9
  460. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.d.ts +6 -6
  461. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.js +6 -6
  462. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.d.ts +7 -7
  463. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.js +8 -8
  464. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.js +1 -1
  465. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.d.ts +22 -8
  466. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.d.ts.map +1 -1
  467. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.js +63 -27
  468. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.js.map +1 -1
  469. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.template.d.ts.map +1 -1
  470. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.template.js +1 -0
  471. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.template.js.map +1 -1
  472. package/dist/components/status-and-feedback/progress-bar/progress-bar.d.ts +13 -13
  473. package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.d.ts +2 -2
  474. package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.js +2 -2
  475. package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.js.map +1 -1
  476. package/dist/components/status-and-feedback/progress-bar/progress-bar.js +14 -14
  477. package/dist/components/status-and-feedback/progress-bar/progress-bar.js.map +1 -1
  478. package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.js +1 -1
  479. package/dist/components/status-and-feedback/progress-bar/progress-bar.template.js +1 -1
  480. package/dist/components/status-and-feedback/progress-bar/progress-bar.template.js.map +1 -1
  481. package/dist/components/status-and-feedback/progress-circle/progress-circle.d.ts +15 -15
  482. package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.d.ts +2 -2
  483. package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.js +2 -2
  484. package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.js.map +1 -1
  485. package/dist/components/status-and-feedback/progress-circle/progress-circle.js +20 -20
  486. package/dist/components/status-and-feedback/progress-circle/progress-circle.js.map +1 -1
  487. package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.js +3 -3
  488. package/dist/components/status-and-feedback/progress-circle/progress-circle.template.js +4 -4
  489. package/dist/components/status-and-feedback/progress-circle/progress-circle.template.js.map +1 -1
  490. package/dist/components/status-and-feedback/status-bar/status-bar.d.ts +4 -4
  491. package/dist/components/status-and-feedback/status-bar/status-bar.js +4 -4
  492. package/dist/components/status-and-feedback/step-indicator/step-indicator.d.ts +124 -0
  493. package/dist/components/status-and-feedback/step-indicator/step-indicator.d.ts.map +1 -0
  494. package/dist/components/status-and-feedback/step-indicator/step-indicator.i18n.d.ts +9 -0
  495. package/dist/components/status-and-feedback/step-indicator/step-indicator.i18n.d.ts.map +1 -0
  496. package/dist/components/status-and-feedback/step-indicator/step-indicator.i18n.js +8 -0
  497. package/dist/components/status-and-feedback/step-indicator/step-indicator.i18n.js.map +1 -0
  498. package/dist/components/status-and-feedback/step-indicator/step-indicator.js +210 -0
  499. package/dist/components/status-and-feedback/step-indicator/step-indicator.js.map +1 -0
  500. package/dist/components/status-and-feedback/step-indicator/step-indicator.styles.d.ts +3 -0
  501. package/dist/components/status-and-feedback/step-indicator/step-indicator.styles.d.ts.map +1 -0
  502. package/dist/components/status-and-feedback/step-indicator/step-indicator.styles.js +294 -0
  503. package/dist/components/status-and-feedback/step-indicator/step-indicator.styles.js.map +1 -0
  504. package/dist/components/status-and-feedback/step-indicator/step-indicator.template.d.ts +5 -0
  505. package/dist/components/status-and-feedback/step-indicator/step-indicator.template.d.ts.map +1 -0
  506. package/dist/components/status-and-feedback/step-indicator/step-indicator.template.js +69 -0
  507. package/dist/components/status-and-feedback/step-indicator/step-indicator.template.js.map +1 -0
  508. package/dist/css/form.css +16 -7
  509. package/dist/css/settings.css +68 -73
  510. package/dist/types/vue.d.ts +186 -42
  511. package/dist/utilities/autofocus.d.ts +19 -0
  512. package/dist/utilities/autofocus.d.ts.map +1 -0
  513. package/dist/utilities/autofocus.js +35 -0
  514. package/dist/utilities/autofocus.js.map +1 -0
  515. package/dist/utilities/codemirror/theme.js +2 -2
  516. package/dist/utilities/codemirror/theme.js.map +1 -1
  517. package/dist/utilities/color-scheme-repaint.d.ts +2 -2
  518. package/dist/utilities/color-scheme-repaint.js +2 -2
  519. package/dist/utilities/form-associated-mixin.d.ts +33 -0
  520. package/dist/utilities/form-associated-mixin.d.ts.map +1 -0
  521. package/dist/utilities/form-associated-mixin.js +52 -0
  522. package/dist/utilities/form-associated-mixin.js.map +1 -0
  523. package/dist/utilities/input-modality.d.ts +3 -1
  524. package/dist/utilities/input-modality.d.ts.map +1 -1
  525. package/dist/utilities/input-modality.js +12 -1
  526. package/dist/utilities/input-modality.js.map +1 -1
  527. package/dist/utilities/page-section-mixin.d.ts +1 -1
  528. package/dist/utilities/page-section-mixin.js +2 -2
  529. package/dist/utilities/popup-anchor-controller.d.ts +2 -2
  530. package/package.json +9 -1
@@ -14,8 +14,18 @@
14
14
  * blend with the app instead of revealing the user-agent's default white.
15
15
  * Cleared when the app-view disconnects.
16
16
  *
17
+ * ## Scroll mode
18
+ * The app scrolls the DOCUMENT (root mode) or lets each `nldd-page` scroll
19
+ * inside its pane (nested mode). The mode is derived from the outermost
20
+ * horizontal split view: one column means the document scrolls, several columns
21
+ * mean the panes do. An app without such a split view is a single column at
22
+ * every width and therefore scrolls the document too — nested scrolling would
23
+ * cost it the rubber-band and the collapsing browser toolbar on iOS for nothing.
24
+ * Set `--context-scroll-mode` on the `nldd-app-view` itself to override the
25
+ * derived mode; an inherited value loses from it.
26
+ *
17
27
  * ## Overscroll
18
- * In nested (default) scroll mode `overscroll-behavior: none` is set on
28
+ * In nested scroll mode `overscroll-behavior: none` is set on
19
29
  * `document.documentElement` and `document.body` while the app-view is
20
30
  * connected. Combined with `overscroll-behavior: contain` on `nldd-page`'s
21
31
  * scroll target, this prevents iOS rubber-band on the viewport when scroll
@@ -45,9 +55,11 @@ export declare class NLDDAppView extends LitElement implements ScrollModeProvide
45
55
  private _onSingleColumnChange;
46
56
  /**
47
57
  * Derive the document-vs-nested scroll mode from the outermost horizontal
48
- * split view and push it to every registered layer. When there is no such
49
- * split view the mode is left unset so it inherits (nested by default, or a
50
- * consumer/media-query override such as the docs' bare page).
58
+ * split view and push it to every registered layer. Without such a split view
59
+ * the app is a single column at any width, so it scrolls the document: nested
60
+ * scrolling costs you the rubber-band and the collapsing browser toolbar on
61
+ * iOS for nothing. Set `--context-scroll-mode: nested` on the `nldd-app-view`
62
+ * itself to override (an inherited value loses from the derived one).
51
63
  */
52
64
  private _evaluateScrollMode;
53
65
  connectedCallback(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"app-view.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/app-view/app-view.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAIjD,OAAO,KAAK,EAAc,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAyBvH,qBACa,WAAY,SAAQ,UAAW,YAAW,kBAAkB;IACxE,OAAgB,MAAM,0BAAiB;IAGvC,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAU;IAIvC,OAAO,CAAC,gBAAgB,CAAiC;IAIzD,OAAO,CAAC,YAAY,CAA2B;IAK/C,OAAO,CAAC,WAAW,CAAiE;IAIpF,gBAAgB;IAChB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAQ1D,gBAAgB;IAChB,wBAAwB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAQ5D,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,qBAAqB,CAE3B;IAEF;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IA2BlB,iBAAiB,IAAI,IAAI;IAYzB,oBAAoB,IAAI,IAAI;IAsBrC,OAAO,CAAC,gBAAgB;IAWf,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAM/C,OAAO,CAAC,oBAAoB;IAOnB,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,eAAe,EAAE,WAAW,CAAC;KAC7B;CACD"}
1
+ {"version":3,"file":"app-view.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/app-view/app-view.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAIjD,OAAO,KAAK,EAAc,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAyBvH,qBACa,WAAY,SAAQ,UAAW,YAAW,kBAAkB;IACxE,OAAgB,MAAM,0BAAiB;IAGvC,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAU;IAIvC,OAAO,CAAC,gBAAgB,CAAiC;IAIzD,OAAO,CAAC,YAAY,CAA2B;IAK/C,OAAO,CAAC,WAAW,CAAiE;IAIpF,gBAAgB;IAChB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAQ1D,gBAAgB;IAChB,wBAAwB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAQ5D,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,qBAAqB,CAE3B;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAqBlB,iBAAiB,IAAI,IAAI;IAYzB,oBAAoB,IAAI,IAAI;IAsBrC,OAAO,CAAC,gBAAgB;IAWf,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAM/C,OAAO,CAAC,oBAAoB;IAOnB,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,eAAe,EAAE,WAAW,CAAC;KAC7B;CACD"}
@@ -20,8 +20,18 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
20
20
  * blend with the app instead of revealing the user-agent's default white.
21
21
  * Cleared when the app-view disconnects.
22
22
  *
23
+ * ## Scroll mode
24
+ * The app scrolls the DOCUMENT (root mode) or lets each `nldd-page` scroll
25
+ * inside its pane (nested mode). The mode is derived from the outermost
26
+ * horizontal split view: one column means the document scrolls, several columns
27
+ * mean the panes do. An app without such a split view is a single column at
28
+ * every width and therefore scrolls the document too — nested scrolling would
29
+ * cost it the rubber-band and the collapsing browser toolbar on iOS for nothing.
30
+ * Set `--context-scroll-mode` on the `nldd-app-view` itself to override the
31
+ * derived mode; an inherited value loses from it.
32
+ *
23
33
  * ## Overscroll
24
- * In nested (default) scroll mode `overscroll-behavior: none` is set on
34
+ * In nested scroll mode `overscroll-behavior: none` is set on
25
35
  * `document.documentElement` and `document.body` while the app-view is
26
36
  * connected. Combined with `overscroll-behavior: contain` on `nldd-page`'s
27
37
  * scroll target, this prevents iOS rubber-band on the viewport when scroll
@@ -97,9 +107,11 @@ let NLDDAppView = class NLDDAppView extends LitElement {
97
107
  }
98
108
  /**
99
109
  * Derive the document-vs-nested scroll mode from the outermost horizontal
100
- * split view and push it to every registered layer. When there is no such
101
- * split view the mode is left unset so it inherits (nested by default, or a
102
- * consumer/media-query override such as the docs' bare page).
110
+ * split view and push it to every registered layer. Without such a split view
111
+ * the app is a single column at any width, so it scrolls the document: nested
112
+ * scrolling costs you the rubber-band and the collapsing browser toolbar on
113
+ * iOS for nothing. Set `--context-scroll-mode: nested` on the `nldd-app-view`
114
+ * itself to override (an inherited value loses from the derived one).
103
115
  */
104
116
  _evaluateScrollMode() {
105
117
  const splitView = this._outermostSplitView();
@@ -109,23 +121,16 @@ let NLDDAppView = class NLDDAppView extends LitElement {
109
121
  return;
110
122
  const next = splitView
111
123
  ? (splitView.isSingleColumn ? 'root' : 'nested')
112
- : null;
124
+ : 'root';
113
125
  if (next === this._derivedMode)
114
126
  return;
115
127
  this._derivedMode = next;
116
- if (next) {
117
- this.style.setProperty('--context-scroll-mode', next);
118
- }
119
- else {
120
- this.style.removeProperty('--context-scroll-mode');
121
- }
128
+ this.style.setProperty('--context-scroll-mode', next);
122
129
  // Push the derived mode to every layer. Pass the value explicitly rather
123
130
  // than letting each layer re-read the CSS var: a plain var change wouldn't
124
131
  // reach the resize-polling layers in the same frame, and a getComputedStyle
125
132
  // read during this synchronous push can be stale for a deeply-nested layer
126
133
  // (the var may not have propagated through an ancestor's pending re-render).
127
- // When there is no derived mode (bare-page app) pass undefined so layers
128
- // fall back to the inherited var.
129
134
  this._scrollConsumers.forEach(consumer => consumer.readScrollMode(this._derivedMode ?? undefined));
130
135
  }
131
136
  connectedCallback() {
@@ -1 +1 @@
1
- {"version":3,"file":"app-view.js","sourceRoot":"","sources":["../../../../src/components/layout/app-view/app-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-view.js","sourceRoot":"","sources":["../../../../src/components/layout/app-view/app-view.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  * @attr {'tinted'|'base'} background - Surface fill.
10
10
  * - `tinted` (default): for a box on a plain page bg.
11
11
  * - `base`: for a box sitting on an already-tinted parent (the border
12
- * ring gets +2 palette steps so it still reads against a card-on-card).
12
+ * ring gets +2 palette steps so it still reads against a card-on-card).
13
13
  * @slot - Place components inside the box
14
14
  */
15
15
  import { LitElement } from 'lit';
@@ -15,7 +15,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
15
15
  * @attr {'tinted'|'base'} background - Surface fill.
16
16
  * - `tinted` (default): for a box on a plain page bg.
17
17
  * - `base`: for a box sitting on an already-tinted parent (the border
18
- * ring gets +2 palette steps so it still reads against a card-on-card).
18
+ * ring gets +2 palette steps so it still reads against a card-on-card).
19
19
  * @slot - Place components inside the box
20
20
  */
21
21
  import { LitElement } from 'lit';
@@ -1 +1 @@
1
- {"version":3,"file":"box.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/box/box.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,yBA2DrB,CAAC"}
1
+ {"version":3,"file":"box.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/box/box.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,yBAiDrB,CAAC"}
@@ -8,8 +8,11 @@ export const boxStyles = css `
8
8
  /* # Host */
9
9
 
10
10
  :host {
11
+ --_corner-radius: var(--semantics-surfaces-corner-radius);
11
12
  --_background-color: var(--components-box-background-color);
13
+ --_border-width: var(--components-box-border-width);
12
14
  --_border-color: var(--components-box-border-color);
15
+ --_highlight-border: inset 0 0 0 var(--_border-width) var(--_border-color);
13
16
 
14
17
  display: block;
15
18
  }
@@ -19,10 +22,7 @@ export const boxStyles = css `
19
22
  }
20
23
 
21
24
 
22
- /* ## Background variants
23
- The default (tinted) lives on the :host base. base = card-on-tinted, the
24
- border ring picks the +2-step semantic so the frame still reads
25
- against an already-tinted parent. */
25
+ /* ## Background variants */
26
26
 
27
27
  :host([background="base"]) {
28
28
  --_background-color: var(--components-box-base-background-color);
@@ -34,28 +34,18 @@ export const boxStyles = css `
34
34
 
35
35
  .box {
36
36
  box-sizing: border-box;
37
- border-radius: var(--components-box-corner-radius);
38
- /* Inner box-shadow paints a 1px border ring inside the radius
39
- without taking layout space. The color is one to two palette
40
- steps above the surface bg depending on the variant, giving the
41
- box a defined edge that reads as "subtle dimensional lift"
42
- rather than a hard border. */
43
- box-shadow: inset 0 0 0 1px var(--_border-color);
37
+ border-radius: var(--_corner-radius);
38
+ box-shadow: var(--_highlight-border);
44
39
  background-color: var(--_background-color);
45
40
  padding: var(--components-box-padding);
46
41
  }
47
42
 
48
43
 
49
- /* # Accessibility
50
- box-shadow is dropped by Windows High Contrast / forced-colors mode,
51
- so the border ring would disappear and the box would lose its
52
- defined edge against the system background. Restore the edge with a
53
- real border in that mode. CanvasText is the system foreground color
54
- so the border always meets contrast. */
44
+ /* # Accessibility */
55
45
 
56
46
  @media (forced-colors: active) {
57
47
  .box {
58
- border: 1px solid CanvasText;
48
+ border: var(--_border-width) solid CanvasText;
59
49
  }
60
50
  }
61
51
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"box.styles.js","sourceRoot":"","sources":["../../../../src/components/layout/box/box.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2D3B,CAAC"}
1
+ {"version":3,"file":"box.styles.js","sourceRoot":"","sources":["../../../../src/components/layout/box/box.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiD3B,CAAC"}
@@ -5,17 +5,21 @@
5
5
  * De kaart heeft een elevated look als standaard. Padding wordt overgelaten
6
6
  * aan geneste containers.
7
7
  *
8
- * Met `href` wordt de hele kaart een link (een overlay-anchor over de kaart).
9
- * Geneste interactieve content (bijv. footer-knoppen) moet je erboven tillen met
8
+ * Met `href` wordt de hele kaart een link (een overlay-anchor over de kaart);
9
+ * met `button` een knop (een overlay-button die een gewone, composed `click`
10
+ * geeft — een klik-listener of htmx-attribuut op de kaart zelf werkt dus direct,
11
+ * en Enter/Space doen het native). `href` wint als beide gezet zijn. Geneste
12
+ * interactieve content (bijv. footer-knoppen) moet je erboven tillen met
10
13
  * `position: relative; z-index: 1` om klikbaar te blijven.
11
14
  *
12
15
  * @element nldd-card
13
16
  *
14
- * @attr {string} accessible-label - Toegankelijke naam van de kaart; bij `href` benoemt deze de link, anders de kaart-region
15
- * @attr {string} href - Maakt de hele kaart een link naar deze URL (leeg = geen link)
16
- * @attr {string} target - Link target voor href (bijv. '_blank'); stelt rel automatisch bij en voegt bij '_blank' een "Opent in nieuw tabblad"-melding toe
17
- * @attr {string} rel - Link rel voor href; standaard 'noopener noreferrer' bij target='_blank'
18
- * @attr {object} translations - Overschrijf vertaalsleutels (bijv. de "Opent in nieuw tabblad"-melding)
17
+ * @attr {string} accessible-label - Toegankelijke naam van de kaart; bij `href`/`button` benoemt deze de link of knop, anders de kaart-region
18
+ * @attr {string} href - Maakt de hele kaart een link naar deze URL (leeg = geen link)
19
+ * @attr {boolean} button - Maakt de hele kaart een knop; genegeerd wanneer `href` is gezet
20
+ * @attr {string} target - Link target voor href (bijv. '_blank'); stelt rel automatisch bij en voegt bij '_blank' een "Opent in nieuw tabblad"-melding toe
21
+ * @attr {string} rel - Link rel voor href; standaard 'noopener noreferrer' bij target='_blank'
22
+ * @attr {object} translations - Overschrijf vertaalsleutels (bijv. de "Opent in nieuw tabblad"-melding)
19
23
  *
20
24
  * @slot header - Header-content (bijv. nldd-title)
21
25
  * @slot - Body-content
@@ -24,9 +28,9 @@
24
28
  import { LitElement } from 'lit';
25
29
  declare const NLDDCard_base: (abstract new (...args: any[]) => LitElement & {
26
30
  translations: Partial<{
27
- 'components.card.opens-in-new-tab-text': string;
31
+ 'components.card.opens-in-new-tab-label': string;
28
32
  }>;
29
- _t(key: "components.card.opens-in-new-tab-text", vars?: Record<string, string | number>): string;
33
+ _t(key: "components.card.opens-in-new-tab-label", vars?: Record<string, string | number>): string;
30
34
  }) & typeof LitElement;
31
35
  export declare class NLDDCard extends NLDDCard_base {
32
36
  static styles: import("lit").CSSResult;
@@ -35,15 +39,28 @@ export declare class NLDDCard extends NLDDCard_base {
35
39
  * Nested interactive content must be raised above it (position: relative;
36
40
  * z-index: 1) to stay clickable. */
37
41
  href: string;
42
+ /** Makes the whole card a button via an overlay `<button>`: activation (click,
43
+ * Enter, Space) surfaces as a composed `click` on the host, so a listener or
44
+ * htmx attribute on the card just works. Ignored when `href` is set — a card
45
+ * is one action, and a link outranks a button. */
46
+ button: boolean;
38
47
  target: string;
39
48
  rel: string;
40
49
  /** Resolve rel for the overlay link: add noopener noreferrer for _blank
41
50
  * (mirrors nldd-link), merged with any consumer-set rel. */
42
51
  _resolvedRel(): string;
43
52
  private _warnedLabel;
53
+ /** True while the card's own overlay control holds keyboard focus. Drives the
54
+ * focus ring from JS rather than from `:has(… :focus-visible)` in CSS:
55
+ * Safari does not re-evaluate a dynamic pseudo-class inside `:has()`, so the
56
+ * ring stayed away there while it worked in Chromium. */
57
+ private _actionFocused;
58
+ private _onFocusIn;
59
+ private _onFocusOut;
44
60
  connectedCallback(): void;
45
61
  updated(): void;
46
62
  _onSlotChange: (e: Event) => void;
63
+ disconnectedCallback(): void;
47
64
  render(): import("lit-html").TemplateResult;
48
65
  }
49
66
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/card/card.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;;;;;;;AAOjC,qBACa,QAAS,SAAQ,aAAkD;IAC/E,OAAgB,MAAM,0BAAc;IAGpC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAEpC;;yCAEqC;IAErC,IAAI,SAAM;IAGV,MAAM,SAAM;IAGZ,GAAG,SAAM;IAET;iEAC6D;IAC7D,YAAY,IAAI,MAAM;IAStB,OAAO,CAAC,YAAY,CAAS;IAEpB,iBAAiB;IAejB,OAAO,IAAI,IAAI;IAexB,aAAa,GAAI,GAAG,KAAK,KAAG,IAAI,CAI9B;IAEO,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,WAAW,EAAE,QAAQ,CAAC;KACtB;CACD"}
1
+ {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/card/card.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;;;;;;;AAOjC,qBACa,QAAS,SAAQ,aAAkD;IAC/E,OAAgB,MAAM,0BAAc;IAGpC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAEpC;;yCAEqC;IAErC,IAAI,SAAM;IAEV;;;uDAGmD;IAEnD,MAAM,UAAS;IAGf,MAAM,SAAM;IAGZ,GAAG,SAAM;IAET;iEAC6D;IAC7D,YAAY,IAAI,MAAM;IAStB,OAAO,CAAC,YAAY,CAAS;IAE7B;;;8DAG0D;IAE1D,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,UAAU,CAKhB;IAEF,OAAO,CAAC,WAAW,CAEjB;IAEO,iBAAiB;IAiBjB,OAAO,IAAI,IAAI;IAgBxB,aAAa,GAAI,GAAG,KAAK,KAAG,IAAI,CAI9B;IAEO,oBAAoB;IAMpB,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,WAAW,EAAE,QAAQ,CAAC;KACtB;CACD"}
@@ -1,5 +1,5 @@
1
1
  export declare const nlddCardTranslations: {
2
- 'components.card.opens-in-new-tab-text': string;
2
+ 'components.card.opens-in-new-tab-label': string;
3
3
  };
4
4
  export type NLDDCardTranslations = typeof nlddCardTranslations;
5
5
  //# sourceMappingURL=card.i18n.d.ts.map
@@ -1,4 +1,4 @@
1
1
  export const nlddCardTranslations = {
2
- 'components.card.opens-in-new-tab-text': 'Opent in nieuw tabblad',
2
+ 'components.card.opens-in-new-tab-label': 'Opent in nieuw tabblad',
3
3
  };
4
4
  //# sourceMappingURL=card.i18n.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"card.i18n.js","sourceRoot":"","sources":["../../../../src/components/layout/card/card.i18n.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IACnC,uCAAuC,EAAE,wBAAwB;CACjE,CAAC"}
1
+ {"version":3,"file":"card.i18n.js","sourceRoot":"","sources":["../../../../src/components/layout/card/card.i18n.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IACnC,wCAAwC,EAAE,wBAAwB;CAClE,CAAC"}
@@ -5,17 +5,21 @@
5
5
  * De kaart heeft een elevated look als standaard. Padding wordt overgelaten
6
6
  * aan geneste containers.
7
7
  *
8
- * Met `href` wordt de hele kaart een link (een overlay-anchor over de kaart).
9
- * Geneste interactieve content (bijv. footer-knoppen) moet je erboven tillen met
8
+ * Met `href` wordt de hele kaart een link (een overlay-anchor over de kaart);
9
+ * met `button` een knop (een overlay-button die een gewone, composed `click`
10
+ * geeft — een klik-listener of htmx-attribuut op de kaart zelf werkt dus direct,
11
+ * en Enter/Space doen het native). `href` wint als beide gezet zijn. Geneste
12
+ * interactieve content (bijv. footer-knoppen) moet je erboven tillen met
10
13
  * `position: relative; z-index: 1` om klikbaar te blijven.
11
14
  *
12
15
  * @element nldd-card
13
16
  *
14
- * @attr {string} accessible-label - Toegankelijke naam van de kaart; bij `href` benoemt deze de link, anders de kaart-region
15
- * @attr {string} href - Maakt de hele kaart een link naar deze URL (leeg = geen link)
16
- * @attr {string} target - Link target voor href (bijv. '_blank'); stelt rel automatisch bij en voegt bij '_blank' een "Opent in nieuw tabblad"-melding toe
17
- * @attr {string} rel - Link rel voor href; standaard 'noopener noreferrer' bij target='_blank'
18
- * @attr {object} translations - Overschrijf vertaalsleutels (bijv. de "Opent in nieuw tabblad"-melding)
17
+ * @attr {string} accessible-label - Toegankelijke naam van de kaart; bij `href`/`button` benoemt deze de link of knop, anders de kaart-region
18
+ * @attr {string} href - Maakt de hele kaart een link naar deze URL (leeg = geen link)
19
+ * @attr {boolean} button - Maakt de hele kaart een knop; genegeerd wanneer `href` is gezet
20
+ * @attr {string} target - Link target voor href (bijv. '_blank'); stelt rel automatisch bij en voegt bij '_blank' een "Opent in nieuw tabblad"-melding toe
21
+ * @attr {string} rel - Link rel voor href; standaard 'noopener noreferrer' bij target='_blank'
22
+ * @attr {object} translations - Overschrijf vertaalsleutels (bijv. de "Opent in nieuw tabblad"-melding)
19
23
  *
20
24
  * @slot header - Header-content (bijv. nldd-title)
21
25
  * @slot - Body-content
@@ -28,7 +32,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
28
32
  return c > 3 && r && Object.defineProperty(target, key, r), r;
29
33
  };
30
34
  import { LitElement } from 'lit';
31
- import { customElement, property } from 'lit/decorators.js';
35
+ import { customElement, property, state } from 'lit/decorators.js';
32
36
  import { cardStyles } from './card.styles.js';
33
37
  import { cardTemplate } from './card.template.js';
34
38
  import { withTranslations } from '../../../utilities/with-translations.js';
@@ -40,9 +44,28 @@ let NLDDCard = class NLDDCard extends withTranslations(LitElement, nlddCardTrans
40
44
  * Nested interactive content must be raised above it (position: relative;
41
45
  * z-index: 1) to stay clickable. */
42
46
  this.href = '';
47
+ /** Makes the whole card a button via an overlay `<button>`: activation (click,
48
+ * Enter, Space) surfaces as a composed `click` on the host, so a listener or
49
+ * htmx attribute on the card just works. Ignored when `href` is set — a card
50
+ * is one action, and a link outranks a button. */
51
+ this.button = false;
43
52
  this.target = '';
44
53
  this.rel = '';
45
54
  this._warnedLabel = false;
55
+ /** True while the card's own overlay control holds keyboard focus. Drives the
56
+ * focus ring from JS rather than from `:has(… :focus-visible)` in CSS:
57
+ * Safari does not re-evaluate a dynamic pseudo-class inside `:has()`, so the
58
+ * ring stayed away there while it worked in Chromium. */
59
+ this._actionFocused = false;
60
+ this._onFocusIn = (e) => {
61
+ // composedPath()[0], not e.target: the control lives in the shadow root, so
62
+ // the event is retargeted to the host by the time it reaches this listener.
63
+ const focused = e.composedPath()[0];
64
+ this._actionFocused = !!focused?.matches?.('.card__action:focus-visible');
65
+ };
66
+ this._onFocusOut = () => {
67
+ this._actionFocused = false;
68
+ };
46
69
  this._onSlotChange = (e) => {
47
70
  const slot = e.target;
48
71
  const wrapper = slot.parentElement;
@@ -64,31 +87,39 @@ let NLDDCard = class NLDDCard extends withTranslations(LitElement, nlddCardTrans
64
87
  super.connectedCallback();
65
88
  // Set container-type/name as inline style on the host. Doing this from
66
89
  // a `:host` rule inside the shadow DOM works in Chromium but Safari
67
- // does not always recognise the host as a container for slotted
90
+ // does not always recognize the host as a container for slotted
68
91
  // descendants — a known engine inconsistency.
69
92
  //
70
93
  // We don't clear these on disconnect: a DOM move (disconnect →
71
94
  // reconnect) would just re-set them, and there's no scenario where the
72
95
  // styles being absent is meaningful. They are effectively part of the
73
96
  // element's identity, written once and kept.
97
+ this.addEventListener('focusin', this._onFocusIn);
98
+ this.addEventListener('focusout', this._onFocusOut);
74
99
  this.style.containerType = 'inline-size';
75
100
  this.style.containerName = 'layout-container';
76
101
  }
77
102
  updated() {
78
- // A linked card with no accessible name is a silent a11y failure — the
79
- // overlay anchor has no text. Warn once in dev (like nldd-image does for
80
- // alt); stay quiet in production.
103
+ this.classList.toggle('is-action-focused', this._actionFocused);
104
+ // An interactive card with no accessible name is a silent a11y failure
105
+ // the overlay control has no text. Warn once in dev (like nldd-image does
106
+ // for alt); stay quiet in production.
81
107
  if (import.meta.env?.DEV) {
82
- const missing = !!this.href && !(this.accessibleLabel ?? '').trim();
108
+ const missing = (!!this.href || this.button) && !(this.accessibleLabel ?? '').trim();
83
109
  if (missing && !this._warnedLabel) {
84
110
  this._warnedLabel = true;
85
- console.warn('<nldd-card>: a card with `href` needs `accessible-label` so the link has an accessible name.');
111
+ console.warn('<nldd-card>: a card with `href` or `button` needs `accessible-label` so the control has an accessible name.');
86
112
  }
87
113
  else if (!missing) {
88
114
  this._warnedLabel = false;
89
115
  }
90
116
  }
91
117
  }
118
+ disconnectedCallback() {
119
+ this.removeEventListener('focusin', this._onFocusIn);
120
+ this.removeEventListener('focusout', this._onFocusOut);
121
+ super.disconnectedCallback();
122
+ }
92
123
  render() {
93
124
  return cardTemplate(this);
94
125
  }
@@ -100,12 +131,18 @@ __decorate([
100
131
  __decorate([
101
132
  property({ type: String, reflect: true })
102
133
  ], NLDDCard.prototype, "href", void 0);
134
+ __decorate([
135
+ property({ type: Boolean, reflect: true })
136
+ ], NLDDCard.prototype, "button", void 0);
103
137
  __decorate([
104
138
  property({ type: String })
105
139
  ], NLDDCard.prototype, "target", void 0);
106
140
  __decorate([
107
141
  property({ type: String })
108
142
  ], NLDDCard.prototype, "rel", void 0);
143
+ __decorate([
144
+ state()
145
+ ], NLDDCard.prototype, "_actionFocused", void 0);
109
146
  NLDDCard = __decorate([
110
147
  customElement('nldd-card')
111
148
  ], NLDDCard);
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","sourceRoot":"","sources":["../../../../src/components/layout/card/card.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card.js","sourceRoot":"","sources":["../../../../src/components/layout/card/card.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"card.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/card/card.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,yBAoFtB,CAAC"}
1
+ {"version":3,"file":"card.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/card/card.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,yBAyHtB,CAAC"}
@@ -11,6 +11,8 @@ export const cardStyles = css `
11
11
  --_highlight-border: inset 0 0 0 var(--components-card-highlight-border-width) var(--components-card-highlight-border-color);
12
12
 
13
13
  display: flex;
14
+ /* Anchor for the focus ring, which hangs outside the card box. */
15
+ position: relative;
14
16
  flex-direction: column;
15
17
  }
16
18
 
@@ -43,19 +45,54 @@ export const cardStyles = css `
43
45
  }
44
46
 
45
47
 
46
- /* # Link */
48
+ /* # Link / button overlay */
47
49
 
48
- .card__link {
50
+ .card__action {
49
51
  position: absolute;
50
52
  inset: 0;
51
53
  z-index: 0;
52
54
  border-radius: inherit;
53
55
  }
54
56
 
55
- .card:has(.card__link:focus-visible) {
57
+ a.card__action {
58
+ cursor: var(--semantics-controls-link-cursor);
59
+ }
60
+
61
+ /* Strip the native button chrome so the overlay stays invisible; the focus
62
+ ring is drawn on the card below, same as for the anchor. */
63
+ button.card__action {
64
+ margin: 0;
65
+ outline: none;
66
+ border: none;
67
+ background: none;
68
+ padding: 0;
69
+ appearance: none;
70
+ }
71
+
72
+ /* Shown from JS (a class on the host) instead of with
73
+ :has(.card__action:focus-visible): Safari does not re-evaluate a dynamic
74
+ pseudo-class inside :has(), so the ring stayed away there while Chromium
75
+ drew it.
76
+
77
+ The ring is a sibling of the card, not something drawn on it. Two reasons:
78
+ the card clips its descendants (overflow: hidden keeps images and fills
79
+ inside the rounded corners), so a ring drawn within would be cut off at the
80
+ edge; and the card's own box-shadow is a token that may be "none", which
81
+ cannot be combined with a second shadow in one declaration — the whole
82
+ declaration would be dropped and the ring's halo with it. */
83
+ .card__focus-ring {
84
+ display: none;
85
+ position: absolute;
86
+ inset: 0;
87
+ border-radius: var(--components-card-corner-radius);
56
88
  outline: var(--semantics-focus-ring-outline);
57
89
  outline-offset: var(--semantics-focus-ring-outline-offset);
58
- box-shadow: var(--components-card-box-shadow), var(--semantics-focus-ring-box-shadow);
90
+ box-shadow: var(--semantics-focus-ring-box-shadow);
91
+ pointer-events: none;
92
+ }
93
+
94
+ :host(.is-action-focused) .card__focus-ring {
95
+ display: block;
59
96
  }
60
97
 
61
98
 
@@ -1 +1 @@
1
- {"version":3,"file":"card.styles.js","sourceRoot":"","sources":["../../../../src/components/layout/card/card.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoF5B,CAAC"}
1
+ {"version":3,"file":"card.styles.js","sourceRoot":"","sources":["../../../../src/components/layout/card/card.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyH5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"card.template.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/card/card.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAE,MAAM,KAAK,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,wBAAgB,YAAY,CAAC,SAAS,EAAE,QAAQ,GAAG,cAAc,CAwChE"}
1
+ {"version":3,"file":"card.template.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/card/card.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAE,MAAM,KAAK,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,wBAAgB,YAAY,CAAC,SAAS,EAAE,QAAQ,GAAG,cAAc,CAgDhE"}
@@ -2,23 +2,30 @@ import { html, nothing } from 'lit';
2
2
  export function cardTemplate(component) {
3
3
  // A new-tab link is a change of context, so announce it (WCAG 2.1 SC 3.2.2).
4
4
  const opensInNewTabHint = component.href && component.target === '_blank'
5
- ? component._t('components.card.opens-in-new-tab-text')
5
+ ? component._t('components.card.opens-in-new-tab-label')
6
6
  : '';
7
- // The overlay anchor has no text, so its name comes from aria-label, with the
8
- // new-tab hint appended. accessible-label names the link when the card is a
9
- // link, the article otherwise — so the card carries exactly one name.
7
+ // The overlay control has no text, so its name comes from aria-label, with
8
+ // the new-tab hint appended. accessible-label names the link or button when
9
+ // the card is interactive, the article otherwise — so the card carries
10
+ // exactly one name.
10
11
  const linkLabel = [component.accessibleLabel, opensInNewTabHint].filter(Boolean).join(', ') || nothing;
12
+ const isInteractive = Boolean(component.href) || component.button;
11
13
  return html `
12
14
  <article class="card"
13
- aria-label=${component.href ? nothing : (component.accessibleLabel ?? nothing)}
15
+ aria-label=${isInteractive ? nothing : (component.accessibleLabel ?? nothing)}
14
16
  >
15
17
  ${component.href ? html `
16
- <a class="card__link"
18
+ <a class="card__action"
17
19
  href=${component.href}
18
20
  target=${component.target || nothing}
19
21
  rel=${component._resolvedRel() || nothing}
20
22
  aria-label=${linkLabel}
21
23
  ></a>
24
+ ` : component.button ? html `
25
+ <button class="card__action"
26
+ type="button"
27
+ aria-label=${linkLabel}
28
+ ></button>
22
29
  ` : nothing}
23
30
  <header class="card__header"
24
31
  hidden
@@ -38,6 +45,7 @@ export function cardTemplate(component) {
38
45
  ></slot>
39
46
  </footer>
40
47
  </article>
48
+ <span class="card__focus-ring"></span>
41
49
  `;
42
50
  }
43
51
  //# sourceMappingURL=card.template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"card.template.js","sourceRoot":"","sources":["../../../../src/components/layout/card/card.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAC;AAGpD,MAAM,UAAU,YAAY,CAAC,SAAmB;IAC/C,6EAA6E;IAC7E,MAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ;QACxE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,uCAAuC,CAAC;QACvD,CAAC,CAAC,EAAE,CAAC;IACN,8EAA8E;IAC9E,4EAA4E;IAC5E,sEAAsE;IACtE,MAAM,SAAS,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC;IACvG,OAAO,IAAI,CAAA;;gBAEI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,IAAI,OAAO,CAAC;;KAE5E,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;;YAEd,SAAS,CAAC,IAAI;cACZ,SAAS,CAAC,MAAM,IAAI,OAAO;WAC9B,SAAS,CAAC,YAAY,EAAE,IAAI,OAAO;kBAC5B,SAAS;;IAEvB,CAAC,CAAC,CAAC,OAAO;;;;;mBAKK,SAAS,CAAC,aAAa;;;;;;;;;;mBAUvB,SAAS,CAAC,aAAa;;;;EAIxC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"card.template.js","sourceRoot":"","sources":["../../../../src/components/layout/card/card.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAC;AAGpD,MAAM,UAAU,YAAY,CAAC,SAAmB;IAC/C,6EAA6E;IAC7E,MAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ;QACxE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,wCAAwC,CAAC;QACxD,CAAC,CAAC,EAAE,CAAC;IACN,2EAA2E;IAC3E,4EAA4E;IAC5E,uEAAuE;IACvE,oBAAoB;IACpB,MAAM,SAAS,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC;IACvG,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC;IAClE,OAAO,IAAI,CAAA;;gBAEI,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,IAAI,OAAO,CAAC;;KAE3E,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;;YAEd,SAAS,CAAC,IAAI;cACZ,SAAS,CAAC,MAAM,IAAI,OAAO;WAC9B,SAAS,CAAC,YAAY,EAAE,IAAI,OAAO;kBAC5B,SAAS;;IAEvB,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;;;kBAGZ,SAAS;;IAEvB,CAAC,CAAC,CAAC,OAAO;;;;;mBAKK,SAAS,CAAC,aAAa;;;;;;;;;;mBAUvB,SAAS,CAAC,aAAa;;;;;EAKxC,CAAC;AACH,CAAC"}
@@ -15,16 +15,9 @@
15
15
  * @attr {boolean} show-load-more - Show load-more button in grid/stack (default: false)
16
16
  * @attr {number} max-items - Number of visible items per page (default: 24)
17
17
  * @attr {boolean} lazy-load - Automatically load more items when the button becomes visible
18
- * @attr {string} item-width - Preferred width for each item (e.g. '280px', '20rem'). In grid
19
- * layout used as the minimum column width (columns will be at
20
- * least this wide; 1fr if container allows more). In horizontal
21
- * scroll used as flex-basis. Never forces horizontal overflow —
22
- * the value is clamped to container width.
23
- * @attr {string} gap - Custom gap between items (any CSS length, e.g. '8px'). Overrides the
24
- * responsive default at every breakpoint; unset keeps the default.
25
- * @attr {object} translations - Translation overrides; unset keys fall back to Dutch.
26
- * Available keys: 'components.collection.previous-action',
27
- * 'components.collection.next-action', 'components.collection.load-more-action'
18
+ * @attr {string} item-width - Preferred width for each item (e.g. '280px', '20rem'). In grid layout used as the minimum column width (columns will be at least this wide; 1fr if container allows more). In horizontal scroll used as flex-basis. Never forces horizontal overflow — the value is clamped to container width.
19
+ * @attr {string} gap - Custom gap between items (any CSS length, e.g. '8px'). Overrides the responsive default at every breakpoint; unset keeps the default.
20
+ * @attr {object} translations - Translation overrides; unset keys fall back to Dutch. Available keys: 'components.collection.previous-action', 'components.collection.next-action', 'components.collection.load-more-action'
28
21
  *
29
22
  * @migration The `load-more-label` attribute has been removed.
30
23
  * Use `translations` property instead: `.translations=${{ 'components.collection.load-more-action': 'Show more' }}`