@duetds/components 8.2.2 → 8.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (698) hide show
  1. package/hydrate/index.js +221 -70
  2. package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
  3. package/lib/cjs/duet-alert.cjs.entry.js +2 -2
  4. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-banner.cjs.entry.js +8 -7
  6. package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -2
  7. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +2 -2
  8. package/lib/cjs/duet-button_2.cjs.entry.js +3 -3
  9. package/lib/cjs/duet-callout.cjs.entry.js +5 -4
  10. package/lib/cjs/duet-caption_4.cjs.entry.js +5 -6
  11. package/lib/cjs/duet-card.cjs.entry.js +6 -5
  12. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  13. package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-chip.cjs.entry.js +2 -2
  15. package/lib/cjs/duet-choice_2.cjs.entry.js +11 -11
  16. package/lib/cjs/duet-collapsible.cjs.entry.js +4 -4
  17. package/lib/cjs/duet-combobox.cjs.entry.js +2 -2
  18. package/lib/cjs/duet-contact-card.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  20. package/lib/cjs/duet-date-picker.cjs.entry.js +5 -4
  21. package/lib/cjs/duet-divider_2.cjs.entry.js +2 -2
  22. package/lib/cjs/duet-editable-table_3.cjs.entry.js +3 -3
  23. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-fieldset.cjs.entry.js +3 -3
  25. package/lib/cjs/duet-file-chooser.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-footer.cjs.entry.js +2 -2
  27. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-header_2.cjs.entry.js +2 -2
  29. package/lib/cjs/duet-hero.cjs.entry.js +9 -6
  30. package/lib/cjs/duet-icon.cjs.entry.js +2 -2
  31. package/lib/cjs/duet-input_2.cjs.entry.js +6 -5
  32. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +2 -2
  36. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +2 -2
  37. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-menu-bar.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-modal.cjs.entry.js +5 -5
  40. package/lib/cjs/duet-multiselect.cjs.entry.js +5 -4
  41. package/lib/cjs/duet-nav.cjs.entry.js +3 -3
  42. package/lib/cjs/duet-notification_2.cjs.entry.js +2 -2
  43. package/lib/cjs/duet-number-input.cjs.entry.js +5 -4
  44. package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
  45. package/lib/cjs/duet-pagination_2.cjs.entry.js +3 -3
  46. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +1 -1
  47. package/lib/cjs/duet-popup-menu.cjs.entry.js +3 -3
  48. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  49. package/lib/cjs/duet-promo-card.cjs.entry.js +15 -10
  50. package/lib/cjs/duet-radio_2.cjs.entry.js +4 -3
  51. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  52. package/lib/cjs/duet-scrollable_3.cjs.entry.js +89 -6
  53. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  54. package/lib/cjs/duet-select.cjs.entry.js +4 -3
  55. package/lib/cjs/duet-shaped-image.cjs.entry.js +1 -1
  56. package/lib/cjs/duet-show-more.cjs.entry.js +2 -2
  57. package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
  58. package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
  59. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +2 -2
  60. package/lib/cjs/duet-slideout-panel.cjs.entry.js +10 -7
  61. package/lib/cjs/duet-slideout.cjs.entry.js +16 -7
  62. package/lib/cjs/duet-step_2.cjs.entry.js +2 -2
  63. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +2 -2
  64. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +2 -2
  65. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +2 -2
  66. package/lib/cjs/duet-submenu-bar.cjs.entry.js +1 -1
  67. package/lib/cjs/duet-textarea.cjs.entry.js +4 -3
  68. package/lib/cjs/duet-toggle.cjs.entry.js +2 -2
  69. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +2 -2
  70. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +3 -3
  71. package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -1
  72. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
  73. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +3 -3
  74. package/lib/cjs/duet-tooltip.cjs.entry.js +15 -18
  75. package/lib/cjs/duet-tray.cjs.entry.js +2 -2
  76. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  77. package/lib/cjs/duet-upload-item.cjs.entry.js +1 -1
  78. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  79. package/lib/cjs/duet.cjs.js +2 -2
  80. package/lib/cjs/{focus-utils-cb2699e7.js → focus-utils-2d403f5e.js} +1 -1
  81. package/lib/cjs/{index-c51398ac.js → index-a515d5ff.js} +1 -1
  82. package/lib/cjs/{keyboard-utils-7248dd0a.js → keyboard-utils-66010749.js} +2 -0
  83. package/lib/cjs/loader.cjs.js +2 -2
  84. package/lib/cjs/slot-utils-0b8037ab.js +51 -0
  85. package/lib/cjs/{token-utils-c672402d.js → token-utils-7a618677.js} +22 -0
  86. package/lib/collection/common/index.js +0 -1
  87. package/lib/collection/components/duet-action-button/duet-action-button.js +2 -2
  88. package/lib/collection/components/duet-alert/duet-alert.js +1 -1
  89. package/lib/collection/components/duet-banner/duet-banner.js +6 -5
  90. package/lib/collection/components/duet-button/duet-button.css +22 -0
  91. package/lib/collection/components/duet-button/duet-button.js +5 -5
  92. package/lib/collection/components/duet-callout/duet-callout.js +4 -3
  93. package/lib/collection/components/duet-caption/duet-caption.js +1 -1
  94. package/lib/collection/components/duet-card/duet-card.js +7 -6
  95. package/lib/collection/components/duet-checkbox/duet-checkbox.js +3 -3
  96. package/lib/collection/components/duet-chip/duet-chip.js +5 -5
  97. package/lib/collection/components/duet-choice/duet-choice.js +5 -4
  98. package/lib/collection/components/duet-choice-group/duet-choice-group.js +3 -2
  99. package/lib/collection/components/duet-collapsible/duet-collapsible.js +5 -4
  100. package/lib/collection/components/duet-combobox/duet-combobox.js +3 -3
  101. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  102. package/lib/collection/components/duet-date-picker/date-picker-input.js +1 -2
  103. package/lib/collection/components/duet-date-picker/duet-date-picker.js +6 -4
  104. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  105. package/lib/collection/components/duet-editable-table/duet-editable-table.js +5 -5
  106. package/lib/collection/components/duet-empty-state/duet-empty-state.js +1 -1
  107. package/lib/collection/components/duet-fieldset/duet-fieldset.js +1 -1
  108. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +1 -1
  109. package/lib/collection/components/duet-footer/duet-footer.js +7 -7
  110. package/lib/collection/components/duet-grid/duet-grid.js +3 -3
  111. package/lib/collection/components/duet-header/duet-header.js +15 -15
  112. package/lib/collection/components/duet-heading/duet-heading.js +1 -1
  113. package/lib/collection/components/duet-hero/duet-hero.a11y.e2e.js +4 -4
  114. package/lib/collection/components/duet-hero/duet-hero.js +13 -10
  115. package/lib/collection/components/duet-input/duet-input.js +11 -10
  116. package/lib/collection/components/duet-label/duet-label.js +2 -2
  117. package/lib/collection/components/duet-layout/duet-layout.js +1 -1
  118. package/lib/collection/components/duet-link/duet-link.js +3 -4
  119. package/lib/collection/components/duet-list/duet-list.js +3 -3
  120. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  121. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +1 -1
  122. package/lib/collection/components/duet-modal/duet-modal.js +6 -5
  123. package/lib/collection/components/duet-multiselect/duet-multiselect.js +8 -7
  124. package/lib/collection/components/duet-nav/duet-nav.css +5 -0
  125. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  126. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +1 -1
  127. package/lib/collection/components/duet-number-input/duet-number-input.js +7 -6
  128. package/lib/collection/components/duet-pagination/duet-pagination.js +2 -2
  129. package/lib/collection/components/duet-paragraph/duet-paragraph.js +3 -3
  130. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +1 -1
  131. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  132. package/lib/collection/components/duet-promo-card/duet-promo-card.css +10 -0
  133. package/lib/collection/components/duet-promo-card/duet-promo-card.js +13 -8
  134. package/lib/collection/components/duet-radio/duet-radio.js +3 -3
  135. package/lib/collection/components/duet-radio-group/duet-radio-group.js +3 -2
  136. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  137. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +1 -1
  138. package/lib/collection/components/duet-select/duet-select.js +8 -7
  139. package/lib/collection/components/duet-show-more/duet-show-more.js +1 -1
  140. package/lib/collection/components/duet-slideout/duet-slideout.css +1 -1
  141. package/lib/collection/components/duet-slideout/duet-slideout.js +11 -2
  142. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.css +27 -0
  143. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +9 -3
  144. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +1 -1
  145. package/lib/collection/components/duet-spacer/duet-spacer.js +2 -2
  146. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  147. package/lib/collection/components/duet-step/duet-step.js +2 -2
  148. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  149. package/lib/collection/components/duet-tab/duet-tab.css +10 -0
  150. package/lib/collection/components/duet-tab/duet-tab.js +155 -1
  151. package/lib/collection/components/duet-tab-group/duet-tab-group.js +17 -10
  152. package/lib/collection/components/duet-textarea/duet-textarea.js +7 -6
  153. package/lib/collection/components/duet-toggle/duet-toggle.js +1 -1
  154. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +1 -1
  155. package/lib/collection/components/duet-tooltip/duet-tooltip.e2e.js +5 -0
  156. package/lib/collection/components/duet-tooltip/duet-tooltip.js +16 -18
  157. package/lib/collection/components/duet-upload/duet-upload.js +14 -14
  158. package/lib/collection/components/duet-upload-item/duet-upload-item.js +1 -1
  159. package/lib/collection/utils/keyboard-utils.js +1 -0
  160. package/lib/collection/utils/slot-utils.js +42 -11
  161. package/lib/collection/utils/token-utils.js +3 -0
  162. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  163. package/lib/dist-custom-elements/duet-alert.js +1 -1
  164. package/lib/dist-custom-elements/duet-badge.js +1 -1
  165. package/lib/dist-custom-elements/duet-banner.js +10 -9
  166. package/lib/dist-custom-elements/duet-breadcrumb.js +4 -4
  167. package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
  168. package/lib/dist-custom-elements/duet-button.js +1 -1
  169. package/lib/dist-custom-elements/duet-callout.js +6 -5
  170. package/lib/dist-custom-elements/duet-caption.js +1 -1
  171. package/lib/dist-custom-elements/duet-card.js +8 -7
  172. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  173. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  174. package/lib/dist-custom-elements/duet-chip.js +3 -3
  175. package/lib/dist-custom-elements/duet-choice-group.js +11 -10
  176. package/lib/dist-custom-elements/duet-choice.js +7 -7
  177. package/lib/dist-custom-elements/duet-collapsible.js +4 -4
  178. package/lib/dist-custom-elements/duet-combobox.js +3 -3
  179. package/lib/dist-custom-elements/duet-contact-card.js +8 -8
  180. package/lib/dist-custom-elements/duet-cookie-consent.js +7 -7
  181. package/lib/dist-custom-elements/duet-date-picker.js +15 -14
  182. package/lib/dist-custom-elements/duet-divider.js +1 -1
  183. package/lib/dist-custom-elements/duet-editable-table.js +8 -8
  184. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  185. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  186. package/lib/dist-custom-elements/duet-file-chooser.js +2 -2
  187. package/lib/dist-custom-elements/duet-footer.js +5 -5
  188. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  189. package/lib/dist-custom-elements/duet-grid.js +1 -1
  190. package/lib/dist-custom-elements/duet-header.js +9 -9
  191. package/lib/dist-custom-elements/duet-heading.js +1 -1
  192. package/lib/dist-custom-elements/duet-hero.js +17 -14
  193. package/lib/dist-custom-elements/duet-icon.js +1 -1
  194. package/lib/dist-custom-elements/duet-input.js +1 -1
  195. package/lib/dist-custom-elements/duet-label.js +1 -1
  196. package/lib/dist-custom-elements/duet-layout.js +1 -1
  197. package/lib/dist-custom-elements/duet-link.js +1 -1
  198. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  199. package/lib/dist-custom-elements/duet-list.js +1 -1
  200. package/lib/dist-custom-elements/duet-logo.js +1 -1
  201. package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -2
  202. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +3 -3
  203. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +3 -3
  204. package/lib/dist-custom-elements/duet-menu-bar-link.js +2 -2
  205. package/lib/dist-custom-elements/duet-menu-bar.js +2 -2
  206. package/lib/dist-custom-elements/duet-modal.js +9 -9
  207. package/lib/dist-custom-elements/duet-multiselect.js +13 -12
  208. package/lib/dist-custom-elements/duet-nav.js +3 -3
  209. package/lib/dist-custom-elements/duet-notification-drawer.js +5 -5
  210. package/lib/dist-custom-elements/duet-notification.js +3 -3
  211. package/lib/dist-custom-elements/duet-number-input.js +15 -14
  212. package/lib/dist-custom-elements/duet-page-heading.js +2 -2
  213. package/lib/dist-custom-elements/duet-pagination.js +15 -15
  214. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  215. package/lib/dist-custom-elements/duet-popup-menu-item.js +2 -2
  216. package/lib/dist-custom-elements/duet-popup-menu.js +2 -2
  217. package/lib/dist-custom-elements/duet-progress.js +1 -1
  218. package/lib/dist-custom-elements/duet-promo-card.js +17 -12
  219. package/lib/dist-custom-elements/duet-radio-group.js +11 -10
  220. package/lib/dist-custom-elements/duet-radio.js +1 -1
  221. package/lib/dist-custom-elements/duet-range-slider.js +3 -3
  222. package/lib/dist-custom-elements/duet-range-stepper.js +5 -5
  223. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  224. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  225. package/lib/dist-custom-elements/duet-select.js +1 -1
  226. package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
  227. package/lib/dist-custom-elements/duet-show-more.js +6 -6
  228. package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
  229. package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
  230. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +3 -3
  231. package/lib/dist-custom-elements/duet-slideout-panel.js +10 -7
  232. package/lib/dist-custom-elements/duet-slideout.js +15 -6
  233. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  234. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  235. package/lib/dist-custom-elements/duet-step.js +5 -5
  236. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  237. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +3 -3
  238. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +3 -3
  239. package/lib/dist-custom-elements/duet-submenu-bar-link.js +3 -3
  240. package/lib/dist-custom-elements/duet-submenu-bar.js +2 -2
  241. package/lib/dist-custom-elements/duet-tab-group.js +20 -16
  242. package/lib/dist-custom-elements/duet-tab.js +89 -4
  243. package/lib/dist-custom-elements/duet-table.js +1 -1
  244. package/lib/dist-custom-elements/duet-textarea.js +13 -12
  245. package/lib/dist-custom-elements/duet-toggle.js +3 -3
  246. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +3 -3
  247. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +4 -4
  248. package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
  249. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  250. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  251. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  252. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  253. package/lib/dist-custom-elements/duet-tray.js +4 -4
  254. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  255. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  256. package/lib/dist-custom-elements/duet-upload.js +18 -18
  257. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  258. package/lib/dist-custom-elements/index.js +1 -1
  259. package/lib/dist-custom-elements/{p-0fcede3e.js → p-022cc9de.js} +2 -2
  260. package/lib/dist-custom-elements/{p-178bd8b5.js → p-033ffb95.js} +1 -1
  261. package/lib/dist-custom-elements/{p-6f02cea5.js → p-13cbfdc6.js} +2 -2
  262. package/lib/dist-custom-elements/{p-ded7900f.js → p-15b43530.js} +2 -2
  263. package/lib/dist-custom-elements/{p-046d07ed.js → p-3380c780.js} +1 -1
  264. package/lib/dist-custom-elements/{p-bbff917c.js → p-33c43f27.js} +6 -6
  265. package/lib/dist-custom-elements/{p-8f253845.js → p-55634a0b.js} +2 -1
  266. package/lib/dist-custom-elements/{p-029fba28.js → p-57d9241f.js} +3 -3
  267. package/lib/dist-custom-elements/{p-ab998a0f.js → p-57e61a09.js} +2 -2
  268. package/lib/dist-custom-elements/{p-dfbd66be.js → p-6c8a44ea.js} +2 -2
  269. package/lib/dist-custom-elements/{p-1f650bb2.js → p-70fb72b8.js} +1 -1
  270. package/lib/dist-custom-elements/{p-f26cc3be.js → p-7385cfae.js} +2 -2
  271. package/lib/dist-custom-elements/p-796edee6.js +48 -0
  272. package/lib/dist-custom-elements/{p-a7f2d134.js → p-7f8daa04.js} +4 -4
  273. package/lib/dist-custom-elements/{p-14821771.js → p-82a9c4cc.js} +1 -1
  274. package/lib/dist-custom-elements/{p-6db359de.js → p-83c687c4.js} +10 -10
  275. package/lib/dist-custom-elements/{p-c2ee0b56.js → p-8500f1f3.js} +1 -1
  276. package/lib/dist-custom-elements/{p-5b940d4e.js → p-85c51c36.js} +5 -5
  277. package/lib/dist-custom-elements/{p-78ce0ce1.js → p-89c8eef0.js} +21 -23
  278. package/lib/dist-custom-elements/{p-d1db33b3.js → p-89fa2387.js} +1 -1
  279. package/lib/dist-custom-elements/{p-3c266b7f.js → p-8aacf8f2.js} +1 -1
  280. package/lib/dist-custom-elements/{p-d82ca991.js → p-92e8fec4.js} +1 -1
  281. package/lib/dist-custom-elements/{p-e9b96f04.js → p-97144a49.js} +6 -7
  282. package/lib/dist-custom-elements/{p-bdade4f6.js → p-99bfa47d.js} +1 -1
  283. package/lib/dist-custom-elements/{p-09d8f6b5.js → p-99c2c6f3.js} +5 -5
  284. package/lib/dist-custom-elements/{p-284885b1.js → p-a8d729e4.js} +1 -1
  285. package/lib/dist-custom-elements/{p-48fe3f3e.js → p-ba9d785a.js} +3 -3
  286. package/lib/dist-custom-elements/{p-ef9c200e.js → p-cbac9ed5.js} +22 -1
  287. package/lib/dist-custom-elements/{p-ea75dc3b.js → p-d84624d1.js} +2 -2
  288. package/lib/dist-custom-elements/{p-32b58440.js → p-da0965a5.js} +2 -2
  289. package/lib/dist-custom-elements/{p-69f3125f.js → p-dd3202f3.js} +1 -1
  290. package/lib/dist-custom-elements/{p-275c9f06.js → p-de5298ac.js} +2 -2
  291. package/lib/dist-custom-elements/{p-4207df32.js → p-e8d8a5f1.js} +11 -10
  292. package/lib/dist-custom-elements/{p-501109c4.js → p-eb03dc27.js} +14 -13
  293. package/lib/dist-custom-elements/{p-c3d0fd5f.js → p-eb30f749.js} +2 -2
  294. package/lib/dist-custom-elements/{p-f37bade9.js → p-f1a37b7f.js} +6 -6
  295. package/lib/dist-custom-elements/{p-d4a52c78.js → p-fdafc7af.js} +1 -1
  296. package/lib/duet/duet.esm.js +1 -1
  297. package/lib/duet/duet.js +1 -1
  298. package/lib/duet/{p-ad200bf7.system.entry.js → p-03237a62.system.entry.js} +2 -2
  299. package/lib/duet/p-03c217ae.entry.js +4 -0
  300. package/lib/duet/p-03c3cf91.entry.js +4 -0
  301. package/lib/duet/{p-88d19807.entry.js → p-05728995.entry.js} +1 -1
  302. package/lib/duet/{p-87565d7d.system.entry.js → p-0600d0e8.system.entry.js} +1 -1
  303. package/lib/duet/p-07adc606.system.entry.js +4 -0
  304. package/lib/duet/{p-7bb37b2e.entry.js → p-0857e91c.entry.js} +1 -1
  305. package/lib/duet/p-09c54c8e.system.js +4 -0
  306. package/lib/duet/p-0a28d72d.entry.js +4 -0
  307. package/lib/duet/{p-1c9a6018.system.entry.js → p-0b4b179c.system.entry.js} +1 -1
  308. package/lib/duet/{p-0906d9df.system.entry.js → p-0cdc8487.system.entry.js} +1 -1
  309. package/lib/duet/{p-2c02c786.entry.js → p-0ef53ae6.entry.js} +1 -1
  310. package/lib/duet/p-1001ec0f.entry.js +4 -0
  311. package/lib/duet/{p-0d7d648a.system.entry.js → p-1020c84c.system.entry.js} +1 -1
  312. package/lib/duet/{p-6edbe47c.system.entry.js → p-1612a6c7.system.entry.js} +1 -1
  313. package/lib/duet/{p-c75daf42.entry.js → p-169aab07.entry.js} +1 -1
  314. package/lib/duet/{p-0fd839a0.system.entry.js → p-16c13a11.system.entry.js} +1 -1
  315. package/lib/duet/p-1c9ee2ea.entry.js +4 -0
  316. package/lib/duet/{p-1abfbe28.system.entry.js → p-1d195c3a.system.entry.js} +1 -1
  317. package/lib/duet/p-1db3932f.system.entry.js +4 -0
  318. package/lib/duet/{p-6d186557.entry.js → p-1e6bd5da.entry.js} +1 -1
  319. package/lib/duet/p-1f0dc968.entry.js +4 -0
  320. package/lib/duet/{p-076b9333.entry.js → p-20ed91ba.entry.js} +1 -1
  321. package/lib/duet/p-20ff95cd.system.entry.js +4 -0
  322. package/lib/duet/p-2171907b.system.entry.js +4 -0
  323. package/lib/duet/{p-ecef885c.system.entry.js → p-21f1bd62.system.entry.js} +1 -1
  324. package/lib/duet/{p-a70e6c6f.entry.js → p-26be2678.entry.js} +1 -1
  325. package/lib/duet/{p-b84be662.entry.js → p-28b22d09.entry.js} +1 -1
  326. package/lib/duet/{p-d1d036d5.entry.js → p-29186e16.entry.js} +1 -1
  327. package/lib/duet/{p-3e03e275.entry.js → p-2c79b6d8.entry.js} +1 -1
  328. package/lib/duet/{p-cee353f7.entry.js → p-2ddd9719.entry.js} +1 -1
  329. package/lib/duet/p-31657213.entry.js +4 -0
  330. package/lib/duet/p-31730560.entry.js +4 -0
  331. package/lib/duet/p-357307f7.entry.js +4 -0
  332. package/lib/duet/{p-a014d5d9.system.entry.js → p-3730d6bd.system.entry.js} +1 -1
  333. package/lib/duet/{p-b230e70f.system.entry.js → p-3733ebe1.system.entry.js} +1 -1
  334. package/lib/duet/{p-37be8296.entry.js → p-3760418d.entry.js} +1 -1
  335. package/lib/duet/{p-f65559ab.entry.js → p-38cdaf08.entry.js} +1 -1
  336. package/lib/duet/{p-f637700c.system.entry.js → p-39ea1b09.system.entry.js} +1 -1
  337. package/lib/duet/{p-b57852d2.entry.js → p-3cf8a878.entry.js} +1 -1
  338. package/lib/duet/{p-10a2a9c1.system.entry.js → p-3ecc2d1e.system.entry.js} +1 -1
  339. package/lib/duet/{p-1420bc81.system.entry.js → p-3f4713a3.system.entry.js} +1 -1
  340. package/lib/duet/{p-932d0abe.entry.js → p-3f56cdd6.entry.js} +1 -1
  341. package/lib/duet/{p-4a397383.entry.js → p-41d61870.entry.js} +1 -1
  342. package/lib/duet/p-43091aa7.system.entry.js +4 -0
  343. package/lib/duet/{p-c90bc08e.entry.js → p-43adcd6a.entry.js} +1 -1
  344. package/lib/duet/{p-280b2ecc.system.entry.js → p-43ebba16.system.entry.js} +1 -1
  345. package/lib/duet/{p-aab87987.system.entry.js → p-45199b0c.system.entry.js} +1 -1
  346. package/lib/duet/{p-551ecb84.system.entry.js → p-4648c2cf.system.entry.js} +1 -1
  347. package/lib/duet/p-47f7fd31.system.entry.js +4 -0
  348. package/lib/duet/{p-c3832cba.system.entry.js → p-49ba8156.system.entry.js} +1 -1
  349. package/lib/duet/{p-ea4fda73.entry.js → p-4bd54c36.entry.js} +1 -1
  350. package/lib/duet/{p-a75e499e.system.entry.js → p-4c416890.system.entry.js} +1 -1
  351. package/lib/duet/p-4cd1b2dc.entry.js +4 -0
  352. package/lib/duet/{p-de652eff.entry.js → p-4e002d37.entry.js} +1 -1
  353. package/lib/duet/p-5263bc35.js +4 -0
  354. package/lib/duet/p-5581d26e.entry.js +4 -0
  355. package/lib/duet/p-5729c070.entry.js +4 -0
  356. package/lib/duet/{p-d1deec62.system.js → p-575e4de7.system.js} +1 -1
  357. package/lib/duet/{p-7023e868.system.entry.js → p-5b3275f8.system.entry.js} +2 -2
  358. package/lib/duet/{p-daf4b399.entry.js → p-5c810c8e.entry.js} +1 -1
  359. package/lib/duet/p-5f87ea3d.js +4 -0
  360. package/lib/duet/{p-75ceea2b.entry.js → p-63b8a5d9.entry.js} +1 -1
  361. package/lib/duet/{p-723172a8.system.entry.js → p-65c5d605.system.entry.js} +1 -1
  362. package/lib/duet/p-6689cf76.entry.js +4 -0
  363. package/lib/duet/{p-aa38094c.entry.js → p-671a9905.entry.js} +1 -1
  364. package/lib/duet/{p-1bbf5af6.entry.js → p-67bd1eae.entry.js} +1 -1
  365. package/lib/duet/{p-8dbbed25.entry.js → p-69f280e3.entry.js} +1 -1
  366. package/lib/duet/{p-133bd9d0.system.entry.js → p-6b5f5f20.system.entry.js} +1 -1
  367. package/lib/duet/p-6b5fc33f.entry.js +4 -0
  368. package/lib/duet/{p-c3be7176.entry.js → p-6c34c6d4.entry.js} +1 -1
  369. package/lib/duet/{p-d6154923.entry.js → p-70af7daf.entry.js} +1 -1
  370. package/lib/duet/p-71d1dbcb.entry.js +4 -0
  371. package/lib/duet/{p-f237623c.entry.js → p-72179a41.entry.js} +1 -1
  372. package/lib/duet/{p-c0397a25.entry.js → p-756e625e.entry.js} +1 -1
  373. package/lib/duet/{p-e00f28fc.entry.js → p-77be9214.entry.js} +1 -1
  374. package/lib/duet/p-796edee6.js +4 -0
  375. package/lib/duet/{p-e4bd0d7b.entry.js → p-79abaaad.entry.js} +1 -1
  376. package/lib/duet/{p-5f54e38a.system.entry.js → p-7b445598.system.entry.js} +1 -1
  377. package/lib/duet/p-7c6d5f9c.system.js +4 -0
  378. package/lib/duet/{p-7308b57e.entry.js → p-7c8c5534.entry.js} +1 -1
  379. package/lib/duet/p-7d4d3bee.system.entry.js +4 -0
  380. package/lib/duet/{p-ce96df8c.entry.js → p-80aa59cb.entry.js} +1 -1
  381. package/lib/duet/{p-bd9e5b2b.system.entry.js → p-81a79874.system.entry.js} +1 -1
  382. package/lib/duet/{p-6fdbd448.system.entry.js → p-825dac25.system.entry.js} +1 -1
  383. package/lib/duet/p-827fece7.system.entry.js +4 -0
  384. package/lib/duet/p-875ba244.system.entry.js +4 -0
  385. package/lib/duet/{p-f08d659e.entry.js → p-8d260eac.entry.js} +1 -1
  386. package/lib/duet/{p-ba9103db.entry.js → p-92861390.entry.js} +1 -1
  387. package/lib/duet/{p-7fd43c03.system.entry.js → p-92e54702.system.entry.js} +2 -2
  388. package/lib/duet/{p-9418d9ff.entry.js → p-947af010.entry.js} +1 -1
  389. package/lib/duet/{p-3ccb1ee3.system.entry.js → p-969152f0.system.entry.js} +1 -1
  390. package/lib/duet/{p-2395f607.system.entry.js → p-976ed5a5.system.entry.js} +1 -1
  391. package/lib/duet/{p-00c58945.system.entry.js → p-99cc01cb.system.entry.js} +1 -1
  392. package/lib/duet/{p-cd1d3fe8.system.entry.js → p-9d9cab9d.system.entry.js} +1 -1
  393. package/lib/duet/{p-0667f70f.system.entry.js → p-9e1d8b6f.system.entry.js} +1 -1
  394. package/lib/duet/{p-2db24634.entry.js → p-9e95e6eb.entry.js} +1 -1
  395. package/lib/duet/{p-efe336c5.entry.js → p-9ed3ab30.entry.js} +1 -1
  396. package/lib/duet/{p-7b6abc82.entry.js → p-9f355c50.entry.js} +1 -1
  397. package/lib/duet/{p-4921ff47.entry.js → p-a0f179db.entry.js} +1 -1
  398. package/lib/duet/{p-42cfad67.system.entry.js → p-a319471c.system.entry.js} +2 -2
  399. package/lib/duet/{p-a2fb2ad9.system.entry.js → p-a424f7b8.system.entry.js} +1 -1
  400. package/lib/duet/{p-37d69db5.system.entry.js → p-a53d7d39.system.entry.js} +1 -1
  401. package/lib/duet/{p-2d9cdfdb.entry.js → p-a89e81b7.entry.js} +1 -1
  402. package/lib/duet/{p-3ca93619.system.entry.js → p-a917c2ae.system.entry.js} +1 -1
  403. package/lib/duet/{p-36c95931.system.entry.js → p-aa08b72e.system.entry.js} +1 -1
  404. package/lib/duet/{p-88378c4b.system.entry.js → p-aab945c6.system.entry.js} +1 -1
  405. package/lib/duet/{p-52737afc.system.js → p-aabf89fa.system.js} +1 -1
  406. package/lib/duet/p-aac0b756.entry.js +4 -0
  407. package/lib/duet/{p-78a54e54.system.entry.js → p-ab005633.system.entry.js} +1 -1
  408. package/lib/duet/p-abdbce02.system.js +4 -0
  409. package/lib/duet/{p-3fab3c3d.entry.js → p-ae0382ff.entry.js} +1 -1
  410. package/lib/duet/{p-52091e26.entry.js → p-b8cd8aa9.entry.js} +1 -1
  411. package/lib/duet/{p-c8a02bae.entry.js → p-b9568179.entry.js} +1 -1
  412. package/lib/duet/{p-5d8d866f.system.entry.js → p-bc522875.system.entry.js} +1 -1
  413. package/lib/duet/{p-371692de.system.entry.js → p-bda222d2.system.entry.js} +1 -1
  414. package/lib/duet/p-bfd50a6a.entry.js +4 -0
  415. package/lib/duet/p-bfe237fe.entry.js +4 -0
  416. package/lib/duet/p-c2973a4e.system.entry.js +4 -0
  417. package/lib/duet/{p-550162dd.entry.js → p-c327db77.entry.js} +1 -1
  418. package/lib/duet/p-c8ff85f8.entry.js +4 -0
  419. package/lib/duet/{p-1bdd4caa.system.entry.js → p-c9cb8ffa.system.entry.js} +1 -1
  420. package/lib/duet/{p-03043dae.entry.js → p-ce746fbf.entry.js} +1 -1
  421. package/lib/duet/{p-4d9e4286.system.entry.js → p-d0500cf2.system.entry.js} +1 -1
  422. package/lib/duet/{p-db48c8ed.system.entry.js → p-d143df18.system.entry.js} +1 -1
  423. package/lib/duet/{p-956c677f.entry.js → p-d328f8cc.entry.js} +1 -1
  424. package/lib/duet/{p-534e202a.system.entry.js → p-d4285ed0.system.entry.js} +1 -1
  425. package/lib/duet/{p-3a63ecd6.system.entry.js → p-d44d74d3.system.entry.js} +1 -1
  426. package/lib/duet/p-d5b79ee4.entry.js +4 -0
  427. package/lib/duet/{p-c641c3b4.system.entry.js → p-d5d63283.system.entry.js} +1 -1
  428. package/lib/duet/{p-295179c8.system.entry.js → p-d6c18967.system.entry.js} +1 -1
  429. package/lib/duet/p-d9400840.entry.js +4 -0
  430. package/lib/duet/{p-52c59c2c.system.entry.js → p-d9887cdb.system.entry.js} +1 -1
  431. package/lib/duet/{p-e7b955f6.system.entry.js → p-db688714.system.entry.js} +1 -1
  432. package/lib/duet/p-dbedcced.entry.js +4 -0
  433. package/lib/duet/{p-e2347276.entry.js → p-dc3e35c7.entry.js} +1 -1
  434. package/lib/duet/{p-9f931d57.js → p-dccd9c7c.js} +1 -1
  435. package/lib/duet/{p-65316fb3.entry.js → p-dcd8af75.entry.js} +1 -1
  436. package/lib/duet/{p-59eeaac0.system.entry.js → p-de2da9fd.system.entry.js} +1 -1
  437. package/lib/duet/{p-04dc3f5f.system.entry.js → p-e00c9499.system.entry.js} +1 -1
  438. package/lib/duet/{p-89db0472.system.entry.js → p-e03b6928.system.entry.js} +1 -1
  439. package/lib/duet/{p-61d46f06.entry.js → p-e0931ac9.entry.js} +1 -1
  440. package/lib/duet/{p-35811c5b.entry.js → p-e0d1257a.entry.js} +1 -1
  441. package/lib/duet/{p-eddc7880.entry.js → p-e21cc133.entry.js} +1 -1
  442. package/lib/duet/{p-86285221.entry.js → p-e24a3978.entry.js} +1 -1
  443. package/lib/duet/p-e276fee0.js +4 -0
  444. package/lib/duet/{p-42e4ee86.system.entry.js → p-e2eb1521.system.entry.js} +1 -1
  445. package/lib/duet/{p-fd153ee7.system.entry.js → p-e538a8a2.system.entry.js} +1 -1
  446. package/lib/duet/{p-f8ddd215.system.entry.js → p-e69813f3.system.entry.js} +1 -1
  447. package/lib/duet/{p-00b69a62.system.entry.js → p-e956cd9b.system.entry.js} +1 -1
  448. package/lib/duet/{p-eed152d0.system.js → p-ead2a738.system.js} +1 -1
  449. package/lib/duet/{p-b83e0014.system.entry.js → p-ec2eb98f.system.entry.js} +1 -1
  450. package/lib/duet/{p-831c1f80.system.entry.js → p-eced32c1.system.entry.js} +1 -1
  451. package/lib/duet/{p-9090cf21.entry.js → p-ee7738c2.entry.js} +1 -1
  452. package/lib/duet/{p-ebc2f8fc.system.entry.js → p-eedadd50.system.entry.js} +1 -1
  453. package/lib/duet/p-ef83d9da.system.entry.js +4 -0
  454. package/lib/duet/{p-11481bd0.entry.js → p-f0419f45.entry.js} +1 -1
  455. package/lib/duet/{p-efa9e31e.entry.js → p-f121b583.entry.js} +1 -1
  456. package/lib/duet/{p-78a7f821.system.entry.js → p-f1397f55.system.entry.js} +1 -1
  457. package/lib/duet/{p-cc4683e0.system.entry.js → p-f15a1679.system.entry.js} +2 -2
  458. package/lib/duet/p-f273c4de.system.entry.js +4 -0
  459. package/lib/duet/{p-9699d4f1.system.entry.js → p-f3c91c9e.system.entry.js} +1 -1
  460. package/lib/duet/{p-03380a61.system.entry.js → p-f5c69659.system.entry.js} +1 -1
  461. package/lib/duet/{p-f2f0f553.system.entry.js → p-f630e363.system.entry.js} +1 -1
  462. package/lib/duet/{p-74553378.system.entry.js → p-f7167337.system.entry.js} +1 -1
  463. package/lib/esm/duet-action-button.entry.js +3 -3
  464. package/lib/esm/duet-alert.entry.js +2 -2
  465. package/lib/esm/duet-badge.entry.js +1 -1
  466. package/lib/esm/duet-banner.entry.js +8 -7
  467. package/lib/esm/duet-breadcrumb.entry.js +2 -2
  468. package/lib/esm/duet-breadcrumbs.entry.js +2 -2
  469. package/lib/esm/duet-button_2.entry.js +3 -3
  470. package/lib/esm/duet-callout.entry.js +5 -4
  471. package/lib/esm/duet-caption_4.entry.js +5 -6
  472. package/lib/esm/duet-card.entry.js +6 -5
  473. package/lib/esm/duet-checkbox.entry.js +1 -1
  474. package/lib/esm/duet-checkmark.entry.js +1 -1
  475. package/lib/esm/duet-chip.entry.js +2 -2
  476. package/lib/esm/duet-choice_2.entry.js +6 -6
  477. package/lib/esm/duet-collapsible.entry.js +3 -3
  478. package/lib/esm/duet-combobox.entry.js +2 -2
  479. package/lib/esm/duet-contact-card.entry.js +1 -1
  480. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  481. package/lib/esm/duet-date-picker.entry.js +5 -4
  482. package/lib/esm/duet-divider_2.entry.js +2 -2
  483. package/lib/esm/duet-editable-table_3.entry.js +3 -3
  484. package/lib/esm/duet-empty-state.entry.js +1 -1
  485. package/lib/esm/duet-fieldset.entry.js +2 -2
  486. package/lib/esm/duet-file-chooser.entry.js +1 -1
  487. package/lib/esm/duet-footer.entry.js +2 -2
  488. package/lib/esm/duet-grid_2.entry.js +1 -1
  489. package/lib/esm/duet-header_2.entry.js +2 -2
  490. package/lib/esm/duet-hero.entry.js +9 -6
  491. package/lib/esm/duet-icon.entry.js +2 -2
  492. package/lib/esm/duet-input_2.entry.js +6 -5
  493. package/lib/esm/duet-layout.entry.js +1 -1
  494. package/lib/esm/duet-list_2.entry.js +1 -1
  495. package/lib/esm/duet-menu-bar-button.entry.js +1 -1
  496. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +2 -2
  497. package/lib/esm/duet-menu-bar-dropdown.entry.js +2 -2
  498. package/lib/esm/duet-menu-bar-link.entry.js +1 -1
  499. package/lib/esm/duet-menu-bar.entry.js +1 -1
  500. package/lib/esm/duet-modal.entry.js +4 -4
  501. package/lib/esm/duet-multiselect.entry.js +5 -4
  502. package/lib/esm/duet-nav.entry.js +3 -3
  503. package/lib/esm/duet-notification_2.entry.js +2 -2
  504. package/lib/esm/duet-number-input.entry.js +5 -4
  505. package/lib/esm/duet-page-heading.entry.js +1 -1
  506. package/lib/esm/duet-pagination_2.entry.js +3 -3
  507. package/lib/esm/duet-popup-menu-item.entry.js +1 -1
  508. package/lib/esm/duet-popup-menu.entry.js +3 -3
  509. package/lib/esm/duet-progress.entry.js +1 -1
  510. package/lib/esm/duet-promo-card.entry.js +15 -10
  511. package/lib/esm/duet-radio_2.entry.js +4 -3
  512. package/lib/esm/duet-range-slider.entry.js +2 -2
  513. package/lib/esm/duet-scrollable_3.entry.js +89 -6
  514. package/lib/esm/duet-section-layout.entry.js +1 -1
  515. package/lib/esm/duet-select.entry.js +4 -3
  516. package/lib/esm/duet-shaped-image.entry.js +1 -1
  517. package/lib/esm/duet-show-more.entry.js +2 -2
  518. package/lib/esm/duet-slideout-lang.entry.js +1 -1
  519. package/lib/esm/duet-slideout-link.entry.js +1 -1
  520. package/lib/esm/duet-slideout-panel-dropdown.entry.js +2 -2
  521. package/lib/esm/duet-slideout-panel.entry.js +10 -7
  522. package/lib/esm/duet-slideout.entry.js +15 -6
  523. package/lib/esm/duet-step_2.entry.js +2 -2
  524. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +2 -2
  525. package/lib/esm/duet-submenu-bar-dropdown.entry.js +2 -2
  526. package/lib/esm/duet-submenu-bar-link.entry.js +2 -2
  527. package/lib/esm/duet-submenu-bar.entry.js +1 -1
  528. package/lib/esm/duet-textarea.entry.js +4 -3
  529. package/lib/esm/duet-toggle.entry.js +2 -2
  530. package/lib/esm/duet-toolbar-dropdown-link.entry.js +2 -2
  531. package/lib/esm/duet-toolbar-dropdown.entry.js +3 -3
  532. package/lib/esm/duet-toolbar-link.entry.js +1 -1
  533. package/lib/esm/duet-toolbar.entry.js +1 -1
  534. package/lib/esm/duet-tooltip-button_2.entry.js +3 -3
  535. package/lib/esm/duet-tooltip.entry.js +15 -18
  536. package/lib/esm/duet-tray.entry.js +2 -2
  537. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  538. package/lib/esm/duet-upload-item.entry.js +1 -1
  539. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  540. package/lib/esm/duet.js +3 -3
  541. package/lib/esm/{focus-utils-6bb7f477.js → focus-utils-5adec865.js} +1 -1
  542. package/lib/esm/{index-eeb87403.js → index-88bb0f20.js} +1 -1
  543. package/lib/esm/{keyboard-utils-eba88365.js → keyboard-utils-c472d19d.js} +2 -1
  544. package/lib/esm/loader.js +3 -3
  545. package/lib/esm/slot-utils-3c3ab3d6.js +48 -0
  546. package/lib/esm/{token-utils-d09165bc.js → token-utils-0c77cb3c.js} +23 -2
  547. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  548. package/lib/esm-es5/duet-alert.entry.js +1 -1
  549. package/lib/esm-es5/duet-badge.entry.js +1 -1
  550. package/lib/esm-es5/duet-banner.entry.js +1 -1
  551. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  552. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  553. package/lib/esm-es5/duet-button_2.entry.js +2 -2
  554. package/lib/esm-es5/duet-callout.entry.js +1 -1
  555. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  556. package/lib/esm-es5/duet-card.entry.js +1 -1
  557. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  558. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  559. package/lib/esm-es5/duet-chip.entry.js +1 -1
  560. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  561. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  562. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  563. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  564. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  565. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  566. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  567. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  568. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  569. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  570. package/lib/esm-es5/duet-file-chooser.entry.js +1 -1
  571. package/lib/esm-es5/duet-footer.entry.js +1 -1
  572. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  573. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  574. package/lib/esm-es5/duet-hero.entry.js +2 -2
  575. package/lib/esm-es5/duet-icon.entry.js +1 -1
  576. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  577. package/lib/esm-es5/duet-layout.entry.js +1 -1
  578. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  579. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  580. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  581. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +2 -2
  582. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  583. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  584. package/lib/esm-es5/duet-modal.entry.js +1 -1
  585. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  586. package/lib/esm-es5/duet-nav.entry.js +1 -1
  587. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  588. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  589. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  590. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  591. package/lib/esm-es5/duet-popup-menu-item.entry.js +1 -1
  592. package/lib/esm-es5/duet-popup-menu.entry.js +1 -1
  593. package/lib/esm-es5/duet-progress.entry.js +1 -1
  594. package/lib/esm-es5/duet-promo-card.entry.js +2 -2
  595. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  596. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  597. package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
  598. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  599. package/lib/esm-es5/duet-select.entry.js +2 -2
  600. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  601. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  602. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  603. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  604. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  605. package/lib/esm-es5/duet-slideout-panel.entry.js +2 -2
  606. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  607. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  608. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  609. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  610. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  611. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  612. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  613. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  614. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  615. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  616. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  617. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  618. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  619. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  620. package/lib/esm-es5/duet-tray.entry.js +1 -1
  621. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  622. package/lib/esm-es5/duet-upload-item.entry.js +1 -1
  623. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  624. package/lib/esm-es5/duet.js +1 -1
  625. package/lib/esm-es5/focus-utils-5adec865.js +4 -0
  626. package/lib/esm-es5/{index-eeb87403.js → index-88bb0f20.js} +1 -1
  627. package/lib/esm-es5/{keyboard-utils-eba88365.js → keyboard-utils-c472d19d.js} +1 -1
  628. package/lib/esm-es5/loader.js +1 -1
  629. package/lib/esm-es5/slot-utils-3c3ab3d6.js +4 -0
  630. package/lib/esm-es5/token-utils-0c77cb3c.js +4 -0
  631. package/lib/types/common/index.d.ts +0 -1
  632. package/lib/types/components/duet-card/duet-card.d.ts +3 -2
  633. package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +3 -1
  634. package/lib/types/components/duet-slideout/duet-slideout.d.ts +1 -0
  635. package/lib/types/components/duet-slideout-panel/duet-slideout-panel.d.ts +4 -0
  636. package/lib/types/components/duet-tab/duet-tab.d.ts +22 -2
  637. package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +2 -1
  638. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +1 -2
  639. package/lib/types/components.d.ts +24 -4
  640. package/lib/types/utils/keyboard-utils.d.ts +1 -0
  641. package/lib/types/utils/slot-utils.d.ts +14 -2
  642. package/lib/types/utils/token-utils.d.ts +1 -0
  643. package/package.json +5 -5
  644. package/lib/cjs/slot-query-3259af5b.js +0 -10
  645. package/lib/cjs/slot-utils-6c81bd09.js +0 -20
  646. package/lib/collection/common/slot-query.js +0 -9
  647. package/lib/dist-custom-elements/p-11230037.js +0 -8
  648. package/lib/dist-custom-elements/p-bb24a019.js +0 -18
  649. package/lib/duet/p-0b5a8f35.system.entry.js +0 -4
  650. package/lib/duet/p-0c61244e.entry.js +0 -4
  651. package/lib/duet/p-0dd40c9c.entry.js +0 -4
  652. package/lib/duet/p-111e21bb.system.entry.js +0 -4
  653. package/lib/duet/p-11230037.js +0 -4
  654. package/lib/duet/p-127dcd36.system.entry.js +0 -4
  655. package/lib/duet/p-202208dc.entry.js +0 -4
  656. package/lib/duet/p-23354cf7.system.js +0 -4
  657. package/lib/duet/p-27bdda1e.js +0 -4
  658. package/lib/duet/p-2bb2b022.js +0 -4
  659. package/lib/duet/p-3ecd388c.system.entry.js +0 -4
  660. package/lib/duet/p-4dd4b992.entry.js +0 -4
  661. package/lib/duet/p-5795b0d9.system.js +0 -4
  662. package/lib/duet/p-579d7632.entry.js +0 -4
  663. package/lib/duet/p-5f71c6eb.entry.js +0 -4
  664. package/lib/duet/p-634e8787.system.js +0 -4
  665. package/lib/duet/p-660bc31f.entry.js +0 -4
  666. package/lib/duet/p-6720adb2.entry.js +0 -4
  667. package/lib/duet/p-74591e44.system.entry.js +0 -4
  668. package/lib/duet/p-7e1fe8b7.entry.js +0 -4
  669. package/lib/duet/p-7ef64069.entry.js +0 -4
  670. package/lib/duet/p-8b9c411d.entry.js +0 -4
  671. package/lib/duet/p-94c3e67c.system.entry.js +0 -4
  672. package/lib/duet/p-99269e38.system.js +0 -4
  673. package/lib/duet/p-9a352bf1.entry.js +0 -4
  674. package/lib/duet/p-9ab87585.system.entry.js +0 -4
  675. package/lib/duet/p-9dff8650.js +0 -4
  676. package/lib/duet/p-a1093ef2.entry.js +0 -4
  677. package/lib/duet/p-a5e3febc.system.entry.js +0 -4
  678. package/lib/duet/p-b17fc03d.system.entry.js +0 -4
  679. package/lib/duet/p-b3ee2fd3.entry.js +0 -4
  680. package/lib/duet/p-bb24a019.js +0 -4
  681. package/lib/duet/p-bbd9ecae.entry.js +0 -4
  682. package/lib/duet/p-c1175891.entry.js +0 -4
  683. package/lib/duet/p-c3722531.system.entry.js +0 -4
  684. package/lib/duet/p-ccd19d96.entry.js +0 -4
  685. package/lib/duet/p-cdc6b261.entry.js +0 -4
  686. package/lib/duet/p-d69aa4c2.system.entry.js +0 -4
  687. package/lib/duet/p-d840ef25.entry.js +0 -4
  688. package/lib/duet/p-e6949dbe.entry.js +0 -4
  689. package/lib/duet/p-f54f5ef3.system.entry.js +0 -4
  690. package/lib/duet/p-f64ba41c.entry.js +0 -4
  691. package/lib/duet/p-f7c03d05.entry.js +0 -4
  692. package/lib/esm/slot-query-022710bb.js +0 -8
  693. package/lib/esm/slot-utils-07ba4363.js +0 -18
  694. package/lib/esm-es5/focus-utils-6bb7f477.js +0 -4
  695. package/lib/esm-es5/slot-query-022710bb.js +0 -4
  696. package/lib/esm-es5/slot-utils-07ba4363.js +0 -4
  697. package/lib/esm-es5/token-utils-d09165bc.js +0 -4
  698. package/lib/types/common/slot-query.d.ts +0 -1
