@duetds/components 7.0.13 → 7.1.1

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 (1051) hide show
  1. package/hydrate/index.d.ts +6 -6
  2. package/hydrate/index.js +554 -223
  3. package/lib/cjs/duet-action-button.cjs.entry.js +12 -8
  4. package/lib/cjs/duet-alert.cjs.entry.js +8 -5
  5. package/lib/cjs/duet-badge.cjs.entry.js +7 -2
  6. package/lib/cjs/duet-banner.cjs.entry.js +7 -3
  7. package/lib/cjs/duet-breadcrumb.cjs.entry.js +8 -4
  8. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +4 -4
  9. package/lib/cjs/duet-button_2.cjs.entry.js +10 -6
  10. package/lib/cjs/duet-callout.cjs.entry.js +6 -2
  11. package/lib/cjs/duet-caption_4.cjs.entry.js +40 -8
  12. package/lib/cjs/duet-card.cjs.entry.js +10 -6
  13. package/lib/cjs/duet-checkbox.cjs.entry.js +7 -3
  14. package/lib/cjs/duet-checkmark.cjs.entry.js +2 -2
  15. package/lib/cjs/duet-chip.cjs.entry.js +20 -16
  16. package/lib/cjs/duet-choice_2.cjs.entry.js +17 -10
  17. package/lib/cjs/duet-collapsible.cjs.entry.js +10 -6
  18. package/lib/cjs/duet-combobox.cjs.entry.js +6 -6
  19. package/lib/cjs/duet-contact-card.cjs.entry.js +8 -4
  20. package/lib/cjs/duet-cookie-consent.cjs.entry.js +6 -2
  21. package/lib/cjs/duet-date-picker.cjs.entry.js +10 -6
  22. package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
  23. package/lib/cjs/duet-editable-table_3.cjs.entry.js +16 -9
  24. package/lib/cjs/duet-empty-state.cjs.entry.js +7 -2
  25. package/lib/cjs/duet-fieldset.cjs.entry.js +8 -4
  26. package/lib/cjs/duet-footer.cjs.entry.js +9 -5
  27. package/lib/cjs/duet-grid_2.cjs.entry.js +3 -3
  28. package/lib/cjs/duet-header_2.cjs.entry.js +12 -8
  29. package/lib/cjs/duet-hero.cjs.entry.js +10 -6
  30. package/lib/cjs/duet-icon.cjs.entry.js +7 -3
  31. package/lib/cjs/duet-input_2.cjs.entry.js +13 -7
  32. package/lib/cjs/duet-layout.cjs.entry.js +2 -2
  33. package/lib/cjs/duet-list_2.cjs.entry.js +3 -3
  34. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +6 -2
  35. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +7 -3
  36. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +7 -3
  37. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +6 -2
  38. package/lib/cjs/duet-menu-bar.cjs.entry.js +4 -2
  39. package/lib/cjs/duet-modal.cjs.entry.js +11 -9
  40. package/lib/cjs/duet-multiselect.cjs.entry.js +10 -6
  41. package/lib/cjs/duet-nav.cjs.entry.js +2 -2
  42. package/lib/cjs/duet-notification_2.cjs.entry.js +11 -4
  43. package/lib/cjs/duet-number-input.cjs.entry.js +10 -6
  44. package/lib/cjs/duet-page-heading.cjs.entry.js +6 -2
  45. package/lib/cjs/duet-pagination_2.cjs.entry.js +11 -8
  46. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +6 -2
  47. package/lib/cjs/duet-popup-menu.cjs.entry.js +5 -5
  48. package/lib/cjs/duet-progress.cjs.entry.js +9 -5
  49. package/lib/cjs/duet-promo-card.cjs.entry.js +7 -3
  50. package/lib/cjs/duet-radio_2.cjs.entry.js +8 -4
  51. package/lib/cjs/duet-range-slider.cjs.entry.js +8 -4
  52. package/lib/cjs/duet-scrollable_3.cjs.entry.js +19 -12
  53. package/lib/cjs/duet-section-layout.cjs.entry.js +2 -2
  54. package/lib/cjs/duet-select.cjs.entry.js +8 -4
  55. package/lib/cjs/duet-shaped-image.cjs.entry.js +2 -2
  56. package/lib/cjs/duet-show-more.cjs.entry.js +10 -6
  57. package/lib/cjs/duet-slideout-lang.cjs.entry.js +8 -4
  58. package/lib/cjs/duet-slideout-link.cjs.entry.js +6 -2
  59. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +6 -2
  60. package/lib/cjs/duet-slideout-panel.cjs.entry.js +10 -6
  61. package/lib/cjs/duet-slideout.cjs.entry.js +10 -8
  62. package/lib/cjs/duet-step_2.cjs.entry.js +11 -4
  63. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +7 -3
  64. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +7 -3
  65. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +7 -3
  66. package/lib/cjs/duet-submenu-bar.cjs.entry.js +7 -3
  67. package/lib/cjs/duet-textarea.cjs.entry.js +8 -4
  68. package/lib/cjs/duet-toggle.cjs.entry.js +7 -3
  69. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +7 -3
  70. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +7 -3
  71. package/lib/cjs/duet-toolbar-link.cjs.entry.js +6 -2
  72. package/lib/cjs/duet-toolbar.cjs.entry.js +2 -2
  73. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +23 -3
  74. package/lib/cjs/duet-tooltip.cjs.entry.js +10 -12
  75. package/lib/cjs/duet-tray.cjs.entry.js +9 -5
  76. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +9 -1
  77. package/lib/cjs/duet-upload-item.cjs.entry.js +10 -5
  78. package/lib/cjs/duet-visually-hidden.cjs.entry.js +6 -1
  79. package/lib/cjs/duet.cjs.js +4 -11
  80. package/lib/cjs/{errorcodes.utils-c85ef728.js → errorcodes.utils-8e928de5.js} +2 -2
  81. package/lib/cjs/{focus-utils-a94e86a5.js → focus-utils-135b1e70.js} +1 -1
  82. package/lib/cjs/{index-04d05fd9.js → index-8d4b3790.js} +505 -183
  83. package/lib/cjs/{language-utils-6f1ce5d7.js → language-utils-dc19e8b6.js} +1 -1
  84. package/lib/cjs/loader.cjs.js +3 -12
  85. package/lib/cjs/nudge-ee03ce2e.js +18 -0
  86. package/lib/cjs/{teleport-18e2b4b9.js → teleport-af825e04.js} +9 -12
  87. package/lib/collection/collection-manifest.json +98 -98
  88. package/lib/collection/components/duet-action-button/duet-action-button.js +22 -9
  89. package/lib/collection/components/duet-alert/duet-alert.e2e.js +53 -0
  90. package/lib/collection/components/duet-alert/duet-alert.js +26 -12
  91. package/lib/collection/components/duet-badge/duet-badge.e2e.js +28 -0
  92. package/lib/collection/components/duet-badge/duet-badge.js +11 -3
  93. package/lib/collection/components/duet-banner/duet-banner.e2e.js +23 -0
  94. package/lib/collection/components/duet-banner/duet-banner.js +20 -8
  95. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +8 -2
  96. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.e2e.js +18 -0
  97. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -1
  98. package/lib/collection/components/duet-button/duet-button.e2e.js +210 -0
  99. package/lib/collection/components/duet-button/duet-button.js +33 -15
  100. package/lib/collection/components/duet-callout/duet-callout.e2e.js +21 -0
  101. package/lib/collection/components/duet-callout/duet-callout.js +8 -2
  102. package/lib/collection/components/duet-caption/duet-caption.e2e.js +26 -0
  103. package/lib/collection/components/duet-caption/duet-caption.js +11 -3
  104. package/lib/collection/components/duet-card/duet-card.e2e.js +91 -0
  105. package/lib/collection/components/duet-card/duet-card.js +28 -12
  106. package/lib/collection/components/duet-checkbox/duet-checkbox.e2e.js +112 -0
  107. package/lib/collection/components/duet-checkbox/duet-checkbox.js +18 -7
  108. package/lib/collection/components/duet-chip/duet-chip.e2e.js +46 -0
  109. package/lib/collection/components/duet-chip/duet-chip.js +51 -22
  110. package/lib/collection/components/duet-choice/duet-checkmark.js +4 -2
  111. package/lib/collection/components/duet-choice/duet-choice.e2e.js +181 -0
  112. package/lib/collection/components/duet-choice/duet-choice.js +31 -14
  113. package/lib/collection/components/duet-choice-group/duet-choice-group.e2e.js +88 -0
  114. package/lib/collection/components/duet-choice-group/duet-choice-group.js +14 -5
  115. package/lib/collection/components/duet-collapsible/duet-collapsible.e2e.js +125 -0
  116. package/lib/collection/components/duet-collapsible/duet-collapsible.js +20 -8
  117. package/lib/collection/components/duet-combobox/duet-combobox.e2e.js +110 -0
  118. package/lib/collection/components/duet-combobox/duet-combobox.js +14 -7
  119. package/lib/collection/components/duet-contact-card/duet-contact-card.js +10 -3
  120. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.e2e.js +31 -0
  121. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +8 -2
  122. package/lib/collection/components/duet-date-picker/date-utils.spec.js +330 -0
  123. package/lib/collection/components/duet-date-picker/duet-date-picker.e2e.js +694 -0
  124. package/lib/collection/components/duet-date-picker/duet-date-picker.js +32 -14
  125. package/lib/collection/components/duet-divider/duet-divider.e2e.js +32 -0
  126. package/lib/collection/components/duet-divider/duet-divider.js +6 -3
  127. package/lib/collection/components/duet-editable-table/duet-editable-table.e2e.js +29 -0
  128. package/lib/collection/components/duet-editable-table/duet-editable-table.js +24 -10
  129. package/lib/collection/components/duet-empty-state/duet-empty-state.e2e.js +16 -0
  130. package/lib/collection/components/duet-empty-state/duet-empty-state.js +11 -3
  131. package/lib/collection/components/duet-fieldset/duet-fieldset.e2e.js +13 -0
  132. package/lib/collection/components/duet-fieldset/duet-fieldset.js +10 -3
  133. package/lib/collection/components/duet-footer/duet-footer.e2e.js +186 -0
  134. package/lib/collection/components/duet-footer/duet-footer.js +27 -12
  135. package/lib/collection/components/duet-grid/duet-grid.e2e.js +42 -0
  136. package/lib/collection/components/duet-grid/duet-grid.js +10 -5
  137. package/lib/collection/components/duet-grid-item/duet-grid-item.js +8 -4
  138. package/lib/collection/components/duet-header/duet-header.e2e.js +468 -0
  139. package/lib/collection/components/duet-header/duet-header.js +54 -26
  140. package/lib/collection/components/duet-heading/duet-heading.e2e.js +27 -0
  141. package/lib/collection/components/duet-heading/duet-heading.js +16 -6
  142. package/lib/collection/components/duet-hero/duet-hero.css +30 -0
  143. package/lib/collection/components/duet-hero/duet-hero.e2e.js +172 -0
  144. package/lib/collection/components/duet-hero/duet-hero.js +30 -13
  145. package/lib/collection/components/duet-icon/duet-icon.e2e.js +32 -0
  146. package/lib/collection/components/duet-icon/duet-icon.js +18 -7
  147. package/lib/collection/components/duet-icon/icon-utils.spec.js +84 -0
  148. package/lib/collection/components/duet-input/duet-input.e2e.js +201 -0
  149. package/lib/collection/components/duet-input/duet-input.js +34 -16
  150. package/lib/collection/components/duet-label/duet-label.e2e.js +32 -0
  151. package/lib/collection/components/duet-label/duet-label.js +11 -3
  152. package/lib/collection/components/duet-layout/duet-layout.e2e.js +32 -0
  153. package/lib/collection/components/duet-layout/duet-layout.js +6 -3
  154. package/lib/collection/components/duet-link/duet-link.css +4 -1
  155. package/lib/collection/components/duet-link/duet-link.e2e.js +53 -0
  156. package/lib/collection/components/duet-link/duet-link.js +95 -11
  157. package/lib/collection/components/duet-list/duet-list.e2e.js +105 -0
  158. package/lib/collection/components/duet-list/duet-list.js +14 -7
  159. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -1
  160. package/lib/collection/components/duet-logo/duet-logo.e2e.js +42 -0
  161. package/lib/collection/components/duet-logo/duet-logo.js +14 -7
  162. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +6 -2
  163. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +10 -3
  164. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +10 -3
  165. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +6 -1
  166. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +6 -1
  167. package/lib/collection/components/duet-modal/duet-modal.e2e.js +125 -0
  168. package/lib/collection/components/duet-modal/duet-modal.js +26 -12
  169. package/lib/collection/components/duet-multiselect/duet-multiselect.e2e.js +96 -0
  170. package/lib/collection/components/duet-multiselect/duet-multiselect.js +24 -10
  171. package/lib/collection/components/duet-nav/duet-nav.js +2 -1
  172. package/lib/collection/components/duet-notification/duet-notification.e2e.js +12 -0
  173. package/lib/collection/components/duet-notification/duet-notification.js +15 -6
  174. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.e2e.js +177 -0
  175. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +22 -9
  176. package/lib/collection/components/duet-number-input/duet-number-input-negative.e2e.js +32 -0
  177. package/lib/collection/components/duet-number-input/duet-number-input.e2e.js +242 -0
  178. package/lib/collection/components/duet-number-input/duet-number-input.js +34 -15
  179. package/lib/collection/components/duet-page-heading/duet-page-heading.js +8 -2
  180. package/lib/collection/components/duet-pagination/duet-pagination.e2e.js +101 -0
  181. package/lib/collection/components/duet-pagination/duet-pagination.js +14 -6
  182. package/lib/collection/components/duet-paragraph/duet-paragraph.e2e.js +27 -0
  183. package/lib/collection/components/duet-paragraph/duet-paragraph.js +16 -6
  184. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +14 -7
  185. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +20 -8
  186. package/lib/collection/components/duet-progress/duet-progress.e2e.js +12 -0
  187. package/lib/collection/components/duet-progress/duet-progress.js +8 -2
  188. package/lib/collection/components/duet-promo-card/duet-promo-card.e2e.js +23 -0
  189. package/lib/collection/components/duet-promo-card/duet-promo-card.js +14 -5
  190. package/lib/collection/components/duet-radio/duet-radio.e2e.js +135 -0
  191. package/lib/collection/components/duet-radio/duet-radio.js +16 -8
  192. package/lib/collection/components/duet-radio-group/duet-radio-group.e2e.js +57 -0
  193. package/lib/collection/components/duet-radio-group/duet-radio-group.js +12 -4
  194. package/lib/collection/components/duet-range-slider/duet-range-slider.e2e.js +57 -0
  195. package/lib/collection/components/duet-range-slider/duet-range-slider.js +18 -7
  196. package/lib/collection/components/duet-range-stepper/duet-range-stepper.e2e.js +51 -0
  197. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +10 -4
  198. package/lib/collection/components/duet-range-stepper/duet-range-stepper.spec.js +23 -0
  199. package/lib/collection/components/duet-scrollable/duet-scrollable.e2e.js +12 -0
  200. package/lib/collection/components/duet-scrollable/duet-scrollable.js +12 -9
  201. package/lib/collection/components/duet-section-layout/duet-section-layout.e2e.js +22 -0
  202. package/lib/collection/components/duet-section-layout/duet-section-layout.js +2 -1
  203. package/lib/collection/components/duet-select/duet-select.e2e.js +211 -0
  204. package/lib/collection/components/duet-select/duet-select.js +24 -10
  205. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +4 -2
  206. package/lib/collection/components/duet-show-more/duet-show-more.js +20 -8
  207. package/lib/collection/components/duet-slideout/duet-slideout.js +14 -6
  208. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +6 -1
  209. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +6 -1
  210. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +12 -4
  211. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +10 -3
  212. package/lib/collection/components/duet-spacer/duet-spacer.e2e.js +27 -0
  213. package/lib/collection/components/duet-spacer/duet-spacer.js +6 -3
  214. package/lib/collection/components/duet-spinner/duet-spinner.e2e.js +30 -0
  215. package/lib/collection/components/duet-spinner/duet-spinner.js +6 -3
  216. package/lib/collection/components/duet-step/duet-step.e2e.js +92 -0
  217. package/lib/collection/components/duet-step/duet-step.js +16 -6
  218. package/lib/collection/components/duet-stepper/duet-stepper.e2e.js +85 -0
  219. package/lib/collection/components/duet-stepper/duet-stepper.js +10 -3
  220. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +10 -3
  221. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +10 -3
  222. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +6 -1
  223. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +6 -1
  224. package/lib/collection/components/duet-tab/duet-tab.e2e.js +16 -0
  225. package/lib/collection/components/duet-tab/duet-tab.js +7 -1
  226. package/lib/collection/components/duet-tab-group/duet-tab-group.e2e.js +108 -0
  227. package/lib/collection/components/duet-tab-group/duet-tab-group.js +26 -12
  228. package/lib/collection/components/duet-table/duet-table.e2e.js +95 -0
  229. package/lib/collection/components/duet-table/duet-table.js +10 -5
  230. package/lib/collection/components/duet-textarea/duet-textarea.e2e.js +199 -0
  231. package/lib/collection/components/duet-textarea/duet-textarea.js +22 -9
  232. package/lib/collection/components/duet-toggle/duet-toggle.e2e.js +73 -0
  233. package/lib/collection/components/duet-toggle/duet-toggle.js +14 -5
  234. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -1
  235. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +10 -3
  236. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +6 -1
  237. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +6 -1
  238. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +10 -3
  239. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +34 -7
  240. package/lib/collection/components/duet-tooltip/duet-tooltip.e2e.js +99 -0
  241. package/lib/collection/components/duet-tooltip/duet-tooltip.js +15 -11
  242. package/lib/collection/components/duet-tray/duet-tray.e2e.js +103 -0
  243. package/lib/collection/components/duet-tray/duet-tray.js +12 -4
  244. package/lib/collection/components/duet-upload/duet-upload.e2e.js +49 -0
  245. package/lib/collection/components/duet-upload/duet-upload.js +73 -35
  246. package/lib/collection/components/duet-upload/upload-validators.spec.js +41 -0
  247. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +10 -1
  248. package/lib/collection/components/duet-upload-item/duet-upload-item.js +23 -9
  249. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.e2e.js +12 -0
  250. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +5 -0
  251. package/lib/collection/utils/create-id.spec.js +12 -0
  252. package/lib/collection/utils/js-utils.spec.js +22 -0
  253. package/lib/collection/utils/language-utils.spec.js +159 -0
  254. package/lib/collection/utils/math.utils.spec.js +140 -0
  255. package/lib/collection/utils/nudge.js +14 -0
  256. package/lib/collection/utils/string-utils.spec.js +39 -0
  257. package/lib/collection/utils/teleport.js +9 -12
  258. package/lib/collection/utils/template-utils.spec.js +39 -0
  259. package/lib/collection/utils/token-utils.spec.js +178 -0
  260. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  261. package/lib/dist-custom-elements/duet-alert.js +1 -1
  262. package/lib/dist-custom-elements/duet-badge.js +1 -1
  263. package/lib/dist-custom-elements/duet-banner.js +11 -7
  264. package/lib/dist-custom-elements/duet-breadcrumb.js +9 -5
  265. package/lib/dist-custom-elements/duet-breadcrumbs.js +4 -4
  266. package/lib/dist-custom-elements/duet-button.js +1 -1
  267. package/lib/dist-custom-elements/duet-callout.js +9 -5
  268. package/lib/dist-custom-elements/duet-caption.js +1 -1
  269. package/lib/dist-custom-elements/duet-card.js +13 -9
  270. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  271. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  272. package/lib/dist-custom-elements/duet-chip.js +26 -19
  273. package/lib/dist-custom-elements/duet-choice-group.js +21 -11
  274. package/lib/dist-custom-elements/duet-choice.js +17 -13
  275. package/lib/dist-custom-elements/duet-collapsible.js +12 -8
  276. package/lib/dist-custom-elements/duet-combobox.js +15 -10
  277. package/lib/dist-custom-elements/duet-contact-card.js +15 -11
  278. package/lib/dist-custom-elements/duet-cookie-consent.js +12 -8
  279. package/lib/dist-custom-elements/duet-date-picker.js +28 -19
  280. package/lib/dist-custom-elements/duet-divider.js +1 -1
  281. package/lib/dist-custom-elements/duet-editable-table.js +17 -13
  282. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  283. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  284. package/lib/dist-custom-elements/duet-footer.js +16 -9
  285. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  286. package/lib/dist-custom-elements/duet-grid.js +1 -1
  287. package/lib/dist-custom-elements/duet-header.js +28 -17
  288. package/lib/dist-custom-elements/duet-heading.js +1 -1
  289. package/lib/dist-custom-elements/duet-hero.js +23 -15
  290. package/lib/dist-custom-elements/duet-icon.js +1 -1
  291. package/lib/dist-custom-elements/duet-input.js +1 -1
  292. package/lib/dist-custom-elements/duet-label.js +1 -1
  293. package/lib/dist-custom-elements/duet-layout.js +3 -3
  294. package/lib/dist-custom-elements/duet-link.js +1 -1
  295. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  296. package/lib/dist-custom-elements/duet-list.js +1 -1
  297. package/lib/dist-custom-elements/duet-logo.js +1 -1
  298. package/lib/dist-custom-elements/duet-menu-bar-button.js +8 -4
  299. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +9 -5
  300. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +9 -5
  301. package/lib/dist-custom-elements/duet-menu-bar-link.js +8 -4
  302. package/lib/dist-custom-elements/duet-menu-bar.js +6 -4
  303. package/lib/dist-custom-elements/duet-modal.js +21 -16
  304. package/lib/dist-custom-elements/duet-multiselect.js +23 -17
  305. package/lib/dist-custom-elements/duet-nav.js +3 -3
  306. package/lib/dist-custom-elements/duet-notification-drawer.js +11 -7
  307. package/lib/dist-custom-elements/duet-notification.js +9 -5
  308. package/lib/dist-custom-elements/duet-number-input.js +20 -16
  309. package/lib/dist-custom-elements/duet-page-heading.js +8 -4
  310. package/lib/dist-custom-elements/duet-pagination.js +25 -20
  311. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  312. package/lib/dist-custom-elements/duet-popup-menu-item.js +8 -4
  313. package/lib/dist-custom-elements/duet-popup-menu.js +6 -6
  314. package/lib/dist-custom-elements/duet-progress.js +1 -1
  315. package/lib/dist-custom-elements/duet-promo-card.js +10 -6
  316. package/lib/dist-custom-elements/duet-radio-group.js +21 -11
  317. package/lib/dist-custom-elements/duet-radio.js +4 -4
  318. package/lib/dist-custom-elements/duet-range-slider.js +10 -6
  319. package/lib/dist-custom-elements/duet-range-stepper.js +14 -9
  320. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  321. package/lib/dist-custom-elements/duet-section-layout.js +3 -3
  322. package/lib/dist-custom-elements/duet-select.js +1 -1
  323. package/lib/dist-custom-elements/duet-shaped-image.js +3 -3
  324. package/lib/dist-custom-elements/duet-show-more.js +14 -10
  325. package/lib/dist-custom-elements/duet-slideout-lang.js +9 -5
  326. package/lib/dist-custom-elements/duet-slideout-link.js +8 -4
  327. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +8 -4
  328. package/lib/dist-custom-elements/duet-slideout-panel.js +11 -7
  329. package/lib/dist-custom-elements/duet-slideout.js +11 -9
  330. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  331. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  332. package/lib/dist-custom-elements/duet-step.js +12 -8
  333. package/lib/dist-custom-elements/duet-stepper.js +12 -5
  334. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +9 -5
  335. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +9 -5
  336. package/lib/dist-custom-elements/duet-submenu-bar-link.js +9 -5
  337. package/lib/dist-custom-elements/duet-submenu-bar.js +11 -5
  338. package/lib/dist-custom-elements/duet-tab-group.js +20 -18
  339. package/lib/dist-custom-elements/duet-tab.js +8 -3
  340. package/lib/dist-custom-elements/duet-table.js +1 -1
  341. package/lib/dist-custom-elements/duet-textarea.js +20 -14
  342. package/lib/dist-custom-elements/duet-toggle.js +11 -5
  343. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +9 -5
  344. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +9 -5
  345. package/lib/dist-custom-elements/duet-toolbar-link.js +8 -4
  346. package/lib/dist-custom-elements/duet-toolbar.js +3 -3
  347. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  348. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  349. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  350. package/lib/dist-custom-elements/duet-tray.js +11 -7
  351. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  352. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  353. package/lib/dist-custom-elements/duet-upload.js +30 -24
  354. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  355. package/lib/dist-custom-elements/index.d.ts +6 -0
  356. package/lib/dist-custom-elements/index.js +1 -1
  357. package/lib/dist-custom-elements/p-040f8831.js +16 -0
  358. package/lib/dist-custom-elements/{p-7a8c2aed.js → p-092ff822.js} +17 -17
  359. package/lib/dist-custom-elements/{p-5128c90e.js → p-0c7dab94.js} +10 -6
  360. package/lib/dist-custom-elements/{p-fbdc5afe.js → p-227dc421.js} +3 -3
  361. package/lib/dist-custom-elements/{p-7394e25f.js → p-24853ebf.js} +9 -12
  362. package/lib/dist-custom-elements/{p-ae9d10ef.js → p-2764b248.js} +9 -4
  363. package/lib/dist-custom-elements/{p-89f61853.js → p-3c3e91d0.js} +4 -4
  364. package/lib/dist-custom-elements/{p-8a544a4a.js → p-461756c5.js} +8 -6
  365. package/lib/dist-custom-elements/{p-03baceb5.js → p-4883df66.js} +1 -1
  366. package/lib/dist-custom-elements/{p-e9d838dd.js → p-51a58715.js} +7 -3
  367. package/lib/dist-custom-elements/{p-87ab6444.js → p-5f06c4ee.js} +8 -4
  368. package/lib/dist-custom-elements/{p-778299c4.js → p-5fd9c816.js} +10 -6
  369. package/lib/dist-custom-elements/{p-ec4d603d.js → p-62c7d9d4.js} +1 -1
  370. package/lib/dist-custom-elements/{p-811e436b.js → p-6e063bb0.js} +8 -3
  371. package/lib/dist-custom-elements/{p-e4de8f7b.js → p-720c72c5.js} +18 -9
  372. package/lib/dist-custom-elements/{p-580110b9.js → p-7579d4ae.js} +507 -166
  373. package/lib/dist-custom-elements/{p-444a8a81.js → p-7da4aa07.js} +7 -2
  374. package/lib/dist-custom-elements/{p-235639a0.js → p-8160c830.js} +14 -10
  375. package/lib/dist-custom-elements/{p-e8146874.js → p-84946626.js} +35 -9
  376. package/lib/dist-custom-elements/{p-735d77aa.js → p-8800fa36.js} +8 -3
  377. package/lib/dist-custom-elements/{p-31d056ee.js → p-8afda636.js} +21 -16
  378. package/lib/dist-custom-elements/{p-9ec763ef.js → p-8f0848ab.js} +3 -3
  379. package/lib/dist-custom-elements/{p-e7815ffd.js → p-9468d6ea.js} +4 -4
  380. package/lib/dist-custom-elements/{p-891cf00a.js → p-96f45950.js} +2 -2
  381. package/lib/dist-custom-elements/{p-457ad3b4.js → p-a0669ee9.js} +9 -5
  382. package/lib/dist-custom-elements/{p-7ccf98f1.js → p-aa2863af.js} +8 -3
  383. package/lib/dist-custom-elements/{p-216ee242.js → p-bc972b0a.js} +8 -4
  384. package/lib/dist-custom-elements/{p-061830ef.js → p-c5032d3a.js} +1 -1
  385. package/lib/dist-custom-elements/{p-70bf0b69.js → p-cfca65c8.js} +17 -13
  386. package/lib/dist-custom-elements/{p-9510958d.js → p-d27dc964.js} +12 -9
  387. package/lib/dist-custom-elements/{p-6658c850.js → p-db1ac527.js} +12 -4
  388. package/lib/dist-custom-elements/{p-86766141.js → p-dbe427e1.js} +19 -14
  389. package/lib/dist-custom-elements/{p-03e72a70.js → p-e19d1e27.js} +1 -1
  390. package/lib/dist-custom-elements/{p-147839fe.js → p-eb55b736.js} +16 -3
  391. package/lib/dist-custom-elements/{p-dddcc1da.js → p-eea6945b.js} +5 -5
  392. package/lib/dist-custom-elements/{p-6ff6de66.js → p-f06ebf0f.js} +19 -12
  393. package/lib/dist-custom-elements/{p-b4fb8e06.js → p-f2263866.js} +25 -6
  394. package/lib/dist-custom-elements/{p-3b2d38bd.js → p-f6ae66d9.js} +8 -4
  395. package/lib/dist-custom-elements/{p-32b3e436.js → p-fa9cb266.js} +12 -4
  396. package/lib/dist-custom-elements/{p-54138086.js → p-fc5aceac.js} +2 -2
  397. package/lib/duet/duet.esm.js +1 -1
  398. package/lib/duet/duet.js +2 -6
  399. package/lib/duet/p-015c6c0f.entry.js +4 -0
  400. package/lib/duet/p-040f8831.js +4 -0
  401. package/lib/duet/p-053b71e6.system.js +1 -1
  402. package/lib/duet/p-05432941.system.entry.js +4 -0
  403. package/lib/duet/p-07ae2d9c.system.js +5 -0
  404. package/lib/duet/p-07bf4b25.system.entry.js +4 -0
  405. package/lib/duet/{p-b760effb.entry.js → p-09694f22.entry.js} +1 -1
  406. package/lib/duet/p-0c4bbd65.system.js +1 -1
  407. package/lib/duet/p-168f9b1c.entry.js +4 -0
  408. package/lib/duet/p-1a91e22a.system.js +4 -0
  409. package/lib/duet/p-1b56e37f.system.entry.js +4 -0
  410. package/lib/duet/p-1fb54404.system.entry.js +4 -0
  411. package/lib/duet/p-2043a083.entry.js +4 -0
  412. package/lib/duet/{p-8a3fcbdb.system.entry.js → p-2118ce4b.system.entry.js} +1 -1
  413. package/lib/duet/p-21f3a17a.system.js +1 -1
  414. package/lib/duet/p-22a9a885.system.entry.js +4 -0
  415. package/lib/duet/p-22c45d9c.system.entry.js +4 -0
  416. package/lib/duet/p-232940fa.system.js +4 -0
  417. package/lib/duet/p-24853ebf.js +4 -0
  418. package/lib/duet/{p-c201968f.entry.js → p-2622c405.entry.js} +1 -1
  419. package/lib/duet/p-26415995.entry.js +4 -0
  420. package/lib/duet/p-26e1dca0.system.entry.js +4 -0
  421. package/lib/duet/p-28f8fa55.system.entry.js +4 -0
  422. package/lib/duet/p-299e8254.entry.js +4 -0
  423. package/lib/duet/p-2abe65e5.entry.js +4 -0
  424. package/lib/duet/p-31382b41.system.entry.js +4 -0
  425. package/lib/duet/p-31a0d4f6.system.entry.js +4 -0
  426. package/lib/duet/p-3469e15c.entry.js +4 -0
  427. package/lib/duet/{p-0c6705bb.system.entry.js → p-35762693.system.entry.js} +1 -1
  428. package/lib/duet/p-38eb6aa3.system.entry.js +4 -0
  429. package/lib/duet/p-3a0fde44.entry.js +4 -0
  430. package/lib/duet/{p-a678835a.entry.js → p-3e27b126.entry.js} +1 -1
  431. package/lib/duet/p-3f78ed00.entry.js +4 -0
  432. package/lib/duet/p-3f96e6be.system.entry.js +4 -0
  433. package/lib/duet/{p-e7cc2826.system.entry.js → p-3fbc446a.system.entry.js} +1 -1
  434. package/lib/duet/p-403df195.entry.js +4 -0
  435. package/lib/duet/p-406ec3c8.entry.js +4 -0
  436. package/lib/duet/p-442872df.system.entry.js +4 -0
  437. package/lib/duet/p-449c2232.system.entry.js +4 -0
  438. package/lib/duet/p-4655fafc.entry.js +4 -0
  439. package/lib/duet/{p-e91385fb.js → p-4669b0af.js} +1 -1
  440. package/lib/duet/p-4801f8f8.system.entry.js +4 -0
  441. package/lib/duet/{p-03baceb5.js → p-4883df66.js} +1 -1
  442. package/lib/duet/p-4abb665b.system.entry.js +4 -0
  443. package/lib/duet/p-4ce91f2d.system.entry.js +4 -0
  444. package/lib/duet/p-4e958a51.system.entry.js +4 -0
  445. package/lib/duet/p-5167068e.system.entry.js +4 -0
  446. package/lib/duet/p-52e15824.entry.js +4 -0
  447. package/lib/duet/p-53da8993.entry.js +4 -0
  448. package/lib/duet/p-556983df.entry.js +4 -0
  449. package/lib/duet/p-56b259c4.system.entry.js +4 -0
  450. package/lib/duet/p-57b02e39.system.entry.js +4 -0
  451. package/lib/duet/p-5aa42e6e.system.entry.js +4 -0
  452. package/lib/duet/p-5b014c86.system.js +4 -0
  453. package/lib/duet/p-5c08947a.system.entry.js +4 -0
  454. package/lib/duet/p-5e25fed6.system.entry.js +4 -0
  455. package/lib/duet/p-6043a34d.entry.js +4 -0
  456. package/lib/duet/p-618fae79.system.entry.js +4 -0
  457. package/lib/duet/p-61989371.system.entry.js +4 -0
  458. package/lib/duet/p-6278bb45.system.entry.js +4 -0
  459. package/lib/duet/p-62e31f4f.entry.js +4 -0
  460. package/lib/duet/p-64599d16.entry.js +4 -0
  461. package/lib/duet/p-64c58523.system.entry.js +4 -0
  462. package/lib/duet/p-6665a293.entry.js +4 -0
  463. package/lib/duet/p-668716b8.system.js +4 -0
  464. package/lib/duet/p-678e5dee.entry.js +4 -0
  465. package/lib/duet/p-6878509c.system.entry.js +4 -0
  466. package/lib/duet/p-68c41c1e.system.entry.js +4 -0
  467. package/lib/duet/p-68e69fb0.entry.js +4 -0
  468. package/lib/duet/p-69180c8a.entry.js +4 -0
  469. package/lib/duet/p-69ed2463.entry.js +4 -0
  470. package/lib/duet/p-6a11cde0.system.entry.js +4 -0
  471. package/lib/duet/p-6ac42c0b.system.entry.js +4 -0
  472. package/lib/duet/p-6cd9e728.system.entry.js +4 -0
  473. package/lib/duet/p-6ff847d2.entry.js +4 -0
  474. package/lib/duet/p-70046a69.entry.js +4 -0
  475. package/lib/duet/p-7041ce72.system.entry.js +4 -0
  476. package/lib/duet/p-7047ac99.system.entry.js +4 -0
  477. package/lib/duet/p-719b38fe.system.js +4 -0
  478. package/lib/duet/p-73e91b76.entry.js +4 -0
  479. package/lib/duet/p-75daef16.system.js +4 -0
  480. package/lib/duet/p-7671b7b7.system.js +4 -0
  481. package/lib/duet/{p-16abb2d5.system.entry.js → p-76837ecf.system.entry.js} +1 -1
  482. package/lib/duet/{p-33b3aba4.system.js → p-77b6e4ba.system.js} +1 -1
  483. package/lib/duet/p-7862b921.entry.js +4 -0
  484. package/lib/duet/{p-e4e0578f.entry.js → p-79b111a8.entry.js} +1 -1
  485. package/lib/duet/p-79f248ef.entry.js +4 -0
  486. package/lib/duet/{p-4ab24dcd.entry.js → p-7b2e5d7f.entry.js} +1 -1
  487. package/lib/duet/p-7c29d36a.system.js +4 -0
  488. package/lib/duet/p-7cc4dfa7.entry.js +4 -0
  489. package/lib/duet/p-7d836058.entry.js +4 -0
  490. package/lib/duet/p-7ff3e582.entry.js +4 -0
  491. package/lib/duet/p-81107718.entry.js +4 -0
  492. package/lib/duet/p-846ff870.entry.js +4 -0
  493. package/lib/duet/p-8517c898.entry.js +4 -0
  494. package/lib/duet/p-867ac9cc.system.entry.js +4 -0
  495. package/lib/duet/p-8683ae46.system.entry.js +4 -0
  496. package/lib/duet/p-87dd7bf3.system.js +4 -0
  497. package/lib/duet/p-8972381a.system.js +4 -0
  498. package/lib/duet/p-89f3b845.entry.js +4 -0
  499. package/lib/duet/p-8b3ca5ab.system.entry.js +4 -0
  500. package/lib/duet/{p-7174ea1e.entry.js → p-8b5fcd98.entry.js} +1 -1
  501. package/lib/duet/p-8d0d6e06.system.js +4 -0
  502. package/lib/duet/p-8e1da663.system.js +4 -0
  503. package/lib/duet/p-8f477bd6.system.js +1 -1
  504. package/lib/duet/p-90c5eed1.entry.js +4 -0
  505. package/lib/duet/p-91aef612.entry.js +4 -0
  506. package/lib/duet/p-92978891.system.entry.js +4 -0
  507. package/lib/duet/p-930e7709.system.entry.js +4 -0
  508. package/lib/duet/p-9323e964.js +4 -0
  509. package/lib/duet/p-93877e30.system.entry.js +4 -0
  510. package/lib/duet/{p-e91a7222.entry.js → p-93c389a8.entry.js} +1 -1
  511. package/lib/duet/p-94f4e0bf.entry.js +4 -0
  512. package/lib/duet/{p-0acc8f88.system.entry.js → p-9c7d954f.system.entry.js} +1 -1
  513. package/lib/duet/p-9d033a04.system.js +1 -1
  514. package/lib/duet/p-9f04f069.entry.js +4 -0
  515. package/lib/duet/p-a1b259b5.entry.js +4 -0
  516. package/lib/duet/p-a31ec36c.entry.js +4 -0
  517. package/lib/duet/{p-6d711206.entry.js → p-a3a93783.entry.js} +1 -1
  518. package/lib/duet/{p-f5903e7d.entry.js → p-a42e4e99.entry.js} +1 -1
  519. package/lib/duet/{p-7fe6bf2c.system.entry.js → p-a5d3e6fb.system.entry.js} +1 -1
  520. package/lib/duet/p-a65edc8c.entry.js +4 -0
  521. package/lib/duet/p-a7c0ac21.system.entry.js +4 -0
  522. package/lib/duet/p-aa326c4e.entry.js +4 -0
  523. package/lib/duet/p-ab981ff7.entry.js +4 -0
  524. package/lib/duet/p-ac711c85.entry.js +4 -0
  525. package/lib/duet/p-acb44157.system.entry.js +4 -0
  526. package/lib/duet/p-ae8732d6.system.entry.js +4 -0
  527. package/lib/duet/p-aeccbda2.entry.js +4 -0
  528. package/lib/duet/p-b1db3006.js +1 -1
  529. package/lib/duet/p-b223f9f3.entry.js +4 -0
  530. package/lib/duet/p-b440e72b.system.entry.js +4 -0
  531. package/lib/duet/{p-e4734600.entry.js → p-b4d48cd1.entry.js} +1 -1
  532. package/lib/duet/p-b66ecbb2.entry.js +4 -0
  533. package/lib/duet/p-b8c3530f.system.entry.js +4 -0
  534. package/lib/duet/{p-429a181d.system.entry.js → p-b9122050.system.entry.js} +1 -1
  535. package/lib/duet/p-b932a1dc.system.entry.js +4 -0
  536. package/lib/duet/p-b99c00fa.system.js +4 -0
  537. package/lib/duet/p-bd988e8e.entry.js +4 -0
  538. package/lib/duet/p-c05d40ff.system.entry.js +4 -0
  539. package/lib/duet/p-c2884d84.system.entry.js +4 -0
  540. package/lib/duet/p-c30a5f7c.system.js +4 -0
  541. package/lib/duet/p-c4162949.system.entry.js +4 -0
  542. package/lib/duet/p-c67fb8ae.entry.js +4 -0
  543. package/lib/duet/{p-7dc87593.system.entry.js → p-c7719838.system.entry.js} +1 -1
  544. package/lib/duet/p-c7d985bf.system.entry.js +4 -0
  545. package/lib/duet/p-c94181d2.entry.js +4 -0
  546. package/lib/duet/p-c97109b5.system.js +4 -0
  547. package/lib/duet/{p-8db716f2.system.entry.js → p-cb01acfa.system.entry.js} +2 -2
  548. package/lib/duet/p-cbe9191a.entry.js +4 -0
  549. package/lib/duet/p-cbf7f63b.entry.js +4 -0
  550. package/lib/duet/p-cefb4bab.entry.js +4 -0
  551. package/lib/duet/{p-213ba11f.entry.js → p-d0dd55f5.entry.js} +1 -1
  552. package/lib/duet/p-d1edbad6.system.entry.js +4 -0
  553. package/lib/duet/p-d3384a8b.entry.js +4 -0
  554. package/lib/duet/p-d366b0ac.system.entry.js +4 -0
  555. package/lib/duet/p-d3e74991.system.entry.js +4 -0
  556. package/lib/duet/p-d5ac9c19.system.entry.js +4 -0
  557. package/lib/duet/p-d60fc476.entry.js +4 -0
  558. package/lib/duet/p-d97155db.system.entry.js +4 -0
  559. package/lib/duet/p-da858b14.entry.js +4 -0
  560. package/lib/duet/p-daea7760.entry.js +4 -0
  561. package/lib/duet/p-e0321b18.system.entry.js +4 -0
  562. package/lib/duet/{p-7804ff1e.entry.js → p-e1178f0e.entry.js} +1 -1
  563. package/lib/duet/p-e2d5f327.entry.js +4 -0
  564. package/lib/duet/p-e4a8487e.system.entry.js +4 -0
  565. package/lib/duet/p-e5fbc547.system.entry.js +4 -0
  566. package/lib/duet/p-e82882cb.system.entry.js +4 -0
  567. package/lib/duet/p-e8f76d19.system.entry.js +4 -0
  568. package/lib/duet/p-ea2375d5.entry.js +4 -0
  569. package/lib/duet/p-ebf8ad5c.system.entry.js +4 -0
  570. package/lib/duet/p-ec2b5cc2.system.entry.js +4 -0
  571. package/lib/duet/p-ecf1f6cd.system.js +4 -0
  572. package/lib/duet/p-ed5a5071.system.js +4 -0
  573. package/lib/duet/{p-1d463cc4.system.entry.js → p-f158a882.system.entry.js} +1 -1
  574. package/lib/duet/p-f6476f51.entry.js +4 -0
  575. package/lib/duet/p-f67da334.system.entry.js +4 -0
  576. package/lib/duet/p-f69e737e.system.entry.js +4 -0
  577. package/lib/duet/p-f89001e8.entry.js +4 -0
  578. package/lib/duet/{p-25495204.system.entry.js → p-faefd02d.system.entry.js} +2 -2
  579. package/lib/duet/p-fd0d794b.entry.js +4 -0
  580. package/lib/duet/p-fdcc3016.entry.js +4 -0
  581. package/lib/duet/p-ff9db811.js +5 -0
  582. package/lib/esm/duet-action-button.entry.js +12 -8
  583. package/lib/esm/duet-alert.entry.js +8 -5
  584. package/lib/esm/duet-badge.entry.js +7 -2
  585. package/lib/esm/duet-banner.entry.js +7 -3
  586. package/lib/esm/duet-breadcrumb.entry.js +8 -4
  587. package/lib/esm/duet-breadcrumbs.entry.js +4 -4
  588. package/lib/esm/duet-button_2.entry.js +10 -6
  589. package/lib/esm/duet-callout.entry.js +6 -2
  590. package/lib/esm/duet-caption_4.entry.js +40 -8
  591. package/lib/esm/duet-card.entry.js +10 -6
  592. package/lib/esm/duet-checkbox.entry.js +7 -3
  593. package/lib/esm/duet-checkmark.entry.js +2 -2
  594. package/lib/esm/duet-chip.entry.js +20 -16
  595. package/lib/esm/duet-choice_2.entry.js +17 -10
  596. package/lib/esm/duet-collapsible.entry.js +10 -6
  597. package/lib/esm/duet-combobox.entry.js +6 -6
  598. package/lib/esm/duet-contact-card.entry.js +8 -4
  599. package/lib/esm/duet-cookie-consent.entry.js +6 -2
  600. package/lib/esm/duet-date-picker.entry.js +10 -6
  601. package/lib/esm/duet-divider_2.entry.js +3 -3
  602. package/lib/esm/duet-editable-table_3.entry.js +16 -9
  603. package/lib/esm/duet-empty-state.entry.js +7 -2
  604. package/lib/esm/duet-fieldset.entry.js +8 -4
  605. package/lib/esm/duet-footer.entry.js +9 -5
  606. package/lib/esm/duet-grid_2.entry.js +3 -3
  607. package/lib/esm/duet-header_2.entry.js +12 -8
  608. package/lib/esm/duet-hero.entry.js +10 -6
  609. package/lib/esm/duet-icon.entry.js +7 -3
  610. package/lib/esm/duet-input_2.entry.js +13 -7
  611. package/lib/esm/duet-layout.entry.js +2 -2
  612. package/lib/esm/duet-list_2.entry.js +3 -3
  613. package/lib/esm/duet-menu-bar-button.entry.js +6 -2
  614. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +7 -3
  615. package/lib/esm/duet-menu-bar-dropdown.entry.js +7 -3
  616. package/lib/esm/duet-menu-bar-link.entry.js +6 -2
  617. package/lib/esm/duet-menu-bar.entry.js +4 -2
  618. package/lib/esm/duet-modal.entry.js +11 -9
  619. package/lib/esm/duet-multiselect.entry.js +10 -6
  620. package/lib/esm/duet-nav.entry.js +2 -2
  621. package/lib/esm/duet-notification_2.entry.js +11 -4
  622. package/lib/esm/duet-number-input.entry.js +10 -6
  623. package/lib/esm/duet-page-heading.entry.js +6 -2
  624. package/lib/esm/duet-pagination_2.entry.js +11 -8
  625. package/lib/esm/duet-popup-menu-item.entry.js +6 -2
  626. package/lib/esm/duet-popup-menu.entry.js +5 -5
  627. package/lib/esm/duet-progress.entry.js +9 -5
  628. package/lib/esm/duet-promo-card.entry.js +7 -3
  629. package/lib/esm/duet-radio_2.entry.js +8 -4
  630. package/lib/esm/duet-range-slider.entry.js +8 -4
  631. package/lib/esm/duet-scrollable_3.entry.js +19 -12
  632. package/lib/esm/duet-section-layout.entry.js +2 -2
  633. package/lib/esm/duet-select.entry.js +8 -4
  634. package/lib/esm/duet-shaped-image.entry.js +2 -2
  635. package/lib/esm/duet-show-more.entry.js +10 -6
  636. package/lib/esm/duet-slideout-lang.entry.js +8 -4
  637. package/lib/esm/duet-slideout-link.entry.js +6 -2
  638. package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -2
  639. package/lib/esm/duet-slideout-panel.entry.js +10 -6
  640. package/lib/esm/duet-slideout.entry.js +10 -8
  641. package/lib/esm/duet-step_2.entry.js +11 -4
  642. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +7 -3
  643. package/lib/esm/duet-submenu-bar-dropdown.entry.js +7 -3
  644. package/lib/esm/duet-submenu-bar-link.entry.js +7 -3
  645. package/lib/esm/duet-submenu-bar.entry.js +7 -3
  646. package/lib/esm/duet-textarea.entry.js +8 -4
  647. package/lib/esm/duet-toggle.entry.js +7 -3
  648. package/lib/esm/duet-toolbar-dropdown-link.entry.js +7 -3
  649. package/lib/esm/duet-toolbar-dropdown.entry.js +7 -3
  650. package/lib/esm/duet-toolbar-link.entry.js +6 -2
  651. package/lib/esm/duet-toolbar.entry.js +2 -2
  652. package/lib/esm/duet-tooltip-button_2.entry.js +23 -3
  653. package/lib/esm/duet-tooltip.entry.js +10 -12
  654. package/lib/esm/duet-tray.entry.js +9 -5
  655. package/lib/esm/duet-upload-aria-status.entry.js +9 -1
  656. package/lib/esm/duet-upload-item.entry.js +10 -5
  657. package/lib/esm/duet-visually-hidden.entry.js +6 -1
  658. package/lib/esm/duet.js +5 -12
  659. package/lib/esm/{errorcodes.utils-47fc5d49.js → errorcodes.utils-424b1197.js} +2 -2
  660. package/lib/esm/{focus-utils-e26ba3b3.js → focus-utils-d927e096.js} +1 -1
  661. package/lib/esm/{index-c1a17a4c.js → index-bb518df4.js} +505 -183
  662. package/lib/esm/{language-utils-9d850f6c.js → language-utils-9ff76444.js} +1 -1
  663. package/lib/esm/loader.js +4 -13
  664. package/lib/esm/nudge-560904c3.js +16 -0
  665. package/lib/esm/{teleport-6b18ccae.js → teleport-15747328.js} +9 -12
  666. package/lib/esm-es5/app-globals-de2a5510.js +1 -1
  667. package/lib/esm-es5/{bodyScrollLock.es6-61b5e9a4.js → bodyScrollLock.es6-8dc7cca7.js} +1 -1
  668. package/lib/esm-es5/{create-id-981107da.js → create-id-2b0cd46d.js} +1 -1
  669. package/lib/esm-es5/duet-action-button.entry.js +2 -2
  670. package/lib/esm-es5/duet-alert.entry.js +2 -2
  671. package/lib/esm-es5/duet-badge.entry.js +1 -1
  672. package/lib/esm-es5/duet-banner.entry.js +1 -1
  673. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  674. package/lib/esm-es5/duet-breadcrumbs.entry.js +2 -2
  675. package/lib/esm-es5/duet-button_2.entry.js +2 -2
  676. package/lib/esm-es5/duet-callout.entry.js +1 -1
  677. package/lib/esm-es5/duet-caption_4.entry.js +2 -2
  678. package/lib/esm-es5/duet-card.entry.js +1 -1
  679. package/lib/esm-es5/duet-checkbox.entry.js +2 -2
  680. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  681. package/lib/esm-es5/duet-chip.entry.js +2 -2
  682. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  683. package/lib/esm-es5/duet-collapsible.entry.js +2 -2
  684. package/lib/esm-es5/duet-combobox.entry.js +2 -2
  685. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  686. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  687. package/lib/esm-es5/duet-date-picker.entry.js +2 -2
  688. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  689. package/lib/esm-es5/duet-editable-table_3.entry.js +2 -2
  690. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  691. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  692. package/lib/esm-es5/duet-footer.entry.js +2 -2
  693. package/lib/esm-es5/duet-grid_2.entry.js +2 -2
  694. package/lib/esm-es5/duet-header_2.entry.js +2 -2
  695. package/lib/esm-es5/duet-hero.entry.js +2 -2
  696. package/lib/esm-es5/duet-icon.entry.js +2 -2
  697. package/lib/esm-es5/duet-input_2.entry.js +2 -2
  698. package/lib/esm-es5/duet-layout.entry.js +1 -1
  699. package/lib/esm-es5/duet-list_2.entry.js +2 -2
  700. package/lib/esm-es5/duet-menu-bar-button.entry.js +2 -2
  701. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  702. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +2 -2
  703. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  704. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  705. package/lib/esm-es5/duet-modal.entry.js +2 -2
  706. package/lib/esm-es5/duet-multiselect.entry.js +2 -2
  707. package/lib/esm-es5/duet-nav.entry.js +1 -1
  708. package/lib/esm-es5/duet-notification_2.entry.js +2 -2
  709. package/lib/esm-es5/duet-number-input.entry.js +2 -2
  710. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  711. package/lib/esm-es5/duet-pagination_2.entry.js +2 -2
  712. package/lib/esm-es5/duet-popup-menu-item.entry.js +2 -2
  713. package/lib/esm-es5/duet-popup-menu.entry.js +2 -2
  714. package/lib/esm-es5/duet-progress.entry.js +1 -1
  715. package/lib/esm-es5/duet-promo-card.entry.js +1 -1
  716. package/lib/esm-es5/duet-radio_2.entry.js +2 -2
  717. package/lib/esm-es5/duet-range-slider.entry.js +2 -2
  718. package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
  719. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  720. package/lib/esm-es5/duet-select.entry.js +2 -2
  721. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  722. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  723. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  724. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  725. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +2 -2
  726. package/lib/esm-es5/duet-slideout-panel.entry.js +2 -2
  727. package/lib/esm-es5/duet-slideout.entry.js +2 -2
  728. package/lib/esm-es5/duet-step_2.entry.js +2 -2
  729. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  730. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  731. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  732. package/lib/esm-es5/duet-submenu-bar.entry.js +2 -2
  733. package/lib/esm-es5/duet-textarea.entry.js +2 -2
  734. package/lib/esm-es5/duet-toggle.entry.js +2 -2
  735. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  736. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +2 -2
  737. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  738. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  739. package/lib/esm-es5/duet-tooltip-button_2.entry.js +2 -2
  740. package/lib/esm-es5/duet-tooltip.entry.js +2 -2
  741. package/lib/esm-es5/duet-tray.entry.js +1 -1
  742. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  743. package/lib/esm-es5/duet-upload-item.entry.js +2 -2
  744. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  745. package/lib/esm-es5/duet.js +1 -1
  746. package/lib/esm-es5/errorcodes.utils-424b1197.js +4 -0
  747. package/lib/esm-es5/{floating-ui.dom.esm-6025c98f.js → floating-ui.dom.esm-efad5c89.js} +2 -2
  748. package/lib/esm-es5/focus-utils-d927e096.js +4 -0
  749. package/lib/esm-es5/index-bb518df4.js +5 -0
  750. package/lib/esm-es5/input-utils-a0225b92.js +4 -0
  751. package/lib/esm-es5/keyboard-utils-5746e126.js +4 -0
  752. package/lib/esm-es5/{language-utils-9d850f6c.js → language-utils-9ff76444.js} +1 -1
  753. package/lib/esm-es5/loader.js +1 -1
  754. package/lib/esm-es5/nudge-560904c3.js +4 -0
  755. package/lib/esm-es5/string-utils-59ad4cb2.js +4 -0
  756. package/lib/esm-es5/teleport-15747328.js +4 -0
  757. package/lib/esm-es5/token-utils-46c8fe31.js +4 -0
  758. package/lib/esm-es5/watch-options-f189118b.js +4 -0
  759. package/lib/loader/index.d.ts +2 -2
  760. package/lib/types/common-types.d.ts +1 -0
  761. package/lib/types/components/duet-action-button/duet-action-button.d.ts +1 -0
  762. package/lib/types/components/duet-alert/duet-alert.d.ts +2 -1
  763. package/lib/types/components/duet-badge/duet-badge.d.ts +2 -0
  764. package/lib/types/components/duet-banner/duet-banner.d.ts +1 -0
  765. package/lib/types/components/duet-breadcrumbs/duet-breadcrumb.d.ts +1 -0
  766. package/lib/types/components/duet-button/duet-button.d.ts +2 -1
  767. package/lib/types/components/duet-callout/duet-callout.d.ts +1 -0
  768. package/lib/types/components/duet-caption/duet-caption.d.ts +2 -0
  769. package/lib/types/components/duet-card/duet-card.d.ts +1 -0
  770. package/lib/types/components/duet-checkbox/duet-checkbox.d.ts +1 -0
  771. package/lib/types/components/duet-chip/duet-chip.d.ts +6 -1
  772. package/lib/types/components/duet-choice/duet-choice.d.ts +2 -1
  773. package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +1 -0
  774. package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +1 -0
  775. package/lib/types/components/duet-contact-card/duet-contact-card.d.ts +1 -0
  776. package/lib/types/components/duet-cookie-consent/duet-cookie-consent.d.ts +1 -0
  777. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +1 -0
  778. package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +1 -0
  779. package/lib/types/components/duet-empty-state/duet-empty-state.d.ts +2 -0
  780. package/lib/types/components/duet-fieldset/duet-fieldset.d.ts +1 -0
  781. package/lib/types/components/duet-footer/duet-footer.d.ts +2 -1
  782. package/lib/types/components/duet-header/duet-header.d.ts +3 -2
  783. package/lib/types/components/duet-heading/duet-heading.d.ts +1 -0
  784. package/lib/types/components/duet-hero/duet-hero.d.ts +1 -0
  785. package/lib/types/components/duet-icon/duet-icon.d.ts +1 -0
  786. package/lib/types/components/duet-label/duet-label.d.ts +2 -0
  787. package/lib/types/components/duet-link/duet-link.d.ts +22 -3
  788. package/lib/types/components/duet-menu-bar-button/duet-menu-bar-button.d.ts +1 -0
  789. package/lib/types/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.d.ts +1 -0
  790. package/lib/types/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.d.ts +1 -0
  791. package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +1 -0
  792. package/lib/types/components/duet-modal/duet-modal.d.ts +1 -1
  793. package/lib/types/components/duet-multiselect/duet-multiselect.d.ts +1 -0
  794. package/lib/types/components/duet-notification/duet-notification.d.ts +2 -1
  795. package/lib/types/components/duet-notification-drawer/duet-notification-drawer.d.ts +1 -0
  796. package/lib/types/components/duet-number-input/duet-number-input.d.ts +1 -0
  797. package/lib/types/components/duet-page-heading/duet-page-heading.d.ts +1 -0
  798. package/lib/types/components/duet-paragraph/duet-paragraph.d.ts +1 -0
  799. package/lib/types/components/duet-popup-menu-item/duet-popup-menu-item.d.ts +1 -0
  800. package/lib/types/components/duet-progress/duet-progress.d.ts +1 -0
  801. package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +1 -0
  802. package/lib/types/components/duet-radio-group/duet-radio-group.d.ts +1 -0
  803. package/lib/types/components/duet-range-slider/duet-range-slider.d.ts +1 -0
  804. package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +1 -1
  805. package/lib/types/components/duet-select/duet-select.d.ts +1 -0
  806. package/lib/types/components/duet-show-more/duet-show-more.d.ts +1 -0
  807. package/lib/types/components/duet-slideout-lang/duet-slideout-lang.d.ts +1 -0
  808. package/lib/types/components/duet-slideout-link/duet-slideout-link.d.ts +1 -0
  809. package/lib/types/components/duet-slideout-panel/duet-slideout-panel.d.ts +1 -0
  810. package/lib/types/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.d.ts +1 -0
  811. package/lib/types/components/duet-step/duet-step.d.ts +1 -0
  812. package/lib/types/components/duet-stepper/duet-stepper.d.ts +1 -0
  813. package/lib/types/components/duet-submenu-bar/duet-submenu-bar.d.ts +1 -0
  814. package/lib/types/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.d.ts +1 -0
  815. package/lib/types/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.d.ts +1 -0
  816. package/lib/types/components/duet-submenu-bar-link/duet-submenu-bar-link.d.ts +1 -0
  817. package/lib/types/components/duet-tab/duet-tab.d.ts +2 -0
  818. package/lib/types/components/duet-textarea/duet-textarea.d.ts +1 -0
  819. package/lib/types/components/duet-toggle/duet-toggle.d.ts +1 -0
  820. package/lib/types/components/duet-toolbar-dropdown/duet-toolbar-dropdown.d.ts +1 -0
  821. package/lib/types/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.d.ts +1 -0
  822. package/lib/types/components/duet-toolbar-link/duet-toolbar-link.d.ts +1 -0
  823. package/lib/types/components/duet-tooltip/duet-tooltip-button.d.ts +1 -0
  824. package/lib/types/components/duet-tooltip/duet-tooltip-popup.d.ts +3 -0
  825. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +0 -1
  826. package/lib/types/components/duet-tray/duet-tray.d.ts +1 -0
  827. package/lib/types/components/duet-upload/duet-upload.d.ts +2 -1
  828. package/lib/types/components/duet-upload-aria-status/duet-upload-aria-status.d.ts +5 -0
  829. package/lib/types/components/duet-upload-item/duet-upload-item.d.ts +2 -0
  830. package/lib/types/components/duet-visually-hidden/duet-visually-hidden.d.ts +2 -0
  831. package/lib/types/components.d.ts +502 -22
  832. package/lib/types/stencil-public-runtime.d.ts +41 -5
  833. package/lib/types/utils/nudge.d.ts +7 -0
  834. package/lib/types/utils/teleport.d.ts +0 -2
  835. package/package.json +6 -6
  836. package/lib/duet/p-00abf5b6.entry.js +0 -4
  837. package/lib/duet/p-02b7e1ef.system.entry.js +0 -4
  838. package/lib/duet/p-02f1d7cc.system.js +0 -4
  839. package/lib/duet/p-0478d0eb.entry.js +0 -4
  840. package/lib/duet/p-04940a8a.system.entry.js +0 -4
  841. package/lib/duet/p-059c9d4e.entry.js +0 -4
  842. package/lib/duet/p-066f7fdf.entry.js +0 -4
  843. package/lib/duet/p-076228e9.system.entry.js +0 -4
  844. package/lib/duet/p-076aef18.entry.js +0 -4
  845. package/lib/duet/p-0b0a898d.entry.js +0 -4
  846. package/lib/duet/p-0c3d7e64.system.entry.js +0 -4
  847. package/lib/duet/p-0e697654.system.entry.js +0 -4
  848. package/lib/duet/p-0ffc3cf9.entry.js +0 -4
  849. package/lib/duet/p-108d9370.system.entry.js +0 -4
  850. package/lib/duet/p-11e79c8c.system.entry.js +0 -4
  851. package/lib/duet/p-14285f86.system.entry.js +0 -4
  852. package/lib/duet/p-14bd6514.entry.js +0 -4
  853. package/lib/duet/p-1719aa4e.entry.js +0 -4
  854. package/lib/duet/p-18f1d30e.js +0 -5
  855. package/lib/duet/p-1b398a07.entry.js +0 -4
  856. package/lib/duet/p-1c0ad101.system.entry.js +0 -4
  857. package/lib/duet/p-23ba9eba.entry.js +0 -4
  858. package/lib/duet/p-243a9ef5.system.entry.js +0 -4
  859. package/lib/duet/p-24e2be74.entry.js +0 -4
  860. package/lib/duet/p-29280d68.entry.js +0 -4
  861. package/lib/duet/p-2992af15.entry.js +0 -4
  862. package/lib/duet/p-29be2109.entry.js +0 -4
  863. package/lib/duet/p-29f1e1a4.system.entry.js +0 -4
  864. package/lib/duet/p-2bf922c1.system.js +0 -4
  865. package/lib/duet/p-2e9a772c.entry.js +0 -4
  866. package/lib/duet/p-2ea04945.entry.js +0 -4
  867. package/lib/duet/p-2eabea79.entry.js +0 -4
  868. package/lib/duet/p-31b566c1.entry.js +0 -4
  869. package/lib/duet/p-3346552d.entry.js +0 -4
  870. package/lib/duet/p-34928212.entry.js +0 -4
  871. package/lib/duet/p-34ea0849.system.js +0 -4
  872. package/lib/duet/p-3536fd40.system.entry.js +0 -4
  873. package/lib/duet/p-356745e0.system.entry.js +0 -4
  874. package/lib/duet/p-3709d186.entry.js +0 -4
  875. package/lib/duet/p-380c94f6.system.entry.js +0 -4
  876. package/lib/duet/p-388e6ec4.entry.js +0 -4
  877. package/lib/duet/p-3cb9e865.system.js +0 -4
  878. package/lib/duet/p-3ec86ced.entry.js +0 -4
  879. package/lib/duet/p-417357f9.system.entry.js +0 -4
  880. package/lib/duet/p-427dbb96.system.entry.js +0 -4
  881. package/lib/duet/p-43660fa9.system.js +0 -4
  882. package/lib/duet/p-43b0c3d2.system.entry.js +0 -4
  883. package/lib/duet/p-43b42819.entry.js +0 -4
  884. package/lib/duet/p-45bec102.entry.js +0 -4
  885. package/lib/duet/p-46b3ed07.entry.js +0 -4
  886. package/lib/duet/p-4a4faa7d.entry.js +0 -4
  887. package/lib/duet/p-4e886433.system.entry.js +0 -4
  888. package/lib/duet/p-51721695.system.js +0 -4
  889. package/lib/duet/p-521c96ec.entry.js +0 -4
  890. package/lib/duet/p-56952081.entry.js +0 -4
  891. package/lib/duet/p-5738c25c.system.entry.js +0 -4
  892. package/lib/duet/p-5c8e5f29.system.js +0 -4
  893. package/lib/duet/p-5f6bd5db.system.js +0 -4
  894. package/lib/duet/p-60a70493.entry.js +0 -4
  895. package/lib/duet/p-67862509.system.entry.js +0 -4
  896. package/lib/duet/p-67d9de79.system.entry.js +0 -4
  897. package/lib/duet/p-6aa821df.system.js +0 -4
  898. package/lib/duet/p-6c93f614.system.entry.js +0 -4
  899. package/lib/duet/p-6d74aac6.system.entry.js +0 -4
  900. package/lib/duet/p-6f677b2a.system.entry.js +0 -4
  901. package/lib/duet/p-6f6a58e4.system.entry.js +0 -4
  902. package/lib/duet/p-701b89a1.entry.js +0 -4
  903. package/lib/duet/p-70477e77.system.entry.js +0 -4
  904. package/lib/duet/p-7260f799.entry.js +0 -4
  905. package/lib/duet/p-7326a4c0.system.entry.js +0 -4
  906. package/lib/duet/p-7394e25f.js +0 -4
  907. package/lib/duet/p-74216caa.entry.js +0 -4
  908. package/lib/duet/p-79075bec.system.entry.js +0 -4
  909. package/lib/duet/p-7ac0621b.system.entry.js +0 -4
  910. package/lib/duet/p-7b7faa01.system.entry.js +0 -4
  911. package/lib/duet/p-7cf9e266.system.entry.js +0 -4
  912. package/lib/duet/p-81c35152.entry.js +0 -4
  913. package/lib/duet/p-822a791e.entry.js +0 -4
  914. package/lib/duet/p-8364fae3.entry.js +0 -4
  915. package/lib/duet/p-8433b6d1.system.entry.js +0 -4
  916. package/lib/duet/p-850eacf6.entry.js +0 -4
  917. package/lib/duet/p-87ca87df.entry.js +0 -4
  918. package/lib/duet/p-8810df88.js +0 -4
  919. package/lib/duet/p-8b5d616e.system.entry.js +0 -4
  920. package/lib/duet/p-8b641c9c.system.entry.js +0 -4
  921. package/lib/duet/p-8e5253bc.entry.js +0 -4
  922. package/lib/duet/p-97fc4a88.system.entry.js +0 -4
  923. package/lib/duet/p-98488fab.system.entry.js +0 -4
  924. package/lib/duet/p-9949a334.entry.js +0 -4
  925. package/lib/duet/p-9ce8627c.system.entry.js +0 -4
  926. package/lib/duet/p-9d505129.system.entry.js +0 -4
  927. package/lib/duet/p-9e3276c6.system.entry.js +0 -4
  928. package/lib/duet/p-9f9ada02.system.entry.js +0 -4
  929. package/lib/duet/p-a374de00.entry.js +0 -4
  930. package/lib/duet/p-a39844b6.entry.js +0 -4
  931. package/lib/duet/p-a659351d.system.js +0 -4
  932. package/lib/duet/p-a7c2017b.system.js +0 -5
  933. package/lib/duet/p-a87a2760.system.entry.js +0 -4
  934. package/lib/duet/p-a8e6dcb9.entry.js +0 -4
  935. package/lib/duet/p-ac962b74.system.entry.js +0 -4
  936. package/lib/duet/p-afee3739.system.entry.js +0 -4
  937. package/lib/duet/p-b0475c8a.entry.js +0 -4
  938. package/lib/duet/p-b07fe45f.system.entry.js +0 -4
  939. package/lib/duet/p-b465c929.entry.js +0 -4
  940. package/lib/duet/p-b6d51921.system.js +0 -4
  941. package/lib/duet/p-b71c141b.system.entry.js +0 -4
  942. package/lib/duet/p-b7605eb1.entry.js +0 -4
  943. package/lib/duet/p-b760c72b.system.js +0 -4
  944. package/lib/duet/p-b7e61bdc.system.entry.js +0 -4
  945. package/lib/duet/p-b8b12400.system.entry.js +0 -4
  946. package/lib/duet/p-b9eb37ae.system.entry.js +0 -4
  947. package/lib/duet/p-bd594a8b.entry.js +0 -4
  948. package/lib/duet/p-bde9a702.system.entry.js +0 -4
  949. package/lib/duet/p-c1573ac3.system.entry.js +0 -4
  950. package/lib/duet/p-c1fb544b.system.entry.js +0 -4
  951. package/lib/duet/p-c2731be1.system.entry.js +0 -4
  952. package/lib/duet/p-c2b0861c.system.entry.js +0 -4
  953. package/lib/duet/p-c3a883e3.entry.js +0 -4
  954. package/lib/duet/p-c466bad9.system.js +0 -4
  955. package/lib/duet/p-c4fac0b5.system.entry.js +0 -4
  956. package/lib/duet/p-cb451f23.entry.js +0 -4
  957. package/lib/duet/p-cba1009b.entry.js +0 -4
  958. package/lib/duet/p-cd05fea5.system.entry.js +0 -4
  959. package/lib/duet/p-cf824b6b.system.entry.js +0 -4
  960. package/lib/duet/p-d183a3e7.system.entry.js +0 -4
  961. package/lib/duet/p-d1f815a3.system.entry.js +0 -4
  962. package/lib/duet/p-d4d63fbd.system.entry.js +0 -4
  963. package/lib/duet/p-d68c84ab.entry.js +0 -4
  964. package/lib/duet/p-d6d5ef13.entry.js +0 -4
  965. package/lib/duet/p-d7c5ac53.entry.js +0 -4
  966. package/lib/duet/p-d863e150.system.js +0 -4
  967. package/lib/duet/p-db6887df.entry.js +0 -4
  968. package/lib/duet/p-db95e133.entry.js +0 -4
  969. package/lib/duet/p-dfc66b98.entry.js +0 -4
  970. package/lib/duet/p-e27a7520.system.entry.js +0 -4
  971. package/lib/duet/p-e356ca29.entry.js +0 -4
  972. package/lib/duet/p-e3f8becc.entry.js +0 -4
  973. package/lib/duet/p-e50d1003.system.entry.js +0 -4
  974. package/lib/duet/p-e566ff11.system.js +0 -4
  975. package/lib/duet/p-e9b8cee0.system.entry.js +0 -4
  976. package/lib/duet/p-ea1287ce.system.entry.js +0 -4
  977. package/lib/duet/p-eb55ccd2.system.js +0 -4
  978. package/lib/duet/p-f0317574.entry.js +0 -4
  979. package/lib/duet/p-f27b134c.system.entry.js +0 -4
  980. package/lib/duet/p-f74b6629.entry.js +0 -4
  981. package/lib/duet/p-faf2b9d1.entry.js +0 -4
  982. package/lib/duet/p-fbdb1eec.entry.js +0 -4
  983. package/lib/duet/p-fc0f56ae.system.entry.js +0 -4
  984. package/lib/duet/p-fee0f558.entry.js +0 -4
  985. package/lib/esm/polyfills/css-shim.js +0 -1
  986. package/lib/esm-es5/errorcodes.utils-47fc5d49.js +0 -4
  987. package/lib/esm-es5/focus-utils-e26ba3b3.js +0 -4
  988. package/lib/esm-es5/index-c1a17a4c.js +0 -5
  989. package/lib/esm-es5/input-utils-de45e099.js +0 -4
  990. package/lib/esm-es5/keyboard-utils-d237bd5a.js +0 -4
  991. package/lib/esm-es5/string-utils-5954f458.js +0 -4
  992. package/lib/esm-es5/teleport-6b18ccae.js +0 -4
  993. package/lib/esm-es5/token-utils-2d3af0db.js +0 -4
  994. package/lib/esm-es5/watch-options-dd55bce8.js +0 -4
  995. /package/lib/cjs/{bodyScrollLock.es6-6ef1142a.js → bodyScrollLock.es6-83f334d1.js} +0 -0
  996. /package/lib/cjs/{common-strings-de17f887.js → common-strings-17770d7a.js} +0 -0
  997. /package/lib/cjs/{create-id-c3b984b1.js → create-id-167cd350.js} +0 -0
  998. /package/lib/cjs/{floating-ui.dom.esm-d537b048.js → floating-ui.dom.esm-a7d59d53.js} +0 -0
  999. /package/lib/cjs/{input-utils-b5e8f524.js → input-utils-b4615782.js} +0 -0
  1000. /package/lib/cjs/{is-internet-explorer-91361c56.js → is-internet-explorer-76c3b538.js} +0 -0
  1001. /package/lib/cjs/{js-utils-134e0318.js → js-utils-b20cfc79.js} +0 -0
  1002. /package/lib/cjs/{keyboard-utils-bb32119b.js → keyboard-utils-02441bc5.js} +0 -0
  1003. /package/lib/cjs/{slot-query-1624497e.js → slot-query-b7555763.js} +0 -0
  1004. /package/lib/cjs/{string-utils-5cadd058.js → string-utils-51a2f59f.js} +0 -0
  1005. /package/lib/cjs/{themeable-component-fdeaef9f.js → themeable-component-0be6d1f4.js} +0 -0
  1006. /package/lib/cjs/{token-utils-71db4785.js → token-utils-dbfeff2e.js} +0 -0
  1007. /package/lib/cjs/{watch-options-d88afac0.js → watch-options-1773d69f.js} +0 -0
  1008. /package/lib/dist-custom-elements/{p-8adb9463.js → p-00c8a755.js} +0 -0
  1009. /package/lib/dist-custom-elements/{p-bd779757.js → p-141e14d0.js} +0 -0
  1010. /package/lib/dist-custom-elements/{p-5a9d75e1.js → p-1a395a8d.js} +0 -0
  1011. /package/lib/dist-custom-elements/{p-704245ef.js → p-268171f7.js} +0 -0
  1012. /package/lib/dist-custom-elements/{p-0b3f675e.js → p-3d8d557b.js} +0 -0
  1013. /package/lib/dist-custom-elements/{p-c1325e35.js → p-45f71a69.js} +0 -0
  1014. /package/lib/dist-custom-elements/{p-d8549efe.js → p-56ac3289.js} +0 -0
  1015. /package/lib/dist-custom-elements/{p-56118313.js → p-77f2dbee.js} +0 -0
  1016. /package/lib/dist-custom-elements/{p-12721178.js → p-a1371eee.js} +0 -0
  1017. /package/lib/dist-custom-elements/{p-4ebf1618.js → p-d48735b6.js} +0 -0
  1018. /package/lib/dist-custom-elements/{p-76f00bd5.js → p-dade978b.js} +0 -0
  1019. /package/lib/dist-custom-elements/{p-9d915d45.js → p-f8c76b25.js} +0 -0
  1020. /package/lib/duet/{p-8adb9463.js → p-00c8a755.js} +0 -0
  1021. /package/lib/duet/{p-2bb34e3d.js → p-0b31864f.js} +0 -0
  1022. /package/lib/duet/{p-bd779757.js → p-141e14d0.js} +0 -0
  1023. /package/lib/duet/{p-5a9d75e1.js → p-1a395a8d.js} +0 -0
  1024. /package/lib/duet/{p-704245ef.js → p-268171f7.js} +0 -0
  1025. /package/lib/duet/{p-c7ae95bd.system.js → p-36b36a8e.system.js} +0 -0
  1026. /package/lib/duet/{p-0b3f675e.js → p-3d8d557b.js} +0 -0
  1027. /package/lib/duet/{p-c1325e35.js → p-45f71a69.js} +0 -0
  1028. /package/lib/duet/{p-56118313.js → p-77f2dbee.js} +0 -0
  1029. /package/lib/duet/{p-12721178.js → p-a1371eee.js} +0 -0
  1030. /package/lib/duet/{p-f077c646.js → p-cc1909de.js} +0 -0
  1031. /package/lib/duet/{p-4ebf1618.js → p-d48735b6.js} +0 -0
  1032. /package/lib/duet/{p-76f00bd5.js → p-dade978b.js} +0 -0
  1033. /package/lib/duet/{p-9d915d45.js → p-f8c76b25.js} +0 -0
  1034. /package/lib/esm/{bodyScrollLock.es6-61b5e9a4.js → bodyScrollLock.es6-8dc7cca7.js} +0 -0
  1035. /package/lib/esm/{common-strings-97e04e4b.js → common-strings-71f2aabd.js} +0 -0
  1036. /package/lib/esm/{create-id-981107da.js → create-id-2b0cd46d.js} +0 -0
  1037. /package/lib/esm/{floating-ui.dom.esm-6025c98f.js → floating-ui.dom.esm-efad5c89.js} +0 -0
  1038. /package/lib/esm/{input-utils-de45e099.js → input-utils-a0225b92.js} +0 -0
  1039. /package/lib/esm/{is-internet-explorer-62b3bdbd.js → is-internet-explorer-032d4dae.js} +0 -0
  1040. /package/lib/esm/{js-utils-fa98b8cd.js → js-utils-a35dcc8c.js} +0 -0
  1041. /package/lib/esm/{keyboard-utils-d237bd5a.js → keyboard-utils-5746e126.js} +0 -0
  1042. /package/lib/esm/{slot-query-8c7dce21.js → slot-query-7877f18f.js} +0 -0
  1043. /package/lib/esm/{string-utils-5954f458.js → string-utils-59ad4cb2.js} +0 -0
  1044. /package/lib/esm/{themeable-component-cb76be7c.js → themeable-component-fdce4fd7.js} +0 -0
  1045. /package/lib/esm/{token-utils-2d3af0db.js → token-utils-46c8fe31.js} +0 -0
  1046. /package/lib/esm/{watch-options-dd55bce8.js → watch-options-f189118b.js} +0 -0
  1047. /package/lib/esm-es5/{common-strings-97e04e4b.js → common-strings-71f2aabd.js} +0 -0
  1048. /package/lib/esm-es5/{is-internet-explorer-62b3bdbd.js → is-internet-explorer-032d4dae.js} +0 -0
  1049. /package/lib/esm-es5/{js-utils-fa98b8cd.js → js-utils-a35dcc8c.js} +0 -0
  1050. /package/lib/esm-es5/{slot-query-8c7dce21.js → slot-query-7877f18f.js} +0 -0
  1051. /package/lib/esm-es5/{themeable-component-cb76be7c.js → themeable-component-fdce4fd7.js} +0 -0
