@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,468 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { createPage } from "../../utils/test-utils";
5
+ describe("duet-header", () => {
6
+ it("should render a header", async () => {
7
+ const page = await createPage(`<duet-header></duet-header>`);
8
+ const component = await page.find("duet-header");
9
+ expect(component).not.toBeNull();
10
+ expect(component).toHaveClass("hydrated");
11
+ });
12
+ it("should shouldn’t render mobile dropdown if no items are passed", async () => {
13
+ const page = await createPage(`<duet-header language="fi"></duet-header>`);
14
+ const element = await page.find("duet-header >>> .duet-header-toggle");
15
+ expect(element).toBeNull();
16
+ });
17
+ it("should should render mobile dropdown if items are passed", async () => {
18
+ const page = await createPage(`<duet-header></duet-header>`);
19
+ await page.$eval("duet-header", (el) => {
20
+ el.contact = "demo";
21
+ el.contactItems = [
22
+ { label: "Viestit", href: "/viestit/" },
23
+ { label: "Avaa chat", href: "/chat/" },
24
+ { label: "Yhteystiedot", href: "/yhteystiedot/" },
25
+ ];
26
+ });
27
+ await page.waitForChanges();
28
+ const element = await page.find("duet-header >>> .duet-header-toggle");
29
+ expect(element).not.toBeNull();
30
+ });
31
+ it("should shouldn’t render contact menu when prop isn’t passed", async () => {
32
+ const page = await createPage(`<duet-header language="fi"></duet-header>`);
33
+ const element = await page.find("duet-header >>> .duet-header-contact");
34
+ expect(element).toBeNull();
35
+ });
36
+ it("shouldn’t render language menu when prop isn’t passed", async () => {
37
+ const page = await createPage(`<duet-header language="fi"></duet-header>`);
38
+ const element = await page.find("duet-header >>> .duet-header-language");
39
+ expect(element).toBeNull();
40
+ });
41
+ it("shouldn’t render region when prop isn’t passed", async () => {
42
+ const page = await createPage(`<duet-header language="fi"></duet-header>`);
43
+ const element = await page.find("duet-header >>> .duet-header-region");
44
+ expect(element).toBeNull();
45
+ });
46
+ it("shouldn’t render user when prop isn’t passed", async () => {
47
+ const page = await createPage(`<duet-header language="fi"></duet-header>`);
48
+ const element = await page.find("duet-header >>> .duet-header-user");
49
+ expect(element).toBeNull();
50
+ });
51
+ it("should provide a property that sets language", async () => {
52
+ const page = await createPage(`<duet-header language="en"></duet-header>`);
53
+ const element = await page.find("duet-header >>> duet-logo");
54
+ expect(element.getAttribute("language")).toEqual("en");
55
+ });
56
+ it("should provide a property that sets language items", async () => {
57
+ const page = await createPage(`<duet-header></duet-header>`);
58
+ await page.$eval("duet-header", (el) => {
59
+ el.language = "en";
60
+ el.languageItems = [
61
+ { label: "Suomeksi", country: "fi", href: "/?lang=fi" },
62
+ { label: "På Svenska", country: "sv", href: "/?lang=sv" },
63
+ { label: "In English", country: "en", href: "/?lang=en" },
64
+ ];
65
+ });
66
+ await page.waitForChanges();
67
+ const element = await page.find("duet-header >>> .duet-header-language-items a:first-child");
68
+ expect(element.getAttribute("href")).toEqual("/?lang=fi");
69
+ });
70
+ it("should provide a property that switches the theme", async () => {
71
+ const page = await createPage(`<duet-header theme="turva"></duet-header>`);
72
+ const element = await page.find("duet-header >>> .duet-header");
73
+ expect(element).toHaveClass("duet-theme-turva");
74
+ });
75
+ it("should provide a property that gives accessible label to nav toggle", async () => {
76
+ const page = await createPage(`<duet-header></duet-header>`);
77
+ await page.$eval("duet-header", (el) => {
78
+ el.accessibleLabel = "demo";
79
+ el.items = [
80
+ { label: "Etusivu", href: "/" },
81
+ { label: "Vakuutukset", href: "/vakuutukset/", id: "test" },
82
+ ];
83
+ el.user = { label: "Test", href: "/" };
84
+ });
85
+ await page.waitForChanges();
86
+ const element = await page.find("duet-header >>> .duet-header-toggle duet-visually-hidden");
87
+ expect(element.textContent).toEqual("demo");
88
+ });
89
+ it("should provide a property that changes logo’s href", async () => {
90
+ const page = await createPage(`<duet-header logo-href="demo"></duet-header>`);
91
+ const element = await page.find("duet-header >>> duet-logo");
92
+ expect(element.getAttribute("href")).toEqual("demo");
93
+ });
94
+ it("should provide a property that highlights the currently active href", async () => {
95
+ const page = await createPage(`<duet-header></duet-header>`);
96
+ await page.$eval("duet-header", (el) => {
97
+ el.currentHref = "/vakuutukset/";
98
+ el.items = [
99
+ { label: "Etusivu", href: "/" },
100
+ { label: "Vakuutukset", href: "/vakuutukset/", id: "test" },
101
+ ];
102
+ });
103
+ await page.waitForChanges();
104
+ const element = await page.find("duet-header >>> .duet-header-items #test");
105
+ expect(element).toHaveClass("active");
106
+ });
107
+ it("should provide a property that renders main navigation", async () => {
108
+ const page = await createPage(`<duet-header></duet-header>`);
109
+ await page.$eval("duet-header", (el) => {
110
+ el.items = [
111
+ { label: "Etusivu", href: "/" },
112
+ { label: "Vakuutukset", href: "/vakuutukset/" },
113
+ ];
114
+ });
115
+ await page.waitForChanges();
116
+ const element = await page.find("duet-header >>> .duet-header-items a:first-child");
117
+ expect(element).not.toBeNull();
118
+ });
119
+ it("should provide a property that sets the current region", async () => {
120
+ const page = await createPage(`
121
+ <meta charset="UTF-8">
122
+ <duet-header region="Pääkaupunkiseutu"></duet-header>
123
+ `);
124
+ const element = await page.find("duet-header >>> .duet-header-region");
125
+ expect(element.textContent).toEqual("Pääkaupunkiseutu");
126
+ });
127
+ it("should provide a property that renders contact menu label", async () => {
128
+ const page = await createPage(`<duet-header></duet-header>`);
129
+ await page.$eval("duet-header", (el) => {
130
+ el.contact = "demo";
131
+ el.contactItems = [
132
+ { label: "Viestit", href: "/viestit/" },
133
+ { label: "Avaa chat", href: "/chat/" },
134
+ { label: "Yhteystiedot", href: "/yhteystiedot/" },
135
+ ];
136
+ });
137
+ await page.waitForChanges();
138
+ const element = await page.find("duet-header >>> .duet-header-contact");
139
+ expect(element).not.toBeNull();
140
+ });
141
+ it("should provide a property that renders contact menu items", async () => {
142
+ const page = await createPage(`<duet-header></duet-header>`);
143
+ await page.$eval("duet-header", (el) => {
144
+ el.contact = "demo";
145
+ el.contactItems = [
146
+ { label: "Viestit", href: "/viestit/" },
147
+ { label: "Avaa chat", href: "/chat/" },
148
+ { label: "Yhteystiedot", href: "/yhteystiedot/" },
149
+ ];
150
+ });
151
+ await page.waitForChanges();
152
+ const element = await page.find("duet-header >>> .duet-header-contact-items a:first-child");
153
+ expect(element.textContent).toEqual("Viestit");
154
+ });
155
+ it("should provide a property that renders user menu link", async () => {
156
+ const page = await createPage(`<duet-header></duet-header>`);
157
+ await page.$eval("duet-header", (el) => {
158
+ el.user = { label: "Foo bar", href: "/demo/", id: "test" };
159
+ });
160
+ await page.waitForChanges();
161
+ const element = await page.find("duet-header >>> #test");
162
+ expect(element.textContent).toEqual("Foo bar");
163
+ });
164
+ it("should provide a property that renders session menu link", async () => {
165
+ const page = await createPage(`<duet-header></duet-header>`);
166
+ await page.$eval("duet-header", (el) => {
167
+ el.session = { label: "Log out", href: "/?logout=true", id: "test", type: "logout" };
168
+ });
169
+ await page.waitForChanges();
170
+ const element = await page.find("duet-header >>> #test");
171
+ expect(element.textContent).toEqual("Log out");
172
+ });
173
+ it("should be possible to render login link as well", async () => {
174
+ const page = await createPage(`<duet-header></duet-header>`);
175
+ await page.$eval("duet-header", (el) => {
176
+ el.session = { label: "Log in", href: "/?login", id: "test", type: "login" };
177
+ });
178
+ await page.waitForChanges();
179
+ const element = await page.find("duet-header >>> #test");
180
+ expect(element.textContent).toEqual("Log in");
181
+ });
182
+ it("should provide a property that renders back link", async () => {
183
+ const page = await createPage(`<duet-header></duet-header>`);
184
+ await page.$eval("duet-header", (el) => {
185
+ el.back = { label: "Takaisin", href: "/", id: "test" };
186
+ });
187
+ await page.waitForChanges();
188
+ const element = await page.find("duet-header >>> #test");
189
+ expect(element.textContent).toEqual("Takaisin");
190
+ });
191
+ it("shouldn’t render skip to content link if no ID is passed", async () => {
192
+ const page = await createPage(`<duet-header language="fi"></duet-header>`);
193
+ const element = await page.find("duet-header >>> .duet-header-skip");
194
+ expect(element).toBeNull();
195
+ });
196
+ it("should render skip to content link", async () => {
197
+ const page = await createPage(`<duet-header skip-to-id="#content"></duet-header>`);
198
+ const element = await page.find("duet-header >>> .duet-header-skip");
199
+ expect(element.textContent).toEqual("Siirry pääsisältöön");
200
+ });
201
+ it("should automatically refresh itself when content changes", async () => {
202
+ const page = await createPage(`<duet-header></duet-header>`);
203
+ await page.$eval("duet-header", (el) => {
204
+ el.items = [
205
+ { label: "Etusivu", href: "/" },
206
+ { label: "Vakuutukset", href: "#" },
207
+ { label: "Vahinkoasiat", href: "#" },
208
+ { label: "Säästöt ja sijoitukset", href: "#" },
209
+ { label: "Laskut", href: "#", badge: true },
210
+ { label: "Viestit", href: "#" },
211
+ ];
212
+ });
213
+ const element = await page.find("duet-header");
214
+ // should be updated when setting the *attribute*
215
+ element.setAttribute("items", '[{ "label": "test", "href": "#" }]');
216
+ await page.waitForChanges();
217
+ const test = await page.find("duet-header >>> .duet-header-items a:first-child");
218
+ expect(test).toEqualText("test");
219
+ // should also be updated when setting the label *property*
220
+ element.setProperty("items", [{ label: "test 2", href: "#" }]);
221
+ await page.waitForChanges();
222
+ expect(test).toEqualText("test 2");
223
+ });
224
+ it("should not error when unmounting", async () => {
225
+ const back = { label: "back", href: "#" };
226
+ const page = await createPage(`<duet-header back="${JSON.stringify(back)}"></duet-header>`);
227
+ let error = null;
228
+ page.on("console", err => {
229
+ if (err.type() === "error") {
230
+ error = err.text();
231
+ }
232
+ });
233
+ await page.$eval("duet-header", header => header.remove());
234
+ expect(error).toBeNull();
235
+ });
236
+ describe("events", () => {
237
+ let page;
238
+ let header;
239
+ const props = {
240
+ items: [
241
+ { id: "item-1", label: "Etusivu", href: "/" },
242
+ { id: "item-2", label: "Vakuutukset", href: "#" },
243
+ { id: "item-3", label: "Vahinkoasiat", href: "#" },
244
+ { id: "item-4", label: "Säästöt ja sijoitukset", href: "#" },
245
+ { id: "item-5", label: "Laskut", href: "#", badge: true },
246
+ { id: "item-6", label: "Viestit", href: "#" },
247
+ ],
248
+ contactItems: [
249
+ { id: "contact-1", label: "Lähetä viesti", href: "/viestit/laheta" },
250
+ { id: "contact-2", label: "Avaa chat", href: "/chat/" },
251
+ { id: "contact-3", label: "Yhteystiedot", href: "/yhteystiedot/" },
252
+ ],
253
+ languageItems: [
254
+ { id: "language-1", label: "Suomeksi", country: "fi", href: "/?lang=fi" },
255
+ { id: "language-2", label: "På Svenska", country: "sv", href: "/?lang=sv" },
256
+ { id: "language-3", label: "In English", country: "en", href: "/?lang=en" },
257
+ ],
258
+ session: {
259
+ label: "Kirjaudu ulos",
260
+ href: "/?logout",
261
+ type: "logout",
262
+ id: "session",
263
+ },
264
+ user: {
265
+ label: "Elina",
266
+ href: "/?userId=elina",
267
+ id: "user",
268
+ },
269
+ logoHref: "/logo",
270
+ skipToId: "#content",
271
+ };
272
+ async function openMenu(page) {
273
+ const menuToggle = await page.find("duet-header >>> .duet-header-toggle");
274
+ await menuToggle.click();
275
+ await page.waitForChanges();
276
+ }
277
+ beforeEach(async () => {
278
+ page = await createPage(`
279
+ <meta charset="utf-8" />
280
+ <duet-header
281
+ language="fi"
282
+ region="Pääkaupunkiseutu"
283
+ contact="Ota yhteyttä"
284
+ current-href="/"
285
+ >
286
+ </duet-header>
287
+ `);
288
+ header = await page.find("duet-header");
289
+ await page.$eval("duet-header", (header, props) => Object.assign(header, props), props);
290
+ await page.waitForChanges();
291
+ });
292
+ it("raises events when logo is clicked", async () => {
293
+ const logo = await page.find("duet-header >>> duet-logo");
294
+ const changeSpy = await header.spyOnEvent("duetChange");
295
+ const logoSpy = await header.spyOnEvent("duetLogoClick");
296
+ await logo.click();
297
+ const expected = {
298
+ component: "duet-header",
299
+ data: { href: props.logoHref, label: "logo" },
300
+ originalEvent: expect.anything(),
301
+ };
302
+ expect(changeSpy.firstEvent.detail).toEqual(expected);
303
+ expect(logoSpy.firstEvent.detail).toEqual(expected);
304
+ });
305
+ it("raises events when a menu item is clicked", async () => {
306
+ const menuItem = await page.find("duet-header >>> #item-1");
307
+ const changeSpy = await header.spyOnEvent("duetChange");
308
+ const itemSpy = await header.spyOnEvent("duetItemClick");
309
+ await openMenu(page);
310
+ await page.waitForChanges();
311
+ await menuItem.click();
312
+ const expected = {
313
+ component: "duet-header",
314
+ data: props.items[0],
315
+ originalEvent: expect.anything(),
316
+ };
317
+ expect(changeSpy.firstEvent.detail).toEqual(expected);
318
+ expect(itemSpy.firstEvent.detail).toEqual(expected);
319
+ });
320
+ it("raises events when a language is selected", async () => {
321
+ const languageSelect = await page.find("duet-header >>> #duet-header-language-button");
322
+ const language = await page.find("duet-header >>> #language-3");
323
+ const changeSpy = await header.spyOnEvent("duetChange");
324
+ const languageSpy = await header.spyOnEvent("duetLanguageSelect");
325
+ await openMenu(page);
326
+ await languageSelect.click();
327
+ await page.waitForChanges();
328
+ await language.click();
329
+ const expected = {
330
+ component: "duet-header",
331
+ data: props.languageItems[2],
332
+ originalEvent: expect.anything(),
333
+ };
334
+ expect(changeSpy.firstEvent.detail).toEqual(expected);
335
+ expect(languageSpy.firstEvent.detail).toEqual(expected);
336
+ });
337
+ it("raises events when contact item is clicked", async () => {
338
+ const contactDropdown = await page.find("duet-header >>> #duet-header-contact-button");
339
+ const contact = await page.find("duet-header >>> #contact-3");
340
+ const changeSpy = await header.spyOnEvent("duetChange");
341
+ const contactSpy = await header.spyOnEvent("duetContactClick");
342
+ await openMenu(page);
343
+ await contactDropdown.click();
344
+ await page.waitForChanges();
345
+ await contact.click();
346
+ const expected = {
347
+ component: "duet-header",
348
+ data: props.contactItems[2],
349
+ originalEvent: expect.anything(),
350
+ };
351
+ expect(changeSpy.firstEvent.detail).toEqual(expected);
352
+ expect(contactSpy.firstEvent.detail).toEqual(expected);
353
+ });
354
+ it("raises events when session is clicked", async () => {
355
+ const session = await page.find("duet-header >>> #session");
356
+ const changeSpy = await header.spyOnEvent("duetChange");
357
+ const sessionSpy = await header.spyOnEvent("duetSessionClick");
358
+ await openMenu(page);
359
+ await page.waitForChanges();
360
+ await session.click();
361
+ const expected = {
362
+ component: "duet-header",
363
+ data: props.session,
364
+ originalEvent: expect.anything(),
365
+ };
366
+ expect(changeSpy.firstEvent.detail).toEqual(expected);
367
+ expect(sessionSpy.firstEvent.detail).toEqual(expected);
368
+ });
369
+ it("raises events when user is clicked", async () => {
370
+ const user = await page.find("duet-header >>> #user");
371
+ const changeSpy = await header.spyOnEvent("duetChange");
372
+ const userSpy = await header.spyOnEvent("duetUserClick");
373
+ await openMenu(page);
374
+ await page.waitForChanges();
375
+ await user.click();
376
+ const expected = {
377
+ component: "duet-header",
378
+ data: props.user,
379
+ originalEvent: expect.anything(),
380
+ };
381
+ expect(changeSpy.firstEvent.detail).toEqual(expected);
382
+ expect(userSpy.firstEvent.detail).toEqual(expected);
383
+ });
384
+ it("raises events when skip link is clicked", async () => {
385
+ await page.keyboard.press("Tab");
386
+ await page.waitForChanges();
387
+ const changeSpy = await header.spyOnEvent("duetChange");
388
+ const skipSpy = await header.spyOnEvent("duetSkipClick");
389
+ await page.keyboard.press("Enter");
390
+ const expected = {
391
+ component: "duet-header",
392
+ data: { href: props.skipToId, label: expect.any(String) },
393
+ originalEvent: expect.anything(),
394
+ };
395
+ expect(changeSpy.firstEvent.detail).toEqual(expected);
396
+ expect(skipSpy.firstEvent.detail).toEqual(expected);
397
+ });
398
+ it("raises events when back button is clicked", async () => {
399
+ const backData = { id: "back-btn", href: "#", label: "back" };
400
+ await page.$eval("duet-header", (header, back) => {
401
+ header.back = back;
402
+ }, backData);
403
+ await page.waitForChanges();
404
+ const back = await page.find(`duet-header >>> #${backData.id}`);
405
+ const changeSpy = await header.spyOnEvent("duetChange");
406
+ const backSpy = await header.spyOnEvent("duetBackClick");
407
+ await back.click();
408
+ const expected = {
409
+ component: "duet-header",
410
+ data: backData,
411
+ originalEvent: expect.anything(),
412
+ };
413
+ expect(changeSpy.firstEvent.detail).toEqual(expected);
414
+ expect(backSpy.firstEvent.detail).toEqual(expected);
415
+ });
416
+ });
417
+ describe("analytics", () => {
418
+ let page;
419
+ const openMenu = async () => {
420
+ const menuToggle = await page.find("duet-header >>> .duet-header-toggle");
421
+ await menuToggle.click();
422
+ };
423
+ beforeEach(async () => {
424
+ page = await createPage(`
425
+ <duet-header
426
+ items='[
427
+ { "label": "item 1", "id": "item-1", "analyticsId": "item analytics" } ,
428
+ { "label": "item 2", "id": "item-2" }
429
+ ]'
430
+ ></duet-header>
431
+ `);
432
+ });
433
+ it("allows analytics to be set for header items", async () => {
434
+ await openMenu();
435
+ const analyticsSpy = await page.spyOnEvent("duetAnalytics");
436
+ const item1 = await page.find("duet-header >>> #item-1");
437
+ await item1.click();
438
+ expect(analyticsSpy).toHaveReceivedEventDetail({
439
+ analyticsId: "item analytics",
440
+ component: "duet-header",
441
+ });
442
+ });
443
+ it("does nothing when items without analytics are clicked", async () => {
444
+ await openMenu();
445
+ const analyticsSpy = await page.spyOnEvent("duetAnalytics");
446
+ const item2 = await page.find("duet-header >>> #item-2");
447
+ await item2.click();
448
+ expect(analyticsSpy).toHaveReceivedEventTimes(0);
449
+ });
450
+ it("allows analytics to be set for user item", async () => {
451
+ await page.$eval("duet-header", (header) => {
452
+ header.user = {
453
+ label: "Nick",
454
+ href: "#",
455
+ analyticsId: "user analytics",
456
+ };
457
+ });
458
+ await openMenu();
459
+ const analyticsSpy = await page.spyOnEvent("duetAnalytics");
460
+ const userButton = await page.find("duet-header >>> .duet-header-user");
461
+ await userButton.click();
462
+ expect(analyticsSpy).toHaveReceivedEventDetail({
463
+ analyticsId: "user analytics",
464
+ component: "duet-header",
465
+ });
466
+ });
467
+ });
468
+ });