@@ -5,14 +5,14 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-c51398ac.js');
8
+ const index = require('./index-a515d5ff.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
10
  const createId = require('./create-id-1f8c438f.js');
11
11
  const jsUtils = require('./js-utils-92e24ba1.js');
12
- const keyboardUtils = require('./keyboard-utils-7248dd0a.js');
12
+ const keyboardUtils = require('./keyboard-utils-66010749.js');
13
13
  const languageUtils = require('./language-utils-e8a527e5.js');
14
14
  const stringUtils = require('./string-utils-053749ff.js');
15
- const tokenUtils = require('./token-utils-c672402d.js');
15
+ const tokenUtils = require('./token-utils-7a618677.js');
16
16
  require('./tokens.module-bc323a09.js');
17
17
 
18
18
  const shouldDisplayNavigation = (visibleItems, total, take) => {
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-c51398ac.js');
8
+ const index = require('./index-a515d5ff.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
10
 
11
11
  const duetPopupMenuItemCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:flex-start}.duet-popup-menu-item{display:flex;flex-grow:1;gap:12px;align-items:center;height:100%;padding:8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:rgb(0, 41, 77);text-align:left;text-decoration:none;cursor:pointer}.duet-popup-menu-item:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-popup-menu-item:focus,.duet-popup-menu-item:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-popup-menu-item.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-popup-menu-item.active{background:rgb(243, 249, 252)}.duet-popup-menu-item.active.duet-theme-turva{background:rgb(245, 245, 247)}.duet-popup-menu-item:hover{background:rgb(230, 242, 248)}.duet-popup-menu-item:hover.duet-theme-turva{background:rgb(228, 228, 230)}.duet-popup-menu-item .duet-popup-menu-item-label{flex-grow:1}";
@@ -5,11 +5,11 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-c51398ac.js');
8
+ const index = require('./index-a515d5ff.js');
9
9
  const floatingUi_dom_esm = require('./floating-ui.dom.esm-a7d59d53.js');
10
10
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
11
- const focusUtils = require('./focus-utils-cb2699e7.js');
12
- const keyboardUtils = require('./keyboard-utils-7248dd0a.js');
11
+ const focusUtils = require('./focus-utils-2d403f5e.js');
12
+ const keyboardUtils = require('./keyboard-utils-66010749.js');
13
13
  const teleport = require('./teleport-6a1f83a1.js');
14
14
 
15
15
  const duetPopupMenuCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-popup-menu-list{position:absolute;top:0;left:0;z-index:950;width:max-content;min-width:175px;padding:8px;margin:0;color:rgb(0, 41, 77);list-style:none;visibility:hidden !important;background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15);opacity:0;transition:transform 300ms ease, visibility 300ms ease, opacity 300ms ease;transform:scaleY(0);transform-origin:top center}.duet-popup-menu-list.open{visibility:visible !important;opacity:1;transform:scaleY(1)}.duet-popup-menu-list.fixed{position:fixed}.duet-popup-menu-list.duet-theme-turva{color:rgb(23, 28, 58) !important;background:rgb(255, 255, 255)}";
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-c51398ac.js');
8
+ const index = require('./index-a515d5ff.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
10
  const createId = require('./create-id-1f8c438f.js');
11
11
  const languageUtils = require('./language-utils-e8a527e5.js');
@@ -5,13 +5,13 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-c51398ac.js');
8
+ const index = require('./index-a515d5ff.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
- const slotUtils = require('./slot-utils-6c81bd09.js');
11
- const tokenUtils = require('./token-utils-c672402d.js');
10
+ const slotUtils = require('./slot-utils-0b8037ab.js');
11
+ const tokenUtils = require('./token-utils-7a618677.js');
12
12
  require('./tokens.module-bc323a09.js');
13
13
 
14
- const duetPromoCardCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:4px !important;margin-bottom:2px !important;display:block;width:auto}:host:last-child,:host:last-of-type{margin-right:0 !important}:host(.duet-m-0){margin:0 !important}.duet-promo-card{display:flex;flex-direction:column;width:100%;height:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;color:rgb(0, 41, 77);text-align:left;border-radius:20px}.duet-promo-card.duet-p-0{padding:0 !important}.duet-promo-card.duet-m-0{margin:0 !important}.duet-promo-card .content-wrapper{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}.duet-promo-card .content-wrapper:focus{border-radius:20px;outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-promo-card .image{position:relative;width:100%;overflow:hidden;border-top-left-radius:20px;border-top-right-radius:20px;object-fit:cover}.duet-promo-card .content{display:flex;flex-direction:column;flex-grow:1;gap:8px;padding:20px}@media (min-width: 36em){.duet-promo-card .content{padding:28px}}.duet-promo-card .action{display:flex;flex-grow:1;align-items:flex-end;padding-top:16px}.duet-promo-card.no-bg-color .content{padding:20px 0 0}.duet-promo-card.no-bg-color .image{border-radius:16px}.duet-promo-card.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-promo-card.duet-theme-turva .content-wrapper:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}";
14
+ const duetPromoCardCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:4px !important;margin-bottom:2px !important;display:block;width:auto}:host:last-child,:host:last-of-type{margin-right:0 !important}:host(.duet-m-0){margin:0 !important}.duet-promo-card{display:flex;flex-direction:column;width:100%;height:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;color:rgb(0, 41, 77);text-align:left;border-radius:20px}.duet-promo-card.duet-p-0{padding:0 !important}.duet-promo-card.duet-m-0{margin:0 !important}.duet-promo-card .content-wrapper{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}.duet-promo-card .content-wrapper:focus{border-radius:20px;outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-promo-card .image{position:relative;width:100%;overflow:hidden;border-top-left-radius:20px;border-top-right-radius:20px;object-fit:cover}.duet-promo-card .content{display:flex;flex-direction:column;flex-grow:1;gap:8px;padding:20px}@media (min-width: 36em){.duet-promo-card .content{padding:28px}}.duet-promo-card .action{display:flex;flex-grow:1;align-items:flex-end;padding-top:16px}.duet-promo-card.no-bg-color .content{padding:20px 0 0}.duet-promo-card.no-bg-color .image{border-radius:16px}.duet-promo-card.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-promo-card.duet-theme-turva .content-wrapper:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-promo-card-link{transition:box-shadow 300ms ease}.duet-promo-card-link:hover{box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07), 0 2px 10px 0 rgba(0, 41, 77, 0.1)}.duet-promo-card-link:hover.duet-theme-turva{box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07), 0 2px 10px 0 rgba(117, 117, 117, 0.15)}";
15
15
 