@@ -0,0 +1,181 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { createPage } from "../../utils/test-utils";
5
+ describe("duet-choice", () => {
6
+ function isElementVisible(page, selector) {
7
+ return page.$eval(selector, (element) => {
8
+ if (!element) {
9
+ return false;
10
+ }
11
+ return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length);
12
+ });
13
+ }
14
+ it("has the correct tabbing order", async () => {
15
+ const page = await createPage(`
16
+ <duet-choice theme="turva">
17
+ <duet-paragraph slot="info">some text <a href="http://www.google.com">google</a></duet-paragraph>
18
+ </duet-choice>
19
+ `);
20
+ expect(await isElementVisible(page, "duet-paragraph")).toBe(false);
21
+ await page.keyboard.press("Tab");
22
+ await page.keyboard.press("Tab");
23
+ await page.keyboard.press("Space");
24
+ await page.waitForChanges();
25
+ expect(await isElementVisible(page, "duet-paragraph")).toBe(true);
26
+ await page.keyboard.press("Space");
27
+ await page.waitForChanges();
28
+ expect(await isElementVisible(page, "duet-paragraph")).toBe(false);
29
+ });
30
+ it("should render a choice button", async () => {
31
+ const page = await createPage(`<duet-choice></duet-choice>`);
32
+ const component = await page.find("duet-choice");
33
+ expect(component).not.toBeNull();
34
+ expect(component).toHaveClass("hydrated");
35
+ });
36
+ it("should provide a property that removes the margin of the component", async () => {
37
+ const page = await createPage(`<duet-choice margin="none"></duet-choice>`);
38
+ const element = await page.find(".duet-m-0");
39
+ expect(element).not.toBeNull();
40
+ });
41
+ it("should provide a property that removes the padding of the component", async () => {
42
+ const page = await createPage(`<duet-choice padding="none"></duet-choice>`);
43
+ const element = await page.find(".duet-p-0");
44
+ expect(element).not.toBeNull();
45
+ });
46
+ it("should provide a property that renders label", async () => {
47
+ const page = await createPage(`<duet-choice label="test"></duet-choice>`);
48
+ const element = await page.find("duet-choice label");
49
+ expect(element.innerText).toEqual("test");
50
+ });
51
+ it("should provide a property that switches the theme", async () => {
52
+ const page = await createPage(`<duet-choice theme="turva"><div slot="info">some text</div></duet-choice>`);
53
+ const element = await page.find("duet-choice");
54
+ expect(element).toHaveClass("duet-theme-turva");
55
+ const elementFlex = await page.find("duet-choice .duet-choice-card-flextainer");
56
+ expect(elementFlex).toHaveClass("duet-theme-turva");
57
+ const elementButton = await page.find("duet-choice button");
58
+ expect(elementButton).toHaveClass("duet-theme-turva");
59
+ });
60
+ it("should provide a property that makes the choice disabled", async () => {
61
+ const page = await createPage(`<duet-choice disabled></duet-choice>`);
62
+ const element = await page.find("duet-choice input");
63
+ expect(element.getAttribute("disabled")).not.toBeNull();
64
+ });
65
+ it("should provide a property that adds an ID for the choice", async () => {
66
+ const page = await createPage(`<duet-choice identifier="test"></duet-choice>`);
67
+ const element = await page.find("duet-choice input");
68
+ expect(element.getAttribute("id")).toEqual("test");
69
+ });
70
+ it("should provide a property that checks the choice", async () => {
71
+ const page = await createPage(`<duet-choice checked></duet-choice>`);
72
+ const element = (await page.find("duet-choice input"));
73
+ expect(element.checked).not.toBeNull();
74
+ });
75
+ it("should provide a property that adds value for the choice", async () => {
76
+ const page = await createPage(`<duet-choice value="test"></duet-choice>`);
77
+ const element = await page.find("duet-choice input");
78
+ expect(element.getAttribute("value")).not.toBeNull();
79
+ });
80
+ it("should provide a property that adds name for the choice", async () => {
81
+ const page = await createPage(`<duet-choice name="test"></duet-choice>`);
82
+ const element = await page.find("duet-choice input");
83
+ expect(element.getAttribute("name")).not.toBeNull();
84
+ });
85
+ it("should provide a property that changes the type of the choice", async () => {
86
+ const page = await createPage(`<duet-choice type="radio"></duet-choice>`);
87
+ const element = await page.find("duet-choice input[type=radio]");
88
+ expect(element).not.toBeNull();
89
+ });
90
+ it("should provide a property that makes the choice collapsible", async () => {
91
+ const page = await createPage(`<duet-choice collapsible></duet-choice>`);
92
+ const element = await page.find("duet-choice .duet-choice-card-collapsible");
93
+ expect(element).not.toBeNull();
94
+ });
95
+ it("should provide a property that makes the collapsible choice always open", async () => {
96
+ const page = await createPage(`<duet-choice collapsible collapsible-force-expanded>Content</duet-choice>`);
97
+ const elementHeight = await page.evaluate(() => {
98
+ const content = document.querySelector(".duet-choice-card-collapsible");
99
+ return content.getBoundingClientRect().height;
100
+ });
101
+ expect(elementHeight).toBeGreaterThan(0);
102
+ });
103
+ it.skip("should add expanded to label text, when checked and collapsible", async () => {
104
+ // changes in the a11y has invalidated this test - revisit later
105
+ const strLabel = "Kissa";
106
+ const page = await createPage(`<duet-choice label="${strLabel}" checked collapsible></duet-choice>`);
107
+ const choice = await page.find("duet-choice");
108
+ await page.waitForChanges();
109
+ expect(choice.textContent).toBe(`${strLabel}, Expanded`);
110
+ });
111
+ it.skip("should add collapsed to label text, when unchecked and collapsible", async () => {
112
+ // changes in the a11y has invalidated this test - revisit later
113
+ const strLabel = "Kissa";
114
+ const page = await createPage(`<duet-choice label="${strLabel}" collapsible></duet-choice>`);
115
+ const choice = await page.find("duet-choice");
116
+ await page.waitForChanges();
117
+ expect(choice.textContent).toBe(`${strLabel}, Collapsed`);
118
+ });
119
+ it("should shortcircuit describedBy behaviour when accessibleDescribedBy is empty string", async () => {
120
+ const strLabel = "Kissa";
121
+ const page = await createPage(`<duet-choice label="${strLabel}" collapsible accessible-described-by=" "></duet-choice>`);
122
+ const choice = await page.find("duet-choice");
123
+ const input = await choice.find("input");
124
+ await page.waitForChanges();
125
+ expect(input.getAttribute("aria-describedby")).toBe(" ");
126
+ });
127
+ it("should shortcircuit describedBy behaviour when accessibleDescribedBy is 'false' string", async () => {
128
+ const strLabel = "Kissa";
129
+ const page = await createPage(`<duet-choice label="${strLabel}" collapsible accessible-described-by="false"></duet-choice>`);
130
+ const choice = await page.find("duet-choice");
131
+ const input = await choice.find("input");
132
+ await page.waitForChanges();
133
+ expect(input.getAttribute("aria-describedby")).toBe("false");
134
+ });
135
+ it("should provide a property that expands the choice to fill 100% width", async () => {
136
+ const page = await createPage(`<duet-choice expand></duet-choice>`);
137
+ const element = await page.find("duet-choice");
138
+ expect(element).toHaveClass("duet-expand");
139
+ });
140
+ it("should provide a property that adds icon to label", async () => {
141
+ const page = await createPage(`<duet-choice icon="category-pet-cat"></duet-choice>`);
142
+ const element = await page.find("duet-choice .duet-choice-card-icon");
143
+ expect(element).not.toBeNull();
144
+ });
145
+ it("should provide a property that adds caption", async () => {
146
+ const page = await createPage(`<duet-choice caption="foo"></duet-choice>`);
147
+ const element = await page.find("duet-choice duet-caption");
148
+ expect(element).not.toBeNull();
149
+ });
150
+ it("should only raise an event on user interaction, not when changing checked property programmatically", async () => {
151
+ const page = await createPage(`<duet-choice caption="foo"></duet-choice>`);
152
+ const choice = await page.find("duet-choice");
153
+ const changeEventSpy = await choice.spyOnEvent("duetChange");
154
+ choice.setProperty("checked", true);
155
+ await page.waitForChanges();
156
+ expect(changeEventSpy).not.toHaveReceivedEvent();
157
+ await choice.click();
158
+ expect(changeEventSpy).toHaveReceivedEvent();
159
+ });
160
+ it("should raise an event on focus", async () => {
161
+ const page = await createPage(`<duet-choice caption="foo"></duet-choice>`);
162
+ const choice = await page.find("duet-choice");
163
+ const focusEventSpy = await choice.spyOnEvent("duetFocus");
164
+ await page.keyboard.press("Tab");
165
+ await page.waitForChanges();
166
+ expect(focusEventSpy).toHaveReceivedEvent();
167
+ });
168
+ it("should raise an event on blur", async () => {
169
+ const page = await createPage(`
170
+ <duet-choice caption="foo"></duet-choice>
171
+ <button>another focusable element</button>
172
+ `);
173
+ const choice = await page.find("duet-choice");
174
+ const blurEventSpy = await choice.spyOnEvent("duetFocus");
175
+ // focus then blur the checkbox
176
+ await page.keyboard.press("Tab");
177
+ await page.keyboard.press("Tab");
178
+ await page.waitForChanges();
179
+ expect(blurEventSpy).toHaveReceivedEvent();
180
+ });
181
+ });
@@ -9,6 +9,7 @@ import { createID } from "../../utils/create-id";
9
9
  import { FocusGuard } from "../../utils/focus-utils";
