@duetds/components 7.1.0 → 7.1.2

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 (875) hide show
  1. package/hydrate/index.d.ts +6 -6
  2. package/hydrate/index.js +404 -243
  3. package/lib/cjs/duet-action-button.cjs.entry.js +29 -13
  4. package/lib/cjs/duet-alert.cjs.entry.js +6 -6
  5. package/lib/cjs/duet-badge.cjs.entry.js +3 -3
  6. package/lib/cjs/duet-banner.cjs.entry.js +4 -4
  7. package/lib/cjs/duet-breadcrumb.cjs.entry.js +5 -5
  8. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +4 -4
  9. package/lib/cjs/duet-button_2.cjs.entry.js +7 -7
  10. package/lib/cjs/duet-callout.cjs.entry.js +3 -3
  11. package/lib/cjs/duet-caption_4.cjs.entry.js +26 -9
  12. package/lib/cjs/duet-card.cjs.entry.js +7 -7
  13. package/lib/cjs/duet-checkbox.cjs.entry.js +4 -4
  14. package/lib/cjs/duet-checkmark.cjs.entry.js +2 -2
  15. package/lib/cjs/duet-chip.cjs.entry.js +4 -4
  16. package/lib/cjs/duet-choice_2.cjs.entry.js +11 -11
  17. package/lib/cjs/duet-collapsible.cjs.entry.js +7 -7
  18. package/lib/cjs/duet-combobox.cjs.entry.js +6 -6
  19. package/lib/cjs/duet-contact-card.cjs.entry.js +5 -5
  20. package/lib/cjs/duet-cookie-consent.cjs.entry.js +3 -3
  21. package/lib/cjs/duet-date-picker.cjs.entry.js +7 -7
  22. package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
  23. package/lib/cjs/duet-editable-table_3.cjs.entry.js +10 -10
  24. package/lib/cjs/duet-empty-state.cjs.entry.js +3 -3
  25. package/lib/cjs/duet-fieldset.cjs.entry.js +5 -5
  26. package/lib/cjs/duet-footer.cjs.entry.js +6 -6
  27. package/lib/cjs/duet-grid_2.cjs.entry.js +3 -3
  28. package/lib/cjs/duet-header_2.cjs.entry.js +9 -9
  29. package/lib/cjs/duet-hero.cjs.entry.js +14 -8
  30. package/lib/cjs/duet-icon.cjs.entry.js +4 -4
  31. package/lib/cjs/duet-input_2.cjs.entry.js +8 -8
  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 +3 -3
  35. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +4 -4
  36. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +4 -4
  37. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +3 -3
  38. package/lib/cjs/duet-menu-bar.cjs.entry.js +3 -3
  39. package/lib/cjs/duet-modal.cjs.entry.js +10 -10
  40. package/lib/cjs/duet-multiselect.cjs.entry.js +7 -7
  41. package/lib/cjs/duet-nav.cjs.entry.js +2 -2
  42. package/lib/cjs/duet-notification_2.cjs.entry.js +5 -5
  43. package/lib/cjs/duet-number-input.cjs.entry.js +7 -7
  44. package/lib/cjs/duet-page-heading.cjs.entry.js +3 -3
  45. package/lib/cjs/duet-pagination_2.cjs.entry.js +79 -45
  46. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +3 -3
  47. package/lib/cjs/duet-popup-menu.cjs.entry.js +5 -5
  48. package/lib/cjs/duet-progress.cjs.entry.js +6 -6
  49. package/lib/cjs/duet-promo-card.cjs.entry.js +4 -4
  50. package/lib/cjs/duet-radio_2.cjs.entry.js +5 -5
  51. package/lib/cjs/duet-range-slider.cjs.entry.js +5 -5
  52. package/lib/cjs/duet-scrollable_3.cjs.entry.js +7 -7
  53. package/lib/cjs/duet-section-layout.cjs.entry.js +2 -2
  54. package/lib/cjs/duet-select.cjs.entry.js +5 -5
  55. package/lib/cjs/duet-shaped-image.cjs.entry.js +2 -2
  56. package/lib/cjs/duet-show-more.cjs.entry.js +7 -7
  57. package/lib/cjs/duet-slideout-lang.cjs.entry.js +5 -5
  58. package/lib/cjs/duet-slideout-link.cjs.entry.js +3 -3
  59. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +3 -3
  60. package/lib/cjs/duet-slideout-panel.cjs.entry.js +7 -7
  61. package/lib/cjs/duet-slideout.cjs.entry.js +9 -9
  62. package/lib/cjs/duet-step_2.cjs.entry.js +5 -5
  63. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +4 -4
  64. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +4 -4
  65. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +4 -4
  66. package/lib/cjs/duet-submenu-bar.cjs.entry.js +4 -4
  67. package/lib/cjs/duet-textarea.cjs.entry.js +5 -5
  68. package/lib/cjs/duet-toggle.cjs.entry.js +4 -4
  69. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +4 -4
  70. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +4 -4
  71. package/lib/cjs/duet-toolbar-link.cjs.entry.js +3 -3
  72. package/lib/cjs/duet-toolbar.cjs.entry.js +2 -2
  73. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +5 -5
  74. package/lib/cjs/duet-tooltip.cjs.entry.js +8 -8
  75. package/lib/cjs/duet-tray.cjs.entry.js +6 -6
  76. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
  77. package/lib/cjs/duet-upload-item.cjs.entry.js +6 -6
  78. package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
  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-09463cf4.js → focus-utils-c58cda6e.js} +1 -1
  82. package/lib/cjs/{index-e43540c9.js → index-690ed579.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/collection/collection-manifest.json +98 -98
  86. package/lib/collection/components/duet-action-button/duet-action-button.css +12 -12
  87. package/lib/collection/components/duet-action-button/duet-action-button.js +54 -12
  88. package/lib/collection/components/duet-alert/duet-alert.e2e.js +53 -0
  89. package/lib/collection/components/duet-alert/duet-alert.js +23 -12
  90. package/lib/collection/components/duet-badge/duet-badge.e2e.js +28 -0
  91. package/lib/collection/components/duet-badge/duet-badge.js +6 -3
  92. package/lib/collection/components/duet-banner/duet-banner.e2e.js +23 -0
  93. package/lib/collection/components/duet-banner/duet-banner.js +16 -8
  94. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -2
  95. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.e2e.js +18 -0
  96. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -1
  97. package/lib/collection/components/duet-button/duet-button.e2e.js +210 -0
  98. package/lib/collection/components/duet-button/duet-button.js +29 -15
  99. package/lib/collection/components/duet-callout/duet-callout.e2e.js +21 -0
  100. package/lib/collection/components/duet-callout/duet-callout.js +4 -2
  101. package/lib/collection/components/duet-caption/duet-caption.e2e.js +26 -0
  102. package/lib/collection/components/duet-caption/duet-caption.js +6 -3
  103. package/lib/collection/components/duet-card/duet-card.e2e.js +91 -0
  104. package/lib/collection/components/duet-card/duet-card.js +24 -12
  105. package/lib/collection/components/duet-checkbox/duet-checkbox.e2e.js +112 -0
  106. package/lib/collection/components/duet-checkbox/duet-checkbox.js +14 -7
  107. package/lib/collection/components/duet-chip/duet-chip.e2e.js +46 -0
  108. package/lib/collection/components/duet-chip/duet-chip.js +16 -8
  109. package/lib/collection/components/duet-choice/duet-checkmark.js +4 -2
  110. package/lib/collection/components/duet-choice/duet-choice.e2e.js +181 -0
  111. package/lib/collection/components/duet-choice/duet-choice.js +27 -14
  112. package/lib/collection/components/duet-choice-group/duet-choice-group.e2e.js +88 -0
  113. package/lib/collection/components/duet-choice-group/duet-choice-group.js +10 -5
  114. package/lib/collection/components/duet-collapsible/duet-collapsible.e2e.js +125 -0
  115. package/lib/collection/components/duet-collapsible/duet-collapsible.js +16 -8
  116. package/lib/collection/components/duet-combobox/duet-combobox.e2e.js +110 -0
  117. package/lib/collection/components/duet-combobox/duet-combobox.js +14 -7
  118. package/lib/collection/components/duet-contact-card/duet-contact-card.js +6 -3
  119. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.e2e.js +31 -0
  120. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +4 -2
  121. package/lib/collection/components/duet-date-picker/date-utils.spec.js +330 -0
  122. package/lib/collection/components/duet-date-picker/duet-date-picker.e2e.js +694 -0
  123. package/lib/collection/components/duet-date-picker/duet-date-picker.js +28 -14
  124. package/lib/collection/components/duet-divider/duet-divider.e2e.js +32 -0
  125. package/lib/collection/components/duet-divider/duet-divider.js +6 -3
  126. package/lib/collection/components/duet-editable-table/duet-editable-table.e2e.js +29 -0
  127. package/lib/collection/components/duet-editable-table/duet-editable-table.js +20 -10
  128. package/lib/collection/components/duet-empty-state/duet-empty-state.e2e.js +16 -0
  129. package/lib/collection/components/duet-empty-state/duet-empty-state.js +6 -3
  130. package/lib/collection/components/duet-fieldset/duet-fieldset.e2e.js +13 -0
  131. package/lib/collection/components/duet-fieldset/duet-fieldset.js +6 -3
  132. package/lib/collection/components/duet-footer/duet-footer.e2e.js +186 -0
  133. package/lib/collection/components/duet-footer/duet-footer.js +23 -12
  134. package/lib/collection/components/duet-grid/duet-grid.e2e.js +42 -0
  135. package/lib/collection/components/duet-grid/duet-grid.js +10 -5
  136. package/lib/collection/components/duet-grid-item/duet-grid-item.js +8 -4
  137. package/lib/collection/components/duet-header/duet-header.e2e.js +468 -0
  138. package/lib/collection/components/duet-header/duet-header.js +50 -26
  139. package/lib/collection/components/duet-heading/duet-heading.e2e.js +27 -0
  140. package/lib/collection/components/duet-heading/duet-heading.js +12 -6
  141. package/lib/collection/components/duet-hero/duet-hero.css +6 -0
  142. package/lib/collection/components/duet-hero/duet-hero.e2e.js +172 -0
  143. package/lib/collection/components/duet-hero/duet-hero.js +69 -14
  144. package/lib/collection/components/duet-icon/duet-icon.e2e.js +32 -0
  145. package/lib/collection/components/duet-icon/duet-icon.js +14 -7
  146. package/lib/collection/components/duet-icon/icon-utils.spec.js +84 -0
  147. package/lib/collection/components/duet-input/duet-input.e2e.js +201 -0
  148. package/lib/collection/components/duet-input/duet-input.js +32 -16
  149. package/lib/collection/components/duet-label/duet-label.e2e.js +32 -0
  150. package/lib/collection/components/duet-label/duet-label.js +6 -3
  151. package/lib/collection/components/duet-layout/duet-layout.e2e.js +32 -0
  152. package/lib/collection/components/duet-layout/duet-layout.js +6 -3
  153. package/lib/collection/components/duet-link/duet-link.css +4 -1
  154. package/lib/collection/components/duet-link/duet-link.e2e.js +53 -0
  155. package/lib/collection/components/duet-link/duet-link.js +90 -11
  156. package/lib/collection/components/duet-list/duet-list.e2e.js +105 -0
  157. package/lib/collection/components/duet-list/duet-list.js +14 -7
  158. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -1
  159. package/lib/collection/components/duet-logo/duet-logo.e2e.js +42 -0
  160. package/lib/collection/components/duet-logo/duet-logo.js +14 -7
  161. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +4 -2
  162. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +6 -3
  163. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +6 -3
  164. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -1
  165. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -1
  166. package/lib/collection/components/duet-modal/duet-modal.e2e.js +125 -0
  167. package/lib/collection/components/duet-modal/duet-modal.js +24 -12
  168. package/lib/collection/components/duet-multiselect/duet-multiselect.e2e.js +96 -0
  169. package/lib/collection/components/duet-multiselect/duet-multiselect.js +20 -10
  170. package/lib/collection/components/duet-nav/duet-nav.js +2 -1
  171. package/lib/collection/components/duet-notification/duet-notification.e2e.js +12 -0
  172. package/lib/collection/components/duet-notification/duet-notification.js +11 -6
  173. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.e2e.js +177 -0
  174. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +18 -9
  175. package/lib/collection/components/duet-number-input/duet-number-input-negative.e2e.js +32 -0
  176. package/lib/collection/components/duet-number-input/duet-number-input.e2e.js +242 -0
  177. package/lib/collection/components/duet-number-input/duet-number-input.js +30 -15
  178. package/lib/collection/components/duet-page-heading/duet-page-heading.js +4 -2
  179. package/lib/collection/components/duet-pagination/duet-pagination.e2e.js +101 -0
  180. package/lib/collection/components/duet-pagination/duet-pagination.js +102 -41
  181. package/lib/collection/components/duet-paragraph/duet-paragraph.e2e.js +27 -0
  182. package/lib/collection/components/duet-paragraph/duet-paragraph.js +12 -6
  183. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +14 -7
  184. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +16 -8
  185. package/lib/collection/components/duet-progress/duet-progress.e2e.js +12 -0
  186. package/lib/collection/components/duet-progress/duet-progress.js +4 -2
  187. package/lib/collection/components/duet-promo-card/duet-promo-card.e2e.js +23 -0
  188. package/lib/collection/components/duet-promo-card/duet-promo-card.js +10 -5
  189. package/lib/collection/components/duet-radio/duet-radio.e2e.js +135 -0
  190. package/lib/collection/components/duet-radio/duet-radio.js +16 -8
  191. package/lib/collection/components/duet-radio-group/duet-radio-group.e2e.js +57 -0
  192. package/lib/collection/components/duet-radio-group/duet-radio-group.js +8 -4
  193. package/lib/collection/components/duet-range-slider/duet-range-slider.e2e.js +57 -0
  194. package/lib/collection/components/duet-range-slider/duet-range-slider.js +14 -7
  195. package/lib/collection/components/duet-range-stepper/duet-range-stepper.e2e.js +51 -0
  196. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +8 -4
  197. package/lib/collection/components/duet-range-stepper/duet-range-stepper.spec.js +23 -0
  198. package/lib/collection/components/duet-scrollable/duet-scrollable.e2e.js +12 -0
  199. package/lib/collection/components/duet-scrollable/duet-scrollable.js +2 -1
  200. package/lib/collection/components/duet-section-layout/duet-section-layout.e2e.js +22 -0
  201. package/lib/collection/components/duet-section-layout/duet-section-layout.js +2 -1
  202. package/lib/collection/components/duet-select/duet-select.e2e.js +211 -0
  203. package/lib/collection/components/duet-select/duet-select.js +20 -10
  204. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +4 -2
  205. package/lib/collection/components/duet-show-more/duet-show-more.js +16 -8
  206. package/lib/collection/components/duet-slideout/duet-slideout.js +12 -6
  207. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +2 -1
  208. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -1
  209. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +8 -4
  210. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +6 -3
  211. package/lib/collection/components/duet-spacer/duet-spacer.e2e.js +27 -0
  212. package/lib/collection/components/duet-spacer/duet-spacer.js +6 -3
  213. package/lib/collection/components/duet-spinner/duet-spinner.e2e.js +30 -0
  214. package/lib/collection/components/duet-spinner/duet-spinner.js +6 -3
  215. package/lib/collection/components/duet-step/duet-step.e2e.js +92 -0
  216. package/lib/collection/components/duet-step/duet-step.js +12 -6
  217. package/lib/collection/components/duet-stepper/duet-stepper.e2e.js +85 -0
  218. package/lib/collection/components/duet-stepper/duet-stepper.js +6 -3
  219. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +6 -3
  220. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +6 -3
  221. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -1
  222. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +2 -1
  223. package/lib/collection/components/duet-tab/duet-tab.e2e.js +16 -0
  224. package/lib/collection/components/duet-tab/duet-tab.js +2 -1
  225. package/lib/collection/components/duet-tab-group/duet-tab-group.e2e.js +108 -0
  226. package/lib/collection/components/duet-tab-group/duet-tab-group.js +24 -12
  227. package/lib/collection/components/duet-table/duet-table.e2e.js +95 -0
  228. package/lib/collection/components/duet-table/duet-table.js +10 -5
  229. package/lib/collection/components/duet-textarea/duet-textarea.e2e.js +199 -0
  230. package/lib/collection/components/duet-textarea/duet-textarea.js +18 -9
  231. package/lib/collection/components/duet-toggle/duet-toggle.e2e.js +73 -0
  232. package/lib/collection/components/duet-toggle/duet-toggle.js +10 -5
  233. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -1
  234. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +6 -3
  235. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -1
  236. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -1
  237. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +6 -3
  238. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +14 -7
  239. package/lib/collection/components/duet-tooltip/duet-tooltip.e2e.js +99 -0
  240. package/lib/collection/components/duet-tooltip/duet-tooltip.js +12 -6
  241. package/lib/collection/components/duet-tray/duet-tray.e2e.js +103 -0
  242. package/lib/collection/components/duet-tray/duet-tray.js +8 -4
  243. package/lib/collection/components/duet-upload/duet-upload.e2e.js +49 -0
  244. package/lib/collection/components/duet-upload/duet-upload.js +69 -35
  245. package/lib/collection/components/duet-upload/upload-validators.spec.js +41 -0
  246. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +2 -1
  247. package/lib/collection/components/duet-upload-item/duet-upload-item.js +18 -9
  248. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.e2e.js +12 -0
  249. package/lib/collection/utils/create-id.spec.js +12 -0
  250. package/lib/collection/utils/js-utils.spec.js +22 -0
  251. package/lib/collection/utils/language-utils.spec.js +159 -0
  252. package/lib/collection/utils/math.utils.spec.js +140 -0
  253. package/lib/collection/utils/string-utils.spec.js +39 -0
  254. package/lib/collection/utils/template-utils.spec.js +39 -0
  255. package/lib/collection/utils/token-utils.spec.js +178 -0
  256. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  257. package/lib/dist-custom-elements/duet-alert.js +1 -1
  258. package/lib/dist-custom-elements/duet-badge.js +1 -1
  259. package/lib/dist-custom-elements/duet-banner.js +8 -8
  260. package/lib/dist-custom-elements/duet-breadcrumb.js +6 -6
  261. package/lib/dist-custom-elements/duet-breadcrumbs.js +4 -4
  262. package/lib/dist-custom-elements/duet-button.js +1 -1
  263. package/lib/dist-custom-elements/duet-callout.js +6 -6
  264. package/lib/dist-custom-elements/duet-caption.js +1 -1
  265. package/lib/dist-custom-elements/duet-card.js +10 -10
  266. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  267. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  268. package/lib/dist-custom-elements/duet-chip.js +8 -6
  269. package/lib/dist-custom-elements/duet-choice-group.js +18 -12
  270. package/lib/dist-custom-elements/duet-choice.js +14 -14
  271. package/lib/dist-custom-elements/duet-collapsible.js +9 -9
  272. package/lib/dist-custom-elements/duet-combobox.js +15 -10
  273. package/lib/dist-custom-elements/duet-contact-card.js +12 -12
  274. package/lib/dist-custom-elements/duet-cookie-consent.js +9 -9
  275. package/lib/dist-custom-elements/duet-date-picker.js +25 -20
  276. package/lib/dist-custom-elements/duet-divider.js +1 -1
  277. package/lib/dist-custom-elements/duet-editable-table.js +14 -14
  278. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  279. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  280. package/lib/dist-custom-elements/duet-footer.js +13 -10
  281. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  282. package/lib/dist-custom-elements/duet-grid.js +1 -1
  283. package/lib/dist-custom-elements/duet-header.js +25 -18
  284. package/lib/dist-custom-elements/duet-heading.js +1 -1
  285. package/lib/dist-custom-elements/duet-hero.js +29 -17
  286. package/lib/dist-custom-elements/duet-icon.js +1 -1
  287. package/lib/dist-custom-elements/duet-input.js +1 -1
  288. package/lib/dist-custom-elements/duet-label.js +1 -1
  289. package/lib/dist-custom-elements/duet-layout.js +3 -3
  290. package/lib/dist-custom-elements/duet-link.js +1 -1
  291. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  292. package/lib/dist-custom-elements/duet-list.js +1 -1
  293. package/lib/dist-custom-elements/duet-logo.js +1 -1
  294. package/lib/dist-custom-elements/duet-menu-bar-button.js +5 -5
  295. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +6 -6
  296. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +6 -6
  297. package/lib/dist-custom-elements/duet-menu-bar-link.js +5 -5
  298. package/lib/dist-custom-elements/duet-menu-bar.js +5 -5
  299. package/lib/dist-custom-elements/duet-modal.js +20 -17
  300. package/lib/dist-custom-elements/duet-multiselect.js +20 -18
  301. package/lib/dist-custom-elements/duet-nav.js +3 -3
  302. package/lib/dist-custom-elements/duet-notification-drawer.js +8 -8
  303. package/lib/dist-custom-elements/duet-notification.js +6 -6
  304. package/lib/dist-custom-elements/duet-number-input.js +17 -17
  305. package/lib/dist-custom-elements/duet-page-heading.js +5 -5
  306. package/lib/dist-custom-elements/duet-pagination.js +98 -57
  307. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  308. package/lib/dist-custom-elements/duet-popup-menu-item.js +5 -5
  309. package/lib/dist-custom-elements/duet-popup-menu.js +6 -6
  310. package/lib/dist-custom-elements/duet-progress.js +1 -1
  311. package/lib/dist-custom-elements/duet-promo-card.js +7 -7
  312. package/lib/dist-custom-elements/duet-radio-group.js +18 -12
  313. package/lib/dist-custom-elements/duet-radio.js +4 -4
  314. package/lib/dist-custom-elements/duet-range-slider.js +7 -7
  315. package/lib/dist-custom-elements/duet-range-stepper.js +13 -10
  316. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  317. package/lib/dist-custom-elements/duet-section-layout.js +3 -3
  318. package/lib/dist-custom-elements/duet-select.js +1 -1
  319. package/lib/dist-custom-elements/duet-shaped-image.js +3 -3
  320. package/lib/dist-custom-elements/duet-show-more.js +11 -11
  321. package/lib/dist-custom-elements/duet-slideout-lang.js +6 -6
  322. package/lib/dist-custom-elements/duet-slideout-link.js +5 -5
  323. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +5 -5
  324. package/lib/dist-custom-elements/duet-slideout-panel.js +8 -8
  325. package/lib/dist-custom-elements/duet-slideout.js +10 -10
  326. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  327. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  328. package/lib/dist-custom-elements/duet-step.js +9 -9
  329. package/lib/dist-custom-elements/duet-stepper.js +9 -6
  330. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +6 -6
  331. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +6 -6
  332. package/lib/dist-custom-elements/duet-submenu-bar-link.js +6 -6
  333. package/lib/dist-custom-elements/duet-submenu-bar.js +8 -6
  334. package/lib/dist-custom-elements/duet-tab-group.js +19 -19
  335. package/lib/dist-custom-elements/duet-tab.js +4 -4
  336. package/lib/dist-custom-elements/duet-table.js +1 -1
  337. package/lib/dist-custom-elements/duet-textarea.js +17 -15
  338. package/lib/dist-custom-elements/duet-toggle.js +8 -6
  339. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +6 -6
  340. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +6 -6
  341. package/lib/dist-custom-elements/duet-toolbar-link.js +5 -5
  342. package/lib/dist-custom-elements/duet-toolbar.js +3 -3
  343. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  344. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  345. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  346. package/lib/dist-custom-elements/duet-tray.js +8 -8
  347. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  348. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  349. package/lib/dist-custom-elements/duet-upload.js +27 -25
  350. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  351. package/lib/dist-custom-elements/index.d.ts +6 -0
  352. package/lib/dist-custom-elements/index.js +1 -1
  353. package/lib/dist-custom-elements/{p-fcc738df.js → p-0b57c524.js} +3 -3
  354. package/lib/dist-custom-elements/{p-53148470.js → p-0ba124b9.js} +5 -5
  355. package/lib/dist-custom-elements/{p-4d9d4c43.js → p-1486b0c1.js} +9 -4
  356. package/lib/dist-custom-elements/{p-67b279fa.js → p-1e4076af.js} +5 -5
  357. package/lib/dist-custom-elements/{p-a5b5343b.js → p-2641fc0a.js} +16 -13
  358. package/lib/dist-custom-elements/{p-fc3ae836.js → p-2c71a27f.js} +7 -3
  359. package/lib/dist-custom-elements/{p-99ec82e5.js → p-35de375b.js} +6 -6
  360. package/lib/dist-custom-elements/{p-03baceb5.js → p-4883df66.js} +1 -1
  361. package/lib/dist-custom-elements/{p-6958bba3.js → p-493cc4fa.js} +15 -15
  362. package/lib/dist-custom-elements/{p-1a8cb0ad.js → p-58de13d4.js} +8 -6
  363. package/lib/dist-custom-elements/{p-ec4d603d.js → p-62c7d9d4.js} +1 -1
  364. package/lib/dist-custom-elements/{p-d8859df9.js → p-630ecbb3.js} +4 -4
  365. package/lib/dist-custom-elements/{p-479fa83d.js → p-67c36e47.js} +32 -15
  366. package/lib/dist-custom-elements/{p-87cf7266.js → p-6d492269.js} +10 -8
  367. package/lib/dist-custom-elements/{p-77c93063.js → p-88eed3e1.js} +4 -4
  368. package/lib/dist-custom-elements/{p-d6e49c93.js → p-8ad6dca9.js} +7 -7
  369. package/lib/dist-custom-elements/{p-c2533c03.js → p-8bf1f4a8.js} +3 -3
  370. package/lib/dist-custom-elements/{p-cedaa97e.js → p-912094d4.js} +2 -2
  371. package/lib/dist-custom-elements/{p-6a66573f.js → p-948bdce9.js} +15 -10
  372. package/lib/dist-custom-elements/{p-d8c53f43.js → p-9c86efb4.js} +2 -2
  373. package/lib/dist-custom-elements/{p-6816fd1b.js → p-9f8e1aca.js} +10 -10
  374. package/lib/dist-custom-elements/{p-ad704699.js → p-a1becc63.js} +10 -8
  375. package/lib/dist-custom-elements/{p-f7337164.js → p-a25a0c57.js} +4 -4
  376. package/lib/dist-custom-elements/{p-dd33aa4e.js → p-a83ac481.js} +5 -5
  377. package/lib/dist-custom-elements/{p-decdd69c.js → p-acba25ec.js} +5 -5
  378. package/lib/dist-custom-elements/{p-72c9e944.js → p-b0e6db65.js} +4 -4
  379. package/lib/dist-custom-elements/{p-85087518.js → p-b3d7f37b.js} +5 -5
  380. package/lib/dist-custom-elements/{p-21dd956e.js → p-c0599d67.js} +31 -10
  381. package/lib/dist-custom-elements/{p-e611a3df.js → p-c4dd0df2.js} +9 -5
  382. package/lib/dist-custom-elements/{p-061830ef.js → p-c5032d3a.js} +1 -1
  383. package/lib/dist-custom-elements/{p-7c6ee265.js → p-c9e95a9c.js} +15 -13
  384. package/lib/dist-custom-elements/{p-53fba128.js → p-d10ecec6.js} +4 -4
  385. package/lib/dist-custom-elements/{p-89dec98e.js → p-d9120001.js} +7 -7
  386. package/lib/dist-custom-elements/{p-12a46182.js → p-dca02738.js} +12 -4
  387. package/lib/dist-custom-elements/{p-03e72a70.js → p-e19d1e27.js} +1 -1
  388. package/lib/dist-custom-elements/{p-e90b70ac.js → p-e81b7043.js} +3 -3
  389. package/lib/dist-custom-elements/{p-954d4096.js → p-f99ec481.js} +20 -17
  390. package/lib/dist-custom-elements/{p-1d90b10e.js → p-ff199982.js} +507 -166
  391. package/lib/duet/duet.esm.js +1 -1
  392. package/lib/duet/duet.js +2 -6
  393. package/lib/duet/{p-0c203d28.entry.js → p-002b8f41.entry.js} +1 -1
  394. package/lib/duet/{p-1c8634b1.entry.js → p-02baa949.entry.js} +1 -1
  395. package/lib/duet/{p-0f2664ed.entry.js → p-0528e2a7.entry.js} +1 -1
  396. package/lib/duet/p-053b71e6.system.js +1 -1
  397. package/lib/duet/{p-cc48a8a0.system.entry.js → p-06352a34.system.entry.js} +2 -2
  398. package/lib/duet/{p-b42b2676.entry.js → p-09bade4b.entry.js} +1 -1
  399. package/lib/duet/{p-e52631b1.entry.js → p-0a33ef8e.entry.js} +1 -1
  400. package/lib/duet/p-0c4bbd65.system.js +1 -1
  401. package/lib/duet/{p-acfae908.system.entry.js → p-0eb0c8c0.system.entry.js} +2 -2
  402. package/lib/duet/p-0ee95a64.entry.js +4 -0
  403. package/lib/duet/{p-84ebe175.entry.js → p-11bd9a89.entry.js} +1 -1
  404. package/lib/duet/p-11e2303e.system.entry.js +4 -0
  405. package/lib/duet/{p-250745c0.system.entry.js → p-16d4371a.system.entry.js} +2 -2
  406. package/lib/duet/{p-469892f4.system.entry.js → p-17e15242.system.entry.js} +1 -1
  407. package/lib/duet/{p-5ab4d5d4.entry.js → p-18a31510.entry.js} +1 -1
  408. package/lib/duet/p-1a91e22a.system.js +4 -0
  409. package/lib/duet/{p-9b992ce9.entry.js → p-1b6fb905.entry.js} +1 -1
  410. package/lib/duet/{p-9f65b014.system.entry.js → p-1bdc4a34.system.entry.js} +1 -1
  411. package/lib/duet/{p-c655b7d1.system.entry.js → p-1d053237.system.entry.js} +1 -1
  412. package/lib/duet/p-1f65b60f.entry.js +4 -0
  413. package/lib/duet/{p-7ee29cc1.system.entry.js → p-1fcbfb23.system.entry.js} +2 -2
  414. package/lib/duet/p-215eda28.system.entry.js +4 -0
  415. package/lib/duet/p-21f3a17a.system.js +1 -1
  416. package/lib/duet/{p-84390ead.entry.js → p-23134d90.entry.js} +1 -1
  417. package/lib/duet/p-232940fa.system.js +4 -0
  418. package/lib/duet/{p-d79fa6a4.system.entry.js → p-245fb629.system.entry.js} +2 -2
  419. package/lib/duet/p-26095a08.system.js +4 -0
  420. package/lib/duet/{p-3878572f.entry.js → p-2748aa50.entry.js} +1 -1
  421. package/lib/duet/{p-b41ed3c4.entry.js → p-28960e09.entry.js} +1 -1
  422. package/lib/duet/{p-f7793f52.entry.js → p-2906fe6c.entry.js} +1 -1
  423. package/lib/duet/{p-fb238069.entry.js → p-2a830ee9.entry.js} +1 -1
  424. package/lib/duet/{p-5fb428c8.system.entry.js → p-2cacedde.system.entry.js} +2 -2
  425. package/lib/duet/{p-5f2fc4bd.entry.js → p-2d4c6724.entry.js} +1 -1
  426. package/lib/duet/p-2da624a5.system.entry.js +4 -0
  427. package/lib/duet/{p-b6c212f5.system.entry.js → p-2eab12b7.system.entry.js} +1 -1
  428. package/lib/duet/{p-a322b729.entry.js → p-2fb0a3de.entry.js} +1 -1
  429. package/lib/duet/{p-e62f72a3.entry.js → p-32d74eb9.entry.js} +1 -1
  430. package/lib/duet/{p-0bb83776.system.entry.js → p-334112ab.system.entry.js} +2 -2
  431. package/lib/duet/{p-6d71214f.entry.js → p-34249a02.entry.js} +1 -1
  432. package/lib/duet/{p-42c64bb8.system.entry.js → p-34b3855f.system.entry.js} +2 -2
  433. package/lib/duet/{p-3768dda7.system.entry.js → p-35a932ab.system.entry.js} +2 -2
  434. package/lib/duet/{p-70c7a137.system.entry.js → p-35c6f8ce.system.entry.js} +1 -1
  435. package/lib/duet/{p-3092d696.system.entry.js → p-3b82aa9e.system.entry.js} +2 -2
  436. package/lib/duet/p-3cd4a72e.system.entry.js +4 -0
  437. package/lib/duet/{p-73c9436a.entry.js → p-3e39b66d.entry.js} +1 -1
  438. package/lib/duet/{p-e4fd145a.entry.js → p-43587827.entry.js} +1 -1
  439. package/lib/duet/p-43f99432.entry.js +4 -0
  440. package/lib/duet/{p-e91385fb.js → p-4669b0af.js} +1 -1
  441. package/lib/duet/{p-79266582.system.entry.js → p-46b4ef6c.system.entry.js} +1 -1
  442. package/lib/duet/{p-15a77012.system.entry.js → p-48361f6f.system.entry.js} +1 -1
  443. package/lib/duet/{p-03baceb5.js → p-4883df66.js} +1 -1
  444. package/lib/duet/{p-9f975819.system.entry.js → p-48da4668.system.entry.js} +2 -2
  445. package/lib/duet/{p-7be35e53.system.entry.js → p-4a497c15.system.entry.js} +2 -2
  446. package/lib/duet/{p-729f35d8.system.entry.js → p-4a4dbe4e.system.entry.js} +2 -2
  447. package/lib/duet/{p-529dc6fe.entry.js → p-4b79c0dc.entry.js} +1 -1
  448. package/lib/duet/{p-86b83b73.system.entry.js → p-4c3b19ec.system.entry.js} +2 -2
  449. package/lib/duet/p-4f1c6cc0.system.entry.js +4 -0
  450. package/lib/duet/p-52b57add.system.entry.js +4 -0
  451. package/lib/duet/p-54e6e82f.system.js +5 -0
  452. package/lib/duet/{p-a276bfbd.entry.js → p-55759777.entry.js} +1 -1
  453. package/lib/duet/{p-014edbda.system.entry.js → p-5664dbfc.system.entry.js} +2 -2
  454. package/lib/duet/p-58dc5c7f.entry.js +4 -0
  455. package/lib/duet/{p-f702fd53.entry.js → p-5bdc3d08.entry.js} +1 -1
  456. package/lib/duet/{p-c8836a67.system.entry.js → p-5e56ebad.system.entry.js} +1 -1
  457. package/lib/duet/{p-73242991.entry.js → p-5eb72773.entry.js} +1 -1
  458. package/lib/duet/p-63707d67.system.entry.js +4 -0
  459. package/lib/duet/{p-30d1b2b5.entry.js → p-65d39961.entry.js} +1 -1
  460. package/lib/duet/{p-7a7da6cf.system.entry.js → p-6779c17b.system.entry.js} +2 -2
  461. package/lib/duet/{p-0dfe14d3.entry.js → p-67819e2b.entry.js} +1 -1
  462. package/lib/duet/{p-dde971f6.system.entry.js → p-6a26a5c9.system.entry.js} +2 -2
  463. package/lib/duet/{p-b529eb0c.system.entry.js → p-6a8c7ad8.system.entry.js} +2 -2
  464. package/lib/duet/{p-2d7d1ff7.entry.js → p-6b02135b.entry.js} +1 -1
  465. package/lib/duet/{p-fc26d56a.entry.js → p-6b9bcd66.entry.js} +1 -1
  466. package/lib/duet/{p-baef301c.system.entry.js → p-6c1bb847.system.entry.js} +2 -2
  467. package/lib/duet/{p-6b2c127a.entry.js → p-6cca1a56.entry.js} +1 -1
  468. package/lib/duet/{p-c8536d3f.entry.js → p-6cf633e0.entry.js} +1 -1
  469. package/lib/duet/{p-bb5d22df.entry.js → p-6f399f72.entry.js} +1 -1
  470. package/lib/duet/{p-e2daed97.entry.js → p-701d90ff.entry.js} +1 -1
  471. package/lib/duet/{p-a620d583.system.entry.js → p-70dcc782.system.entry.js} +1 -1
  472. package/lib/duet/p-719b38fe.system.js +4 -0
  473. package/lib/duet/p-72887f8e.system.entry.js +4 -0
  474. package/lib/duet/p-75daef16.system.js +4 -0
  475. package/lib/duet/p-7671b7b7.system.js +4 -0
  476. package/lib/duet/{p-33b3aba4.system.js → p-77b6e4ba.system.js} +1 -1
  477. package/lib/duet/{p-37ee4ceb.system.entry.js → p-78f8e483.system.entry.js} +2 -2
  478. package/lib/duet/{p-3344fca3.entry.js → p-7becefd3.entry.js} +1 -1
  479. package/lib/duet/{p-85605193.system.entry.js → p-7bfb912d.system.entry.js} +2 -2
  480. package/lib/duet/p-7c29d36a.system.js +4 -0
  481. package/lib/duet/{p-bdb50607.system.entry.js → p-7c672283.system.entry.js} +2 -2
  482. package/lib/duet/p-7cd149d5.system.entry.js +4 -0
  483. package/lib/duet/{p-edbc2774.entry.js → p-7cefb9c8.entry.js} +1 -1
  484. package/lib/duet/{p-90f97748.entry.js → p-7d5d6371.entry.js} +1 -1
  485. package/lib/duet/{p-792cbd42.system.entry.js → p-80157d8f.system.entry.js} +2 -2
  486. package/lib/duet/{p-1e3f0d63.system.entry.js → p-824841b9.system.entry.js} +1 -1
  487. package/lib/duet/{p-f5c2ccce.entry.js → p-82ed0c1e.entry.js} +1 -1
  488. package/lib/duet/{p-fc1fee5c.system.js → p-83c33ce1.system.js} +1 -1
  489. package/lib/duet/{p-9601bad5.entry.js → p-852393bd.entry.js} +1 -1
  490. package/lib/duet/{p-9bdf6ce2.entry.js → p-861e2ba5.entry.js} +1 -1
  491. package/lib/duet/p-87dd7bf3.system.js +4 -0
  492. package/lib/duet/{p-51328149.entry.js → p-893682f2.entry.js} +1 -1
  493. package/lib/duet/p-8972381a.system.js +4 -0
  494. package/lib/duet/{p-a922b309.system.entry.js → p-8c2eb2f4.system.entry.js} +2 -2
  495. package/lib/duet/p-8d0d6e06.system.js +4 -0
  496. package/lib/duet/p-8e1da663.system.js +4 -0
  497. package/lib/duet/{p-2bec5be2.entry.js → p-8e2ddb69.entry.js} +1 -1
  498. package/lib/duet/{p-285b2d7b.system.entry.js → p-8f2a8dfd.system.entry.js} +1 -1
  499. package/lib/duet/p-8f477bd6.system.js +1 -1
  500. package/lib/duet/{p-5ac682b3.system.entry.js → p-90133074.system.entry.js} +1 -1
  501. package/lib/duet/{p-0b38374b.system.entry.js → p-9170537f.system.entry.js} +1 -1
  502. package/lib/duet/{p-da7cc3d1.entry.js → p-921c430e.entry.js} +1 -1
  503. package/lib/duet/{p-b6e50064.entry.js → p-9281ad1f.entry.js} +1 -1
  504. package/lib/duet/{p-34aa54e1.entry.js → p-929f96e6.entry.js} +1 -1
  505. package/lib/duet/p-94a9fe8f.system.entry.js +4 -0
  506. package/lib/duet/{p-4903f5c4.system.entry.js → p-959c412f.system.entry.js} +1 -1
  507. package/lib/duet/{p-b3a1ea89.system.entry.js → p-97af94e6.system.entry.js} +2 -2
  508. package/lib/duet/{p-1853e4e5.system.entry.js → p-983ffcca.system.entry.js} +2 -2
  509. package/lib/duet/{p-92c7c0ba.entry.js → p-9a5b6324.entry.js} +1 -1
  510. package/lib/duet/p-9d033a04.system.js +1 -1
  511. package/lib/duet/{p-ee0ca0fd.entry.js → p-9e2fc97b.entry.js} +1 -1
  512. package/lib/duet/p-a1dadf5f.entry.js +4 -0
  513. package/lib/duet/{p-8ac518e1.system.entry.js → p-a27749fc.system.entry.js} +1 -1
  514. package/lib/duet/{p-ad70248d.entry.js → p-a4262e9e.entry.js} +1 -1
  515. package/lib/duet/p-a44381d5.js +5 -0
  516. package/lib/duet/{p-ab2d8091.entry.js → p-a77d6daa.entry.js} +1 -1
  517. package/lib/duet/{p-4b71c8e9.entry.js → p-a8c0eab5.entry.js} +1 -1
  518. package/lib/duet/{p-97076e02.entry.js → p-ad97d7c8.entry.js} +1 -1
  519. package/lib/duet/{p-c52e0917.entry.js → p-af9efdf9.entry.js} +1 -1
  520. package/lib/duet/{p-f5e12c14.system.entry.js → p-b0552213.system.entry.js} +1 -1
  521. package/lib/duet/{p-e96bed1e.system.entry.js → p-b177abe2.system.entry.js} +1 -1
  522. package/lib/duet/p-b1db3006.js +1 -1
  523. package/lib/duet/{p-64710156.entry.js → p-b43c3844.entry.js} +1 -1
  524. package/lib/duet/{p-8156e5a5.system.entry.js → p-b4da4477.system.entry.js} +1 -1
  525. package/lib/duet/{p-cfe09501.system.entry.js → p-b4f0714b.system.entry.js} +1 -1
  526. package/lib/duet/{p-d86480ea.system.entry.js → p-b6969c2e.system.entry.js} +1 -1
  527. package/lib/duet/{p-54c07ffa.system.entry.js → p-b7746ffa.system.entry.js} +1 -1
  528. package/lib/duet/{p-9d317471.entry.js → p-b8e1051f.entry.js} +1 -1
  529. package/lib/duet/{p-f9f1c707.system.entry.js → p-b9743891.system.entry.js} +2 -2
  530. package/lib/duet/p-b99c00fa.system.js +4 -0
  531. package/lib/duet/{p-0414004a.entry.js → p-ba7e2b46.entry.js} +1 -1
  532. package/lib/duet/{p-c135039c.entry.js → p-bb197ad9.entry.js} +1 -1
  533. package/lib/duet/{p-2556c6f0.system.entry.js → p-c0cd5815.system.entry.js} +2 -2
  534. package/lib/duet/p-c30a5f7c.system.js +4 -0
  535. package/lib/duet/p-c3148fb5.entry.js +4 -0
  536. package/lib/duet/{p-a64cf9f8.system.entry.js → p-c45cca40.system.entry.js} +1 -1
  537. package/lib/duet/{p-22acfa83.entry.js → p-c486b82a.entry.js} +1 -1
  538. package/lib/duet/{p-b52f8ce1.entry.js → p-c689a5a2.entry.js} +1 -1
  539. package/lib/duet/{p-fc6d2bf4.entry.js → p-c69dd504.entry.js} +1 -1
  540. package/lib/duet/{p-0ea3453c.system.entry.js → p-c8153914.system.entry.js} +1 -1
  541. package/lib/duet/{p-3a9779ee.entry.js → p-c9302dda.entry.js} +1 -1
  542. package/lib/duet/p-c97109b5.system.js +4 -0
  543. package/lib/duet/{p-29a6d3b3.entry.js → p-c9d0296f.entry.js} +1 -1
  544. package/lib/duet/{p-24bc0b8c.entry.js → p-ccd1c1da.entry.js} +1 -1
  545. package/lib/duet/{p-9c5860a3.entry.js → p-ce0dbe46.entry.js} +1 -1
  546. package/lib/duet/p-ce60ea36.entry.js +4 -0
  547. package/lib/duet/{p-39c72a24.system.entry.js → p-cf78c0e7.system.entry.js} +2 -2
  548. package/lib/duet/{p-2e54c214.entry.js → p-d3b8295e.entry.js} +1 -1
  549. package/lib/duet/p-d79067a9.entry.js +4 -0
  550. package/lib/duet/{p-2e54c1f8.system.entry.js → p-db932add.system.entry.js} +2 -2
  551. package/lib/duet/{p-20767b15.system.entry.js → p-de466d61.system.entry.js} +1 -1
  552. package/lib/duet/{p-3c2f1fd0.entry.js → p-dfaea3f3.entry.js} +1 -1
  553. package/lib/duet/{p-ea4f5d13.system.entry.js → p-e00b3992.system.entry.js} +1 -1
  554. package/lib/duet/{p-bc7c47f4.system.entry.js → p-e04bf7e7.system.entry.js} +2 -2
  555. package/lib/duet/{p-ebf4a629.entry.js → p-e6d1abab.entry.js} +1 -1
  556. package/lib/duet/{p-3b85f649.system.entry.js → p-e72b91d4.system.entry.js} +1 -1
  557. package/lib/duet/{p-f30d3b09.system.entry.js → p-e7389f0d.system.entry.js} +1 -1
  558. package/lib/duet/{p-457ae87b.system.entry.js → p-e81603e4.system.entry.js} +1 -1
  559. package/lib/duet/{p-651d430e.system.entry.js → p-e86a0e7f.system.entry.js} +2 -2
  560. package/lib/duet/{p-1e88edec.entry.js → p-e888b133.entry.js} +1 -1
  561. package/lib/duet/{p-5f46f02e.system.entry.js → p-e949b01f.system.entry.js} +1 -1
  562. package/lib/duet/{p-fb7d7222.entry.js → p-ea17a879.entry.js} +1 -1
  563. package/lib/duet/{p-ca112a3f.system.entry.js → p-eaa27d39.system.entry.js} +2 -2
  564. package/lib/duet/{p-00a893c1.js → p-ec99ae64.js} +1 -1
  565. package/lib/duet/p-ecf1f6cd.system.js +4 -0
  566. package/lib/duet/{p-a095c36f.system.entry.js → p-ecff7157.system.entry.js} +2 -2
  567. package/lib/duet/p-ed5a5071.system.js +4 -0
  568. package/lib/duet/{p-b6cf05c0.system.entry.js → p-f07e9544.system.entry.js} +1 -1
  569. package/lib/duet/{p-00743d6c.system.entry.js → p-f45d7795.system.entry.js} +1 -1
  570. package/lib/duet/{p-096d7724.entry.js → p-f46d2985.entry.js} +1 -1
  571. package/lib/duet/{p-db2865b5.entry.js → p-fbeab44b.entry.js} +1 -1
  572. package/lib/duet/{p-88c01d1c.entry.js → p-fe21ca0a.entry.js} +1 -1
  573. package/lib/duet/{p-31d63beb.system.entry.js → p-feece078.system.entry.js} +1 -1
  574. package/lib/esm/duet-action-button.entry.js +29 -13
  575. package/lib/esm/duet-alert.entry.js +6 -6
  576. package/lib/esm/duet-badge.entry.js +3 -3
  577. package/lib/esm/duet-banner.entry.js +4 -4
  578. package/lib/esm/duet-breadcrumb.entry.js +5 -5
  579. package/lib/esm/duet-breadcrumbs.entry.js +4 -4
  580. package/lib/esm/duet-button_2.entry.js +7 -7
  581. package/lib/esm/duet-callout.entry.js +3 -3
  582. package/lib/esm/duet-caption_4.entry.js +26 -9
  583. package/lib/esm/duet-card.entry.js +7 -7
  584. package/lib/esm/duet-checkbox.entry.js +4 -4
  585. package/lib/esm/duet-checkmark.entry.js +2 -2
  586. package/lib/esm/duet-chip.entry.js +4 -4
  587. package/lib/esm/duet-choice_2.entry.js +11 -11
  588. package/lib/esm/duet-collapsible.entry.js +7 -7
  589. package/lib/esm/duet-combobox.entry.js +6 -6
  590. package/lib/esm/duet-contact-card.entry.js +5 -5
  591. package/lib/esm/duet-cookie-consent.entry.js +3 -3
  592. package/lib/esm/duet-date-picker.entry.js +7 -7
  593. package/lib/esm/duet-divider_2.entry.js +3 -3
  594. package/lib/esm/duet-editable-table_3.entry.js +10 -10
  595. package/lib/esm/duet-empty-state.entry.js +3 -3
  596. package/lib/esm/duet-fieldset.entry.js +5 -5
  597. package/lib/esm/duet-footer.entry.js +6 -6
  598. package/lib/esm/duet-grid_2.entry.js +3 -3
  599. package/lib/esm/duet-header_2.entry.js +9 -9
  600. package/lib/esm/duet-hero.entry.js +14 -8
  601. package/lib/esm/duet-icon.entry.js +4 -4
  602. package/lib/esm/duet-input_2.entry.js +8 -8
  603. package/lib/esm/duet-layout.entry.js +2 -2
  604. package/lib/esm/duet-list_2.entry.js +3 -3
  605. package/lib/esm/duet-menu-bar-button.entry.js +3 -3
  606. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +4 -4
  607. package/lib/esm/duet-menu-bar-dropdown.entry.js +4 -4
  608. package/lib/esm/duet-menu-bar-link.entry.js +3 -3
  609. package/lib/esm/duet-menu-bar.entry.js +3 -3
  610. package/lib/esm/duet-modal.entry.js +10 -10
  611. package/lib/esm/duet-multiselect.entry.js +7 -7
  612. package/lib/esm/duet-nav.entry.js +2 -2
  613. package/lib/esm/duet-notification_2.entry.js +5 -5
  614. package/lib/esm/duet-number-input.entry.js +7 -7
  615. package/lib/esm/duet-page-heading.entry.js +3 -3
  616. package/lib/esm/duet-pagination_2.entry.js +79 -45
  617. package/lib/esm/duet-popup-menu-item.entry.js +3 -3
  618. package/lib/esm/duet-popup-menu.entry.js +5 -5
  619. package/lib/esm/duet-progress.entry.js +6 -6
  620. package/lib/esm/duet-promo-card.entry.js +4 -4
  621. package/lib/esm/duet-radio_2.entry.js +5 -5
  622. package/lib/esm/duet-range-slider.entry.js +5 -5
  623. package/lib/esm/duet-scrollable_3.entry.js +7 -7
  624. package/lib/esm/duet-section-layout.entry.js +2 -2
  625. package/lib/esm/duet-select.entry.js +5 -5
  626. package/lib/esm/duet-shaped-image.entry.js +2 -2
  627. package/lib/esm/duet-show-more.entry.js +7 -7
  628. package/lib/esm/duet-slideout-lang.entry.js +5 -5
  629. package/lib/esm/duet-slideout-link.entry.js +3 -3
  630. package/lib/esm/duet-slideout-panel-dropdown.entry.js +3 -3
  631. package/lib/esm/duet-slideout-panel.entry.js +7 -7
  632. package/lib/esm/duet-slideout.entry.js +9 -9
  633. package/lib/esm/duet-step_2.entry.js +5 -5
  634. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +4 -4
  635. package/lib/esm/duet-submenu-bar-dropdown.entry.js +4 -4
  636. package/lib/esm/duet-submenu-bar-link.entry.js +4 -4
  637. package/lib/esm/duet-submenu-bar.entry.js +4 -4
  638. package/lib/esm/duet-textarea.entry.js +5 -5
  639. package/lib/esm/duet-toggle.entry.js +4 -4
  640. package/lib/esm/duet-toolbar-dropdown-link.entry.js +4 -4
  641. package/lib/esm/duet-toolbar-dropdown.entry.js +4 -4
  642. package/lib/esm/duet-toolbar-link.entry.js +3 -3
  643. package/lib/esm/duet-toolbar.entry.js +2 -2
  644. package/lib/esm/duet-tooltip-button_2.entry.js +5 -5
  645. package/lib/esm/duet-tooltip.entry.js +8 -8
  646. package/lib/esm/duet-tray.entry.js +6 -6
  647. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  648. package/lib/esm/duet-upload-item.entry.js +6 -6
  649. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  650. package/lib/esm/duet.js +5 -12
  651. package/lib/esm/{errorcodes.utils-47fc5d49.js → errorcodes.utils-424b1197.js} +2 -2
  652. package/lib/esm/{focus-utils-8fc4feb5.js → focus-utils-a669bad3.js} +1 -1
  653. package/lib/esm/{index-b1b085ac.js → index-4b92be25.js} +505 -183
  654. package/lib/esm/{language-utils-9d850f6c.js → language-utils-9ff76444.js} +1 -1
  655. package/lib/esm/loader.js +4 -13
  656. package/lib/esm-es5/app-globals-de2a5510.js +1 -1
  657. package/lib/esm-es5/{bodyScrollLock.es6-61b5e9a4.js → bodyScrollLock.es6-8dc7cca7.js} +1 -1
  658. package/lib/esm-es5/{create-id-981107da.js → create-id-2b0cd46d.js} +1 -1
  659. package/lib/esm-es5/duet-action-button.entry.js +2 -2
  660. package/lib/esm-es5/duet-alert.entry.js +2 -2
  661. package/lib/esm-es5/duet-badge.entry.js +1 -1
  662. package/lib/esm-es5/duet-banner.entry.js +1 -1
  663. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  664. package/lib/esm-es5/duet-breadcrumbs.entry.js +2 -2
  665. package/lib/esm-es5/duet-button_2.entry.js +2 -2
  666. package/lib/esm-es5/duet-callout.entry.js +1 -1
  667. package/lib/esm-es5/duet-caption_4.entry.js +2 -2
  668. package/lib/esm-es5/duet-card.entry.js +1 -1
  669. package/lib/esm-es5/duet-checkbox.entry.js +2 -2
  670. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  671. package/lib/esm-es5/duet-chip.entry.js +2 -2
  672. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  673. package/lib/esm-es5/duet-collapsible.entry.js +2 -2
  674. package/lib/esm-es5/duet-combobox.entry.js +2 -2
  675. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  676. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  677. package/lib/esm-es5/duet-date-picker.entry.js +2 -2
  678. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  679. package/lib/esm-es5/duet-editable-table_3.entry.js +2 -2
  680. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  681. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  682. package/lib/esm-es5/duet-footer.entry.js +2 -2
  683. package/lib/esm-es5/duet-grid_2.entry.js +2 -2
  684. package/lib/esm-es5/duet-header_2.entry.js +2 -2
  685. package/lib/esm-es5/duet-hero.entry.js +2 -2
  686. package/lib/esm-es5/duet-icon.entry.js +2 -2
  687. package/lib/esm-es5/duet-input_2.entry.js +2 -2
  688. package/lib/esm-es5/duet-layout.entry.js +1 -1
  689. package/lib/esm-es5/duet-list_2.entry.js +2 -2
  690. package/lib/esm-es5/duet-menu-bar-button.entry.js +2 -2
  691. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  692. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +2 -2
  693. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  694. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  695. package/lib/esm-es5/duet-modal.entry.js +2 -2
  696. package/lib/esm-es5/duet-multiselect.entry.js +2 -2
  697. package/lib/esm-es5/duet-nav.entry.js +1 -1
  698. package/lib/esm-es5/duet-notification_2.entry.js +2 -2
  699. package/lib/esm-es5/duet-number-input.entry.js +2 -2
  700. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  701. package/lib/esm-es5/duet-pagination_2.entry.js +2 -2
  702. package/lib/esm-es5/duet-popup-menu-item.entry.js +2 -2
  703. package/lib/esm-es5/duet-popup-menu.entry.js +2 -2
  704. package/lib/esm-es5/duet-progress.entry.js +1 -1
  705. package/lib/esm-es5/duet-promo-card.entry.js +1 -1
  706. package/lib/esm-es5/duet-radio_2.entry.js +2 -2
  707. package/lib/esm-es5/duet-range-slider.entry.js +2 -2
  708. package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
  709. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  710. package/lib/esm-es5/duet-select.entry.js +2 -2
  711. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  712. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  713. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  714. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  715. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +2 -2
  716. package/lib/esm-es5/duet-slideout-panel.entry.js +2 -2
  717. package/lib/esm-es5/duet-slideout.entry.js +2 -2
  718. package/lib/esm-es5/duet-step_2.entry.js +2 -2
  719. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  720. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  721. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  722. package/lib/esm-es5/duet-submenu-bar.entry.js +2 -2
  723. package/lib/esm-es5/duet-textarea.entry.js +2 -2
  724. package/lib/esm-es5/duet-toggle.entry.js +2 -2
  725. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  726. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +2 -2
  727. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  728. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  729. package/lib/esm-es5/duet-tooltip-button_2.entry.js +2 -2
  730. package/lib/esm-es5/duet-tooltip.entry.js +2 -2
  731. package/lib/esm-es5/duet-tray.entry.js +1 -1
  732. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  733. package/lib/esm-es5/duet-upload-item.entry.js +2 -2
  734. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  735. package/lib/esm-es5/duet.js +1 -1
  736. package/lib/esm-es5/errorcodes.utils-424b1197.js +4 -0
  737. package/lib/esm-es5/{floating-ui.dom.esm-6025c98f.js → floating-ui.dom.esm-efad5c89.js} +2 -2
  738. package/lib/esm-es5/focus-utils-a669bad3.js +4 -0
  739. package/lib/esm-es5/index-4b92be25.js +5 -0
  740. package/lib/esm-es5/input-utils-a0225b92.js +4 -0
  741. package/lib/esm-es5/keyboard-utils-5746e126.js +4 -0
  742. package/lib/esm-es5/{language-utils-9d850f6c.js → language-utils-9ff76444.js} +1 -1
  743. package/lib/esm-es5/loader.js +1 -1
  744. package/lib/esm-es5/string-utils-59ad4cb2.js +4 -0
  745. package/lib/esm-es5/teleport-15747328.js +4 -0
  746. package/lib/esm-es5/token-utils-46c8fe31.js +4 -0
  747. package/lib/esm-es5/watch-options-f189118b.js +4 -0
  748. package/lib/loader/index.d.ts +2 -2
  749. package/lib/types/common-types.d.ts +1 -0
  750. package/lib/types/components/duet-action-button/duet-action-button.d.ts +4 -0
  751. package/lib/types/components/duet-alert/duet-alert.d.ts +1 -1
  752. package/lib/types/components/duet-button/duet-button.d.ts +1 -1
  753. package/lib/types/components/duet-choice/duet-choice.d.ts +1 -1
  754. package/lib/types/components/duet-footer/duet-footer.d.ts +1 -1
  755. package/lib/types/components/duet-header/duet-header.d.ts +2 -2
  756. package/lib/types/components/duet-hero/duet-hero.d.ts +8 -0
  757. package/lib/types/components/duet-link/duet-link.d.ts +20 -3
  758. package/lib/types/components/duet-notification/duet-notification.d.ts +1 -1
  759. package/lib/types/components/duet-pagination/duet-pagination.d.ts +8 -1
  760. package/lib/types/components/duet-upload/duet-upload.d.ts +1 -1
  761. package/lib/types/components.d.ts +526 -22
  762. package/lib/types/stencil-public-runtime.d.ts +41 -5
  763. package/package.json +6 -6
  764. package/lib/duet/p-0762d0ce.system.entry.js +0 -4
  765. package/lib/duet/p-1e709927.system.entry.js +0 -4
  766. package/lib/duet/p-34ea0849.system.js +0 -4
  767. package/lib/duet/p-3538b0af.entry.js +0 -4
  768. package/lib/duet/p-43660fa9.system.js +0 -4
  769. package/lib/duet/p-4c04b1c6.entry.js +0 -4
  770. package/lib/duet/p-51721695.system.js +0 -4
  771. package/lib/duet/p-5c8e5f29.system.js +0 -4
  772. package/lib/duet/p-5f6bd5db.system.js +0 -4
  773. package/lib/duet/p-60b4b7c1.system.js +0 -4
  774. package/lib/duet/p-673a726a.entry.js +0 -4
  775. package/lib/duet/p-6aa821df.system.js +0 -4
  776. package/lib/duet/p-6d09651a.entry.js +0 -4
  777. package/lib/duet/p-6d620156.system.entry.js +0 -4
  778. package/lib/duet/p-703c3662.system.entry.js +0 -4
  779. package/lib/duet/p-733bb740.js +0 -5
  780. package/lib/duet/p-737167be.system.js +0 -4
  781. package/lib/duet/p-7966dc5b.system.entry.js +0 -4
  782. package/lib/duet/p-8304e300.system.entry.js +0 -4
  783. package/lib/duet/p-962a83ef.entry.js +0 -4
  784. package/lib/duet/p-9f97eb07.system.js +0 -5
  785. package/lib/duet/p-a659351d.system.js +0 -4
  786. package/lib/duet/p-a6f6f073.system.entry.js +0 -4
  787. package/lib/duet/p-a7915b7d.entry.js +0 -4
  788. package/lib/duet/p-aa634481.entry.js +0 -4
  789. package/lib/duet/p-acb9ba1b.system.entry.js +0 -4
  790. package/lib/duet/p-b6d51921.system.js +0 -4
  791. package/lib/duet/p-b760c72b.system.js +0 -4
  792. package/lib/duet/p-c466bad9.system.js +0 -4
  793. package/lib/duet/p-d863e150.system.js +0 -4
  794. package/lib/duet/p-e30d6bee.system.entry.js +0 -4
  795. package/lib/duet/p-e566ff11.system.js +0 -4
  796. package/lib/duet/p-e58f4a37.entry.js +0 -4
  797. package/lib/duet/p-eb55ccd2.system.js +0 -4
  798. package/lib/duet/p-fa5bcc42.system.js +0 -4
  799. package/lib/duet/p-ff9ef21e.system.entry.js +0 -4
  800. package/lib/esm/polyfills/css-shim.js +0 -1
  801. package/lib/esm-es5/errorcodes.utils-47fc5d49.js +0 -4
  802. package/lib/esm-es5/focus-utils-8fc4feb5.js +0 -4
  803. package/lib/esm-es5/index-b1b085ac.js +0 -5
  804. package/lib/esm-es5/input-utils-de45e099.js +0 -4
  805. package/lib/esm-es5/keyboard-utils-d237bd5a.js +0 -4
  806. package/lib/esm-es5/string-utils-5954f458.js +0 -4
  807. package/lib/esm-es5/teleport-467626fe.js +0 -4
  808. package/lib/esm-es5/token-utils-2d3af0db.js +0 -4
  809. package/lib/esm-es5/watch-options-dd55bce8.js +0 -4
  810. /package/lib/cjs/{bodyScrollLock.es6-6ef1142a.js → bodyScrollLock.es6-83f334d1.js} +0 -0
  811. /package/lib/cjs/{common-strings-de17f887.js → common-strings-17770d7a.js} +0 -0
  812. /package/lib/cjs/{create-id-c3b984b1.js → create-id-167cd350.js} +0 -0
  813. /package/lib/cjs/{floating-ui.dom.esm-d537b048.js → floating-ui.dom.esm-a7d59d53.js} +0 -0
  814. /package/lib/cjs/{input-utils-b5e8f524.js → input-utils-b4615782.js} +0 -0
  815. /package/lib/cjs/{is-internet-explorer-91361c56.js → is-internet-explorer-76c3b538.js} +0 -0
  816. /package/lib/cjs/{js-utils-134e0318.js → js-utils-b20cfc79.js} +0 -0
  817. /package/lib/cjs/{keyboard-utils-bb32119b.js → keyboard-utils-02441bc5.js} +0 -0
  818. /package/lib/cjs/{nudge-82021e4f.js → nudge-ee03ce2e.js} +0 -0
  819. /package/lib/cjs/{slot-query-1624497e.js → slot-query-b7555763.js} +0 -0
  820. /package/lib/cjs/{string-utils-5cadd058.js → string-utils-51a2f59f.js} +0 -0
  821. /package/lib/cjs/{teleport-3166d264.js → teleport-af825e04.js} +0 -0
  822. /package/lib/cjs/{themeable-component-fdeaef9f.js → themeable-component-0be6d1f4.js} +0 -0
  823. /package/lib/cjs/{token-utils-71db4785.js → token-utils-dbfeff2e.js} +0 -0
  824. /package/lib/cjs/{watch-options-d88afac0.js → watch-options-1773d69f.js} +0 -0
  825. /package/lib/dist-custom-elements/{p-8adb9463.js → p-00c8a755.js} +0 -0
  826. /package/lib/dist-custom-elements/{p-3ae39071.js → p-040f8831.js} +0 -0
  827. /package/lib/dist-custom-elements/{p-bd779757.js → p-141e14d0.js} +0 -0
  828. /package/lib/dist-custom-elements/{p-5a9d75e1.js → p-1a395a8d.js} +0 -0
  829. /package/lib/dist-custom-elements/{p-9c1b089a.js → p-24853ebf.js} +0 -0
  830. /package/lib/dist-custom-elements/{p-704245ef.js → p-268171f7.js} +0 -0
  831. /package/lib/dist-custom-elements/{p-0b3f675e.js → p-3d8d557b.js} +0 -0
  832. /package/lib/dist-custom-elements/{p-c1325e35.js → p-45f71a69.js} +0 -0
  833. /package/lib/dist-custom-elements/{p-d8549efe.js → p-56ac3289.js} +0 -0
  834. /package/lib/dist-custom-elements/{p-56118313.js → p-77f2dbee.js} +0 -0
  835. /package/lib/dist-custom-elements/{p-12721178.js → p-a1371eee.js} +0 -0
  836. /package/lib/dist-custom-elements/{p-4ebf1618.js → p-d48735b6.js} +0 -0
  837. /package/lib/dist-custom-elements/{p-76f00bd5.js → p-dade978b.js} +0 -0
  838. /package/lib/dist-custom-elements/{p-9d915d45.js → p-f8c76b25.js} +0 -0
  839. /package/lib/duet/{p-8adb9463.js → p-00c8a755.js} +0 -0
  840. /package/lib/duet/{p-3ae39071.js → p-040f8831.js} +0 -0
  841. /package/lib/duet/{p-2bb34e3d.js → p-0b31864f.js} +0 -0
  842. /package/lib/duet/{p-bd779757.js → p-141e14d0.js} +0 -0
  843. /package/lib/duet/{p-5a9d75e1.js → p-1a395a8d.js} +0 -0
  844. /package/lib/duet/{p-9c1b089a.js → p-24853ebf.js} +0 -0
  845. /package/lib/duet/{p-704245ef.js → p-268171f7.js} +0 -0
  846. /package/lib/duet/{p-c7ae95bd.system.js → p-36b36a8e.system.js} +0 -0
  847. /package/lib/duet/{p-0b3f675e.js → p-3d8d557b.js} +0 -0
  848. /package/lib/duet/{p-c1325e35.js → p-45f71a69.js} +0 -0
  849. /package/lib/duet/{p-56118313.js → p-77f2dbee.js} +0 -0
  850. /package/lib/duet/{p-12721178.js → p-a1371eee.js} +0 -0
  851. /package/lib/duet/{p-f077c646.js → p-cc1909de.js} +0 -0
  852. /package/lib/duet/{p-4ebf1618.js → p-d48735b6.js} +0 -0
  853. /package/lib/duet/{p-76f00bd5.js → p-dade978b.js} +0 -0
  854. /package/lib/duet/{p-9d915d45.js → p-f8c76b25.js} +0 -0
  855. /package/lib/esm/{bodyScrollLock.es6-61b5e9a4.js → bodyScrollLock.es6-8dc7cca7.js} +0 -0
  856. /package/lib/esm/{common-strings-97e04e4b.js → common-strings-71f2aabd.js} +0 -0
  857. /package/lib/esm/{create-id-981107da.js → create-id-2b0cd46d.js} +0 -0
  858. /package/lib/esm/{floating-ui.dom.esm-6025c98f.js → floating-ui.dom.esm-efad5c89.js} +0 -0
  859. /package/lib/esm/{input-utils-de45e099.js → input-utils-a0225b92.js} +0 -0
  860. /package/lib/esm/{is-internet-explorer-62b3bdbd.js → is-internet-explorer-032d4dae.js} +0 -0
  861. /package/lib/esm/{js-utils-fa98b8cd.js → js-utils-a35dcc8c.js} +0 -0
  862. /package/lib/esm/{keyboard-utils-d237bd5a.js → keyboard-utils-5746e126.js} +0 -0
  863. /package/lib/esm/{nudge-a828c525.js → nudge-560904c3.js} +0 -0
  864. /package/lib/esm/{slot-query-8c7dce21.js → slot-query-7877f18f.js} +0 -0
  865. /package/lib/esm/{string-utils-5954f458.js → string-utils-59ad4cb2.js} +0 -0
  866. /package/lib/esm/{teleport-467626fe.js → teleport-15747328.js} +0 -0
  867. /package/lib/esm/{themeable-component-cb76be7c.js → themeable-component-fdce4fd7.js} +0 -0
  868. /package/lib/esm/{token-utils-2d3af0db.js → token-utils-46c8fe31.js} +0 -0
  869. /package/lib/esm/{watch-options-dd55bce8.js → watch-options-f189118b.js} +0 -0
  870. /package/lib/esm-es5/{common-strings-97e04e4b.js → common-strings-71f2aabd.js} +0 -0
  871. /package/lib/esm-es5/{is-internet-explorer-62b3bdbd.js → is-internet-explorer-032d4dae.js} +0 -0
  872. /package/lib/esm-es5/{js-utils-fa98b8cd.js → js-utils-a35dcc8c.js} +0 -0
  873. /package/lib/esm-es5/{nudge-a828c525.js → nudge-560904c3.js} +0 -0
  874. /package/lib/esm-es5/{slot-query-8c7dce21.js → slot-query-7877f18f.js} +0 -0
  875. /package/lib/esm-es5/{themeable-component-cb76be7c.js → themeable-component-fdce4fd7.js} +0 -0
@@ -56,6 +56,8 @@ export class DuetHero {
56
56
  this.textCenter = false;
57
57
  this.leftAlign = false;
58
58
  this.image = "";
59
+ this.imageSize = "auto";
60
+ this.imagePosition = "auto";
59
61
  this.variation = "default";
60
62
  this.back = undefined;
61
63
  this.listItems = undefined;
@@ -113,8 +115,12 @@ export class DuetHero {
113
115
  */
114
116
  render() {
115
117
  const campaignOrSection = this.variation === "campaign" || this.variation === "section";
118
+ const imageSizeIsCover = this.imageSize === "cover";
119
+ const imagePositionIsCenter = this.imagePosition === "center";
116
120
  const styles = {
117
121
  backgroundImage: `url(${this.image})`,
122
+ backgroundSize: imageSizeIsCover ? "cover" : null,
123
+ backgroundPosition: imagePositionIsCenter ? "center" : null,
118
124
  };
119
125
  const buttonStyles = {
120
126
  transform: "translateX(-8px)",
@@ -170,7 +176,7 @@ export class DuetHero {
170
176
  "duet-hero-text-center": (this.textCenter && !this.leftAlign) || campaignOrSection,
171
177
  "duet-hero-left-align": this.leftAlign && !campaignOrSection,
172
178
  "duet-hero-narrow": this.layout === "narrow",
173
- }, part: "duet-hero" }, campaignOrSection && this.image && (h("div", { class: "background-area" }, h("div", { class: "background-container" }, h("div", { class: "background" }, h("img", { src: this.image, alt: "", role: "presentation" })), h("div", { class: "brand-shape" })))), this.variation === "product" && this.image && (h("div", { class: { "background-area": true, [this.layout]: true } }, h("div", { class: { "background-container": true, [this.layout]: true } }, h("div", { class: { background: true, [this.layout]: true } }, h("div", { class: { "background-mask": true, [this.layout]: true } }), this.theme !== "turva" && h("div", { class: { "brand-shape": true, [this.layout]: true } }), h("div", { class: { "brand-shaped-image": true, [this.layout]: true } }, h("div", { class: { "brand-shaped-image-wrapper": true, [this.layout]: true } }, h("div", { class: { "brand-shaped-image-bg": true, [this.layout]: true }, style: styles }))), this.categoryIcon && (h("div", { class: { "brand-shaped-icon": true, [this.layout]: true } }, h("duet-icon", { class: { [this.layout]: true }, background: "none", name: this.categoryIcon, margin: "none", size: "auto", responsive: false }))))))), this.variation === "content" && this.image && (h("div", { class: "background-area" }, h("div", { class: "background" }, h("div", { class: "background-mask" }), this.theme !== "turva" && h("div", { class: "brand-shape" }), h("div", { class: "brand-shaped-image" }, h("div", { class: "brand-shaped-image-wrapper" }, h("div", { class: "brand-shaped-image-bg", style: styles })))))), h("div", { class: { "duet-hero-wrapper": true, [this.layout]: true } }, this.image && this.variation === "image" && (h("div", { class: "duet-hero-image-mask" }, h("div", { class: "duet-hero-image-wrapper" }, h("div", { class: "duet-hero-image", style: styles })))), (this.variation === "gray" || this.variation === "light" || this.variation === "minimal") &&
179
+ }, part: "duet-hero" }, campaignOrSection && this.image && (h("div", { class: "background-area" }, h("div", { class: "background-container" }, h("div", { class: "background" }, h("img", { class: `${imageSizeIsCover ? "cover" : ""} ${imagePositionIsCenter ? "center" : ""}`, src: this.image, alt: "", role: "presentation" })), h("div", { class: "brand-shape" })))), this.variation === "product" && this.image && (h("div", { class: { "background-area": true, [this.layout]: true } }, h("div", { class: { "background-container": true, [this.layout]: true } }, h("div", { class: { background: true, [this.layout]: true } }, h("div", { class: { "background-mask": true, [this.layout]: true } }), this.theme !== "turva" && h("div", { class: { "brand-shape": true, [this.layout]: true } }), h("div", { class: { "brand-shaped-image": true, [this.layout]: true } }, h("div", { class: { "brand-shaped-image-wrapper": true, [this.layout]: true } }, h("div", { class: { "brand-shaped-image-bg": true, [this.layout]: true }, style: styles }))), this.categoryIcon && (h("div", { class: { "brand-shaped-icon": true, [this.layout]: true } }, h("duet-icon", { class: { [this.layout]: true }, background: "none", name: this.categoryIcon, margin: "none", size: "auto", responsive: false }))))))), this.variation === "content" && this.image && (h("div", { class: "background-area" }, h("div", { class: "background" }, h("div", { class: "background-mask" }), this.theme !== "turva" && h("div", { class: "brand-shape" }), h("div", { class: "brand-shaped-image" }, h("div", { class: "brand-shaped-image-wrapper" }, h("div", { class: "brand-shaped-image-bg", style: styles })))))), h("div", { class: { "duet-hero-wrapper": true, [this.layout]: true } }, this.image && this.variation === "image" && (h("div", { class: "duet-hero-image-mask" }, h("div", { class: "duet-hero-image-wrapper" }, h("div", { class: "duet-hero-image", style: styles })))), (this.variation === "gray" || this.variation === "light" || this.variation === "minimal") &&
174
180
  this.processedBack && (h("div", { class: "duet-hero-back" }, h("duet-button", { style: buttonStyles, variation: "plain", icon: "action-arrow-left-small", theme: this.theme, iconSize: "small", color: buttonColor, padding: "none", margin: "none", fixed: true, url: this.processedBack.href, identifier: this.processedBack.id, onClick: event => this.handleClick(event, {
175
181
  label: this.processedBack.label,
176
182
  href: this.processedBack.href,
@@ -205,7 +211,8 @@ export class DuetHero {
205
211
  "references": {
206
212
  "DuetTheme": {
207
213
  "location": "import",
208
- "path": "../../common-types"
214
+ "path": "../../common-types",
215
+ "id": "src/common-types.d.ts::DuetTheme"
209
216
  }
210
217
  }
211
218
  },
@@ -267,7 +274,8 @@ export class DuetHero {
267
274
  "references": {
268
275
  "DuetHeadingLevel": {
269
276
  "location": "import",
270
- "path": "../../common-types"
277
+ "path": "../../common-types",
278
+ "id": "src/common-types.d.ts::DuetHeadingLevel"
271
279
  }
272
280
  }
273
281
  },
@@ -290,7 +298,8 @@ export class DuetHero {
290
298
  "references": {
291
299
  "DuetHeadingLevel": {
292
300
  "location": "import",
293
- "path": "../../common-types"
301
+ "path": "../../common-types",
302
+ "id": "src/common-types.d.ts::DuetHeadingLevel"
294
303
  }
295
304
  }
296
305
  },
@@ -331,7 +340,8 @@ export class DuetHero {
331
340
  "references": {
332
341
  "DuetIconName": {
333
342
  "location": "import",
334
- "path": "../../common-types"
343
+ "path": "../../common-types",
344
+ "id": "src/common-types.d.ts::DuetIconName"
335
345
  }
336
346
  }
337
347
  },
@@ -354,7 +364,8 @@ export class DuetHero {
354
364
  "references": {
355
365
  "DuetHeroIconSize": {
356
366
  "location": "local",
357
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-hero/duet-hero.tsx"
367
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-hero/duet-hero.tsx",
368
+ "id": "src/components/duet-hero/duet-hero.tsx::DuetHeroIconSize"
358
369
  }
359
370
  }
360
371
  },
@@ -395,7 +406,8 @@ export class DuetHero {
395
406
  "references": {
396
407
  "DuetIconName": {
397
408
  "location": "import",
398
- "path": "../../common-types"
409
+ "path": "../../common-types",
410
+ "id": "src/common-types.d.ts::DuetIconName"
399
411
  }
400
412
  }
401
413
  },
@@ -418,7 +430,8 @@ export class DuetHero {
418
430
  "references": {
419
431
  "DuetColor": {
420
432
  "location": "import",
421
- "path": "../../common-types"
433
+ "path": "../../common-types",
434
+ "id": "src/common-types.d.ts::DuetColor"
422
435
  }
423
436
  }
424
437
  },
@@ -459,7 +472,8 @@ export class DuetHero {
459
472
  "references": {
460
473
  "DuetLanguage": {
461
474
  "location": "import",
462
- "path": "../../common-types"
475
+ "path": "../../common-types",
476
+ "id": "src/common-types.d.ts::DuetLanguage"
463
477
  }
464
478
  }
465
479
  },
@@ -488,7 +502,8 @@ export class DuetHero {
488
502
  "references": {
489
503
  "DuetLangObject": {
490
504
  "location": "import",
491
- "path": "../../utils/language-utils"
505
+ "path": "../../utils/language-utils",
506
+ "id": "src/utils/language-utils.ts::DuetLangObject"
492
507
  }
493
508
  }
494
509
  },
@@ -571,7 +586,8 @@ export class DuetHero {
571
586
  "references": {
572
587
  "DuetHeroButtonData": {
573
588
  "location": "local",
574
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-hero/duet-hero.tsx"
589
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-hero/duet-hero.tsx",
590
+ "id": "src/components/duet-hero/duet-hero.tsx::DuetHeroButtonData"
575
591
  }
576
592
  }
577
593
  },
@@ -636,6 +652,42 @@ export class DuetHero {
636
652
  "reflect": false,
637
653
  "defaultValue": "\"\""
638
654
  },
655
+ "imageSize": {
656
+ "type": "string",
657
+ "mutable": false,
658
+ "complexType": {
659
+ "original": "\"auto\" | \"cover\"",
660
+ "resolved": "\"auto\" | \"cover\"",
661
+ "references": {}
662
+ },
663
+ "required": false,
664
+ "optional": false,
665
+ "docs": {
666
+ "tags": [],
667
+ "text": "Image sizing."
668
+ },
669
+ "attribute": "image-size",
670
+ "reflect": false,
671
+ "defaultValue": "\"auto\""
672
+ },
673
+ "imagePosition": {
674
+ "type": "string",
675
+ "mutable": false,
676
+ "complexType": {
677
+ "original": "\"auto\" | \"center\"",
678
+ "resolved": "\"auto\" | \"center\"",
679
+ "references": {}
680
+ },
681
+ "required": false,
682
+ "optional": false,
683
+ "docs": {
684
+ "tags": [],
685
+ "text": "Image position."
686
+ },
687
+ "attribute": "image-position",
688
+ "reflect": false,
689
+ "defaultValue": "\"auto\""
690
+ },
639
691
  "variation": {
640
692
  "type": "string",
641
693
  "mutable": false,
@@ -645,7 +697,8 @@ export class DuetHero {
645
697
  "references": {
646
698
  "DuetHeroVariation": {
647
699
  "location": "local",
648
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-hero/duet-hero.tsx"
700
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-hero/duet-hero.tsx",
701
+ "id": "src/components/duet-hero/duet-hero.tsx::DuetHeroVariation"
649
702
  }
650
703
  }
651
704
  },
@@ -754,7 +807,8 @@ export class DuetHero {
754
807
  "references": {
755
808
  "DuetHeroClickEvent": {
756
809
  "location": "local",
757
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-hero/duet-hero.tsx"
810
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-hero/duet-hero.tsx",
811
+ "id": "src/components/duet-hero/duet-hero.tsx::DuetHeroClickEvent"
758
812
  }
759
813
  }
760
814
  }
@@ -774,7 +828,8 @@ export class DuetHero {
774
828
  "references": {
775
829
  "DuetHeroAnalyticsEvent": {
776
830
  "location": "local",
777
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-hero/duet-hero.tsx"
831
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-hero/duet-hero.tsx",
832
+ "id": "src/components/duet-hero/duet-hero.tsx::DuetHeroAnalyticsEvent"
778
833
  }
779
834
  }
780
835
  }
@@ -0,0 +1,32 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { createPage } from "../../utils/test-utils";
5
+ describe("duet-icon", () => {
6
+ it("should render an icon", async () => {
7
+ const page = await createPage(`<duet-icon></duet-icon>`);
8
+ const component = await page.find("duet-icon");
9
+ expect(component).not.toBeNull();
10
+ expect(component).toHaveClass("hydrated");
11
+ });
12
+ it("should provide a property that switches the theme", async () => {
13
+ const page = await createPage(`<duet-icon theme="turva"></duet-icon>`);
14
+ const element = await page.find("duet-icon >>> .duet-icon");
15
+ expect(element).toHaveClass("duet-theme-turva");
16
+ });
17
+ it("should provide a property that changes the icon", async () => {
18
+ const page = await createPage(`<duet-icon name="action-arrow-right"></duet-icon>`);
19
+ const element = await page.find("duet-icon >>> svg");
20
+ expect(element).not.toBeNull();
21
+ });
22
+ it("should provide a property that changes the icon background", async () => {
23
+ const page = await createPage(`<duet-icon background="color-primary"></duet-icon>`);
24
+ const element = await page.find("duet-icon >>> .duet-icon-has-background");
25
+ expect(element).not.toBeNull();
26
+ });
27
+ it("should provide a property that changes the icon size", async () => {
28
+ const page = await createPage(`<duet-icon size="xx-large"></duet-icon>`);
29
+ const element = await page.find("duet-icon >>> .xx-large");
30
+ expect(element).not.toBeNull();
31
+ });
32
+ });
@@ -117,7 +117,8 @@ export class DuetIcon {
117
117
  "references": {
118
118
  "DuetTheme": {
119
119
  "location": "import",
120
- "path": "../../common-types"
120
+ "path": "../../common-types",
121
+ "id": "src/common-types.d.ts::DuetTheme"
121
122
  }
122
123
  }
123
124
  },
@@ -174,7 +175,8 @@ export class DuetIcon {
174
175
  "references": {
175
176
  "DuetIconName": {
176
177
  "location": "import",
177
- "path": "../../common-types"
178
+ "path": "../../common-types",
179
+ "id": "src/common-types.d.ts::DuetIconName"
178
180
  }
179
181
  }
180
182
  },
@@ -197,7 +199,8 @@ export class DuetIcon {
197
199
  "references": {
198
200
  "DuetMargin": {
199
201
  "location": "import",
200
- "path": "../../common-types"
202
+ "path": "../../common-types",
203
+ "id": "src/common-types.d.ts::DuetMargin"
201
204
  }
202
205
  }
203
206
  },
@@ -238,7 +241,8 @@ export class DuetIcon {
238
241
  "references": {
239
242
  "DuetColor": {
240
243
  "location": "import",
241
- "path": "../../common-types"
244
+ "path": "../../common-types",
245
+ "id": "src/common-types.d.ts::DuetColor"
242
246
  }
243
247
  }
244
248
  },
@@ -261,7 +265,8 @@ export class DuetIcon {
261
265
  "references": {
262
266
  "DuetColor": {
263
267
  "location": "import",
264
- "path": "../../common-types"
268
+ "path": "../../common-types",
269
+ "id": "src/common-types.d.ts::DuetColor"
265
270
  }
266
271
  }
267
272
  },
@@ -326,7 +331,8 @@ export class DuetIcon {
326
331
  "references": {
327
332
  "DuetIconSize": {
328
333
  "location": "local",
329
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-icon/duet-icon.tsx"
334
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-icon/duet-icon.tsx",
335
+ "id": "src/components/duet-icon/duet-icon.tsx::DuetIconSize"
330
336
  }
331
337
  }
332
338
  },
@@ -349,7 +355,8 @@ export class DuetIcon {
349
355
  "references": {
350
356
  "DuetColor": {
351
357
  "location": "import",
352
- "path": "../../common-types"
358
+ "path": "../../common-types",
359
+ "id": "src/common-types.d.ts::DuetColor"
353
360
  }
354
361
  }
355
362
  },
@@ -0,0 +1,84 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { fetchIconByUrl } from "./icon-utils";
5
+ describe("duet-icon/icon-utils", () => {
6
+ afterEach(() => {
7
+ jest.restoreAllMocks();
8
+ });
9
+ describe("fetchIconByUrl", () => {
10
+ const stubFetchResponse = (response) => {
11
+ jest.spyOn(global, "fetch").mockImplementation(() => Promise.resolve({
12
+ ok: response.ok,
13
+ text: () => Promise.resolve(response.text),
14
+ }));
15
+ };
16
+ it("should return svg text when validation passes", async () => {
17
+ expect.assertions(1);
18
+ stubFetchResponse({
19
+ ok: true,
20
+ text: "<svg></svg>",
21
+ });
22
+ const result = await fetchIconByUrl("valid.svg");
23
+ expect(result).toEqual("<svg></svg>");
24
+ });
25
+ it("should not request the same SVG twice", async () => {
26
+ expect.assertions(3);
27
+ stubFetchResponse({
28
+ ok: true,
29
+ text: "<svg></svg>",
30
+ });
31
+ const result1 = await fetchIconByUrl("double-request.svg");
32
+ const result2 = await fetchIconByUrl("double-request.svg");
33
+ expect(global.fetch).toHaveBeenCalledTimes(1);
34
+ expect(result1).toBe("<svg></svg>");
35
+ expect(result1).toBe(result2);
36
+ });
37
+ it("should strip any non-SVG tags", async () => {
38
+ expect.assertions(1);
39
+ stubFetchResponse({
40
+ ok: true,
41
+ text: `<div></div><svg></svg>`,
42
+ });
43
+ const result = await fetchIconByUrl("strip-non-svg-tags.svg");
44
+ expect(result).toEqual(`<svg></svg>`);
45
+ });
46
+ it("should return only the first child element", async () => {
47
+ expect.assertions(1);
48
+ stubFetchResponse({
49
+ ok: true,
50
+ text: `<svg id="first"></svg><svg id="second"></svg>`,
51
+ });
52
+ const result = await fetchIconByUrl("returns-first-element.svg");
53
+ expect(result).toEqual(`<svg id="first"></svg>`);
54
+ });
55
+ it("should throw an error if request failed", async () => {
56
+ expect.assertions(1);
57
+ stubFetchResponse({
58
+ ok: false,
59
+ text: "",
60
+ });
61
+ await expect(fetchIconByUrl("failed-request.svg")).rejects.toBeInstanceOf(Error);
62
+ });
63
+ it("should fail validation for SVGs with inline event handlers", async () => {
64
+ expect.assertions(1);
65
+ stubFetchResponse({
66
+ ok: true,
67
+ text: `<svg><path onclick="alert('pwned')" d="" /></svg>`,
68
+ });
69
+ await expect(fetchIconByUrl("inline-event-handler.svg")).rejects.toMatchObject({
70
+ message: "SVG validation failed",
71
+ });
72
+ });
73
+ it("should fail validation for SVGs with script tags", async () => {
74
+ expect.assertions(1);
75
+ stubFetchResponse({
76
+ ok: true,
77
+ text: `<svg><script>alert("pwned")</script><path d="" /></svg>`,
78
+ });
79
+ await expect(fetchIconByUrl("script-tag.svg")).rejects.toMatchObject({
80
+ message: "SVG validation failed",
81
+ });
82
+ });
83
+ });
84
+ });
@@ -0,0 +1,201 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { createPage } from "../../utils/test-utils";
5
+ describe("duet-input", () => {
6
+ it("should render an input", async () => {
7
+ const page = await createPage(`<duet-input></duet-input>`);
8
+ const component = await page.find("duet-input");
9
+ expect(component).not.toBeNull();
10
+ expect(component).toHaveClass("hydrated");
11
+ });
12
+ it("should provide a property that renders label", async () => {
13
+ const page = await createPage(`<duet-input label="test"></duet-input>`);
14
+ const element = await page.find("duet-input duet-label label");
15
+ expect(element.innerText).toEqual("test");
16
+ });
17
+ it("should provide a property that removes the margin of the component", async () => {
18
+ const page = await createPage(`<duet-input margin="none"></duet-input>`);
19
+ const element = await page.find(".duet-m-0");
20
+ expect(element).not.toBeNull();
21
+ });
22
+ it("should provide a property that renders aria-controls", async () => {
23
+ const page = await createPage(`<duet-input accessible-controls="test"></duet-input>`);
24
+ const element = await page.find("duet-input .duet-input");
25
+ expect(element.getAttribute("aria-controls")).toEqual("test");
26
+ });
27
+ it("should associate the tooltip with the label", async () => {
28
+ const page = await createPage(`<duet-input tooltip="tooltip" />`);
29
+ const label = await page.find("duet-input label");
30
+ const tooltip = await page.find("duet-tooltip");
31
+ const tooltipInputLabel = await tooltip.getProperty("accessibleInputLabel");
32
+ expect(tooltipInputLabel).not.toBeNull();
33
+ expect(label.textContent).toBe(tooltipInputLabel);
34
+ });
35
+ it("should provide a property that renders aria-activedescendant", async () => {
36
+ const page = await createPage(`<duet-input accessible-active-descendant="test"></duet-input>`);
37
+ const element = await page.find("duet-input .duet-input");
38
+ expect(element.getAttribute("aria-activedescendant")).not.toBeNull();
39
+ });
40
+ it("should provide a property that renders aria-autocomplete", async () => {
41
+ const page = await createPage(`<duet-input accessible-autocomplete="test"></duet-input>`);
42
+ const element = await page.find("duet-input .duet-input");
43
+ expect(element.getAttribute("aria-autocomplete")).not.toBeNull();
44
+ });
45
+ it("should provide a property that renders aria-owns", async () => {
46
+ const page = await createPage(`<duet-input accessible-owns="test"></duet-input>`);
47
+ const element = await page.find("duet-input .duet-input");
48
+ expect(element.getAttribute("aria-owns")).not.toBeNull();
49
+ });
50
+ it("should provide a property that renders input in different types", async () => {
51
+ const page = await createPage(`<duet-input type="email"></duet-input>`);
52
+ const element = await page.find("duet-input .duet-input");
53
+ expect(element.getAttribute("type")).toEqual("email");
54
+ });
55
+ it("should provide a property that switches the theme", async () => {
56
+ const page = await createPage(`<duet-input theme="turva"></duet-input>`);
57
+ const element = await page.find("duet-input .duet-input-container");
58
+ expect(element).toHaveClass("duet-theme-turva");
59
+ });
60
+ it("should provide a property that expands the input to fill 100% width", async () => {
61
+ const page = await createPage(`<duet-input expand></duet-input>`);
62
+ const element = await page.find("duet-input");
63
+ expect(element).toHaveClass("duet-expand");
64
+ });
65
+ it("should provide a property that makes the input disabled", async () => {
66
+ const page = await createPage(`<duet-input disabled></duet-input>`);
67
+ const element = await page.find("duet-input .duet-input");
68
+ expect(element.getAttribute("disabled")).not.toBeNull();
69
+ });
70
+ it("should provide a property that adds an ID for the input", async () => {
71
+ const page = await createPage(`<duet-input identifier="test"></duet-input>`);
72
+ const element = await page.find("duet-input .duet-input");
73
+ expect(element.getAttribute("id")).toEqual("test");
74
+ });
75
+ it("should provide a property that makes input required", async () => {
76
+ const page = await createPage(`<duet-input required></duet-input>`);
77
+ const element = await page.find("duet-input .duet-input");
78
+ expect(element.getAttribute("required")).not.toBeNull();
79
+ });
80
+ it("should provide a property that makes the label hidden", async () => {
81
+ const page = await createPage(`<duet-input label-hidden></duet-input>`);
82
+ const element = await page.find("duet-input .duet-input-container");
83
+ expect(element).toHaveClass("duet-label-hidden");
84
+ });
85
+ it("should provide a property that adds name for the input", async () => {
86
+ const page = await createPage(`<duet-input name="test"></duet-input>`);
87
+ const element = await page.find("duet-input .duet-input");
88
+ expect(element.getAttribute("name")).not.toBeNull();
89
+ });
90
+ it("should provide a property that adds pattern regex for the input", async () => {
91
+ const page = await createPage(`<duet-input pattern="test"></duet-input>`);
92
+ const element = await page.find("duet-input .duet-input");
93
+ expect(element.getAttribute("pattern")).not.toBeNull();
94
+ });
95
+ it("should provide a property that adds placeholder for the input", async () => {
96
+ const page = await createPage(`<duet-input placeholder="test"></duet-input>`);
97
+ const element = await page.find("duet-input .duet-input");
98
+ expect(element.getAttribute("placeholder")).not.toBeNull();
99
+ });
100
+ it("should provide a property that adds role for the input", async () => {
101
+ const page = await createPage(`<duet-input role="test"></duet-input>`);
102
+ const element = await page.find("duet-input .duet-input");
103
+ expect(element.getAttribute("role")).not.toBeNull();
104
+ });
105
+ it("should provide a property that modifies autocomplete attribute", async () => {
106
+ const page = await createPage(`<duet-input auto-complete="test"></duet-input>`);
107
+ const element = await page.find("duet-input .duet-input");
108
+ expect(element.getAttribute("autocomplete")).toEqual("test");
109
+ });
110
+ it("should provide a property that adds an error", async () => {
111
+ const page = await createPage(`<duet-input error="test"></duet-input>`);
112
+ const element = await page.find("duet-input .duet-input-help");
113
+ expect(element).not.toBeNull();
114
+ });
115
+ it("should provide a property that sets tooltip", async () => {
116
+ const page = await createPage(`<duet-input tooltip="test"></duet-input>`);
117
+ const element = await page.find("duet-input duet-tooltip");
118
+ expect(element).not.toBeNull();
119
+ });
120
+ it("should not render tooltip if the property isn’t used", async () => {
121
+ const page = await createPage(`<duet-input id="test"></duet-input>`);
122
+ const element = await page.find("duet-input duet-tooltip");
123
+ expect(element).toBeNull();
124
+ });
125
+ it("should provide a property that sets custom icon", async () => {
126
+ const page = await createPage(`<duet-input icon="form-location"></duet-input>`);
127
+ const element = await page.find("duet-input .duet-input-icon");
128
+ expect(element).not.toBeNull();
129
+ });
130
+ it("should not render custom icon if the option is not used", async () => {
131
+ const page = await createPage(`<duet-input label="test"></duet-input>`);
132
+ const element = await page.find("duet-input .duet-input-icon");
133
+ expect(element).toBeNull();
134
+ });
135
+ it("raises duetChange event when value has changed", async () => {
136
+ const page = await createPage(`<duet-input></duet-input>`);
137
+ const element = await page.find("duet-input");
138
+ const changeSpy = await element.spyOnEvent("duetChange");
139
+ await page.keyboard.press("Tab");
140
+ await page.keyboard.type("hello");
141
+ await page.waitForChanges();
142
+ expect(changeSpy.lastEvent.detail).toMatchObject({
143
+ value: "hello",
144
+ component: "duet-input",
145
+ });
146
+ });
147
+ it("raises a duetInput even on input", async () => {
148
+ const page = await createPage(`<duet-input></duet-input>`);
149
+ const element = await page.find("duet-input");
150
+ const inputSpy = await element.spyOnEvent("duetInput");
151
+ await page.keyboard.press("Tab");
152
+ await page.keyboard.type("hello");
153
+ await page.waitForChanges();
154
+ expect(inputSpy.lastEvent.detail).toMatchObject({
155
+ value: "hello",
156
+ component: "duet-input",
157
+ });
158
+ });
159
+ it("raises duetFocus event when input is focused", async () => {
160
+ const page = await createPage(`<duet-input></duet-input>`);
161
+ const element = await page.find("duet-input");
162
+ const focusSpy = await element.spyOnEvent("duetFocus");
163
+ await page.keyboard.press("Tab");
164
+ await page.waitForChanges();
165
+ expect(focusSpy).toHaveReceivedEvent();
166
+ });
167
+ it("raises a duetBlur event when input is blurred", async () => {
168
+ const page = await createPage(`<duet-input></duet-input>`);
169
+ const element = await page.find("duet-input");
170
+ const focusSpy = await element.spyOnEvent("duetBlur");
171
+ // tab in...
172
+ await page.keyboard.press("Tab");
173
+ await page.waitForChanges();
174
+ // tab out...
175
+ await page.keyboard.press("Tab");
176
+ await page.waitForChanges();
177
+ expect(focusSpy).toHaveReceivedEvent();
178
+ });
179
+ it("allows characters to be disallowed", async () => {
180
+ const page = await createPage(`<duet-input label="numbers only" disallow-pattern="[^0-9]"></duet-input>`);
181
+ const element = await page.find("duet-input");
182
+ const input = await page.find("duet-input .duet-input");
183
+ // tab to input
184
+ await page.keyboard.press("Tab");
185
+ // type some _allowed_ chars
186
+ await page.keyboard.type("123", { delay: 50 });
187
+ // move cursor so we can test maintaining position
188
+ await page.keyboard.press("ArrowLeft");
189
+ // store cursor position
190
+ const cursorBefore = await input.getProperty("selectionStart");
191
+ expect(cursorBefore).toBe(2);
192
+ // attempt to enter _disallowed_ character
193
+ await page.keyboard.press("a");
194
+ const cursorAfter = await input.getProperty("selectionStart");
195
+ const value = await element.getProperty("value");
196
+ // we should see cursor hasn't changed
197
+ expect(cursorAfter).toBe(cursorBefore);
198
+ // and value contains no disallowed chars
199
+ expect(value).toBe("123");
200
+ });
201
+ });