@duetds/components 9.19.1 → 9.20.0

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 (711) hide show
  1. package/hydrate/index.js +170 -91
  2. package/lib/cjs/a11y-utils-13737afd.js +46 -0
  3. package/lib/cjs/{app-globals-2b37fc0d.js → app-globals-dbb64a81.js} +1 -1
  4. package/lib/cjs/{common-strings-92c2f034.js → common-strings-ed188f52.js} +5 -4
  5. package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
  6. package/lib/cjs/duet-alert.cjs.entry.js +15 -12
  7. package/lib/cjs/duet-badge.cjs.entry.js +4 -4
  8. package/lib/cjs/duet-banner.cjs.entry.js +4 -4
  9. package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -2
  10. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +3 -3
  11. package/lib/cjs/duet-button_2.cjs.entry.js +5 -5
  12. package/lib/cjs/duet-callout.cjs.entry.js +3 -3
  13. package/lib/cjs/duet-caption_4.cjs.entry.js +6 -6
  14. package/lib/cjs/duet-card.cjs.entry.js +3 -3
  15. package/lib/cjs/duet-checkbox.cjs.entry.js +2 -2
  16. package/lib/cjs/duet-checkmark.cjs.entry.js +2 -2
  17. package/lib/cjs/duet-chip.cjs.entry.js +3 -3
  18. package/lib/cjs/duet-choice_2.cjs.entry.js +9 -8
  19. package/lib/cjs/duet-collapsible.cjs.entry.js +13 -8
  20. package/lib/cjs/duet-combobox.cjs.entry.js +20 -15
  21. package/lib/cjs/duet-contact-card.cjs.entry.js +3 -3
  22. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  23. package/lib/cjs/duet-date-picker.cjs.entry.js +5 -5
  24. package/lib/cjs/duet-divider_2.cjs.entry.js +2 -2
  25. package/lib/cjs/duet-editable-table_3.cjs.entry.js +4 -4
  26. package/lib/cjs/duet-empty-state.cjs.entry.js +2 -2
  27. package/lib/cjs/duet-fieldset.cjs.entry.js +3 -3
  28. package/lib/cjs/duet-file-chooser.cjs.entry.js +2 -2
  29. package/lib/cjs/duet-footer.cjs.entry.js +5 -5
  30. package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
  31. package/lib/cjs/duet-header_2.cjs.entry.js +4 -4
  32. package/lib/cjs/duet-hero.cjs.entry.js +18 -17
  33. package/lib/cjs/duet-icon.cjs.entry.js +2 -2
  34. package/lib/cjs/duet-indicator.cjs.entry.js +3 -3
  35. package/lib/cjs/duet-input_2.cjs.entry.js +29 -5
  36. package/lib/cjs/duet-layout.cjs.entry.js +2 -2
  37. package/lib/cjs/duet-list_2.cjs.entry.js +3 -3
  38. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +2 -2
  39. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +2 -2
  40. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +2 -2
  41. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +6 -6
  42. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +2 -2
  43. package/lib/cjs/duet-menu-bar.cjs.entry.js +3 -3
  44. package/lib/cjs/duet-modal.cjs.entry.js +6 -6
  45. package/lib/cjs/duet-multiselect.cjs.entry.js +4 -4
  46. package/lib/cjs/duet-nav.cjs.entry.js +2 -2
  47. package/lib/cjs/duet-notification_2.cjs.entry.js +4 -4
  48. package/lib/cjs/duet-number-input.cjs.entry.js +15 -11
  49. package/lib/cjs/duet-overlay.cjs.entry.js +2 -2
  50. package/lib/cjs/duet-page-heading.cjs.entry.js +2 -2
  51. package/lib/cjs/duet-pagination_2.cjs.entry.js +3 -3
  52. package/lib/cjs/duet-panel.cjs.entry.js +5 -6
  53. package/lib/cjs/duet-phone-input.cjs.entry.js +6 -6
  54. package/lib/cjs/duet-popup-menu_2.cjs.entry.js +13 -15
  55. package/lib/cjs/duet-progress.cjs.entry.js +3 -3
  56. package/lib/cjs/duet-promo-card.cjs.entry.js +3 -3
  57. package/lib/cjs/duet-radio_2.cjs.entry.js +3 -3
  58. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  59. package/lib/cjs/duet-scrollable_3.cjs.entry.js +29 -10
  60. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  61. package/lib/cjs/duet-select.cjs.entry.js +4 -7
  62. package/lib/cjs/duet-shaped-image.cjs.entry.js +2 -2
  63. package/lib/cjs/duet-share-chart-item.cjs.entry.js +1 -1
  64. package/lib/cjs/duet-share-chart.cjs.entry.js +4 -4
  65. package/lib/cjs/duet-show-more.cjs.entry.js +3 -3
  66. package/lib/cjs/duet-slideout-lang.cjs.entry.js +3 -3
  67. package/lib/cjs/duet-slideout-link.cjs.entry.js +6 -6
  68. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +2 -2
  69. package/lib/cjs/duet-slideout-panel.cjs.entry.js +5 -5
  70. package/lib/cjs/duet-slideout.cjs.entry.js +13 -13
  71. package/lib/cjs/duet-status-icon.cjs.entry.js +1 -1
  72. package/lib/cjs/duet-step_2.cjs.entry.js +4 -4
  73. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +2 -2
  74. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +2 -2
  75. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +6 -6
  76. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +2 -2
  77. package/lib/cjs/duet-submenu-bar.cjs.entry.js +2 -2
  78. package/lib/cjs/duet-textarea.cjs.entry.js +7 -6
  79. package/lib/cjs/duet-toggle.cjs.entry.js +2 -2
  80. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +2 -2
  81. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +3 -3
  82. package/lib/cjs/duet-toolbar-item.cjs.entry.js +6 -6
  83. package/lib/cjs/duet-toolbar-link.cjs.entry.js +3 -3
  84. package/lib/cjs/duet-toolbar.cjs.entry.js +2 -2
  85. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +3 -3
  86. package/lib/cjs/duet-tooltip.cjs.entry.js +3 -3
  87. package/lib/cjs/duet-tray.cjs.entry.js +3 -3
  88. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  89. package/lib/cjs/duet-upload-item.cjs.entry.js +4 -4
  90. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  91. package/lib/cjs/duet.cjs.js +3 -3
  92. package/lib/cjs/{errorcodes.utils-1866faa9.js → errorcodes.utils-081cbf12.js} +1 -1
  93. package/lib/cjs/{focus-utils-3a78068c.js → focus-utils-30936141.js} +1 -1
  94. package/lib/cjs/{index-8689e0f0.js → index-3e2cb13d.js} +1 -1
  95. package/lib/cjs/{language-utils-82c441a5.js → language-utils-577f9daf.js} +1 -1
  96. package/lib/cjs/loader.cjs.js +3 -3
  97. package/lib/cjs/{slot-utils-6f9e2d2b.js → slot-utils-1e7a8d85.js} +1 -1
  98. package/lib/cjs/{themeable-component-b663d703.js → themeable-component-32848c09.js} +1 -1
  99. package/lib/collection/common-strings.js +5 -4
  100. package/lib/collection/components/duet-alert/duet-alert.css +15 -6
  101. package/lib/collection/components/duet-alert/duet-alert.js +9 -6
  102. package/lib/collection/components/duet-banner/duet-banner.css +1 -0
  103. package/lib/collection/components/duet-button/duet-button.css +4 -0
  104. package/lib/collection/components/duet-choice/duet-choice.css +65 -3
  105. package/lib/collection/components/duet-choice/duet-choice.js +13 -6
  106. package/lib/collection/components/duet-choice-group/duet-choice-group.js +1 -1
  107. package/lib/collection/components/duet-collapsible/duet-collapsible.js +12 -7
  108. package/lib/collection/components/duet-combobox/duet-combobox.js +17 -11
  109. package/lib/collection/components/duet-hero/duet-hero.js +13 -12
  110. package/lib/collection/components/duet-input/duet-input.js +78 -5
  111. package/lib/collection/components/duet-list-item/duet-list-item.css +6 -6
  112. package/lib/collection/components/duet-number-input/duet-number-input.js +19 -15
  113. package/lib/collection/components/duet-panel/duet-panel.css +3 -2
  114. package/lib/collection/components/duet-panel/duet-panel.js +2 -3
  115. package/lib/collection/components/duet-phone-input/duet-phone-input.js +3 -3
  116. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +20 -23
  117. package/lib/collection/components/duet-scrollable/duet-scrollable.js +87 -6
  118. package/lib/collection/components/duet-select/duet-select.js +1 -4
  119. package/lib/collection/components/duet-slideout/duet-slideout.js +12 -12
  120. package/lib/collection/components/duet-textarea/duet-textarea.css +3 -0
  121. package/lib/collection/components/duet-textarea/duet-textarea.js +21 -1
  122. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.css +6 -0
  123. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.css +18 -0
  124. package/lib/collection/utils/a11y-utils.js +20 -0
  125. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  126. package/lib/dist-custom-elements/duet-alert.js +1 -1
  127. package/lib/dist-custom-elements/duet-badge.js +1 -1
  128. package/lib/dist-custom-elements/duet-banner.js +4 -4
  129. package/lib/dist-custom-elements/duet-breadcrumb.js +3 -3
  130. package/lib/dist-custom-elements/duet-breadcrumbs.js +1 -1
  131. package/lib/dist-custom-elements/duet-button.js +1 -1
  132. package/lib/dist-custom-elements/duet-callout.js +2 -2
  133. package/lib/dist-custom-elements/duet-caption.js +1 -1
  134. package/lib/dist-custom-elements/duet-card.js +3 -3
  135. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  136. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  137. package/lib/dist-custom-elements/duet-chip.js +1 -1
  138. package/lib/dist-custom-elements/duet-choice-group.js +9 -9
  139. package/lib/dist-custom-elements/duet-choice.js +9 -8
  140. package/lib/dist-custom-elements/duet-collapsible.js +15 -10
  141. package/lib/dist-custom-elements/duet-combobox.js +32 -26
  142. package/lib/dist-custom-elements/duet-contact-card.js +8 -8
  143. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  144. package/lib/dist-custom-elements/duet-date-picker.js +13 -13
  145. package/lib/dist-custom-elements/duet-divider.js +1 -1
  146. package/lib/dist-custom-elements/duet-editable-table.js +7 -7
  147. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  148. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  149. package/lib/dist-custom-elements/duet-file-chooser.js +2 -2
  150. package/lib/dist-custom-elements/duet-footer.js +8 -8
  151. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  152. package/lib/dist-custom-elements/duet-grid.js +1 -1
  153. package/lib/dist-custom-elements/duet-header.js +9 -9
  154. package/lib/dist-custom-elements/duet-heading.js +1 -1
  155. package/lib/dist-custom-elements/duet-hero.js +23 -22
  156. package/lib/dist-custom-elements/duet-icon.js +1 -1
  157. package/lib/dist-custom-elements/duet-indicator.js +1 -1
  158. package/lib/dist-custom-elements/duet-input.js +1 -1
  159. package/lib/dist-custom-elements/duet-label.js +1 -1
  160. package/lib/dist-custom-elements/duet-layout.js +1 -1
  161. package/lib/dist-custom-elements/duet-link.js +1 -1
  162. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  163. package/lib/dist-custom-elements/duet-list.js +1 -1
  164. package/lib/dist-custom-elements/duet-logo.js +1 -1
  165. package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -2
  166. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
  167. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -2
  168. package/lib/dist-custom-elements/duet-menu-bar-item.js +4 -4
  169. package/lib/dist-custom-elements/duet-menu-bar-link.js +2 -2
  170. package/lib/dist-custom-elements/duet-menu-bar.js +2 -2
  171. package/lib/dist-custom-elements/duet-modal.js +9 -9
  172. package/lib/dist-custom-elements/duet-multiselect.js +9 -9
  173. package/lib/dist-custom-elements/duet-nav.js +1 -1
  174. package/lib/dist-custom-elements/duet-notification-drawer.js +6 -6
  175. package/lib/dist-custom-elements/duet-notification.js +3 -3
  176. package/lib/dist-custom-elements/duet-number-input.js +22 -18
  177. package/lib/dist-custom-elements/duet-overlay.js +1 -1
  178. package/lib/dist-custom-elements/duet-page-heading.js +3 -3
  179. package/lib/dist-custom-elements/duet-pagination.js +13 -13
  180. package/lib/dist-custom-elements/duet-panel.js +4 -5
  181. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  182. package/lib/dist-custom-elements/duet-phone-input.js +19 -19
  183. package/lib/dist-custom-elements/duet-popup-menu-item.js +1 -1
  184. package/lib/dist-custom-elements/duet-popup-menu.js +1 -1
  185. package/lib/dist-custom-elements/duet-progress.js +1 -1
  186. package/lib/dist-custom-elements/duet-promo-card.js +3 -3
  187. package/lib/dist-custom-elements/duet-radio-group.js +8 -8
  188. package/lib/dist-custom-elements/duet-radio.js +1 -1
  189. package/lib/dist-custom-elements/duet-range-slider.js +2 -2
  190. package/lib/dist-custom-elements/duet-range-stepper.js +4 -4
  191. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  192. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  193. package/lib/dist-custom-elements/duet-select.js +1 -1
  194. package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
  195. package/lib/dist-custom-elements/duet-share-chart-item.js +1 -1
  196. package/lib/dist-custom-elements/duet-share-chart.js +2 -2
  197. package/lib/dist-custom-elements/duet-show-more.js +1 -1
  198. package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
  199. package/lib/dist-custom-elements/duet-slideout-link.js +4 -4
  200. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
  201. package/lib/dist-custom-elements/duet-slideout-panel.js +4 -4
  202. package/lib/dist-custom-elements/duet-slideout.js +11 -11
  203. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  204. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  205. package/lib/dist-custom-elements/duet-status-icon.js +1 -1
  206. package/lib/dist-custom-elements/duet-step.js +4 -4
  207. package/lib/dist-custom-elements/duet-stepper.js +3 -3
  208. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +2 -2
  209. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +2 -2
  210. package/lib/dist-custom-elements/duet-submenu-bar-item.js +4 -4
  211. package/lib/dist-custom-elements/duet-submenu-bar-link.js +2 -2
  212. package/lib/dist-custom-elements/duet-submenu-bar.js +3 -3
  213. package/lib/dist-custom-elements/duet-tab-group.js +8 -8
  214. package/lib/dist-custom-elements/duet-tab.js +1 -1
  215. package/lib/dist-custom-elements/duet-table.js +1 -1
  216. package/lib/dist-custom-elements/duet-textarea.js +14 -12
  217. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  218. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
  219. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +3 -3
  220. package/lib/dist-custom-elements/duet-toolbar-item.js +6 -6
  221. package/lib/dist-custom-elements/duet-toolbar-link.js +3 -3
  222. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  223. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  224. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  225. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  226. package/lib/dist-custom-elements/duet-tray.js +3 -3
  227. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  228. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  229. package/lib/dist-custom-elements/duet-upload.js +20 -20
  230. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  231. package/lib/dist-custom-elements/index.js +1 -1
  232. package/lib/dist-custom-elements/{p-25acb470.js → p-04819623.js} +2 -2
  233. package/lib/dist-custom-elements/{p-2967d610.js → p-05128e11.js} +18 -15
  234. package/lib/dist-custom-elements/{p-c4b6f5d6.js → p-06deb63a.js} +2 -2
  235. package/lib/dist-custom-elements/{p-0ec15ba7.js → p-0af6662f.js} +9 -12
  236. package/lib/dist-custom-elements/p-0d607aa5.js +43 -0
  237. package/lib/dist-custom-elements/{p-4b13a990.js → p-0dca88bc.js} +2 -2
  238. package/lib/dist-custom-elements/{p-7bed73a7.js → p-13d994c2.js} +39 -12
  239. package/lib/dist-custom-elements/{p-e29db94f.js → p-1a349415.js} +5 -5
  240. package/lib/dist-custom-elements/{p-df469213.js → p-20af19f0.js} +2 -2
  241. package/lib/dist-custom-elements/{p-b7a93f1c.js → p-2fc2a0b6.js} +5 -4
  242. package/lib/dist-custom-elements/{p-cb129f84.js → p-32b35eb2.js} +3 -3
  243. package/lib/dist-custom-elements/{p-6327d4e2.js → p-3b89d7ab.js} +1 -1
  244. package/lib/dist-custom-elements/{p-620ac0f8.js → p-46206871.js} +1 -1
  245. package/lib/dist-custom-elements/{p-f1b9fb2c.js → p-509dca55.js} +1 -1
  246. package/lib/dist-custom-elements/{p-9dd5b1ab.js → p-515dedd9.js} +1 -1
  247. package/lib/dist-custom-elements/{p-b978a5e4.js → p-575b998e.js} +1 -1
  248. package/lib/dist-custom-elements/{p-be9c3f20.js → p-5957bf62.js} +3 -3
  249. package/lib/dist-custom-elements/{p-f5035d0a.js → p-5a5372db.js} +1 -1
  250. package/lib/dist-custom-elements/{p-77cd5d74.js → p-659b46dc.js} +2 -2
  251. package/lib/dist-custom-elements/{p-ce458f25.js → p-6d3db687.js} +1 -1
  252. package/lib/dist-custom-elements/{p-656cb1fd.js → p-721934fb.js} +1 -1
  253. package/lib/dist-custom-elements/{p-d0d1c5a0.js → p-7f5a8d4f.js} +10 -10
  254. package/lib/dist-custom-elements/{p-f7d27c78.js → p-7fae118b.js} +6 -6
  255. package/lib/dist-custom-elements/{p-5b72a3b0.js → p-856877ce.js} +1 -1
  256. package/lib/dist-custom-elements/{p-0eec21d3.js → p-92614803.js} +2 -2
  257. package/lib/dist-custom-elements/{p-3caafb9d.js → p-94bcb496.js} +1 -1
  258. package/lib/dist-custom-elements/{p-2b66b8d4.js → p-9c152299.js} +1 -1
  259. package/lib/dist-custom-elements/{p-cee4b98f.js → p-9cc4be6b.js} +1 -1
  260. package/lib/dist-custom-elements/{p-1385415a.js → p-9ff3d312.js} +3 -3
  261. package/lib/dist-custom-elements/{p-d3180cfc.js → p-a2165a78.js} +1 -1
  262. package/lib/dist-custom-elements/p-a9d05a66.js +58 -0
  263. package/lib/dist-custom-elements/{p-48cbe41a.js → p-af66a878.js} +1 -1
  264. package/lib/dist-custom-elements/{p-f3726f3b.js → p-b1dab6b7.js} +1 -1
  265. package/lib/dist-custom-elements/{p-8b2e0122.js → p-b5757906.js} +2 -2
  266. package/lib/dist-custom-elements/{p-039d4ba6.js → p-b9dfe8fb.js} +2 -2
  267. package/lib/dist-custom-elements/{p-a6205f48.js → p-c00e6485.js} +34 -12
  268. package/lib/dist-custom-elements/{p-0defe821.js → p-c9b0406e.js} +2 -2
  269. package/lib/dist-custom-elements/{p-6237da28.js → p-cd6aad6d.js} +4 -4
  270. package/lib/dist-custom-elements/{p-32d33753.js → p-d2461d13.js} +1 -1
  271. package/lib/dist-custom-elements/{p-884ae25a.js → p-e8f9e11c.js} +5 -5
  272. package/lib/dist-custom-elements/{p-30456bad.js → p-f6889d60.js} +1 -1
  273. package/lib/dist-custom-elements/{p-c97f4a6a.js → p-fc39349f.js} +20 -23
  274. package/lib/dist-custom-elements/{p-4c473784.js → p-ffd3c3bf.js} +1 -1
  275. package/lib/duet/duet.esm.js +1 -1
  276. package/lib/duet/duet.js +1 -1
  277. package/lib/duet/p-0117fffd.js +4 -0
  278. package/lib/duet/{p-cee2f369.system.entry.js → p-0196e419.system.entry.js} +1 -1
  279. package/lib/duet/{p-ed24b370.entry.js → p-01bfa80a.entry.js} +1 -1
  280. package/lib/duet/{p-3469aaaf.entry.js → p-01c4784d.entry.js} +1 -1
  281. package/lib/duet/{p-eacf7ed7.entry.js → p-021aad93.entry.js} +1 -1
  282. package/lib/duet/{p-d72ec8fd.system.entry.js → p-02b0b46e.system.entry.js} +1 -1
  283. package/lib/duet/{p-a65da7a4.entry.js → p-08a6fe81.entry.js} +1 -1
  284. package/lib/duet/{p-a543a9f0.entry.js → p-08bafedd.entry.js} +1 -1
  285. package/lib/duet/{p-e1bd6791.system.entry.js → p-0a04f223.system.entry.js} +1 -1
  286. package/lib/duet/{p-570ec400.system.entry.js → p-0a55a31e.system.entry.js} +1 -1
  287. package/lib/duet/{p-b17f976c.entry.js → p-0a5bad04.entry.js} +1 -1
  288. package/lib/duet/{p-d0f03726.entry.js → p-0b393b45.entry.js} +1 -1
  289. package/lib/duet/{p-15c9f74e.system.entry.js → p-0b4d95a3.system.entry.js} +1 -1
  290. package/lib/duet/{p-1fe8dc67.entry.js → p-0d93d5d6.entry.js} +1 -1
  291. package/lib/duet/{p-8d6f3089.system.entry.js → p-0dd9cb8f.system.entry.js} +1 -1
  292. package/lib/duet/{p-b93a8d60.system.entry.js → p-0ea89bc3.system.entry.js} +1 -1
  293. package/lib/duet/{p-c8859716.entry.js → p-108a8449.entry.js} +1 -1
  294. package/lib/duet/{p-f86398eb.entry.js → p-11484af4.entry.js} +1 -1
  295. package/lib/duet/{p-81136f12.system.entry.js → p-1188bd88.system.entry.js} +1 -1
  296. package/lib/duet/{p-679272b4.entry.js → p-1255ca3c.entry.js} +1 -1
  297. package/lib/duet/{p-f6abc74d.system.entry.js → p-147036df.system.entry.js} +1 -1
  298. package/lib/duet/p-1640e9ef.system.entry.js +4 -0
  299. package/lib/duet/{p-b7bbc0ac.entry.js → p-171fef9f.entry.js} +1 -1
  300. package/lib/duet/{p-b3abe719.system.js → p-17b4723d.system.js} +1 -1
  301. package/lib/duet/{p-f71d7b6d.system.entry.js → p-1c7c636b.system.entry.js} +1 -1
  302. package/lib/duet/{p-923aa342.system.entry.js → p-1ca77377.system.entry.js} +1 -1
  303. package/lib/duet/{p-7609e7e5.system.entry.js → p-1e748fe7.system.entry.js} +1 -1
  304. package/lib/duet/{p-a54076ef.entry.js → p-1fc499eb.entry.js} +1 -1
  305. package/lib/duet/{p-4275cecd.entry.js → p-2072e2e3.entry.js} +1 -1
  306. package/lib/duet/p-218f197d.entry.js +4 -0
  307. package/lib/duet/{p-ae8b02f9.entry.js → p-295d819b.entry.js} +1 -1
  308. package/lib/duet/{p-e5dfecab.entry.js → p-29620cb8.entry.js} +1 -1
  309. package/lib/duet/{p-49eb852a.entry.js → p-2bbce6ff.entry.js} +1 -1
  310. package/lib/duet/{p-292150a9.system.entry.js → p-2d09e690.system.entry.js} +1 -1
  311. package/lib/duet/p-2dad2417.system.entry.js +4 -0
  312. package/lib/duet/{p-629ca254.system.entry.js → p-2ed33090.system.entry.js} +1 -1
  313. package/lib/duet/{p-7b87a422.entry.js → p-2f4670b2.entry.js} +1 -1
  314. package/lib/duet/p-2f938e05.js +4 -0
  315. package/lib/duet/{p-6dae863c.system.entry.js → p-32672a70.system.entry.js} +1 -1
  316. package/lib/duet/{p-1a70c103.system.entry.js → p-32c11792.system.entry.js} +1 -1
  317. package/lib/duet/{p-0c25b7a5.system.entry.js → p-34679792.system.entry.js} +1 -1
  318. package/lib/duet/p-3639064f.entry.js +4 -0
  319. package/lib/duet/{p-8016efed.system.entry.js → p-364bf8a5.system.entry.js} +1 -1
  320. package/lib/duet/p-3682e272.entry.js +4 -0
  321. package/lib/duet/{p-8ce9049d.system.entry.js → p-3707f843.system.entry.js} +1 -1
  322. package/lib/duet/{p-96bf7e64.entry.js → p-37558e94.entry.js} +1 -1
  323. package/lib/duet/{p-485e347b.system.entry.js → p-37a2bf8f.system.entry.js} +1 -1
  324. package/lib/duet/p-38209530.system.entry.js +4 -0
  325. package/lib/duet/{p-5866fd3c.entry.js → p-3aa1dda7.entry.js} +1 -1
  326. package/lib/duet/{p-58cb1e7b.js → p-3aa7b734.js} +1 -1
  327. package/lib/duet/p-3ae93bdc.entry.js +4 -0
  328. package/lib/duet/{p-b7e41270.entry.js → p-3e04b125.entry.js} +1 -1
  329. package/lib/duet/{p-b5a24ec4.entry.js → p-3f51641e.entry.js} +1 -1
  330. package/lib/duet/p-430e0441.entry.js +4 -0
  331. package/lib/duet/{p-d06624f9.system.entry.js → p-442b1388.system.entry.js} +1 -1
  332. package/lib/duet/{p-6455d4e2.system.entry.js → p-47ae2ce5.system.entry.js} +1 -1
  333. package/lib/duet/{p-3679fdf8.entry.js → p-488d5317.entry.js} +1 -1
  334. package/lib/duet/p-4b688090.js +4 -0
  335. package/lib/duet/{p-5a973232.entry.js → p-4c3e8006.entry.js} +1 -1
  336. package/lib/duet/{p-c99709d4.system.entry.js → p-4d3b8094.system.entry.js} +1 -1
  337. package/lib/duet/{p-da039779.entry.js → p-4d584eba.entry.js} +1 -1
  338. package/lib/duet/{p-b54d5edb.entry.js → p-5075f682.entry.js} +1 -1
  339. package/lib/duet/{p-36478f3d.entry.js → p-528f9e22.entry.js} +1 -1
  340. package/lib/duet/{p-a60ba7fb.system.entry.js → p-5298d270.system.entry.js} +1 -1
  341. package/lib/duet/{p-8ee40bae.js → p-56def387.js} +1 -1
  342. package/lib/duet/{p-cebe051e.system.entry.js → p-57e55fe5.system.entry.js} +1 -1
  343. package/lib/duet/p-59cee476.js +4 -0
  344. package/lib/duet/{p-0c9e9925.entry.js → p-5b094a81.entry.js} +1 -1
  345. package/lib/duet/{p-cfe7483c.entry.js → p-5b7b0c49.entry.js} +1 -1
  346. package/lib/duet/{p-ba1170fc.system.entry.js → p-5d078192.system.entry.js} +1 -1
  347. package/lib/duet/p-620790ec.entry.js +4 -0
  348. package/lib/duet/{p-1f01bee2.js → p-6251429e.js} +1 -1
  349. package/lib/duet/{p-bc2dfc8f.entry.js → p-62d45619.entry.js} +1 -1
  350. package/lib/duet/{p-95c12be6.system.entry.js → p-646fb027.system.entry.js} +1 -1
  351. package/lib/duet/{p-95933d17.system.entry.js → p-64714348.system.entry.js} +2 -2
  352. package/lib/duet/{p-bf901d0f.entry.js → p-67150100.entry.js} +1 -1
  353. package/lib/duet/{p-d04f0720.system.js → p-6746f86c.system.js} +1 -1
  354. package/lib/duet/{p-8f5bbc88.system.entry.js → p-68b94462.system.entry.js} +1 -1
  355. package/lib/duet/{p-51e4be9b.entry.js → p-693c2594.entry.js} +1 -1
  356. package/lib/duet/{p-854d1f8e.system.entry.js → p-69a0ce45.system.entry.js} +1 -1
  357. package/lib/duet/{p-b8427cfa.system.entry.js → p-6f677d93.system.entry.js} +1 -1
  358. package/lib/duet/{p-94379df1.system.entry.js → p-6fe0a923.system.entry.js} +1 -1
  359. package/lib/duet/{p-c54c650f.system.entry.js → p-7013d95e.system.entry.js} +1 -1
  360. package/lib/duet/{p-a53b0c61.entry.js → p-71be2ee6.entry.js} +1 -1
  361. package/lib/duet/{p-d72625ca.system.js → p-7231eb9d.system.js} +1 -1
  362. package/lib/duet/{p-8b744c14.system.entry.js → p-742e23f2.system.entry.js} +1 -1
  363. package/lib/duet/p-743372d1.system.entry.js +4 -0
  364. package/lib/duet/{p-5f34fc36.system.entry.js → p-74a10d90.system.entry.js} +1 -1
  365. package/lib/duet/{p-545d740f.entry.js → p-765ce7e2.entry.js} +1 -1
  366. package/lib/duet/{p-f5fc750d.entry.js → p-76f86b9a.entry.js} +1 -1
  367. package/lib/duet/{p-a1e4a928.entry.js → p-77b52060.entry.js} +1 -1
  368. package/lib/duet/{p-9c4b48e8.entry.js → p-7948f709.entry.js} +1 -1
  369. package/lib/duet/{p-1dc59447.system.entry.js → p-7d56359b.system.entry.js} +1 -1
  370. package/lib/duet/p-81dc0c8c.system.js +4 -0
  371. package/lib/duet/{p-87633fff.system.js → p-83cfc05d.system.js} +1 -1
  372. package/lib/duet/{p-7caeb4e4.system.entry.js → p-850c54b0.system.entry.js} +1 -1
  373. package/lib/duet/p-88c60955.entry.js +4 -0
  374. package/lib/duet/{p-75030665.entry.js → p-8a10a26e.entry.js} +1 -1
  375. package/lib/duet/{p-ceb8f2cd.entry.js → p-8cb64ea1.entry.js} +1 -1
  376. package/lib/duet/{p-77984d20.system.entry.js → p-8ccbbbc7.system.entry.js} +1 -1
  377. package/lib/duet/{p-034e1b79.system.entry.js → p-8d28efb9.system.entry.js} +1 -1
  378. package/lib/duet/{p-2f8ee1a5.entry.js → p-8e21ea72.entry.js} +1 -1
  379. package/lib/duet/{p-fc8ac479.system.entry.js → p-8e6085d1.system.entry.js} +1 -1
  380. package/lib/duet/{p-6000271f.system.entry.js → p-8f7fcfb5.system.entry.js} +1 -1
  381. package/lib/duet/{p-56cc31e0.entry.js → p-8fe2a9bf.entry.js} +1 -1
  382. package/lib/duet/{p-9e37e183.system.entry.js → p-8fe65a80.system.entry.js} +1 -1
  383. package/lib/duet/{p-d3b6137d.system.entry.js → p-90157004.system.entry.js} +1 -1
  384. package/lib/duet/{p-79570700.system.entry.js → p-90fcd0a4.system.entry.js} +1 -1
  385. package/lib/duet/{p-c9063437.system.entry.js → p-9220dbb1.system.entry.js} +1 -1
  386. package/lib/duet/{p-ec919d45.entry.js → p-9277533c.entry.js} +1 -1
  387. package/lib/duet/{p-1e126580.entry.js → p-94341565.entry.js} +1 -1
  388. package/lib/duet/{p-093a5aaa.system.entry.js → p-9453fcb3.system.entry.js} +1 -1
  389. package/lib/duet/{p-cc5d55c9.entry.js → p-97d956fb.entry.js} +1 -1
  390. package/lib/duet/{p-c3755b07.entry.js → p-9bfd9d0e.entry.js} +1 -1
  391. package/lib/duet/p-9f3b0efe.entry.js +4 -0
  392. package/lib/duet/{p-1af82a3a.system.entry.js → p-9f6855fa.system.entry.js} +1 -1
  393. package/lib/duet/{p-4c164015.system.entry.js → p-a2173e10.system.entry.js} +2 -2
  394. package/lib/duet/{p-e61fdd1f.system.entry.js → p-a44268b2.system.entry.js} +1 -1
  395. package/lib/duet/{p-eedacfa7.entry.js → p-a579ae4d.entry.js} +1 -1
  396. package/lib/duet/{p-15f1493c.system.js → p-a71f0bcb.system.js} +1 -1
  397. package/lib/duet/{p-45664da0.entry.js → p-a744d677.entry.js} +1 -1
  398. package/lib/duet/{p-a1a46dc8.entry.js → p-a9d0200d.entry.js} +1 -1
  399. package/lib/duet/{p-427293b9.system.entry.js → p-ab79bc5b.system.entry.js} +1 -1
  400. package/lib/duet/{p-99915f28.system.entry.js → p-ae03cb6d.system.entry.js} +1 -1
  401. package/lib/duet/{p-5e7bfe5a.entry.js → p-ae220bba.entry.js} +1 -1
  402. package/lib/duet/p-af9c927e.system.entry.js +4 -0
  403. package/lib/duet/{p-0024a14a.system.entry.js → p-b0b59b81.system.entry.js} +1 -1
  404. package/lib/duet/p-b1e60f97.system.js +4 -0
  405. package/lib/duet/p-b52a7760.entry.js +4 -0
  406. package/lib/duet/p-b9aec534.js +4 -0
  407. package/lib/duet/{p-46e3ea75.system.js → p-bb332c66.system.js} +1 -1
  408. package/lib/duet/{p-bed81853.entry.js → p-bb8ae835.entry.js} +1 -1
  409. package/lib/duet/{p-bfed7d1f.system.entry.js → p-bd56c1a2.system.entry.js} +1 -1
  410. package/lib/duet/p-c2040676.entry.js +4 -0
  411. package/lib/duet/{p-c155c203.entry.js → p-c33b42c3.entry.js} +1 -1
  412. package/lib/duet/p-c38c24d6.entry.js +4 -0
  413. package/lib/duet/{p-ec88c131.entry.js → p-c3c20651.entry.js} +1 -1
  414. package/lib/duet/{p-63347221.system.entry.js → p-c3dc699e.system.entry.js} +1 -1
  415. package/lib/duet/p-c4b5fabf.system.entry.js +4 -0
  416. package/lib/duet/{p-488db8d3.system.entry.js → p-c5415db0.system.entry.js} +1 -1
  417. package/lib/duet/{p-babcf111.system.entry.js → p-c6e2ee1a.system.entry.js} +1 -1
  418. package/lib/duet/{p-1399801a.entry.js → p-c754edc5.entry.js} +1 -1
  419. package/lib/duet/{p-30c4c974.system.js → p-c801dc04.system.js} +1 -1
  420. package/lib/duet/{p-fdedb49b.entry.js → p-c842f2d4.entry.js} +1 -1
  421. package/lib/duet/{p-b023c816.system.entry.js → p-c908691b.system.entry.js} +1 -1
  422. package/lib/duet/{p-5186598c.entry.js → p-c9d80470.entry.js} +1 -1
  423. package/lib/duet/{p-9f82677f.entry.js → p-cb31529a.entry.js} +1 -1
  424. package/lib/duet/{p-b11ec474.system.entry.js → p-cb9b90ca.system.entry.js} +1 -1
  425. package/lib/duet/{p-71699fd9.system.entry.js → p-cd2b9ea5.system.entry.js} +1 -1
  426. package/lib/duet/{p-74ffcc62.system.entry.js → p-cda010aa.system.entry.js} +1 -1
  427. package/lib/duet/{p-1c28fbe6.entry.js → p-ce1092fb.entry.js} +1 -1
  428. package/lib/duet/{p-5eacc131.system.entry.js → p-ceb72dbf.system.entry.js} +1 -1
  429. package/lib/duet/{p-d2a1b1fd.entry.js → p-cec33ac2.entry.js} +1 -1
  430. package/lib/duet/{p-90e6b35a.entry.js → p-ceef0aa6.entry.js} +1 -1
  431. package/lib/duet/p-cf597b70.js +4 -0
  432. package/lib/duet/{p-9eb323ce.system.entry.js → p-cf7c7b31.system.entry.js} +2 -2
  433. package/lib/duet/{p-fcad9137.entry.js → p-d049d71c.entry.js} +1 -1
  434. package/lib/duet/{p-18076536.entry.js → p-d1b57119.entry.js} +1 -1
  435. package/lib/duet/{p-526c13d3.system.entry.js → p-d2bbf06d.system.entry.js} +1 -1
  436. package/lib/duet/{p-19e02960.system.entry.js → p-d402bc88.system.entry.js} +1 -1
  437. package/lib/duet/{p-3833ae7b.system.entry.js → p-d8c928d7.system.entry.js} +1 -1
  438. package/lib/duet/p-da78c7c2.system.entry.js +4 -0
  439. package/lib/duet/{p-3a2a2ec5.system.entry.js → p-db051207.system.entry.js} +1 -1
  440. package/lib/duet/{p-a5757e21.system.entry.js → p-dbd06bd8.system.entry.js} +1 -1
  441. package/lib/duet/p-dcfc4c0f.system.entry.js +4 -0
  442. package/lib/duet/{p-b9133310.entry.js → p-deb9517b.entry.js} +1 -1
  443. package/lib/duet/{p-4787b506.system.entry.js → p-df506bc2.system.entry.js} +1 -1
  444. package/lib/duet/{p-976353c6.entry.js → p-e06917a1.entry.js} +1 -1
  445. package/lib/duet/{p-a48e2a76.system.entry.js → p-e124a98d.system.entry.js} +1 -1
  446. package/lib/duet/{p-c3f5f64f.system.entry.js → p-e32bf9f7.system.entry.js} +1 -1
  447. package/lib/duet/{p-94593336.entry.js → p-e57b46d9.entry.js} +1 -1
  448. package/lib/duet/{p-ba05fe4e.entry.js → p-e5e9d602.entry.js} +1 -1
  449. package/lib/duet/p-e68bc090.system.entry.js +4 -0
  450. package/lib/duet/p-e6ea7449.entry.js +4 -0
  451. package/lib/duet/p-ed178fc9.system.entry.js +4 -0
  452. package/lib/duet/{p-1c2890e1.entry.js → p-ed7e4450.entry.js} +1 -1
  453. package/lib/duet/{p-f9e9a571.entry.js → p-edb2b160.entry.js} +1 -1
  454. package/lib/duet/{p-ed39c72b.entry.js → p-ef15807a.entry.js} +1 -1
  455. package/lib/duet/{p-fde30afe.system.entry.js → p-f0ae8c0f.system.entry.js} +1 -1
  456. package/lib/duet/{p-1bd0222c.entry.js → p-f3098989.entry.js} +1 -1
  457. package/lib/duet/{p-e33b7b4f.system.entry.js → p-f37dae2f.system.entry.js} +1 -1
  458. package/lib/duet/{p-5a34eb53.system.js → p-f392387c.system.js} +1 -1
  459. package/lib/duet/{p-1dd85611.system.entry.js → p-f3f34fe0.system.entry.js} +1 -1
  460. package/lib/duet/{p-687b20eb.system.entry.js → p-f4939b4a.system.entry.js} +1 -1
  461. package/lib/duet/{p-bd0152ae.entry.js → p-f49c6050.entry.js} +1 -1
  462. package/lib/duet/{p-bf0218de.entry.js → p-f8bfbd2d.entry.js} +1 -1
  463. package/lib/duet/p-f8c7cc95.entry.js +4 -0
  464. package/lib/duet/{p-eeb02f96.system.entry.js → p-fa06e91a.system.entry.js} +1 -1
  465. package/lib/duet/{p-faa08662.system.entry.js → p-fe0a02b8.system.entry.js} +1 -1
  466. package/lib/duet/{p-a0893754.entry.js → p-fe5a2b41.entry.js} +1 -1
  467. package/lib/duet/{p-a34a7a64.entry.js → p-fedc902d.entry.js} +1 -1
  468. package/lib/esm/a11y-utils-04e1285d.js +43 -0
  469. package/lib/esm/{app-globals-2222efbc.js → app-globals-1de03b2e.js} +1 -1
  470. package/lib/esm/{common-strings-1274857d.js → common-strings-5f78fe4e.js} +5 -4
  471. package/lib/esm/duet-action-button.entry.js +3 -3
  472. package/lib/esm/duet-alert.entry.js +15 -12
  473. package/lib/esm/duet-badge.entry.js +4 -4
  474. package/lib/esm/duet-banner.entry.js +4 -4
  475. package/lib/esm/duet-breadcrumb.entry.js +2 -2
  476. package/lib/esm/duet-breadcrumbs.entry.js +3 -3
  477. package/lib/esm/duet-button_2.entry.js +5 -5
  478. package/lib/esm/duet-callout.entry.js +3 -3
  479. package/lib/esm/duet-caption_4.entry.js +6 -6
  480. package/lib/esm/duet-card.entry.js +3 -3
  481. package/lib/esm/duet-checkbox.entry.js +2 -2
  482. package/lib/esm/duet-checkmark.entry.js +2 -2
  483. package/lib/esm/duet-chip.entry.js +3 -3
  484. package/lib/esm/duet-choice_2.entry.js +9 -8
  485. package/lib/esm/duet-collapsible.entry.js +13 -8
  486. package/lib/esm/duet-combobox.entry.js +20 -15
  487. package/lib/esm/duet-contact-card.entry.js +3 -3
  488. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  489. package/lib/esm/duet-date-picker.entry.js +5 -5
  490. package/lib/esm/duet-divider_2.entry.js +2 -2
  491. package/lib/esm/duet-editable-table_3.entry.js +4 -4
  492. package/lib/esm/duet-empty-state.entry.js +2 -2
  493. package/lib/esm/duet-fieldset.entry.js +3 -3
  494. package/lib/esm/duet-file-chooser.entry.js +2 -2
  495. package/lib/esm/duet-footer.entry.js +5 -5
  496. package/lib/esm/duet-grid_2.entry.js +2 -2
  497. package/lib/esm/duet-header_2.entry.js +4 -4
  498. package/lib/esm/duet-hero.entry.js +18 -17
  499. package/lib/esm/duet-icon.entry.js +2 -2
  500. package/lib/esm/duet-indicator.entry.js +3 -3
  501. package/lib/esm/duet-input_2.entry.js +29 -5
  502. package/lib/esm/duet-layout.entry.js +2 -2
  503. package/lib/esm/duet-list_2.entry.js +3 -3
  504. package/lib/esm/duet-menu-bar-button.entry.js +2 -2
  505. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +2 -2
  506. package/lib/esm/duet-menu-bar-dropdown.entry.js +2 -2
  507. package/lib/esm/duet-menu-bar-item.entry.js +6 -6
  508. package/lib/esm/duet-menu-bar-link.entry.js +2 -2
  509. package/lib/esm/duet-menu-bar.entry.js +3 -3
  510. package/lib/esm/duet-modal.entry.js +6 -6
  511. package/lib/esm/duet-multiselect.entry.js +4 -4
  512. package/lib/esm/duet-nav.entry.js +2 -2
  513. package/lib/esm/duet-notification_2.entry.js +4 -4
  514. package/lib/esm/duet-number-input.entry.js +15 -11
  515. package/lib/esm/duet-overlay.entry.js +2 -2
  516. package/lib/esm/duet-page-heading.entry.js +2 -2
  517. package/lib/esm/duet-pagination_2.entry.js +3 -3
  518. package/lib/esm/duet-panel.entry.js +5 -6
  519. package/lib/esm/duet-phone-input.entry.js +6 -6
  520. package/lib/esm/duet-popup-menu_2.entry.js +13 -15
  521. package/lib/esm/duet-progress.entry.js +3 -3
  522. package/lib/esm/duet-promo-card.entry.js +3 -3
  523. package/lib/esm/duet-radio_2.entry.js +3 -3
  524. package/lib/esm/duet-range-slider.entry.js +2 -2
  525. package/lib/esm/duet-scrollable_3.entry.js +29 -10
  526. package/lib/esm/duet-section-layout.entry.js +1 -1
  527. package/lib/esm/duet-select.entry.js +4 -7
  528. package/lib/esm/duet-shaped-image.entry.js +2 -2
  529. package/lib/esm/duet-share-chart-item.entry.js +1 -1
  530. package/lib/esm/duet-share-chart.entry.js +4 -4
  531. package/lib/esm/duet-show-more.entry.js +3 -3
  532. package/lib/esm/duet-slideout-lang.entry.js +3 -3
  533. package/lib/esm/duet-slideout-link.entry.js +6 -6
  534. package/lib/esm/duet-slideout-panel-dropdown.entry.js +2 -2
  535. package/lib/esm/duet-slideout-panel.entry.js +5 -5
  536. package/lib/esm/duet-slideout.entry.js +13 -13
  537. package/lib/esm/duet-status-icon.entry.js +1 -1
  538. package/lib/esm/duet-step_2.entry.js +4 -4
  539. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +2 -2
  540. package/lib/esm/duet-submenu-bar-dropdown.entry.js +2 -2
  541. package/lib/esm/duet-submenu-bar-item.entry.js +6 -6
  542. package/lib/esm/duet-submenu-bar-link.entry.js +2 -2
  543. package/lib/esm/duet-submenu-bar.entry.js +2 -2
  544. package/lib/esm/duet-textarea.entry.js +7 -6
  545. package/lib/esm/duet-toggle.entry.js +2 -2
  546. package/lib/esm/duet-toolbar-dropdown-link.entry.js +2 -2
  547. package/lib/esm/duet-toolbar-dropdown.entry.js +3 -3
  548. package/lib/esm/duet-toolbar-item.entry.js +6 -6
  549. package/lib/esm/duet-toolbar-link.entry.js +3 -3
  550. package/lib/esm/duet-toolbar.entry.js +2 -2
  551. package/lib/esm/duet-tooltip-button_2.entry.js +3 -3
  552. package/lib/esm/duet-tooltip.entry.js +3 -3
  553. package/lib/esm/duet-tray.entry.js +3 -3
  554. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  555. package/lib/esm/duet-upload-item.entry.js +4 -4
  556. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  557. package/lib/esm/duet.js +4 -4
  558. package/lib/esm/{errorcodes.utils-454fa730.js → errorcodes.utils-e3c3fbe7.js} +1 -1
  559. package/lib/esm/{focus-utils-7af43257.js → focus-utils-8dcbe898.js} +1 -1
  560. package/lib/esm/{index-ddbf3a7a.js → index-e0645409.js} +1 -1
  561. package/lib/esm/{language-utils-1387fba1.js → language-utils-5c6108e9.js} +1 -1
  562. package/lib/esm/loader.js +4 -4
  563. package/lib/esm/{slot-utils-53835bd7.js → slot-utils-0bb6f129.js} +1 -1
  564. package/lib/esm/{themeable-component-ae3def9c.js → themeable-component-f1c77a5d.js} +1 -1
  565. package/lib/esm-es5/a11y-utils-04e1285d.js +4 -0
  566. package/lib/esm-es5/{app-globals-2222efbc.js → app-globals-1de03b2e.js} +1 -1
  567. package/lib/esm-es5/{common-strings-1274857d.js → common-strings-5f78fe4e.js} +1 -1
  568. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  569. package/lib/esm-es5/duet-alert.entry.js +2 -2
  570. package/lib/esm-es5/duet-badge.entry.js +1 -1
  571. package/lib/esm-es5/duet-banner.entry.js +1 -1
  572. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  573. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  574. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  575. package/lib/esm-es5/duet-callout.entry.js +1 -1
  576. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  577. package/lib/esm-es5/duet-card.entry.js +1 -1
  578. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  579. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  580. package/lib/esm-es5/duet-chip.entry.js +1 -1
  581. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  582. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  583. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  584. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  585. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  586. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  587. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  588. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  589. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  590. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  591. package/lib/esm-es5/duet-file-chooser.entry.js +1 -1
  592. package/lib/esm-es5/duet-footer.entry.js +1 -1
  593. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  594. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  595. package/lib/esm-es5/duet-hero.entry.js +1 -1
  596. package/lib/esm-es5/duet-icon.entry.js +1 -1
  597. package/lib/esm-es5/duet-indicator.entry.js +1 -1
  598. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  599. package/lib/esm-es5/duet-layout.entry.js +1 -1
  600. package/lib/esm-es5/duet-list_2.entry.js +2 -2
  601. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  602. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  603. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  604. package/lib/esm-es5/duet-menu-bar-item.entry.js +1 -1
  605. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  606. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  607. package/lib/esm-es5/duet-modal.entry.js +1 -1
  608. package/lib/esm-es5/duet-multiselect.entry.js +2 -2
  609. package/lib/esm-es5/duet-nav.entry.js +1 -1
  610. package/lib/esm-es5/duet-notification_2.entry.js +2 -2
  611. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  612. package/lib/esm-es5/duet-overlay.entry.js +1 -1
  613. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  614. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  615. package/lib/esm-es5/duet-panel.entry.js +1 -1
  616. package/lib/esm-es5/duet-phone-input.entry.js +1 -1
  617. package/lib/esm-es5/duet-popup-menu_2.entry.js +2 -2
  618. package/lib/esm-es5/duet-progress.entry.js +1 -1
  619. package/lib/esm-es5/duet-promo-card.entry.js +2 -2
  620. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  621. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  622. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  623. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  624. package/lib/esm-es5/duet-select.entry.js +2 -2
  625. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  626. package/lib/esm-es5/duet-share-chart-item.entry.js +1 -1
  627. package/lib/esm-es5/duet-share-chart.entry.js +1 -1
  628. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  629. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  630. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  631. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  632. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  633. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  634. package/lib/esm-es5/duet-status-icon.entry.js +1 -1
  635. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  636. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  637. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  638. package/lib/esm-es5/duet-submenu-bar-item.entry.js +2 -2
  639. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  640. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  641. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  642. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  643. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  644. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  645. package/lib/esm-es5/duet-toolbar-item.entry.js +1 -1
  646. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  647. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  648. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  649. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  650. package/lib/esm-es5/duet-tray.entry.js +1 -1
  651. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  652. package/lib/esm-es5/duet-upload-item.entry.js +2 -2
  653. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  654. package/lib/esm-es5/duet.js +1 -1
  655. package/lib/esm-es5/{errorcodes.utils-454fa730.js → errorcodes.utils-e3c3fbe7.js} +1 -1
  656. package/lib/esm-es5/focus-utils-8dcbe898.js +4 -0
  657. package/lib/esm-es5/{index-ddbf3a7a.js → index-e0645409.js} +1 -1
  658. package/lib/esm-es5/{language-utils-1387fba1.js → language-utils-5c6108e9.js} +1 -1
  659. package/lib/esm-es5/loader.js +1 -1
  660. package/lib/esm-es5/{slot-utils-53835bd7.js → slot-utils-0bb6f129.js} +1 -1
  661. package/lib/esm-es5/{themeable-component-ae3def9c.js → themeable-component-f1c77a5d.js} +1 -1
  662. package/lib/types/components/duet-choice/duet-choice.d.ts +3 -3
  663. package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +1 -0
  664. package/lib/types/components/duet-combobox/duet-combobox.d.ts +1 -0
  665. package/lib/types/components/duet-input/duet-input.d.ts +12 -1
  666. package/lib/types/components/duet-number-input/duet-number-input.d.ts +8 -6
  667. package/lib/types/components/duet-popup-menu/duet-popup-menu.d.ts +4 -4
  668. package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +13 -0
  669. package/lib/types/components/duet-select/duet-select.d.ts +0 -1
  670. package/lib/types/components/duet-slideout/duet-slideout.d.ts +4 -4
  671. package/lib/types/components/duet-textarea/duet-textarea.d.ts +4 -0
  672. package/lib/types/components.d.ts +56 -23
  673. package/lib/types/utils/a11y-utils.d.ts +11 -0
  674. package/package.json +5 -5
  675. package/lib/cjs/a11y-utils-f8e4367b.js +0 -25
  676. package/lib/dist-custom-elements/p-745a4e07.js +0 -58
  677. package/lib/dist-custom-elements/p-f8d1e874.js +0 -23
  678. package/lib/duet/p-12899787.system.entry.js +0 -4
  679. package/lib/duet/p-1bdc5408.entry.js +0 -4
  680. package/lib/duet/p-23878f2f.system.entry.js +0 -4
  681. package/lib/duet/p-24954951.js +0 -4
  682. package/lib/duet/p-329da927.js +0 -4
  683. package/lib/duet/p-3704f63a.system.entry.js +0 -4
  684. package/lib/duet/p-37136593.system.entry.js +0 -4
  685. package/lib/duet/p-3a0756e2.js +0 -4
  686. package/lib/duet/p-3a793df8.entry.js +0 -4
  687. package/lib/duet/p-3af12511.entry.js +0 -4
  688. package/lib/duet/p-3c583c14.entry.js +0 -4
  689. package/lib/duet/p-40ec37e0.system.entry.js +0 -4
  690. package/lib/duet/p-41ffd369.entry.js +0 -4
  691. package/lib/duet/p-4ff5a3ed.system.js +0 -4
  692. package/lib/duet/p-50dd94b8.system.js +0 -4
  693. package/lib/duet/p-61f93b06.js +0 -4
  694. package/lib/duet/p-6484efcc.entry.js +0 -4
  695. package/lib/duet/p-7f286bc3.entry.js +0 -4
  696. package/lib/duet/p-80694bcb.entry.js +0 -4
  697. package/lib/duet/p-8df7c962.entry.js +0 -4
  698. package/lib/duet/p-944f5ee9.system.entry.js +0 -4
  699. package/lib/duet/p-9481e189.js +0 -4
  700. package/lib/duet/p-a7cb778c.system.entry.js +0 -4
  701. package/lib/duet/p-ac6e2668.system.entry.js +0 -4
  702. package/lib/duet/p-bc9888d4.entry.js +0 -4
  703. package/lib/duet/p-c7f65120.js +0 -4
  704. package/lib/duet/p-d0d1667e.entry.js +0 -4
  705. package/lib/duet/p-e36e78ea.system.entry.js +0 -4
  706. package/lib/duet/p-e9454352.system.entry.js +0 -4
  707. package/lib/duet/p-f240daa0.entry.js +0 -4
  708. package/lib/duet/p-f25d359d.entry.js +0 -4
  709. package/lib/esm/a11y-utils-ac6ae502.js +0 -23
  710. package/lib/esm-es5/a11y-utils-ac6ae502.js +0 -4
  711. package/lib/esm-es5/focus-utils-7af43257.js +0 -4