10
10
  import { isEscapeKey, isKeyboardClick, isQuestionKey } from "../../utils/keyboard-utils";
11
11
  import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, getLocaleString, } from "../../utils/language-utils";
12
+ import { nudge } from "../../utils/nudge";
12
13
  /**
13
14
  * @slot unnamed default slot - The component’s primary content. All child nodes that do not have a slot attribute defined are inserted into this primary slot.
14
15
  * @slot label - Label content.
@@ -140,6 +141,9 @@ export class DuetChoice {
140
141
  this.hasLabel = hasSlot(this.element, "label");
141
142
  this.hasBeforeText = hasSlot(this.element, "before-text");
142
143
  }
144
+ componentDidLoad() {
145
+ nudge(this);
146
+ }
143
147
  connectedCallback() {
144
148
  connectLanguageChangeObserver(this, [
145
149
  { prop: "accessibleLabelInfoButton", defaults: "accessibleLabelInfoButtonDefaults" },
@@ -290,7 +294,8 @@ export class DuetChoice {
290
294
  "references": {
291
295
  "DuetTheme": {
292
296
  "location": "import",
293
- "path": "../../common-types"
297
+ "path": "../../common-types",
298
+ "id": "src/common-types.d.ts::DuetTheme"
294
299
  }
295
300
  }
296
301
  },
@@ -331,7 +336,8 @@ export class DuetChoice {
331
336
  "references": {
332
337
  "DuetLangObject": {
333
338
  "location": "import",
334
- "path": "../../utils/language-utils"
339
+ "path": "../../utils/language-utils",
340
+ "id": "src/utils/language-utils.ts::DuetLangObject"
335
341
  }
336
342
  }
337
343
  },
@@ -339,7 +345,7 @@ export class DuetChoice {
339
345
  "optional": false,
340
346
  "docs": {
341
347
  "tags": [],
342
- "text": "Property to change accessibleLabelInfoButton defaults on the component.\nnormally you would handle these strings on an application level and override @accessibleLabelInfoButton when needed"
348
+ "text": "Property to change accessibleLabelInfoButton defaults on the component.\nnormally you would handle these strings on an application level and override accessibleLabelInfoButton when needed"
343
349
  },
344
350
  "attribute": "accessible-label-info-default",
345
351
  "reflect": false,
@@ -532,7 +538,8 @@ export class DuetChoice {
532
538
  "references": {
533
539
  "DuetChoiceType": {
534
540
  "location": "import",
535
- "path": "../../common-types"
541
+ "path": "../../common-types",
542
+ "id": "src/common-types.d.ts::DuetChoiceType"
536
543
  }
537
544
  }
538
545
  },
@@ -626,7 +633,8 @@ export class DuetChoice {
626
633
  "references": {
627
634
  "DuetMargin": {
628
635
  "location": "import",
629
- "path": "../../common-types"
636
+ "path": "../../common-types",
637
+ "id": "src/common-types.d.ts::DuetMargin"
630
638
  }
631
639
  }
632
640
  },
@@ -685,7 +693,8 @@ export class DuetChoice {
685
693
  "references": {
686
694
  "DuetPadding": {
687
695
  "location": "import",
688
- "path": "../../common-types"
696
+ "path": "../../common-types",
697
+ "id": "src/common-types.d.ts::DuetPadding"
689
698
  }
690
699
  }
691
700
  },
@@ -725,7 +734,8 @@ export class DuetChoice {
725
734
  "references": {
726
735
  "DuetDirection": {
727
736
  "location": "import",
728
- "path": "../../common-types"
737
+ "path": "../../common-types",
738
+ "id": "src/common-types.d.ts::DuetDirection"
729
739
  }
730
740
  }
731
741
  },
@@ -826,7 +836,8 @@ export class DuetChoice {
826
836
  "references": {
827
837
  "DuetLangObject": {
828
838
  "location": "import",
829
- "path": "../../utils/language-utils"
839
+ "path": "../../utils/language-utils",
840
+ "id": "src/utils/language-utils.ts::DuetLangObject"
830
841
  }
831
842
  }
832
843
  },
@@ -890,7 +901,8 @@ export class DuetChoice {
890
901
  "references": {
891
902
  "DuetChoiceEvent": {
892
903
  "location": "local",
893
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-choice/duet-choice.tsx"
904
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-choice/duet-choice.tsx",
905
+ "id": "src/components/duet-choice/duet-choice.tsx::DuetChoiceEvent"
894
906
  }
895
907
  }
896
908
  }
@@ -910,7 +922,8 @@ export class DuetChoice {
910
922
  "references": {
911
923
  "DuetChoiceEvent": {
912
924
  "location": "local",
913
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-choice/duet-choice.tsx"
925
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-choice/duet-choice.tsx",
926
+ "id": "src/components/duet-choice/duet-choice.tsx::DuetChoiceEvent"
914
927
  }
915
928
  }
916
929
  }
@@ -930,7 +943,8 @@ export class DuetChoice {
930
943
  "references": {
931
944
  "DuetChoiceEvent": {
932
945
  "location": "local",
933
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-choice/duet-choice.tsx"
946
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-choice/duet-choice.tsx",
947
+ "id": "src/components/duet-choice/duet-choice.tsx::DuetChoiceEvent"
934
948
  }
935
949
  }
936
950
  }
@@ -947,10 +961,12 @@ export class DuetChoice {
947
961
  }],
948
962
  "references": {
949
963
  "Promise": {
950
- "location": "global"
964
+ "location": "global",
965
+ "id": "global::Promise"
951
966
  },
952
967
  "FocusOptions": {
953
- "location": "global"
968
+ "location": "global",
969
+ "id": "global::FocusOptions"
954
970
  }
955
971
  },
956
972
  "return": "Promise<void>"
@@ -966,7 +982,8 @@ export class DuetChoice {
966
982
  "parameters": [],
967
983
  "references": {
968
984
  "Promise": {
969
- "location": "global"
985
+ "location": "global",
986
+ "id": "global::Promise"
970
987
  }
971
988
  },
972
989
  "return": "Promise<void>"
@@ -0,0 +1,88 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { createPage } from "../../utils/test-utils";
5
+ describe("duet-choice-group", () => {
6
+ it("should render a choice group", async () => {
7
+ const page = await createPage("<duet-choice-group></duet-choice-group>");
8
+ const component = await page.find("duet-choice-group");
9
+ expect(component).not.toBeNull();
10
+ });
11
+ it("should provide a property that removes the margin of the component", async () => {
12
+ const page = await createPage(`<duet-choice-group margin="none"></duet-choice-group>`);
13
+ const element = await page.find(".duet-m-0");
14
+ expect(element).not.toBeNull();
15
+ });
16
+ it("should prevent stacking in non-responsive mode", async () => {
17
+ const page = await createPage(`<duet-choice-group></duet-choice-group>`);
18
+ const element = await page.find(".duet-choice-group");
19
+ expect(element).toHaveClass("duet-no-stacking");
20
+ });
21
+ it("should provide a property that toggles on a responsive mode", async () => {
22
+ const page = await createPage(`<duet-choice-group responsive></duet-choice-group>`);
23
+ const component = await page.find("duet-choice-group");
24
+ const element = await page.find(".duet-choice-group");
25
+ expect(component).toHaveClass("duet-choice-group-breakpoint-small");
26
+ expect(element).not.toHaveClass("duet-no-stacking");
27
+ });
28
+ it("should provide a property that changes the default breakpoint in a responsive mode", async () => {
29
+ const page = await createPage(`<duet-choice-group responsive breakpoint="medium"></duet-choice-group>`);
30
+ const component = await page.find("duet-choice-group");
31
+ expect(component).toHaveClass("duet-choice-group-breakpoint-medium");
32
+ });
33
+ it("should support using arrow keys to navigate through choices", async () => {
34
+ const page = await createPage(`
35
+ <duet-choice-group value="one" label="Test" direction="horizontal" name="group">
36
+ <duet-choice type="radio" label="1" value="1" expand></duet-choice>
37
+ <duet-choice type="radio" label="2" value="2" expand></duet-choice>
38
+ <duet-choice type="radio" label="3" value="3" expand></duet-choice>
39
+ </duet-choice-group>
40
+ `);
41
+ const choiceGroup = await page.find("duet-choice-group");
42
+ const duetChangeEvent = await choiceGroup.spyOnEvent("duetChange");
43
+ await page.keyboard.press("Tab");
44
+ await page.keyboard.press("ArrowDown");
45
+ await page.waitForChanges();
46
+ expect(duetChangeEvent).toHaveReceivedEventTimes(1);
47
+ expect(duetChangeEvent.lastEvent.detail).toEqual({
48
+ checked: true,
49
+ value: "2",
50
+ component: "duet-choice",
51
+ });
52
+ });
53
+ it("should associate the tooltip with the legend", async () => {
54
+ const page = await createPage(`
55
+ <duet-choice-group value="one" label="This choice group has a tooltip" tooltip="Hello, I'm a tooltip!.">
56
+ <duet-choice label="Elainvakuutus" type="radio" value="one" expand></duet-choice>
57
+ <duet-choice label="Autovakuutus" type="radio" value="two" expand></duet-choice>
58
+ </duet-choice-group>
59
+ `);
60
+ const legend = await page.find("duet-fieldset >>> legend");
61
+ const tooltip = await page.find("duet-tooltip");
62
+ const tooltipInputLabel = await tooltip.getProperty("accessibleInputLabel");
63
+ expect(tooltipInputLabel).not.toBeNull();
64
+ expect(legend.textContent).toBe(tooltipInputLabel);
65
+ });
66
+ it("ignores duetChange events from all components other than duet-choice", async () => {
67
+ const page = await createPage(`
68
+ <link rel="stylesheet" href="http://localhost:3334/fonts/lib/localtapiola.css" />
69
+ <duet-choice-group value="svenska" label="Asiointikieli" name="group" responsive>
70
+ <duet-choice label="Svenska" type="radio" value="svenska" collapsible expand>
71
+ <duet-textarea></duet-textarea>
72
+ </duet-choice>
73
+ </duet-choice-group>
74
+ `);
75
+ const choiceGroup = await page.find("duet-choice-group");
76
+ // tab to textarea
77
+ await page.keyboard.press("Tab");
78
+ await page.keyboard.press("Tab");
79
+ // enter some text to trigger duetChange event from textarea
80
+ await page.keyboard.type("hello");
81
+ // tab out
82
+ await page.keyboard.press("Tab");
83
+ await page.waitForChanges();
84
+ // value should not have changed
85
+ const value = await choiceGroup.getProperty("value");
86
+ expect(value).toBe("svenska");
87
+ });
88
+ });
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { Build, h, Host } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common/themeable-component";
6
+ import { nudge } from "../../utils/nudge";
6
7
  import { findCheckedOption, watchForOptions } from "../../utils/watch-options";
7
8
  const duetChoiceSelector = ":scope duet-choice:not(:scope duet-choice duet-choice-group duet-choice):not(:scope duet-choice duet-fieldset duet-choice)";
8
9
  export class DuetChoiceGroup {
@@ -87,6 +88,9 @@ export class DuetChoiceGroup {
87
88
  componentWillLoad() {
88
89
  inheritGlobalTheme(this);
89
90
  }
91
+ componentDidLoad() {
92
+ nudge(this);
93
+ }
90
94
  /**
91
95
  * Local methods
92
96
  */