16
16
  const DuetPromoCard = class {
17
17
  constructor(hostRef) {
@@ -29,13 +29,17 @@ const DuetPromoCard = class {
29
29
  */
30
30
  componentWillLoad() {
31
31
  themeableComponent.inheritGlobalTheme(this);
32
- this.hasPreHeadingSlot = !!this.element.querySelector('[slot="pre-heading"]');
33
- this.hasHeadingSlot = !!this.element.querySelector('[slot="heading"]');
34
- this.hasDescriptionSlot = !!this.element.querySelector('[slot="description"]');
35
- this.hasActionSlot = !!this.element.querySelector('[slot="action"]');
32
+ this.hasPreHeadingSlot = slotUtils.hasSlot(this.element, "pre-heading");
33
+ this.hasHeadingSlot = slotUtils.hasSlot(this.element, "heading");
34
+ this.hasDescriptionSlot = slotUtils.hasSlot(this.element, "description");
35
+ this.hasActionSlot = slotUtils.hasSlot(this.element, "action");
36
+ slotUtils.checkNamedSlotElement(this.element, "heading", "span");
37
+ slotUtils.checkNamedSlotElement(this.element, "description", "span");
36
38
  }
37
39
  /**
38
- * Sets focus on underlying a element when url attribute is used.
40
+ * Sets focus on underlying a element.
41
+ * Available only when url attribute is used.
42
+ * Use this method instead of the native `focus()`.
39
43
  */
40
44
  async setFocus(options) {
41
45
  if (this.url && this.aOrDivElement) {
@@ -56,7 +60,8 @@ const DuetPromoCard = class {
56
60
  "duet-promo-card": true,
57
61
  "duet-theme-turva": this.theme === "turva",
58
62
  "no-bg-color": !this.backgroundColor,
59
- }, style: bannerStyles }, index.h(TagName, { href: this.url, class: "content-wrapper", ref: element => (this.aOrDivElement = element) }, index.h("img", { class: "image", src: this.image, alt: "", role: "presentation" }), index.h("div", { class: "content" }, this.hasPreHeadingSlot && (index.h("div", { class: "pre-heading" }, index.h("slot", { name: "pre-heading" }))), this.hasHeadingSlot && (index.h("div", { class: "heading" }, index.h("duet-heading", { theme: this.theme, level: this.headingLevel, "visual-level": "h3", margin: "none", color: this.textColor }, index.h("span", null, index.h("slot", { name: "heading", onSlotchange: ev => slotUtils.slotElementCheck(ev, this, "span") }))))), this.hasDescriptionSlot && (index.h("div", { class: "description" }, index.h("duet-paragraph", { theme: this.theme, margin: "none", color: this.textColor }, index.h("span", null, index.h("slot", { name: "description", onSlotchange: ev => slotUtils.slotElementCheck(ev, this, "span") }))))), this.hasActionSlot && (index.h("div", { class: "action" }, index.h("slot", { name: "action" }))))))));
63
+ "duet-promo-card-link": !!this.url,
64
+ }, style: bannerStyles }, index.h(TagName, { href: this.url, class: "content-wrapper", ref: element => (this.aOrDivElement = element) }, index.h("img", { class: "image", src: this.image, alt: "", role: "presentation" }), index.h("div", { class: "content" }, this.hasPreHeadingSlot && (index.h("div", { class: "pre-heading" }, index.h("slot", { name: "pre-heading" }))), this.hasHeadingSlot && (index.h("div", { class: "heading" }, index.h("duet-heading", { theme: this.theme, level: this.headingLevel, "visual-level": "h3", margin: "none", color: this.textColor }, index.h("span", null, index.h("slot", { name: "heading" }))))), this.hasDescriptionSlot && (index.h("div", { class: "description" }, index.h("duet-paragraph", { theme: this.theme, margin: "none", color: this.textColor }, index.h("span", null, index.h("slot", { name: "description" }))))), this.hasActionSlot && (index.h("div", { class: "action" }, index.h("slot", { name: "action" }))))))));
60
65
  }