@@ -260,7 +260,8 @@ export class DuetChoice {
260
260
  const identifier = this.identifier || this.choiceId;
261
261
  return (h(Host, { class: {
262
262
  horizontal: this.groupDirection === "horizontal" && !this.groupResponsive,
263
- "horizontal-responsive": this.groupDirection === "horizontal" && this.groupResponsive,
263
+ [`horizontal-responsive-${this.groupResponsive}`]: this.groupDirection === "horizontal" && !!this.groupResponsive,
264
+ "vertical-stretch": this.groupDirection === "horizontal",
264
265
  "duet-m-0": this.margin === "none",
265
266
  "duet-expand": this.expand,
266
267
  "duet-theme-turva": this.theme === "turva",
@@ -837,19 +838,25 @@ export class DuetChoice {
837
838
  "reflect": false
838
839
  },
839
840
  "groupResponsive": {
840
- "type": "boolean",
841
+ "type": "string",
841
842
  "mutable": false,
842
843
  "complexType": {
843
- "original": "boolean",
844
- "resolved": "boolean",
845
- "references": {}
844
+ "original": "DuetChoiceGroupBreakpoint",
845
+ "resolved": "\"large\" | \"medium\" | \"small\" | \"x-large\" | \"x-small\"",
846
+ "references": {
847
+ "DuetChoiceGroupBreakpoint": {
848
+ "location": "import",
849
+ "path": "../../common-types",
850
+ "id": "src/common-types.d.ts::DuetChoiceGroupBreakpoint"
851
+ }
852
+ }
846
853
  },
847
854
  "required": false,
848
855
  "optional": false,
849
856
  "docs": {
850
857
  "tags": [{
851
858
  "name": "internal",
852
- "text": "Determines whether the group has responsive behavior"
859
+ "text": "Determines at which breakpoint the group has responsive behavior"
853
860
  }],
854
861
  "text": ""
855
862
  },
@@ -115,7 +115,7 @@ export class DuetChoiceGroup {
115
115
  choice.required = this.required;
116
116
  choice.groupDisabled = this.disabled;
117
117
  choice.groupDirection = this.direction;
118
- choice.groupResponsive = this.responsive;
118
+ choice.groupResponsive = this.responsive ? this.breakpoint : undefined;
119
119
  if (!hasChecked && choice.value === value) {
120
120
  // Correct value for this choice, but this choice isn't checked yet
121
121
  // and we haven't found a checked yet
@@ -7,8 +7,7 @@ import { h, Host } from "@stencil/core";
7
7
  import { inheritGlobalTheme } from "../../common";
8
8
  import { createID } from "../../utils/create-id";
9
9
  import { isKeyboardClick, subscribeTabbingChange, unsubscribeTabbingChange } from "../../utils/keyboard-utils";
10
- import { checkNamedSlotElement, getSlotTextContent, hasSlot } from "../../utils/slot-utils";
11
- import { sanitizeString } from "../../utils/string-utils";
10
+ import { checkNamedSlotElement, getElementsFromNamedSlot, getSlotTextContent, hasSlot } from "../../utils/slot-utils";
12
11
  /**
13
12
  * @part duet-collapsible-heading-content - piercing selector for styling the heading content
14
13
  * @part duet-collapsible-after-heading - piercing selector for styling the after heading
@@ -19,6 +18,7 @@ import { sanitizeString } from "../../utils/string-utils";
19
18
  export class DuetCollapsible {
20
19
  constructor() {
21
20
  this.id = createID("DuetCollapsible");
21
+ this.headingTags = ["h1", "h2", "h3", "h4", "h5", "h6"];
22
22
  this.handleKeyDown = (e) => {
23
23
  if (isKeyboardClick(e)) {
24
24
  this.handleClick(e);
@@ -104,7 +104,12 @@ export class DuetCollapsible {
104
104
  inheritGlobalTheme(this);
105
105
  this.hasAfterHeadingSlot = hasSlot(this.element, "after-heading");
106
106
  this.hasHeadingSlot = hasSlot(this.element, "heading");
107
- checkNamedSlotElement(this.element, "heading", "h1, h2, h3, h4, h5, h6");
107
+ checkNamedSlotElement(this.element, "heading", this.headingTags.join(","));
108
+ // As the slotted heading is inside a button it is assigned a presentational role. To provide the correct
109
+ // level to assistive technologies we copy the slotted heading's level for the heading wrapping the button.
110
+ if (this.hasHeadingSlot) {
111
+ this.headingLevel = getElementsFromNamedSlot(this.element, "heading")[0].tagName.toLowerCase();
112
+ }
108
113
  }
109
114
  connectedCallback() {
110
115
  subscribeTabbingChange(this);
@@ -127,8 +132,8 @@ export class DuetCollapsible {
127
132
  * Always the last one in the class.
128
133
  */
129
134
  render() {
130
- const HeadingTagName = this.headingLevel && !this.hasHeadingSlot ? sanitizeString(this.headingLevel) : "div";
131
- return (h(Host, { key: '491c8d50564fe200f63bce1926984df56d988340', class: { "duet-m-0": this.margin === "none", negative: this.negative } }, h(HeadingTagName, { key: '5b4014c7cd9911d38bb99f5552107244afb856b1' }, h("button", { key: 'a24f83bd274bd9b20ba6132da1a7a2859103eba6', class: {
135
+ const HeadingTagName = this.headingTags.includes(this.headingLevel) ? this.headingLevel : "div";
136
+ return (h(Host, { key: 'd4e3f686937d93bdf484ffae863443fe77c210be', class: { "duet-m-0": this.margin === "none", negative: this.negative } }, h(HeadingTagName, { key: 'e7ba14607b1e4d73d5f6272c00e2ceb0b8aa07ba' }, h("button", { key: '351d29316e93e66753701bbef469b6ec45518ead', class: {
132
137
  "duet-collapsible-heading": true,
133
138
  "duet-collapsible-heading-centered": this.centerHeading,
134
139
  "duet-theme-turva": this.theme === "turva",
@@ -136,7 +141,7 @@ export class DuetCollapsible {
136
141
  "has-after-heading": this.hasAfterHeadingSlot,
137
142
  "full-width": this.headingFullWidth,
138
143
  "has-caption": !!this.caption,
139
- }, style: { "font-size": this.getFontSizeFromTokens() }, role: "button", ref: button => (this.nativeButton = button), "aria-label": this.getAccessibleLabel(), "aria-expanded": this.open ? "true" : "false", "aria-controls": this.id, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("div", { key: 'b748199f0715c1236573441ac601a174a104a89c', class: "duet-collapsible-heading-wrapper" }, h("div", { key: '5abc89da39733fcf24605f919971b87053f2c3b5', class: "duet-collapsible-heading-icon" }, h("duet-icon", { key: '4ad7a599fcf2198838b85fe531ab32eae005c235', margin: "none", size: this.getEquivalentIconSize(), icon: icon.svg })), h("div", { key: '19b333d50cf04db0aefffd763ecdbfd487884069', class: "duet-collapsible-heading-content", part: "duet-collapsible-heading-content" }, this.heading ? this.heading : h("slot", { name: "heading" })), this.hasAfterHeadingSlot && (h("div", { key: '0bccd472b3eb373b2a2d725e4c40aa8ee2705706', part: "duet-collapsible-after-heading" }, h("slot", { key: '39f90f69cd933d6f7d7657e593126a01589f63b7', name: "after-heading" })))), this.caption && (h("div", { key: '5fc18d8f1e8010c368d49770ed89371ed2e09457', class: "duet-collapsible-heading-caption" }, h("duet-caption", { key: 'd83d5d514cd020a7f97b0e19d0afe7e61b500582', size: "small", margin: "none" }, this.caption))))), h("div", { key: 'd9687fa0fb07e389ea350ec3448f935d3fc8e332', id: this.id, class: { "duet-collapsible-content": true, "duet-theme-turva": this.theme === "turva" }, part: "duet-collapsible-content" }, h("slot", { key: '423d7640d82b84912f65637ff6f9d490502373a6' }))));
144
+ }, style: { "font-size": this.getFontSizeFromTokens() }, role: "button", ref: button => (this.nativeButton = button), "aria-label": this.getAccessibleLabel(), "aria-expanded": this.open ? "true" : "false", "aria-controls": this.id, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("div", { key: '1e209486bb08e851fb98f60b4d24e4db0d6b3d87', class: "duet-collapsible-heading-wrapper" }, h("div", { key: '40b9e2fb2b7b5967c46fca245b772404ed8d274f', class: "duet-collapsible-heading-icon" }, h("duet-icon", { key: '07f471ddd35c31014d5fd6b02698b7061daafc54', margin: "none", size: this.getEquivalentIconSize(), icon: icon.svg })), h("div", { key: 'b6ff01c3e226758716fe24ad0a9b911ccc09b145', class: "duet-collapsible-heading-content", part: "duet-collapsible-heading-content" }, this.heading ? this.heading : h("slot", { name: "heading" })), this.hasAfterHeadingSlot && (h("div", { key: 'ff88bb6f7c9a581479a698927e0240cbc4602356', part: "duet-collapsible-after-heading" }, h("slot", { key: '38ec3c75fa1328af535bf7fd07a3c4fdc41fbb8c', name: "after-heading" })))), this.caption && (h("div", { key: '49ca6eedead259a8a78fd043a62482248b047db9', class: "duet-collapsible-heading-caption" }, h("duet-caption", { key: 'fe7690a05a479010d8b5fdb325959ab6f9aed226', size: "small", margin: "none" }, this.caption))))), h("div", { key: 'f0e833d4d0987a5b05f5daf1e098c633adae5e11', id: this.id, class: { "duet-collapsible-content": true, "duet-theme-turva": this.theme === "turva" }, part: "duet-collapsible-content" }, h("slot", { key: '1a2ffd5f9b35957a876cc1ce0940e10274037476' }))));
140
145
  }
141
146
  static get is() { return "duet-collapsible"; }
142
147
  static get encapsulation() { return "shadow"; }
@@ -351,7 +356,7 @@ export class DuetCollapsible {
351
356
  },
352
357
  "headingLevel": {
353
358
  "type": "string",
354
- "mutable": false,
359
+ "mutable": true,
355
360
  "complexType": {
356
361
  "original": "DuetHeadingLevel | undefined",
357
362
  "resolved": "\"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\"",
@@ -32,16 +32,20 @@ export class DuetCombobox {
32
32
  this.inputValue = newValue;
33
33
  };
34
34
  this.onInputClick = () => {
35
- var _a, _b;
36
- if (this.openListOnClick) {
37
- this.listOpen = !this.listOpen;
38
- }
39
- else {
40
- this.listOpen = ((_a = this.inputValue) === null || _a === void 0 ? void 0 : _a.length) >= this.minCharacters;
41
- }
42
- if (!((_b = this.getFilteredItems()) === null || _b === void 0 ? void 0 : _b.length)) {
43
- this.listOpen = false;
44
- }
35
+ this.popupMenuController = this.input.nativeInputElement;
36
+ // change listOpen on next tick so popup controller is set when open changes
37
+ setTimeout(() => {
38
+ var _a, _b;
39
+ if (this.openListOnClick) {
40
+ this.listOpen = !this.listOpen;
41
+ }
42
+ else {
43
+ this.listOpen = ((_a = this.inputValue) === null || _a === void 0 ? void 0 : _a.length) >= this.minCharacters;
44
+ }
45
+ if (!((_b = this.getFilteredItems()) === null || _b === void 0 ? void 0 : _b.length)) {
46
+ this.listOpen = false;
47
+ }
48
+ });
45
49
  };
46
50
  this.onInputTyping = async (e) => {
47
51
  var _a;
@@ -126,6 +130,7 @@ export class DuetCombobox {
126
130
  this.processedItems = null;
127
131
  this.inputValue = "";
128
132
  this.listOpen = false;
133
+ this.popupMenuController = undefined;
129
134
  this.selectedItems = new Set();
130
135
  this.activeItem = undefined;
131
136
  this.accessibleLabelDefaults = {
@@ -551,7 +556,7 @@ export class DuetCombobox {
551
556
  return (h(Host, { class: {
552
557
  "duet-combobox": true,
553
558
  [`duet-theme-${this.theme}`]: true,
554
- } }, h("slot", null), h("div", null, h("duet-popup-menu", { id: this.listBoxId, controller: this.input, ref: el => (this.listContainer = el), accessibleRole: "listbox", allowVerticalFlip: false, class: { "duet-skip-teleport-inert": this.isInsideModal } }, h("div", { class: "combobox-menu-container" }, this.listOpen &&
559
+ } }, h("slot", null), h("div", null, h("duet-popup-menu", { id: this.listBoxId, controller: this.popupMenuController, ref: el => (this.listContainer = el), accessibleRole: "listbox", allowVerticalFlip: false, class: { "duet-skip-teleport-inert": this.isInsideModal } }, h("div", { class: "combobox-menu-container" }, this.listOpen &&
555
560
  selectElements.map((item, index) => {
556
561
  return (h(DuetComboBoxSelect, { id: this.activeDescendantId, item: item, activeDescendant: index === this.activeItem, selected: this.selectedItems.has(item.id), search: this.inputValue, clickHandler: e => this.onListClick(e, item), label: this.formatLabel(item, index, selectElements.length, this.processedItems.length), isAndroidDevice: this.isAndroidDevice }));
557
562
  }), h("duet-spacer", { size: "x-small" }))))));
@@ -860,6 +865,7 @@ export class DuetCombobox {
860
865
  "processedItems": {},
861
866
  "inputValue": {},
862
867
  "listOpen": {},
868
+ "popupMenuController": {},
863
869
  "selectedItems": {},
864
870
  "activeItem": {}
865
871
  };
@@ -95,18 +95,19 @@ export class DuetHero {
95
95
  * Component lifecycle events.
96
96
  */
97
97
  componentWillLoad() {
98
- const headings = "h1, h2, h3, h4, h5, h6";
98
+ const headings = ["h1", "h2", "h3", "h4", "h5", "h6"];
99
99
  inheritGlobalTheme(this);
100
100
  this.hasPreHeadingSlot = hasSlot(this.element, "pre-heading");
101
101
  this.hasHeadingSlot = hasSlot(this.element, "heading");
102
102
  this.hasSubHeadingSlot = hasSlot(this.element, "subheading");
103
103
  checkNamedSlotElement(this.element, "pre-heading", "span");
104
- checkNamedSlotElement(this.element, "heading", `span, ${headings}`);
105
- checkNamedSlotElement(this.element, "subheading", "span");
106
- if (this.hasHeadingSlot && getElementsFromNamedSlot(this.element, "heading")[0].matches(headings)) {
104
+ checkNamedSlotElement(this.element, "heading", `span,${headings.join(",")}`);
105
+ // for subheadings h1 should not be used, hence slice(1)
106
+ checkNamedSlotElement(this.element, "subheading", `span, ${headings.slice(1).join(",")}`);
107
+ if (this.hasHeadingSlot && getElementsFromNamedSlot(this.element, "heading")[0].matches(headings.join(","))) {
107
108
  this.hasHeadingSlotNative = true;
108
109
  }
109
- if (this.hasSubHeadingSlot && getElementsFromNamedSlot(this.element, "subheading")[0].matches(headings)) {
110
+ if (this.hasSubHeadingSlot && getElementsFromNamedSlot(this.element, "subheading")[0].matches(headings.join(","))) {
110
111
  this.hasSubHeadingSlotNative = true;
111
112
  }
112
113
  this.refresh();
@@ -198,7 +199,7 @@ export class DuetHero {
198
199
  outlineColor = "color-primary-turva";
199
200
  }
200
201
  }
201
- return (h("div", { key: '1fbd9962c3489ee8b3c350e99fe0b7e99a0db6f2', role: "region", class: {
202
+ return (h("div", { key: 'fa35dbee8b994ef184ee7f14037be974a09331c2', role: "region", class: {
202
203
  "duet-hero": true,
203
204
  "duet-theme-turva": this.theme === "turva",
204
205
  "duet-has-category-icon": !!this.categoryIcon,
@@ -213,20 +214,20 @@ export class DuetHero {
213
214
  "duet-hero-content": this.variation === "content",
214
215
  "duet-hero-gray-with-actions": !!this.processedActions,
215
216
  "duet-hero-gray-with-back": !!this.processedBack,
216
- "duet-hero-text-center": (this.textCenter && !this.leftAlign) || campaignOrSection,
217
- "duet-hero-left-align": this.leftAlign && !campaignOrSection,
217
+ "duet-hero-text-center": this.variation !== "product" && ((this.textCenter && !this.leftAlign) || campaignOrSection),
218
+ "duet-hero-left-align": this.variation === "product" || (this.leftAlign && !campaignOrSection),
218
219
  "duet-hero-narrow": this.layout === "narrow",
219
- }, part: "duet-hero" }, campaignOrSection && this.image && (h("div", { key: '1fc3163bd1a52e8289056313c08f4697e9e2b662', class: "background-area" }, h("div", { key: 'c21f6997d31c25133dca05d1a853f7d490e60052', class: "background-container" }, h("div", { key: 'ac7a43202885742dc98a535143954c97def0a855', class: "background" }, h("img", { key: '9574406eb8ed97f0decbca4def0bf7a94529679d', class: `${imageSizeIsCover ? "cover" : ""} ${imagePositionIsCenter ? "center" : ""}`, src: this.image, alt: this.imageAlt || "", role: this.imageAlt ? null : "presentation" })), h("div", { key: 'd35128a5fa6f8a7f00e8df3940a4e347822aec04', class: "brand-shape" })))), this.variation === "product" && this.image && (h("div", { key: '226c7247fe08bd694da1d594d5d0efbce3cc99cb', class: { "background-area": true, [this.layout]: true } }, h("div", { key: '47d1811c6af96ab9536f5da9ed053b7c71c2b303', class: { "background-container": true, [this.layout]: true } }, h("div", { key: 'abbdcbf247461ae489bea75984676f6c0010d0ff', class: { background: true, [this.layout]: true } }, h("div", { key: 'd684e7a5cb272d16b0bc53a12cda860a3304b7d7', class: { "background-mask": true, [this.layout]: true } }), this.theme !== "turva" && h("div", { key: '54d3e5d5fc433bb7ff51a5b2ab4653b11dd93789', class: { "brand-shape": true, [this.layout]: true } }), h("div", { key: '8f93ff6fa715b3218549aef0837da54722630e56', class: { "brand-shaped-image": true, [this.layout]: true } }, h("div", { key: '88f93fa6f5ebd24b51f30b1214821abbf249e50e', class: { "brand-shaped-image-wrapper": true, [this.layout]: true } }, h("div", Object.assign({ key: 'd75f941bd6917dafe5dad64a5122b5058e09c4a7', class: { "brand-shaped-image-bg": true, [this.layout]: true }, style: styles }, bgImgA11yAttrs)))), this.categoryIcon && (h("div", { key: '7fbcde433ec34499af429a23038615f9d5b02849', class: { "brand-shaped-icon": true, [this.layout]: true } }, h("duet-icon", { key: '5060f6dc479a54be7a91ee4f14bf133e95425514', class: { [this.layout]: true }, background: "none", name: this.categoryIcon, margin: "none", size: "auto", responsive: false }))))))), this.variation === "content" && this.image && (h("div", { key: '22bea138a33fcceb6c25e01493300650f5060bc8', class: "background-area" }, h("div", { key: '1700e043bf84702aa49061b78e4f66f5e4ffd7ae', class: "background" }, h("div", { key: '2910c2fcb2d2a0f97814807cc00f0baafd092132', class: "background-mask" }), this.theme !== "turva" && h("div", { key: '36edb6e5216814ff3820a0f6e0a51cfdf3f27bba', class: "brand-shape" }), h("div", { key: '68f10868f4fbfd2979e44f30ff065684b2e1762a', class: "brand-shaped-image" }, h("div", { key: 'c6d8b858f43531bbc4d2093df7d56dde145ff0ae', class: "brand-shaped-image-wrapper" }, h("div", Object.assign({ key: 'ef5bdd9d2fb65140dbe3b5842938aff51fe47c1e', class: "brand-shaped-image-bg", style: styles }, bgImgA11yAttrs))))))), h("div", { key: '0d0f813a8c87fc705f40d326cf04ca661b4e0345', class: { "duet-hero-wrapper": true, [this.layout]: true } }, this.image && this.variation === "image" && (h("div", { key: 'c85b5f23fcfb67a8853a895d6c34bade622c4bf4', class: "duet-hero-image-mask" }, h("div", { key: '9f96a6ee0d7dbe965c4d87cf9c6042ed371511fe', class: "duet-hero-image-wrapper" }, h("div", Object.assign({ key: '3f91277d921ba1e24d5d1d91d9be8eb0e721230a', class: "duet-hero-image", style: styles }, bgImgA11yAttrs))))), (this.variation === "gray" || this.variation === "light" || this.variation === "minimal") &&
220
- this.processedBack && (h("div", { key: '04bebe7cf9a7861063df73b4b145e23024b2b357', class: "duet-hero-back" }, h("duet-button", { key: 'aa268558b148b77731c78c8a9552f5ec44f1fb99', 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, {
220
+ }, part: "duet-hero" }, campaignOrSection && this.image && (h("div", { key: '05a01c2c503d74eddc8c596fc1d880639aaa5862', class: "background-area" }, h("div", { key: 'a6d159fe2a9ed0eb667d1db53089be54762b920e', class: "background-container" }, h("div", { key: 'f875de16cc5a0cc400a0ace3152ede4ae27bd5d5', class: "background" }, h("img", { key: 'bef8f024778718abcfa0f92f40117ffa28b1d0f7', class: `${imageSizeIsCover ? "cover" : ""} ${imagePositionIsCenter ? "center" : ""}`, src: this.image, alt: this.imageAlt || "", role: this.imageAlt ? null : "presentation" })), h("div", { key: '6cb813b93f709ecf11ea04f2782395c6a39670e4', class: "brand-shape" })))), this.variation === "product" && this.image && (h("div", { key: '12fa379acbfdb4cae24f8c51e3a790209fb0509a', class: { "background-area": true, [this.layout]: true } }, h("div", { key: '9a080bab844fa201d634fa360c9b89e4f1c5a4fc', class: { "background-container": true, [this.layout]: true } }, h("div", { key: '6d8d78c810ab12dbbb9f3c41214e0105da786bbc', class: { background: true, [this.layout]: true } }, h("div", { key: 'f6aa46f768812d5628df22f1431068e0b5933b74', class: { "background-mask": true, [this.layout]: true } }), this.theme !== "turva" && h("div", { key: '13ada3b92d17cfa4f8254617388e2ade41e8fadf', class: { "brand-shape": true, [this.layout]: true } }), h("div", { key: '1ce05345c82a79acea5583708f461e084897de4a', class: { "brand-shaped-image": true, [this.layout]: true } }, h("div", { key: '62bdb4c78133848961eac8bef8b83d463f3e63d0', class: { "brand-shaped-image-wrapper": true, [this.layout]: true } }, h("div", Object.assign({ key: 'a720f43c7e685c051de7d2e61c9acc25afae1dbb', class: { "brand-shaped-image-bg": true, [this.layout]: true }, style: styles }, bgImgA11yAttrs)))), this.categoryIcon && (h("div", { key: 'a8d2976ed3643db156452d547523a2fc841f3d0e', class: { "brand-shaped-icon": true, [this.layout]: true } }, h("duet-icon", { key: 'c38414fbb99e65b1f9c4a664a6e676a9f8b7025f', class: { [this.layout]: true }, background: "none", name: this.categoryIcon, margin: "none", size: "auto", responsive: false }))))))), this.variation === "content" && this.image && (h("div", { key: 'e5cdd2479783fcad7c1f97f1715e86b856b28a6f', class: "background-area" }, h("div", { key: 'b8f2c219770ce4b9e1fd77d588be1eb7163f5af8', class: "background" }, h("div", { key: 'c60a75e5d5716223833deac1252a69349be7130a', class: "background-mask" }), this.theme !== "turva" && h("div", { key: 'b8089d1d256c7651d46ddba3719865efa82443fc', class: "brand-shape" }), h("div", { key: '55fd2721160fa3b9ce006e1bbd6003adbda99a3a', class: "brand-shaped-image" }, h("div", { key: '5d710677ca730efb2602cf3af9fba5281a4f499e', class: "brand-shaped-image-wrapper" }, h("div", Object.assign({ key: 'f28d8fc889e31ac6bfdfbd9f981161520a0d51a8', class: "brand-shaped-image-bg", style: styles }, bgImgA11yAttrs))))))), h("div", { key: '7c202d74c190ba3a14fa25ec7f54ffeacf7291c8', class: { "duet-hero-wrapper": true, [this.layout]: true } }, this.image && this.variation === "image" && (h("div", { key: '454ba005b410efa34603628681e8b714d89a5665', class: "duet-hero-image-mask" }, h("div", { key: '7877477496c7dfa40734e43b35ab6526f1509830', class: "duet-hero-image-wrapper" }, h("div", Object.assign({ key: '42ae141822152fe2d014713b47324b30f3472eed', class: "duet-hero-image", style: styles }, bgImgA11yAttrs))))), (this.variation === "gray" || this.variation === "light" || this.variation === "minimal") &&
221
+ this.processedBack && (h("div", { key: 'b1762400833a30827acb6ec41b9916f109ddfb0b', class: "duet-hero-back" }, h("duet-button", { key: '1eedfa284e166efd92bb19955dc9805abe9e272d', 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, {
221
222
  label: this.processedBack.label,
222
223
  href: this.processedBack.href,
223
224
  id: this.processedBack.id,
224
225
  analyticsId: this.processedBack.analyticsId,
225
- }) }, this.processedBack.label))), (this.variation === "gray" || this.variation === "minimal") && this.categoryIcon && (h("duet-icon", { key: '1cc9b8391c6b969c49874c06c6cd8dfcfbec259c', class: { "duet-hero-icon": true, "duet-hero-icon-has-heading": this.preHeading !== "" }, size: "x-large", background: this.categoryIconColor, name: this.categoryIcon })), h("div", { key: '4ff89423844a75b8297e5120796238a6e081f2e4', class: { "duet-hero-text": true }, part: "duet-hero-text" }, (this.preHeading || this.hasPreHeadingSlot) && (h("duet-paragraph", { key: '89a6e67512a31710e42bdaf18842e5f1e3d3196c', margin: "none", class: "duet-hero-pre", size: this.variation === "content" ? "small" : "medium", "aria-hidden": "true" }, this.preHeading ? (this.preHeading) : (h("span", null, h("slot", { name: "pre-heading" }))))), h("slot", { key: '07977695a569298f04255bd459abef76a50d9b9b', name: "badge" }), (this.heading || this.hasHeadingSlot) && (h("duet-heading", { key: '4e142cb8344bf05edafa30facc7036014bb46f53', theme: this.theme, level: this.hasHeadingSlotNative ? "div" : this.level, class: { "duet-hero-heading": true, "duet-hero-heading-has-pre": this.preHeading !== "" }, color: headingColor, visualLevel: headingVisualLevel, margin: campaignOrSection ? "none" : "auto", accessibleLabel: this.getAccessibleHeading() }, this.heading ? this.heading : h("slot", { name: "heading" }))), campaignOrSection && this.hasSubHeadingSlot && (h("duet-heading", { key: '600e6a035d0449a6b8523dd72a5ff0c034a8524f', theme: this.theme, level: this.hasSubHeadingSlotNative ? "div" : this.subHeadingLevel, class: { "duet-hero-subheading": true }, color: this.theme === "turva" ? "secondary-turva" : "secondary", visualLevel: "h2" }, h("slot", { key: 'df3fab2c2877e3c7d87ffaf3095741447b66a6d4', name: "subheading" }))), this.description && (h("duet-paragraph", { key: '3a32395112fb7b7171f5dd7106df32c878148778', theme: this.theme, color: textColor, variation: "intro" }, this.description)), (this.variation === "gray" || this.variation === "minimal") && this.processedListItems && (h("duet-list", { key: 'c8eac98c6f6720e21304abdc668d4b823d38de24', theme: this.theme, "label-width": "30", breakpoint: "large", mobile: this.leftAlign ? undefined : "center" }, this.processedListItems.map(item => (h("duet-list-item", null, h("span", { slot: "label" }, item.label), h("span", { slot: "value" }, item.value)))))), this.buttonLabel && (h("duet-button", { key: '1ab6ba33bd362d329be7940d419d59ff91559283', url: this.buttonUrl, icon: this.icon, iconRight: this.iconRight, iconSize: this.iconSize, variation: buttonVariation, theme: this.theme, identifier: this.buttonId, onClick: event => this.handleClick(event, this.buttonData), fixed: true }, this.buttonLabel)), h("slot", { key: '1d17230b6fe08862a4572c9f3199f83ab0b7f5b5' })), (this.variation === "gray" || this.variation === "minimal") && this.processedActions && (h("div", { key: 'c3fe5e8fcbf5a15479cc241e5a84633653842440', class: "duet-hero-links" }, this.processedActions.map(item => (h("a", { class: "duet-hero-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleClick(event, item) }, h("div", { class: "duet-hero-action-icon" }, h("duet-icon", { size: "small", margin: "none", name: item.icon, color: "currentColor", outline: outlineColor })), h("span", null, item.label), item.external && h("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), item.external && (h("div", { class: "duet-hero-action-arrow" }, h("duet-icon", { icon: newWindowIcon.svg, size: "xx-small", margin: "none", color: "currentColor" })))))))), this.image &&
226
+ }) }, this.processedBack.label))), (this.variation === "gray" || this.variation === "minimal") && this.categoryIcon && (h("duet-icon", { key: 'fa3ecd954954f891f21f519a317d675336ee4c1c', class: { "duet-hero-icon": true, "duet-hero-icon-has-heading": this.preHeading !== "" }, size: "x-large", background: this.categoryIconColor, name: this.categoryIcon })), h("div", { key: '04a5ffacc49a0fa85947f3f480b2286c5b39e5c6', class: { "duet-hero-text": true }, part: "duet-hero-text" }, (this.preHeading || this.hasPreHeadingSlot) && (h("duet-paragraph", { key: '01eb5298baa073d78e8fa0ce33fc99368575ef5e', margin: "none", class: "duet-hero-pre", size: this.variation === "content" ? "small" : "medium", "aria-hidden": "true" }, this.preHeading ? (this.preHeading) : (h("span", null, h("slot", { name: "pre-heading" }))))), h("slot", { key: 'e76b43180f840efb71d90fb08fe70c863c4ed823', name: "badge" }), (this.heading || this.hasHeadingSlot) && (h("duet-heading", { key: '1d018e37fb570861415391084ebda9b811172d86', theme: this.theme, level: this.hasHeadingSlotNative ? "div" : this.level, class: { "duet-hero-heading": true, "duet-hero-heading-has-pre": this.preHeading !== "" }, color: headingColor, visualLevel: headingVisualLevel, margin: campaignOrSection ? "none" : "auto", accessibleLabel: this.getAccessibleHeading() }, this.heading ? this.heading : h("slot", { name: "heading" }))), campaignOrSection && this.hasSubHeadingSlot && (h("duet-heading", { key: 'a8440dae00d85d43bd773362f69bd8650ae04754', theme: this.theme, level: this.hasSubHeadingSlotNative ? "div" : this.subHeadingLevel, class: { "duet-hero-subheading": true }, color: this.theme === "turva" ? "secondary-turva" : "secondary", visualLevel: "h2" }, h("slot", { key: '6e2b10d8dbc216c0f6ab19a8067565e214eaf072', name: "subheading" }))), this.description && (h("duet-paragraph", { key: '78e530df9740b183cf43eb4dafdfc5b32ca7c999', theme: this.theme, color: textColor, variation: "intro" }, this.description)), (this.variation === "gray" || this.variation === "minimal") && this.processedListItems && (h("duet-list", { key: '859a45212d18fb98d836ce4d7052644d38195d17', theme: this.theme, "label-width": "30", breakpoint: "large", mobile: this.leftAlign ? undefined : "center" }, this.processedListItems.map(item => (h("duet-list-item", null, h("span", { slot: "label" }, item.label), h("span", { slot: "value" }, item.value)))))), this.buttonLabel && (h("duet-button", { key: '3e48b26a763819458bb4fb43261d367951eeb7ce', url: this.buttonUrl, icon: this.icon, iconRight: this.iconRight, iconSize: this.iconSize, variation: buttonVariation, theme: this.theme, identifier: this.buttonId, onClick: event => this.handleClick(event, this.buttonData), fixed: true }, this.buttonLabel)), h("slot", { key: 'a6db74c909cba288f62bb02c2541fd5268a52ea8' })), (this.variation === "gray" || this.variation === "minimal") && this.processedActions && (h("div", { key: '9be975f3d542c4a87fb80fbda376778edcb5378e', class: "duet-hero-links" }, this.processedActions.map(item => (h("a", { class: "duet-hero-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleClick(event, item) }, h("div", { class: "duet-hero-action-icon" }, h("duet-icon", { size: "small", margin: "none", name: item.icon, color: "currentColor", outline: outlineColor })), h("span", null, item.label), item.external && h("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), item.external && (h("div", { class: "duet-hero-action-arrow" }, h("duet-icon", { icon: newWindowIcon.svg, size: "xx-small", margin: "none", color: "currentColor" })))))))), this.image &&
226
227
  this.variation !== "image" &&
227
228
  !campaignOrSection &&
228
229
  this.variation !== "product" &&
229
- this.variation !== "content" && h("div", Object.assign({ key: 'e0342b005149594372844914be95a65e39febd3f', class: "duet-hero-image", style: styles }, bgImgA11yAttrs)), h("slot", { key: '7484f06d422af7427143c2d99cb97a1a79b895cc', name: "bottom" }))));
230
+ this.variation !== "content" && h("div", Object.assign({ key: '031c374f9e451037685f935474bf73642d28cee8', class: "duet-hero-image", style: styles }, bgImgA11yAttrs)), h("slot", { key: '7751d8263998d8164696ad5975c437b3dc305658', name: "bottom" }))));
230
231
  }
231
232
  static get is() { return "duet-hero"; }
232
233
  static get encapsulation() { return "shadow"; }
@@ -182,13 +182,13 @@ export class DuetInput {
182
182
  this.language = getLanguage();
183
183
  this.isPasswordRevealed = undefined;
184
184
  this.isFocused = false;
185
+ this._accessiblePopup = undefined;
185
186
  this.accessibleActiveDescendant = undefined;
186
187
  this.accessibleAutocomplete = undefined;
187
188
  this.accessibleControls = undefined;
188
189
  this.accessibleOwns = undefined;
189
190
  this.accessibleExpanded = undefined;
190
191
  this.accessibleDescribedBy = "";
191
- this.accessibleHasPopup = undefined;
192
192
  this.accessibleDetails = undefined;
193
193
  this.accessibleLabelledBy = undefined;
194
194
  this.accessibleDescription = undefined;
@@ -228,6 +228,24 @@ export class DuetInput {
228
228
  this.tooltip = "";
229
229
  this.tooltipDirection = "auto";
230
230
  }
231
+ /**
232
+ * @deprecated, use `accessiblePopup` property instead
233
+ */
234
+ get accessibleHasPopup() {
235
+ return this._accessiblePopup;
236
+ }
237
+ set accessibleHasPopup(value) {
238
+ this._accessiblePopup = value;
239
+ }
240
+ /**
241
+ * Indicates value of any popup element associated with the input.
242
+ */
243
+ get accessiblePopup() {
244
+ return this._accessiblePopup;
245
+ }
246
+ set accessiblePopup(value) {
247
+ this._accessiblePopup = value;
248
+ }
231
249
  disallowedPatternChange() {
232
250
  this.disallowPatternRegex = this.disallowPattern ? new RegExp(this.disallowPattern, "gu") : null;
233
251
  }
@@ -258,6 +276,12 @@ export class DuetInput {
258
276
  get validity() {
259
277
  return this.nativeInput.validity;
260
278
  }
279
+ /**
280
+ * @internal
281
+ */
282
+ get nativeInputElement() {
283
+ return this.nativeInput;
284
+ }
261
285
  /**
262
286
  * Component lifecycle events.
263
287
  */
@@ -601,6 +625,29 @@ export class DuetInput {
601
625
  "defaultValue": "\"\""
602
626
  },
603
627
  "accessibleHasPopup": {
628
+ "type": "string",
629
+ "mutable": false,
630
+ "complexType": {
631
+ "original": "string",
632
+ "resolved": "string",
633
+ "references": {}
634
+ },
635
+ "required": false,
636
+ "optional": false,
637
+ "docs": {
638
+ "tags": [{
639
+ "name": "deprecated",
640
+ "text": ", use `accessiblePopup` property instead"
641
+ }],
642
+ "text": ""
643
+ },
644
+ "getter": true,
645
+ "setter": true,
646
+ "attribute": "accessible-has-popup",
647
+ "reflect": false,
648
+ "defaultValue": "undefined"
649
+ },
650
+ "accessiblePopup": {
604
651
  "type": "string",
605
652
  "mutable": false,
606
653
  "complexType": {
@@ -614,9 +661,9 @@ export class DuetInput {
614
661
  "tags": [],
615
662
  "text": "Indicates value of any popup element associated with the input."
616
663
  },
617
- "getter": false,
618
- "setter": false,
619
- "attribute": "accessible-has-popup",
664
+ "getter": true,
665
+ "setter": true,
666
+ "attribute": "accessible-popup",
620
667
  "reflect": false,
621
668
  "defaultValue": "undefined"
622
669
  },
@@ -1401,6 +1448,31 @@ export class DuetInput {
1401
1448
  "getter": true,
1402
1449
  "setter": false
1403
1450
  },
1451
+ "nativeInputElement": {
1452
+ "type": "unknown",
1453
+ "mutable": false,
1454
+ "complexType": {
1455
+ "original": "HTMLElement",
1456
+ "resolved": "HTMLElement",
1457
+ "references": {
1458
+ "HTMLElement": {
1459
+ "location": "global",
1460
+ "id": "global::HTMLElement"
1461
+ }
1462
+ }
1463
+ },
1464
+ "required": false,
1465
+ "optional": false,
1466
+ "docs": {
1467
+ "tags": [{
1468
+ "name": "internal",
1469
+ "text": undefined
1470
+ }],
1471
+ "text": ""
1472
+ },
1473
+ "getter": true,
1474
+ "setter": false
1475
+ },
1404
1476
  "tooltip": {
1405
1477
  "type": "string",
1406
1478
  "mutable": false,
@@ -1453,7 +1525,8 @@ export class DuetInput {
1453
1525
  return {
1454
1526
  "language": {},
1455
1527
  "isPasswordRevealed": {},
1456
- "isFocused": {}
1528
+ "isFocused": {},
1529
+ "_accessiblePopup": {}
1457
1530
  };
1458
1531
  }
1459
1532
  static get events() {
@@ -110,13 +110,13 @@
110
110
  color: rgb(23, 28, 58);
111
111
  }
112
112
 
113
- :host(.duet-list-striped:nth-child(odd)) dt,
114
- :host(.duet-list-striped:nth-child(odd)) dd {
113
+ :host(.duet-list-striped:nth-of-type(odd)) dt,
114
+ :host(.duet-list-striped:nth-of-type(odd)) dd {
115
115
  background: rgb(245, 248, 250);
116
116
  }
117
117
 
118
- :host(.duet-list-striped.duet-theme-turva:nth-child(odd)) dt,
119
- :host(.duet-list-striped.duet-theme-turva:nth-child(odd)) dd {
118
+ :host(.duet-list-striped.duet-theme-turva:nth-of-type(odd)) dt,
119
+ :host(.duet-list-striped.duet-theme-turva:nth-of-type(odd)) dd {
120
120
  background: rgb(245, 247, 250);
121
121
  }
122
122
 
@@ -436,8 +436,8 @@
436
436
  color: rgb(23, 42, 59);
437
437
  }
438
438
 
439
- :host(.duet-theme-turva2.duet-list-striped.duet-theme-turva:nth-child(odd)) dt,
440
- :host(.duet-theme-turva2.duet-list-striped.duet-theme-turva:nth-child(odd)) dd {
439
+ :host(.duet-theme-turva2.duet-list-striped.duet-theme-turva:nth-of-type(odd)) dt,
440
+ :host(.duet-theme-turva2.duet-list-striped.duet-theme-turva:nth-of-type(odd)) dd {
441
441
  background: rgb(245, 246, 247);
442
442
  }
443
443
 
@@ -197,15 +197,15 @@ export class DuetNumberInput {
197
197
  this.accessibleLive = getLocaleString(this.accessibleLiveDefaults, this.language);
198
198
  this.accessibleLiveEnabled = true;
199
199
  this.accessibleAddDefaults = {
200
- fi: "Lisää summaan",
201
- en: "Add to the amount",
202
- sv: "Lägg till beloppet",
200
+ fi: "Lisää {step} {unit}",
201
+ en: "Add {step} {unit}",
202
+ sv: "Lägg till {step} {unit}",
203
203
  };
204
204
  this.accessibleAdd = getLocaleString(this.accessibleAddDefaults, this.language);
205
205
  this.accessibleSubtractDefaults = {
206
- fi: "Vähennä summasta",
207
- en: "Subtract from the amount",
208
- sv: "Dra från beloppet",
206
+ fi: "Vähennä {step} {unit}",
207
+ en: "Subtract {step} {unit}",
208
+ sv: "Subtrahera {step} {unit}",
209
209
  };
210
210
  this.accessibleSubtract = getLocaleString(this.accessibleSubtractDefaults, this.language);
211
211
  this.theme = "";
@@ -302,7 +302,11 @@ export class DuetNumberInput {
302
302
  "duet-theme-turva": this.theme === "turva",
303
303
  "duet-expand": this.expand,
304
304
  "duet-m-0": this.margin === "none",
305
- } }, h("div", { class: "duet-number-container" }, h("duet-input", { ref: input => (this.duetInputElement = input), onDuetChange: event => this.handleChange(event), onDuetFocus: this.handleFocus, onDuetBlur: event => this.handleBlur(event), onKeyDown: event => this.handleKeyDown(event), label: this.label, value: this.value ? `${this.value}${this.getUnitString()}` : "", error: this.error, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": cleanedValue != null ? cleanedValue : "", maxlength: maxlength, name: this.name, component: "number", required: this.required, disabled: this.disabled, role: this.role, labelHidden: this.labelHidden, tooltip: this.tooltip, identifier: identifier, theme: this.theme, margin: "none", expand: true, numericKeyboard: true, autoComplete: "off", type: "text", accessibleActiveDescendant: this.accessibleActiveDescendant, accessibleLabelledBy: this.accessibleLabelledBy, accessibleDescription: this.accessibleDescription, accessibleDetails: this.accessibleDetails, accessibleControls: this.accessibleControls, accessibleOwns: this.accessibleOwns, accessibleDescribedBy: this.accessibleDescribedBy }, h("slot", { name: "tooltip" }), h("div", { class: { "duet-number-buttons": true, "duet-no-label": this.labelHidden } }, h("button", { "aria-controls": identifier, disabled: this.disabled, "aria-disabled": cleanedValue == null || cleanedValue === this.min ? "true" : "false", class: "duet-number-button duet-number-button-subtract", onClick: this.subtract, type: "button" }, h("duet-visually-hidden", null, this.accessibleSubtract, " ", this.step), h("duet-icon", { icon: subtractIcon.svg, size: "small", margin: "none", color: this.theme === "turva" ? "secondary-turva" : "secondary" })), h("button", { "aria-controls": identifier, disabled: this.disabled, "aria-disabled": cleanedValue === this.max ? "true" : "false", class: "duet-number-button duet-number-button-add", onClick: this.add, type: "button" }, h("duet-visually-hidden", null, this.accessibleAdd, " ", this.step), h("duet-icon", { icon: addIcon.svg, size: "small", margin: "none", color: this.theme === "turva" ? "secondary-turva" : "secondary" })))), this.accessibleLiveEnabled && (h("duet-visually-hidden", { "aria-live": "polite", "aria-atomic": "true", "aria-relevant": "all" }, this.formatAnnouncement())))));
305
+ } }, h("div", { class: "duet-number-container" }, h("duet-input", { ref: input => (this.duetInputElement = input), onDuetChange: event => this.handleChange(event), onDuetFocus: this.handleFocus, onDuetBlur: event => this.handleBlur(event), onKeyDown: event => this.handleKeyDown(event), label: this.label, value: this.value ? `${this.value}${this.getUnitString()}` : "", error: this.error, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": cleanedValue != null ? cleanedValue : "", maxlength: maxlength, name: this.name, component: "number", required: this.required, disabled: this.disabled, role: this.role, labelHidden: this.labelHidden, tooltip: this.tooltip, identifier: identifier, theme: this.theme, margin: "none", expand: true, numericKeyboard: true, autoComplete: "off", type: "text", accessibleActiveDescendant: this.accessibleActiveDescendant, accessibleLabelledBy: this.accessibleLabelledBy, accessibleDescription: this.accessibleDescription, accessibleDetails: this.accessibleDetails, accessibleControls: this.accessibleControls, accessibleOwns: this.accessibleOwns, accessibleDescribedBy: this.accessibleDescribedBy }, h("slot", { name: "tooltip" }), h("div", { class: { "duet-number-buttons": true, "duet-no-label": this.labelHidden } }, h("button", { "aria-controls": identifier, disabled: this.disabled, "aria-disabled": cleanedValue == null || cleanedValue === this.min ? "true" : "false", class: "duet-number-button duet-number-button-subtract", onClick: this.subtract, type: "button" }, h("duet-visually-hidden", null, this.accessibleSubtract
306
+ .replace(/\{\s*step\s*\}/, `${this.step}`)
307
+ .replace(/\{\s*unit\s*\}/, `${this.unit}`)), h("duet-icon", { icon: subtractIcon.svg, size: "small", margin: "none", color: this.theme === "turva" ? "secondary-turva" : "secondary" })), h("button", { "aria-controls": identifier, disabled: this.disabled, "aria-disabled": cleanedValue === this.max ? "true" : "false", class: "duet-number-button duet-number-button-add", onClick: this.add, type: "button" }, h("duet-visually-hidden", null, this.accessibleAdd
308
+ .replace(/\{\s*step\s*\}/, `${this.step}`)
309
+ .replace(/\{\s*unit\s*\}/, `${this.unit}`)), h("duet-icon", { icon: addIcon.svg, size: "small", margin: "none", color: this.theme === "turva" ? "secondary-turva" : "secondary" })))), this.accessibleLiveEnabled && (h("duet-visually-hidden", { "aria-live": "polite", "aria-atomic": "true", "aria-relevant": "all" }, this.formatAnnouncement())))));
306
310
  }
307
311
  static get is() { return "duet-number-input"; }
308
312
  static get encapsulation() { return "scoped"; }
@@ -623,7 +627,7 @@ export class DuetNumberInput {
623
627
  "docs": {
624
628
  "tags": [{
625
629
  "name": "default",
626
- "text": "{fi: \"Lis\u00E4\u00E4 summaan\", en: \"Add to the amount\", sv: \"L\u00E4gg till beloppet\"}"
630
+ "text": "{fi: \"Lis\u00E4\u00E4 {step} {unit}\", en: \"Add {step} {unit}\", sv: \"L\u00E4gg till {step} {unit}\"}"
627
631
  }],
628
632
  "text": "Defaults for accessibleAdd"
629
633
  },
@@ -631,7 +635,7 @@ export class DuetNumberInput {
631
635
  "setter": false,
632
636
  "attribute": "accessible-add-default",
633
637
  "reflect": false,
634
- "defaultValue": "{\n fi: \"Lis\u00E4\u00E4 summaan\",\n en: \"Add to the amount\",\n sv: \"L\u00E4gg till beloppet\",\n }"
638
+ "defaultValue": "{\n fi: \"Lis\u00E4\u00E4 {step} {unit}\",\n en: \"Add {step} {unit}\",\n sv: \"L\u00E4gg till {step} {unit}\",\n }"
635
639
  },
636
640
  "accessibleAdd": {
637
641
  "type": "string",
@@ -646,9 +650,9 @@ export class DuetNumberInput {
646
650
  "docs": {
647
651
  "tags": [{
648
652
  "name": "default",
649
- "text": "{fi: \"Lis\u00E4\u00E4 summaan\", en: \"Add to the amount\", sv: \"L\u00E4gg till beloppet\"}"
653
+ "text": "{fi: \"Lis\u00E4\u00E4 {step} {unit}\", en: \"Add {step} {unit}\", sv: \"L\u00E4gg till {step} {unit}\"}"
650
654
  }],
651
- "text": "Accessible label for the add button that is read for screen reader users."
655
+ "text": "Accessible label for the add button that is read for screen reader users. The placeholders {step} and {unit}\nare replaced with respective properties."
652
656
  },
653
657
  "getter": false,
654
658
  "setter": false,
@@ -675,7 +679,7 @@ export class DuetNumberInput {
675
679
  "docs": {
676
680
  "tags": [{
677
681
  "name": "default",
678
- "text": "{fi: \"V\u00E4henn\u00E4 summasta\", en: \"Subtract from the amount\", sv: \"Dra fr\u00E5n beloppet\"}"
682
+ "text": "{fi: \"V\u00E4henn {step} {unit}\u00E4\", en: \"Subtract {step} {unit}\", sv: \"Sutrahera {step} {unit}\"}"
679
683
  }],
680
684
  "text": "Defaults for accessibleSubtract"
681
685
  },
@@ -683,7 +687,7 @@ export class DuetNumberInput {
683
687
  "setter": false,
684
688
  "attribute": "accessible-subtract-defaults",
685
689
  "reflect": false,
686
- "defaultValue": "{\n fi: \"V\u00E4henn\u00E4 summasta\",\n en: \"Subtract from the amount\",\n sv: \"Dra fr\u00E5n beloppet\",\n }"
690
+ "defaultValue": "{\n fi: \"V\u00E4henn\u00E4 {step} {unit}\",\n en: \"Subtract {step} {unit}\",\n sv: \"Subtrahera {step} {unit}\",\n }"
687
691
  },
688
692
  "accessibleSubtract": {
689
693
  "type": "string",
@@ -698,9 +702,9 @@ export class DuetNumberInput {
698
702
  "docs": {
699
703
  "tags": [{
700
704
  "name": "default",
701
- "text": "{fi: \"V\u00E4henn\u00E4 summasta\", en: \"Subtract from the amount\", sv: \"Dra fr\u00E5n beloppet\"}"
705
+ "text": "{fi: \"V\u00E4henn\u00E4 {step} {unit}\", en: \"Subtract {step} {unit}\", sv: \"Sutrahera {step} {unit}\"}"
702
706
  }],
703
- "text": "Accessible label for the subtract button that is read for screen reader users."
707
+ "text": "Accessible label for the subtract button that is read for screen reader users. The placeholders {step} and {unit}\nare replaced with respective properties."
704
708
  },
705
709
  "getter": false,
706
710
  "setter": false,
@@ -17,8 +17,9 @@
17
17
  margin: 12px 0 28px 0;
18
18
  }
19
19
  }
20
- :host .duet-m-0 {
21
- margin: 0 !important;
20
+
21
+ :host(.duet-m-0) {
22
+ margin: 0;
22
23
  }
23
24
 
24
25
  .duet-panel {
@@ -21,15 +21,14 @@ export class DuetPanel {
21
21
  inheritGlobalTheme(this);
22
22
  }
23
23
  render() {
24
- return (h(Host, { key: '8b846b25b51818d64ede169d7eb7a178e7620658' }, h("section", { key: '9825b3985ca00766d50876ba21a7cf4fc8aa1e64', "aria-label": this.accessibleLabel, "aria-labelledby": this.accessibleLabelledBy, "aria-describedby": this.accessibleDescribedBy, class: {
24
+ return (h(Host, { key: 'b5e4419a744dda0b43c018dbf8c353f69899bcf3', class: { "duet-m-0": this.margin === "none" } }, h("section", { key: '6bcaa57151e39e90884a89dc2cbc87839754c4ef', "aria-label": this.accessibleLabel, "aria-labelledby": this.accessibleLabelledBy, "aria-describedby": this.accessibleDescribedBy, class: {
25
25
  "duet-panel": true,
26
26
  "duet-theme-turva": this.theme === "turva",
27
27
  [this.variation.split("-")[0]]: true,
28
28
  [this.variation.split("-")[1]]: true,
29
29
  [`padding-${this.padding}`]: true,
30
30
  border: this.border,
31
- "duet-m-0": this.margin === "none",
32
- } }, h("slot", { key: 'c5470707b941b16e0ea79c1a13b6b9b6056f4e22' }))));
31
+ } }, h("slot", { key: '8bb284bc305964b85745e72b13c7fad3348b626e' }))));
33
32
  }
34
33
  static get is() { return "duet-panel"; }
35
34
  static get encapsulation() { return "shadow"; }
@@ -152,7 +152,7 @@ export class DuetPhoneInput {
152
152
  return (_c = (_b = (_a = this.duetInputElement) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.replace(/\s/g, "")) !== null && _c !== void 0 ? _c : "";
153
153
  }
154
154
  set value(val) {
155
- if (!this.duetInputElement) {
155
+ if (!this.duetInputElement || !this.countryCodePopup) {
156
156
  this.pendingValue = val;
157
157
  }
158
158
  else {
@@ -177,7 +177,7 @@ export class DuetPhoneInput {
177
177
  }
178
178
  componentDidLoad() {
179
179
  if (this.pendingValue) {
180
- this.duetInputElement.value = this.pendingValue;
180
+ this.value = this.pendingValue;
181
181
  }
182
182
  }
183
183
  connectedCallback() {
@@ -697,7 +697,7 @@ export class DuetPhoneInput {
697
697
  },
698
698
  "value": {
699
699
  "type": "string",
700
- "mutable": false,
700
+ "mutable": true,
701
701
  "complexType": {
702
702
  "original": "string",
703
703
  "resolved": "string",