@@ -157,7 +161,8 @@ export class DuetChoiceGroup {
157
161
  "references": {
158
162
  "DuetDirection": {
159
163
  "location": "import",
160
- "path": "../../common-types"
164
+ "path": "../../common-types",
165
+ "id": "src/common-types.d.ts::DuetDirection"
161
166
  }
162
167
  }
163
168
  },
@@ -180,7 +185,8 @@ export class DuetChoiceGroup {
180
185
  "references": {
181
186
  "DuetMargin": {
182
187
  "location": "import",
183
- "path": "../../common-types"
188
+ "path": "../../common-types",
189
+ "id": "src/common-types.d.ts::DuetMargin"
184
190
  }
185
191
  }
186
192
  },
@@ -203,7 +209,8 @@ export class DuetChoiceGroup {
203
209
  "references": {
204
210
  "DuetTheme": {
205
211
  "location": "import",
206
- "path": "../../common-types"
212
+ "path": "../../common-types",
213
+ "id": "src/common-types.d.ts::DuetTheme"
207
214
  }
208
215
  }
209
216
  },
@@ -333,7 +340,8 @@ export class DuetChoiceGroup {
333
340
  "references": {
334
341
  "DuetTooltipDirection": {
335
342
  "location": "import",
336
- "path": "../../common-types"
343
+ "path": "../../common-types",
344
+ "id": "src/common-types.d.ts::DuetTooltipDirection"
337
345
  }
338
346
  }
339
347
  },
