@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
@@ -0,0 +1,768 @@
1
+ /**
2
+ * NLDD Design System Datumkiezer Component (Lit + TypeScript)
3
+ *
4
+ * Een kalender waarin een datum of een periode wordt gekozen. Het component is
5
+ * zelfstandig bruikbaar - inline op een pagina, in een filterpaneel - en zit ook
6
+ * in de popover van nldd-date-field.
7
+ *
8
+ * Waarden zijn altijd ISO (jjjj-mm-dd). Met `range` kiest de gebruiker in twee
9
+ * stappen een begin- en einddatum.
10
+ *
11
+ * @element nldd-date-picker
12
+ *
13
+ * @attr {string} value - De gekozen datum als ISO (jjjj-mm-dd). Alleen zonder `range`.
14
+ * @attr {string} start - Begin van de periode als ISO. Alleen met `range`.
15
+ * @attr {string} end - Einde van de periode als ISO. Alleen met `range`.
16
+ * @attr {boolean} range - Kies een periode in plaats van één datum.
17
+ * @attr {string} min - Vroegst toegestane datum: ISO, of `today` met een verschuiving (`today-18y`).
18
+ * @attr {string} max - Laatst toegestane datum: ISO, of `today` met een verschuiving (`today+1y`).
19
+ * @attr {number} first-day-of-week - Eerste dag van de week, 0 is zondag. Standaard 1 (maandag).
20
+ * @attr {boolean} week-numbers - Toont ISO-weeknummers in een kolom links.
21
+ * @attr {string} width - Breedte: `full` (vult de container) of een CSS-lengte (bv. `560px`). Leeg (standaard) is de intrinsieke breedte van zeven dagcellen; de cellen rekken mee met de opgegeven breedte.
22
+ * @attr {string} accessible-label - Toegankelijke naam van de kalender.
23
+ * @attr {object} translations - Vertalingen; niet opgegeven sleutels vallen terug op het Nederlands.
24
+ *
25
+ * @prop {(iso: string) => boolean} isDateUnavailable - Markeert losse datums als niet kiesbaar, bijvoorbeeld weekenden of feestdagen.
26
+ *
27
+ * @fires change - Wanneer een datum of een volledige periode is gekozen. detail: { value } of { start, end }.
28
+ * @fires input - Ook bij de tussenstap van een periode, wanneer alleen de begindatum staat.
29
+ */
30
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
31
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
32
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
33
+ 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;
34
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
35
+ };
36
+ import { LitElement } from 'lit';
37
+ import { customElement, property, state } from 'lit/decorators.js';
38
+ import { breakpoints } from '../../../assets/styles/breakpoints.js';
39
+ import { isPointerMode } from '../../../utilities/input-modality.js';
40
+ import { withTranslations } from '../../../utilities/with-translations.js';
41
+ import { resolveDateBound, toIso } from '../../../utilities/resolve-date-bound.js';
42
+ import { datePickerStyles } from './date-picker.styles.js';
43
+ import { datePickerTemplate } from './date-picker.template.js';
44
+ import { nlddDatePickerTranslations, MONTH_KEYS, WEEKDAY_KEYS } from './date-picker.i18n.js';
45
+ import './../../actions/icon-button/icon-button.js';
46
+ import './../../actions/button/button.js';
47
+ /**
48
+ * All arithmetic runs on UTC-midnight Dates and ISO strings. UTC keeps a DST
49
+ * transition from swallowing or repeating a day, and ISO strings compare
50
+ * lexicographically, so a bounds check is a plain string comparison.
51
+ */
52
+ function parseIso(iso) {
53
+ const match = /^(\d{4})-(\d{2})-(\d{2})$/.exec(iso);
54
+ if (!match)
55
+ return null;
56
+ const date = new Date(Date.UTC(Number(match[1]), Number(match[2]) - 1, Number(match[3])));
57
+ return Number.isNaN(date.getTime()) ? null : date;
58
+ }
59
+ function isoOf(date) {
60
+ return toIso(date.getUTCFullYear(), date.getUTCMonth() + 1, date.getUTCDate()) ?? '';
61
+ }
62
+ function addDays(iso, days) {
63
+ const date = parseIso(iso);
64
+ if (!date)
65
+ return iso;
66
+ date.setUTCDate(date.getUTCDate() + days);
67
+ return isoOf(date);
68
+ }
69
+ /** Clamped, like the bound resolver: 31 March plus a month is 30 April. */
70
+ function addMonths(iso, months) {
71
+ const date = parseIso(iso);
72
+ if (!date)
73
+ return iso;
74
+ const day = date.getUTCDate();
75
+ const total = date.getUTCFullYear() * 12 + date.getUTCMonth() + months;
76
+ const year = Math.floor(total / 12);
77
+ const month = ((total % 12) + 12) % 12 + 1;
78
+ const lastDay = new Date(Date.UTC(year, month, 0)).getUTCDate();
79
+ return toIso(year, month, Math.min(day, lastDay)) ?? iso;
80
+ }
81
+ function todayIso() {
82
+ const now = new Date();
83
+ return toIso(now.getFullYear(), now.getMonth() + 1, now.getDate()) ?? '';
84
+ }
85
+ function firstOfMonth(iso) {
86
+ return `${iso.slice(0, 7)}-01`;
87
+ }
88
+ function lastOfMonth(iso) {
89
+ const date = parseIso(iso);
90
+ if (!date)
91
+ return iso;
92
+ return toIso(date.getUTCFullYear(), date.getUTCMonth() + 1, new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth() + 1, 0)).getUTCDate()) ?? iso;
93
+ }
94
+ function weekdayOf(iso) {
95
+ return parseIso(iso)?.getUTCDay() ?? 0;
96
+ }
97
+ function startOfWeek(iso, firstDayOfWeek) {
98
+ const offset = (weekdayOf(iso) - firstDayOfWeek + 7) % 7;
99
+ return addDays(iso, -offset);
100
+ }
101
+ /** Same month and day in another year, clamped: 29 February is not every year. */
102
+ function withYear(iso, year) {
103
+ const month = Number(iso.slice(5, 7));
104
+ const day = Number(iso.slice(8, 10));
105
+ const lastDay = new Date(Date.UTC(year, month, 0)).getUTCDate();
106
+ return toIso(year, month, Math.min(day, lastDay)) ?? iso;
107
+ }
108
+ function clampIso(iso, min, max) {
109
+ if (min && iso < min)
110
+ return min;
111
+ if (max && iso > max)
112
+ return max;
113
+ return iso;
114
+ }
115
+ let NLDDDatePicker = class NLDDDatePicker extends withTranslations(LitElement, nlddDatePickerTranslations) {
116
+ constructor() {
117
+ super(...arguments);
118
+ this.value = '';
119
+ this.start = '';
120
+ this.end = '';
121
+ /** Breedte: 'full' of een CSS-lengte; leeg is de intrinsieke zeven-cellen-breedte. */
122
+ this.width = '';
123
+ this.range = false;
124
+ this.min = '';
125
+ this.max = '';
126
+ this.firstDayOfWeek = 1;
127
+ this.weekNumbers = false;
128
+ this.accessibleLabel = '';
129
+ /** The date carrying the roving tabindex. */
130
+ this._focused = '';
131
+ /** First of the displayed month. */
132
+ this._view = '';
133
+ /** During a range selection: the date the user picked first. */
134
+ this._anchor = '';
135
+ /** Pointer preview of the range being drawn. Visual only - never announced. */
136
+ this._hover = '';
137
+ this._announcement = '';
138
+ this._yearMenuOpen = false;
139
+ /**
140
+ * Stacked layout: the paging controls move below the grid and grow to md. Not
141
+ * compact: everything gets roomier, tuned for fingers and narrow viewports.
142
+ * Driven from JS rather than a media query because the two layouts are not the
143
+ * same buttons in another place - side by side they are one bar, below they
144
+ * split into "Vandaag" on the left and the month arrows on the right, and CSS
145
+ * cannot regroup a component's children.
146
+ *
147
+ * Coarse pointers count too, not just narrow screens: a touch tablet has room
148
+ * for the wide layout but the same need for larger targets.
149
+ */
150
+ this._stacked = false;
151
+ this._handleStackedChange = () => {
152
+ this._stacked = Boolean(this._stackedQuery?.matches);
153
+ };
154
+ /** Set when the keyboard moved focus, so only then is focus pulled to a cell. */
155
+ this._restoreFocus = false;
156
+ /**
157
+ * A day focused by pointer should not show a ring. Browsers treat programmatic
158
+ * focus as focus-visible, and opening the calendar with the mouse focuses a day,
159
+ * so the ring would appear without anyone using the keyboard. Arrow keys switch
160
+ * the modality back, so navigating reveals it again.
161
+ *
162
+ * If this never runs the class is simply absent and the ring shows - the
163
+ * accessible outcome is the default.
164
+ */
165
+ /** Set by keyboard navigation; consumed by the focus it causes. */
166
+ this._focusFromKeyboard = false;
167
+ // — Dragging —————————————————————————————————————————————————————————————
168
+ /** Where the pointer went down; empty when no drag is in progress. */
169
+ this._dragOrigin = '';
170
+ /** Set once the pointer has actually moved to another day. */
171
+ this._dragged = false;
172
+ this._suppressClick = false;
173
+ this._onDocumentPointerUp = (e) => {
174
+ document.removeEventListener('pointerup', this._onDocumentPointerUp);
175
+ const origin = this._dragOrigin;
176
+ this._dragOrigin = '';
177
+ if (!this._dragged)
178
+ return;
179
+ this._dragged = false;
180
+ this._suppressClick = true;
181
+ const iso = this._dayUnderPointer(e);
182
+ // Released off the grid or on a blocked day: keep the start and wait for a
183
+ // second click rather than inventing an end date.
184
+ if (!iso || this._isUnavailable(iso))
185
+ return;
186
+ // Dragging backwards means the range runs the other way. That is not the
187
+ // ambiguous case the restart rule guards against - here the direction was
188
+ // spelled out by the gesture - so the ends are simply sorted.
189
+ this._commitRange(origin, iso);
190
+ };
191
+ }
192
+ async _handleYearMenuToggle(e) {
193
+ this._yearMenuOpen = e.newState === 'open';
194
+ if (!this._yearMenuOpen)
195
+ return;
196
+ // The menu sets its own focus after its update resolves, so waiting for that
197
+ // first is what keeps it from overwriting the line below.
198
+ const menu = this.shadowRoot?.querySelector('nldd-menu');
199
+ await menu?.updateComplete;
200
+ // The list runs to a hundred years or more, and the menu starts on its first
201
+ // item - so an arrow key walks a century back from the year you are actually
202
+ // looking at. Move to the year in view instead, and scroll it into sight.
203
+ const focusSelected = () => {
204
+ const selected = this.shadowRoot?.querySelector('nldd-menu-item[selected]');
205
+ if (!selected || this.shadowRoot?.activeElement === selected)
206
+ return;
207
+ // Both of these scroll every scrollable ancestor by default, and the page
208
+ // is one of them - opening the menu would shift what is behind it.
209
+ selected.scrollIntoView({ block: 'nearest' });
210
+ selected.focus({ preventScroll: true });
211
+ };
212
+ requestAnimationFrame(focusSelected);
213
+ // The menu finishes its own opening sequence after that frame and takes focus
214
+ // back, so that one hand-over is redirected rather than raced with a longer
215
+ // delay. Properly this belongs in nldd-menu: any menu with a current value
216
+ // should open on it.
217
+ menu?.addEventListener('focusin', (event) => {
218
+ if (event.target === menu)
219
+ focusSelected();
220
+ }, { once: true });
221
+ }
222
+ connectedCallback() {
223
+ super.connectedCallback();
224
+ if (!this._focused)
225
+ this._focused = this._initialFocus();
226
+ if (!this._view)
227
+ this._view = firstOfMonth(this._focused);
228
+ this._stackedQuery = window.matchMedia(`(max-width: ${breakpoints.smMax}), (pointer: coarse)`);
229
+ this._stacked = this._stackedQuery.matches;
230
+ this._stackedQuery.addEventListener('change', this._handleStackedChange);
231
+ }
232
+ disconnectedCallback() {
233
+ super.disconnectedCallback();
234
+ document.removeEventListener('pointerup', this._onDocumentPointerUp);
235
+ this._stackedQuery?.removeEventListener('change', this._handleStackedChange);
236
+ }
237
+ willUpdate(changed) {
238
+ super.willUpdate(changed);
239
+ // A consumer setting a value moves the calendar to it, but typing in a
240
+ // connected field should not yank the month away mid-selection, so the view
241
+ // only follows when the new value sits outside the month on screen.
242
+ if (changed.has('value') || changed.has('start') || changed.has('end')) {
243
+ const anchorDate = this.range ? (this.start || this.end) : this.value;
244
+ if (anchorDate && firstOfMonth(anchorDate) !== this._view) {
245
+ this._view = firstOfMonth(anchorDate);
246
+ this._focused = anchorDate;
247
+ }
248
+ }
249
+ }
250
+ updated(changed) {
251
+ // Mirrored to an attribute so the host's own rules can key on it; consumers
252
+ // are not meant to set it.
253
+ this.toggleAttribute('stacked', this._stacked);
254
+ if (changed.has('width')) {
255
+ const w = this.width;
256
+ // `full` says 100% explicitly; anything else flows through CSS.supports
257
+ // so a typo falls back to the intrinsic width instead of breaking layout.
258
+ if (w === 'full') {
259
+ this.style.setProperty('--_width', '100%');
260
+ }
261
+ else if (w && CSS.supports('width', w)) {
262
+ this.style.setProperty('--_width', w);
263
+ }
264
+ else {
265
+ this.style.removeProperty('--_width');
266
+ }
267
+ }
268
+ // Two associations the menu cannot make itself here. It resolves a string
269
+ // anchor with document.getElementById, which cannot see into a shadow root,
270
+ // so the element is handed over directly. And it leaves the native invoker
271
+ // link to the anchor component - nldd-button sets that up via `expandable` -
272
+ // which a plain button does not do, so without this the title never opens
273
+ // anything.
274
+ const menu = this.shadowRoot?.querySelector('nldd-menu');
275
+ const title = this.shadowRoot?.querySelector('.date-picker__title-button');
276
+ if (menu && title) {
277
+ if (menu.anchorElement !== title)
278
+ menu.anchorElement = title;
279
+ if (title.popoverTargetElement !== menu)
280
+ title.popoverTargetElement = menu;
281
+ }
282
+ if (!this._restoreFocus)
283
+ return;
284
+ this._restoreFocus = false;
285
+ this._focusedCell()?.focus();
286
+ }
287
+ _focusedCell() {
288
+ return this.shadowRoot?.querySelector('.date-picker__day[tabindex="0"]') ?? null;
289
+ }
290
+ /**
291
+ * Focus lands on the day carrying the roving tabindex - the chosen date, or
292
+ * today when there is none. Without this an overlay that focuses the calendar
293
+ * would land on its host, which forwards nowhere, leaving the arrow keys dead
294
+ * until the user has tabbed into the grid themselves.
295
+ */
296
+ focus(options) {
297
+ const cell = this._focusedCell();
298
+ if (cell)
299
+ cell.focus(options);
300
+ else
301
+ super.focus(options);
302
+ }
303
+ _initialFocus() {
304
+ const preferred = (this.range ? this.start : this.value) || todayIso();
305
+ return clampIso(preferred, this._min, this._max);
306
+ }
307
+ // — Bounds ———————————————————————————————————————————————————————————————
308
+ get _min() {
309
+ return resolveDateBound(this.min);
310
+ }
311
+ get _max() {
312
+ return resolveDateBound(this.max);
313
+ }
314
+ /** Out of bounds means unreachable; unavailable means visible but not selectable. */
315
+ _isOutOfBounds(iso) {
316
+ const min = this._min;
317
+ const max = this._max;
318
+ return Boolean((min && iso < min) || (max && iso > max));
319
+ }
320
+ _isUnavailable(iso) {
321
+ if (this._isOutOfBounds(iso))
322
+ return true;
323
+ return this.isDateUnavailable?.(iso) ?? false;
324
+ }
325
+ // — Grid —————————————————————————————————————————————————————————————————
326
+ /** Weekday numbers in display order, honouring first-day-of-week. */
327
+ get _weekdays() {
328
+ return Array.from({ length: 7 }, (_, i) => (this.firstDayOfWeek + i) % 7);
329
+ }
330
+ /**
331
+ * Six weeks of real dates, including the days either side of the month. Those
332
+ * neighbors are selectable and jump the calendar to their own month, which
333
+ * beats paging for a date a few days over the boundary. Every cell announces
334
+ * its full date, so a 1st from the next month can never be mistaken for this
335
+ * one.
336
+ *
337
+ * Always six rows: a month that needs five would otherwise resize the calendar
338
+ * as you page through it, which in a popover moves everything below it.
339
+ */
340
+ get _weeks() {
341
+ const lead = (weekdayOf(this._view) - this.firstDayOfWeek + 7) % 7;
342
+ const start = addDays(this._view, -lead);
343
+ return Array.from({ length: 6 }, (_, week) => Array.from({ length: 7 }, (_, day) => addDays(start, week * 7 + day)));
344
+ }
345
+ _isOutsideMonth(iso) {
346
+ return iso.slice(0, 7) !== this._view.slice(0, 7);
347
+ }
348
+ /**
349
+ * The ISO week of the row, taken from its Thursday. ISO weeks are anchored on
350
+ * Thursday, so reading it off any other day would give the wrong number for
351
+ * rows that do not start on Monday.
352
+ */
353
+ _weekNumber(week) {
354
+ const thursday = week.find((iso) => weekdayOf(iso) === 4) ?? week[0];
355
+ const date = parseIso(thursday);
356
+ if (!date)
357
+ return 0;
358
+ const firstThursday = new Date(Date.UTC(date.getUTCFullYear(), 0, 4));
359
+ firstThursday.setUTCDate(firstThursday.getUTCDate() - ((firstThursday.getUTCDay() + 6) % 7) + 3);
360
+ return 1 + Math.round((date.getTime() - firstThursday.getTime()) / (7 * 24 * 60 * 60 * 1000));
361
+ }
362
+ get _viewYear() {
363
+ return Number(this._view.slice(0, 4));
364
+ }
365
+ get _viewMonth() {
366
+ return Number(this._view.slice(5, 7));
367
+ }
368
+ /**
369
+ * Years offered in the title menu. Bounded by min and max where they are set,
370
+ * because those already say which years can be reached; without them a window
371
+ * wide enough for a birthdate on one side and for planning on the other.
372
+ */
373
+ get _years() {
374
+ const current = Number(todayIso().slice(0, 4));
375
+ let first = this._min ? Number(this._min.slice(0, 4)) : current - 120;
376
+ let last = this._max ? Number(this._max.slice(0, 4)) : current + 20;
377
+ // The year on screen must always be in the list, or the menu would show no
378
+ // selection at all after paging past the edge of the window.
379
+ first = Math.min(first, this._viewYear);
380
+ last = Math.max(last, this._viewYear);
381
+ return Array.from({ length: last - first + 1 }, (_, i) => first + i);
382
+ }
383
+ _handleYearSelect(year) {
384
+ this._view = firstOfMonth(clampIso(withYear(this._view, year), this._min, this._max));
385
+ this._focused = clampIso(withYear(this._focused, year), this._min, this._max);
386
+ this._restoreFocus = Boolean(this._focusedCell());
387
+ // Radio items keep their menu open, which is right when you are ticking
388
+ // several - but here one year is the whole answer.
389
+ const menu = this.shadowRoot?.querySelector('nldd-menu');
390
+ if (menu?.matches(':popover-open'))
391
+ menu.hidePopover?.();
392
+ }
393
+ /**
394
+ * Dutch writes month names in lower case, so the capital here is the ordinary
395
+ * sentence-initial one of a heading, not a proper noun. The translation itself
396
+ * stays lower case because it is reused mid-sentence in the day labels.
397
+ */
398
+ get _title() {
399
+ const month = this._t(`components.date-picker.${MONTH_KEYS[this._viewMonth - 1]}-capitalize`);
400
+ return `${month} ${this._viewYear}`;
401
+ }
402
+ // — Cell state ———————————————————————————————————————————————————————————
403
+ _isSelected(iso) {
404
+ if (!this.range)
405
+ return iso === this.value;
406
+ // Both ends of the preview, not just the committed ones: while drawing, the
407
+ // day under the pointer is the end date and has to look like it, or the band
408
+ // runs to a day that carries no mark at all.
409
+ const [from, to] = this._previewSpan();
410
+ if (from && to)
411
+ return iso === from || iso === to;
412
+ return iso === this.start || iso === this.end;
413
+ }
414
+ /**
415
+ * How the range band runs through this day. Derived from one span so the
416
+ * pointer preview and a committed period draw identically, and so the band
417
+ * stops at the middle of the first and last day instead of filling their whole
418
+ * cell - the fill marks the end, the band only connects the days between.
419
+ */
420
+ _bandFor(iso) {
421
+ if (!this.range)
422
+ return 'none';
423
+ const [from, to] = this._previewSpan();
424
+ if (!from || !to || from === to)
425
+ return 'none';
426
+ if (iso > from && iso < to)
427
+ return 'full';
428
+ if (iso === from)
429
+ return 'start';
430
+ if (iso === to)
431
+ return 'end';
432
+ return 'none';
433
+ }
434
+ /** Strictly between the ends, including the pointer preview while drawing. */
435
+ _isInRange(iso) {
436
+ return this._bandFor(iso) === 'full';
437
+ }
438
+ _previewSpan() {
439
+ if (this.start && this.end)
440
+ return [this.start, this.end];
441
+ if (this._anchor && this._hover) {
442
+ return this._anchor < this._hover ? [this._anchor, this._hover] : [this._hover, this._anchor];
443
+ }
444
+ return ['', ''];
445
+ }
446
+ _isToday(iso) {
447
+ return iso === todayIso();
448
+ }
449
+ /**
450
+ * Alleen de datum, zonder de aanduidingen die aan een cel hangen. De
451
+ * aankondigingen gebruiken deze: die van het hele cellabel maakte er
452
+ * "vrijdag 10 juli 2026, begin van de periode tot en met ..." van, waarin de
453
+ * celstatus midden in de zin belandt.
454
+ */
455
+ _dateText(iso) {
456
+ const date = parseIso(iso);
457
+ if (!date)
458
+ return '';
459
+ const weekday = this._t(`components.date-picker.${WEEKDAY_KEYS[date.getUTCDay()]}-lowercase`);
460
+ const month = this._t(`components.date-picker.${MONTH_KEYS[date.getUTCMonth()]}-lowercase`);
461
+ return this._t('components.date-picker.date-label', {
462
+ weekday,
463
+ day: date.getUTCDate(),
464
+ month,
465
+ year: date.getUTCFullYear(),
466
+ });
467
+ }
468
+ _dayLabel(iso) {
469
+ const date = parseIso(iso);
470
+ if (!date)
471
+ return '';
472
+ const parts = [this._dateText(iso)];
473
+ if (this._isToday(iso))
474
+ parts.push(this._t('components.date-picker.today-lowercase'));
475
+ const awaitingSecond = this.range && this._anchor !== '' && this.end === '';
476
+ if (awaitingSecond && iso === this._anchor) {
477
+ parts.push(this._t('components.date-picker.range-anchor-lowercase-label'));
478
+ }
479
+ else {
480
+ if (this.range && iso === this.start)
481
+ parts.push(this._t('components.date-picker.range-start-lowercase-label'));
482
+ if (this.range && iso === this.end)
483
+ parts.push(this._t('components.date-picker.range-end-lowercase-label'));
484
+ }
485
+ if (this._isInRange(iso))
486
+ parts.push(this._t('components.date-picker.in-range-lowercase-label'));
487
+ if (this._isUnavailable(iso))
488
+ parts.push(this._t('components.date-picker.unavailable-lowercase-label'));
489
+ return parts.join(', ');
490
+ }
491
+ // — Navigation ———————————————————————————————————————————————————————————
492
+ _shiftView(months) {
493
+ const next = addMonths(this._view, months);
494
+ this._view = next;
495
+ // Keep the roving tabindex on an equivalent day in the new month so the
496
+ // keyboard does not jump back to the 1st on every month change.
497
+ const day = Math.min(Number(this._focused.slice(8, 10)), Number(lastOfMonth(next).slice(8, 10)));
498
+ this._focused = clampIso(`${next.slice(0, 7)}-${String(day).padStart(2, '0')}`, this._min, this._max);
499
+ this._restoreFocus = Boolean(this._focusedCell());
500
+ }
501
+ _moveFocus(iso) {
502
+ const target = clampIso(iso, this._min, this._max);
503
+ this._focused = target;
504
+ if (firstOfMonth(target) !== this._view)
505
+ this._view = firstOfMonth(target);
506
+ // Only reached from the keydown handler, so the ring is certain here. Stated
507
+ // rather than asked of the modality module, which depends on that keydown
508
+ // having reached the document listener before focus moves - an ordering this
509
+ // component has no reason to rely on.
510
+ this._focusFromKeyboard = true;
511
+ this._restoreFocus = true;
512
+ }
513
+ _handleKeydown(e) {
514
+ const iso = this._focused;
515
+ let next = '';
516
+ switch (e.key) {
517
+ case 'ArrowLeft':
518
+ next = addDays(iso, -1);
519
+ break;
520
+ case 'ArrowRight':
521
+ next = addDays(iso, 1);
522
+ break;
523
+ case 'ArrowUp':
524
+ next = addDays(iso, -7);
525
+ break;
526
+ case 'ArrowDown':
527
+ next = addDays(iso, 7);
528
+ break;
529
+ case 'Home':
530
+ next = startOfWeek(iso, this.firstDayOfWeek);
531
+ break;
532
+ case 'End':
533
+ next = addDays(startOfWeek(iso, this.firstDayOfWeek), 6);
534
+ break;
535
+ case 'PageUp':
536
+ next = addMonths(iso, e.shiftKey ? -12 : -1);
537
+ break;
538
+ case 'PageDown':
539
+ next = addMonths(iso, e.shiftKey ? 12 : 1);
540
+ break;
541
+ case 'Enter':
542
+ case ' ':
543
+ e.preventDefault();
544
+ this._select(iso);
545
+ return;
546
+ default:
547
+ return;
548
+ }
549
+ e.preventDefault();
550
+ this._moveFocus(next);
551
+ }
552
+ // — Selection ————————————————————————————————————————————————————————————
553
+ _handleDayClick(iso) {
554
+ // A drag ends with a click on the day it was released over; that day was
555
+ // already handled on pointerup, so this one would start a second range.
556
+ if (this._suppressClick) {
557
+ this._suppressClick = false;
558
+ return;
559
+ }
560
+ this._select(iso);
561
+ }
562
+ _handleDayHover(iso) {
563
+ if (this.range && this._anchor)
564
+ this._hover = iso;
565
+ }
566
+ _handleDayFocusIn(e) {
567
+ const fromPointer = this._focusFromKeyboard ? false : isPointerMode();
568
+ this._focusFromKeyboard = false;
569
+ e.target?.classList?.toggle('is-pointer-focus', fromPointer);
570
+ }
571
+ _handleDayFocusOut(e) {
572
+ e.target?.classList?.remove('is-pointer-focus');
573
+ }
574
+ _handleGridLeave() {
575
+ if (this._dragOrigin)
576
+ return;
577
+ this._hover = '';
578
+ }
579
+ /**
580
+ * Dragging is for pointer devices only. On touch a horizontal drag across a
581
+ * calendar is indistinguishable from scrolling the page, and taking the
582
+ * gesture would leave a sheet you cannot scroll. Tapping twice still works
583
+ * everywhere, so nothing is lost.
584
+ */
585
+ _handleDayPointerDown(iso, e) {
586
+ // Cleared here rather than trusting the click to consume it. After a drag the
587
+ // click fires on the nearest common ancestor of the day it started on and the
588
+ // day it ended on - the grid, not a day - so the day handler never runs and a
589
+ // leftover flag would swallow the next real click instead.
590
+ this._suppressClick = false;
591
+ if (!this.range || e.pointerType === 'touch')
592
+ return;
593
+ if (this._isUnavailable(iso))
594
+ return;
595
+ this._dragOrigin = iso;
596
+ this._dragged = false;
597
+ document.addEventListener('pointerup', this._onDocumentPointerUp);
598
+ }
599
+ _handleGridPointerMove(e) {
600
+ if (!this._dragOrigin)
601
+ return;
602
+ const iso = this._dayUnderPointer(e);
603
+ if (!iso || iso === this._dragOrigin)
604
+ return;
605
+ // The range only starts once the pointer has left the day it went down on,
606
+ // so a plain click still runs through the click handler untouched.
607
+ if (!this._dragged) {
608
+ this._dragged = true;
609
+ this._beginRange(this._dragOrigin);
610
+ }
611
+ this._hover = iso;
612
+ }
613
+ _dayUnderPointer(e) {
614
+ const element = this.shadowRoot?.elementFromPoint(e.clientX, e.clientY);
615
+ return element?.closest('.date-picker__day')?.getAttribute('data-date') ?? '';
616
+ }
617
+ _select(iso) {
618
+ if (this._isUnavailable(iso))
619
+ return;
620
+ this._focused = iso;
621
+ // Choosing a neighboring month's day brings that month into view, so the
622
+ // selection stays visible instead of sitting on a day that scrolls away.
623
+ if (this._isOutsideMonth(iso))
624
+ this._view = firstOfMonth(iso);
625
+ if (!this.range) {
626
+ this.value = iso;
627
+ this._announce(this._t('components.date-picker.date-selected-text', { date: this._dateText(iso) }));
628
+ this._emit('change', { value: iso });
629
+ return;
630
+ }
631
+ // No anchor, or a finished range: this click starts a new one.
632
+ if (!this._anchor || (this.start && this.end)) {
633
+ this._beginRange(iso);
634
+ return;
635
+ }
636
+ // Picking before the anchor completes the period backwards rather than
637
+ // starting over. The hover preview already draws the band that way, and
638
+ // dragging backwards already reverses, so restarting here would be the one
639
+ // behavior contradicting what the calendar just showed. Beginning again is
640
+ // still one click away, since a finished period restarts on the next click.
641
+ this._commitRange(this._anchor, iso);
642
+ }
643
+ /** Any blocked day between two ends, inclusive. The endpoints are checked
644
+ * before we get here; this is the interior the endpoint checks miss. */
645
+ _rangeHasUnavailable(from, to) {
646
+ const [start, end] = from < to ? [from, to] : [to, from];
647
+ for (let day = start; day <= end; day = addDays(day, 1)) {
648
+ if (this._isUnavailable(day))
649
+ return true;
650
+ }
651
+ return false;
652
+ }
653
+ _commitRange(from, to) {
654
+ // A range may not span a blocked day. Both ends can be available while a
655
+ // booked day sits between them, and committing that would fire change with
656
+ // a period that visibly contains an unavailable date. Keep the anchor so
657
+ // the user can pick a different end.
658
+ if (this._rangeHasUnavailable(from, to)) {
659
+ this._announce(this._t('components.date-picker.range-blocked-text'));
660
+ return;
661
+ }
662
+ this.start = from < to ? from : to;
663
+ this.end = from < to ? to : from;
664
+ this._anchor = '';
665
+ this._hover = '';
666
+ this._announce(this._t('components.date-picker.range-selected-text', {
667
+ start: this._dateText(this.start),
668
+ end: this._dateText(this.end),
669
+ }));
670
+ this._emit('change', { start: this.start, end: this.end });
671
+ }
672
+ _beginRange(iso) {
673
+ this._anchor = iso;
674
+ this.start = iso;
675
+ this.end = '';
676
+ this._hover = '';
677
+ this._announce(this._t('components.date-picker.range-anchor-text', { date: this._dateText(iso) }));
678
+ this._emit('input', { start: iso, end: '' });
679
+ }
680
+ _announce(message) {
681
+ this._announcement = message;
682
+ }
683
+ _emit(type, detail) {
684
+ this.dispatchEvent(new CustomEvent(type, { detail, bubbles: true, composed: true }));
685
+ }
686
+ /**
687
+ * Whether today can be reached at all. Outside the bounds the button is a lie:
688
+ * it would clamp to the nearest allowed date, so on a birthdate calendar
689
+ * "Vandaag" would quietly jump eighteen years back.
690
+ */
691
+ get _todayReachable() {
692
+ return !this._isOutOfBounds(todayIso());
693
+ }
694
+ /**
695
+ * Jumps the calendar back to the current month without choosing anything.
696
+ * Navigation and selection are kept apart: someone who paged away to look
697
+ * around wants a way back, not a date they did not ask for.
698
+ */
699
+ _handleToday() {
700
+ const today = todayIso();
701
+ this._view = firstOfMonth(today);
702
+ this._focused = today;
703
+ this._restoreFocus = Boolean(this._focusedCell());
704
+ }
705
+ render() {
706
+ return datePickerTemplate(this);
707
+ }
708
+ };
709
+ NLDDDatePicker.styles = datePickerStyles;
710
+ __decorate([
711
+ property({ type: String })
712
+ ], NLDDDatePicker.prototype, "value", void 0);
713
+ __decorate([
714
+ property({ type: String })
715
+ ], NLDDDatePicker.prototype, "start", void 0);
716
+ __decorate([
717
+ property({ type: String })
718
+ ], NLDDDatePicker.prototype, "end", void 0);
719
+ __decorate([
720
+ property({ type: String, reflect: true })
721
+ ], NLDDDatePicker.prototype, "width", void 0);
722
+ __decorate([
723
+ property({ type: Boolean, reflect: true })
724
+ ], NLDDDatePicker.prototype, "range", void 0);
725
+ __decorate([
726
+ property({ type: String })
727
+ ], NLDDDatePicker.prototype, "min", void 0);
728
+ __decorate([
729
+ property({ type: String })
730
+ ], NLDDDatePicker.prototype, "max", void 0);
731
+ __decorate([
732
+ property({ type: Number, attribute: 'first-day-of-week' })
733
+ ], NLDDDatePicker.prototype, "firstDayOfWeek", void 0);
734
+ __decorate([
735
+ property({ type: Boolean, reflect: true, attribute: 'week-numbers' })
736
+ ], NLDDDatePicker.prototype, "weekNumbers", void 0);
737
+ __decorate([
738
+ property({ type: String, attribute: 'accessible-label' })
739
+ ], NLDDDatePicker.prototype, "accessibleLabel", void 0);
740
+ __decorate([
741
+ property({ attribute: false })
742
+ ], NLDDDatePicker.prototype, "isDateUnavailable", void 0);
743
+ __decorate([
744
+ state()
745
+ ], NLDDDatePicker.prototype, "_focused", void 0);
746
+ __decorate([
747
+ state()
748
+ ], NLDDDatePicker.prototype, "_view", void 0);
749
+ __decorate([
750
+ state()
751
+ ], NLDDDatePicker.prototype, "_anchor", void 0);
752
+ __decorate([
753
+ state()
754
+ ], NLDDDatePicker.prototype, "_hover", void 0);
755
+ __decorate([
756
+ state()
757
+ ], NLDDDatePicker.prototype, "_announcement", void 0);
758
+ __decorate([
759
+ state()
760
+ ], NLDDDatePicker.prototype, "_yearMenuOpen", void 0);
761
+ __decorate([
762
+ state()
763
+ ], NLDDDatePicker.prototype, "_stacked", void 0);
764
+ NLDDDatePicker = __decorate([
765
+ customElement('nldd-date-picker')
766
+ ], NLDDDatePicker);
767
+ export { NLDDDatePicker };
768
+ //# sourceMappingURL=date-picker.js.map