61
66
  get element() { return index.getElement(this); }
62
67
  };
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-c51398ac.js');
8
+ const index = require('./index-a515d5ff.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
10
  const createId = require('./create-id-1f8c438f.js');
11
- const slotUtils = require('./slot-utils-6c81bd09.js');
11
+ const slotUtils = require('./slot-utils-0b8037ab.js');
12
12
  const watchOptions = require('./watch-options-30a12622.js');
13
13
 
14
14
  const duetRadioCss = "*.sc-duet-radio,*.sc-duet-radio::after,*.sc-duet-radio::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-radio-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:28px !important;margin-bottom:12px !important;display:inline-flex;width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-radio-h:last-child,.sc-duet-radio-h:last-of-type{margin-right:0 !important}.vertical.sc-duet-radio-h{margin-right:0 !important}.horizontal.sc-duet-radio-h{margin-bottom:0 !important;width:auto}.horizontal.sc-duet-radio-h .duet-label.sc-duet-radio .duet-label-content.sc-duet-radio{max-width:100%}@media (min-width: 48em){.horizontal-responsive.sc-duet-radio-h{margin-right:28px !important;margin-bottom:0 !important;width:auto}.horizontal-responsive.sc-duet-radio-h:last-child,.horizontal-responsive.sc-duet-radio-h:last-of-type{margin-right:0 !important}.horizontal-responsive.sc-duet-radio-h .duet-label.sc-duet-radio .duet-label-content.sc-duet-radio{max-width:100%}}.duet-m-0.sc-duet-radio-h{margin:0 !important}.sc-duet-radio-h:last-child:not(:only-child){margin-right:0 !important;margin-bottom:0 !important}.duet-label.sc-duet-radio{position:relative;z-index:100;display:flex;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;hyphens:auto;line-height:1.5;color:rgb(0, 41, 77);word-break:break-word;overflow-wrap:break-word;cursor:pointer;background:transparent}.duet-theme-turva.sc-duet-radio .duet-label.sc-duet-radio{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-label.sc-duet-radio .duet-label-content.sc-duet-radio{flex-grow:1;font-size:1rem}.duet-label-hidden.sc-duet-radio .duet-label.sc-duet-radio{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.duet-radio-container.sc-duet-radio{position:relative;width:100%;height:100%}.duet-radio.sc-duet-radio{padding:14px !important;position:absolute;top:0;left:0;z-index:200;width:100%;height:100%;cursor:pointer;opacity:0}.duet-radio.sc-duet-radio+label.sc-duet-radio::before{z-index:100;flex-shrink:0;width:20px;height:20px;margin:2px 10px 1px 1px;content:\"\";background:rgb(255, 255, 255);border:1px solid rgb(0, 41, 77);border-radius:50%}.duet-theme-turva.sc-duet-radio .duet-radio.sc-duet-radio+label.sc-duet-radio::before{border-color:rgb(23, 28, 58)}.duet-radio.sc-duet-radio:focus+label.sc-duet-radio::before{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva.sc-duet-radio .duet-radio.sc-duet-radio:focus+label.sc-duet-radio::before{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-radio.sc-duet-radio:checked+label.sc-duet-radio::after{position:absolute;top:6px;left:5px;z-index:200;flex-shrink:0;width:12px;height:12px;content:\"\";background:rgb(0, 41, 77);border-radius:50%}.duet-theme-turva.sc-duet-radio .duet-radio.sc-duet-radio:checked+label.sc-duet-radio::after{background:rgb(23, 28, 58)}.duet-radio[disabled].sc-duet-radio{cursor:default}.duet-radio[disabled].sc-duet-radio+label.sc-duet-radio{color:rgb(101, 119, 135)}.duet-theme-turva.sc-duet-radio .duet-radio[disabled].sc-duet-radio+label.sc-duet-radio{color:rgb(116, 116, 117)}.duet-radio[disabled].sc-duet-radio+label.sc-duet-radio::before{border-color:rgb(207, 210, 212)}.duet-theme-turva.sc-duet-radio .duet-radio[disabled].sc-duet-radio+label.sc-duet-radio::before{border-color:rgb(207, 207, 209)}.duet-radio[disabled].sc-duet-radio:checked+label.sc-duet-radio::before{border:1px solid rgb(101, 119, 135)}.duet-radio[disabled].sc-duet-radio:checked+label.sc-duet-radio::after{background:rgb(101, 119, 135)}.duet-theme-turva.sc-duet-radio .duet-radio[disabled].sc-duet-radio:checked+label.sc-duet-radio::after{background:rgb(116, 116, 117);border-color:rgb(116, 116, 117)}";
@@ -179,6 +179,7 @@ const DuetRadioGroup = class {
179
179
  }
180
180
  componentWillLoad() {
181
181
  themeableComponent.inheritGlobalTheme(this);
182
+ slotUtils.checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
182
183
  }
183
184
  /**
184
185
  * Local methods.
@@ -219,7 +220,7 @@ const DuetRadioGroup = class {
219
220
  * Always the last one in the class.
220
221
  */
221
222
  render() {
222
- return (index.h(index.Host, { onDuetChange: this.onSelect, class: { horizontal: this.direction === "horizontal" } }, index.h("duet-fieldset", { label: this.label, labelHidden: this.labelHidden, caption: this.caption, error: this.error, margin: this.margin, theme: this.theme, "accessible-live-error": this.accessibleLiveError }, this.tooltip && (index.h("duet-tooltip", { slot: "tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), index.h("slot", { name: "tooltip", onSlotchange: ev => slotUtils.slotElementCheck(ev, this, "duet-tooltip") }), index.h("div", { class: { "duet-radio-group": true, "duet-no-stacking": !this.responsive } }, index.h("slot", null)))));
223
+ return (index.h(index.Host, { onDuetChange: this.onSelect, class: { horizontal: this.direction === "horizontal" } }, index.h("duet-fieldset", { label: this.label, labelHidden: this.labelHidden, caption: this.caption, error: this.error, margin: this.margin, theme: this.theme, "accessible-live-error": this.accessibleLiveError }, this.tooltip && (index.h("duet-tooltip", { slot: "tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), index.h("slot", { name: "tooltip" }), index.h("div", { class: { "duet-radio-group": true, "duet-no-stacking": !this.responsive } }, index.h("slot", null)))));
223
224
  }
224
225
  get element() { return index.getElement(this); }
225
226
  static get watchers() { return {
@@ -5,12 +5,12 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-c51398ac.js');
8
+ const index = require('./index-a515d5ff.js');
9
9
  const tokens_module = require('./tokens.module-bc323a09.js');
10
10
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
11
11
  const createId = require('./create-id-1f8c438f.js');
12
12
  const isInternetExplorer = require('./is-internet-explorer-e7f58ebc.js');
13
- const keyboardUtils = require('./keyboard-utils-7248dd0a.js');
13
+ const keyboardUtils = require('./keyboard-utils-66010749.js');
14
14
 
15
15
  const duetRangeSliderCss = "*.sc-duet-range-slider,*.sc-duet-range-slider::after,*.sc-duet-range-slider::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-range-slider-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;max-width:100%;text-align:left;vertical-align:bottom}.sc-duet-range-slider-h:last-child,.sc-duet-range-slider-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-range-slider-h{width:calc(50% - 16px - 3px)}.duet-expand.sc-duet-range-slider-h{width:100% !important}}.duet-m-0.sc-duet-range-slider-h{margin:0 !important}.duet-range-container.sc-duet-range-slider{position:relative;width:100%}.duet-output.sc-duet-range-slider{position:absolute;top:12px;right:0;z-index:200;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25;color:rgb(0, 41, 77);background:rgb(255, 255, 255)}.duet-theme-turva.sc-duet-range-slider .duet-output.sc-duet-range-slider{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-range-disabled.sc-duet-range-slider .duet-output.sc-duet-range-slider{color:rgb(144, 149, 153)}.duet-range-disabled.duet-theme-turva.sc-duet-range-slider .duet-output.sc-duet-range-slider{color:rgb(116, 116, 117)}.duet-range.sc-duet-range-slider{position:relative;z-index:100;width:100%;height:4px;background:rgb(207, 210, 212);border-radius:4px}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider{background:rgb(207, 207, 209)}.duet-ie.sc-duet-range-slider .duet-range.sc-duet-range-slider{display:block;width:auto;height:26px;background:transparent !important}.duet-range.sc-duet-range-slider::-moz-range-track{height:1px;background:transparent !important;border:0;-moz-appearance:none}.duet-range.sc-duet-range-slider::-ms-track{color:transparent;background:transparent;border:0}.duet-range.sc-duet-range-slider:focus,.duet-range.sc-duet-range-slider:active{outline:0}.user-is-tabbing.sc-duet-range-slider-h .duet-range.sc-duet-range-slider:focus{box-shadow:0 0 0 1px #fff, 0 0 0 3px rgba(0, 119, 179, 0.75)}.user-is-tabbing.sc-duet-range-slider-h .duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider:focus{box-shadow:0 0 0 1px #fff, 0 0 0 3px rgba(23, 28, 58, 0.75)}.duet-range.sc-duet-range-slider::-webkit-slider-runnable-track{background:transparent}.duet-range.sc-duet-range-slider::-webkit-slider-thumb{position:relative;width:24px;height:24px;cursor:-webkit-grab;background:rgb(255, 255, 255);border:1px solid rgb(144, 149, 153);border-radius:50%;transition:box-shadow 300ms ease;-webkit-appearance:none}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider::-webkit-slider-thumb{border-color:rgb(116, 116, 117)}.duet-range.sc-duet-range-slider:active::-webkit-slider-thumb{cursor:-webkit-grabbing}.duet-range.sc-duet-range-slider::-moz-range-thumb{position:relative;width:24px;height:24px;cursor:-moz-grab;background:rgb(255, 255, 255);border:1px solid rgb(144, 149, 153);border-radius:50%;appearance:none}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider::-moz-range-thumb{border-color:rgb(116, 116, 117)}.duet-range.sc-duet-range-slider:active::-moz-range-thumb{cursor:-moz-grabbing}.duet-range.sc-duet-range-slider::-ms-thumb{position:relative;width:24px;height:24px;overflow:visible;background:rgb(255, 255, 255);border:1px solid rgb(144, 149, 153);border-radius:50%}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider::-ms-thumb{border-color:rgb(116, 116, 117)}.duet-range.sc-duet-range-slider:disabled{background:rgb(207, 210, 212) !important}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider:disabled{background:rgb(207, 207, 209) !important}.duet-range.sc-duet-range-slider:disabled::-webkit-slider-thumb{cursor:default;background:rgb(207, 210, 212);border-color:transparent}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider:disabled::-webkit-slider-thumb{background:rgb(207, 207, 209);border-color:transparent}.duet-range.sc-duet-range-slider:disabled::-moz-range-thumb{cursor:default;background:rgb(207, 210, 212);border-color:transparent}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider:disabled::-moz-range-thumb{background:rgb(207, 207, 209);border-color:transparent}.duet-range.sc-duet-range-slider:disabled::-ms-thumb{cursor:default;background:rgb(207, 210, 212);border-color:transparent}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider:disabled::-ms-thumb{background:rgb(207, 207, 209);border-color:transparent}.duet-range.sc-duet-range-slider::-ms-fill-lower{height:4px;background:rgb(0, 119, 179)}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider::-ms-fill-lower{background:rgb(198, 12, 48)}.duet-range.sc-duet-range-slider::-ms-fill-upper{height:4px;background:rgb(207, 210, 212)}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider::-ms-fill-upper{background:rgb(207, 207, 209)}.duet-label-hidden.sc-duet-range-slider duet-label.sc-duet-range-slider,.duet-label-hidden.sc-duet-range-slider output.sc-duet-range-slider{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}";
16
16
 
@@ -5,12 +5,14 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-c51398ac.js');
8
+ const index = require('./index-a515d5ff.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
+ const keyboardUtils = require('./keyboard-utils-66010749.js');
10
11
  const languageUtils = require('./language-utils-e8a527e5.js');
12
+ const tokenUtils = require('./token-utils-7a618677.js');
11
13
  const createId = require('./create-id-1f8c438f.js');
12
- const keyboardUtils = require('./keyboard-utils-7248dd0a.js');
13
14
  require('./string-utils-053749ff.js');
15
+ require('./tokens.module-bc323a09.js');
14
16
 
15
17
  const duetScrollableCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}:host{position:relative !important}:host .duet-scrollable-items{display:flex}:host .duet-scrollable-items .duet-scrollable-button{position:relative;flex:0 0 auto;flex-basis:40px;padding:10px;cursor:pointer}:host .duet-scrollable-items .duet-scrollable-button:active{transform:scale(0.8)}:host .duet-scrollable-items .duet-scrollable-button--left{left:-12px}:host .duet-scrollable-items .duet-scrollable-button--right{right:-12px}:host .duet-scrollable-items .duet-scrollable-button--occluded{visibility:hidden}:host .duet-scrollable-items .duet-scrollable-list{display:flex;flex-wrap:nowrap;gap:20px;padding-top:2px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scroll-snap-type:x mandatory;scroll-behavior:smooth;scroll-margin:0 20px;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch;}:host .duet-scrollable-items .duet-scrollable-list:not(.buttons){white-space:normal}:host .duet-scrollable-items .duet-scrollable-list::-webkit-scrollbar{display:none}:host .duet-scrollable-items .duet-scrollable-list.collapsed{flex-wrap:wrap}:host .duet-scrollable-items.center{justify-content:center}:host .duet-scrollable-items.center .duet-scrollable-list.collapsed{justify-content:center}.collapse{width:100%;text-align:center}.collapse.hide{visibility:hidden}::slotted(*){scroll-snap-align:center;margin-left:0;-webkit-transition:-webkit-transform 0.2s ease-in-out;transition:-webkit-transform 0.2s ease-in-out;transition:transform 0.2s ease-in-out;transition:transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out}";
16
18
 
@@ -179,11 +181,47 @@ const DuetScrollable = class {
179
181
  };
180
182
  DuetScrollable.style = duetScrollableCss;
181
183
 
182
- const duetTabCss = ".sc-duet-tab-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-tab.sc-duet-tab{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:none;width:100%}.duet-tab.selected.sc-duet-tab{display:block}";
184
+ const duetTabCss = ".sc-duet-tab-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-tab.sc-duet-tab{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:none;width:100%}.duet-tab.selected.sc-duet-tab{display:block}.duet-tab.has-content-id.sc-duet-tab,.duet-tab.has-content-id.selected.sc-duet-tab{display:none}.user-is-tabbing.sc-duet-tab-h .duet-tab.sc-duet-tab:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.user-is-tabbing.sc-duet-tab-h .duet-tab.duet-theme-turva.sc-duet-tab:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}";
183
185
 
184
186
  const DuetTab = class {
185
187
  constructor(hostRef) {
186
188
  index.registerInstance(this, hostRef);
189
+ this.setupContentElement = () => {
190
+ if (this.contentId) {
191
+ this.tabpanelElement = document.getElementById(this.contentId);
192
+ if (this.tabpanelElement) {
193
+ this.tabpanelElement.setAttribute("role", "tabpanel");
194
+ this.tabpanelElement.setAttribute("tabindex", "-1");
195
+ this.tabpanelElement.removeEventListener("focus", this.tabpanelElementFocusListener);
196
+ this.tabpanelElement.removeEventListener("blur", this.tabpanelElementBlurListener);
197
+ this.tabpanelElement.addEventListener("focus", this.tabpanelElementFocusListener);
198
+ this.tabpanelElement.addEventListener("blur", this.tabpanelElementBlurListener);
199
+ if (this.accessibleDescription) {
200
+ this.tabpanelElement.setAttribute("aria-description", this.accessibleDescription);
201
+ }
202
+ if (this.accessibleLabelledBy) {
203
+ this.tabpanelElement.setAttribute("aria-labelledby", this.accessibleLabelledBy);
204
+ }
205
+ if (this.selected) {
206
+ this.tabpanelElement.toggleAttribute("hidden", false);
207
+ }
208
+ else {
209
+ this.tabpanelElement.toggleAttribute("hidden", true);
210
+ }
211
+ }
212
+ }
213
+ };
214
+ this.tabpanelElementFocusListener = () => {
215
+ if (this.element.classList.contains("user-is-tabbing")) {
216
+ this.tabpanelElement.style.outline = "0";
217
+ this.tabpanelElement.style.boxShadow = tokenUtils.getShadowByName(this.theme === "turva" ? "focus-turva" : "focus");
218
+ }
219
+ };
220
+ this.tabpanelElementBlurListener = () => {
221
+ this.tabpanelElement.style.outline = null;
222
+ this.tabpanelElement.style.boxShadow = null;
223
+ };
224
+ this.theme = "";
187
225
  this.label = undefined;
188
226
  this.caption = undefined;
189
227
  this.selected = undefined;
@@ -193,24 +231,65 @@ const DuetTab = class {
193
231
  ? languageUtils.getLocaleString(this.accessibleDescriptionDefault)
194
232
  : null;
195
233
  this.accessibleLabelledBy = undefined;
234
+ this.contentId = undefined;
235
+ }
236
+ componentWillLoad() {
237
+ themeableComponent.inheritGlobalTheme(this);
196
238
  }
197
239
  /**
198
240
  * Component lifecycle events.
199
241
  */
200
242
  connectedCallback() {
201
243
  languageUtils.connectLanguageChangeObserver(this, { prop: "accessibleDescription", defaults: "accessibleDescriptionDefault" });
244
+ keyboardUtils.subscribeTabbingChange(this);
245
+ this.setupContentElement();
202
246
  }
203
247
  disconnectedCallback() {
204
248
  languageUtils.disconnectLanguageChangeObserver(this);
249
+ keyboardUtils.unsubscribeTabbingChange(this);
250
+ if (this.tabpanelElement) {
251
+ this.tabpanelElement.removeAttribute("role");
252
+ this.tabpanelElement.removeAttribute("tabindex");
253
+ this.tabpanelElement.removeAttribute("aria-description");
254
+ this.tabpanelElement.removeAttribute("aria-labelledby");
255
+ this.tabpanelElement.removeAttribute("hidden");
256
+ this.tabpanelElement.removeEventListener("focus", this.tabpanelElementFocusListener.bind(this));
257
+ this.tabpanelElement.removeEventListener("blur", this.tabpanelElementBlurListener.bind(this));
258
+ this.tabpanelElement = undefined;
259
+ }
260
+ }
261
+ setupSelected(newValue, oldValue) {
262
+ if (!!newValue === !!oldValue) {
263
+ return;
264
+ }
265
+ this.setupContentElement();
266
+ }
267
+ /**
268
+ * Sets focus on the tab panel.
269
+ */
270
+ async setFocus(options) {
271
+ this.tabpanelElement.focus(options);
205
272
  }
206
273
  /**
207
274
  * render() function
208
275
  * Always the last one in the class.
209
276
  */
210
277
  render() {
211
- return (index.h("div", { role: "tabpanel", class: { "duet-tab": true, selected: this.selected }, "aria-description": this.accessibleDescription, "aria-labelledby": this.accessibleLabelledBy }, index.h("slot", null)));
278
+ return (index.h("div", { ref: element => {
279
+ if (!this.contentId) {
280
+ this.tabpanelElement = element;
281
+ }
282
+ }, role: "tabpanel", class: {
283
+ "duet-theme-turva": this.theme === "turva",
284
+ "duet-tab": true,
285
+ selected: this.selected,
286
+ "has-content-id": !!this.contentId,
287
+ }, "aria-description": this.accessibleDescription, "aria-labelledby": this.accessibleLabelledBy, tabindex: "-1" }, index.h("slot", null)));
212
288
  }
213
289
  get element() { return index.getElement(this); }
290
+ static get watchers() { return {
291
+ "selected": ["setupSelected"]
292
+ }; }
214
293
  };
215
294
  DuetTab.style = duetTabCss;
216
295
 
@@ -234,6 +313,10 @@ const DuetTabGroup = class {
234
313
  else if (keyboardUtils.isArrowRightKey(ev) || keyboardUtils.isArrowDownKey(ev)) {
235
314
  button = ev.target.nextElementSibling;
236
315
  }
316
+ if (keyboardUtils.isTabKey(ev) && !keyboardUtils.isShiftTabKey(ev)) {
317
+ ev.preventDefault();
318
+ this.element.querySelector("duet-tab[selected]").setFocus();
319
+ }
237
320
  if (button) {
238
321
  ev.preventDefault();
239
322
  button.click();
@@ -266,7 +349,7 @@ const DuetTabGroup = class {
266
349
  };
267
350
  this.renderTab = () => {
268
351
  const renderedTabs = this.tabs.map((element, index$1) => {
269
- return (index.h("button", { role: "tab", id: this.getButtonId(index$1), "aria-selected": element.selected ? "true" : "false", "aria-description": this.getAccessibleDescription(index$1), tabindex: index$1 === 0 ? "0" : "-1", part: `${this.identifier}-button ${element.selected ? `${this.identifier}-button--selected` : ""}`, type: "button", class: {
352
+ return (index.h("button", { role: "tab", id: this.getButtonId(index$1), "aria-selected": element.selected ? "true" : "false", "aria-description": this.getAccessibleDescription(index$1), tabindex: element.selected ? "0" : "-1", part: `${this.identifier}-button ${element.selected ? `${this.identifier}-button--selected` : ""}`, type: "button", class: {
270
353
  "duet-p-0": this.padding === "none",
271
354
  "duet-tab-button": true,
272
355
  "stackable-tab": this.variation === "checked" && this.tabs.length <= 3,
@@ -424,7 +507,7 @@ const DuetTabGroup = class {
424
507
  "duet-tab-group-collapses": this.collapses,
425
508
  }, ref: el => {
426
509
  this.tabsContainer = el;
427
- } }, this.renderTab()), index.h("div", { role: "tabpanel", tabindex: this.setTabIndex ? "0" : null, class: {
510
+ } }, this.renderTab()), index.h("div", { class: {
428
511
  "duet-tab-group-content": true,
429
512
  "duet-m-0": this.margin === "none",
430
513
  "checked-group-content": this.variation === "checked",
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-c51398ac.js');
8
+ const index = require('./index-a515d5ff.js');
9
9
  const isInternetExplorer = require('./is-internet-explorer-e7f58ebc.js');
10
10
 
11
11
  const duetSectionLayoutCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;flex:1 0 auto;width:100%}:host(.duet-middle){display:flex}:host(.duet-middle) .duet-layout{padding:36px 28px !important}@media (min-width: 36em){:host(.duet-middle) .duet-layout{padding:48px 36px !important}}@media (min-width: 62em){:host(.duet-middle) .duet-layout{padding:56px !important}}:host(.duet-ie){height:100%}:host(.duet-middle.duet-ie){height:auto}.duet-layout{position:relative;padding:0 16px;margin:48px auto 36px}@media (min-width: 36em){.duet-layout{margin-top:72px}}.duet-layout.duet-m-0{margin-top:0 !important;margin-bottom:0 !important}@media (min-width: 36em){.duet-layout{padding:0 28px}}@media (min-width: 62em){.duet-layout{display:flex;flex-direction:row;padding:0 56px;margin-bottom:48px}}@media (min-width: 76.25em){.duet-layout{max-width:1110px;padding:0}}.duet-main{display:block;width:100%}@media (min-width: 62em){.duet-main{min-width:600px;margin:0 auto}.has-sidebar .duet-main{max-width:734px;margin-right:20px}}";
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-c51398ac.js');
8
+ const index = require('./index-a515d5ff.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
10
  const createId = require('./create-id-1f8c438f.js');
11
- const slotUtils = require('./slot-utils-6c81bd09.js');
11
+ const slotUtils = require('./slot-utils-0b8037ab.js');
12
12
  const stringUtils = require('./string-utils-053749ff.js');
13
13
 
14
14
  const duetSelectCss = "*.sc-duet-select,*.sc-duet-select::after,*.sc-duet-select::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-select-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;max-width:100%;vertical-align:bottom}.sc-duet-select-h:last-child,.sc-duet-select-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-select-h{width:calc(50% - 16px - 3px)}.duet-expand.sc-duet-select-h{width:100% !important}}.duet-select-variation-tiny.sc-duet-select-h,.duet-select-variation-compact.sc-duet-select-h{position:relative;top:-2px;width:72px;margin:0 !important;vertical-align:baseline}.duet-select-variation-compact.sc-duet-select-h{width:auto}.duet-m-0.sc-duet-select-h{margin:0 !important}duet-tooltip.sc-duet-select,.sc-duet-select-s>duet-tooltip{position:absolute;top:12px;right:0}@media (min-width: 48em){duet-tooltip.sc-duet-select,.sc-duet-select-s>duet-tooltip{position:relative;top:4px;right:auto}}.duet-select-placeholder.sc-duet-select{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgb(255, 255, 255)}.duet-select-container.sc-duet-select{position:relative;width:100%}.duet-select-container.duet-select-variation-tiny.sc-duet-select{width:72px}.duet-select-wrapper.sc-duet-select{position:relative;width:100%;padding:15px 14px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.25}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-select-variation-tiny.sc-duet-select .duet-select-wrapper.sc-duet-select{width:81px;padding:0 !important}.duet-select-variation-compact.sc-duet-select .duet-select-wrapper.sc-duet-select{padding:0 !important;line-height:1}.duet-select-wrapper.sc-duet-select select.sc-duet-select{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;width:100%;height:100%;padding:0;margin:0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;cursor:pointer;border:0;outline:none;opacity:0}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{border-color:rgb(144, 149, 153);box-shadow:0 0 0 1px #909599}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{border-color:rgb(116, 116, 117);box-shadow:0 0 0 1px #747475}.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{box-shadow:0 0 0 1px #e55039}.duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{border-color:rgb(0, 119, 179);outline:0;box-shadow:0 0 0 1px #0077b3 !important;transition:none}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{border-color:rgb(23, 28, 58);box-shadow:0 0 0 1px #171c3a !important}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:rgb(23, 28, 58)}.duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:rgb(0, 119, 179)}.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{box-shadow:0 0 0 1px #e55039}.duet-select-wrapper.sc-duet-select select[disabled].sc-duet-select{cursor:default !important}.duet-select-wrapper.sc-duet-select select[disabled].sc-duet-select+.duet-select.sc-duet-select{color:rgb(0, 41, 77) !important;cursor:default !important;background:rgb(245, 248, 250) !important;border-color:rgb(245, 248, 250) !important;box-shadow:none !important;opacity:1 !important;-webkit-text-fill-color:rgb(0, 41, 77) !important}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select[disabled].sc-duet-select+.duet-select.sc-duet-select{color:rgb(23, 28, 58) !important;background:rgb(245, 245, 247) !important;border-color:rgb(245, 245, 247) !important;-webkit-text-fill-color:rgb(23, 28, 58) !important}.duet-select-wrapper.sc-duet-select span.duet-keep-container-height.sc-duet-select{opacity:0}.duet-select-variation-compact.sc-duet-select .duet-select-wrapper.sc-duet-select span.duet-keep-container-height.sc-duet-select{display:none}.duet-select.sc-duet-select{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;display:block;width:100%;min-width:8rem;padding:12px 14px !important;padding-right:48px !important;overflow:hidden;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.5;color:rgb(0, 41, 77);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:rgb(255, 255, 255);border:1px solid rgb(144, 149, 153);border-radius:4px;transition:150ms ease}.has-error.sc-duet-select .duet-select.sc-duet-select{border-color:rgb(222, 35, 98) !important}.has-error.sc-duet-select .duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:rgb(222, 35, 98) !important}.duet-theme-turva.has-error.sc-duet-select .duet-select.sc-duet-select{border-color:rgb(224, 42, 13) !important}.duet-theme-turva.has-error.sc-duet-select .duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:rgb(224, 42, 13) !important}.duet-theme-turva.sc-duet-select .duet-select.sc-duet-select{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58);border-color:rgb(116, 116, 117)}.duet-select.sc-duet-select svg.sc-duet-select{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;color:rgb(0, 41, 77);pointer-events:none;transform:translateY(-50%)}.duet-theme-turva.sc-duet-select .duet-select.sc-duet-select svg.sc-duet-select{color:rgb(23, 28, 58)}.duet-select-variation-tiny.sc-duet-select .duet-select.sc-duet-select,.duet-select-variation-compact.sc-duet-select .duet-select.sc-duet-select{width:72px;min-width:inherit;padding:0 !important;margin-bottom:-4px;overflow:visible;font-weight:600;text-align:center}.duet-select-variation-tiny.sc-duet-select .duet-select.sc-duet-select duet-icon.sc-duet-select,.duet-select-variation-compact.sc-duet-select .duet-select.sc-duet-select duet-icon.sc-duet-select{padding-left:10px}.duet-select-variation-compact.sc-duet-select .duet-select.sc-duet-select{position:relative;width:fit-content;padding:7px 16px !important;font-size:0.875rem;line-height:1.1;text-align:right;border-radius:8px}.duet-select-help.sc-duet-select{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(101, 119, 135);border-radius:4px}.duet-select-help.sc-duet-select span.sc-duet-select{display:block;margin-top:8px}.duet-theme-turva.sc-duet-select .duet-select-help.sc-duet-select{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(116, 116, 117)}.has-error.sc-duet-select .duet-select-help.sc-duet-select{color:rgb(222, 35, 98)}.duet-theme-turva.has-error.sc-duet-select .duet-select-help.sc-duet-select{color:rgb(224, 42, 13)}.duet-label-hidden.sc-duet-select duet-label.sc-duet-select{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}";
@@ -121,6 +121,7 @@ const DuetSelect = class {
121
121
  componentWillLoad() {
122
122
  themeableComponent.inheritGlobalTheme(this);
123
123
  this.isCaptionVisible = !!this.caption;
124
+ slotUtils.checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
124
125
  this.refresh();
125
126
  }
126
127
  /**
@@ -168,7 +169,7 @@ const DuetSelect = class {
168
169
  [`duet-select-variation-${this.variation}`]: true,
169
170
  "duet-input-top-caption-shown": this.isCaptionVisible,
170
171
  "has-error": !!this.error,
171
- } }, index.h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (index.h("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), index.h("slot", { name: "tooltip", onSlotchange: ev => slotUtils.slotElementCheck(ev, this, "duet-tooltip") }), this.caption && (index.h("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), index.h("div", { class: "duet-select-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (index.h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-select-placeholder", size: "small" }, this.placeholder)), index.h("select", { ref: select => (this.nativeSelect = select), disabled: this.disabled, name: this.name, id: identifier, role: this.role, "aria-labelledby": this.labelId, "aria-describedby": this.getDescribedBy(), "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, required: this.required }, this.placeholder && (index.h("option", { disabled: true, selected: true, value: "" }, this.placeholder)), !this.processedItems ? (index.h("option", null, "Virhe valintoja ladattaessa. P\u00E4ivit\u00E4 sivu ja kokeile uusiksi.")) : (this.processedItems.map(item => {
172
+ } }, index.h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (index.h("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), index.h("slot", { name: "tooltip" }), this.caption && (index.h("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), index.h("div", { class: "duet-select-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (index.h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-select-placeholder", size: "small" }, this.placeholder)), index.h("select", { ref: select => (this.nativeSelect = select), disabled: this.disabled, name: this.name, id: identifier, role: this.role, "aria-labelledby": this.labelId, "aria-describedby": this.getDescribedBy(), "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, required: this.required }, this.placeholder && (index.h("option", { disabled: true, selected: true, value: "" }, this.placeholder)), !this.processedItems ? (index.h("option", null, "Virhe valintoja ladattaessa. P\u00E4ivit\u00E4 sivu ja kokeile uusiksi.")) : (this.processedItems.map(item => {
172
173
  return isOptionGroup(item) ? this.renderOptionGroup(item) : this.renderOption(item);
173
174
  }))), index.h("div", { class: {
174
175
  "duet-select": true,
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-c51398ac.js');
8
+ const index = require('./index-a515d5ff.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
10
 
11
11
  const duetShapedImageCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:inline-block;width:100%;height:100%;margin:5%}:host(.duet-theme-turva){margin:3%}:host(.duet-m-0){margin:0}.shaped-image{position:relative;display:inline-block;width:100%;height:100%}.shaped-image .shaped-image-mask{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:25%;transform:rotate(var(--rotation))}.shaped-image .shaped-image-mask .shaped-image-img{position:relative;display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:center;background-size:cover;transform:scale(1.07) rotate(calc(-1 * var(--rotation)));transform-origin:center}:host(.duet-theme-turva) .shaped-image .shaped-image-mask{transform:none;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-repeat:no-repeat}:host(.duet-theme-turva) .shaped-image .shaped-image-mask .shaped-image-img{transform:none}";
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-c51398ac.js');
8
+ const index = require('./index-a515d5ff.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
10
  const createId = require('./create-id-1f8c438f.js');
11
- const keyboardUtils = require('./keyboard-utils-7248dd0a.js');
11
+ const keyboardUtils = require('./keyboard-utils-66010749.js');
12
12
  const languageUtils = require('./language-utils-e8a527e5.js');
13
13
  require('./string-utils-053749ff.js');
14
14
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-c51398ac.js');
8
+ const index = require('./index-a515d5ff.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
10
  const languageUtils = require('./language-utils-e8a527e5.js');
11
11
  require('./string-utils-053749ff.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-c51398ac.js');
8
+ const index = require('./index-a515d5ff.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
10
 
11
11
  const duetSlideoutLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}.duet-slideout-link{position:relative;display:flex;gap:20px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:inherit;font-weight:inherit;line-height:1.25;color:inherit;text-align:left;text-decoration:none}.duet-slideout-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-slideout-link:focus,.duet-slideout-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-slideout-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-slideout-link.active span{position:relative}.duet-slideout-link.active span::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:var(--active-height, 2px);content:\"\";background:rgb(0, 119, 179);transform:var(--active-translate-y, translateY(2px))}.duet-slideout-link.active.duet-theme-turva span::after{background:rgb(198, 12, 48)}.duet-slideout-link.small{font-size:1rem;font-weight:600}.duet-slideout-link.small span::after{--active-height:1px;--active-translate-y:1px}.duet-slideout-link.medium{font-size:1.25rem;font-weight:600}.duet-slideout-link.large{font-size:1.5rem;font-weight:800}.duet-slideout-link .label{display:flex;gap:0.5rem;align-items:center;justify-content:space-between;width:100%}slot[name=description]::slotted(*){display:block;padding:8px 0 0;font-size:1rem;font-size:1.25;font-weight:400;color:rgb(101, 119, 135)}.duet-theme-turva slot[name=description]::slotted(*){color:rgb(68, 68, 69)}";
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-c51398ac.js');
8
+ const index = require('./index-a515d5ff.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
10
 
11
11
  const duetSlideoutPanelDropdownCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}:host slot:not([name=label])::slotted(*){position:relative;top:-0.5rem;opacity:0;transition:top 0.3s ease-in, opacity 0.3s ease-in}:host([open]) slot:not([name=label])::slotted(*){top:0;opacity:1}.duet-slideout-panel-dropdown{position:relative;width:100%;height:100%}.duet-slideout-panel-dropdown button{position:relative;display:flex;gap:20px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1.25rem;font-weight:800;line-height:1.25;color:rgb(0, 41, 77);text-align:center;text-decoration:none;cursor:pointer}.duet-slideout-panel-dropdown button .label{position:relative;display:flex;gap:0.5rem;align-items:center;justify-content:center}.duet-slideout-panel-dropdown button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-slideout-panel-dropdown button.active .label::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:calc(100% - 18px);height:1px;content:\"\";background:rgb(0, 119, 179);transform:translateY(1px)}.duet-slideout-panel-dropdown .items{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-height:1000px;padding:4px 20px 8px 44px;overflow-y:auto;visibility:visible;transition:max-height 0.3s ease-in, padding-bottom 0.3s ease-in;-ms-overflow-style:none;scrollbar-width:none}.duet-slideout-panel-dropdown .items::-webkit-scrollbar{display:none}.duet-slideout-panel-dropdown .items.hidden{max-height:0;padding:0;overflow:hidden;visibility:hidden;transition:max-height 0.3s ease-out, padding-bottom 0.3s ease-out}.duet-slideout-panel-dropdown.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-slideout-panel-dropdown.duet-theme-turva button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-slideout-panel-dropdown.duet-theme-turva button.active .label::after{background:rgb(198, 12, 48)}slot{--active-height:1px;--active-translate-y:translateY(1px);font-size:1rem;font-weight:400;color:rgb(0, 41, 77)}.duet-theme-turva slot{color:rgb(23, 28, 58)}slot[name=label]{font-size:1rem;font-weight:600}";
@@ -54,7 +54,7 @@ const DuetSlideoutPanelDropdown = class {
54
54
  active: this.open,
55
55
  } }, index.h("button", { ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", id: "button", type: "button", class: {
56
56
  active: this.active,
57
- }, onClick: this.onClick }, this.icon && index.h("duet-icon", { name: this.icon, size: "medium", margin: "none", color: "secondary" }), index.h("div", { class: "label" }, index.h("slot", { name: "label" }), index.h("duet-icon", { class: "caret", name: "action-arrow-down-small", margin: "none", size: "xx-small", color: "secondary" }))), index.h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
57
+ }, onClick: this.onClick }, this.icon && index.h("duet-icon", { name: this.icon, size: "medium", margin: "none", color: "secondary" }), index.h("span", { class: "label" }, index.h("slot", { name: "label" }), index.h("duet-icon", { class: "caret", name: "action-arrow-down-small", margin: "none", size: "xx-small", color: "secondary" }))), index.h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
58
58
  items: true,
59
59
  hidden: !this.open,
60
60
  } }, index.h("slot", null)))));
@@ -5,15 +5,16 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-c51398ac.js');
8
+ const index = require('./index-a515d5ff.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
- const focusUtils = require('./focus-utils-cb2699e7.js');
10
+ const focusUtils = require('./focus-utils-2d403f5e.js');
11
11
  const languageUtils = require('./language-utils-e8a527e5.js');
12
- const tokenUtils = require('./token-utils-c672402d.js');
12
+ const slotUtils = require('./slot-utils-0b8037ab.js');
13
+ const tokenUtils = require('./token-utils-7a618677.js');
13
14
  require('./string-utils-053749ff.js');
14
15
  require('./tokens.module-bc323a09.js');
15
16
 
16
- const duetSlideoutPanelCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}:host slot:not([name=label])::slotted(*){position:relative;top:0.5rem;opacity:0;transition:top 0.3s ease-in, opacity 0.3s ease-in}:host([open]) slot:not([name=label])::slotted(*){top:0;opacity:1}.duet-slideout-panel{position:relative;height:100%}.duet-slideout-panel .link{position:relative;display:flex;gap:20px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1.5rem;font-weight:800;line-height:1.25;color:rgb(0, 41, 77);text-align:left;text-decoration:none;cursor:pointer}.duet-slideout-panel .link .label{display:flex;gap:0.5rem;align-items:center;justify-content:space-between;width:100%}.duet-slideout-panel .link .label-text.small{font-size:1rem;font-weight:600}.duet-slideout-panel .link .label-text.medium{font-size:1.25rem;font-weight:600}.duet-slideout-panel .link .label-text.large{font-size:1.5rem;font-weight:800}.duet-slideout-panel .link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-slideout-panel .link.active .label-text{position:relative}.duet-slideout-panel .link.active .label-text.small::after{height:1px;transform:translateY(1px)}.duet-slideout-panel .link.active .label-text::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:2px;content:\"\";background:rgb(0, 119, 179);transform:translateY(2px)}.duet-slideout-panel .dialog{position:fixed;top:0;left:0;z-index:600;width:100%;height:100%;overflow-y:auto;visibility:visible}.duet-slideout-panel .dialog.hidden{visibility:hidden}.duet-slideout-panel .dialog.hidden .top .back,.duet-slideout-panel .dialog.hidden .top span{opacity:0}.duet-slideout-panel .top{display:flex;align-items:center;justify-content:space-between;padding:4px}.duet-slideout-panel .top .back{opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .top .back:focus,.duet-slideout-panel .top .close:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-slideout-panel .top duet-icon{padding:16px}.duet-slideout-panel .top span{font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:rgb(0, 41, 77);opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .items{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:1rem 16px;overflow-y:auto;color:rgb(0, 41, 77)}.duet-slideout-panel.duet-theme-turva .link{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-slideout-panel.duet-theme-turva .link:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-slideout-panel.duet-theme-turva .link.active .label-text::after{background:rgb(198, 12, 48)}.duet-slideout-panel.duet-theme-turva .top .back:focus,.duet-slideout-panel.duet-theme-turva .top .close:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-slideout-panel.duet-theme-turva .top span{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}slot:not([name=label]){--active-height:1px;--active-translate-y:translateY(1px);font-size:1rem;font-weight:600;color:rgb(0, 41, 77)}.duet-theme-turva slot:not([name=label]){color:rgb(23, 28, 58)}";
17
+ const duetSlideoutPanelCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}:host slot:not([name=label])::slotted(*){position:relative;top:0.5rem;opacity:0;transition:top 0.3s ease-in, opacity 0.3s ease-in}:host([open]) slot:not([name=label])::slotted(*){top:0;opacity:1}.duet-slideout-panel{position:relative;height:100%}.duet-slideout-panel .link{position:relative;display:flex;gap:20px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1.5rem;font-weight:800;line-height:1.25;color:rgb(0, 41, 77);text-align:left;text-decoration:none;cursor:pointer}.duet-slideout-panel .link .label{display:flex;gap:0.5rem;align-items:center;justify-content:space-between;width:100%}.duet-slideout-panel .link .label-text.small{font-size:1rem;font-weight:600}.duet-slideout-panel .link .label-text.medium{font-size:1.25rem;font-weight:600}.duet-slideout-panel .link .label-text.large{font-size:1.5rem;font-weight:800}.duet-slideout-panel .link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-slideout-panel .link.active .label-text{position:relative}.duet-slideout-panel .link.active .label-text.small::after{height:1px;transform:translateY(1px)}.duet-slideout-panel .link.active .label-text::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:2px;content:\"\";background:rgb(0, 119, 179);transform:translateY(2px)}.duet-slideout-panel .dialog{position:fixed;top:0;left:0;z-index:600;width:100%;height:100%;overflow-y:auto;visibility:visible}.duet-slideout-panel .dialog.hidden{visibility:hidden}.duet-slideout-panel .dialog.hidden .top .back,.duet-slideout-panel .dialog.hidden .top span{opacity:0}.duet-slideout-panel .top-container.has-sticky-header-slot{position:sticky;top:0;z-index:200}.duet-slideout-panel .top-container.has-sticky-header-slot .top{background:rgb(243, 249, 252)}.duet-slideout-panel .top-container.has-sticky-header-slot .sticky-header{display:block;padding:0 16px}.duet-slideout-panel .top{display:flex;align-items:center;justify-content:space-between;padding:4px}.duet-slideout-panel .top .back{opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .top .back:focus,.duet-slideout-panel .top .close:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-slideout-panel .top duet-icon{padding:16px}.duet-slideout-panel .top span{font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:rgb(0, 41, 77);opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .sticky-header{display:none;width:100%;padding:0 1.5rem;margin-bottom:20px;background:rgb(243, 249, 252);border-bottom:1px solid rgb(225, 227, 230)}.duet-slideout-panel .items{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:1rem 16px;overflow-y:auto;color:rgb(0, 41, 77)}.duet-slideout-panel.duet-theme-turva .link{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-slideout-panel.duet-theme-turva .link:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-slideout-panel.duet-theme-turva .link.active .label-text::after{background:rgb(198, 12, 48)}.duet-slideout-panel.duet-theme-turva .has-sticky-header-slot .top{background:rgb(245, 245, 247)}.duet-slideout-panel.duet-theme-turva .has-sticky-header-slot .sticky-header{background:rgb(245, 245, 247);border-bottom:1px solid rgb(228, 228, 230)}.duet-slideout-panel.duet-theme-turva .top .back:focus,.duet-slideout-panel.duet-theme-turva .top .close:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-slideout-panel.duet-theme-turva .top span{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}slot:not([name=label]){--active-height:1px;--active-translate-y:translateY(1px);font-size:1rem;font-weight:600;color:rgb(0, 41, 77)}.duet-theme-turva slot:not([name=label]){color:rgb(23, 28, 58)}";
17
18
 
18
19
  const DuetSlideoutPanel = class {
19
20
  constructor(hostRef) {
@@ -28,6 +29,7 @@ const DuetSlideoutPanel = class {
28
29
  fi: "Takaisin päävalikkoon",
29
30
  sv: "Tillbaka till huvudmenyn",
30
31
  };
32
+ this.hasStickyHeaderSlot = false;
31
33
  this.updateLabel = () => {
32
34
  const labelSlotElement = this.element.querySelector("[slot='label']");
33
35
  this.label = labelSlotElement;
@@ -79,6 +81,7 @@ const DuetSlideoutPanel = class {
79
81
  componentWillLoad() {
80
82
  themeableComponent.inheritGlobalTheme(this);
81
83
  this.updateLabel();
84
+ this.hasStickyHeaderSlot = slotUtils.hasSlot(this.element, "sticky-header");
82
85
  }
83
86
  connectedCallback() {
84
87
  languageUtils.connectLanguageChangeObserver(this);
@@ -123,12 +126,12 @@ const DuetSlideoutPanel = class {
123
126
  } }, index.h("button", { ref: element => (this.openButton = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", id: "button", type: "button", class: {
124
127
  link: true,
125
128
  active: this.active,
126
- }, onClick: this.onToggleClick, inert: this.open }, this.icon && index.h("duet-icon", { name: this.icon, size: "medium", margin: "none", color: "secondary" }), index.h("div", { class: "label" }, index.h("span", { class: { "label-text": true, [this.labelSize]: true } }, index.h("slot", { name: "label" })), index.h("duet-icon", { class: "caret", name: "action-arrow-right", margin: "none", size: "x-small", color: "secondary" }))), index.h("div", { class: {
129
+ }, onClick: this.onToggleClick, inert: this.open }, this.icon && index.h("duet-icon", { name: this.icon, size: "medium", margin: "none", color: "secondary" }), index.h("span", { class: "label" }, index.h("span", { class: { "label-text": true, [this.labelSize]: true } }, index.h("slot", { name: "label" })), index.h("duet-icon", { class: "caret", name: "action-arrow-right", margin: "none", size: "x-small", color: "secondary" }))), index.h("div", { class: {
127
130
  dialog: true,
128
131
  hidden: !this.open,
129
- }, style: styles }, index.h(focusUtils.FocusGuard, { moveFocusTo: this.closeButton }), index.h("div", { class: "top" }, index.h("button", { ref: element => (this.closeButton = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-label": `${backTranslation}`, type: "button", class: {
132
+ }, style: styles }, index.h(focusUtils.FocusGuard, { moveFocusTo: this.closeButton }), index.h("div", { class: { "top-container": true, "has-sticky-header-slot": this.hasStickyHeaderSlot } }, index.h("div", { class: "top" }, index.h("button", { ref: element => (this.closeButton = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-label": `${backTranslation}`, type: "button", class: {
130
133
  back: true,
131
- }, onClick: this.onToggleClick }, index.h("duet-icon", { class: "caret", name: "action-arrow-left", margin: "none", size: "small", color: "secondary" })), index.h("span", null, this.label.innerHTML), index.h("button", { class: "close", type: "button", onClick: this.onCloseClick, "aria-label": `${exitTranslation}` }, index.h("duet-icon", { name: "navigation-close", size: "small", margin: "none", color: "secondary" }))), index.h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
134
+ }, onClick: this.onToggleClick }, index.h("duet-icon", { class: "caret", name: "action-arrow-left", margin: "none", size: "small", color: "secondary" })), index.h("span", null, this.label.innerHTML), index.h("button", { class: "close", type: "button", onClick: this.onCloseClick, "aria-label": `${exitTranslation}` }, index.h("duet-icon", { name: "navigation-close", size: "small", margin: "none", color: "secondary" }))), index.h("div", { class: "sticky-header" }, index.h("slot", { name: "sticky-header" }))), index.h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
132
135
  items: true,
133
136
  } }, index.h("slot", null)), index.h(focusUtils.FocusGuard, { moveFocusTo: this.closeButton })))));
134
137
  }