@@ -374,7 +382,8 @@ export class DuetChoiceGroup {
374
382
  "references": {
375
383
  "DuetChoiceGroupBreakpoint": {
376
384
  "location": "import",
377
- "path": "../../common-types"
385
+ "path": "../../common-types",
386
+ "id": "src/common-types.d.ts::DuetChoiceGroupBreakpoint"
378
387
  }
379
388
  }
380
389
  },
@@ -0,0 +1,125 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { createPage } from "../../utils/test-utils";
5
+ describe("duet-collapsible", () => {
6
+ // taken from here: https://github.com/puppeteer/puppeteer/issues/545#issuecomment-489338078
7
+ function isElementVisible(page, selector) {
8
+ return page.$eval(selector, (element) => {
9
+ if (!element) {
10
+ return false;
11
+ }
12
+ return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length);
13
+ });
14
+ }
15
+ const generatePage = async (open = false) => {
16
+ return createPage(`
17
+ <meta charset="utf-8" />
18
+ <link rel='stylesheet' href='http://localhost:3334/fonts/lib/localtapiola.css' />
19
+ <duet-collapsible heading="First collapsible" ${open ? "open" : ""} accessible-label="Accessible First collapsible">
20
+ <duet-paragraph>
21
+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Aperiam impedit, possimus minima repudiandae
22
+ </duet-paragraph>
23
+ <duet-paragraph>
24
+ Laudantium consectetur iusto fugiat hic porro vero ex, non atque saepe maiores. Consectetur tempore
25
+ </duet-paragraph>
26
+ </duet-collapsible>
27
+ <duet-collapsible heading="Second collapsible" heading-weight="normal" ${open ? "open" : ""}>
28
+ <duet-paragraph>
29
+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Aperiam impedit, possimus minima repudiandae
30
+ </duet-paragraph>
31
+ <duet-paragraph>
32
+ Laudantium consectetur iusto fugiat hic porro vero ex, non atque saepe maiores. Consectetur tempore
33
+ </duet-paragraph>
34
+ <duet-collapsible class="inner" heading="Inner collapsible" heading-weight="normal">
35
+ <duet-paragraph class="inner">
36
+ Laudantium consectetur iusto fugiat hic porro vero ex, non atque saepe maiores. Consectetur tempore
37
+ </duet-paragraph>
38
+ </duet-collapsible>
39
+ </duet-collapsible>
40
+ <duet-collapsible heading="Third collapsible">
41
+ <div slot="after-heading">
42
+ <duet-badge>Badge</duet-badge>
43
+ </div>
44
+ <duet-paragraph>
45
+ Laudantium consectetur iusto fugiat hic porro vero ex, non atque saepe maiores. Consectetur tempore
46
+ </duet-paragraph>
47
+ </duet-collapsible>
48
+ `);
49
+ };
50
+ it("renders", async () => {
51
+ const page = await generatePage();
52
+ const collapsible = await page.find("duet-collapsible");
53
+ expect(collapsible).toHaveClass("hydrated");
54
+ });
55
+ it("can be initially open", async () => {
56
+ const page = await generatePage(true);
57
+ expect(await isElementVisible(page, "duet-paragraph")).toBe(true);
58
+ });
59
+ it("can be initially closed", async () => {
60
+ const page = await generatePage();
61
+ expect(await isElementVisible(page, "duet-paragraph")).toBe(false);
62
+ });
63
+ it("can have initially closed duet-collapsible nested inside initially open one", async () => {
64
+ const page = await generatePage(true);
65
+ expect(await isElementVisible(page, "duet-paragraph.inner")).toBe(false);
66
+ });
67
+ it("can open initially closed nested on click", async () => {
68
+ const page = await generatePage(true);
69
+ expect(await isElementVisible(page, "duet-paragraph.inner")).toBe(false);
70
+ const button = await page.find("duet-collapsible.inner >>> button");
71
+ await button.click();
72
+ expect(await isElementVisible(page, "duet-paragraph.inner")).toBe(true);
73
+ });
74
+ it("closes on click", async () => {
75
+ const page = await generatePage(true);
76
+ expect(await isElementVisible(page, "duet-paragraph")).toBe(true);
77
+ const button = await page.find("duet-collapsible >>> button");
78
+ await button.click();
79
+ expect(await isElementVisible(page, "duet-paragraph")).toBe(false);
80
+ });
81
+ it("opens on click", async () => {
82
+ const page = await generatePage();
83
+ expect(await isElementVisible(page, "duet-paragraph")).toBe(false);
84
+ const button = await page.find("duet-collapsible >>> button");
85
+ await button.click();
86
+ expect(await isElementVisible(page, "duet-paragraph")).toBe(true);
87
+ });
88
+ it("closes on space key", async () => {
89
+ const page = await generatePage(true);
90
+ await page.keyboard.press("Tab");
91
+ await page.keyboard.press("Space");
92
+ await page.waitForChanges();
93
+ expect(await isElementVisible(page, "duet-paragraph")).toBe(false);
94
+ });
95
+ it("closes on return key", async () => {
96
+ const page = await generatePage(true);
97
+ await page.keyboard.press("Tab");
98
+ await page.keyboard.press("Enter");
99
+ await page.waitForChanges();
100
+ expect(await isElementVisible(page, "duet-paragraph")).toBe(false);
101
+ });
102
+ it("raises a toggle event", async () => {
103
+ const page = await generatePage(true);
104
+ const collapsible = await page.find("duet-collapsible");
105
+ const duetToggle = await collapsible.spyOnEvent("duetToggle");
106
+ const button = await page.find("duet-collapsible >>> button");
107
+ await button.click();
108
+ expect(duetToggle).toHaveReceivedEventTimes(1);
109
+ });
110
+ it("renders the necessary aria attributes", async () => {
111
+ const page = await generatePage();
112
+ const content = await page.find("duet-collapsible >>> [id]");
113
+ const button = await page.find("duet-collapsible >>> button");
114
+ // button and content should be associated via aria-controls/id attributes
115
+ expect(button.getAttribute("aria-controls")).toEqual(content.id);
116
+ expect(button.getAttribute("aria-label")).toBe("Accessible First collapsible");
117
+ expect(button.getAttribute("aria-expanded")).toBe("false");
118
+ await button.click();
119
+ expect(button.getAttribute("aria-expanded")).toBe("true");
120
+ });
121
+ it("renders the after-heading slot", async () => {
122
+ const page = await generatePage();
123
+ expect(await isElementVisible(page, "duet-badge")).toBe(true);
124
+ });
125
+ });