@duetds/components 8.0.1 → 8.0.3

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 (699) hide show
  1. package/hydrate/index.js +67 -17
  2. package/lib/cjs/{common-strings-17770d7a.js → common-strings-86913e94.js} +6 -0
  3. package/lib/cjs/duet-action-button.cjs.entry.js +1 -1
  4. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-banner.cjs.entry.js +15 -2
  7. package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -2
  8. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  9. package/lib/cjs/duet-button_2.cjs.entry.js +31 -9
  10. package/lib/cjs/duet-callout.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-caption_4.cjs.entry.js +2 -2
  12. package/lib/cjs/duet-card.cjs.entry.js +1 -1
  13. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-chip.cjs.entry.js +1 -1
  16. package/lib/cjs/duet-choice_2.cjs.entry.js +4 -3
  17. package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
  18. package/lib/cjs/duet-combobox.cjs.entry.js +2 -2
  19. package/lib/cjs/duet-contact-card.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  22. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  23. package/lib/cjs/duet-editable-table_3.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-footer.cjs.entry.js +2 -2
  27. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-header_2.cjs.entry.js +2 -2
  29. package/lib/cjs/duet-hero.cjs.entry.js +2 -2
  30. package/lib/cjs/duet-icon.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
  32. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-menu-bar.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  40. package/lib/cjs/duet-multiselect.cjs.entry.js +7 -2
  41. package/lib/cjs/duet-nav.cjs.entry.js +1 -1
  42. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
  45. package/lib/cjs/duet-pagination_2.cjs.entry.js +1 -1
  46. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +1 -1
  47. package/lib/cjs/duet-popup-menu.cjs.entry.js +1 -1
  48. package/lib/cjs/duet-progress.cjs.entry.js +2 -2
  49. package/lib/cjs/duet-promo-card.cjs.entry.js +1 -1
  50. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  51. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  52. package/lib/cjs/duet-scrollable_3.cjs.entry.js +4 -3
  53. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  54. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  55. package/lib/cjs/duet-shaped-image.cjs.entry.js +1 -1
  56. package/lib/cjs/duet-show-more.cjs.entry.js +2 -2
  57. package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
  58. package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
  59. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
  60. package/lib/cjs/duet-slideout-panel.cjs.entry.js +2 -2
  61. package/lib/cjs/duet-slideout.cjs.entry.js +2 -2
  62. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  63. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +2 -2
  64. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +1 -1
  65. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +1 -1
  66. package/lib/cjs/duet-submenu-bar.cjs.entry.js +2 -2
  67. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  68. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  69. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -1
  70. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +1 -1
  71. package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -1
  72. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
  73. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +2 -2
  74. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  75. package/lib/cjs/duet-tray.cjs.entry.js +1 -1
  76. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  77. package/lib/cjs/duet-upload-item.cjs.entry.js +1 -1
  78. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  79. package/lib/cjs/duet.cjs.js +2 -2
  80. package/lib/cjs/{focus-utils-66656094.js → focus-utils-04f168fd.js} +1 -1
  81. package/lib/cjs/{index-780310fa.js → index-b9ee6ca5.js} +1 -1
  82. package/lib/cjs/loader.cjs.js +2 -2
  83. package/lib/collection/common-strings.js +5 -0
  84. package/lib/collection/components/duet-action-button/duet-action-button.a11y.e2e.js +13 -0
  85. package/lib/collection/components/duet-action-button/duet-action-button.js +2 -2
  86. package/lib/collection/components/duet-alert/duet-alert.a11y.e2e.js +20 -0
  87. package/lib/collection/components/duet-alert/duet-alert.js +1 -1
  88. package/lib/collection/components/duet-badge/duet-badge.a11y.e2e.js +20 -0
  89. package/lib/collection/components/duet-banner/duet-banner.a11y.e2e.js +34 -0
  90. package/lib/collection/components/duet-banner/duet-banner.js +31 -1
  91. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.css +2 -0
  92. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.a11y.e2e.js +17 -0
  93. package/lib/collection/components/duet-button/duet-button.a11y.e2e.js +48 -0
  94. package/lib/collection/components/duet-button/duet-button.js +83 -13
  95. package/lib/collection/components/duet-callout/duet-callout.a11y.e2e.js +17 -0
  96. package/lib/collection/components/duet-caption/duet-caption.a11y.e2e.js +13 -0
  97. package/lib/collection/components/duet-caption/duet-caption.js +1 -1
  98. package/lib/collection/components/duet-card/duet-card.a11y.e2e.js +29 -0
  99. package/lib/collection/components/duet-card/duet-card.js +3 -3
  100. package/lib/collection/components/duet-checkbox/duet-checkbox.a11y.e2e.js +20 -0
  101. package/lib/collection/components/duet-checkbox/duet-checkbox.js +4 -4
  102. package/lib/collection/components/duet-chip/duet-chip.a11y.e2e.js +25 -0
  103. package/lib/collection/components/duet-chip/duet-chip.js +4 -4
  104. package/lib/collection/components/duet-choice/duet-choice.a11y.e2e.js +79 -0
  105. package/lib/collection/components/duet-choice/duet-choice.js +4 -3
  106. package/lib/collection/components/duet-choice-group/duet-choice-group.a11y.e2e.js +17 -0
  107. package/lib/collection/components/duet-collapsible/duet-collapsible.a11y.e2e.js +24 -0
  108. package/lib/collection/components/duet-collapsible/duet-collapsible.js +3 -3
  109. package/lib/collection/components/duet-combobox/duet-combobox.a11y.e2e.js +17 -0
  110. package/lib/collection/components/duet-combobox/duet-combobox.js +4 -4
  111. package/lib/collection/components/duet-contact-card/duet-contact-card.a11y.e2e.js +36 -0
  112. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.a11y.e2e.js +16 -0
  113. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  114. package/lib/collection/components/duet-date-picker/duet-date-picker.a11y.e2e.js +13 -0
  115. package/lib/collection/components/duet-date-picker/duet-date-picker.js +5 -5
  116. package/lib/collection/components/duet-divider/duet-divider.a11y.e2e.js +13 -0
  117. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  118. package/lib/collection/components/duet-editable-table/duet-editable-table.a11y.e2e.js +202 -0
  119. package/lib/collection/components/duet-editable-table/duet-editable-table.js +5 -5
  120. package/lib/collection/components/duet-empty-state/duet-empty-state.a11y.e2e.js +15 -0
  121. package/lib/collection/components/duet-empty-state/duet-empty-state.js +1 -1
  122. package/lib/collection/components/duet-fieldset/duet-fieldset.a11y.e2e.js +17 -0
  123. package/lib/collection/components/duet-footer/duet-footer.a11y.e2e.js +22 -0
  124. package/lib/collection/components/duet-footer/duet-footer.js +7 -7
  125. package/lib/collection/components/duet-grid/duet-grid.a11y.e2e.js +17 -0
  126. package/lib/collection/components/duet-grid/duet-grid.js +3 -3
  127. package/lib/collection/components/duet-header/duet-header.a11y.e2e.js +42 -0
  128. package/lib/collection/components/duet-header/duet-header.js +15 -15
  129. package/lib/collection/components/duet-heading/duet-heading.a11y.e2e.js +13 -0
  130. package/lib/collection/components/duet-heading/duet-heading.js +1 -1
  131. package/lib/collection/components/duet-hero/duet-hero.a11y.e2e.js +70 -0
  132. package/lib/collection/components/duet-hero/duet-hero.js +5 -5
  133. package/lib/collection/components/duet-icon/duet-icon.a11y.e2e.js +13 -0
  134. package/lib/collection/components/duet-icon/duet-icon.js +1 -1
  135. package/lib/collection/components/duet-input/duet-input.a11y.e2e.js +33 -0
  136. package/lib/collection/components/duet-input/duet-input.js +9 -9
  137. package/lib/collection/components/duet-label/duet-label.a11y.e2e.js +14 -0
  138. package/lib/collection/components/duet-label/duet-label.js +2 -2
  139. package/lib/collection/components/duet-layout/duet-layout.a11y.e2e.js +18 -0
  140. package/lib/collection/components/duet-layout/duet-layout.js +1 -1
  141. package/lib/collection/components/duet-link/duet-link.a11y.e2e.js +39 -0
  142. package/lib/collection/components/duet-list/duet-list.a11y.e2e.js +30 -0
  143. package/lib/collection/components/duet-list/duet-list.js +3 -3
  144. package/lib/collection/components/duet-logo/duet-logo.a11y.e2e.js +13 -0
  145. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  146. package/lib/collection/components/duet-menu-bar/duet-menu-bar.a11y.e2e.js +27 -0
  147. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +1 -1
  148. package/lib/collection/components/duet-modal/duet-modal.a11y.e2e.js +49 -0
  149. package/lib/collection/components/duet-modal/duet-modal.js +3 -3
  150. package/lib/collection/components/duet-multiselect/duet-multiselect.a11y.e2e.js +22 -0
  151. package/lib/collection/components/duet-multiselect/duet-multiselect.js +11 -6
  152. package/lib/collection/components/duet-notification/duet-notification.a11y.e2e.js +20 -0
  153. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.a11y.e2e.js +28 -0
  154. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +1 -1
  155. package/lib/collection/components/duet-number-input/duet-number-input.a11y.e2e.js +14 -0
  156. package/lib/collection/components/duet-number-input/duet-number-input.js +5 -5
  157. package/lib/collection/components/duet-page-heading/duet-page-heading.a11y.e2e.js +15 -0
  158. package/lib/collection/components/duet-pagination/duet-pagination.a11y.e2e.js +36 -0
  159. package/lib/collection/components/duet-pagination/duet-pagination.js +2 -2
  160. package/lib/collection/components/duet-paragraph/duet-paragraph.a11y.e2e.js +18 -0
  161. package/lib/collection/components/duet-paragraph/duet-paragraph.js +3 -3
  162. package/lib/collection/components/duet-popup-menu/duet-popup-menu.a11y.e2e.js +27 -0
  163. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +1 -1
  164. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  165. package/lib/collection/components/duet-progress/duet-progress.a11y.e2e.js +17 -0
  166. package/lib/collection/components/duet-progress/duet-progress.js +1 -1
  167. package/lib/collection/components/duet-promo-card/duet-promo-card.a11y.e2e.js +43 -0
  168. package/lib/collection/components/duet-radio/duet-radio.a11y.e2e.js +13 -0
  169. package/lib/collection/components/duet-radio/duet-radio.js +4 -4
  170. package/lib/collection/components/duet-radio-group/duet-radio-group.a11y.e2e.js +36 -0
  171. package/lib/collection/components/duet-range-slider/duet-range-slider.a11y.e2e.js +14 -0
  172. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  173. package/lib/collection/components/duet-range-stepper/duet-range-stepper.a11y.e2e.js +13 -0
  174. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +1 -1
  175. package/lib/collection/components/duet-scrollable/duet-scrollable.a11y.e2e.js +17 -0
  176. package/lib/collection/components/duet-section-layout/duet-section-layout.a11y.e2e.js +18 -0
  177. package/lib/collection/components/duet-select/duet-select.a11y.e2e.js +45 -0
  178. package/lib/collection/components/duet-select/duet-select.js +6 -6
  179. package/lib/collection/components/duet-shaped-image/duet-shaped-image.a11y.e2e.js +20 -0
  180. package/lib/collection/components/duet-show-more/duet-show-more.a11y.e2e.js +13 -0
  181. package/lib/collection/components/duet-show-more/duet-show-more.css +1 -1
  182. package/lib/collection/components/duet-show-more/duet-show-more.js +1 -1
  183. package/lib/collection/components/duet-slideout/duet-slideout.a11y.e2e.js +47 -0
  184. package/lib/collection/components/duet-slideout/duet-slideout.js +1 -1
  185. package/lib/collection/components/duet-spacer/duet-spacer.a11y.e2e.js +13 -0
  186. package/lib/collection/components/duet-spacer/duet-spacer.js +2 -2
  187. package/lib/collection/components/duet-spinner/duet-spinner.a11y.e2e.js +13 -0
  188. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  189. package/lib/collection/components/duet-step/duet-step.js +2 -2
  190. package/lib/collection/components/duet-stepper/duet-stepper.a11y.e2e.js +26 -0
  191. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  192. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.a11y.e2e.js +21 -0
  193. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +1 -1
  194. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.css +2 -1
  195. package/lib/collection/components/duet-tab/duet-tab.js +20 -1
  196. package/lib/collection/components/duet-tab-group/duet-tab-group.a11y.e2e.js +20 -0
  197. package/lib/collection/components/duet-tab-group/duet-tab-group.js +6 -6
  198. package/lib/collection/components/duet-table/duet-table.a11y.e2e.js +35 -0
  199. package/lib/collection/components/duet-textarea/duet-textarea.a11y.e2e.js +28 -0
  200. package/lib/collection/components/duet-textarea/duet-textarea.js +5 -5
  201. package/lib/collection/components/duet-toggle/duet-toggle.a11y.e2e.js +13 -0
  202. package/lib/collection/components/duet-toggle/duet-toggle.js +2 -2
  203. package/lib/collection/components/duet-toolbar/duet-toolbar.a11y.e2e.js +31 -0
  204. package/lib/collection/components/duet-tooltip/duet-tooltip.a11y.e2e.js +34 -0
  205. package/lib/collection/components/duet-tooltip/duet-tooltip.js +1 -1
  206. package/lib/collection/components/duet-tray/duet-tray.a11y.e2e.js +22 -0
  207. package/lib/collection/components/duet-upload/duet-upload.js +14 -14
  208. package/lib/collection/components/duet-upload-item/duet-upload-item.js +1 -1
  209. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.a11y.e2e.js +15 -0
  210. package/lib/collection/utils/axe-core-utils.js +37 -0
  211. package/lib/collection/utils/picture-utils.js +8 -0
  212. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  213. package/lib/dist-custom-elements/duet-alert.js +1 -1
  214. package/lib/dist-custom-elements/duet-badge.js +1 -1
  215. package/lib/dist-custom-elements/duet-banner.js +21 -6
  216. package/lib/dist-custom-elements/duet-breadcrumb.js +3 -3
  217. package/lib/dist-custom-elements/duet-breadcrumbs.js +1 -1
  218. package/lib/dist-custom-elements/duet-button.js +1 -1
  219. package/lib/dist-custom-elements/duet-callout.js +3 -3
  220. package/lib/dist-custom-elements/duet-caption.js +1 -1
  221. package/lib/dist-custom-elements/duet-card.js +3 -3
  222. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  223. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  224. package/lib/dist-custom-elements/duet-chip.js +2 -2
  225. package/lib/dist-custom-elements/duet-choice-group.js +8 -8
  226. package/lib/dist-custom-elements/duet-choice.js +7 -6
  227. package/lib/dist-custom-elements/duet-collapsible.js +2 -2
  228. package/lib/dist-custom-elements/duet-combobox.js +3 -3
  229. package/lib/dist-custom-elements/duet-contact-card.js +8 -8
  230. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  231. package/lib/dist-custom-elements/duet-date-picker.js +12 -12
  232. package/lib/dist-custom-elements/duet-divider.js +1 -1
  233. package/lib/dist-custom-elements/duet-editable-table.js +7 -7
  234. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  235. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  236. package/lib/dist-custom-elements/duet-footer.js +5 -5
  237. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  238. package/lib/dist-custom-elements/duet-grid.js +1 -1
  239. package/lib/dist-custom-elements/duet-header.js +9 -9
  240. package/lib/dist-custom-elements/duet-heading.js +1 -1
  241. package/lib/dist-custom-elements/duet-hero.js +10 -10
  242. package/lib/dist-custom-elements/duet-icon.js +1 -1
  243. package/lib/dist-custom-elements/duet-input.js +1 -1
  244. package/lib/dist-custom-elements/duet-label.js +1 -1
  245. package/lib/dist-custom-elements/duet-layout.js +1 -1
  246. package/lib/dist-custom-elements/duet-link.js +1 -1
  247. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  248. package/lib/dist-custom-elements/duet-list.js +1 -1
  249. package/lib/dist-custom-elements/duet-logo.js +1 -1
  250. package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -2
  251. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
  252. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -2
  253. package/lib/dist-custom-elements/duet-menu-bar-link.js +2 -2
  254. package/lib/dist-custom-elements/duet-menu-bar.js +2 -2
  255. package/lib/dist-custom-elements/duet-modal.js +7 -7
  256. package/lib/dist-custom-elements/duet-multiselect.js +16 -11
  257. package/lib/dist-custom-elements/duet-nav.js +1 -1
  258. package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
  259. package/lib/dist-custom-elements/duet-notification.js +2 -2
  260. package/lib/dist-custom-elements/duet-number-input.js +11 -11
  261. package/lib/dist-custom-elements/duet-page-heading.js +2 -2
  262. package/lib/dist-custom-elements/duet-pagination.js +13 -13
  263. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  264. package/lib/dist-custom-elements/duet-popup-menu-item.js +2 -2
  265. package/lib/dist-custom-elements/duet-popup-menu.js +1 -1
  266. package/lib/dist-custom-elements/duet-progress.js +1 -1
  267. package/lib/dist-custom-elements/duet-promo-card.js +3 -3
  268. package/lib/dist-custom-elements/duet-radio-group.js +8 -8
  269. package/lib/dist-custom-elements/duet-radio.js +1 -1
  270. package/lib/dist-custom-elements/duet-range-slider.js +2 -2
  271. package/lib/dist-custom-elements/duet-range-stepper.js +4 -4
  272. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  273. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  274. package/lib/dist-custom-elements/duet-select.js +1 -1
  275. package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
  276. package/lib/dist-custom-elements/duet-show-more.js +6 -6
  277. package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
  278. package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
  279. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
  280. package/lib/dist-custom-elements/duet-slideout-panel.js +2 -2
  281. package/lib/dist-custom-elements/duet-slideout.js +2 -2
  282. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  283. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  284. package/lib/dist-custom-elements/duet-step.js +4 -4
  285. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  286. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +3 -3
  287. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +2 -2
  288. package/lib/dist-custom-elements/duet-submenu-bar-link.js +2 -2
  289. package/lib/dist-custom-elements/duet-submenu-bar.js +3 -3
  290. package/lib/dist-custom-elements/duet-tab-group.js +14 -14
  291. package/lib/dist-custom-elements/duet-tab.js +5 -3
  292. package/lib/dist-custom-elements/duet-table.js +1 -1
  293. package/lib/dist-custom-elements/duet-textarea.js +10 -10
  294. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  295. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
  296. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +2 -2
  297. package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
  298. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  299. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  300. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  301. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  302. package/lib/dist-custom-elements/duet-tray.js +3 -3
  303. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  304. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  305. package/lib/dist-custom-elements/duet-upload.js +18 -18
  306. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  307. package/lib/dist-custom-elements/index.js +1 -1
  308. package/lib/dist-custom-elements/{p-c7ea14ec.js → p-16b97666.js} +2 -2
  309. package/lib/dist-custom-elements/{p-6ff46c61.js → p-1a0d1104.js} +4 -4
  310. package/lib/dist-custom-elements/{p-c1dbca09.js → p-1b63a427.js} +1 -1
  311. package/lib/{esm/common-strings-71f2aabd.js → dist-custom-elements/p-274d11e3.js} +6 -1
  312. package/lib/dist-custom-elements/{p-27b6b841.js → p-27c98907.js} +10 -10
  313. package/lib/dist-custom-elements/{p-84b16bb8.js → p-423d3f0d.js} +3 -3
  314. package/lib/dist-custom-elements/{p-fc4ebd31.js → p-46d172ad.js} +8 -8
  315. package/lib/dist-custom-elements/{p-4d08c451.js → p-60f6b2e8.js} +3 -3
  316. package/lib/dist-custom-elements/{p-a83c5173.js → p-647197d2.js} +10 -10
  317. package/lib/dist-custom-elements/{p-3f89073c.js → p-6c228574.js} +2 -2
  318. package/lib/dist-custom-elements/{p-bcbac220.js → p-71f948ca.js} +1 -1
  319. package/lib/dist-custom-elements/{p-d07915a3.js → p-73858765.js} +3 -3
  320. package/lib/dist-custom-elements/{p-90e44a58.js → p-77dc878e.js} +36 -12
  321. package/lib/dist-custom-elements/{p-234dc8f4.js → p-7b7d919c.js} +5 -5
  322. package/lib/dist-custom-elements/{p-0e5f0ede.js → p-7f09da03.js} +5 -5
  323. package/lib/dist-custom-elements/{p-231bc5cf.js → p-84065d73.js} +1 -1
  324. package/lib/dist-custom-elements/{p-56b461b4.js → p-85817780.js} +1 -1
  325. package/lib/dist-custom-elements/{p-51734de9.js → p-8ba450f0.js} +1 -1
  326. package/lib/dist-custom-elements/{p-1b3c4813.js → p-8c68da59.js} +1 -1
  327. package/lib/dist-custom-elements/{p-fd70481d.js → p-90901592.js} +1 -1
  328. package/lib/dist-custom-elements/{p-75cec87c.js → p-960c3c51.js} +1 -1
  329. package/lib/dist-custom-elements/{p-63964ed8.js → p-970d143f.js} +1 -1
  330. package/lib/dist-custom-elements/{p-8011ee9c.js → p-99b8d96d.js} +1 -1
  331. package/lib/dist-custom-elements/{p-8ef3a8fb.js → p-a62138f2.js} +1 -1
  332. package/lib/dist-custom-elements/{p-af5b70e1.js → p-a6a02d26.js} +1 -1
  333. package/lib/dist-custom-elements/{p-df3b4525.js → p-a7c46306.js} +1 -1
  334. package/lib/dist-custom-elements/{p-9cea78e2.js → p-b1795ede.js} +1 -1
  335. package/lib/dist-custom-elements/{p-3d3afaae.js → p-c230fe39.js} +2 -2
  336. package/lib/dist-custom-elements/{p-c524c1ec.js → p-d547ac90.js} +2 -2
  337. package/lib/dist-custom-elements/{p-62698106.js → p-e31a9266.js} +5 -5
  338. package/lib/dist-custom-elements/{p-790b4d17.js → p-e3b1a969.js} +1 -1
  339. package/lib/dist-custom-elements/{p-ccc0525b.js → p-e6ce939c.js} +1 -1
  340. package/lib/dist-custom-elements/{p-63cffcb6.js → p-ebfb1ccd.js} +1 -1
  341. package/lib/dist-custom-elements/{p-412f4846.js → p-f12d5ad9.js} +1 -1
  342. package/lib/dist-custom-elements/{p-e28c315a.js → p-fc76a9f3.js} +1 -1
  343. package/lib/duet/duet.esm.js +1 -1
  344. package/lib/duet/duet.js +1 -1
  345. package/lib/duet/{p-7203d6cb.entry.js → p-01bd8000.entry.js} +1 -1
  346. package/lib/duet/{p-e688c3c4.entry.js → p-05ddb8d7.entry.js} +1 -1
  347. package/lib/duet/{p-c13939be.system.entry.js → p-08bcd57d.system.entry.js} +1 -1
  348. package/lib/duet/{p-2a516c43.entry.js → p-0a6ee84e.entry.js} +1 -1
  349. package/lib/duet/{p-9cb61776.entry.js → p-0b59eb11.entry.js} +1 -1
  350. package/lib/duet/{p-285a8d84.system.entry.js → p-0bb30bf2.system.entry.js} +1 -1
  351. package/lib/duet/{p-b8316660.system.entry.js → p-0c3e3891.system.entry.js} +1 -1
  352. package/lib/duet/{p-01c4e0d2.system.entry.js → p-0c4459c0.system.entry.js} +1 -1
  353. package/lib/duet/{p-ae66d0e5.system.entry.js → p-0c708a6b.system.entry.js} +1 -1
  354. package/lib/duet/{p-30edd295.entry.js → p-0d22fa04.entry.js} +1 -1
  355. package/lib/duet/{p-9ce0052c.js → p-115e5a74.js} +1 -1
  356. package/lib/duet/{p-22314e6f.entry.js → p-11d78956.entry.js} +1 -1
  357. package/lib/duet/{p-4ab967fd.system.entry.js → p-11e4884c.system.entry.js} +1 -1
  358. package/lib/duet/{p-1890ca14.entry.js → p-1298b261.entry.js} +1 -1
  359. package/lib/duet/{p-33cc5b2c.entry.js → p-140f3e19.entry.js} +1 -1
  360. package/lib/duet/{p-b2f8e521.entry.js → p-14c30d34.entry.js} +1 -1
  361. package/lib/duet/{p-9fc50bee.entry.js → p-15aa743e.entry.js} +1 -1
  362. package/lib/duet/p-17392944.entry.js +4 -0
  363. package/lib/duet/{p-6293ca6a.system.entry.js → p-1910a63b.system.entry.js} +1 -1
  364. package/lib/duet/{p-7fe5178e.entry.js → p-1bbf5a2c.entry.js} +1 -1
  365. package/lib/duet/{p-3dda03c8.entry.js → p-1d0d7d5d.entry.js} +1 -1
  366. package/lib/duet/{p-2a53dac8.system.entry.js → p-1fccc372.system.entry.js} +1 -1
  367. package/lib/duet/{p-98e5fa0d.system.entry.js → p-2126a190.system.entry.js} +1 -1
  368. package/lib/duet/{p-9b09f1b5.system.entry.js → p-24c831ec.system.entry.js} +1 -1
  369. package/lib/duet/{p-dade978b.js → p-274d11e3.js} +1 -1
  370. package/lib/duet/{p-dc41c018.system.entry.js → p-2b419553.system.entry.js} +1 -1
  371. package/lib/duet/p-2d4fcd47.entry.js +4 -0
  372. package/lib/duet/{p-f1e6e170.system.entry.js → p-2e6d11c7.system.entry.js} +1 -1
  373. package/lib/duet/{p-420e65a0.entry.js → p-2e719260.entry.js} +1 -1
  374. package/lib/duet/{p-22b174e8.system.entry.js → p-2ea486ae.system.entry.js} +1 -1
  375. package/lib/duet/{p-534d9d99.system.entry.js → p-30eadd8b.system.entry.js} +1 -1
  376. package/lib/duet/{p-cc24ad5f.entry.js → p-32ee4f34.entry.js} +1 -1
  377. package/lib/duet/{p-9eb36ef5.entry.js → p-37961e05.entry.js} +1 -1
  378. package/lib/duet/{p-7cddf7fa.entry.js → p-396e0025.entry.js} +1 -1
  379. package/lib/duet/{p-1c2973e8.system.entry.js → p-397aa011.system.entry.js} +1 -1
  380. package/lib/duet/{p-d07d1962.entry.js → p-39bd9bac.entry.js} +1 -1
  381. package/lib/duet/p-39d9f25b.system.entry.js +4 -0
  382. package/lib/duet/{p-6067c883.system.entry.js → p-3b06e609.system.entry.js} +1 -1
  383. package/lib/duet/{p-88230b5a.entry.js → p-3b11f97a.entry.js} +1 -1
  384. package/lib/duet/{p-0006b5d9.entry.js → p-3e79b617.entry.js} +1 -1
  385. package/lib/duet/{p-831ca78f.entry.js → p-3ec8ee39.entry.js} +1 -1
  386. package/lib/duet/{p-492a0843.js → p-41363488.js} +1 -1
  387. package/lib/duet/{p-ece4676f.entry.js → p-42e2d141.entry.js} +1 -1
  388. package/lib/duet/{p-baa7d58a.system.entry.js → p-436745f1.system.entry.js} +1 -1
  389. package/lib/duet/{p-529dba15.entry.js → p-46a8594c.entry.js} +1 -1
  390. package/lib/duet/{p-8b2ffad1.entry.js → p-47b62443.entry.js} +1 -1
  391. package/lib/duet/{p-9f85c0bf.system.entry.js → p-4901f740.system.entry.js} +1 -1
  392. package/lib/duet/{p-3211edb9.entry.js → p-4e870704.entry.js} +1 -1
  393. package/lib/duet/{p-c4fed7fe.system.entry.js → p-4f2f039c.system.entry.js} +1 -1
  394. package/lib/duet/{p-73da97b9.entry.js → p-5053b084.entry.js} +1 -1
  395. package/lib/duet/{p-3693a90c.entry.js → p-5317f4fb.entry.js} +1 -1
  396. package/lib/duet/{p-7cf19325.entry.js → p-546d7868.entry.js} +1 -1
  397. package/lib/duet/{p-2a9df44f.system.entry.js → p-55eb8c7c.system.entry.js} +1 -1
  398. package/lib/duet/{p-4e1d0e08.system.entry.js → p-569be9eb.system.entry.js} +1 -1
  399. package/lib/duet/{p-9b3ba990.system.entry.js → p-58d1b520.system.entry.js} +1 -1
  400. package/lib/duet/{p-c957baf0.entry.js → p-58e07a25.entry.js} +1 -1
  401. package/lib/duet/{p-dbaf4a89.system.entry.js → p-5f914bd7.system.entry.js} +1 -1
  402. package/lib/duet/{p-cca3beb8.entry.js → p-5fe520fd.entry.js} +1 -1
  403. package/lib/duet/{p-ad312a9c.entry.js → p-5fed0e82.entry.js} +1 -1
  404. package/lib/duet/{p-e8576d91.system.entry.js → p-603a7942.system.entry.js} +1 -1
  405. package/lib/duet/{p-48f614e6.entry.js → p-62839e24.entry.js} +1 -1
  406. package/lib/duet/{p-84f90698.entry.js → p-63370211.entry.js} +1 -1
  407. package/lib/duet/{p-c0203a7d.entry.js → p-638f7d0e.entry.js} +1 -1
  408. package/lib/duet/{p-b0b1e787.entry.js → p-64790718.entry.js} +1 -1
  409. package/lib/duet/{p-8a13b5d6.entry.js → p-64bc0173.entry.js} +1 -1
  410. package/lib/duet/{p-4304a53a.entry.js → p-664e856a.entry.js} +1 -1
  411. package/lib/duet/{p-ebe8a749.system.entry.js → p-6c405b4d.system.entry.js} +1 -1
  412. package/lib/duet/{p-5601c1da.system.entry.js → p-6ed45a15.system.entry.js} +1 -1
  413. package/lib/duet/{p-5e7523e0.system.entry.js → p-70192ee4.system.entry.js} +1 -1
  414. package/lib/duet/{p-39137beb.system.entry.js → p-706cd2e1.system.entry.js} +1 -1
  415. package/lib/duet/{p-1401e524.entry.js → p-70c4fd04.entry.js} +1 -1
  416. package/lib/duet/{p-6e768325.system.entry.js → p-71d6578b.system.entry.js} +1 -1
  417. package/lib/duet/{p-373cf5f3.system.entry.js → p-736fce63.system.entry.js} +1 -1
  418. package/lib/duet/{p-55282c06.system.entry.js → p-744f44b4.system.entry.js} +1 -1
  419. package/lib/duet/{p-d753f503.entry.js → p-74d79e97.entry.js} +1 -1
  420. package/lib/duet/{p-c04ac986.system.entry.js → p-755dd4ac.system.entry.js} +1 -1
  421. package/lib/duet/{p-2fa09b22.entry.js → p-7751209d.entry.js} +1 -1
  422. package/lib/duet/{p-55e6fe9c.system.entry.js → p-78408872.system.entry.js} +1 -1
  423. package/lib/duet/{p-60fe7ed5.system.entry.js → p-79dc49af.system.entry.js} +1 -1
  424. package/lib/duet/{p-da637f8e.entry.js → p-7a02ef0d.entry.js} +1 -1
  425. package/lib/duet/{p-23521d15.system.entry.js → p-7a2b0683.system.entry.js} +1 -1
  426. package/lib/duet/{p-322093c6.entry.js → p-7aaf227f.entry.js} +1 -1
  427. package/lib/duet/{p-4a8b9bdf.system.entry.js → p-7e5e362d.system.entry.js} +1 -1
  428. package/lib/duet/{p-b889959f.system.entry.js → p-7f13b214.system.entry.js} +1 -1
  429. package/lib/duet/{p-bdc404b2.entry.js → p-8010d152.entry.js} +1 -1
  430. package/lib/duet/{p-c4c9407e.system.entry.js → p-80dfb88c.system.entry.js} +1 -1
  431. package/lib/duet/{p-26fb144f.system.entry.js → p-81829412.system.entry.js} +1 -1
  432. package/lib/duet/{p-0425a615.system.entry.js → p-851868b5.system.entry.js} +1 -1
  433. package/lib/duet/{p-8e377844.system.entry.js → p-8864ba0e.system.entry.js} +1 -1
  434. package/lib/duet/p-88a50491.system.js +4 -0
  435. package/lib/duet/{p-15d8afcf.system.entry.js → p-88e789b9.system.entry.js} +1 -1
  436. package/lib/duet/{p-a7805231.entry.js → p-891c5ca1.entry.js} +1 -1
  437. package/lib/duet/{p-69872085.system.entry.js → p-8a3cca2a.system.entry.js} +1 -1
  438. package/lib/duet/p-8aae2ee1.entry.js +4 -0
  439. package/lib/duet/{p-350046fd.entry.js → p-8db7ccfd.entry.js} +1 -1
  440. package/lib/duet/{p-cf02575f.entry.js → p-8ee612f4.entry.js} +1 -1
  441. package/lib/duet/{p-fb053036.system.entry.js → p-8f191365.system.entry.js} +1 -1
  442. package/lib/duet/{p-e236d0ff.entry.js → p-90c87945.entry.js} +1 -1
  443. package/lib/duet/{p-bc09f943.system.entry.js → p-915e638f.system.entry.js} +1 -1
  444. package/lib/duet/{p-8d5dc152.entry.js → p-93a9d03f.entry.js} +1 -1
  445. package/lib/duet/{p-2fb4b111.entry.js → p-9594405f.entry.js} +1 -1
  446. package/lib/duet/{p-4192854d.entry.js → p-9664f656.entry.js} +1 -1
  447. package/lib/duet/{p-6021aa8f.system.entry.js → p-971fe383.system.entry.js} +1 -1
  448. package/lib/duet/p-97ccb6b2.entry.js +4 -0
  449. package/lib/duet/{p-a06f5f46.entry.js → p-9d445004.entry.js} +1 -1
  450. package/lib/duet/{p-8fac4d6c.entry.js → p-9ff169a8.entry.js} +1 -1
  451. package/lib/duet/{p-eaad83ee.system.entry.js → p-9ff3ef1a.system.entry.js} +1 -1
  452. package/lib/duet/{p-0d20f3d9.entry.js → p-a1d72dc5.entry.js} +1 -1
  453. package/lib/duet/{p-31ec5b52.entry.js → p-a3fd3b97.entry.js} +1 -1
  454. package/lib/duet/p-a43c1a0f.entry.js +4 -0
  455. package/lib/duet/{p-04bfa236.system.entry.js → p-a494f7d2.system.entry.js} +1 -1
  456. package/lib/duet/{p-9cd21d82.entry.js → p-a8a32775.entry.js} +1 -1
  457. package/lib/duet/{p-872cccb9.system.entry.js → p-a923e368.system.entry.js} +1 -1
  458. package/lib/duet/{p-cfe7c37d.system.entry.js → p-a9a50440.system.entry.js} +1 -1
  459. package/lib/duet/{p-d6ee5caf.system.entry.js → p-ae3622ce.system.entry.js} +1 -1
  460. package/lib/duet/{p-a0877282.entry.js → p-ae652505.entry.js} +1 -1
  461. package/lib/duet/{p-603e4997.entry.js → p-b9434c17.entry.js} +1 -1
  462. package/lib/duet/{p-e10a1e54.system.entry.js → p-c0e476fd.system.entry.js} +1 -1
  463. package/lib/duet/{p-8a547ca4.entry.js → p-c409a1dc.entry.js} +1 -1
  464. package/lib/duet/{p-e1be2e2e.entry.js → p-c6e4ebf0.entry.js} +1 -1
  465. package/lib/duet/{p-f28c33ac.system.entry.js → p-c7303568.system.entry.js} +1 -1
  466. package/lib/duet/{p-e00e4eb8.system.js → p-c7b04440.system.js} +1 -1
  467. package/lib/duet/p-c8e267bc.entry.js +4 -0
  468. package/lib/duet/{p-6c06e5b0.entry.js → p-c918ea31.entry.js} +1 -1
  469. package/lib/duet/{p-94a20b1a.system.entry.js → p-c99cc796.system.entry.js} +1 -1
  470. package/lib/duet/p-cadf7c9b.entry.js +4 -0
  471. package/lib/duet/p-cb1cf88a.system.entry.js +4 -0
  472. package/lib/duet/{p-47f0b173.system.entry.js → p-cc104f41.system.entry.js} +2 -2
  473. package/lib/duet/{p-3a8cad7a.system.entry.js → p-cc434423.system.entry.js} +1 -1
  474. package/lib/duet/{p-24428e35.entry.js → p-ce1d649d.entry.js} +1 -1
  475. package/lib/duet/{p-060eb471.system.entry.js → p-d1914efd.system.entry.js} +1 -1
  476. package/lib/duet/{p-9b38ad5b.entry.js → p-d22d1465.entry.js} +1 -1
  477. package/lib/duet/{p-bb2af2fc.system.entry.js → p-d2f6423e.system.entry.js} +1 -1
  478. package/lib/duet/p-d325c3d3.system.entry.js +4 -0
  479. package/lib/duet/{p-c097b169.system.entry.js → p-d39e2edb.system.entry.js} +1 -1
  480. package/lib/duet/{p-162561e0.system.entry.js → p-d8e41f55.system.entry.js} +1 -1
  481. package/lib/duet/{p-cd04c25a.system.entry.js → p-d8e56dcd.system.entry.js} +2 -2
  482. package/lib/duet/{p-fb87c349.system.entry.js → p-d9b3b34a.system.entry.js} +1 -1
  483. package/lib/duet/{p-0e9e970f.system.entry.js → p-db8b2380.system.entry.js} +1 -1
  484. package/lib/duet/{p-5996094c.system.entry.js → p-dbbd3a11.system.entry.js} +1 -1
  485. package/lib/duet/p-dbf5bd13.entry.js +4 -0
  486. package/lib/duet/p-dc059577.system.js +4 -0
  487. package/lib/duet/{p-9c8c1646.entry.js → p-dfb08a79.entry.js} +1 -1
  488. package/lib/duet/{p-6363c2ae.system.entry.js → p-e0887380.system.entry.js} +1 -1
  489. package/lib/duet/{p-96d97ff0.system.entry.js → p-e5a4b88c.system.entry.js} +1 -1
  490. package/lib/duet/{p-617c0967.entry.js → p-e90a1481.entry.js} +1 -1
  491. package/lib/duet/{p-33553884.entry.js → p-ec0fadf9.entry.js} +1 -1
  492. package/lib/duet/{p-7d4d0926.entry.js → p-ef8efbf5.entry.js} +1 -1
  493. package/lib/duet/{p-f824f485.entry.js → p-f0023574.entry.js} +1 -1
  494. package/lib/duet/{p-75be7414.system.entry.js → p-f04338dd.system.entry.js} +1 -1
  495. package/lib/duet/p-f36029aa.system.entry.js +4 -0
  496. package/lib/duet/{p-e897df9f.system.entry.js → p-f448c5da.system.entry.js} +1 -1
  497. package/lib/duet/{p-2a23687b.system.entry.js → p-f765b6a6.system.entry.js} +1 -1
  498. package/lib/duet/{p-902df276.entry.js → p-f7c032a2.entry.js} +1 -1
  499. package/lib/duet/p-f7f200b1.system.entry.js +4 -0
  500. package/lib/duet/{p-cc150a23.entry.js → p-fbefd879.entry.js} +1 -1
  501. package/lib/duet/{p-59b7a0b4.system.entry.js → p-fc57622c.system.entry.js} +1 -1
  502. package/lib/duet/p-fd4c42f8.system.js +4 -0
  503. package/lib/duet/{p-d3fbfb45.system.entry.js → p-ff3660d4.system.entry.js} +1 -1
  504. package/lib/{dist-custom-elements/p-dade978b.js → esm/common-strings-c0ac5a0b.js} +6 -1
  505. package/lib/esm/duet-action-button.entry.js +1 -1
  506. package/lib/esm/duet-alert.entry.js +1 -1
  507. package/lib/esm/duet-badge.entry.js +1 -1
  508. package/lib/esm/duet-banner.entry.js +15 -2
  509. package/lib/esm/duet-breadcrumb.entry.js +2 -2
  510. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  511. package/lib/esm/duet-button_2.entry.js +31 -9
  512. package/lib/esm/duet-callout.entry.js +1 -1
  513. package/lib/esm/duet-caption_4.entry.js +2 -2
  514. package/lib/esm/duet-card.entry.js +1 -1
  515. package/lib/esm/duet-checkbox.entry.js +1 -1
  516. package/lib/esm/duet-checkmark.entry.js +1 -1
  517. package/lib/esm/duet-chip.entry.js +1 -1
  518. package/lib/esm/duet-choice_2.entry.js +4 -3
  519. package/lib/esm/duet-collapsible.entry.js +1 -1
  520. package/lib/esm/duet-combobox.entry.js +2 -2
  521. package/lib/esm/duet-contact-card.entry.js +1 -1
  522. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  523. package/lib/esm/duet-date-picker.entry.js +2 -2
  524. package/lib/esm/duet-divider_2.entry.js +1 -1
  525. package/lib/esm/duet-editable-table_3.entry.js +1 -1
  526. package/lib/esm/duet-empty-state.entry.js +1 -1
  527. package/lib/esm/duet-fieldset.entry.js +1 -1
  528. package/lib/esm/duet-footer.entry.js +2 -2
  529. package/lib/esm/duet-grid_2.entry.js +1 -1
  530. package/lib/esm/duet-header_2.entry.js +2 -2
  531. package/lib/esm/duet-hero.entry.js +2 -2
  532. package/lib/esm/duet-icon.entry.js +1 -1
  533. package/lib/esm/duet-input_2.entry.js +1 -1
  534. package/lib/esm/duet-layout.entry.js +1 -1
  535. package/lib/esm/duet-list_2.entry.js +1 -1
  536. package/lib/esm/duet-menu-bar-button.entry.js +1 -1
  537. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -1
  538. package/lib/esm/duet-menu-bar-dropdown.entry.js +1 -1
  539. package/lib/esm/duet-menu-bar-link.entry.js +1 -1
  540. package/lib/esm/duet-menu-bar.entry.js +1 -1
  541. package/lib/esm/duet-modal.entry.js +2 -2
  542. package/lib/esm/duet-multiselect.entry.js +7 -2
  543. package/lib/esm/duet-nav.entry.js +1 -1
  544. package/lib/esm/duet-notification_2.entry.js +1 -1
  545. package/lib/esm/duet-number-input.entry.js +1 -1
  546. package/lib/esm/duet-page-heading.entry.js +1 -1
  547. package/lib/esm/duet-pagination_2.entry.js +1 -1
  548. package/lib/esm/duet-popup-menu-item.entry.js +1 -1
  549. package/lib/esm/duet-popup-menu.entry.js +1 -1
  550. package/lib/esm/duet-progress.entry.js +2 -2
  551. package/lib/esm/duet-promo-card.entry.js +1 -1
  552. package/lib/esm/duet-radio_2.entry.js +1 -1
  553. package/lib/esm/duet-range-slider.entry.js +1 -1
  554. package/lib/esm/duet-scrollable_3.entry.js +4 -3
  555. package/lib/esm/duet-section-layout.entry.js +1 -1
  556. package/lib/esm/duet-select.entry.js +1 -1
  557. package/lib/esm/duet-shaped-image.entry.js +1 -1
  558. package/lib/esm/duet-show-more.entry.js +2 -2
  559. package/lib/esm/duet-slideout-lang.entry.js +1 -1
  560. package/lib/esm/duet-slideout-link.entry.js +1 -1
  561. package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
  562. package/lib/esm/duet-slideout-panel.entry.js +2 -2
  563. package/lib/esm/duet-slideout.entry.js +2 -2
  564. package/lib/esm/duet-step_2.entry.js +1 -1
  565. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +2 -2
  566. package/lib/esm/duet-submenu-bar-dropdown.entry.js +1 -1
  567. package/lib/esm/duet-submenu-bar-link.entry.js +1 -1
  568. package/lib/esm/duet-submenu-bar.entry.js +2 -2
  569. package/lib/esm/duet-textarea.entry.js +1 -1
  570. package/lib/esm/duet-toggle.entry.js +1 -1
  571. package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
  572. package/lib/esm/duet-toolbar-dropdown.entry.js +1 -1
  573. package/lib/esm/duet-toolbar-link.entry.js +1 -1
  574. package/lib/esm/duet-toolbar.entry.js +1 -1
  575. package/lib/esm/duet-tooltip-button_2.entry.js +2 -2
  576. package/lib/esm/duet-tooltip.entry.js +1 -1
  577. package/lib/esm/duet-tray.entry.js +1 -1
  578. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  579. package/lib/esm/duet-upload-item.entry.js +1 -1
  580. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  581. package/lib/esm/duet.js +3 -3
  582. package/lib/esm/{focus-utils-35cd2abd.js → focus-utils-03333699.js} +1 -1
  583. package/lib/esm/{index-932c38d8.js → index-c3bd1656.js} +1 -1
  584. package/lib/esm/loader.js +3 -3
  585. package/lib/esm-es5/common-strings-c0ac5a0b.js +4 -0
  586. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  587. package/lib/esm-es5/duet-alert.entry.js +1 -1
  588. package/lib/esm-es5/duet-badge.entry.js +1 -1
  589. package/lib/esm-es5/duet-banner.entry.js +1 -1
  590. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  591. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  592. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  593. package/lib/esm-es5/duet-callout.entry.js +1 -1
  594. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  595. package/lib/esm-es5/duet-card.entry.js +1 -1
  596. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  597. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  598. package/lib/esm-es5/duet-chip.entry.js +1 -1
  599. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  600. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  601. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  602. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  603. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  604. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  605. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  606. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  607. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  608. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  609. package/lib/esm-es5/duet-footer.entry.js +1 -1
  610. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  611. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  612. package/lib/esm-es5/duet-hero.entry.js +1 -1
  613. package/lib/esm-es5/duet-icon.entry.js +1 -1
  614. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  615. package/lib/esm-es5/duet-layout.entry.js +1 -1
  616. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  617. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  618. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  619. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  620. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  621. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  622. package/lib/esm-es5/duet-modal.entry.js +1 -1
  623. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  624. package/lib/esm-es5/duet-nav.entry.js +1 -1
  625. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  626. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  627. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  628. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  629. package/lib/esm-es5/duet-popup-menu-item.entry.js +1 -1
  630. package/lib/esm-es5/duet-popup-menu.entry.js +1 -1
  631. package/lib/esm-es5/duet-progress.entry.js +1 -1
  632. package/lib/esm-es5/duet-promo-card.entry.js +1 -1
  633. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  634. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  635. package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
  636. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  637. package/lib/esm-es5/duet-select.entry.js +1 -1
  638. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  639. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  640. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  641. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  642. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  643. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  644. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  645. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  646. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  647. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  648. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  649. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  650. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  651. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  652. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  653. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  654. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  655. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  656. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  657. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  658. package/lib/esm-es5/duet-tray.entry.js +1 -1
  659. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  660. package/lib/esm-es5/duet-upload-item.entry.js +1 -1
  661. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  662. package/lib/esm-es5/duet.js +1 -1
  663. package/lib/esm-es5/{focus-utils-35cd2abd.js → focus-utils-03333699.js} +1 -1
  664. package/lib/esm-es5/{index-932c38d8.js → index-c3bd1656.js} +1 -1
  665. package/lib/esm-es5/loader.js +1 -1
  666. package/lib/types/common-strings.d.ts +1 -0
  667. package/lib/types/components/duet-banner/duet-banner.d.ts +6 -0
  668. package/lib/types/components/duet-button/duet-button.d.ts +12 -0
  669. package/lib/types/components/duet-checkbox/duet-checkbox.d.ts +1 -1
  670. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +1 -1
  671. package/lib/types/components/duet-input/duet-input.d.ts +1 -1
  672. package/lib/types/components/duet-multiselect/duet-multiselect.d.ts +1 -0
  673. package/lib/types/components/duet-number-input/duet-number-input.d.ts +1 -1
  674. package/lib/types/components/duet-radio/duet-radio.d.ts +1 -1
  675. package/lib/types/components/duet-select/duet-select.d.ts +1 -1
  676. package/lib/types/components/duet-tab/duet-tab.d.ts +4 -0
  677. package/lib/types/components/duet-textarea/duet-textarea.d.ts +1 -1
  678. package/lib/types/components/duet-toggle/duet-toggle.d.ts +1 -1
  679. package/lib/types/components.d.ts +54 -16
  680. package/lib/types/utils/axe-core-utils.d.ts +9 -0
  681. package/lib/types/utils/picture-utils.d.ts +18 -0
  682. package/package.json +6 -5
  683. package/lib/duet/p-09dd7425.system.entry.js +0 -4
  684. package/lib/duet/p-35f81ca4.system.js +0 -4
  685. package/lib/duet/p-36b36a8e.system.js +0 -4
  686. package/lib/duet/p-485afe87.system.entry.js +0 -4
  687. package/lib/duet/p-519f358f.entry.js +0 -4
  688. package/lib/duet/p-5a98ec00.system.entry.js +0 -4
  689. package/lib/duet/p-63529b85.system.js +0 -4
  690. package/lib/duet/p-70b70b24.system.entry.js +0 -4
  691. package/lib/duet/p-80c3e3a1.entry.js +0 -4
  692. package/lib/duet/p-85a502fd.system.entry.js +0 -4
  693. package/lib/duet/p-86b2e848.entry.js +0 -4
  694. package/lib/duet/p-a91e4da0.entry.js +0 -4
  695. package/lib/duet/p-b189b25a.entry.js +0 -4
  696. package/lib/duet/p-dff82aea.entry.js +0 -4
  697. package/lib/duet/p-e0211391.entry.js +0 -4
  698. package/lib/duet/p-fe5ad66e.entry.js +0 -4
  699. package/lib/esm-es5/common-strings-71f2aabd.js +0 -4
@@ -176,7 +176,7 @@ export class DuetLogo {
176
176
  "references": {
177
177
  "DuetLogoSize": {
178
178
  "location": "local",
179
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-logo/duet-logo.tsx",
179
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-logo/duet-logo.tsx",
180
180
  "id": "src/components/duet-logo/duet-logo.tsx::DuetLogoSize"
181
181
  }
182
182
  }
@@ -0,0 +1,27 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { formatViolations, options as axeRunOptions, testWithAxe } from "../../utils/axe-core-utils";
5
+ describe("[a11y] duet-menu-bar", () => {
6
+ it("should render an accessible component", async () => {
7
+ const result = await testWithAxe(`
8
+ <duet-menu-bar>
9
+ <div slot="center">
10
+ <duet-menu-bar-link active>Vakuutukset</duet-menu-bar-link>
11
+ <duet-menu-bar-link>Sijoittaminen</duet-menu-bar-link>
12
+ </div>
13
+ <div slot="right">
14
+ <duet-menu-bar-link icon="navigation-user">Omat sivut</duet-menu-bar-link>
15
+ <duet-menu-bar-dropdown icon="navigation-user">
16
+ <span slot="label">Etunimi</span>
17
+ <duet-menu-bar-dropdown-link>Omat tiedot</duet-menu-bar-dropdown-link>
18
+ <duet-divider margin="none"></duet-divider>
19
+ <duet-menu-bar-dropdown-button icon="messaging-logout">Kirjaudu ulos</duet-menu-bar-dropdown-button>
20
+ </duet-menu-bar-dropdown>
21
+ </div>
22
+ </duet-menu-bar>
23
+ `, axeRunOptions);
24
+ expect(result).not.toBeNull();
25
+ expect(formatViolations(result.violations)).toEqual([]);
26
+ });
27
+ });
@@ -264,7 +264,7 @@ export class DuetMenuBar {
264
264
  "references": {
265
265
  "DuetMenuBarChangeEvent": {
266
266
  "location": "local",
267
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-menu-bar/duet-menu-bar.tsx",
267
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-menu-bar/duet-menu-bar.tsx",
268
268
  "id": "src/components/duet-menu-bar/duet-menu-bar.tsx::DuetMenuBarChangeEvent"
269
269
  }
270
270
  }
@@ -0,0 +1,49 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { formatViolations, options as axeRunOptions, testWithAxe } from "../../utils/axe-core-utils";
5
+ describe("[a11y] duet-modal", () => {
6
+ it("should render an accessible component", async () => {
7
+ const result = await testWithAxe(`
8
+ <duet-modal
9
+ size="small"
10
+ heading="Onko matkapuhelimesi tai tablettisi rikkoutunut?"
11
+ icon="damage-breakage"
12
+ class="duet-text-center"
13
+ active
14
+ >
15
+ <duet-paragraph>
16
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
17
+ aliqua. Ut enim ad minim veniam quis nostrud.
18
+ </duet-paragraph>
19
+ <duet-paragraph>
20
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.
21
+ </duet-paragraph>
22
+ <duet-button variation="primary" onclick="modal.hide()"> Jatka </duet-button>
23
+ </duet-modal>
24
+
25
+ `, axeRunOptions);
26
+ expect(result).not.toBeNull();
27
+ expect(formatViolations(result.violations)).toEqual([]);
28
+ });
29
+ it("should render an accessible component in confirmation variant", async () => {
30
+ const result = await testWithAxe(`
31
+ <duet-modal
32
+ heading="Oletko varma, että haluat poistua tältä&nbsp;sivulta?"
33
+ icon="messaging-alert"
34
+ color="warning"
35
+ size="small"
36
+ variation="dialog"
37
+ class="duet-text-center"
38
+ active
39
+ >
40
+ <duet-paragraph> Kaikki täyttämäsi tiedot poistetaan. </duet-paragraph>
41
+ <duet-button variation="primary" onclick="modal.hide()"> Kyllä </duet-button>
42
+ <duet-button onclick="modal.hide()"> Ei </duet-button>
43
+ </duet-modal>
44
+
45
+ `, axeRunOptions);
46
+ expect(result).not.toBeNull();
47
+ expect(formatViolations(result.violations)).toEqual([]);
48
+ });
49
+ });
@@ -299,7 +299,7 @@ export class DuetModal {
299
299
  "references": {
300
300
  "DuetModalSize": {
301
301
  "location": "local",
302
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-modal/duet-modal.tsx",
302
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-modal/duet-modal.tsx",
303
303
  "id": "src/components/duet-modal/duet-modal.tsx::DuetModalSize"
304
304
  }
305
305
  }
@@ -410,7 +410,7 @@ export class DuetModal {
410
410
  "references": {
411
411
  "DuetModalSize": {
412
412
  "location": "local",
413
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-modal/duet-modal.tsx",
413
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-modal/duet-modal.tsx",
414
414
  "id": "src/components/duet-modal/duet-modal.tsx::DuetModalSize"
415
415
  }
416
416
  }
@@ -652,7 +652,7 @@ export class DuetModal {
652
652
  "references": {
653
653
  "DuetModalCloseEvent": {
654
654
  "location": "local",
655
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-modal/duet-modal.tsx",
655
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-modal/duet-modal.tsx",
656
656
  "id": "src/components/duet-modal/duet-modal.tsx::DuetModalCloseEvent"
657
657
  }
658
658
  }
@@ -0,0 +1,22 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { formatViolations, options as axeRunOptions, testWithAxe } from "../../utils/axe-core-utils";
5
+ describe("[a11y] duet-multiselect", () => {
6
+ it("should render an accessible component", async () => {
7
+ const result = await testWithAxe(`
8
+ <duet-multiselect
9
+ id="zip"
10
+ label="Chooce zip"
11
+ label-hidden
12
+ placeholder="Zip"
13
+ items='[
14
+ {"label": "11100", "value": "11100"},
15
+ {"label": "22200", "value": "22200"}
16
+ ]'
17
+ ></duet-multiselect>
18
+ `, axeRunOptions);
19
+ expect(result).not.toBeNull();
20
+ expect(formatViolations(result.violations)).toEqual([]);
21
+ });
22
+ });
@@ -33,6 +33,11 @@ export class DuetMultiselect {
33
33
  fi: "Tyhjennä kaikki",
34
34
  sv: "Rensa alla",
35
35
  };
36
+ this.placeholderLabel = {
37
+ en: "Hint",
38
+ fi: "Vihje",
39
+ sv: "Tips",
40
+ };
36
41
  /**
37
42
  * Component event handling.
38
43
  */
@@ -196,7 +201,7 @@ export class DuetMultiselect {
196
201
  "duet-theme-turva": this.theme === "turva",
197
202
  "duet-input-top-caption-shown": this.isCaptionVisible,
198
203
  "has-error": !!this.error,
199
- }, onKeyDown: (e) => this.onMultiselectKeyDown(e) }, h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, id: this.labelId, for: this.identifier }, this.label), this.tooltip && (h("duet-tooltip", { class: "duet-multiselect-tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), this.caption && (h("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), h("div", { class: "duet-multiselect-wrapper" }, h("button", { id: this.identifier, ref: el => (this.multiselectElement = el), class: { "duet-multiselect": true, "duet-multiselect-active": this.checkboxesVisible }, tabindex: "0", onClick: () => this.toggleCheckboxes(), onFocus: e => this.onFocus(e), onBlur: e => this.onBlur(e), role: "combobox", "aria-expanded": this.checkboxesVisible ? "true" : "false", "aria-haspopup": "listbox", "aria-labelledby": this.labelId, "aria-describedby": this.getDescribedBy(), "aria-owns": `${this.identifier}-checkboxes`, onKeyDown: (e) => this.onMultiselectInputKeyDown(e), disabled: this.disabled }, h("span", { role: "textbox", "aria-readonly": "true", "aria-multiline": "false", "aria-autocomplete": "none", "aria-controls": `${this.identifier}-checkboxes` }, this.placeholder), this.value && this.value.length > 0 && (h("duet-badge", { class: "duet-multiselect-badge", margin: "none", theme: this.theme }, this.value.length, " ", this.selectedLangObject[this.language], h("duet-visually-hidden", null, ", ", this.value.map(item => item.label).join(", ")))), h("svg", { role: "img", class: { "duet-multiselect-icon": true, "duet-multiselect-icon--rotate": this.checkboxesVisible }, fill: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "m12 18.999c-.4 0-.776-.156-1.059-.438l-10.721-10.72c-.142-.142-.22-.33-.22-.531 0-.2.078-.389.22-.53.142-.142.33-.22.53-.22s.389.078.53.22l10.72 10.719 10.72-10.719c.142-.142.33-.22.53-.22s.389.078.53.22c.142.142.22.33.22.53s-.078.389-.22.53l-10.72 10.72c-.282.283-.659.439-1.06.439z" }))), h("div", { id: `${this.identifier}-checkboxes`, role: "listbox", class: {
204
+ }, onKeyDown: (e) => this.onMultiselectKeyDown(e) }, h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, id: this.labelId, for: this.identifier }, this.label), this.tooltip && (h("duet-tooltip", { class: "duet-multiselect-tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), this.caption && (h("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), h("div", { class: "duet-multiselect-wrapper" }, h("button", { id: this.identifier, ref: el => (this.multiselectElement = el), class: { "duet-multiselect": true, "duet-multiselect-active": this.checkboxesVisible }, tabindex: "0", onClick: () => this.toggleCheckboxes(), onFocus: e => this.onFocus(e), onBlur: e => this.onBlur(e), role: "combobox", "aria-expanded": this.checkboxesVisible ? "true" : "false", "aria-haspopup": "listbox", "aria-labelledby": this.labelId, "aria-describedby": this.getDescribedBy(), "aria-owns": `${this.identifier}-checkboxes`, onKeyDown: (e) => this.onMultiselectInputKeyDown(e), disabled: this.disabled }, h("span", { role: "textbox", "aria-readonly": "true", "aria-multiline": "false", "aria-autocomplete": "none", "aria-controls": `${this.identifier}-checkboxes`, "aria-label": this.placeholderLabel[this.language] }, this.placeholder), this.value && this.value.length > 0 && (h("duet-badge", { class: "duet-multiselect-badge", margin: "none", theme: this.theme }, this.value.length, " ", this.selectedLangObject[this.language], h("duet-visually-hidden", null, ", ", this.value.map(item => item.label).join(", ")))), h("svg", { class: { "duet-multiselect-icon": true, "duet-multiselect-icon--rotate": this.checkboxesVisible }, fill: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "m12 18.999c-.4 0-.776-.156-1.059-.438l-10.721-10.72c-.142-.142-.22-.33-.22-.531 0-.2.078-.389.22-.53.142-.142.33-.22.53-.22s.389.078.53.22l10.72 10.719 10.72-10.719c.142-.142.33-.22.53-.22s.389.078.53.22c.142.142.22.33.22.53s-.078.389-.22.53l-10.72 10.72c-.282.283-.659.439-1.06.439z" }))), h("div", { id: `${this.identifier}-checkboxes`, role: "listbox", class: {
200
205
  "duet-multiselect-checkboxes": true,
201
206
  "duet-multiselect-checkboxes-active": this.checkboxesVisible,
202
207
  }, "aria-activedescendant": this.activeDescendant, "aria-multiselectable": "true" }, this.processedItems && this.allControls && (h("div", { class: "duet-multiselect-all-control-buttons" }, h("button", { class: "duet-multiselect-select-all", onClick: this.handleSelectAllClick, id: this.getOptionIdentifier(-2), onKeyDown: (e) => this.onCheckboxKeyDown(e, -2) }, this.selectAllLabel[this.language]), h("button", { class: "duet-multiselect-clear-all", onClick: this.handleClearAllClick, id: this.getOptionIdentifier(-1), onKeyDown: (e) => this.onCheckboxKeyDown(e, -1) }, this.clearAllLabel[this.language]))), this.processedItems &&
@@ -306,7 +311,7 @@ export class DuetMultiselect {
306
311
  "references": {
307
312
  "DuetMultiselectItem": {
308
313
  "location": "local",
309
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
314
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
310
315
  "id": "src/components/duet-multiselect/duet-multiselect.tsx::DuetMultiselectItem"
311
316
  }
312
317
  }
@@ -441,7 +446,7 @@ export class DuetMultiselect {
441
446
  "references": {
442
447
  "DuetMultiselectItem": {
443
448
  "location": "local",
444
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
449
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
445
450
  "id": "src/components/duet-multiselect/duet-multiselect.tsx::DuetMultiselectItem"
446
451
  }
447
452
  }
@@ -577,7 +582,7 @@ export class DuetMultiselect {
577
582
  "references": {
578
583
  "DuetMultiselectEvent": {
579
584
  "location": "local",
580
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
585
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
581
586
  "id": "src/components/duet-multiselect/duet-multiselect.tsx::DuetMultiselectEvent"
582
587
  }
583
588
  }
@@ -598,7 +603,7 @@ export class DuetMultiselect {
598
603
  "references": {
599
604
  "DuetMultiselectEvent": {
600
605
  "location": "local",
601
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
606
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
602
607
  "id": "src/components/duet-multiselect/duet-multiselect.tsx::DuetMultiselectEvent"
603
608
  }
604
609
  }
@@ -619,7 +624,7 @@ export class DuetMultiselect {
619
624
  "references": {
620
625
  "DuetMultiselectEvent": {
621
626
  "location": "local",
622
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
627
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
623
628
  "id": "src/components/duet-multiselect/duet-multiselect.tsx::DuetMultiselectEvent"
624
629
  }
625
630
  }
@@ -0,0 +1,20 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { formatViolations, options as axeRunOptions, testWithAxe } from "../../utils/axe-core-utils";
5
+ describe("[a11y] duet-notification", () => {
6
+ it("should render an accessible component", async () => {
7
+ const result = await testWithAxe(`
8
+ <div role="list">
9
+ <duet-notification highlight url="https://www.duetds.com" date="23.11.2020">
10
+ <duet-heading level="h2" visual-level="h6"> Uusi vakuutus </duet-heading>
11
+ <duet-paragraph size="small" margin="none">
12
+ Uuden kotivakuutuksesi tiedot ja asiakirjat löydät klikkaamalla tästä.
13
+ </duet-paragraph>
14
+ </duet-notification>
15
+ </div>
16
+ `, axeRunOptions);
17
+ expect(result).not.toBeNull();
18
+ expect(formatViolations(result.violations)).toEqual([]);
19
+ });
20
+ });
@@ -0,0 +1,28 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { formatViolations, options as axeRunOptions, testWithAxe } from "../../utils/axe-core-utils";
5
+ describe("[a11y] duet-notification-drawer", () => {
6
+ it("should render an accessible component", async () => {
7
+ const result = await testWithAxe(`
8
+ <duet-notification-drawer direction="right" label="Ilmoitukset (1)" icon="messaging-notification" badge>
9
+ <duet-notification highlight url="https://www.duetds.com" date="23.11.2020">
10
+ <duet-heading level="h2" visual-level="h6"> Uusi vakuutus </duet-heading>
11
+ <duet-paragraph size="small" margin="none">
12
+ Uuden kotivakuutuksesi tiedot ja asiakirjat löydät klikkaamalla tästä.
13
+ </duet-paragraph>
14
+ </duet-notification>
15
+ </duet-notification-drawer>
16
+ `, axeRunOptions);
17
+ expect(result).not.toBeNull();
18
+ expect(formatViolations(result.violations)).toEqual([]);
19
+ });
20
+ it("should render an accessible component in an empty state", async () => {
21
+ const result = await testWithAxe(`
22
+ <duet-notification-drawer direction="right" label="Ilmoitukset" icon="messaging-notification">
23
+ </duet-notification-drawer>
24
+ `, axeRunOptions);
25
+ expect(result).not.toBeNull();
26
+ expect(formatViolations(result.violations)).toEqual([]);
27
+ });
28
+ });
@@ -282,7 +282,7 @@ export class DuetNotificationDrawer {
282
282
  "references": {
283
283
  "DuetNotificationDrawerDirection": {
284
284
  "location": "local",
285
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-notification-drawer/duet-notification-drawer.tsx",
285
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-notification-drawer/duet-notification-drawer.tsx",
286
286
  "id": "src/components/duet-notification-drawer/duet-notification-drawer.tsx::DuetNotificationDrawerDirection"
287
287
  }
288
288
  }
@@ -0,0 +1,14 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { formatViolations, options as axeRunOptions, testWithAxe } from "../../utils/axe-core-utils";
5
+ describe("[a11y] duet-number-input", () => {
6
+ it("should render an accessible component", async () => {
7
+ const result = await testWithAxe(`
8
+ <duet-number-input label="Sijoitettava pääoma" value="100000" min="50000" max="500000" step="5000" unit="€">
9
+ </duet-number-input>
10
+ `, axeRunOptions);
11
+ expect(result).not.toBeNull();
12
+ expect(formatViolations(result.violations)).toEqual([]);
13
+ });
14
+ });
@@ -932,7 +932,7 @@ export class DuetNumberInput {
932
932
  "type": "string",
933
933
  "mutable": false,
934
934
  "complexType": {
935
- "original": "string",
935
+ "original": "string | null",
936
936
  "resolved": "string",
937
937
  "references": {}
938
938
  },
@@ -1022,7 +1022,7 @@ export class DuetNumberInput {
1022
1022
  "references": {
1023
1023
  "DuetNumberInputEvent": {
1024
1024
  "location": "local",
1025
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-number-input/duet-number-input.tsx",
1025
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-number-input/duet-number-input.tsx",
1026
1026
  "id": "src/components/duet-number-input/duet-number-input.tsx::DuetNumberInputEvent"
1027
1027
  }
1028
1028
  }
@@ -1043,7 +1043,7 @@ export class DuetNumberInput {
1043
1043
  "references": {
1044
1044
  "DuetNumberInputEvent": {
1045
1045
  "location": "local",
1046
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-number-input/duet-number-input.tsx",
1046
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-number-input/duet-number-input.tsx",
1047
1047
  "id": "src/components/duet-number-input/duet-number-input.tsx::DuetNumberInputEvent"
1048
1048
  }
1049
1049
  }
@@ -1064,7 +1064,7 @@ export class DuetNumberInput {
1064
1064
  "references": {
1065
1065
  "DuetNumberInputEvent": {
1066
1066
  "location": "local",
1067
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-number-input/duet-number-input.tsx",
1067
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-number-input/duet-number-input.tsx",
1068
1068
  "id": "src/components/duet-number-input/duet-number-input.tsx::DuetNumberInputEvent"
1069
1069
  }
1070
1070
  }
@@ -1085,7 +1085,7 @@ export class DuetNumberInput {
1085
1085
  "references": {
1086
1086
  "DuetNumberInputEvent": {
1087
1087
  "location": "local",
1088
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-number-input/duet-number-input.tsx",
1088
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-number-input/duet-number-input.tsx",
1089
1089
  "id": "src/components/duet-number-input/duet-number-input.tsx::DuetNumberInputEvent"
1090
1090
  }
1091
1091
  }
@@ -0,0 +1,15 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { formatViolations, options as axeRunOptions, testWithAxe } from "../../utils/axe-core-utils";
5
+ describe("[a11y] duet-page-heading", () => {
6
+ it("should render an accessible component", async () => {
7
+ const result = await testWithAxe(`
8
+ <duet-page-heading layout="narrow" icon="category-car">
9
+ <duet-heading slot="heading" level="h1" margin="none">Lorem ipsum dolor sit</duet-heading>
10
+ </duet-page-heading>
11
+ `, axeRunOptions);
12
+ expect(result).not.toBeNull();
13
+ expect(formatViolations(result.violations)).toEqual([]);
14
+ });
15
+ });
@@ -0,0 +1,36 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { formatViolations, options as axeRunOptions, testWithAxe } from "../../utils/axe-core-utils";
5
+ describe("[a11y] duet-pagination", () => {
6
+ it("should render an accessible component", async () => {
7
+ const result = await testWithAxe(`
8
+ <duet-pagination></duet-pagination>
9
+ `, axeRunOptions);
10
+ expect(result).not.toBeNull();
11
+ expect(formatViolations(result.violations)).toEqual([]);
12
+ });
13
+ it("should render an accessible component with links", async () => {
14
+ const result = await testWithAxe(`
15
+ <duet-pagination
16
+ total="10"
17
+ take="1"
18
+ current="1"
19
+ page-links='[
20
+ "/test-1",
21
+ "/test-2",
22
+ "/test-3",
23
+ "/test-4",
24
+ "/test-5",
25
+ "/test-6",
26
+ "/test-7",
27
+ "/test-8",
28
+ "/test-9",
29
+ "/test-10"
30
+ ]'
31
+ ></duet-pagination>
32
+ `, axeRunOptions);
33
+ expect(result).not.toBeNull();
34
+ expect(formatViolations(result.violations)).toEqual([]);
35
+ });
36
+ });
@@ -409,7 +409,7 @@ export class DuetPagination {
409
409
  "references": {
410
410
  "DuetPaginationVariation": {
411
411
  "location": "local",
412
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-pagination/duet-pagination.tsx",
412
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-pagination/duet-pagination.tsx",
413
413
  "id": "src/components/duet-pagination/duet-pagination.tsx::DuetPaginationVariation"
414
414
  }
415
415
  }
@@ -698,7 +698,7 @@ export class DuetPagination {
698
698
  "references": {
699
699
  "DuetPaginationPageEvent": {
700
700
  "location": "local",
701
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-pagination/duet-pagination.tsx",
701
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-pagination/duet-pagination.tsx",
702
702
  "id": "src/components/duet-pagination/duet-pagination.tsx::DuetPaginationPageEvent"
703
703
  }
704
704
  }
@@ -0,0 +1,18 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { formatViolations, options as axeRunOptions, testWithAxe } from "../../utils/axe-core-utils";
5
+ describe("[a11y] duet-paragraph", () => {
6
+ it("should render an accessible component", async () => {
7
+ const result = await testWithAxe(`
8
+ <duet-paragraph>
9
+ Majasalmi muistaa tarkalleen, koska hän otti ensiaskeleensa kohti
10
+ taloudellista riippumattomuutta. Tämä tapahtui 31.3.1998, kun hän avasi asuntosäästötilin ja talletti sille tuhat
11
+ markkaa. Tänä päivänä Majasalmi nauttii vakaasta taloudellisesta tilanteesta ja jakaa valmentajana osaamistaan myös
12
+ muille.
13
+ </duet-paragraph>
14
+ `, axeRunOptions);
15
+ expect(result).not.toBeNull();
16
+ expect(formatViolations(result.violations)).toEqual([]);
17
+ });
18
+ });
@@ -109,7 +109,7 @@ export class DuetParagraph {
109
109
  "references": {
110
110
  "DuetParagraphSize": {
111
111
  "location": "local",
112
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-paragraph/duet-paragraph.tsx",
112
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-paragraph/duet-paragraph.tsx",
113
113
  "id": "src/components/duet-paragraph/duet-paragraph.tsx::DuetParagraphSize"
114
114
  }
115
115
  }
@@ -133,7 +133,7 @@ export class DuetParagraph {
133
133
  "references": {
134
134
  "DuetParagraphWeight": {
135
135
  "location": "local",
136
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-paragraph/duet-paragraph.tsx",
136
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-paragraph/duet-paragraph.tsx",
137
137
  "id": "src/components/duet-paragraph/duet-paragraph.tsx::DuetParagraphWeight"
138
138
  }
139
139
  }
@@ -157,7 +157,7 @@ export class DuetParagraph {
157
157
  "references": {
158
158
  "DuetParagraphVariation": {
159
159
  "location": "local",
160
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-paragraph/duet-paragraph.tsx",
160
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-paragraph/duet-paragraph.tsx",
161
161
  "id": "src/components/duet-paragraph/duet-paragraph.tsx::DuetParagraphVariation"
162
162
  }
163
163
  }
@@ -0,0 +1,27 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { formatViolations, options as axeRunOptions, testWithAxe } from "../../utils/axe-core-utils";
5
+ describe("[a11y] duet-popup-menu", () => {
6
+ it("should render an accessible component", async () => {
7
+ const result = await testWithAxe(`
8
+ <duet-button size="small" id="menu-toggle">toggle menu</duet-button>
9
+ <duet-popup-menu accessibleLabel="Sample action menu" id="sample-menu">
10
+ <duet-popup-menu-item leading-icon="category-pet">Some Action</duet-popup-menu-item>
11
+ <duet-popup-menu-item>Another Action With a Much Longer Label</duet-popup-menu-item>
12
+ <duet-popup-menu-item active trailing-icon="messaging-success">Active Action</duet-popup-menu-item>
13
+ <duet-popup-menu-item url="#" trailing-text="⌘ A">Actually a link</duet-popup-menu-item>
14
+ </duet-popup-menu>
15
+
16
+ <script>
17
+ document.getElementById('menu-toggle').addEventListener('click', function(evt) {
18
+ const menu = document.getElementById('sample-menu');
19
+ menu.controller = evt.target;
20
+ menu.toggle();
21
+ });
22
+ </script>
23
+ `, axeRunOptions);
24
+ expect(result).not.toBeNull();
25
+ expect(formatViolations(result.violations)).toEqual([]);
26
+ });
27
+ });
@@ -331,7 +331,7 @@ export class DuetPopupMenu {
331
331
  "references": {
332
332
  "DuetPopupMenuEvent": {
333
333
  "location": "local",
334
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-popup-menu/duet-popup-menu.tsx",
334
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-popup-menu/duet-popup-menu.tsx",
335
335
  "id": "src/components/duet-popup-menu/duet-popup-menu.tsx::DuetPopupMenuEvent"
336
336
  }
337
337
  }
@@ -278,7 +278,7 @@ export class DuetPopupMenuItem {
278
278
  "references": {
279
279
  "DuetPopupMenuItemEvent": {
280
280
  "location": "local",
281
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-popup-menu-item/duet-popup-menu-item.tsx",
281
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-popup-menu-item/duet-popup-menu-item.tsx",
282
282
  "id": "src/components/duet-popup-menu-item/duet-popup-menu-item.tsx::DuetPopupMenuItemEvent"
283
283
  }
284
284
  }
@@ -299,7 +299,7 @@ export class DuetPopupMenuItem {
299
299
  "references": {
300
300
  "DuetPopupMenuItemEvent": {
301
301
  "location": "local",
302
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-popup-menu-item/duet-popup-menu-item.tsx",
302
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-popup-menu-item/duet-popup-menu-item.tsx",
303
303
  "id": "src/components/duet-popup-menu-item/duet-popup-menu-item.tsx::DuetPopupMenuItemEvent"
304
304
  }
305
305
  }
@@ -0,0 +1,17 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { formatViolations, mergeRules, options as axeRunOptions, testWithAxe } from "../../utils/axe-core-utils";
5
+ const disabledRules = {
6
+ // Axe doesn't recognize the label element which provides a name for the component
7
+ "aria-progressbar-name": { enabled: false },
8
+ };
9
+ describe("[a11y] duet-progress", () => {
10
+ it("should render an accessible component", async () => {
11
+ const result = await testWithAxe(`
12
+ <duet-progress height="5px" progress="20" id="testprogress" accessible-label="someFile.png"></duet-progress>
13
+ `, mergeRules(axeRunOptions, disabledRules));
14
+ expect(result).not.toBeNull();
15
+ expect(formatViolations(result.violations)).toEqual([]);
16
+ });
17
+ });
@@ -53,7 +53,7 @@ export class DuetProgress {
53
53
  "duet-progress-start": this.progress === 0,
54
54
  "duet-progress-inprogress": this.progress < 99 && this.progress !== 0,
55
55
  "duet-theme-turva": this.theme === "turva",
56
- } }, h("duet-visually-hidden", null, h("label", { htmlFor: this.progressLabelId }, this.progress !== 0 && (h("span", null, this.accessibleLabel, ", ", this.accessibleLabelUpload[this.progress < 99 ? 1 : 0])))), this.caption && (h("div", { class: "duet-progress-caption" }, h("span", null, this.caption))), h("progress", { id: this.progressLabelId, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, role: "progressbar", value: this.progress, max: "100", "aria-valuemin": "0", "aria-valuemax": "100" }, h("div", { class: "progress-bar" }, h("span", { style: { width: `${this.progress}%;` } }, "Progress: ", this.progress, "%"))))));
56
+ } }, h("duet-visually-hidden", null, h("label", { htmlFor: this.progressLabelId }, h("span", null, this.accessibleLabel, this.progress !== 0 && `, ${this.accessibleLabelUpload[this.progress < 99 ? 1 : 0]}`))), this.caption && (h("div", { class: "duet-progress-caption" }, h("span", null, this.caption))), h("progress", { id: this.progressLabelId, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, role: "progressbar", value: this.progress, max: "100", "aria-valuemin": "0", "aria-valuemax": "100" }, h("div", { class: "progress-bar" }, h("span", { style: { width: `${this.progress}%;` } }, "Progress: ", this.progress, "%"))))));
57
57
  }
58
58
  static get is() { return "duet-progress"; }
59
59
  static get originalStyleUrls() {
@@ -0,0 +1,43 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { formatViolations, options as axeRunOptions, testWithAxe } from "../../utils/axe-core-utils";
5
+ describe("[a11y] duet-promo-card", () => {
6
+ it("should render an accessible component", async () => {
7
+ const result = await testWithAxe(`
8
+ <duet-promo-card
9
+ size="auto"
10
+ image="https://www.duetds.com/assets/img/example-banner1.jpg"
11
+ icon="category-apartment"
12
+ margin="none"
13
+ >
14
+ <span slot="pre-heading" class="meta">
15
+ Etunimi Sukunimi
16
+ <span class="separator"></span>
17
+ Teema
18
+ <span class="separator"></span>
19
+ 21.3.2023
20
+ </span>
21
+ <span slot="heading">
22
+ Card heading
23
+ </span>
24
+ <span slot="description">
25
+ Card content lorem ipsum dolor sit amet
26
+ consectetuer adipiscing elit no nummy laoreet lorem ipsum.
27
+ </span>
28
+ <duet-button
29
+ slot="action"
30
+ margin="none"
31
+ variation="primary"
32
+ size="small"
33
+ icon="navigation-arrow-right"
34
+ icon-right
35
+ >
36
+ Call to action
37
+ </duet-button>
38
+ </duet-promo-card>
39
+ `, axeRunOptions);
40
+ expect(result).not.toBeNull();
41
+ expect(formatViolations(result.violations)).toEqual([]);
42
+ });
43
+ });
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { formatViolations, options as axeRunOptions, testWithAxe } from "../../utils/axe-core-utils";
5
+ describe("[a11y] duet-radio", () => {
6
+ it("should render an accessible component", async () => {
7
+ const result = await testWithAxe(`
8
+ <duet-radio checked label="Checked" value="test"></duet-radio>
9
+ `, axeRunOptions);
10
+ expect(result).not.toBeNull();
11
+ expect(formatViolations(result.violations)).toEqual([]);
12
+ });
13
+ });