@duetds/components 8.3.0 → 8.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (681) hide show
  1. package/hydrate/index.js +352 -103
  2. package/lib/cjs/duet-action-button.cjs.entry.js +2 -2
  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 +7 -6
  6. package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -2
  7. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  8. package/lib/cjs/duet-button_2.cjs.entry.js +2 -2
  9. package/lib/cjs/duet-callout.cjs.entry.js +5 -4
  10. package/lib/cjs/duet-caption_4.cjs.entry.js +4 -5
  11. package/lib/cjs/duet-card.cjs.entry.js +5 -4
  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 +6 -5
  21. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  22. package/lib/cjs/duet-editable-table_3.cjs.entry.js +2 -2
  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 +1 -1
  31. package/lib/cjs/duet-input_2.cjs.entry.js +5 -4
  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 +2 -2
  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 +3 -3
  37. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +88 -0
  38. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +2 -2
  39. package/lib/cjs/duet-menu-bar.cjs.entry.js +2 -15
  40. package/lib/cjs/duet-modal.cjs.entry.js +6 -6
  41. package/lib/cjs/duet-multiselect.cjs.entry.js +5 -4
  42. package/lib/cjs/duet-nav.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-notification_2.cjs.entry.js +2 -2
  44. package/lib/cjs/duet-number-input.cjs.entry.js +5 -4
  45. package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
  46. package/lib/cjs/duet-pagination_2.cjs.entry.js +2 -2
  47. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +3 -2
  48. package/lib/cjs/duet-popup-menu.cjs.entry.js +85 -22
  49. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  50. package/lib/cjs/duet-promo-card.cjs.entry.js +14 -9
  51. package/lib/cjs/duet-radio_2.cjs.entry.js +4 -3
  52. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  53. package/lib/cjs/duet-scrollable_3.cjs.entry.js +2 -2
  54. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  55. package/lib/cjs/duet-select.cjs.entry.js +4 -3
  56. package/lib/cjs/duet-shaped-image.cjs.entry.js +1 -1
  57. package/lib/cjs/duet-show-more.cjs.entry.js +2 -2
  58. package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
  59. package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
  60. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
  61. package/lib/cjs/duet-slideout-panel.cjs.entry.js +4 -4
  62. package/lib/cjs/duet-slideout.cjs.entry.js +6 -6
  63. package/lib/cjs/duet-step_2.cjs.entry.js +2 -2
  64. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +2 -2
  65. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +2 -2
  66. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +2 -2
  67. package/lib/cjs/duet-submenu-bar.cjs.entry.js +2 -2
  68. package/lib/cjs/duet-textarea.cjs.entry.js +4 -3
  69. package/lib/cjs/duet-toggle.cjs.entry.js +2 -2
  70. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +3 -3
  71. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +3 -3
  72. package/lib/cjs/duet-toolbar-item.cjs.entry.js +59 -0
  73. package/lib/cjs/duet-toolbar-link.cjs.entry.js +2 -2
  74. package/lib/cjs/duet-toolbar.cjs.entry.js +2 -15
  75. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +3 -3
  76. package/lib/cjs/duet-tooltip.cjs.entry.js +3 -3
  77. package/lib/cjs/duet-tray.cjs.entry.js +2 -2
  78. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  79. package/lib/cjs/duet-upload-item.cjs.entry.js +1 -1
  80. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  81. package/lib/cjs/duet.cjs.js +2 -2
  82. package/lib/cjs/{focus-utils-da780025.js → focus-utils-26803c28.js} +1 -1
  83. package/lib/cjs/{index-34b8e765.js → index-4e1fe95e.js} +1 -1
  84. package/lib/cjs/{keyboard-utils-66010749.js → keyboard-utils-66ecb5d6.js} +4 -2
  85. package/lib/cjs/loader.cjs.js +2 -2
  86. package/lib/cjs/slot-utils-0b8037ab.js +51 -0
  87. package/lib/collection/collection-manifest.json +2 -0
  88. package/lib/collection/common/index.js +0 -1
  89. package/lib/collection/components/duet-banner/duet-banner.js +6 -5
  90. package/lib/collection/components/duet-button/duet-button.css +25 -0
  91. package/lib/collection/components/duet-callout/duet-callout.js +4 -3
  92. package/lib/collection/components/duet-card/duet-card.js +4 -3
  93. package/lib/collection/components/duet-choice/duet-choice.js +2 -1
  94. package/lib/collection/components/duet-choice-group/duet-choice-group.js +3 -2
  95. package/lib/collection/components/duet-collapsible/duet-collapsible.js +2 -1
  96. package/lib/collection/components/duet-date-picker/date-picker-input.js +1 -2
  97. package/lib/collection/components/duet-date-picker/duet-date-picker.css +2 -2
  98. package/lib/collection/components/duet-date-picker/duet-date-picker.js +2 -0
  99. package/lib/collection/components/duet-fieldset/duet-fieldset.js +1 -1
  100. package/lib/collection/components/duet-hero/duet-hero.a11y.e2e.js +4 -4
  101. package/lib/collection/components/duet-hero/duet-hero.js +8 -5
  102. package/lib/collection/components/duet-input/duet-input.js +3 -2
  103. package/lib/collection/components/duet-link/duet-link.js +3 -4
  104. package/lib/collection/components/duet-list/duet-list.js +1 -1
  105. package/lib/collection/components/duet-menu-bar/duet-menu-bar.a11y.e2e.js +45 -9
  106. package/lib/collection/components/duet-menu-bar/duet-menu-bar.css +1 -0
  107. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +0 -13
  108. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +1 -1
  109. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +1 -1
  110. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.css +103 -0
  111. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +286 -0
  112. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +1 -1
  113. package/lib/collection/components/duet-modal/duet-modal.css +2 -2
  114. package/lib/collection/components/duet-modal/duet-modal.js +2 -1
  115. package/lib/collection/components/duet-multiselect/duet-multiselect.js +3 -2
  116. package/lib/collection/components/duet-number-input/duet-number-input.js +3 -2
  117. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +95 -25
  118. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +20 -1
  119. package/lib/collection/components/duet-promo-card/duet-promo-card.css +10 -0
  120. package/lib/collection/components/duet-promo-card/duet-promo-card.js +13 -8
  121. package/lib/collection/components/duet-radio-group/duet-radio-group.js +3 -2
  122. package/lib/collection/components/duet-select/duet-select.js +3 -2
  123. package/lib/collection/components/duet-slideout/duet-slideout.css +3 -3
  124. package/lib/collection/components/duet-slideout/duet-slideout.js +1 -1
  125. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +1 -1
  126. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.css +3 -2
  127. package/lib/collection/components/duet-textarea/duet-textarea.js +3 -2
  128. package/lib/collection/components/duet-toolbar/duet-toolbar.a11y.e2e.js +65 -14
  129. package/lib/collection/components/duet-toolbar/duet-toolbar.css +1 -0
  130. package/lib/collection/components/duet-toolbar/duet-toolbar.js +0 -13
  131. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +1 -1
  132. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +1 -1
  133. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.css +122 -0
  134. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +270 -0
  135. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +1 -1
  136. package/lib/collection/components/duet-tooltip/duet-tooltip.js +1 -1
  137. package/lib/collection/utils/keyboard-utils.js +4 -2
  138. package/lib/collection/utils/slot-utils.js +42 -11
  139. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  140. package/lib/dist-custom-elements/duet-alert.js +1 -1
  141. package/lib/dist-custom-elements/duet-badge.js +1 -1
  142. package/lib/dist-custom-elements/duet-banner.js +9 -8
  143. package/lib/dist-custom-elements/duet-breadcrumb.js +4 -4
  144. package/lib/dist-custom-elements/duet-breadcrumbs.js +1 -1
  145. package/lib/dist-custom-elements/duet-button.js +1 -1
  146. package/lib/dist-custom-elements/duet-callout.js +6 -5
  147. package/lib/dist-custom-elements/duet-caption.js +1 -1
  148. package/lib/dist-custom-elements/duet-card.js +7 -6
  149. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  150. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  151. package/lib/dist-custom-elements/duet-chip.js +3 -3
  152. package/lib/dist-custom-elements/duet-choice-group.js +11 -10
  153. package/lib/dist-custom-elements/duet-choice.js +7 -7
  154. package/lib/dist-custom-elements/duet-collapsible.js +4 -4
  155. package/lib/dist-custom-elements/duet-combobox.js +3 -3
  156. package/lib/dist-custom-elements/duet-contact-card.js +8 -8
  157. package/lib/dist-custom-elements/duet-cookie-consent.js +7 -7
  158. package/lib/dist-custom-elements/duet-date-picker.js +16 -15
  159. package/lib/dist-custom-elements/duet-divider.js +1 -1
  160. package/lib/dist-custom-elements/duet-editable-table.js +8 -8
  161. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  162. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  163. package/lib/dist-custom-elements/duet-file-chooser.js +2 -2
  164. package/lib/dist-custom-elements/duet-footer.js +5 -5
  165. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  166. package/lib/dist-custom-elements/duet-grid.js +1 -1
  167. package/lib/dist-custom-elements/duet-header.js +9 -9
  168. package/lib/dist-custom-elements/duet-heading.js +1 -1
  169. package/lib/dist-custom-elements/duet-hero.js +17 -14
  170. package/lib/dist-custom-elements/duet-icon.js +1 -1
  171. package/lib/dist-custom-elements/duet-input.js +1 -1
  172. package/lib/dist-custom-elements/duet-label.js +1 -1
  173. package/lib/dist-custom-elements/duet-layout.js +1 -1
  174. package/lib/dist-custom-elements/duet-link.js +1 -1
  175. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  176. package/lib/dist-custom-elements/duet-list.js +1 -1
  177. package/lib/dist-custom-elements/duet-logo.js +1 -1
  178. package/lib/dist-custom-elements/duet-menu-bar-button.js +3 -3
  179. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +3 -3
  180. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +4 -4
  181. package/lib/dist-custom-elements/duet-menu-bar-item.d.ts +11 -0
  182. package/lib/dist-custom-elements/duet-menu-bar-item.js +119 -0
  183. package/lib/dist-custom-elements/duet-menu-bar-link.js +3 -3
  184. package/lib/dist-custom-elements/duet-menu-bar.js +3 -16
  185. package/lib/dist-custom-elements/duet-modal.js +10 -10
  186. package/lib/dist-custom-elements/duet-multiselect.js +13 -12
  187. package/lib/dist-custom-elements/duet-nav.js +1 -1
  188. package/lib/dist-custom-elements/duet-notification-drawer.js +5 -5
  189. package/lib/dist-custom-elements/duet-notification.js +3 -3
  190. package/lib/dist-custom-elements/duet-number-input.js +15 -14
  191. package/lib/dist-custom-elements/duet-page-heading.js +2 -2
  192. package/lib/dist-custom-elements/duet-pagination.js +14 -14
  193. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  194. package/lib/dist-custom-elements/duet-popup-menu-item.js +5 -3
  195. package/lib/dist-custom-elements/duet-popup-menu.js +90 -24
  196. package/lib/dist-custom-elements/duet-progress.js +1 -1
  197. package/lib/dist-custom-elements/duet-promo-card.js +16 -11
  198. package/lib/dist-custom-elements/duet-radio-group.js +11 -10
  199. package/lib/dist-custom-elements/duet-radio.js +1 -1
  200. package/lib/dist-custom-elements/duet-range-slider.js +3 -3
  201. package/lib/dist-custom-elements/duet-range-stepper.js +5 -5
  202. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  203. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  204. package/lib/dist-custom-elements/duet-select.js +1 -1
  205. package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
  206. package/lib/dist-custom-elements/duet-show-more.js +6 -6
  207. package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
  208. package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
  209. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
  210. package/lib/dist-custom-elements/duet-slideout-panel.js +3 -3
  211. package/lib/dist-custom-elements/duet-slideout.js +5 -5
  212. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  213. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  214. package/lib/dist-custom-elements/duet-step.js +5 -5
  215. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  216. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +3 -3
  217. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +3 -3
  218. package/lib/dist-custom-elements/duet-submenu-bar-link.js +3 -3
  219. package/lib/dist-custom-elements/duet-submenu-bar.js +3 -3
  220. package/lib/dist-custom-elements/duet-tab-group.js +14 -14
  221. package/lib/dist-custom-elements/duet-tab.js +2 -2
  222. package/lib/dist-custom-elements/duet-table.js +1 -1
  223. package/lib/dist-custom-elements/duet-textarea.js +13 -12
  224. package/lib/dist-custom-elements/duet-toggle.js +3 -3
  225. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +4 -4
  226. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +4 -4
  227. package/lib/dist-custom-elements/duet-toolbar-item.d.ts +11 -0
  228. package/lib/dist-custom-elements/duet-toolbar-item.js +90 -0
  229. package/lib/dist-custom-elements/duet-toolbar-link.js +3 -3
  230. package/lib/dist-custom-elements/duet-toolbar.js +2 -15
  231. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  232. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  233. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  234. package/lib/dist-custom-elements/duet-tray.js +4 -4
  235. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  236. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  237. package/lib/dist-custom-elements/duet-upload.js +18 -18
  238. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  239. package/lib/dist-custom-elements/index.js +1 -1
  240. package/lib/dist-custom-elements/{p-363d74c3.js → p-04647f60.js} +4 -4
  241. package/lib/dist-custom-elements/{p-afe568e9.js → p-0b90bbc2.js} +1 -1
  242. package/lib/dist-custom-elements/{p-73904865.js → p-0e584f41.js} +1 -1
  243. package/lib/dist-custom-elements/{p-b24c3dc4.js → p-1166a31e.js} +3 -3
  244. package/lib/dist-custom-elements/{p-8cd82767.js → p-148fdc67.js} +1 -1
  245. package/lib/dist-custom-elements/{p-e3d866c6.js → p-231e248d.js} +5 -5
  246. package/lib/dist-custom-elements/{p-ac4ee6ea.js → p-42a1b569.js} +2 -2
  247. package/lib/dist-custom-elements/{p-2718851e.js → p-42f3ff36.js} +1 -1
  248. package/lib/dist-custom-elements/{p-cf2212cc.js → p-440669fe.js} +14 -13
  249. package/lib/dist-custom-elements/{p-0233383b.js → p-54a40cbc.js} +1 -1
  250. package/lib/dist-custom-elements/{p-10c1d640.js → p-55dc7e3a.js} +1 -1
  251. package/lib/dist-custom-elements/{p-34fe2adb.js → p-581c0a5a.js} +1 -1
  252. package/lib/dist-custom-elements/{p-2c44fafc.js → p-5b7820b5.js} +1 -1
  253. package/lib/dist-custom-elements/{p-5b8774b6.js → p-604f5020.js} +6 -6
  254. package/lib/dist-custom-elements/{p-a13cbd71.js → p-6cb11f93.js} +1 -1
  255. package/lib/dist-custom-elements/p-796edee6.js +48 -0
  256. package/lib/dist-custom-elements/{p-60dcae4f.js → p-7cf48950.js} +1 -1
  257. package/lib/dist-custom-elements/{p-d27e5b0d.js → p-8356d992.js} +2 -2
  258. package/lib/dist-custom-elements/{p-5df55152.js → p-85712a7c.js} +1 -1
  259. package/lib/dist-custom-elements/{p-7183d0e7.js → p-88394bab.js} +10 -10
  260. package/lib/dist-custom-elements/{p-c7e3638d.js → p-88ce5a27.js} +1 -1
  261. package/lib/dist-custom-elements/{p-98ca74e0.js → p-9448a82f.js} +1 -1
  262. package/lib/dist-custom-elements/{p-0d6e1f1b.js → p-9c0ce616.js} +1 -1
  263. package/lib/dist-custom-elements/{p-41c5df58.js → p-a3651df3.js} +2 -2
  264. package/lib/dist-custom-elements/{p-7c44c302.js → p-b68755bb.js} +1 -1
  265. package/lib/dist-custom-elements/{p-997c1c72.js → p-b9f613f5.js} +1 -1
  266. package/lib/dist-custom-elements/{p-55634a0b.js → p-bec3a15c.js} +4 -2
  267. package/lib/dist-custom-elements/{p-8a5c7cdf.js → p-d07c620c.js} +5 -5
  268. package/lib/dist-custom-elements/{p-42da65d1.js → p-d2dafb20.js} +5 -6
  269. package/lib/dist-custom-elements/{p-b443af91.js → p-dd175a82.js} +11 -10
  270. package/lib/dist-custom-elements/{p-e445c96b.js → p-de066189.js} +1 -1
  271. package/lib/dist-custom-elements/{p-a73804b7.js → p-e278477e.js} +1 -1
  272. package/lib/dist-custom-elements/{p-2bc31f8b.js → p-e47bf090.js} +1 -1
  273. package/lib/dist-custom-elements/{p-96a8a294.js → p-f38ed7fe.js} +4 -4
  274. package/lib/dist-custom-elements/{p-5ccb7f41.js → p-fc352257.js} +7 -7
  275. package/lib/dist-custom-elements/{p-3bcad21a.js → p-ffe65adf.js} +3 -3
  276. package/lib/duet/duet.esm.js +1 -1
  277. package/lib/duet/duet.js +1 -1
  278. package/lib/duet/{p-505375e1.system.entry.js → p-05b8ae17.system.entry.js} +1 -1
  279. package/lib/duet/{p-dcaed1b0.entry.js → p-072607fd.entry.js} +1 -1
  280. package/lib/duet/{p-58a8254d.entry.js → p-077c7ac7.entry.js} +1 -1
  281. package/lib/duet/p-090ae709.entry.js +4 -0
  282. package/lib/duet/{p-19fc4ff9.system.entry.js → p-0c8ef637.system.entry.js} +1 -1
  283. package/lib/duet/{p-77b95466.system.entry.js → p-0c98eb74.system.entry.js} +1 -1
  284. package/lib/duet/p-0d452219.entry.js +4 -0
  285. package/lib/duet/{p-65dcf9ed.entry.js → p-0f80c628.entry.js} +1 -1
  286. package/lib/duet/{p-56be87c9.system.entry.js → p-1099ef42.system.entry.js} +1 -1
  287. package/lib/duet/{p-3ddc5b9d.entry.js → p-113ad39d.entry.js} +1 -1
  288. package/lib/duet/p-13bdce94.entry.js +4 -0
  289. package/lib/duet/{p-8a2f8d7d.entry.js → p-154f1517.entry.js} +1 -1
  290. package/lib/duet/{p-33771b10.system.entry.js → p-1c5a34ec.system.entry.js} +1 -1
  291. package/lib/duet/{p-1d91fb5d.entry.js → p-1ce475d7.entry.js} +1 -1
  292. package/lib/duet/{p-193fcf1c.system.entry.js → p-1d032bb3.system.entry.js} +1 -1
  293. package/lib/duet/{p-85e98030.entry.js → p-1e55dfa3.entry.js} +1 -1
  294. package/lib/duet/p-246f8836.system.entry.js +4 -0
  295. package/lib/duet/{p-97cf5b01.system.entry.js → p-265aaa8b.system.entry.js} +1 -1
  296. package/lib/duet/{p-b507f27d.system.entry.js → p-26859589.system.entry.js} +1 -1
  297. package/lib/duet/p-26c2008d.entry.js +4 -0
  298. package/lib/duet/{p-ffdb9d3f.system.entry.js → p-276fac2f.system.entry.js} +1 -1
  299. package/lib/duet/p-280e0b55.entry.js +4 -0
  300. package/lib/duet/{p-f801f2a7.entry.js → p-288ba4f9.entry.js} +1 -1
  301. package/lib/duet/{p-4ca1be7a.system.entry.js → p-2a29c6d5.system.entry.js} +1 -1
  302. package/lib/duet/{p-b9140794.entry.js → p-2b5c578e.entry.js} +1 -1
  303. package/lib/duet/{p-d7f9ea61.system.entry.js → p-2d4cd88c.system.entry.js} +1 -1
  304. package/lib/duet/{p-7083fb38.system.entry.js → p-30174f82.system.entry.js} +1 -1
  305. package/lib/duet/p-322b427c.system.entry.js +4 -0
  306. package/lib/duet/{p-9d841e0f.entry.js → p-33ba6560.entry.js} +1 -1
  307. package/lib/duet/p-3624bad1.js +4 -0
  308. package/lib/duet/{p-8c08f362.system.entry.js → p-36ca4962.system.entry.js} +1 -1
  309. package/lib/duet/{p-3ac0c888.system.entry.js → p-3706d57f.system.entry.js} +1 -1
  310. package/lib/duet/{p-573ce757.system.entry.js → p-378c88b0.system.entry.js} +1 -1
  311. package/lib/duet/{p-27485e15.system.entry.js → p-3790d9c6.system.entry.js} +1 -1
  312. package/lib/duet/{p-a3b8bb87.entry.js → p-37b390b1.entry.js} +1 -1
  313. package/lib/duet/p-3a2f42cc.entry.js +4 -0
  314. package/lib/duet/{p-5c42b7f0.system.entry.js → p-3b7af0aa.system.entry.js} +1 -1
  315. package/lib/duet/p-3ffede1b.entry.js +4 -0
  316. package/lib/duet/{p-90847ed0.system.entry.js → p-423cc443.system.entry.js} +2 -2
  317. package/lib/duet/{p-05cfffb1.entry.js → p-42f7208c.entry.js} +1 -1
  318. package/lib/duet/p-4594fdfc.system.entry.js +4 -0
  319. package/lib/duet/{p-c03920c0.entry.js → p-4646de9d.entry.js} +1 -1
  320. package/lib/duet/{p-e0db152c.system.entry.js → p-468606ef.system.entry.js} +1 -1
  321. package/lib/duet/{p-0296a34a.system.entry.js → p-46980318.system.entry.js} +1 -1
  322. package/lib/duet/{p-85c6a112.entry.js → p-46c368b6.entry.js} +1 -1
  323. package/lib/duet/{p-34b96e8d.system.entry.js → p-48d5fd63.system.entry.js} +1 -1
  324. package/lib/duet/{p-e79d2de2.system.entry.js → p-497fbe6f.system.entry.js} +1 -1
  325. package/lib/duet/{p-777fbef3.entry.js → p-4a69a574.entry.js} +1 -1
  326. package/lib/duet/p-4c2964ba.system.entry.js +4 -0
  327. package/lib/duet/p-4c40ab32.entry.js +4 -0
  328. package/lib/duet/{p-1953edbe.entry.js → p-4c99d4e4.entry.js} +1 -1
  329. package/lib/duet/{p-ba89aaf0.entry.js → p-4ddb4401.entry.js} +1 -1
  330. package/lib/duet/{p-82cd0795.entry.js → p-52aefd49.entry.js} +1 -1
  331. package/lib/duet/{p-25e0cbc3.entry.js → p-55f4b594.entry.js} +1 -1
  332. package/lib/duet/p-560b0225.system.entry.js +4 -0
  333. package/lib/duet/{p-fefcaeb4.entry.js → p-5969cc96.entry.js} +1 -1
  334. package/lib/duet/p-5a07838a.system.entry.js +4 -0
  335. package/lib/duet/{p-0abf8fe1.system.entry.js → p-5f6619db.system.entry.js} +1 -1
  336. package/lib/duet/{p-5bf6660a.entry.js → p-60cc4982.entry.js} +1 -1
  337. package/lib/duet/{p-d8144268.system.entry.js → p-613ca231.system.entry.js} +1 -1
  338. package/lib/duet/{p-2eb5153f.system.entry.js → p-62b76a24.system.entry.js} +1 -1
  339. package/lib/duet/{p-f43327c2.system.entry.js → p-65a1a167.system.entry.js} +1 -1
  340. package/lib/duet/{p-618cc2c7.system.entry.js → p-65bd8411.system.entry.js} +1 -1
  341. package/lib/duet/{p-cff7873f.entry.js → p-67a6cdda.entry.js} +1 -1
  342. package/lib/duet/{p-6626a173.entry.js → p-69d93a05.entry.js} +1 -1
  343. package/lib/duet/{p-e27a4bf4.system.entry.js → p-6bad4da4.system.entry.js} +1 -1
  344. package/lib/duet/{p-b263e985.js → p-6c4b49d5.js} +1 -1
  345. package/lib/duet/p-6db50eea.entry.js +4 -0
  346. package/lib/duet/{p-9ba3d633.entry.js → p-6ed83596.entry.js} +1 -1
  347. package/lib/duet/{p-fe79a10c.system.entry.js → p-7066a413.system.entry.js} +1 -1
  348. package/lib/duet/{p-d7175aea.entry.js → p-72bedacd.entry.js} +1 -1
  349. package/lib/duet/{p-87112f7c.system.entry.js → p-7436bd48.system.entry.js} +1 -1
  350. package/lib/duet/p-74f8da81.entry.js +4 -0
  351. package/lib/duet/p-75350b07.entry.js +4 -0
  352. package/lib/duet/{p-e3c31f72.system.entry.js → p-75503668.system.entry.js} +1 -1
  353. package/lib/duet/{p-e72a7aa6.system.entry.js → p-75f81010.system.entry.js} +1 -1
  354. package/lib/duet/{p-769b7d3c.system.js → p-76b3dfea.system.js} +1 -1
  355. package/lib/duet/{p-c16515e0.entry.js → p-76f3d250.entry.js} +1 -1
  356. package/lib/duet/{p-fa6061c9.entry.js → p-7792b370.entry.js} +1 -1
  357. package/lib/duet/p-796edee6.js +4 -0
  358. package/lib/duet/{p-71568bfa.entry.js → p-79b1232f.entry.js} +1 -1
  359. package/lib/duet/p-7a0523f1.entry.js +4 -0
  360. package/lib/duet/p-7c6d5f9c.system.js +4 -0
  361. package/lib/duet/p-8678ad49.system.js +4 -0
  362. package/lib/duet/{p-c9221359.system.entry.js → p-8b0053b4.system.entry.js} +1 -1
  363. package/lib/duet/p-8b01d018.entry.js +4 -0
  364. package/lib/duet/p-8b310c25.system.entry.js +4 -0
  365. package/lib/duet/{p-53e192de.system.entry.js → p-8b621333.system.entry.js} +1 -1
  366. package/lib/duet/{p-310fd85a.system.entry.js → p-8c340908.system.entry.js} +1 -1
  367. package/lib/duet/p-8cdbf7c7.system.entry.js +4 -0
  368. package/lib/duet/p-8da5c103.entry.js +4 -0
  369. package/lib/duet/{p-11be6924.system.entry.js → p-900abeb7.system.entry.js} +1 -1
  370. package/lib/duet/{p-604aab16.system.entry.js → p-913b9c68.system.entry.js} +1 -1
  371. package/lib/duet/p-91d750ad.system.js +4 -0
  372. package/lib/duet/{p-b9c1d172.entry.js → p-93950a7f.entry.js} +1 -1
  373. package/lib/duet/{p-39730ce5.entry.js → p-94e0fba1.entry.js} +1 -1
  374. package/lib/duet/{p-004f5593.system.entry.js → p-96c1789d.system.entry.js} +1 -1
  375. package/lib/duet/{p-c8466623.system.entry.js → p-97af661b.system.entry.js} +1 -1
  376. package/lib/duet/p-991f9b2e.entry.js +4 -0
  377. package/lib/duet/{p-079710fa.system.entry.js → p-994d95e9.system.entry.js} +1 -1
  378. package/lib/duet/{p-f1843c31.entry.js → p-99eb5647.entry.js} +1 -1
  379. package/lib/duet/p-9a1f8af3.entry.js +4 -0
  380. package/lib/duet/{p-d3aed7d8.system.entry.js → p-9cdf78b3.system.entry.js} +1 -1
  381. package/lib/duet/{p-ccb58dd2.entry.js → p-9ce07f50.entry.js} +1 -1
  382. package/lib/duet/{p-5d74e505.entry.js → p-a09d3878.entry.js} +1 -1
  383. package/lib/duet/{p-690d8509.system.entry.js → p-a15bdee3.system.entry.js} +1 -1
  384. package/lib/duet/{p-0322bace.entry.js → p-a1db3600.entry.js} +1 -1
  385. package/lib/duet/{p-73f87dff.system.entry.js → p-a43ad34f.system.entry.js} +1 -1
  386. package/lib/duet/{p-a9a0f040.system.entry.js → p-a50e095d.system.entry.js} +1 -1
  387. package/lib/duet/{p-859754bb.entry.js → p-a88d7e91.entry.js} +1 -1
  388. package/lib/duet/{p-2054dad2.entry.js → p-a8935106.entry.js} +1 -1
  389. package/lib/duet/{p-8726889d.system.entry.js → p-a8c96cc0.system.entry.js} +1 -1
  390. package/lib/duet/{p-213dab77.entry.js → p-aa14230b.entry.js} +1 -1
  391. package/lib/duet/{p-2f22f4cc.system.entry.js → p-aa840586.system.entry.js} +1 -1
  392. package/lib/duet/p-ad6388ce.entry.js +4 -0
  393. package/lib/duet/p-b01e1f6c.system.entry.js +4 -0
  394. package/lib/duet/{p-09c54c8e.system.js → p-b2716337.system.js} +1 -1
  395. package/lib/duet/{p-fbbfcc2d.system.entry.js → p-b2df2bb9.system.entry.js} +1 -1
  396. package/lib/duet/{p-98a822e3.entry.js → p-b3af96a8.entry.js} +1 -1
  397. package/lib/duet/{p-a01d2fdb.entry.js → p-b49d10f6.entry.js} +1 -1
  398. package/lib/duet/{p-e7b6657c.system.entry.js → p-b4e730ac.system.entry.js} +1 -1
  399. package/lib/duet/{p-294b9ccf.system.entry.js → p-b57e1bac.system.entry.js} +1 -1
  400. package/lib/duet/{p-45e26ba0.system.entry.js → p-b5f5d7ce.system.entry.js} +1 -1
  401. package/lib/duet/{p-5add7da0.entry.js → p-b7b4b33c.entry.js} +1 -1
  402. package/lib/duet/{p-7479da8d.system.entry.js → p-b85c4e9e.system.entry.js} +1 -1
  403. package/lib/duet/{p-52a756fe.entry.js → p-ba015d7a.entry.js} +1 -1
  404. package/lib/duet/p-bb640b45.entry.js +4 -0
  405. package/lib/duet/{p-82bef678.system.entry.js → p-bc8c2990.system.entry.js} +1 -1
  406. package/lib/duet/{p-4a4317af.system.entry.js → p-be8e8efc.system.entry.js} +1 -1
  407. package/lib/duet/{p-15c9c4cb.entry.js → p-c19ce026.entry.js} +1 -1
  408. package/lib/duet/{p-7fd03652.system.entry.js → p-c28e4280.system.entry.js} +1 -1
  409. package/lib/duet/{p-fdeb4f7d.entry.js → p-c383e8d6.entry.js} +1 -1
  410. package/lib/duet/{p-0d0867ae.entry.js → p-c899df04.entry.js} +1 -1
  411. package/lib/duet/{p-b2ccffd1.system.entry.js → p-c900f541.system.entry.js} +1 -1
  412. package/lib/duet/p-caa48d36.system.entry.js +4 -0
  413. package/lib/duet/{p-9e8772d1.entry.js → p-cd8fc9f7.entry.js} +1 -1
  414. package/lib/duet/{p-447943eb.entry.js → p-cd9619e3.entry.js} +1 -1
  415. package/lib/duet/{p-0f35fce0.system.entry.js → p-d047123e.system.entry.js} +1 -1
  416. package/lib/duet/{p-d864a0e3.system.entry.js → p-d257c333.system.entry.js} +1 -1
  417. package/lib/duet/{p-2888bff8.system.entry.js → p-d2cabbed.system.entry.js} +1 -1
  418. package/lib/duet/p-d2d6281b.entry.js +4 -0
  419. package/lib/duet/{p-0c416590.system.entry.js → p-d48ab4d3.system.entry.js} +1 -1
  420. package/lib/duet/p-d56b354c.entry.js +4 -0
  421. package/lib/duet/{p-9bba389f.entry.js → p-d9fd389c.entry.js} +1 -1
  422. package/lib/duet/{p-9686aa88.system.entry.js → p-db29100b.system.entry.js} +1 -1
  423. package/lib/duet/p-dc45b241.entry.js +4 -0
  424. package/lib/duet/p-de46b522.entry.js +4 -0
  425. package/lib/duet/p-de958fe7.system.entry.js +4 -0
  426. package/lib/duet/{p-2e3254e1.system.entry.js → p-e0befaf6.system.entry.js} +1 -1
  427. package/lib/duet/p-e1020f12.system.entry.js +4 -0
  428. package/lib/duet/{p-755f5cf0.system.entry.js → p-e19a12b4.system.entry.js} +1 -1
  429. package/lib/duet/{p-ba92e7b1.system.entry.js → p-e1b947e9.system.entry.js} +1 -1
  430. package/lib/duet/{p-a3351207.entry.js → p-e5c75975.entry.js} +1 -1
  431. package/lib/duet/{p-d84be985.entry.js → p-e632de74.entry.js} +1 -1
  432. package/lib/duet/p-e650b1b7.system.entry.js +4 -0
  433. package/lib/duet/p-e669b52a.entry.js +4 -0
  434. package/lib/duet/p-e6beb82f.entry.js +4 -0
  435. package/lib/duet/p-ea90f7c4.entry.js +4 -0
  436. package/lib/duet/{p-45464aa5.entry.js → p-eaa8473a.entry.js} +1 -1
  437. package/lib/duet/{p-1f6ad797.system.entry.js → p-ed9d957f.system.entry.js} +2 -2
  438. package/lib/duet/{p-560f26a5.entry.js → p-eededb83.entry.js} +1 -1
  439. package/lib/duet/p-f27034be.entry.js +4 -0
  440. package/lib/duet/p-f36f6e98.js +4 -0
  441. package/lib/duet/p-f3a2cd70.entry.js +4 -0
  442. package/lib/duet/p-f4b9871c.system.entry.js +4 -0
  443. package/lib/duet/{p-ca5cd66a.system.entry.js → p-fbede069.system.entry.js} +1 -1
  444. package/lib/duet/p-fd6421e9.entry.js +4 -0
  445. package/lib/esm/duet-action-button.entry.js +2 -2
  446. package/lib/esm/duet-alert.entry.js +2 -2
  447. package/lib/esm/duet-badge.entry.js +1 -1
  448. package/lib/esm/duet-banner.entry.js +7 -6
  449. package/lib/esm/duet-breadcrumb.entry.js +2 -2
  450. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  451. package/lib/esm/duet-button_2.entry.js +2 -2
  452. package/lib/esm/duet-callout.entry.js +5 -4
  453. package/lib/esm/duet-caption_4.entry.js +4 -5
  454. package/lib/esm/duet-card.entry.js +5 -4
  455. package/lib/esm/duet-checkbox.entry.js +1 -1
  456. package/lib/esm/duet-checkmark.entry.js +1 -1
  457. package/lib/esm/duet-chip.entry.js +2 -2
  458. package/lib/esm/duet-choice_2.entry.js +6 -6
  459. package/lib/esm/duet-collapsible.entry.js +3 -3
  460. package/lib/esm/duet-combobox.entry.js +2 -2
  461. package/lib/esm/duet-contact-card.entry.js +1 -1
  462. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  463. package/lib/esm/duet-date-picker.entry.js +6 -5
  464. package/lib/esm/duet-divider_2.entry.js +1 -1
  465. package/lib/esm/duet-editable-table_3.entry.js +2 -2
  466. package/lib/esm/duet-empty-state.entry.js +1 -1
  467. package/lib/esm/duet-fieldset.entry.js +2 -2
  468. package/lib/esm/duet-file-chooser.entry.js +1 -1
  469. package/lib/esm/duet-footer.entry.js +2 -2
  470. package/lib/esm/duet-grid_2.entry.js +1 -1
  471. package/lib/esm/duet-header_2.entry.js +2 -2
  472. package/lib/esm/duet-hero.entry.js +9 -6
  473. package/lib/esm/duet-icon.entry.js +1 -1
  474. package/lib/esm/duet-input_2.entry.js +5 -4
  475. package/lib/esm/duet-layout.entry.js +1 -1
  476. package/lib/esm/duet-list_2.entry.js +1 -1
  477. package/lib/esm/duet-menu-bar-button.entry.js +2 -2
  478. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +2 -2
  479. package/lib/esm/duet-menu-bar-dropdown.entry.js +3 -3
  480. package/lib/esm/duet-menu-bar-item.entry.js +84 -0
  481. package/lib/esm/duet-menu-bar-link.entry.js +2 -2
  482. package/lib/esm/duet-menu-bar.entry.js +2 -15
  483. package/lib/esm/duet-modal.entry.js +5 -5
  484. package/lib/esm/duet-multiselect.entry.js +5 -4
  485. package/lib/esm/duet-nav.entry.js +1 -1
  486. package/lib/esm/duet-notification_2.entry.js +2 -2
  487. package/lib/esm/duet-number-input.entry.js +5 -4
  488. package/lib/esm/duet-page-heading.entry.js +1 -1
  489. package/lib/esm/duet-pagination_2.entry.js +2 -2
  490. package/lib/esm/duet-popup-menu-item.entry.js +3 -2
  491. package/lib/esm/duet-popup-menu.entry.js +85 -22
  492. package/lib/esm/duet-progress.entry.js +1 -1
  493. package/lib/esm/duet-promo-card.entry.js +14 -9
  494. package/lib/esm/duet-radio_2.entry.js +4 -3
  495. package/lib/esm/duet-range-slider.entry.js +2 -2
  496. package/lib/esm/duet-scrollable_3.entry.js +2 -2
  497. package/lib/esm/duet-section-layout.entry.js +1 -1
  498. package/lib/esm/duet-select.entry.js +4 -3
  499. package/lib/esm/duet-shaped-image.entry.js +1 -1
  500. package/lib/esm/duet-show-more.entry.js +2 -2
  501. package/lib/esm/duet-slideout-lang.entry.js +1 -1
  502. package/lib/esm/duet-slideout-link.entry.js +1 -1
  503. package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
  504. package/lib/esm/duet-slideout-panel.entry.js +3 -3
  505. package/lib/esm/duet-slideout.entry.js +5 -5
  506. package/lib/esm/duet-step_2.entry.js +2 -2
  507. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +2 -2
  508. package/lib/esm/duet-submenu-bar-dropdown.entry.js +2 -2
  509. package/lib/esm/duet-submenu-bar-link.entry.js +2 -2
  510. package/lib/esm/duet-submenu-bar.entry.js +2 -2
  511. package/lib/esm/duet-textarea.entry.js +4 -3
  512. package/lib/esm/duet-toggle.entry.js +2 -2
  513. package/lib/esm/duet-toolbar-dropdown-link.entry.js +3 -3
  514. package/lib/esm/duet-toolbar-dropdown.entry.js +3 -3
  515. package/lib/esm/duet-toolbar-item.entry.js +55 -0
  516. package/lib/esm/duet-toolbar-link.entry.js +2 -2
  517. package/lib/esm/duet-toolbar.entry.js +2 -15
  518. package/lib/esm/duet-tooltip-button_2.entry.js +3 -3
  519. package/lib/esm/duet-tooltip.entry.js +3 -3
  520. package/lib/esm/duet-tray.entry.js +2 -2
  521. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  522. package/lib/esm/duet-upload-item.entry.js +1 -1
  523. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  524. package/lib/esm/duet.js +3 -3
  525. package/lib/esm/{focus-utils-a9110b59.js → focus-utils-a15379ec.js} +1 -1
  526. package/lib/esm/{index-ad0e5e61.js → index-2fcdad1e.js} +1 -1
  527. package/lib/esm/{keyboard-utils-c472d19d.js → keyboard-utils-0708be80.js} +4 -2
  528. package/lib/esm/loader.js +3 -3
  529. package/lib/esm/slot-utils-3c3ab3d6.js +48 -0
  530. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  531. package/lib/esm-es5/duet-alert.entry.js +1 -1
  532. package/lib/esm-es5/duet-badge.entry.js +1 -1
  533. package/lib/esm-es5/duet-banner.entry.js +1 -1
  534. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  535. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  536. package/lib/esm-es5/duet-button_2.entry.js +2 -2
  537. package/lib/esm-es5/duet-callout.entry.js +1 -1
  538. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  539. package/lib/esm-es5/duet-card.entry.js +1 -1
  540. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  541. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  542. package/lib/esm-es5/duet-chip.entry.js +1 -1
  543. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  544. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  545. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  546. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  547. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  548. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  549. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  550. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  551. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  552. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  553. package/lib/esm-es5/duet-file-chooser.entry.js +1 -1
  554. package/lib/esm-es5/duet-footer.entry.js +1 -1
  555. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  556. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  557. package/lib/esm-es5/duet-hero.entry.js +2 -2
  558. package/lib/esm-es5/duet-icon.entry.js +1 -1
  559. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  560. package/lib/esm-es5/duet-layout.entry.js +1 -1
  561. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  562. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  563. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  564. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  565. package/lib/esm-es5/duet-menu-bar-item.entry.js +4 -0
  566. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  567. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  568. package/lib/esm-es5/duet-modal.entry.js +1 -1
  569. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  570. package/lib/esm-es5/duet-nav.entry.js +1 -1
  571. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  572. package/lib/esm-es5/duet-number-input.entry.js +2 -2
  573. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  574. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  575. package/lib/esm-es5/duet-popup-menu-item.entry.js +2 -2
  576. package/lib/esm-es5/duet-popup-menu.entry.js +1 -1
  577. package/lib/esm-es5/duet-progress.entry.js +1 -1
  578. package/lib/esm-es5/duet-promo-card.entry.js +2 -2
  579. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  580. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  581. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  582. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  583. package/lib/esm-es5/duet-select.entry.js +2 -2
  584. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  585. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  586. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  587. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  588. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  589. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  590. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  591. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  592. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  593. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  594. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  595. package/lib/esm-es5/duet-submenu-bar.entry.js +2 -2
  596. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  597. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  598. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  599. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  600. package/lib/esm-es5/duet-toolbar-item.entry.js +4 -0
  601. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  602. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  603. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  604. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  605. package/lib/esm-es5/duet-tray.entry.js +1 -1
  606. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  607. package/lib/esm-es5/duet-upload-item.entry.js +1 -1
  608. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  609. package/lib/esm-es5/duet.js +1 -1
  610. package/lib/esm-es5/{focus-utils-a9110b59.js → focus-utils-a15379ec.js} +1 -1
  611. package/lib/esm-es5/{index-ad0e5e61.js → index-2fcdad1e.js} +1 -1
  612. package/lib/esm-es5/{keyboard-utils-c472d19d.js → keyboard-utils-0708be80.js} +1 -1
  613. package/lib/esm-es5/loader.js +1 -1
  614. package/lib/esm-es5/slot-utils-3c3ab3d6.js +4 -0
  615. package/lib/types/common/index.d.ts +0 -1
  616. package/lib/types/components/duet-card/duet-card.d.ts +3 -2
  617. package/lib/types/components/duet-list/duet-list.d.ts +1 -0
  618. package/lib/types/components/duet-menu-bar-item/duet-menu-bar-item.d.ts +67 -0
  619. package/lib/types/components/duet-popup-menu/duet-popup-menu.d.ts +9 -2
  620. package/lib/types/components/duet-popup-menu-item/duet-popup-menu-item.d.ts +4 -0
  621. package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +3 -1
  622. package/lib/types/components/duet-toolbar-item/duet-toolbar-item.d.ts +65 -0
  623. package/lib/types/components.d.ts +184 -6
  624. package/lib/types/utils/slot-utils.d.ts +14 -2
  625. package/package.json +5 -5
  626. package/lib/cjs/slot-query-3259af5b.js +0 -10
  627. package/lib/cjs/slot-utils-6c81bd09.js +0 -20
  628. package/lib/collection/common/slot-query.js +0 -9
  629. package/lib/dist-custom-elements/p-11230037.js +0 -8
  630. package/lib/dist-custom-elements/p-bb24a019.js +0 -18
  631. package/lib/duet/p-0c2cf3a5.system.entry.js +0 -4
  632. package/lib/duet/p-11230037.js +0 -4
  633. package/lib/duet/p-1c7ca800.entry.js +0 -4
  634. package/lib/duet/p-1cb624dd.entry.js +0 -4
  635. package/lib/duet/p-240c3f03.system.entry.js +0 -4
  636. package/lib/duet/p-2de5d10d.entry.js +0 -4
  637. package/lib/duet/p-32f3d9e9.entry.js +0 -4
  638. package/lib/duet/p-38bab76d.entry.js +0 -4
  639. package/lib/duet/p-3f9bb231.entry.js +0 -4
  640. package/lib/duet/p-43ee1368.entry.js +0 -4
  641. package/lib/duet/p-48f4acef.entry.js +0 -4
  642. package/lib/duet/p-578de372.entry.js +0 -4
  643. package/lib/duet/p-5eb9efcf.system.js +0 -4
  644. package/lib/duet/p-634e8787.system.js +0 -4
  645. package/lib/duet/p-6a9f8b30.entry.js +0 -4
  646. package/lib/duet/p-6ab9f8ce.entry.js +0 -4
  647. package/lib/duet/p-700eb8d9.system.entry.js +0 -4
  648. package/lib/duet/p-74fef701.system.entry.js +0 -4
  649. package/lib/duet/p-753d1ca4.system.js +0 -4
  650. package/lib/duet/p-7cdcc3f9.system.entry.js +0 -4
  651. package/lib/duet/p-85b08ff2.system.entry.js +0 -4
  652. package/lib/duet/p-8a90810c.system.entry.js +0 -4
  653. package/lib/duet/p-8b25f04b.system.entry.js +0 -4
  654. package/lib/duet/p-91e776e5.entry.js +0 -4
  655. package/lib/duet/p-93037a0a.entry.js +0 -4
  656. package/lib/duet/p-99269e38.system.js +0 -4
  657. package/lib/duet/p-9bfaaf32.entry.js +0 -4
  658. package/lib/duet/p-a5ebbe3e.entry.js +0 -4
  659. package/lib/duet/p-abe6350b.system.entry.js +0 -4
  660. package/lib/duet/p-afa0c531.entry.js +0 -4
  661. package/lib/duet/p-b3e26504.entry.js +0 -4
  662. package/lib/duet/p-bb24a019.js +0 -4
  663. package/lib/duet/p-c28792a8.entry.js +0 -4
  664. package/lib/duet/p-c9c43026.entry.js +0 -4
  665. package/lib/duet/p-cea6ffda.entry.js +0 -4
  666. package/lib/duet/p-cfdea256.system.entry.js +0 -4
  667. package/lib/duet/p-d36935fa.system.entry.js +0 -4
  668. package/lib/duet/p-da0e04fa.entry.js +0 -4
  669. package/lib/duet/p-e19067f1.js +0 -4
  670. package/lib/duet/p-e276fee0.js +0 -4
  671. package/lib/duet/p-e7ffb722.entry.js +0 -4
  672. package/lib/duet/p-ed8efd4d.system.entry.js +0 -4
  673. package/lib/duet/p-f61c00e3.entry.js +0 -4
  674. package/lib/duet/p-f7e13990.entry.js +0 -4
  675. package/lib/duet/p-fcb84038.entry.js +0 -4
  676. package/lib/duet/p-fea9215a.entry.js +0 -4
  677. package/lib/esm/slot-query-022710bb.js +0 -8
  678. package/lib/esm/slot-utils-07ba4363.js +0 -18
  679. package/lib/esm-es5/slot-query-022710bb.js +0 -4
  680. package/lib/esm-es5/slot-utils-07ba4363.js +0 -4
  681. package/lib/types/common/slot-query.d.ts +0 -1
package/hydrate/index.js CHANGED
@@ -7574,11 +7574,6 @@ const inheritGlobalTheme = (component) => {
7574
7574
  const duetHeadingLevels = ["h1", "h2", "h3", "h4", "h5", "h6"];
7575
7575
  const duetBlock = "div";
7576
7576
 
7577
- const hasSlot = (element, slotName) => {
7578
- return Array.from(element.children).filter(el => el.matches(`[slot='${slotName}']`)).length > 0
7579
- ;
7580
- };
7581
-
7582
7577
  function chr4() {
7583
7578
  return Math.random().toString(16).slice(-4);
7584
7579
  }
@@ -7666,12 +7661,14 @@ function listenMouse() {
7666
7661
  window.removeEventListener("mousedown", listenMouse);
7667
7662
  window.addEventListener("keydown", listenKeys, false);
7668
7663
  }
7669
- // start listening for tabbing (and mouse clicking through that) only if window is defined (i.e. not on server)
7664
+ // start listening for mouse clicking (and tabbing through that) only if window is defined (i.e. not on server)
7670
7665
  if (typeof window !== "undefined") {
7671
- window.addEventListener("keydown", listenKeys, false);
7666
+ window.addEventListener("mousedown", listenMouse, false);
7667
+ window.addEventListener("blur", () => notifySubscribers(true));
7672
7668
  }
7673
7669
  const subscribeTabbingChange = component => {
7674
7670
  tabbingChangeSubscribers.add(component);
7671
+ component.element.classList.add("user-is-tabbing");
7675
7672
  };
7676
7673
  const unsubscribeTabbingChange = component => {
7677
7674
  tabbingChangeSubscribers.delete(component);
@@ -8681,17 +8678,47 @@ const DuetPicture = ({ img, sources }) => {
8681
8678
  hAsync("img", Object.assign({}, img))));
8682
8679
  };
8683
8680
 
8684
- const slotElementCheck = (evt, component, requiredTagName) => {
8685
- var _a;
8686
- const slot = evt.target;
8687
- const slotDescription = slot.name ? `slot ${slot.name}` : "default slot";
8688
- const slotElement = slot.assignedElements()[0];
8689
- const slotTagName = slotElement === null || slotElement === void 0 ? void 0 : slotElement.tagName.toLowerCase();
8690
- const componentTagName = (_a = component.element) === null || _a === void 0 ? void 0 : _a.tagName.toLowerCase();
8691
- if (slotTagName && slotTagName !== requiredTagName) {
8692
- console.warn(`Duet warning:
8693
- Only <${requiredTagName}> should be used in <${componentTagName}> ${slotDescription}.
8694
- Found: <${slotTagName}>`);
8681
+ const getElementsFromNamedSlot = (element, slotName) => {
8682
+ const childElements = Array.from(element.children );
8683
+ return childElements.filter(el => el.matches(`[slot='${slotName}']`));
8684
+ };
8685
+ const hasSlot = (element, slotName) => {
8686
+ return getElementsFromNamedSlot(element, slotName).length > 0;
8687
+ };
8688
+ /**
8689
+ * Check if the slotted element matches the given selector.
8690
+ * If not, log a warning, or log a error and remove the element.
8691
+ * This function only works with named slots.
8692
+ *
8693
+ * @param hostElement Host element
8694
+ * @param slotName Name of the slot to check.
8695
+ * @param selector Css selector the slotted element should match
8696
+ * @param maxChildren Maximum number of children allowed in the slot. For no limit use 0. Default is 0.
8697
+ * @param remove If true, remove the elements that don't match. Default is false.
8698
+ */
8699
+ const checkNamedSlotElement = (hostElement, slotName, selector, maxChildren = 0, remove = false) => {
8700
+ const warnOrError = remove ? "error" : "warn";
8701
+ const errors = [];
8702
+ const slottedElements = getElementsFromNamedSlot(hostElement, slotName);
8703
+ const nonRemovedElements = slottedElements.filter(el => {
8704
+ if (el.matches(selector)) {
8705
+ return true;
8706
+ }
8707
+ errors.push(`Only elements matcing selector "${selector}" may be used in slot ${slotName}, found:\n${el.outerHTML}`);
8708
+ if (remove) {
8709
+ el.remove();
8710
+ return false;
8711
+ }
8712
+ return true;
8713
+ });
8714
+ if (maxChildren && nonRemovedElements.length > maxChildren) {
8715
+ errors.push(`Only ${maxChildren} element${maxChildren > 1 ? "s" : ""} may be used in slot ${slotName}, found ${slottedElements.length}.`);
8716
+ if (remove) {
8717
+ nonRemovedElements.slice(maxChildren).forEach(el => el.remove());
8718
+ }
8719
+ }
8720
+ if (errors.length > 0) {
8721
+ console[warnOrError](`Duet ${warnOrError} in ${hostElement.tagName.toLowerCase()}:\n${errors.join("\n")}${remove ? `\nElement${errors.length > 1 ? "s" : ""} removed.` : ""}`);
8695
8722
  }
8696
8723
  };
8697
8724
 
@@ -8722,9 +8749,10 @@ class DuetBanner {
8722
8749
  */
8723
8750
  componentWillLoad() {
8724
8751
  inheritGlobalTheme(this);
8725
- this.hasHeadingSlot = !!this.element.querySelector('[slot="heading"]');
8726
- this.hasDescriptionSlot = !!this.element.querySelector('[slot="description"]');
8727
- this.hasActionSlot = !!this.element.querySelector('[slot="action"]');
8752
+ this.hasHeadingSlot = hasSlot(this.element, "heading");
8753
+ this.hasDescriptionSlot = hasSlot(this.element, "description");
8754
+ this.hasActionSlot = hasSlot(this.element, "action");
8755
+ checkNamedSlotElement(this.element, "heading", "span");
8728
8756
  }
8729
8757
  /**
8730
8758
  * render() function
@@ -8745,7 +8773,7 @@ class DuetBanner {
8745
8773
  "duet-banner": true,
8746
8774
  "duet-theme-turva": this.theme === "turva",
8747
8775
  [this.size]: true,
8748
- }, style: bannerStyles }, hAsync("div", { class: "visual" }, hAsync("div", { class: "image-container" }, this.image && hAsync(DuetPicture, Object.assign({}, pictureSource))), this.icon && (hAsync("duet-icon", { theme: this.theme, class: "icon", name: this.icon, shape: "brand", size: "xx-large", color: this.iconColor, background: this.iconBackgroundColor, "background-rotation": "7", "background-opacity": "0.85", margin: "none" }))), hAsync("div", { class: "content" }, this.hasHeadingSlot && (hAsync("div", { class: "heading" }, hAsync("duet-heading", { theme: this.theme, level: this.headingLevel, "visual-level": "h2", margin: "none", color: this.textColor }, hAsync("span", null, hAsync("slot", { name: "heading", onSlotchange: ev => slotElementCheck(ev, this, "span") }))))), this.hasDescriptionSlot && (hAsync("div", { class: "description", style: { color } }, hAsync("slot", { name: "description" }))), this.hasActionSlot && (hAsync("div", { class: "action" }, hAsync("slot", { name: "action" })))))));
8776
+ }, style: bannerStyles }, hAsync("div", { class: "visual" }, hAsync("div", { class: "image-container" }, this.image && hAsync(DuetPicture, Object.assign({}, pictureSource))), this.icon && (hAsync("duet-icon", { theme: this.theme, class: "icon", name: this.icon, shape: "brand", size: "xx-large", color: this.iconColor, background: this.iconBackgroundColor, "background-rotation": "7", "background-opacity": "0.85", margin: "none" }))), hAsync("div", { class: "content" }, this.hasHeadingSlot && (hAsync("div", { class: "heading" }, hAsync("duet-heading", { theme: this.theme, level: this.headingLevel, "visual-level": "h2", margin: "none", color: this.textColor }, hAsync("span", null, hAsync("slot", { name: "heading" }))))), this.hasDescriptionSlot && (hAsync("div", { class: "description", style: { color } }, hAsync("slot", { name: "description" }))), this.hasActionSlot && (hAsync("div", { class: "action" }, hAsync("slot", { name: "action" })))))));
8749
8777
  }
8750
8778
  get element() { return getElement(this); }
8751
8779
  static get style() { return duetBannerCss; }
@@ -8913,7 +8941,7 @@ const DuetStringsLoadingDefaults = {
8913
8941
  en: "Loading…",
8914
8942
  };
8915
8943
 
8916
- const duetButtonCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-button,*.sc-duet-button::after,*.sc-duet-button::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-button-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;position:relative;z-index:1;display:inline-flex;width:auto;max-width:100%;font-size:0;vertical-align:bottom;-webkit-tap-highlight-color:transparent}/*!@:host:last-child, :host:last-of-type*/.sc-duet-button-h:last-child,.sc-duet-button-h:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){/*!@:host*/.sc-duet-button-h{width:100%}}/*!@:host(.square)*/.square.sc-duet-button-h{margin-right:12px !important}/*!@:host(.square):last-child, :host(.square):last-of-type*/.square.sc-duet-button-h:last-child,.square.sc-duet-button-h:last-of-type{margin-right:0 !important}/*!@:host(.input-button)*/.input-button.sc-duet-button-h{z-index:250}/*!@:host(.duet-small),\n:host(.duet-x-small)*/.duet-small.sc-duet-button-h,.duet-x-small.sc-duet-button-h{margin-right:4px !important;margin-bottom:8px !important}/*!@:host(.duet-small):last-child, :host(.duet-small):last-of-type,\n:host(.duet-x-small):last-child,\n:host(.duet-x-small):last-of-type*/.duet-small.sc-duet-button-h:last-child,.duet-small.sc-duet-button-h:last-of-type,.duet-x-small.sc-duet-button-h:last-child,.duet-x-small.sc-duet-button-h:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){/*!@:host(.duet-small),\n :host(.duet-x-small)*/.duet-small.sc-duet-button-h,.duet-x-small.sc-duet-button-h{width:auto}}/*!@:host(.duet-x-small)*/.duet-x-small.sc-duet-button-h{margin-right:2px !important}/*!@:host(.duet-x-small):last-child, :host(.duet-x-small):last-of-type*/.duet-x-small.sc-duet-button-h:last-child,.duet-x-small.sc-duet-button-h:last-of-type{margin-right:0 !important}/*!@:host(.square.duet-small),\n:host(.square.duet-x-small)*/.square.duet-small.sc-duet-button-h,.square.duet-x-small.sc-duet-button-h{margin-right:8px !important}/*!@:host(.square.duet-small):last-child, :host(.square.duet-small):last-of-type,\n:host(.square.duet-x-small):last-child,\n:host(.square.duet-x-small):last-of-type*/.square.duet-small.sc-duet-button-h:last-child,.square.duet-small.sc-duet-button-h:last-of-type,.square.duet-x-small.sc-duet-button-h:last-child,.square.duet-x-small.sc-duet-button-h:last-of-type{margin-right:0 !important}/*!@:host(.duet-expand)*/.duet-expand.sc-duet-button-h{width:100% !important}/*!@:host(.duet-m-0)*/.duet-m-0.sc-duet-button-h{margin:0 !important}/*!@:host(.duet-fixed)*/.duet-fixed.sc-duet-button-h{width:auto !important}/*!@:host(:last-child)*/.sc-duet-button-h:last-child{margin-right:0 !important}/*!@.duet-button-container*/.duet-button-container.sc-duet-button{position:relative;display:block;width:100%}/*!@.duet-button*/.duet-button.sc-duet-button{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:flex;align-items:center;width:100%;min-width:8rem;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.1;color:rgb(0, 119, 179) !important;text-align:center;text-decoration:none;cursor:pointer;background:transparent;border-style:solid;border-width:1px;transition:background-color 300ms ease, color 300ms ease, border 300ms ease, outline 300ms ease, padding 300ms ease, box-shadow 300ms ease}/*!@.duet-button.duet-p-0*/.duet-button.duet-p-0.sc-duet-button{padding:0 !important}/*!@.duet-button.duet-m-0*/.duet-button.duet-m-0.sc-duet-button{margin:0 !important}/*!@.duet-button:focus*/.duet-button.sc-duet-button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-theme-turva .duet-button:focus, .duet-button:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-button .duet-button.sc-duet-button:focus,.duet-button.sc-duet-button:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-button.duet-button-size-medium*/.duet-button.duet-button-size-medium.sc-duet-button{height:50px;padding-right:30px;padding-left:30px;font-size:1rem;border-radius:25px}/*!@.duet-button.duet-button-size-medium.square*/.duet-button.duet-button-size-medium.square.sc-duet-button{border-radius:12.5px}/*!@.duet-button.duet-button-size-medium.icon-left*/.duet-button.duet-button-size-medium.icon-left.sc-duet-button{padding-left:24px}/*!@.duet-button.duet-button-size-medium.icon-right*/.duet-button.duet-button-size-medium.icon-right.sc-duet-button{padding-right:24px}/*!@.duet-button.duet-button-size-small*/.duet-button.duet-button-size-small.sc-duet-button{height:40px;padding-right:20px;padding-left:20px;font-size:0.875rem;border-radius:20px}/*!@.duet-button.duet-button-size-small.square*/.duet-button.duet-button-size-small.square.sc-duet-button{border-radius:10px}/*!@.duet-button.duet-button-size-small.icon-left*/.duet-button.duet-button-size-small.icon-left.sc-duet-button{padding-left:18px}/*!@.duet-button.duet-button-size-small.icon-right*/.duet-button.duet-button-size-small.icon-right.sc-duet-button{padding-right:18px}/*!@.duet-button.duet-button-size-x-small*/.duet-button.duet-button-size-x-small.sc-duet-button{height:32px;padding-right:12px;padding-left:12px;font-size:0.75rem;border-radius:8px}/*!@.duet-button.duet-button-size-x-small.icon-left*/.duet-button.duet-button-size-x-small.icon-left.sc-duet-button{padding-left:10px}/*!@.duet-button.duet-button-size-x-small.icon-right*/.duet-button.duet-button-size-x-small.icon-right.sc-duet-button{padding-right:10px}/*!@.duet-button.plain.duet-p-0*/.duet-button.plain.duet-p-0.sc-duet-button{height:auto}/*!@.duet-button:not(.input-button-primary, .input-button-secondary, .input-button-embedded)*/.duet-button.sc-duet-button:not(.input-button-primary,.input-button-secondary.sc-duet-button,.input-button-embedded).sc-duet-button{font-variant-numeric:tabular-nums}/*!@.duet-button.duet-button-text-center*/.duet-button.duet-button-text-center.sc-duet-button{text-align:center !important}/*!@.duet-button.duet-button-is-small:not(.duet-button-icon-only)*/.duet-button.duet-button-is-small.sc-duet-button:not(.duet-button-icon-only){min-width:48px}/*!@.duet-button.duet-button-is-small:not(.duet-button-icon-only).plain*/.duet-button.duet-button-is-small.sc-duet-button:not(.duet-button-icon-only).plain{padding-right:0 !important;padding-left:0 !important}/*!@.duet-button.duet-button-is-small:not(.duet-button-icon-only).duet-p-0*/.duet-button.duet-button-is-small.sc-duet-button:not(.duet-button-icon-only).duet-p-0{padding:0 !important}/*!@.duet-theme-turva .duet-button*/.duet-theme-turva.sc-duet-button .duet-button.sc-duet-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(198, 12, 48) !important}/*!@.duet-button .duet-button-contents*/.duet-button.sc-duet-button .duet-button-contents.sc-duet-button{position:relative;display:flex;gap:10px;align-items:center;margin:0 auto;pointer-events:none}/*!@.duet-button .duet-button-contents.icon-right*/.duet-button.sc-duet-button .duet-button-contents.icon-right.sc-duet-button{flex-direction:row-reverse}/*!@.duet-button .duet-button-contents .duet-button-contents-slot*/.duet-button.sc-duet-button .duet-button-contents.sc-duet-button .duet-button-contents-slot.sc-duet-button{position:relative;top:0}/*!@.duet-button.duet-no-wrap*/.duet-button.duet-no-wrap.sc-duet-button{white-space:nowrap}/*!@.duet-button svg*/.duet-button.sc-duet-button svg.sc-duet-button{width:100%;min-width:100%;fill:currentColor}/*!@.duet-button .duet-button-icon*/.duet-button.sc-duet-button .duet-button-icon.sc-duet-button{display:flex;align-items:center}/*!@.duet-button .duet-button-icon duet-icon*/.duet-button.sc-duet-button .duet-button-icon.sc-duet-button duet-icon.sc-duet-button{width:16px;height:16px}/*!@.duet-button .duet-button-icon.large duet-icon*/.duet-button.sc-duet-button .duet-button-icon.large.sc-duet-button duet-icon.sc-duet-button{width:20px;height:20px}/*!@.duet-button .duet-button-icon.medium-small duet-icon*/.duet-button.sc-duet-button .duet-button-icon.medium-small.sc-duet-button duet-icon.sc-duet-button{width:10px;height:10px}/*!@.duet-button .duet-button-icon.small duet-icon*/.duet-button.sc-duet-button .duet-button-icon.small.sc-duet-button duet-icon.sc-duet-button{width:7px;height:7px}/*!@.duet-button:active:not([disabled])*/.duet-button.sc-duet-button:active:not([disabled]){opacity:0.75;transition:none}/*!@.duet-button.default*/.duet-button.default.sc-duet-button{border-color:rgb(207, 210, 212)}/*!@.duet-theme-turva .duet-button.default*/.duet-theme-turva.sc-duet-button .duet-button.default.sc-duet-button{color:rgb(198, 12, 48) !important;border-color:rgb(228, 228, 230)}/*!@.duet-button.default:hover*/.duet-button.default.sc-duet-button:hover{border-color:rgb(0, 119, 179);outline:2px solid rgb(0, 119, 179);outline-offset:-2px}/*!@.duet-theme-turva .duet-button.default:hover*/.duet-theme-turva.sc-duet-button .duet-button.default.sc-duet-button:hover{border-color:rgb(198, 12, 48);outline-color:rgb(198, 12, 48)}/*!@.duet-button.default.duet-button-negative*/.duet-button.default.duet-button-negative.sc-duet-button{background-color:rgb(255, 255, 255)}/*!@.duet-theme-turva .duet-button.default.duet-button-negative*/.duet-theme-turva.sc-duet-button .duet-button.default.duet-button-negative.sc-duet-button{background-color:rgb(228, 228, 230) !important}/*!@.duet-button.default.duet-button-negative:hover*/.duet-button.default.duet-button-negative.sc-duet-button:hover{color:rgb(0, 119, 179) !important;border-color:rgb(0, 119, 179)}/*!@.duet-theme-turva .duet-button.default.duet-button-negative:hover*/.duet-theme-turva.sc-duet-button .duet-button.default.duet-button-negative.sc-duet-button:hover{color:rgb(198, 12, 48) !important;border-color:rgb(198, 12, 48)}/*!@.duet-button.primary, .duet-button.input-button-primary*/.duet-button.primary.sc-duet-button,.duet-button.input-button-primary.sc-duet-button{color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179);border-color:rgb(0, 119, 179)}/*!@.duet-theme-turva .duet-button.primary, .duet-theme-turva .duet-button.input-button-primary*/.duet-theme-turva.sc-duet-button .duet-button.primary.sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button.input-button-primary.sc-duet-button{color:rgb(255, 255, 255) !important;background:rgb(198, 12, 48);border-color:rgb(198, 12, 48)}/*!@.duet-button.primary:hover, .duet-button.input-button-primary:hover*/.duet-button.primary.sc-duet-button:hover,.duet-button.input-button-primary.sc-duet-button:hover{background:#005f8f;border-color:#005f8f;box-shadow:0 4px 20px 0 rgba(34, 34, 34, 0.1)}/*!@.duet-theme-turva .duet-button.primary:hover, .duet-theme-turva .duet-button.input-button-primary:hover*/.duet-theme-turva.sc-duet-button .duet-button.primary.sc-duet-button:hover,.duet-theme-turva.sc-duet-button .duet-button.input-button-primary.sc-duet-button:hover{background:rgb(148, 9, 37);border-color:rgb(148, 9, 37)}/*!@.duet-button.primary:focus, .duet-button.input-button-primary:focus*/.duet-button.primary.sc-duet-button:focus,.duet-button.input-button-primary.sc-duet-button:focus{outline:0;box-shadow:0 0 0 1px #fff, 0 0 0 4px rgba(0, 119, 179, 0.75)}/*!@.duet-theme-turva .duet-button.primary:focus, .duet-theme-turva .duet-button.input-button-primary:focus*/.duet-theme-turva.sc-duet-button .duet-button.primary.sc-duet-button:focus,.duet-theme-turva.sc-duet-button .duet-button.input-button-primary.sc-duet-button:focus{box-shadow:0 0 0 1px #fff, 0 0 0 4px rgba(23, 28, 58, 0.75)}/*!@.duet-button.secondary, .duet-button.input-button-secondary, .duet-button.input-button-embedded*/.duet-button.secondary.sc-duet-button,.duet-button.input-button-secondary.sc-duet-button,.duet-button.input-button-embedded.sc-duet-button{color:rgb(0, 41, 77) !important;background:transparent;border-color:rgb(0, 41, 77)}/*!@.duet-theme-turva .duet-button.secondary, .duet-theme-turva .duet-button.input-button-secondary, .duet-theme-turva .duet-button.input-button-embedded*/.duet-theme-turva.sc-duet-button .duet-button.secondary.sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button.input-button-secondary.sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button.input-button-embedded.sc-duet-button{color:rgb(23, 28, 58) !important;border-color:rgb(23, 28, 58)}/*!@.duet-button.secondary:hover, .duet-button.input-button-secondary:hover, .duet-button.input-button-embedded:hover*/.duet-button.secondary.sc-duet-button:hover,.duet-button.input-button-secondary.sc-duet-button:hover,.duet-button.input-button-embedded.sc-duet-button:hover{color:rgb(0, 119, 179) !important;border-color:rgb(0, 119, 179)}/*!@.duet-theme-turva .duet-button.secondary:hover, .duet-theme-turva .duet-button.input-button-secondary:hover, .duet-theme-turva .duet-button.input-button-embedded:hover*/.duet-theme-turva.sc-duet-button .duet-button.secondary.sc-duet-button:hover,.duet-theme-turva.sc-duet-button .duet-button.input-button-secondary.sc-duet-button:hover,.duet-theme-turva.sc-duet-button .duet-button.input-button-embedded.sc-duet-button:hover{color:rgb(198, 12, 48) !important;border-color:rgb(198, 12, 48)}/*!@.duet-button.secondary.duet-button-negative, .duet-button.input-button-secondary.duet-button-negative, .duet-button.input-button-embedded.duet-button-negative*/.duet-button.secondary.duet-button-negative.sc-duet-button,.duet-button.input-button-secondary.duet-button-negative.sc-duet-button,.duet-button.input-button-embedded.duet-button-negative.sc-duet-button{color:rgb(225, 227, 230) !important;border-color:rgb(255, 255, 255)}/*!@.duet-theme-turva .duet-button.secondary.duet-button-negative, .duet-theme-turva .duet-button.input-button-secondary.duet-button-negative, .duet-theme-turva .duet-button.input-button-embedded.duet-button-negative*/.duet-theme-turva.sc-duet-button .duet-button.secondary.duet-button-negative.sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button.input-button-secondary.duet-button-negative.sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button.input-button-embedded.duet-button-negative.sc-duet-button{color:rgb(228, 228, 230) !important}/*!@.duet-button.secondary.duet-button-negative:hover, .duet-button.input-button-secondary.duet-button-negative:hover, .duet-button.input-button-embedded.duet-button-negative:hover*/.duet-button.secondary.duet-button-negative.sc-duet-button:hover,.duet-button.input-button-secondary.duet-button-negative.sc-duet-button:hover,.duet-button.input-button-embedded.duet-button-negative.sc-duet-button:hover{color:rgb(0, 119, 179) !important;border-color:rgb(0, 119, 179)}/*!@.duet-theme-turva .duet-button.secondary.duet-button-negative:hover, .duet-theme-turva .duet-button.input-button-secondary.duet-button-negative:hover, .duet-theme-turva .duet-button.input-button-embedded.duet-button-negative:hover*/.duet-theme-turva.sc-duet-button .duet-button.secondary.duet-button-negative.sc-duet-button:hover,.duet-theme-turva.sc-duet-button .duet-button.input-button-secondary.duet-button-negative.sc-duet-button:hover,.duet-theme-turva.sc-duet-button .duet-button.input-button-embedded.duet-button-negative.sc-duet-button:hover{color:rgb(198, 12, 48) !important;border-color:rgb(198, 12, 48)}/*!@.duet-button.input-button-embedded*/.duet-button.input-button-embedded.sc-duet-button{width:40px;min-width:40px !important;min-height:40px !important;margin:4px !important;border-width:0 !important;border-radius:4px !important}/*!@.duet-button.input-button*/.duet-button.input-button.sc-duet-button{height:auto}/*!@.duet-button.negative*/.duet-button.negative.sc-duet-button{color:rgb(0, 41, 77) !important;background:rgb(255, 255, 255);border-color:rgb(255, 255, 255)}/*!@.duet-theme-turva .duet-button.negative*/.duet-theme-turva.sc-duet-button .duet-button.negative.sc-duet-button{color:rgb(23, 28, 58) !important}/*!@.duet-button.negative:hover*/.duet-button.negative.sc-duet-button:hover{color:rgb(255, 255, 255) !important;background:transparent;border-color:rgb(255, 255, 255)}/*!@.duet-button.negative:focus*/.duet-button.negative.sc-duet-button:focus{outline:0;box-shadow:0 0 0 1px #00294d, 0 0 0 4px rgba(255, 255, 255, 0.7)}/*!@.duet-theme-turva .duet-button.negative:focus*/.duet-theme-turva.sc-duet-button .duet-button.negative.sc-duet-button:focus{box-shadow:0 0 0 1px #0077b3, 0 0 0 4px rgba(255, 255, 255, 0.7)}/*!@.duet-button.destructive-primary*/.duet-button.destructive-primary.sc-duet-button{color:rgb(255, 255, 255) !important;background:rgb(222, 35, 98);border-color:rgb(222, 35, 98)}/*!@.duet-theme-turva .duet-button.destructive-primary*/.duet-theme-turva.sc-duet-button .duet-button.destructive-primary.sc-duet-button{color:rgb(255, 255, 255) !important;background:rgb(224, 42, 13);border-color:rgb(224, 42, 13)}/*!@.duet-button.destructive-primary:hover*/.duet-button.destructive-primary.sc-duet-button:hover{background:#b21c4e;border-color:#b21c4e;box-shadow:0 4px 20px 0 rgba(34, 34, 34, 0.1)}/*!@.duet-theme-turva .duet-button.destructive-primary:hover*/.duet-theme-turva.sc-duet-button .duet-button.destructive-primary.sc-duet-button:hover{background:#b3220a}/*!@.duet-button.destructive, .duet-button.destructive-secondary*/.duet-button.destructive.sc-duet-button,.duet-button.destructive-secondary.sc-duet-button{color:rgb(222, 35, 98) !important;background:rgb(255, 255, 255);border-color:rgb(222, 35, 98)}/*!@.duet-theme-turva .duet-button.destructive, .duet-theme-turva .duet-button.destructive-secondary*/.duet-theme-turva.sc-duet-button .duet-button.destructive.sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button.destructive-secondary.sc-duet-button{color:rgb(224, 42, 13) !important;background:rgb(255, 255, 255);border-color:rgb(224, 42, 13)}/*!@.duet-button.destructive:hover, .duet-button.destructive-secondary:hover*/.duet-button.destructive.sc-duet-button:hover,.duet-button.destructive-secondary.sc-duet-button:hover{color:rgb(255, 255, 255) !important;background:#b21c4e;border-color:#b21c4e}/*!@.duet-theme-turva .duet-button.destructive:hover, .duet-theme-turva .duet-button.destructive-secondary:hover*/.duet-theme-turva.sc-duet-button .duet-button.destructive.sc-duet-button:hover,.duet-theme-turva.sc-duet-button .duet-button.destructive-secondary.sc-duet-button:hover{color:rgb(255, 255, 255) !important;background:#b3220a;border-color:#b3220a}/*!@.duet-button.plain*/.duet-button.plain.sc-duet-button{min-width:48px;padding-right:0 !important;padding-left:0 !important;line-height:1.5;text-align:left;background:transparent;border:0;border-color:transparent;border-radius:4px}/*!@.duet-theme-turva .duet-button.plain*/.duet-theme-turva.sc-duet-button .duet-button.plain.sc-duet-button{color:rgb(198, 12, 48) !important;background:transparent;border-color:transparent}/*!@.duet-button.plain.duet-p-0 .duet-button-contents*/.duet-button.plain.duet-p-0.sc-duet-button .duet-button-contents.sc-duet-button{height:auto}/*!@.duet-button.plain[disabled]*/.duet-button.plain[disabled].sc-duet-button{color:rgb(101, 119, 135) !important;cursor:not-allowed;background:transparent !important;border-color:transparent !important}/*!@.duet-theme-turva .duet-button.plain[disabled]*/.duet-theme-turva.sc-duet-button .duet-button.plain[disabled].sc-duet-button{color:transparent !important;cursor:not-allowed;background:transparent !important;border-color:rgb(228, 228, 230) !important}/*!@.duet-button.plain:hover*/.duet-button.plain.sc-duet-button:hover{color:rgb(0, 77, 128) !important;background:transparent !important}/*!@.duet-theme-turva .duet-button.plain:hover*/.duet-theme-turva.sc-duet-button .duet-button.plain.sc-duet-button:hover{color:rgb(148, 9, 37) !important}/*!@.duet-button.plain.duet-button-negative*/.duet-button.plain.duet-button-negative.sc-duet-button{color:rgb(255, 255, 255) !important}/*!@.duet-theme-turva .duet-button.plain.duet-button-negative*/.duet-theme-turva.sc-duet-button .duet-button.plain.duet-button-negative.sc-duet-button{color:rgb(228, 228, 230) !important}/*!@.duet-button.plain.duet-button-negative:hover*/.duet-button.plain.duet-button-negative.sc-duet-button:hover{color:rgb(0, 119, 179) !important}/*!@.duet-theme-turva .duet-button.plain.duet-button-negative:hover*/.duet-theme-turva.sc-duet-button .duet-button.plain.duet-button-negative.sc-duet-button:hover{color:rgb(198, 12, 48) !important}/*!@.duet-button.duet-button-icon-only*/.duet-button.duet-button-icon-only.sc-duet-button{min-width:48px;min-height:48px;padding:0 !important}/*!@.duet-button.duet-button-icon-only .duet-button-contents*/.duet-button.duet-button-icon-only.sc-duet-button .duet-button-contents.sc-duet-button{position:static}/*!@.duet-button.duet-button-icon-only .duet-button-icon.left.large,\n.duet-button.duet-button-icon-only .duet-button-icon.left.medium,\n.duet-button.duet-button-icon-only .duet-button-icon.left.small*/.duet-button.duet-button-icon-only.sc-duet-button .duet-button-icon.left.large.sc-duet-button,.duet-button.duet-button-icon-only.sc-duet-button .duet-button-icon.left.medium.sc-duet-button,.duet-button.duet-button-icon-only.sc-duet-button .duet-button-icon.left.small.sc-duet-button{position:absolute;top:50% !important;left:50% !important;padding:0;margin:0;transform:translateX(-50%) translateY(-50%)}/*!@.duet-button.duet-button.input-button-primary, .duet-button.duet-button.input-button-secondary, .duet-button.duet-button.input-button-embedded*/.duet-button.duet-button.input-button-primary.sc-duet-button,.duet-button.duet-button.input-button-secondary.sc-duet-button,.duet-button.duet-button.input-button-embedded.sc-duet-button{box-sizing:content-box;min-width:48px;min-height:48px;padding:0 !important;border-width:1px;border-top-left-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:0}/*!@.duet-button.duet-button.input-button-primary .duet-button-contents, .duet-button.duet-button.input-button-secondary .duet-button-contents, .duet-button.duet-button.input-button-embedded .duet-button-contents*/.duet-button.duet-button.input-button-primary.sc-duet-button .duet-button-contents.sc-duet-button,.duet-button.duet-button.input-button-secondary.sc-duet-button .duet-button-contents.sc-duet-button,.duet-button.duet-button.input-button-embedded.sc-duet-button .duet-button-contents.sc-duet-button{position:static}/*!@.duet-button.duet-button.input-button-primary .duet-button-icon.left.large,\n.duet-button.duet-button.input-button-primary .duet-button-icon.left.medium,\n.duet-button.duet-button.input-button-primary .duet-button-icon.left.small, .duet-button.duet-button.input-button-secondary .duet-button-icon.left.large,\n.duet-button.duet-button.input-button-secondary .duet-button-icon.left.medium,\n.duet-button.duet-button.input-button-secondary .duet-button-icon.left.small, .duet-button.duet-button.input-button-embedded .duet-button-icon.left.large,\n.duet-button.duet-button.input-button-embedded .duet-button-icon.left.medium,\n.duet-button.duet-button.input-button-embedded .duet-button-icon.left.small*/.duet-button.duet-button.input-button-primary.sc-duet-button .duet-button-icon.left.large.sc-duet-button,.duet-button.duet-button.input-button-primary.sc-duet-button .duet-button-icon.left.medium.sc-duet-button,.duet-button.duet-button.input-button-primary.sc-duet-button .duet-button-icon.left.small.sc-duet-button,.duet-button.duet-button.input-button-secondary.sc-duet-button .duet-button-icon.left.large.sc-duet-button,.duet-button.duet-button.input-button-secondary.sc-duet-button .duet-button-icon.left.medium.sc-duet-button,.duet-button.duet-button.input-button-secondary.sc-duet-button .duet-button-icon.left.small.sc-duet-button,.duet-button.duet-button.input-button-embedded.sc-duet-button .duet-button-icon.left.large.sc-duet-button,.duet-button.duet-button.input-button-embedded.sc-duet-button .duet-button-icon.left.medium.sc-duet-button,.duet-button.duet-button.input-button-embedded.sc-duet-button .duet-button-icon.left.small.sc-duet-button{position:absolute;top:50% !important;left:50% !important;padding:0;margin:0;transform:translateX(-50%) translateY(-50%)}/*!@.duet-button.duet-button.input-button-embedded*/.duet-button.duet-button.input-button-embedded.sc-duet-button{border-left-width:0}/*!@.duet-button.square*/.duet-button.square.sc-duet-button{width:52px;min-width:auto !important;padding:0 !important;font-size:1rem;border-color:rgb(207, 210, 212);border-width:1px}/*!@.duet-button.square.duet-button-size-small*/.duet-button.square.duet-button-size-small.sc-duet-button{width:42px;font-size:0.875rem}/*!@.duet-button.square.duet-button-size-x-small*/.duet-button.square.duet-button-size-x-small.sc-duet-button{width:34px;font-size:0.875rem}/*!@.duet-button.square.duet-button-negative*/.duet-button.square.duet-button-negative.sc-duet-button{color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179);border-color:rgb(0, 119, 179)}/*!@.duet-theme-turva .duet-button.square.duet-button-negative*/.duet-theme-turva.sc-duet-button .duet-button.square.duet-button-negative.sc-duet-button{color:rgb(255, 255, 255) !important;background:rgb(198, 12, 48);border-color:rgb(198, 12, 48)}/*!@.duet-theme-turva .duet-button.square*/.duet-theme-turva.sc-duet-button .duet-button.square.sc-duet-button{border-color:rgb(228, 228, 230)}/*!@.duet-button.square:hover*/.duet-button.square.sc-duet-button:hover{border-color:rgb(0, 119, 179);outline:2px solid rgb(0, 119, 179);outline-offset:-2px}/*!@.duet-theme-turva .duet-button.square:hover*/.duet-theme-turva.sc-duet-button .duet-button.square.sc-duet-button:hover{border-color:rgb(198, 12, 48);outline-color:rgb(198, 12, 48)}/*!@.duet-button.square .duet-button-contents*/.duet-button.square.sc-duet-button .duet-button-contents.sc-duet-button{gap:0}/*!@.duet-button[disabled], .duet-button[disabled]:hover, .duet-button.duet-button-negative[disabled], .duet-button.duet-button-negative[disabled]:hover*/.duet-button[disabled].sc-duet-button,.duet-button[disabled].sc-duet-button:hover,.duet-button.duet-button-negative[disabled].sc-duet-button,.duet-button.duet-button-negative[disabled].sc-duet-button:hover{color:rgb(101, 119, 135) !important;cursor:not-allowed;background:rgb(225, 227, 230) !important;border-color:rgb(225, 227, 230) !important;box-shadow:none !important}/*!@.duet-theme-turva .duet-button[disabled], .duet-theme-turva .duet-button[disabled]:hover, .duet-theme-turva .duet-button.duet-button-negative [disabled], .duet-theme-turva .duet-button.duet-button-negative [disabled]:hover*/.duet-theme-turva.sc-duet-button .duet-button[disabled].sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button[disabled].sc-duet-button:hover,.duet-theme-turva.sc-duet-button .duet-button.duet-button-negative.sc-duet-button [disabled].sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button.duet-button-negative.sc-duet-button [disabled].sc-duet-button:hover{color:rgb(116, 116, 117) !important;cursor:not-allowed;background:rgb(228, 228, 230) !important;border-color:rgb(228, 228, 230) !important}/*!@.duet-button-is-loading.primary, .duet-button-is-loading.input-button-primary*/.duet-button-is-loading.primary.sc-duet-button,.duet-button-is-loading.input-button-primary.sc-duet-button{color:rgb(255, 255, 255)}/*!@.duet-button-is-loading.default*/.duet-button-is-loading.default.sc-duet-button{color:rgb(0, 119, 179)}/*!@.duet-button-is-loading.default.duet-theme-turva*/.duet-button-is-loading.default.duet-theme-turva.sc-duet-button{color:rgb(198, 12, 48)}/*!@.duet-button-is-loading .duet-button-contents*/.duet-button-is-loading.sc-duet-button .duet-button-contents.sc-duet-button{visibility:hidden;opacity:0}";
8944
+ const duetButtonCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-button,*.sc-duet-button::after,*.sc-duet-button::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-button-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;position:relative;z-index:1;display:inline-flex;width:auto;max-width:100%;font-size:0;vertical-align:bottom;-webkit-tap-highlight-color:transparent}/*!@:host:last-child, :host:last-of-type*/.sc-duet-button-h:last-child,.sc-duet-button-h:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){/*!@:host*/.sc-duet-button-h{width:100%}}/*!@:host(.square)*/.square.sc-duet-button-h{margin-right:12px !important}/*!@:host(.square):last-child, :host(.square):last-of-type*/.square.sc-duet-button-h:last-child,.square.sc-duet-button-h:last-of-type{margin-right:0 !important}/*!@:host(.input-button)*/.input-button.sc-duet-button-h{z-index:250}/*!@:host(.duet-small),\n:host(.duet-x-small)*/.duet-small.sc-duet-button-h,.duet-x-small.sc-duet-button-h{margin-right:4px !important;margin-bottom:8px !important}/*!@:host(.duet-small):last-child, :host(.duet-small):last-of-type,\n:host(.duet-x-small):last-child,\n:host(.duet-x-small):last-of-type*/.duet-small.sc-duet-button-h:last-child,.duet-small.sc-duet-button-h:last-of-type,.duet-x-small.sc-duet-button-h:last-child,.duet-x-small.sc-duet-button-h:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){/*!@:host(.duet-small),\n :host(.duet-x-small)*/.duet-small.sc-duet-button-h,.duet-x-small.sc-duet-button-h{width:auto}}/*!@:host(.duet-x-small)*/.duet-x-small.sc-duet-button-h{margin-right:2px !important}/*!@:host(.duet-x-small):last-child, :host(.duet-x-small):last-of-type*/.duet-x-small.sc-duet-button-h:last-child,.duet-x-small.sc-duet-button-h:last-of-type{margin-right:0 !important}/*!@:host(.square.duet-small),\n:host(.square.duet-x-small)*/.square.duet-small.sc-duet-button-h,.square.duet-x-small.sc-duet-button-h{margin-right:8px !important}/*!@:host(.square.duet-small):last-child, :host(.square.duet-small):last-of-type,\n:host(.square.duet-x-small):last-child,\n:host(.square.duet-x-small):last-of-type*/.square.duet-small.sc-duet-button-h:last-child,.square.duet-small.sc-duet-button-h:last-of-type,.square.duet-x-small.sc-duet-button-h:last-child,.square.duet-x-small.sc-duet-button-h:last-of-type{margin-right:0 !important}/*!@:host(.duet-expand)*/.duet-expand.sc-duet-button-h{width:100% !important}/*!@:host(.duet-m-0)*/.duet-m-0.sc-duet-button-h{margin:0 !important}/*!@:host(.duet-fixed)*/.duet-fixed.sc-duet-button-h{width:auto !important}/*!@:host(:last-child)*/.sc-duet-button-h:last-child{margin-right:0 !important}/*!@.duet-button-container*/.duet-button-container.sc-duet-button{position:relative;display:block;width:100%}/*!@.duet-button*/.duet-button.sc-duet-button{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:flex;align-items:center;width:100%;min-width:8rem;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.1;color:rgb(0, 119, 179) !important;text-align:center;text-decoration:none;cursor:pointer;background:transparent;border-style:solid;border-width:1px;transition:background-color 300ms ease, color 300ms ease, border 300ms ease, outline 300ms ease, padding 300ms ease, box-shadow 300ms ease}/*!@.duet-button.duet-p-0*/.duet-button.duet-p-0.sc-duet-button{padding:0 !important}/*!@.duet-button.duet-m-0*/.duet-button.duet-m-0.sc-duet-button{margin:0 !important}/*!@.duet-button:focus*/.duet-button.sc-duet-button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-theme-turva .duet-button:focus, .duet-button:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-button .duet-button.sc-duet-button:focus,.duet-button.sc-duet-button:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-button.duet-button-size-medium*/.duet-button.duet-button-size-medium.sc-duet-button{height:50px;padding-right:30px;padding-left:30px;font-size:1rem;border-radius:25px}/*!@.duet-theme-turva .duet-button.duet-button-size-medium*/.duet-theme-turva.sc-duet-button .duet-button.duet-button-size-medium.sc-duet-button{padding-right:24px;padding-left:24px;border-radius:12.5px}/*!@.duet-button.duet-button-size-medium.square*/.duet-button.duet-button-size-medium.square.sc-duet-button{border-radius:12.5px}/*!@.duet-button.duet-button-size-medium.icon-left*/.duet-button.duet-button-size-medium.icon-left.sc-duet-button{padding-left:24px}/*!@.duet-theme-turva .duet-button.duet-button-size-medium.icon-left*/.duet-theme-turva.sc-duet-button .duet-button.duet-button-size-medium.icon-left.sc-duet-button{padding-left:18px}/*!@.duet-button.duet-button-size-medium.icon-right*/.duet-button.duet-button-size-medium.icon-right.sc-duet-button{padding-right:24px}/*!@.duet-theme-turva .duet-button.duet-button-size-medium.icon-right*/.duet-theme-turva.sc-duet-button .duet-button.duet-button-size-medium.icon-right.sc-duet-button{padding-right:18px}/*!@.duet-button.duet-button-size-small*/.duet-button.duet-button-size-small.sc-duet-button{height:40px;padding-right:20px;padding-left:20px;font-size:0.875rem;border-radius:20px}/*!@.duet-theme-turva .duet-button.duet-button-size-small*/.duet-theme-turva.sc-duet-button .duet-button.duet-button-size-small.sc-duet-button{padding-right:18px;padding-left:18px;border-radius:10px}/*!@.duet-button.duet-button-size-small.square*/.duet-button.duet-button-size-small.square.sc-duet-button{border-radius:10px}/*!@.duet-button.duet-button-size-small.icon-left*/.duet-button.duet-button-size-small.icon-left.sc-duet-button{padding-left:18px}/*!@.duet-theme-turva .duet-button.duet-button-size-small.icon-left*/.duet-theme-turva.sc-duet-button .duet-button.duet-button-size-small.icon-left.sc-duet-button{padding-left:14px}/*!@.duet-button.duet-button-size-small.icon-right*/.duet-button.duet-button-size-small.icon-right.sc-duet-button{padding-right:18px}/*!@.duet-theme-turva .duet-button.duet-button-size-small.icon-right*/.duet-theme-turva.sc-duet-button .duet-button.duet-button-size-small.icon-right.sc-duet-button{padding-right:14px}/*!@.duet-button.duet-button-size-x-small*/.duet-button.duet-button-size-x-small.sc-duet-button{height:32px;padding-right:12px;padding-left:12px;font-size:0.75rem;border-radius:8px}/*!@.duet-button.duet-button-size-x-small.icon-left*/.duet-button.duet-button-size-x-small.icon-left.sc-duet-button{padding-left:10px}/*!@.duet-button.duet-button-size-x-small.icon-right*/.duet-button.duet-button-size-x-small.icon-right.sc-duet-button{padding-right:10px}/*!@.duet-button.plain.duet-p-0*/.duet-button.plain.duet-p-0.sc-duet-button{height:auto}/*!@.duet-button:not(.input-button-primary, .input-button-secondary, .input-button-embedded)*/.duet-button.sc-duet-button:not(.input-button-primary,.input-button-secondary.sc-duet-button,.input-button-embedded).sc-duet-button{font-variant-numeric:tabular-nums}/*!@.duet-button.duet-button-text-center*/.duet-button.duet-button-text-center.sc-duet-button{text-align:center !important}/*!@.duet-button.duet-button-is-small:not(.duet-button-icon-only)*/.duet-button.duet-button-is-small.sc-duet-button:not(.duet-button-icon-only){min-width:48px}/*!@.duet-button.duet-button-is-small:not(.duet-button-icon-only).plain*/.duet-button.duet-button-is-small.sc-duet-button:not(.duet-button-icon-only).plain{padding-right:0 !important;padding-left:0 !important}/*!@.duet-button.duet-button-is-small:not(.duet-button-icon-only).duet-p-0*/.duet-button.duet-button-is-small.sc-duet-button:not(.duet-button-icon-only).duet-p-0{padding:0 !important}/*!@.duet-theme-turva .duet-button*/.duet-theme-turva.sc-duet-button .duet-button.sc-duet-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(198, 12, 48) !important}/*!@.duet-button .duet-button-contents*/.duet-button.sc-duet-button .duet-button-contents.sc-duet-button{position:relative;display:flex;gap:10px;align-items:center;margin:0 auto;pointer-events:none}/*!@.duet-button .duet-button-contents.icon-right*/.duet-button.sc-duet-button .duet-button-contents.icon-right.sc-duet-button{flex-direction:row-reverse}/*!@.duet-button .duet-button-contents .duet-button-contents-slot*/.duet-button.sc-duet-button .duet-button-contents.sc-duet-button .duet-button-contents-slot.sc-duet-button{position:relative;top:0}/*!@.duet-button.duet-no-wrap*/.duet-button.duet-no-wrap.sc-duet-button{white-space:nowrap}/*!@.duet-button svg*/.duet-button.sc-duet-button svg.sc-duet-button{width:100%;min-width:100%;fill:currentColor}/*!@.duet-button .duet-button-icon*/.duet-button.sc-duet-button .duet-button-icon.sc-duet-button{display:flex;align-items:center}/*!@.duet-button .duet-button-icon duet-icon*/.duet-button.sc-duet-button .duet-button-icon.sc-duet-button duet-icon.sc-duet-button{width:16px;height:16px}/*!@.duet-button .duet-button-icon.large duet-icon*/.duet-button.sc-duet-button .duet-button-icon.large.sc-duet-button duet-icon.sc-duet-button{width:20px;height:20px}/*!@.duet-button .duet-button-icon.medium-small duet-icon*/.duet-button.sc-duet-button .duet-button-icon.medium-small.sc-duet-button duet-icon.sc-duet-button{width:10px;height:10px}/*!@.duet-button .duet-button-icon.small duet-icon*/.duet-button.sc-duet-button .duet-button-icon.small.sc-duet-button duet-icon.sc-duet-button{width:7px;height:7px}/*!@.duet-button:active:not([disabled])*/.duet-button.sc-duet-button:active:not([disabled]){opacity:0.75;transition:none}/*!@.duet-button.default*/.duet-button.default.sc-duet-button{background:rgb(255, 255, 255);border-color:rgb(207, 210, 212)}/*!@.duet-theme-turva .duet-button.default*/.duet-theme-turva.sc-duet-button .duet-button.default.sc-duet-button{color:rgb(198, 12, 48) !important;border-color:rgb(228, 228, 230)}/*!@.duet-button.default:hover*/.duet-button.default.sc-duet-button:hover{border-color:rgb(0, 119, 179);outline:2px solid rgb(0, 119, 179);outline-offset:-2px}/*!@.duet-theme-turva .duet-button.default:hover*/.duet-theme-turva.sc-duet-button .duet-button.default.sc-duet-button:hover{border-color:rgb(198, 12, 48);outline-color:rgb(198, 12, 48)}/*!@.duet-button.default.duet-button-negative*/.duet-button.default.duet-button-negative.sc-duet-button{background-color:rgb(255, 255, 255)}/*!@.duet-theme-turva .duet-button.default.duet-button-negative*/.duet-theme-turva.sc-duet-button .duet-button.default.duet-button-negative.sc-duet-button{background-color:rgb(228, 228, 230) !important}/*!@.duet-button.default.duet-button-negative:hover*/.duet-button.default.duet-button-negative.sc-duet-button:hover{color:rgb(0, 119, 179) !important;border-color:rgb(0, 119, 179)}/*!@.duet-theme-turva .duet-button.default.duet-button-negative:hover*/.duet-theme-turva.sc-duet-button .duet-button.default.duet-button-negative.sc-duet-button:hover{color:rgb(198, 12, 48) !important;border-color:rgb(198, 12, 48)}/*!@.duet-button.primary, .duet-button.input-button-primary*/.duet-button.primary.sc-duet-button,.duet-button.input-button-primary.sc-duet-button{color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179);border-color:rgb(0, 119, 179)}/*!@.duet-theme-turva .duet-button.primary, .duet-theme-turva .duet-button.input-button-primary*/.duet-theme-turva.sc-duet-button .duet-button.primary.sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button.input-button-primary.sc-duet-button{color:rgb(255, 255, 255) !important;background:rgb(198, 12, 48);border-color:rgb(198, 12, 48)}/*!@.duet-button.primary:hover, .duet-button.input-button-primary:hover*/.duet-button.primary.sc-duet-button:hover,.duet-button.input-button-primary.sc-duet-button:hover{background:#005f8f;border-color:#005f8f;box-shadow:0 4px 20px 0 rgba(34, 34, 34, 0.1)}/*!@.duet-theme-turva .duet-button.primary:hover, .duet-theme-turva .duet-button.input-button-primary:hover*/.duet-theme-turva.sc-duet-button .duet-button.primary.sc-duet-button:hover,.duet-theme-turva.sc-duet-button .duet-button.input-button-primary.sc-duet-button:hover{background:rgb(148, 9, 37);border-color:rgb(148, 9, 37)}/*!@.duet-button.primary:focus, .duet-button.input-button-primary:focus*/.duet-button.primary.sc-duet-button:focus,.duet-button.input-button-primary.sc-duet-button:focus{outline:0;box-shadow:0 0 0 1px #fff, 0 0 0 4px rgba(0, 119, 179, 0.75)}/*!@.duet-theme-turva .duet-button.primary:focus, .duet-theme-turva .duet-button.input-button-primary:focus*/.duet-theme-turva.sc-duet-button .duet-button.primary.sc-duet-button:focus,.duet-theme-turva.sc-duet-button .duet-button.input-button-primary.sc-duet-button:focus{box-shadow:0 0 0 1px #fff, 0 0 0 4px rgba(23, 28, 58, 0.75)}/*!@.duet-button.secondary, .duet-button.input-button-secondary, .duet-button.input-button-embedded*/.duet-button.secondary.sc-duet-button,.duet-button.input-button-secondary.sc-duet-button,.duet-button.input-button-embedded.sc-duet-button{color:rgb(0, 41, 77) !important;background:transparent;border-color:rgb(0, 41, 77)}/*!@.duet-theme-turva .duet-button.secondary, .duet-theme-turva .duet-button.input-button-secondary, .duet-theme-turva .duet-button.input-button-embedded*/.duet-theme-turva.sc-duet-button .duet-button.secondary.sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button.input-button-secondary.sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button.input-button-embedded.sc-duet-button{color:rgb(23, 28, 58) !important;border-color:rgb(23, 28, 58)}/*!@.duet-button.secondary:hover, .duet-button.input-button-secondary:hover, .duet-button.input-button-embedded:hover*/.duet-button.secondary.sc-duet-button:hover,.duet-button.input-button-secondary.sc-duet-button:hover,.duet-button.input-button-embedded.sc-duet-button:hover{color:rgb(0, 119, 179) !important;border-color:rgb(0, 119, 179)}/*!@.duet-theme-turva .duet-button.secondary:hover, .duet-theme-turva .duet-button.input-button-secondary:hover, .duet-theme-turva .duet-button.input-button-embedded:hover*/.duet-theme-turva.sc-duet-button .duet-button.secondary.sc-duet-button:hover,.duet-theme-turva.sc-duet-button .duet-button.input-button-secondary.sc-duet-button:hover,.duet-theme-turva.sc-duet-button .duet-button.input-button-embedded.sc-duet-button:hover{color:rgb(198, 12, 48) !important;border-color:rgb(198, 12, 48)}/*!@.duet-button.secondary.duet-button-negative, .duet-button.input-button-secondary.duet-button-negative, .duet-button.input-button-embedded.duet-button-negative*/.duet-button.secondary.duet-button-negative.sc-duet-button,.duet-button.input-button-secondary.duet-button-negative.sc-duet-button,.duet-button.input-button-embedded.duet-button-negative.sc-duet-button{color:rgb(225, 227, 230) !important;border-color:rgb(255, 255, 255)}/*!@.duet-theme-turva .duet-button.secondary.duet-button-negative, .duet-theme-turva .duet-button.input-button-secondary.duet-button-negative, .duet-theme-turva .duet-button.input-button-embedded.duet-button-negative*/.duet-theme-turva.sc-duet-button .duet-button.secondary.duet-button-negative.sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button.input-button-secondary.duet-button-negative.sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button.input-button-embedded.duet-button-negative.sc-duet-button{color:rgb(228, 228, 230) !important}/*!@.duet-button.secondary.duet-button-negative:hover, .duet-button.input-button-secondary.duet-button-negative:hover, .duet-button.input-button-embedded.duet-button-negative:hover*/.duet-button.secondary.duet-button-negative.sc-duet-button:hover,.duet-button.input-button-secondary.duet-button-negative.sc-duet-button:hover,.duet-button.input-button-embedded.duet-button-negative.sc-duet-button:hover{color:rgb(0, 119, 179) !important;border-color:rgb(0, 119, 179)}/*!@.duet-theme-turva .duet-button.secondary.duet-button-negative:hover, .duet-theme-turva .duet-button.input-button-secondary.duet-button-negative:hover, .duet-theme-turva .duet-button.input-button-embedded.duet-button-negative:hover*/.duet-theme-turva.sc-duet-button .duet-button.secondary.duet-button-negative.sc-duet-button:hover,.duet-theme-turva.sc-duet-button .duet-button.input-button-secondary.duet-button-negative.sc-duet-button:hover,.duet-theme-turva.sc-duet-button .duet-button.input-button-embedded.duet-button-negative.sc-duet-button:hover{color:rgb(198, 12, 48) !important;border-color:rgb(198, 12, 48)}/*!@.duet-button.input-button-embedded*/.duet-button.input-button-embedded.sc-duet-button{width:40px;min-width:40px !important;min-height:40px !important;margin:4px !important;border-width:0 !important;border-radius:4px !important}/*!@.duet-button.input-button*/.duet-button.input-button.sc-duet-button{height:auto}/*!@.duet-button.negative*/.duet-button.negative.sc-duet-button{color:rgb(0, 41, 77) !important;background:rgb(255, 255, 255);border-color:rgb(255, 255, 255)}/*!@.duet-theme-turva .duet-button.negative*/.duet-theme-turva.sc-duet-button .duet-button.negative.sc-duet-button{color:rgb(23, 28, 58) !important}/*!@.duet-button.negative:hover*/.duet-button.negative.sc-duet-button:hover{color:rgb(255, 255, 255) !important;background:transparent;border-color:rgb(255, 255, 255)}/*!@.duet-button.negative:focus*/.duet-button.negative.sc-duet-button:focus{outline:0;box-shadow:0 0 0 1px #00294d, 0 0 0 4px rgba(255, 255, 255, 0.7)}/*!@.duet-theme-turva .duet-button.negative:focus*/.duet-theme-turva.sc-duet-button .duet-button.negative.sc-duet-button:focus{box-shadow:0 0 0 1px #0077b3, 0 0 0 4px rgba(255, 255, 255, 0.7)}/*!@.duet-button.destructive-primary*/.duet-button.destructive-primary.sc-duet-button{color:rgb(255, 255, 255) !important;background:rgb(222, 35, 98);border-color:rgb(222, 35, 98)}/*!@.duet-theme-turva .duet-button.destructive-primary*/.duet-theme-turva.sc-duet-button .duet-button.destructive-primary.sc-duet-button{color:rgb(255, 255, 255) !important;background:rgb(224, 42, 13);border-color:rgb(224, 42, 13)}/*!@.duet-button.destructive-primary:hover*/.duet-button.destructive-primary.sc-duet-button:hover{background:#b21c4e;border-color:#b21c4e;box-shadow:0 4px 20px 0 rgba(34, 34, 34, 0.1)}/*!@.duet-theme-turva .duet-button.destructive-primary:hover*/.duet-theme-turva.sc-duet-button .duet-button.destructive-primary.sc-duet-button:hover{background:#b3220a}/*!@.duet-button.destructive, .duet-button.destructive-secondary*/.duet-button.destructive.sc-duet-button,.duet-button.destructive-secondary.sc-duet-button{color:rgb(222, 35, 98) !important;background:rgb(255, 255, 255);border-color:rgb(222, 35, 98)}/*!@.duet-theme-turva .duet-button.destructive, .duet-theme-turva .duet-button.destructive-secondary*/.duet-theme-turva.sc-duet-button .duet-button.destructive.sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button.destructive-secondary.sc-duet-button{color:rgb(224, 42, 13) !important;background:rgb(255, 255, 255);border-color:rgb(224, 42, 13)}/*!@.duet-button.destructive:hover, .duet-button.destructive-secondary:hover*/.duet-button.destructive.sc-duet-button:hover,.duet-button.destructive-secondary.sc-duet-button:hover{color:rgb(255, 255, 255) !important;background:#b21c4e;border-color:#b21c4e}/*!@.duet-theme-turva .duet-button.destructive:hover, .duet-theme-turva .duet-button.destructive-secondary:hover*/.duet-theme-turva.sc-duet-button .duet-button.destructive.sc-duet-button:hover,.duet-theme-turva.sc-duet-button .duet-button.destructive-secondary.sc-duet-button:hover{color:rgb(255, 255, 255) !important;background:#b3220a;border-color:#b3220a}/*!@.duet-button.plain*/.duet-button.plain.sc-duet-button{min-width:48px;padding-right:0 !important;padding-left:0 !important;line-height:1.5;text-align:left;background:transparent;border:0;border-color:transparent;border-radius:4px}/*!@.duet-theme-turva .duet-button.plain*/.duet-theme-turva.sc-duet-button .duet-button.plain.sc-duet-button{color:rgb(198, 12, 48) !important;background:transparent;border-color:transparent}/*!@.duet-button.plain.duet-p-0 .duet-button-contents*/.duet-button.plain.duet-p-0.sc-duet-button .duet-button-contents.sc-duet-button{height:auto}/*!@.duet-button.plain[disabled]*/.duet-button.plain[disabled].sc-duet-button{color:rgb(101, 119, 135) !important;cursor:not-allowed;background:transparent !important;border-color:transparent !important}/*!@.duet-theme-turva .duet-button.plain[disabled]*/.duet-theme-turva.sc-duet-button .duet-button.plain[disabled].sc-duet-button{color:transparent !important;cursor:not-allowed;background:transparent !important;border-color:rgb(228, 228, 230) !important}/*!@.duet-button.plain:hover*/.duet-button.plain.sc-duet-button:hover{color:rgb(0, 77, 128) !important;background:transparent !important}/*!@.duet-theme-turva .duet-button.plain:hover*/.duet-theme-turva.sc-duet-button .duet-button.plain.sc-duet-button:hover{color:rgb(148, 9, 37) !important}/*!@.duet-button.plain.duet-button-negative*/.duet-button.plain.duet-button-negative.sc-duet-button{color:rgb(255, 255, 255) !important}/*!@.duet-theme-turva .duet-button.plain.duet-button-negative*/.duet-theme-turva.sc-duet-button .duet-button.plain.duet-button-negative.sc-duet-button{color:rgb(228, 228, 230) !important}/*!@.duet-button.plain.duet-button-negative:hover*/.duet-button.plain.duet-button-negative.sc-duet-button:hover{color:rgb(0, 119, 179) !important}/*!@.duet-theme-turva .duet-button.plain.duet-button-negative:hover*/.duet-theme-turva.sc-duet-button .duet-button.plain.duet-button-negative.sc-duet-button:hover{color:rgb(198, 12, 48) !important}/*!@.duet-button.duet-button-icon-only*/.duet-button.duet-button-icon-only.sc-duet-button{min-width:48px;min-height:48px;padding:0 !important}/*!@.duet-button.duet-button-icon-only .duet-button-contents*/.duet-button.duet-button-icon-only.sc-duet-button .duet-button-contents.sc-duet-button{position:static}/*!@.duet-button.duet-button-icon-only .duet-button-icon.left.large,\n.duet-button.duet-button-icon-only .duet-button-icon.left.medium,\n.duet-button.duet-button-icon-only .duet-button-icon.left.small*/.duet-button.duet-button-icon-only.sc-duet-button .duet-button-icon.left.large.sc-duet-button,.duet-button.duet-button-icon-only.sc-duet-button .duet-button-icon.left.medium.sc-duet-button,.duet-button.duet-button-icon-only.sc-duet-button .duet-button-icon.left.small.sc-duet-button{position:absolute;top:50% !important;left:50% !important;padding:0;margin:0;transform:translateX(-50%) translateY(-50%)}/*!@.duet-button.duet-button.input-button-primary, .duet-button.duet-button.input-button-secondary, .duet-button.duet-button.input-button-embedded*/.duet-button.duet-button.input-button-primary.sc-duet-button,.duet-button.duet-button.input-button-secondary.sc-duet-button,.duet-button.duet-button.input-button-embedded.sc-duet-button{box-sizing:content-box;min-width:48px;min-height:48px;padding:0 !important;border-width:1px;border-top-left-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:0}/*!@.duet-button.duet-button.input-button-primary .duet-button-contents, .duet-button.duet-button.input-button-secondary .duet-button-contents, .duet-button.duet-button.input-button-embedded .duet-button-contents*/.duet-button.duet-button.input-button-primary.sc-duet-button .duet-button-contents.sc-duet-button,.duet-button.duet-button.input-button-secondary.sc-duet-button .duet-button-contents.sc-duet-button,.duet-button.duet-button.input-button-embedded.sc-duet-button .duet-button-contents.sc-duet-button{position:static}/*!@.duet-button.duet-button.input-button-primary .duet-button-icon.left.large,\n.duet-button.duet-button.input-button-primary .duet-button-icon.left.medium,\n.duet-button.duet-button.input-button-primary .duet-button-icon.left.small, .duet-button.duet-button.input-button-secondary .duet-button-icon.left.large,\n.duet-button.duet-button.input-button-secondary .duet-button-icon.left.medium,\n.duet-button.duet-button.input-button-secondary .duet-button-icon.left.small, .duet-button.duet-button.input-button-embedded .duet-button-icon.left.large,\n.duet-button.duet-button.input-button-embedded .duet-button-icon.left.medium,\n.duet-button.duet-button.input-button-embedded .duet-button-icon.left.small*/.duet-button.duet-button.input-button-primary.sc-duet-button .duet-button-icon.left.large.sc-duet-button,.duet-button.duet-button.input-button-primary.sc-duet-button .duet-button-icon.left.medium.sc-duet-button,.duet-button.duet-button.input-button-primary.sc-duet-button .duet-button-icon.left.small.sc-duet-button,.duet-button.duet-button.input-button-secondary.sc-duet-button .duet-button-icon.left.large.sc-duet-button,.duet-button.duet-button.input-button-secondary.sc-duet-button .duet-button-icon.left.medium.sc-duet-button,.duet-button.duet-button.input-button-secondary.sc-duet-button .duet-button-icon.left.small.sc-duet-button,.duet-button.duet-button.input-button-embedded.sc-duet-button .duet-button-icon.left.large.sc-duet-button,.duet-button.duet-button.input-button-embedded.sc-duet-button .duet-button-icon.left.medium.sc-duet-button,.duet-button.duet-button.input-button-embedded.sc-duet-button .duet-button-icon.left.small.sc-duet-button{position:absolute;top:50% !important;left:50% !important;padding:0;margin:0;transform:translateX(-50%) translateY(-50%)}/*!@.duet-button.duet-button.input-button-embedded*/.duet-button.duet-button.input-button-embedded.sc-duet-button{border-left-width:0}/*!@.duet-button.square*/.duet-button.square.sc-duet-button{width:52px;min-width:auto !important;padding:0 !important;font-size:1rem;border-color:rgb(207, 210, 212);border-width:1px}/*!@.duet-button.square.duet-button-size-small*/.duet-button.square.duet-button-size-small.sc-duet-button{width:42px;font-size:0.875rem}/*!@.duet-button.square.duet-button-size-x-small*/.duet-button.square.duet-button-size-x-small.sc-duet-button{width:34px;font-size:0.875rem}/*!@.duet-button.square.duet-button-negative*/.duet-button.square.duet-button-negative.sc-duet-button{color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179);border-color:rgb(0, 119, 179)}/*!@.duet-theme-turva .duet-button.square.duet-button-negative*/.duet-theme-turva.sc-duet-button .duet-button.square.duet-button-negative.sc-duet-button{color:rgb(255, 255, 255) !important;background:rgb(198, 12, 48);border-color:rgb(198, 12, 48)}/*!@.duet-theme-turva .duet-button.square*/.duet-theme-turva.sc-duet-button .duet-button.square.sc-duet-button{border-color:rgb(228, 228, 230)}/*!@.duet-button.square:hover*/.duet-button.square.sc-duet-button:hover{border-color:rgb(0, 119, 179);outline:2px solid rgb(0, 119, 179);outline-offset:-2px}/*!@.duet-theme-turva .duet-button.square:hover*/.duet-theme-turva.sc-duet-button .duet-button.square.sc-duet-button:hover{border-color:rgb(198, 12, 48);outline-color:rgb(198, 12, 48)}/*!@.duet-button.square .duet-button-contents*/.duet-button.square.sc-duet-button .duet-button-contents.sc-duet-button{gap:0}/*!@.duet-button[disabled], .duet-button[disabled]:hover, .duet-button.duet-button-negative[disabled], .duet-button.duet-button-negative[disabled]:hover*/.duet-button[disabled].sc-duet-button,.duet-button[disabled].sc-duet-button:hover,.duet-button.duet-button-negative[disabled].sc-duet-button,.duet-button.duet-button-negative[disabled].sc-duet-button:hover{color:rgb(101, 119, 135) !important;cursor:not-allowed;background:rgb(225, 227, 230) !important;border-color:rgb(225, 227, 230) !important;outline-color:rgb(225, 227, 230) !important;box-shadow:none !important}/*!@.duet-theme-turva .duet-button[disabled], .duet-theme-turva .duet-button[disabled]:hover, .duet-theme-turva .duet-button.duet-button-negative [disabled], .duet-theme-turva .duet-button.duet-button-negative [disabled]:hover*/.duet-theme-turva.sc-duet-button .duet-button[disabled].sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button[disabled].sc-duet-button:hover,.duet-theme-turva.sc-duet-button .duet-button.duet-button-negative.sc-duet-button [disabled].sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button.duet-button-negative.sc-duet-button [disabled].sc-duet-button:hover{color:rgb(116, 116, 117) !important;cursor:not-allowed;background:rgb(228, 228, 230) !important;border-color:rgb(228, 228, 230) !important;outline-color:rgb(228, 228, 230) !important}/*!@.duet-button-is-loading.primary, .duet-button-is-loading.input-button-primary*/.duet-button-is-loading.primary.sc-duet-button,.duet-button-is-loading.input-button-primary.sc-duet-button{color:rgb(255, 255, 255)}/*!@.duet-button-is-loading.default*/.duet-button-is-loading.default.sc-duet-button{color:rgb(0, 119, 179)}/*!@.duet-button-is-loading.default.duet-theme-turva*/.duet-button-is-loading.default.duet-theme-turva.sc-duet-button{color:rgb(198, 12, 48)}/*!@.duet-button-is-loading .duet-button-contents*/.duet-button-is-loading.sc-duet-button .duet-button-contents.sc-duet-button{visibility:hidden;opacity:0}";
8917
8945
 
8918
8946
  class DuetButton {
8919
8947
  constructor(hostRef) {
@@ -9199,7 +9227,8 @@ class DuetCallout {
9199
9227
  */
9200
9228
  componentWillLoad() {
9201
9229
  inheritGlobalTheme(this);
9202
- this.hasAuthorSlot = !!this.element.querySelector('[slot="author"]');
9230
+ this.hasAuthorSlot = hasSlot(this.element, "author");
9231
+ checkNamedSlotElement(this.element, "author", "span");
9203
9232
  }
9204
9233
  /**
9205
9234
  * render() function
@@ -9214,7 +9243,7 @@ class DuetCallout {
9214
9243
  "duet-callout": true,
9215
9244
  "duet-theme-turva": this.theme === "turva",
9216
9245
  "duet-m-0": this.margin === "none",
9217
- } }, hAsync("figure", { class: "container" }, hAsync("duet-icon", { class: "callout-icon", shape: "brand-rotated", background: "primary-lighter", "background-opacity": "0.75", "background-rotation": this.theme === "turva" ? "0" : "7", color: "secondary", icon: icon, size: "auto", margin: "none", theme: this.theme }), hAsync("blockquote", null, hAsync("slot", null)), this.hasAuthorSlot && (hAsync("figcaption", { class: "author" }, hAsync("span", null, "\u2014 "), hAsync("slot", { name: "author", onSlotchange: ev => slotElementCheck(ev, this, "span") })))))));
9246
+ } }, hAsync("figure", { class: "container" }, hAsync("duet-icon", { class: "callout-icon", shape: "brand-rotated", background: "primary-lighter", "background-opacity": "0.75", "background-rotation": this.theme === "turva" ? "0" : "7", color: "secondary", icon: icon, size: "auto", margin: "none", theme: this.theme }), hAsync("blockquote", null, hAsync("slot", null)), this.hasAuthorSlot && (hAsync("figcaption", { class: "author" }, hAsync("span", null, "\u2014 "), hAsync("slot", { name: "author" })))))));
9218
9247
  }
9219
9248
  get element() { return getElement(this); }
9220
9249
  static get style() { return duetCalloutCss; }
@@ -9355,8 +9384,9 @@ class DuetCard {
9355
9384
  }
9356
9385
  }
9357
9386
  /**
9358
- * Sets focus on the specified `duet-card`. Use this method instead of the global
9359
- * `card.focus()`.
9387
+ * Sets focus on underlying a element.
9388
+ * Available only when url attribute is used.
9389
+ * Use this method instead of the native `focus()`.
9360
9390
  */
9361
9391
  async setFocus(options) {
9362
9392
  if (this.nativeCard) {
@@ -10231,6 +10261,7 @@ class DuetChoiceGroup {
10231
10261
  }
10232
10262
  componentWillLoad() {
10233
10263
  inheritGlobalTheme(this);
10264
+ checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
10234
10265
  }
10235
10266
  /**
10236
10267
  * Local methods
@@ -11610,7 +11641,7 @@ function createShortcuts(shortcuts) {
11610
11641
  };
11611
11642
  }
11612
11643
 
11613
- const duetDatePickerCss = "*.sc-duet-date-picker,*.sc-duet-date-picker::after,*.sc-duet-date-picker::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-date-picker-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;position:relative;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:top}.sc-duet-date-picker-h:last-child,.sc-duet-date-picker-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-date-picker-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-date-picker-h{width:100% !important}.duet-m-0.sc-duet-date-picker-h{margin:0 !important}.duet-date.sc-duet-date-picker{position:relative;width:100%}.duet-date.sc-duet-date-picker button.sc-duet-date-picker,.duet-date-dialog.sc-duet-date-picker button.sc-duet-date-picker{max-width:initial !important;min-height:initial !important;padding:0 !important;margin:0 !important;transition:initial}.duet-date-button.sc-duet-date-picker{-webkit-user-select:none;user-select:none;position:absolute;top:1px;right:1px;z-index:200;display:flex;align-items:center;justify-content:center;width:48px;height:calc(100% - 2px);color:rgb(0, 41, 77);cursor:pointer;background:transparent !important;border-left:1px solid rgb(207, 210, 212) !important;border-radius:0 4px 4px 0 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker{color:rgb(23, 28, 58);border-color:rgb(207, 207, 209)}.duet-date-button.sc-duet-date-picker::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:\"\";background:linear-gradient(to left, rgba(207, 210, 212, 0.2) 0%, rgba(207, 210, 212, 0.2) 1px, rgba(207, 210, 212, 0.1) 1px, rgba(207, 210, 212, 0) 100%)}.duet-date-button.sc-duet-date-picker:disabled{pointer-events:none;cursor:not-allowed;background:rgb(245, 248, 250) !important;border:0 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:disabled{background:rgb(245, 245, 247) !important}.duet-date-button.sc-duet-date-picker:disabled::before{display:none}.duet-date-button.sc-duet-date-picker:disabled duet-icon.sc-duet-date-picker{opacity:0.4}.duet-date-button.sc-duet-date-picker duet-icon.sc-duet-date-picker{transform:translateY(-1px)}.duet-date-button.sc-duet-date-picker:active duet-icon.sc-duet-date-picker{transform:translateY(0)}.duet-date-button.sc-duet-date-picker:focus{color:rgb(0, 119, 179);border-color:transparent;outline:0;box-shadow:0 0 0 2px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:focus{color:rgb(23, 28, 58);box-shadow:0 0 0 2px #171c3a !important}.duet-date-dialog.sc-duet-date-picker{position:absolute;top:100%;left:0;z-index:900;display:flex;width:100%;visibility:hidden;opacity:0;transition:transform 300ms ease, opacity 300ms ease, visibility 300ms ease;transform:scale(0.96) translateZ(0) translateY(-20px);transform-origin:top right}@media (min-width: 36em){.duet-date-dialog.left.sc-duet-date-picker{right:0;left:auto;width:auto}}@media (max-width: 35.9375em){.duet-date-dialog.sc-duet-date-picker{position:fixed;top:0;right:0;bottom:0;background:rgba(0, 41, 77, 0.75);transition:opacity 400ms ease, visibility 400ms ease;transform:translateZ(0);transform-origin:bottom center}.duet-date-dialog.duet-theme-turva.sc-duet-date-picker{background:rgba(23, 28, 58, 0.75)}}.duet-date-dialog.active.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:scale(1.0001) translateZ(0) translateY(0)}@media (min-width: 36em){.duet-date-dialog.error.sc-duet-date-picker{top:calc(100% - 28px);margin-top:4px}}.duet-date-dialog-wrapper.sc-duet-date-picker{position:relative;z-index:600;width:100%;min-width:290px;max-width:310px;padding:16px 16px 20px;margin-top:8px;margin-left:auto;background:rgb(255, 255, 255);border:1px solid rgb(225, 227, 230);border-radius:4px;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);transform:none}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{border-color:rgb(228, 228, 230)}@media (max-width: 35.9375em){.duet-date-dialog-wrapper.sc-duet-date-picker{position:absolute;bottom:0;left:0;z-index:900;max-width:none;min-height:25em;padding:0 8% 20px;margin:0;visibility:hidden;border:0;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;opacity:0;transition:transform 400ms ease, opacity 400ms ease, visibility 400ms ease;transform:translateZ(0) translateY(100%)}.active.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:translateZ(0) translateY(0)}}.duet-date-table.sc-duet-date-picker{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;line-height:1.25;color:rgb(0, 41, 77);text-align:center;border-spacing:0;border-collapse:collapse}.duet-date-table.duet-theme-turva.sc-duet-date-picker{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-date-table.sc-duet-date-picker th.sc-duet-date-picker{padding-bottom:8px;font-size:0.75rem;font-weight:600;line-height:1.25;text-decoration:none;text-transform:uppercase;letter-spacing:1px}.duet-date-table.sc-duet-date-picker .duet-date-table-cell.sc-duet-date-picker{text-align:center}.duet-date-table-button.sc-duet-date-picker{position:relative;z-index:100;display:inline-block !important;width:36.9230769231px !important;height:36.9230769231px !important;min-height:initial !important;padding:0 !important;margin:0 !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:0.875rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25 !important;color:rgb(0, 41, 77) !important;text-align:center;vertical-align:initial !important;cursor:pointer;background:transparent !important;border-radius:50% !important;transition:initial !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !important;color:rgb(23, 28, 58) !important}.duet-date-table-button.sc-duet-date-picker:hover{background:rgb(230, 242, 248) !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:hover{background:rgb(249, 230, 234) !important}.duet-date-table-button.today.sc-duet-date-picker{z-index:200;color:rgb(0, 77, 128) !important;background:rgb(243, 249, 252) !important;box-shadow:0 0 0 1px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.today.sc-duet-date-picker{color:rgb(148, 9, 37) !important;background:rgb(252, 243, 244) !important;box-shadow:0 0 0 1px #171c3a !important}.duet-date-table-button[aria-pressed=true].sc-duet-date-picker,.duet-date-table-button.sc-duet-date-picker:focus{color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179) !important;outline:0}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button[aria-pressed=true].sc-duet-date-picker,.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:focus{color:rgb(255, 255, 255) !important;background:rgb(198, 12, 48) !important}.duet-date-table-button.sc-duet-date-picker:active{z-index:200;color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179) !important;box-shadow:0 0 5px 0 #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:active{color:rgb(255, 255, 255) !important;background:rgb(198, 12, 48) !important;box-shadow:0 0 5px 0 #171c3a !important}.duet-date-table-button.sc-duet-date-picker:focus{z-index:200;box-shadow:0 0 5px 0 #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:focus{box-shadow:0 0 5px 0 #171c3a !important}.duet-date-table-button.disabled.sc-duet-date-picker{color:rgb(144, 149, 153) !important;cursor:default;background:transparent !important;box-shadow:none !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.disabled.sc-duet-date-picker{color:rgb(116, 116, 117) !important;background:transparent !important;box-shadow:none !important}.duet-date-table-button.outside.sc-duet-date-picker{color:rgb(144, 149, 153) !important;pointer-events:none;cursor:default;background:rgb(245, 248, 250) !important;box-shadow:none;opacity:0.75}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.outside.sc-duet-date-picker{color:rgb(116, 116, 117);background:rgb(245, 245, 247);box-shadow:none}.duet-date-dialog-header.sc-duet-date-picker{margin-bottom:16px !important;display:flex;align-items:center;justify-content:space-between;width:100%}.duet-date-dialog-buttons.sc-duet-date-picker{white-space:nowrap}.duet-date-dialog-buttons.sc-duet-date-picker .sc-duet-date-picker::part(button){border:0}.duet-date-dialog-select.sc-duet-date-picker{position:relative;display:inline-flex;margin-top:4px}.duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{position:relative;z-index:1;display:flex;align-items:center;width:100%;padding:0 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:1.25rem;font-weight:600;line-height:1.25;color:rgb(0, 41, 77);pointer-events:none;border-radius:4px}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{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-date-dialog-select.sc-duet-date-picker span.sc-duet-date-picker{margin-right:4px}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;font-size:1rem;cursor:pointer;opacity:0}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #171c3a !important}.duet-date-dialog-mobile-header.sc-duet-date-picker{position:relative;display:flex;align-items:center;justify-content:space-between;width:120%;padding:12px 20px;margin-bottom:20px;margin-left:-10%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid rgb(207, 210, 212)}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker{position:absolute;top:-8px;right:-8px;width:auto;padding:0;margin:0;overflow:visible;border:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-mobile-header.sc-duet-date-picker{border-color:rgb(207, 207, 209)}.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:inline-block;max-width:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:none}}.duet-date-picker-close.sc-duet-date-picker{display:flex;align-items:center;justify-content:center;width:24px;height:24px !important;padding:0 !important;color:rgb(0, 41, 77) !important;cursor:pointer;background:rgb(245, 248, 250) !important;border-radius:50%;-webkit-appearance:none;appearance:none}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker{opacity:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker{background:rgb(245, 245, 247) !important}.duet-date-picker-close.sc-duet-date-picker:hover{background:rgb(245, 248, 250) !important}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:hover{background:rgb(245, 245, 247) !important}.duet-date-picker-close.sc-duet-date-picker:focus{outline:none;box-shadow:0 0 0 2px #0077b3 !important}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker:focus{opacity:1}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:focus{box-shadow:0 0 0 2px #171c3a !important}";
11644
+ const duetDatePickerCss = "*.sc-duet-date-picker,*.sc-duet-date-picker::after,*.sc-duet-date-picker::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-date-picker-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;position:relative;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:top}.sc-duet-date-picker-h:last-child,.sc-duet-date-picker-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-date-picker-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-date-picker-h{width:100% !important}.duet-m-0.sc-duet-date-picker-h{margin:0 !important}.duet-date.sc-duet-date-picker{position:relative;width:100%}.duet-date.sc-duet-date-picker button.sc-duet-date-picker,.duet-date-dialog.sc-duet-date-picker button.sc-duet-date-picker{max-width:initial !important;min-height:initial !important;padding:0 !important;margin:0 !important;transition:initial}.duet-date-button.sc-duet-date-picker{-webkit-user-select:none;user-select:none;position:absolute;top:1px;right:1px;z-index:200;display:flex;align-items:center;justify-content:center;width:48px;height:calc(100% - 2px);color:rgb(0, 41, 77);cursor:pointer;background:transparent !important;border-left:1px solid rgb(207, 210, 212) !important;border-radius:0 4px 4px 0 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker{color:rgb(23, 28, 58);border-color:rgb(207, 207, 209)}.duet-date-button.sc-duet-date-picker::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:\"\";background:linear-gradient(to left, rgba(207, 210, 212, 0.2) 0%, rgba(207, 210, 212, 0.2) 1px, rgba(207, 210, 212, 0.1) 1px, rgba(207, 210, 212, 0) 100%)}.duet-date-button.sc-duet-date-picker:disabled{pointer-events:none;cursor:not-allowed;background:rgb(245, 248, 250) !important;border:0 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:disabled{background:rgb(245, 245, 247) !important}.duet-date-button.sc-duet-date-picker:disabled::before{display:none}.duet-date-button.sc-duet-date-picker:disabled duet-icon.sc-duet-date-picker{opacity:0.4}.duet-date-button.sc-duet-date-picker duet-icon.sc-duet-date-picker{transform:translateY(-1px)}.duet-date-button.sc-duet-date-picker:active duet-icon.sc-duet-date-picker{transform:translateY(0)}.duet-date-button.sc-duet-date-picker:focus{color:rgb(0, 119, 179);border-color:transparent;outline:0;box-shadow:0 0 0 2px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:focus{color:rgb(23, 28, 58);box-shadow:0 0 0 2px #171c3a !important}.duet-date-dialog.sc-duet-date-picker{position:absolute;top:100%;left:0;z-index:900;display:flex;width:100%;visibility:hidden;opacity:0;transition:transform 300ms ease, opacity 300ms ease, visibility 300ms ease;transform:scale(0.96) translateZ(0) translateY(-20px);transform-origin:top right}@media (min-width: 36em){.duet-date-dialog.left.sc-duet-date-picker{right:0;left:auto;width:auto}}@media (max-width: 35.9375em){.duet-date-dialog.sc-duet-date-picker{position:fixed;top:0;right:0;bottom:0;background:rgba(0, 41, 77, 0.3);transition:opacity 400ms ease, visibility 400ms ease;transform:translateZ(0);transform-origin:bottom center}.duet-date-dialog.duet-theme-turva.sc-duet-date-picker{background:rgba(23, 28, 58, 0.3)}}.duet-date-dialog.active.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:scale(1.0001) translateZ(0) translateY(0)}@media (min-width: 36em){.duet-date-dialog.error.sc-duet-date-picker{top:calc(100% - 28px);margin-top:4px}}.duet-date-dialog-wrapper.sc-duet-date-picker{position:relative;z-index:600;width:100%;min-width:290px;max-width:310px;padding:16px 16px 20px;margin-top:8px;margin-left:auto;background:rgb(255, 255, 255);border:1px solid rgb(225, 227, 230);border-radius:4px;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);transform:none}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{border-color:rgb(228, 228, 230)}@media (max-width: 35.9375em){.duet-date-dialog-wrapper.sc-duet-date-picker{position:absolute;bottom:0;left:0;z-index:900;max-width:none;min-height:25em;padding:0 8% 20px;margin:0;visibility:hidden;border:0;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;opacity:0;transition:transform 400ms ease, opacity 400ms ease, visibility 400ms ease;transform:translateZ(0) translateY(100%)}.active.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:translateZ(0) translateY(0)}}.duet-date-table.sc-duet-date-picker{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;line-height:1.25;color:rgb(0, 41, 77);text-align:center;border-spacing:0;border-collapse:collapse}.duet-date-table.duet-theme-turva.sc-duet-date-picker{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-date-table.sc-duet-date-picker th.sc-duet-date-picker{padding-bottom:8px;font-size:0.75rem;font-weight:600;line-height:1.25;text-decoration:none;text-transform:uppercase;letter-spacing:1px}.duet-date-table.sc-duet-date-picker .duet-date-table-cell.sc-duet-date-picker{text-align:center}.duet-date-table-button.sc-duet-date-picker{position:relative;z-index:100;display:inline-block !important;width:36.9230769231px !important;height:36.9230769231px !important;min-height:initial !important;padding:0 !important;margin:0 !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:0.875rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25 !important;color:rgb(0, 41, 77) !important;text-align:center;vertical-align:initial !important;cursor:pointer;background:transparent !important;border-radius:50% !important;transition:initial !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !important;color:rgb(23, 28, 58) !important}.duet-date-table-button.sc-duet-date-picker:hover{background:rgb(230, 242, 248) !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:hover{background:rgb(249, 230, 234) !important}.duet-date-table-button.today.sc-duet-date-picker{z-index:200;color:rgb(0, 77, 128) !important;background:rgb(243, 249, 252) !important;box-shadow:0 0 0 1px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.today.sc-duet-date-picker{color:rgb(148, 9, 37) !important;background:rgb(252, 243, 244) !important;box-shadow:0 0 0 1px #171c3a !important}.duet-date-table-button[aria-pressed=true].sc-duet-date-picker,.duet-date-table-button.sc-duet-date-picker:focus{color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179) !important;outline:0}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button[aria-pressed=true].sc-duet-date-picker,.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:focus{color:rgb(255, 255, 255) !important;background:rgb(198, 12, 48) !important}.duet-date-table-button.sc-duet-date-picker:active{z-index:200;color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179) !important;box-shadow:0 0 5px 0 #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:active{color:rgb(255, 255, 255) !important;background:rgb(198, 12, 48) !important;box-shadow:0 0 5px 0 #171c3a !important}.duet-date-table-button.sc-duet-date-picker:focus{z-index:200;box-shadow:0 0 5px 0 #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:focus{box-shadow:0 0 5px 0 #171c3a !important}.duet-date-table-button.disabled.sc-duet-date-picker{color:rgb(144, 149, 153) !important;cursor:default;background:transparent !important;box-shadow:none !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.disabled.sc-duet-date-picker{color:rgb(116, 116, 117) !important;background:transparent !important;box-shadow:none !important}.duet-date-table-button.outside.sc-duet-date-picker{color:rgb(144, 149, 153) !important;pointer-events:none;cursor:default;background:rgb(245, 248, 250) !important;box-shadow:none;opacity:0.75}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.outside.sc-duet-date-picker{color:rgb(116, 116, 117);background:rgb(245, 245, 247);box-shadow:none}.duet-date-dialog-header.sc-duet-date-picker{margin-bottom:16px !important;display:flex;align-items:center;justify-content:space-between;width:100%}.duet-date-dialog-buttons.sc-duet-date-picker{white-space:nowrap}.duet-date-dialog-buttons.sc-duet-date-picker .sc-duet-date-picker::part(button){border:0}.duet-date-dialog-select.sc-duet-date-picker{position:relative;display:inline-flex;margin-top:4px}.duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{position:relative;z-index:1;display:flex;align-items:center;width:100%;padding:0 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:1.25rem;font-weight:600;line-height:1.25;color:rgb(0, 41, 77);pointer-events:none;border-radius:4px}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{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-date-dialog-select.sc-duet-date-picker span.sc-duet-date-picker{margin-right:4px}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;font-size:1rem;cursor:pointer;opacity:0}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #171c3a !important}.duet-date-dialog-mobile-header.sc-duet-date-picker{position:relative;display:flex;align-items:center;justify-content:space-between;width:120%;padding:12px 20px;margin-bottom:20px;margin-left:-10%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid rgb(207, 210, 212)}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker{position:absolute;top:-8px;right:-8px;width:auto;padding:0;margin:0;overflow:visible;border:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-mobile-header.sc-duet-date-picker{border-color:rgb(207, 207, 209)}.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:inline-block;max-width:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:none}}.duet-date-picker-close.sc-duet-date-picker{display:flex;align-items:center;justify-content:center;width:24px;height:24px !important;padding:0 !important;color:rgb(0, 41, 77) !important;cursor:pointer;background:rgb(245, 248, 250) !important;border-radius:50%;-webkit-appearance:none;appearance:none}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker{opacity:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker{background:rgb(245, 245, 247) !important}.duet-date-picker-close.sc-duet-date-picker:hover{background:rgb(245, 248, 250) !important}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:hover{background:rgb(245, 245, 247) !important}.duet-date-picker-close.sc-duet-date-picker:focus{outline:none;box-shadow:0 0 0 2px #0077b3 !important}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker:focus{opacity:1}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:focus{box-shadow:0 0 0 2px #171c3a !important}";
11614
11645
 
11615
11646
  /**
11616
11647
  * @slot tooltip - Use to place a tooltip alongside the label.
@@ -11783,6 +11814,7 @@ class DuetDatePicker {
11783
11814
  inheritGlobalTheme(this);
11784
11815
  this.determineValidity(parseISODate(this.value));
11785
11816
  this.updateInternalValue();
11817
+ checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
11786
11818
  }
11787
11819
  componentDidUpdate() {
11788
11820
  // we want to run this code _after_ render
@@ -13688,9 +13720,12 @@ class DuetHero {
13688
13720
  */
13689
13721
  componentWillLoad() {
13690
13722
  inheritGlobalTheme(this);
13691
- this.hasPreHeadingSlot = !!this.element.querySelector('[slot="pre-heading"]');
13692
- this.hasHeadingSlot = !!this.element.querySelector('[slot="heading"]');
13693
- this.hasSubHeadingSlot = !!this.element.querySelector('[slot="subheading"]');
13723
+ this.hasPreHeadingSlot = hasSlot(this.element, "pre-heading");
13724
+ this.hasHeadingSlot = hasSlot(this.element, "heading");
13725
+ this.hasSubHeadingSlot = hasSlot(this.element, "subheading");
13726
+ checkNamedSlotElement(this.element, "pre-heading", "span");
13727
+ checkNamedSlotElement(this.element, "heading", "span");
13728
+ checkNamedSlotElement(this.element, "subheading", "span");
13694
13729
  this.refresh();
13695
13730
  }
13696
13731
  connectedCallback() {
@@ -13798,7 +13833,7 @@ class DuetHero {
13798
13833
  href: this.processedBack.href,
13799
13834
  id: this.processedBack.id,
13800
13835
  analyticsId: this.processedBack.analyticsId,
13801
- }) }, this.processedBack.label))), (this.variation === "gray" || this.variation === "minimal") && this.categoryIcon && (hAsync("duet-icon", { class: { "duet-hero-icon": true, "duet-hero-icon-has-heading": this.preHeading !== "" }, size: "x-large", background: this.categoryIconColor, name: this.categoryIcon })), hAsync("div", { class: { "duet-hero-text": true }, part: "duet-hero-text" }, (this.preHeading || this.hasPreHeadingSlot) && (hAsync("duet-paragraph", { margin: "none", class: "duet-hero-pre", size: this.variation === "content" ? "small" : "medium" }, this.preHeading ? (this.preHeading) : (hAsync("span", null, hAsync("slot", { name: "pre-heading", onSlotchange: ev => slotElementCheck(ev, this, "span") }))))), hAsync("slot", { name: "badge" }), (this.heading || this.hasHeadingSlot) && (hAsync("duet-heading", { theme: this.theme, level: this.level, class: { "duet-hero-heading": true, "duet-hero-heading-has-pre": this.preHeading !== "" }, color: headingColor, visualLevel: headingVisualLevel, margin: campaignOrSection ? "none" : "auto" }, this.heading ? (this.heading) : (hAsync("span", null, hAsync("slot", { name: "heading", onSlotchange: ev => slotElementCheck(ev, this, "span") }))))), campaignOrSection && this.hasSubHeadingSlot && (hAsync("duet-heading", { theme: this.theme, level: this.subHeadingLevel, class: { "duet-hero-subheading": true }, color: this.theme === "turva" ? "secondary-turva" : "secondary", visualLevel: "h2" }, hAsync("span", null, hAsync("slot", { name: "subheading", onSlotchange: ev => slotElementCheck(ev, this, "span") })))), this.description && (hAsync("duet-paragraph", { theme: this.theme, color: textColor, variation: "intro" }, this.description)), (this.variation === "gray" || this.variation === "minimal") && this.processedListItems && (hAsync("duet-list", { theme: this.theme, "label-width": "30", breakpoint: "large", mobile: this.leftAlign ? undefined : "center" }, this.processedListItems.map(item => (hAsync("duet-list-item", null, hAsync("span", { slot: "label" }, item.label), hAsync("span", { slot: "value" }, item.value)))))), this.buttonLabel && (hAsync("duet-button", { url: this.buttonUrl, icon: this.icon, iconRight: this.iconRight, iconSize: this.iconSize, variation: buttonVariation, theme: this.theme, identifier: this.buttonId, onClick: event => this.handleClick(event, this.buttonData), fixed: true }, this.buttonLabel)), hAsync("div", { class: "duet-hero-slot-unnamed" }, hAsync("slot", null))), (this.variation === "gray" || this.variation === "minimal") && this.processedActions && (hAsync("div", { class: "duet-hero-links" }, this.processedActions.map(item => (hAsync("a", { class: "duet-hero-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleClick(event, item) }, hAsync("div", { class: "duet-hero-action-icon" }, hAsync("duet-icon", { size: "small", margin: "none", name: item.icon, color: "currentColor", outline: outlineColor })), hAsync("span", null, item.label), item.external && hAsync("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), item.external && (hAsync("div", { class: "duet-hero-action-arrow" }, hAsync("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))))))), this.image &&
13836
+ }) }, this.processedBack.label))), (this.variation === "gray" || this.variation === "minimal") && this.categoryIcon && (hAsync("duet-icon", { class: { "duet-hero-icon": true, "duet-hero-icon-has-heading": this.preHeading !== "" }, size: "x-large", background: this.categoryIconColor, name: this.categoryIcon })), hAsync("div", { class: { "duet-hero-text": true }, part: "duet-hero-text" }, (this.preHeading || this.hasPreHeadingSlot) && (hAsync("duet-paragraph", { margin: "none", class: "duet-hero-pre", size: this.variation === "content" ? "small" : "medium" }, this.preHeading ? (this.preHeading) : (hAsync("span", null, hAsync("slot", { name: "pre-heading" }))))), hAsync("slot", { name: "badge" }), (this.heading || this.hasHeadingSlot) && (hAsync("duet-heading", { theme: this.theme, level: this.level, class: { "duet-hero-heading": true, "duet-hero-heading-has-pre": this.preHeading !== "" }, color: headingColor, visualLevel: headingVisualLevel, margin: campaignOrSection ? "none" : "auto" }, this.heading ? (this.heading) : (hAsync("span", null, hAsync("slot", { name: "heading" }))))), campaignOrSection && this.hasSubHeadingSlot && (hAsync("duet-heading", { theme: this.theme, level: this.subHeadingLevel, class: { "duet-hero-subheading": true }, color: this.theme === "turva" ? "secondary-turva" : "secondary", visualLevel: "h2" }, hAsync("span", null, hAsync("slot", { name: "subheading" })))), this.description && (hAsync("duet-paragraph", { theme: this.theme, color: textColor, variation: "intro" }, this.description)), (this.variation === "gray" || this.variation === "minimal") && this.processedListItems && (hAsync("duet-list", { theme: this.theme, "label-width": "30", breakpoint: "large", mobile: this.leftAlign ? undefined : "center" }, this.processedListItems.map(item => (hAsync("duet-list-item", null, hAsync("span", { slot: "label" }, item.label), hAsync("span", { slot: "value" }, item.value)))))), this.buttonLabel && (hAsync("duet-button", { url: this.buttonUrl, icon: this.icon, iconRight: this.iconRight, iconSize: this.iconSize, variation: buttonVariation, theme: this.theme, identifier: this.buttonId, onClick: event => this.handleClick(event, this.buttonData), fixed: true }, this.buttonLabel)), hAsync("div", { class: "duet-hero-slot-unnamed" }, hAsync("slot", null))), (this.variation === "gray" || this.variation === "minimal") && this.processedActions && (hAsync("div", { class: "duet-hero-links" }, this.processedActions.map(item => (hAsync("a", { class: "duet-hero-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleClick(event, item) }, hAsync("div", { class: "duet-hero-action-icon" }, hAsync("duet-icon", { size: "small", margin: "none", name: item.icon, color: "currentColor", outline: outlineColor })), hAsync("span", null, item.label), item.external && hAsync("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), item.external && (hAsync("div", { class: "duet-hero-action-arrow" }, hAsync("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))))))), this.image &&
13802
13837
  this.variation !== "image" &&
13803
13838
  !campaignOrSection &&
13804
13839
  this.variation !== "product" &&
@@ -14233,6 +14268,7 @@ class DuetInput {
14233
14268
  inheritGlobalTheme(this);
14234
14269
  this.disallowedPatternChange();
14235
14270
  this.isCaptionVisible = !!this.caption;
14271
+ checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
14236
14272
  }
14237
14273
  componentDidLoad() {
14238
14274
  if (this.variation === "revealable" && this.nativeInput.form) {
@@ -14549,11 +14585,10 @@ class DuetLink {
14549
14585
  if (this.accessibleLabel) {
14550
14586
  return this.accessibleLabel;
14551
14587
  }
14552
- if (!this.element.innerHTML) {
14553
- return "";
14588
+ if (this.external && this.element.textContent) {
14589
+ return `${this.element.textContent}. ${this.accessibleLabelExternal}.`;
14554
14590
  }
14555
- const capitalized = this.element.innerHTML[0].toUpperCase() + this.element.innerHTML.slice(1);
14556
- return `${capitalized}. ${this.external ? `${this.accessibleLabelExternal}.` : ""}`;
14591
+ return null;
14557
14592
  }
14558
14593
  renderContent() {
14559
14594
  return (hAsync(Fragment, null, hAsync("span", { class: "duet-link-content", part: "duet-link-content" }, hAsync("slot", null)), Build.isBrowser ));
@@ -14860,7 +14895,7 @@ class DuetLogo {
14860
14895
  }; }
14861
14896
  }
14862
14897
 
14863
- const duetMenuBarCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar,*.sc-duet-menu-bar::after,*.sc-duet-menu-bar::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%}/*!@.duet-menu-bar*/.duet-menu-bar.sc-duet-menu-bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;background:rgb(255, 255, 255);box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}@media (min-width: 62em){/*!@.duet-menu-bar*/.duet-menu-bar.sc-duet-menu-bar{box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1)}}/*!@.duet-menu-bar .top*/.duet-menu-bar.sc-duet-menu-bar .top.sc-duet-menu-bar{display:none}/*!@.duet-menu-bar .bottom*/.duet-menu-bar.sc-duet-menu-bar .bottom.sc-duet-menu-bar{display:none}/*!@.duet-menu-bar.horizontal-nav*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar{position:relative}/*!@.duet-menu-bar.horizontal-nav .top*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .top.sc-duet-menu-bar{position:absolute;top:0;left:3.5%;display:block;width:93%;height:1px;background:rgb(245, 248, 250)}/*!@.duet-menu-bar.horizontal-nav .bottom*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .bottom.sc-duet-menu-bar{position:absolute;bottom:0;left:0;display:block;width:100%;height:1px;background:rgb(225, 227, 230)}/*!@.duet-menu-bar.horizontal-nav .more-left*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .more-left.sc-duet-menu-bar{position:absolute;top:0;left:-1px;z-index:1;width:56px;height:49px;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0) 100%)}@media (min-width: 62em){/*!@.duet-menu-bar.horizontal-nav .more-left*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .more-left.sc-duet-menu-bar{display:none}}/*!@.duet-menu-bar.horizontal-nav .more-right*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .more-right.sc-duet-menu-bar{position:absolute;top:0;right:-1px;z-index:1;width:56px;height:49px;background:linear-gradient(270deg, #fff 0%, rgba(255, 255, 255, 0) 100%)}@media (min-width: 62em){/*!@.duet-menu-bar.horizontal-nav .more-right*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .more-right.sc-duet-menu-bar{display:none}}@media (pointer: fine){/*!@.duet-menu-bar.horizontal-nav*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar{display:none}}@media (pointer: fine) and ((min-width: 62em)){/*!@.duet-menu-bar.horizontal-nav*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar{display:flex}}/*!@.duet-menu-bar .container*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1440px;height:100%;height:3.25rem;padding:0 8px 0 20px;overflow-x:auto;scrollbar-width:none}/*!@.duet-menu-bar .container::-webkit-scrollbar*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar::-webkit-scrollbar{width:0;height:0}@media (min-width: 62em){/*!@.duet-menu-bar .container*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar{height:5rem;padding:0 28px;overflow-x:visible}}/*!@.duet-menu-bar .container .list*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar .list.sc-duet-menu-bar{height:100%;list-style-type:none}/*!@.duet-menu-bar .container ::slotted(*)*/.duet-menu-bar .container .sc-duet-menu-bar-s>*{height:100%}/*!@.duet-menu-bar .container > **/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar>*.sc-duet-menu-bar{display:flex;align-items:center;justify-content:center;height:100%}/*!@.duet-menu-bar .container > :first-child*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar>.sc-duet-menu-bar:first-child{flex-basis:0;flex-grow:1;justify-content:flex-start}/*!@.duet-menu-bar .container > :last-child*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar>.sc-duet-menu-bar:last-child{flex-basis:0;flex-grow:1;justify-content:flex-end}/*!@.duet-menu-bar .container ::slotted(*)*/.duet-menu-bar .container .sc-duet-menu-bar-s>*{display:flex;align-items:center;justify-content:center;height:100%}/*!@.duet-menu-bar.duet-theme-turva*/.duet-menu-bar.duet-theme-turva.sc-duet-menu-bar{background:rgb(255, 255, 255);box-shadow:0 2px 6px 0 rgba(23, 28, 58, 0.07)}@media (min-width: 62em){/*!@.duet-menu-bar.duet-theme-turva*/.duet-menu-bar.duet-theme-turva.sc-duet-menu-bar{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1)}}/*!@.center*/.center.sc-duet-menu-bar{font-size:1rem;font-weight:600;line-height:1.25;color:rgb(0, 41, 77)}/*!@.duet-theme-turva .center*/.duet-theme-turva.sc-duet-menu-bar .center.sc-duet-menu-bar{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)}/*!@.right*/.right.sc-duet-menu-bar{font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 77, 128)}/*!@.duet-theme-turva .right*/.duet-theme-turva.sc-duet-menu-bar .right.sc-duet-menu-bar{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)}";
14898
+ const duetMenuBarCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar,*.sc-duet-menu-bar::after,*.sc-duet-menu-bar::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;width:100%}/*!@.duet-menu-bar*/.duet-menu-bar.sc-duet-menu-bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;background:rgb(255, 255, 255);box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}@media (min-width: 62em){/*!@.duet-menu-bar*/.duet-menu-bar.sc-duet-menu-bar{box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1)}}/*!@.duet-menu-bar .top*/.duet-menu-bar.sc-duet-menu-bar .top.sc-duet-menu-bar{display:none}/*!@.duet-menu-bar .bottom*/.duet-menu-bar.sc-duet-menu-bar .bottom.sc-duet-menu-bar{display:none}/*!@.duet-menu-bar.horizontal-nav*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar{position:relative}/*!@.duet-menu-bar.horizontal-nav .top*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .top.sc-duet-menu-bar{position:absolute;top:0;left:3.5%;display:block;width:93%;height:1px;background:rgb(245, 248, 250)}/*!@.duet-menu-bar.horizontal-nav .bottom*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .bottom.sc-duet-menu-bar{position:absolute;bottom:0;left:0;display:block;width:100%;height:1px;background:rgb(225, 227, 230)}/*!@.duet-menu-bar.horizontal-nav .more-left*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .more-left.sc-duet-menu-bar{position:absolute;top:0;left:-1px;z-index:1;width:56px;height:49px;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0) 100%)}@media (min-width: 62em){/*!@.duet-menu-bar.horizontal-nav .more-left*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .more-left.sc-duet-menu-bar{display:none}}/*!@.duet-menu-bar.horizontal-nav .more-right*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .more-right.sc-duet-menu-bar{position:absolute;top:0;right:-1px;z-index:1;width:56px;height:49px;background:linear-gradient(270deg, #fff 0%, rgba(255, 255, 255, 0) 100%)}@media (min-width: 62em){/*!@.duet-menu-bar.horizontal-nav .more-right*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .more-right.sc-duet-menu-bar{display:none}}@media (pointer: fine){/*!@.duet-menu-bar.horizontal-nav*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar{display:none}}@media (pointer: fine) and ((min-width: 62em)){/*!@.duet-menu-bar.horizontal-nav*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar{display:flex}}/*!@.duet-menu-bar .container*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1440px;height:100%;height:3.25rem;padding:0 8px 0 20px;overflow-x:auto;scrollbar-width:none}/*!@.duet-menu-bar .container::-webkit-scrollbar*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar::-webkit-scrollbar{width:0;height:0}@media (min-width: 62em){/*!@.duet-menu-bar .container*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar{height:5rem;padding:0 28px;overflow-x:visible}}/*!@.duet-menu-bar .container .list*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar .list.sc-duet-menu-bar{height:100%;list-style-type:none}/*!@.duet-menu-bar .container ::slotted(*)*/.duet-menu-bar .container .sc-duet-menu-bar-s>*{height:100%}/*!@.duet-menu-bar .container > **/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar>*.sc-duet-menu-bar{display:flex;align-items:center;justify-content:center;height:100%}/*!@.duet-menu-bar .container > :first-child*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar>.sc-duet-menu-bar:first-child{flex-basis:0;flex-grow:1;justify-content:flex-start}/*!@.duet-menu-bar .container > :last-child*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar>.sc-duet-menu-bar:last-child{flex-basis:0;flex-grow:1;justify-content:flex-end}/*!@.duet-menu-bar .container ::slotted(*)*/.duet-menu-bar .container .sc-duet-menu-bar-s>*{display:flex;align-items:center;justify-content:center;height:100%}/*!@.duet-menu-bar.duet-theme-turva*/.duet-menu-bar.duet-theme-turva.sc-duet-menu-bar{background:rgb(255, 255, 255);box-shadow:0 2px 6px 0 rgba(23, 28, 58, 0.07)}@media (min-width: 62em){/*!@.duet-menu-bar.duet-theme-turva*/.duet-menu-bar.duet-theme-turva.sc-duet-menu-bar{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1)}}/*!@.center*/.center.sc-duet-menu-bar{font-size:1rem;font-weight:600;line-height:1.25;color:rgb(0, 41, 77)}/*!@.duet-theme-turva .center*/.duet-theme-turva.sc-duet-menu-bar .center.sc-duet-menu-bar{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)}/*!@.right*/.right.sc-duet-menu-bar{font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 77, 128)}/*!@.duet-theme-turva .right*/.duet-theme-turva.sc-duet-menu-bar .right.sc-duet-menu-bar{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)}";
14864
14899
 
14865
14900
  /**
14866
14901
  * @slot center - Slot for content in center.
@@ -14929,19 +14964,6 @@ class DuetMenuBar {
14929
14964
  */
14930
14965
  componentWillLoad() {
14931
14966
  inheritGlobalTheme(this);
14932
- const children = Array.from(this.element.children);
14933
- for (const child of children) {
14934
- if (child.getAttribute("slot") === "center") {
14935
- for (const slotChild of Array.from(child.children)) {
14936
- slotChild.setAttribute("role", "listitem");
14937
- }
14938
- }
14939
- else if (child.getAttribute("slot") === "right") {
14940
- for (const slotChild of Array.from(child.children)) {
14941
- slotChild.setAttribute("role", "listitem");
14942
- }
14943
- }
14944
- }
14945
14967
  }
14946
14968
  connectedCallback() {
14947
14969
  this.changeLogoSize();
@@ -15077,7 +15099,7 @@ class DuetMenuBarButton {
15077
15099
  * Always the last one in the class.
15078
15100
  */
15079
15101
  render() {
15080
- return (hAsync(Host, { onfocus: () => this.setFocus() }, hAsync("button", { ref: button => (this.nativeButton = button), class: {
15102
+ return (hAsync(Host, { role: "listitem", onfocus: () => this.setFocus() }, hAsync("button", { ref: button => (this.nativeButton = button), class: {
15081
15103
  "duet-menu-bar-button": true,
15082
15104
  "duet-theme-turva": this.theme === "turva",
15083
15105
  }, "aria-controls": this.accessibleControls, "aria-label": this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-pressed": this.accessiblePressed != null ? this.accessiblePressed.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined }, this.icon && (hAsync("duet-icon", { theme: this.theme, size: this.iconSize, name: this.icon, margin: "none", color: "currentColor" })), hAsync("slot", null))));
@@ -15197,7 +15219,7 @@ class DuetMenuBarDropdown {
15197
15219
  * Always the last one in the class.
15198
15220
  */
15199
15221
  render() {
15200
- return (hAsync(Host, null, hAsync("div", { class: {
15222
+ return (hAsync(Host, { role: "listitem" }, hAsync("div", { class: {
15201
15223
  "duet-menu-bar-dropdown": true,
15202
15224
  "duet-theme-turva": this.theme === "turva",
15203
15225
  active: this.open,
@@ -15290,6 +15312,101 @@ class DuetMenuBarDropdownLink {
15290
15312
  }; }
15291
15313
  }
15292
15314
 
15315
+ const duetMenuBarItemCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar-item,*.sc-duet-menu-bar-item::after,*.sc-duet-menu-bar-item::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-item-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}/*!@.duet-menu-bar-item*/.duet-menu-bar-item.sc-duet-menu-bar-item{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;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;color:inherit;color:inherit;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer}/*!@.duet-menu-bar-item:focus*/.duet-menu-bar-item.sc-duet-menu-bar-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-menu-bar-item:focus, .duet-menu-bar-item:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-menu-bar-item .duet-menu-bar-item.sc-duet-menu-bar-item:focus,.duet-menu-bar-item.sc-duet-menu-bar-item:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-menu-bar-item[aria-expanded=true] .trailing-icon.rotate*/.duet-menu-bar-item[aria-expanded=true].sc-duet-menu-bar-item .trailing-icon.rotate.sc-duet-menu-bar-item{transform:rotate(180deg)}/*!@.duet-menu-bar-item.duet-theme-turva*/.duet-menu-bar-item.duet-theme-turva.sc-duet-menu-bar-item{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}@media (min-width: 62em){/*!@.duet-menu-bar-item*/.duet-menu-bar-item.sc-duet-menu-bar-item{padding:0 16px}}@media (min-width: 76.25em){/*!@.duet-menu-bar-item*/.duet-menu-bar-item.sc-duet-menu-bar-item{padding:0 28px}}/*!@.duet-menu-bar-item.active*/.duet-menu-bar-item.active.sc-duet-menu-bar-item{color:rgb(0, 119, 179)}/*!@.duet-menu-bar-item.active::after*/.duet-menu-bar-item.active.sc-duet-menu-bar-item::after{position:absolute;top:auto;bottom:2px;left:0;z-index:1;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(2px)}@media (min-width: 62em){/*!@.duet-menu-bar-item.active::after*/.duet-menu-bar-item.active.sc-duet-menu-bar-item::after{z-index:auto;height:2px}}/*!@.duet-menu-bar-item.active.duet-theme-turva*/.duet-menu-bar-item.active.duet-theme-turva.sc-duet-menu-bar-item{color:rgb(198, 12, 48)}/*!@.duet-menu-bar-item.active.duet-theme-turva::after*/.duet-menu-bar-item.active.duet-theme-turva.sc-duet-menu-bar-item::after{background:rgb(198, 12, 48)}@media (min-width: 62em){/*!@.duet-menu-bar-item:hover*/.duet-menu-bar-item.sc-duet-menu-bar-item:hover{color:rgb(0, 119, 179)}/*!@.duet-menu-bar-item:hover.duet-theme-turva*/.duet-menu-bar-item.sc-duet-menu-bar-item:hover.duet-theme-turva{color:rgb(198, 12, 48)}}";
15316
+
15317
+ class DuetMenuBarItem {
15318
+ constructor(hostRef) {
15319
+ registerInstance(this, hostRef);
15320
+ this.mql = [window.matchMedia(media_query_large.replace(/'/g, ""))];
15321
+ this.boundMqlFunctions = [];
15322
+ this.changeIconSize = () => {
15323
+ if (this.mql[0].matches) {
15324
+ this.iconSize = "x-small";
15325
+ }
15326
+ else {
15327
+ this.iconSize = "small";
15328
+ }
15329
+ };
15330
+ this.iconSize = "x-small";
15331
+ this.theme = "";
15332
+ this.active = false;
15333
+ this.url = undefined;
15334
+ this.leadingIcon = undefined;
15335
+ this.trailingIcon = undefined;
15336
+ this.accessibleLabel = undefined;
15337
+ this.accessibleExpanded = undefined;
15338
+ this.accessiblePopup = "false";
15339
+ }
15340
+ /**
15341
+ * Component lifecycle events.
15342
+ */
15343
+ componentWillLoad() {
15344
+ inheritGlobalTheme(this);
15345
+ }
15346
+ connectedCallback() {
15347
+ this.changeIconSize();
15348
+ for (let i = 0; i < this.mql.length; i++) {
15349
+ // addEventListener is not available in Stencil hydrate
15350
+ if (this.mql[i].addEventListener) {
15351
+ const bound = this.changeIconSize.bind(this);
15352
+ this.mql[i].addEventListener("change", bound);
15353
+ this.boundMqlFunctions[i] = bound;
15354
+ }
15355
+ }
15356
+ }
15357
+ disconnectedCallback() {
15358
+ for (let i = 0; i < this.mql.length; i++) {
15359
+ // removeEventListener is not available in Stencil hydrate
15360
+ if (this.mql[i].removeEventListener) {
15361
+ this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
15362
+ }
15363
+ }
15364
+ this.boundMqlFunctions = [];
15365
+ }
15366
+ /**
15367
+ * Sets focus. Use this method instead of the global focus().
15368
+ */
15369
+ async setFocus(options) {
15370
+ setTimeout(() => this.itemElement.focus(options), 200);
15371
+ }
15372
+ /**
15373
+ * render() function
15374
+ * Always the last one in the class.
15375
+ */
15376
+ render() {
15377
+ const TagName = this.url ? "a" : "button";
15378
+ return (hAsync(Host, { role: "listitem" }, hAsync(TagName, { ref: element => (this.itemElement = element), class: {
15379
+ "duet-menu-bar-item": true,
15380
+ "duet-theme-turva": this.theme === "turva",
15381
+ active: this.active,
15382
+ }, href: this.url, role: `${TagName === "a" ? "link" : "button"}`, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined }, this.leadingIcon && (hAsync("duet-icon", { size: this.iconSize, name: this.leadingIcon, margin: "none", theme: this.theme, color: "currentColor" })), hAsync("slot", null), this.trailingIcon && (hAsync("duet-icon", { class: {
15383
+ "trailing-icon": true,
15384
+ rotate: this.trailingIcon === "action-arrow-down-small" && this.accessibleExpanded,
15385
+ }, theme: this.theme, name: this.trailingIcon, margin: "none", size: this.trailingIcon === "action-arrow-down-small" ? "xxx-small" : this.iconSize, color: "currentColor" })))));
15386
+ }
15387
+ get element() { return getElement(this); }
15388
+ static get style() { return duetMenuBarItemCss; }
15389
+ static get cmpMeta() { return {
15390
+ "$flags$": 9,
15391
+ "$tagName$": "duet-menu-bar-item",
15392
+ "$members$": {
15393
+ "theme": [1025],
15394
+ "active": [1028],
15395
+ "url": [1],
15396
+ "leadingIcon": [1, "leading-icon"],
15397
+ "trailingIcon": [1, "trailing-icon"],
15398
+ "accessibleLabel": [1, "accessible-label"],
15399
+ "accessibleExpanded": [1540, "accessible-expanded"],
15400
+ "accessiblePopup": [1537, "accessible-popup"],
15401
+ "iconSize": [32],
15402
+ "setFocus": [64]
15403
+ },
15404
+ "$listeners$": undefined,
15405
+ "$lazyBundleId$": "-",
15406
+ "$attrsToReflect$": [["accessibleExpanded", "accessible-expanded"], ["accessiblePopup", "accessible-popup"]]
15407
+ }; }
15408
+ }
15409
+
15293
15410
  const duetMenuBarLinkCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar-link,*.sc-duet-menu-bar-link::after,*.sc-duet-menu-bar-link::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-link-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}/*!@.duet-menu-bar-link*/.duet-menu-bar-link.sc-duet-menu-bar-link{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:inherit;text-align:center;text-decoration:none;white-space:nowrap}/*!@.duet-menu-bar-link:focus*/.duet-menu-bar-link.sc-duet-menu-bar-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-menu-bar-link:focus, .duet-menu-bar-link:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-menu-bar-link .duet-menu-bar-link.sc-duet-menu-bar-link:focus,.duet-menu-bar-link.sc-duet-menu-bar-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-menu-bar-link.duet-theme-turva*/.duet-menu-bar-link.duet-theme-turva.sc-duet-menu-bar-link{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}@media (min-width: 62em){/*!@.duet-menu-bar-link*/.duet-menu-bar-link.sc-duet-menu-bar-link{padding:0 16px}}@media (min-width: 76.25em){/*!@.duet-menu-bar-link*/.duet-menu-bar-link.sc-duet-menu-bar-link{padding:0 28px}}/*!@.duet-menu-bar-link.active*/.duet-menu-bar-link.active.sc-duet-menu-bar-link{color:rgb(0, 119, 179)}/*!@.duet-menu-bar-link.active::after*/.duet-menu-bar-link.active.sc-duet-menu-bar-link::after{position:absolute;top:auto;bottom:2px;left:0;z-index:1;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(2px)}@media (min-width: 62em){/*!@.duet-menu-bar-link.active::after*/.duet-menu-bar-link.active.sc-duet-menu-bar-link::after{z-index:auto;height:2px}}/*!@.duet-menu-bar-link.active.duet-theme-turva*/.duet-menu-bar-link.active.duet-theme-turva.sc-duet-menu-bar-link{color:rgb(198, 12, 48)}/*!@.duet-menu-bar-link.active.duet-theme-turva::after*/.duet-menu-bar-link.active.duet-theme-turva.sc-duet-menu-bar-link::after{background:rgb(198, 12, 48)}@media (min-width: 62em){/*!@.duet-menu-bar-link:hover*/.duet-menu-bar-link.sc-duet-menu-bar-link:hover{color:rgb(0, 119, 179)}/*!@.duet-menu-bar-link:hover.duet-theme-turva*/.duet-menu-bar-link.sc-duet-menu-bar-link:hover.duet-theme-turva{color:rgb(198, 12, 48)}}";
15294
15411
 
15295
15412
  class DuetMenuBarLink {
@@ -15346,7 +15463,7 @@ class DuetMenuBarLink {
15346
15463
  * Always the last one in the class.
15347
15464
  */
15348
15465
  render() {
15349
- return (hAsync(Host, null, hAsync("a", { class: {
15466
+ return (hAsync(Host, { role: "listitem" }, hAsync("a", { class: {
15350
15467
  "duet-menu-bar-link": true,
15351
15468
  "duet-theme-turva": this.theme === "turva",
15352
15469
  active: this.active,
@@ -15472,7 +15589,7 @@ class Teleport {
15472
15589
  }
15473
15590
  }
15474
15591
 
15475
- const duetModalCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-modal,*.sc-duet-modal::after,*.sc-duet-modal::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-modal-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@.duet-modal-overlay*/.duet-modal-overlay.sc-duet-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;max-height:100vh;overflow-y:auto;visibility:hidden;background:rgba(0, 41, 77, 0.85);opacity:0;transition:300ms ease;transition-delay:200ms}/*!@.duet-modal-overlay.duet-theme-turva*/.duet-modal-overlay.duet-theme-turva.sc-duet-modal{background:rgba(23, 28, 58, 0.85)}/*!@.duet-modal-overlay.duet-modal-active*/.duet-modal-overlay.duet-modal-active.sc-duet-modal{visibility:visible;opacity:1;transition:300ms ease;transition-delay:0s}/*!@.duet-modal-overlay.duet-disable-transitions*/.duet-modal-overlay.duet-disable-transitions.sc-duet-modal{transition:none}/*!@.duet-modal-overlay.duet-modal-slide-up*/.duet-modal-overlay.duet-modal-slide-up.sc-duet-modal{overflow:hidden}/*!@::slotted(img)*/.sc-duet-modal-s>img{width:100%}/*!@.duet-modal-inner*/.duet-modal-inner.sc-duet-modal{display:flex;align-items:center;width:100%;min-height:100%;padding:20px 16px}@media (min-width: 36em){/*!@.duet-modal-inner*/.duet-modal-inner.sc-duet-modal{padding:48px 16px}}/*!@.duet-modal-inner.duet-modal-slide-up*/.duet-modal-inner.duet-modal-slide-up.sc-duet-modal{align-items:stretch;justify-content:center;height:100%;padding-top:48px;padding-bottom:0;overflow:hidden}/*!@.duet-modal-inner.duet-modal-slide-up::after*/.duet-modal-inner.duet-modal-slide-up.sc-duet-modal::after{position:absolute;bottom:0;z-index:300;display:block;width:100%;max-width:686px;height:48px;margin:auto;pointer-events:none;content:\"\";background:linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255))}/*!@.duet-modal-inner.duet-modal-slide-up::after.small*/.duet-modal-inner.duet-modal-slide-up.sc-duet-modal::after.small{max-width:545px}/*!@.duet-modal-inner.duet-modal-slide-up::after.large*/.duet-modal-inner.duet-modal-slide-up.sc-duet-modal::after.large{max-width:100%}@media (min-width: 36em){/*!@.duet-modal-inner.duet-modal-slide-up::after.large*/.duet-modal-inner.duet-modal-slide-up.sc-duet-modal::after.large{max-width:1110px}}@media (max-width: 35.9375em){/*!@.duet-modal-inner.large*/.duet-modal-inner.large.sc-duet-modal{padding-right:0;padding-left:0}/*!@.duet-modal-inner.duet-modal-slide-up*/.duet-modal-inner.duet-modal-slide-up.sc-duet-modal{padding:0;padding-top:28px}}/*!@.duet-modal*/.duet-modal.sc-duet-modal{position:relative;width:100%;max-width:686px;margin:auto;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-weight:400;font-variant-numeric:tabular-nums;line-height:1.5;color:rgb(0, 41, 77);background:rgb(255, 255, 255);border-radius:4px;opacity:0;transition:300ms ease;transition-delay:0ms;transform:scale(0.96)}/*!@.duet-theme-turva .duet-modal*/.duet-theme-turva.sc-duet-modal .duet-modal.sc-duet-modal{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-modal-active .duet-modal*/.duet-modal-active.sc-duet-modal .duet-modal.sc-duet-modal{opacity:1;transition:300ms ease;transition-delay:200ms;transform:none}/*!@.duet-modal-active .duet-modal.slide-up*/.duet-modal-active.sc-duet-modal .duet-modal.slide-up.sc-duet-modal{top:0;transition:top 600ms ease}/*!@.duet-disable-transitions .duet-modal*/.duet-disable-transitions.sc-duet-modal .duet-modal.sc-duet-modal{transition:none}/*!@.duet-modal.small*/.duet-modal.small.sc-duet-modal{max-width:545px}/*!@.duet-modal.large*/.duet-modal.large.sc-duet-modal{max-width:100%}@media (min-width: 36em){/*!@.duet-modal.large*/.duet-modal.large.sc-duet-modal{max-width:1110px}}/*!@.duet-modal.slide-up*/.duet-modal.slide-up.sc-duet-modal{top:100vh;margin:0;border-radius:4px 4px 0 0;opacity:1;transition:top 600ms ease}@media (max-width: 35.9375em){/*!@.duet-modal.slide-up*/.duet-modal.slide-up.sc-duet-modal{border-radius:16px 16px 0 0}}/*!@.duet-modal.duet-modal-has-sticky-header*/.duet-modal.duet-modal-has-sticky-header.sc-duet-modal{height:100%;overflow:auto}/*!@.duet-modal:focus*/.duet-modal.sc-duet-modal:focus{outline:0}/*!@.duet-modal-body,\n.duet-modal-sticky-header*/.duet-modal-body.sc-duet-modal,.duet-modal-sticky-header.sc-duet-modal{width:100%;padding:36px 28px}/*!@.duet-modal-body.duet-modal-gutter-none,\n.duet-modal-sticky-header.duet-modal-gutter-none*/.duet-modal-body.duet-modal-gutter-none.sc-duet-modal,.duet-modal-sticky-header.duet-modal-gutter-none.sc-duet-modal{padding:0 !important}/*!@.duet-modal-body.duet-modal-gutter-small,\n.duet-modal-sticky-header.duet-modal-gutter-small*/.duet-modal-body.duet-modal-gutter-small.sc-duet-modal,.duet-modal-sticky-header.duet-modal-gutter-small.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large,\n.duet-modal-sticky-header.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal,.duet-modal-sticky-header.duet-modal-gutter-large.sc-duet-modal{padding:48px 36px}@media (max-width: 22.5em){/*!@.duet-modal-body,\n .duet-modal-sticky-header*/.duet-modal-body.sc-duet-modal,.duet-modal-sticky-header.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large,\n .duet-modal-sticky-header.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal,.duet-modal-sticky-header.duet-modal-gutter-large.sc-duet-modal{padding:48px 28px}}@media (max-width: 35.9375em){/*!@.duet-modal-body,\n .duet-modal-sticky-header*/.duet-modal-body.sc-duet-modal,.duet-modal-sticky-header.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large,\n .duet-modal-sticky-header.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal,.duet-modal-sticky-header.duet-modal-gutter-large.sc-duet-modal{padding:48px 36px}}@media (min-width: 36em){/*!@.duet-modal-body,\n .duet-modal-sticky-header*/.duet-modal-body.sc-duet-modal,.duet-modal-sticky-header.sc-duet-modal{padding:36px}/*!@.duet-modal-body.duet-modal-gutter-large,\n .duet-modal-sticky-header.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal,.duet-modal-sticky-header.duet-modal-gutter-large.sc-duet-modal{padding:28px 72px}}@media (min-width: 48em){/*!@.duet-modal-body,\n .duet-modal-sticky-header*/.duet-modal-body.sc-duet-modal,.duet-modal-sticky-header.sc-duet-modal{padding:36px 72px}/*!@.duet-modal-body.duet-modal-gutter-large,\n .duet-modal-sticky-header.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal,.duet-modal-sticky-header.duet-modal-gutter-large.sc-duet-modal{padding:36px 72px}}@media (min-width: 76.25em){/*!@.duet-modal-body,\n .duet-modal-sticky-header*/.duet-modal-body.sc-duet-modal,.duet-modal-sticky-header.sc-duet-modal{padding:36px 48px 48px}/*!@.duet-modal-body.duet-modal-gutter-large,\n .duet-modal-sticky-header.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal,.duet-modal-sticky-header.duet-modal-gutter-large.sc-duet-modal{padding:48px 94px}/*!@.small .duet-modal-body,\n .small .duet-modal-sticky-header*/.small.sc-duet-modal .duet-modal-body.sc-duet-modal,.small.sc-duet-modal .duet-modal-sticky-header.sc-duet-modal{padding:36px 48px}}/*!@.duet-modal-header*/.duet-modal-header.sc-duet-modal{text-align:center}/*!@.duet-modal-sticky-header*/.duet-modal-sticky-header.sc-duet-modal{position:sticky;top:0;z-index:200;display:block;padding-bottom:12px;text-align:left;background:rgb(243, 249, 252);border-bottom:1px solid rgb(225, 227, 230)}/*!@.duet-theme-turva .duet-modal-sticky-header*/.duet-theme-turva.sc-duet-modal .duet-modal-sticky-header.sc-duet-modal{background:rgb(245, 245, 247);border-bottom:1px solid rgb(228, 228, 230)}/*!@.duet-modal-close*/.duet-modal-close.sc-duet-modal{position:absolute;top:12px;right:12px}/*!@.duet-modal-heading*/.duet-modal-heading.sc-duet-modal{width:100%;padding-right:60px;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:1.25rem;font-style:normal;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25;color:rgb(0, 41, 77);text-decoration:none;text-overflow:ellipsis;letter-spacing:-0.01rem;white-space:nowrap}/*!@.duet-modal-heading.duet-p-0*/.duet-modal-heading.duet-p-0.sc-duet-modal{padding:0 !important}/*!@.duet-modal-heading.duet-m-0*/.duet-modal-heading.duet-m-0.sc-duet-modal{margin:0 !important}";
15592
+ const duetModalCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-modal,*.sc-duet-modal::after,*.sc-duet-modal::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-modal-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@.duet-modal-overlay*/.duet-modal-overlay.sc-duet-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;max-height:100vh;overflow-y:auto;visibility:hidden;background:rgba(0, 41, 77, 0.3);opacity:0;transition:300ms ease;transition-delay:200ms}/*!@.duet-modal-overlay.duet-theme-turva*/.duet-modal-overlay.duet-theme-turva.sc-duet-modal{background:rgba(23, 28, 58, 0.3)}/*!@.duet-modal-overlay.duet-modal-active*/.duet-modal-overlay.duet-modal-active.sc-duet-modal{visibility:visible;opacity:1;transition:300ms ease;transition-delay:0s}/*!@.duet-modal-overlay.duet-disable-transitions*/.duet-modal-overlay.duet-disable-transitions.sc-duet-modal{transition:none}/*!@.duet-modal-overlay.duet-modal-slide-up*/.duet-modal-overlay.duet-modal-slide-up.sc-duet-modal{overflow:hidden}/*!@::slotted(img)*/.sc-duet-modal-s>img{width:100%}/*!@.duet-modal-inner*/.duet-modal-inner.sc-duet-modal{display:flex;align-items:center;width:100%;min-height:100%;padding:20px 16px}@media (min-width: 36em){/*!@.duet-modal-inner*/.duet-modal-inner.sc-duet-modal{padding:48px 16px}}/*!@.duet-modal-inner.duet-modal-slide-up*/.duet-modal-inner.duet-modal-slide-up.sc-duet-modal{align-items:stretch;justify-content:center;height:100%;padding-top:48px;padding-bottom:0;overflow:hidden}/*!@.duet-modal-inner.duet-modal-slide-up::after*/.duet-modal-inner.duet-modal-slide-up.sc-duet-modal::after{position:absolute;bottom:0;z-index:300;display:block;width:100%;max-width:686px;height:48px;margin:auto;pointer-events:none;content:\"\";background:linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255))}/*!@.duet-modal-inner.duet-modal-slide-up::after.small*/.duet-modal-inner.duet-modal-slide-up.sc-duet-modal::after.small{max-width:545px}/*!@.duet-modal-inner.duet-modal-slide-up::after.large*/.duet-modal-inner.duet-modal-slide-up.sc-duet-modal::after.large{max-width:100%}@media (min-width: 36em){/*!@.duet-modal-inner.duet-modal-slide-up::after.large*/.duet-modal-inner.duet-modal-slide-up.sc-duet-modal::after.large{max-width:1110px}}@media (max-width: 35.9375em){/*!@.duet-modal-inner.large*/.duet-modal-inner.large.sc-duet-modal{padding-right:0;padding-left:0}/*!@.duet-modal-inner.duet-modal-slide-up*/.duet-modal-inner.duet-modal-slide-up.sc-duet-modal{padding:0;padding-top:28px}}/*!@.duet-modal*/.duet-modal.sc-duet-modal{position:relative;width:100%;max-width:686px;margin:auto;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-weight:400;font-variant-numeric:tabular-nums;line-height:1.5;color:rgb(0, 41, 77);background:rgb(255, 255, 255);border-radius:4px;opacity:0;transition:300ms ease;transition-delay:0ms;transform:scale(0.96)}/*!@.duet-theme-turva .duet-modal*/.duet-theme-turva.sc-duet-modal .duet-modal.sc-duet-modal{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-modal-active .duet-modal*/.duet-modal-active.sc-duet-modal .duet-modal.sc-duet-modal{opacity:1;transition:300ms ease;transition-delay:200ms;transform:none}/*!@.duet-modal-active .duet-modal.slide-up*/.duet-modal-active.sc-duet-modal .duet-modal.slide-up.sc-duet-modal{top:0;transition:top 600ms ease}/*!@.duet-disable-transitions .duet-modal*/.duet-disable-transitions.sc-duet-modal .duet-modal.sc-duet-modal{transition:none}/*!@.duet-modal.small*/.duet-modal.small.sc-duet-modal{max-width:545px}/*!@.duet-modal.large*/.duet-modal.large.sc-duet-modal{max-width:100%}@media (min-width: 36em){/*!@.duet-modal.large*/.duet-modal.large.sc-duet-modal{max-width:1110px}}/*!@.duet-modal.slide-up*/.duet-modal.slide-up.sc-duet-modal{top:100vh;margin:0;border-radius:4px 4px 0 0;opacity:1;transition:top 600ms ease}@media (max-width: 35.9375em){/*!@.duet-modal.slide-up*/.duet-modal.slide-up.sc-duet-modal{border-radius:16px 16px 0 0}}/*!@.duet-modal.duet-modal-has-sticky-header*/.duet-modal.duet-modal-has-sticky-header.sc-duet-modal{height:100%;overflow:auto}/*!@.duet-modal:focus*/.duet-modal.sc-duet-modal:focus{outline:0}/*!@.duet-modal-body,\n.duet-modal-sticky-header*/.duet-modal-body.sc-duet-modal,.duet-modal-sticky-header.sc-duet-modal{width:100%;padding:36px 28px}/*!@.duet-modal-body.duet-modal-gutter-none,\n.duet-modal-sticky-header.duet-modal-gutter-none*/.duet-modal-body.duet-modal-gutter-none.sc-duet-modal,.duet-modal-sticky-header.duet-modal-gutter-none.sc-duet-modal{padding:0 !important}/*!@.duet-modal-body.duet-modal-gutter-small,\n.duet-modal-sticky-header.duet-modal-gutter-small*/.duet-modal-body.duet-modal-gutter-small.sc-duet-modal,.duet-modal-sticky-header.duet-modal-gutter-small.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large,\n.duet-modal-sticky-header.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal,.duet-modal-sticky-header.duet-modal-gutter-large.sc-duet-modal{padding:48px 36px}@media (max-width: 22.5em){/*!@.duet-modal-body,\n .duet-modal-sticky-header*/.duet-modal-body.sc-duet-modal,.duet-modal-sticky-header.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large,\n .duet-modal-sticky-header.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal,.duet-modal-sticky-header.duet-modal-gutter-large.sc-duet-modal{padding:48px 28px}}@media (max-width: 35.9375em){/*!@.duet-modal-body,\n .duet-modal-sticky-header*/.duet-modal-body.sc-duet-modal,.duet-modal-sticky-header.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large,\n .duet-modal-sticky-header.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal,.duet-modal-sticky-header.duet-modal-gutter-large.sc-duet-modal{padding:48px 36px}}@media (min-width: 36em){/*!@.duet-modal-body,\n .duet-modal-sticky-header*/.duet-modal-body.sc-duet-modal,.duet-modal-sticky-header.sc-duet-modal{padding:36px}/*!@.duet-modal-body.duet-modal-gutter-large,\n .duet-modal-sticky-header.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal,.duet-modal-sticky-header.duet-modal-gutter-large.sc-duet-modal{padding:28px 72px}}@media (min-width: 48em){/*!@.duet-modal-body,\n .duet-modal-sticky-header*/.duet-modal-body.sc-duet-modal,.duet-modal-sticky-header.sc-duet-modal{padding:36px 72px}/*!@.duet-modal-body.duet-modal-gutter-large,\n .duet-modal-sticky-header.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal,.duet-modal-sticky-header.duet-modal-gutter-large.sc-duet-modal{padding:36px 72px}}@media (min-width: 76.25em){/*!@.duet-modal-body,\n .duet-modal-sticky-header*/.duet-modal-body.sc-duet-modal,.duet-modal-sticky-header.sc-duet-modal{padding:36px 48px 48px}/*!@.duet-modal-body.duet-modal-gutter-large,\n .duet-modal-sticky-header.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal,.duet-modal-sticky-header.duet-modal-gutter-large.sc-duet-modal{padding:48px 94px}/*!@.small .duet-modal-body,\n .small .duet-modal-sticky-header*/.small.sc-duet-modal .duet-modal-body.sc-duet-modal,.small.sc-duet-modal .duet-modal-sticky-header.sc-duet-modal{padding:36px 48px}}/*!@.duet-modal-header*/.duet-modal-header.sc-duet-modal{text-align:center}/*!@.duet-modal-sticky-header*/.duet-modal-sticky-header.sc-duet-modal{position:sticky;top:0;z-index:200;display:block;padding-bottom:12px;text-align:left;background:rgb(243, 249, 252);border-bottom:1px solid rgb(225, 227, 230)}/*!@.duet-theme-turva .duet-modal-sticky-header*/.duet-theme-turva.sc-duet-modal .duet-modal-sticky-header.sc-duet-modal{background:rgb(245, 245, 247);border-bottom:1px solid rgb(228, 228, 230)}/*!@.duet-modal-close*/.duet-modal-close.sc-duet-modal{position:absolute;top:12px;right:12px}/*!@.duet-modal-heading*/.duet-modal-heading.sc-duet-modal{width:100%;padding-right:60px;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:1.25rem;font-style:normal;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25;color:rgb(0, 41, 77);text-decoration:none;text-overflow:ellipsis;letter-spacing:-0.01rem;white-space:nowrap}/*!@.duet-modal-heading.duet-p-0*/.duet-modal-heading.duet-p-0.sc-duet-modal{padding:0 !important}/*!@.duet-modal-heading.duet-m-0*/.duet-modal-heading.duet-m-0.sc-duet-modal{margin:0 !important}";
15476
15593
 
15477
15594
  // The transition below is slightly higher than the actual CSS transition as VoiceOver on
15478
15595
  // iOS has otherwise problems moving the focus from modal back to the original element.
@@ -15887,6 +16004,7 @@ class DuetMultiselect {
15887
16004
  componentWillLoad() {
15888
16005
  inheritGlobalTheme(this);
15889
16006
  this.isCaptionVisible = !!this.caption;
16007
+ checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
15890
16008
  this.refresh();
15891
16009
  }
15892
16010
  connectedCallback() {
@@ -15924,7 +16042,7 @@ class DuetMultiselect {
15924
16042
  "duet-theme-turva": this.theme === "turva",
15925
16043
  "duet-input-top-caption-shown": this.isCaptionVisible,
15926
16044
  "has-error": !!this.error,
15927
- }, onKeyDown: (e) => this.onMultiselectKeyDown(e) }, hAsync("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: this.identifier }, this.label), this.tooltip && (hAsync("duet-tooltip", { class: "duet-multiselect-tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), hAsync("slot", { name: "tooltip", onSlotchange: ev => slotElementCheck(ev, this, "duet-tooltip") }), this.caption && (hAsync("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), hAsync("div", { class: "duet-multiselect-wrapper" }, hAsync("button", { id: this.identifier, ref: el => (this.multiselectElement = el), class: { "duet-multiselect": true, "duet-multiselect-active": this.checkboxesVisible }, tabindex: "0", onClick: () => this.toggleCheckboxes(), onFocus: e => this.onFocus(e), onBlur: e => this.onBlur(e), role: "combobox", "aria-expanded": this.checkboxesVisible ? "true" : "false", "aria-haspopup": "listbox", "aria-labelledby": this.labelId, "aria-describedby": this.getDescribedBy(), "aria-owns": `${this.identifier}-checkboxes`, onKeyDown: (e) => this.onMultiselectInputKeyDown(e), disabled: this.disabled }, hAsync("span", { role: "textbox", "aria-readonly": "true", "aria-multiline": "false", "aria-autocomplete": "none", "aria-controls": `${this.identifier}-checkboxes`, "aria-label": this.placeholderLabel[this.language], class: "duet-multiselect-label" }, this.placeholder), this.value && this.value.length > 0 && (hAsync("span", { class: "duet-multiselect-badge" }, this.value.length, hAsync("duet-visually-hidden", null, this.selectedLangObject[this.language], ", ", this.value.map(item => item.label).join(", ")))), hAsync("svg", { class: { "duet-multiselect-icon": true, "duet-multiselect-icon--rotate": this.checkboxesVisible }, fill: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, hAsync("path", { d: "m12 18.999c-.4 0-.776-.156-1.059-.438l-10.721-10.72c-.142-.142-.22-.33-.22-.531 0-.2.078-.389.22-.53.142-.142.33-.22.53-.22s.389.078.53.22l10.72 10.719 10.72-10.719c.142-.142.33-.22.53-.22s.389.078.53.22c.142.142.22.33.22.53s-.078.389-.22.53l-10.72 10.72c-.282.283-.659.439-1.06.439z" }))), hAsync("div", { id: `${this.identifier}-checkboxes`, role: "listbox", class: {
16045
+ }, onKeyDown: (e) => this.onMultiselectKeyDown(e) }, hAsync("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: this.identifier }, this.label), this.tooltip && (hAsync("duet-tooltip", { class: "duet-multiselect-tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), hAsync("slot", { name: "tooltip" }), this.caption && (hAsync("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), hAsync("div", { class: "duet-multiselect-wrapper" }, hAsync("button", { id: this.identifier, ref: el => (this.multiselectElement = el), class: { "duet-multiselect": true, "duet-multiselect-active": this.checkboxesVisible }, tabindex: "0", onClick: () => this.toggleCheckboxes(), onFocus: e => this.onFocus(e), onBlur: e => this.onBlur(e), role: "combobox", "aria-expanded": this.checkboxesVisible ? "true" : "false", "aria-haspopup": "listbox", "aria-labelledby": this.labelId, "aria-describedby": this.getDescribedBy(), "aria-owns": `${this.identifier}-checkboxes`, onKeyDown: (e) => this.onMultiselectInputKeyDown(e), disabled: this.disabled }, hAsync("span", { role: "textbox", "aria-readonly": "true", "aria-multiline": "false", "aria-autocomplete": "none", "aria-controls": `${this.identifier}-checkboxes`, "aria-label": this.placeholderLabel[this.language], class: "duet-multiselect-label" }, this.placeholder), this.value && this.value.length > 0 && (hAsync("span", { class: "duet-multiselect-badge" }, this.value.length, hAsync("duet-visually-hidden", null, this.selectedLangObject[this.language], ", ", this.value.map(item => item.label).join(", ")))), hAsync("svg", { class: { "duet-multiselect-icon": true, "duet-multiselect-icon--rotate": this.checkboxesVisible }, fill: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, hAsync("path", { d: "m12 18.999c-.4 0-.776-.156-1.059-.438l-10.721-10.72c-.142-.142-.22-.33-.22-.531 0-.2.078-.389.22-.53.142-.142.33-.22.53-.22s.389.078.53.22l10.72 10.719 10.72-10.719c.142-.142.33-.22.53-.22s.389.078.53.22c.142.142.22.33.22.53s-.078.389-.22.53l-10.72 10.72c-.282.283-.659.439-1.06.439z" }))), hAsync("div", { id: `${this.identifier}-checkboxes`, role: "listbox", class: {
15928
16046
  "duet-multiselect-checkboxes": true,
15929
16047
  "duet-multiselect-checkboxes-active": this.checkboxesVisible,
15930
16048
  }, "aria-activedescendant": this.activeDescendant, "aria-multiselectable": "true" }, this.processedItems && this.allControls && (hAsync("div", { class: "duet-multiselect-all-control-buttons" }, hAsync("button", { class: "duet-multiselect-select-all", onClick: this.handleSelectAllClick, id: this.getOptionIdentifier(-2), onKeyDown: (e) => this.onCheckboxKeyDown(e, -2) }, this.selectAllLabel[this.language]), hAsync("button", { class: "duet-multiselect-clear-all", onClick: this.handleClearAllClick, id: this.getOptionIdentifier(-1), onKeyDown: (e) => this.onCheckboxKeyDown(e, -1) }, this.clearAllLabel[this.language]))), this.processedItems &&
@@ -16521,6 +16639,7 @@ class DuetNumberInput {
16521
16639
  if (this.value) {
16522
16640
  this.value = this.localizeValue(SafeParseFloat(this.value, this.locale));
16523
16641
  }
16642
+ checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
16524
16643
  }
16525
16644
  connectedCallback() {
16526
16645
  connectLanguageChangeObserver(this, [
@@ -18355,11 +18474,27 @@ class DuetPopupMenu {
18355
18474
  constructor(hostRef) {
18356
18475
  registerInstance(this, hostRef);
18357
18476
  this.duetToggle = createEvent$2(this, "duetToggle", 7);
18477
+ this.setOpenButton = (element) => {
18478
+ if (!element) {
18479
+ return;
18480
+ }
18481
+ try {
18482
+ const button = element;
18483
+ button.accessiblePopup = "true";
18484
+ button.accessibleExpanded = false;
18485
+ button.setAttribute("trailing-icon", "action-arrow-down-small");
18486
+ this.openButton = button;
18487
+ }
18488
+ catch (_e) { }
18489
+ };
18490
+ this.openButtonEventListener = () => {
18491
+ this.toggle();
18492
+ };
18358
18493
  this.updatePlacement = async () => {
18359
- if (!this.controller) {
18494
+ if (!this.openButton) {
18360
18495
  return;
18361
18496
  }
18362
- const coordinates = await computePosition(this.controller, this.menuElement, {
18497
+ const coordinates = await computePosition(this.openButton, this.menuElement, {
18363
18498
  middleware: [offset({ mainAxis: this.mainAxisOffset, crossAxis: this.crossAxisOffset }), flip()],
18364
18499
  placement: this.placement,
18365
18500
  strategy: this.position,
@@ -18388,6 +18523,15 @@ class DuetPopupMenu {
18388
18523
  }
18389
18524
  componentDidLoad() {
18390
18525
  }
18526
+ connectedCallback() {
18527
+ this.handleControllerChange(this.controller, null);
18528
+ }
18529
+ disconnectedCallback() {
18530
+ if (this.openButton) {
18531
+ this.openButton.removeEventListener("click", this.openButtonEventListener);
18532
+ this.openButton.removeAttribute("trailing-icon");
18533
+ }
18534
+ }
18391
18535
  /**
18392
18536
  * Component event handling.
18393
18537
  */
@@ -18395,7 +18539,7 @@ class DuetPopupMenu {
18395
18539
  if (this.open) {
18396
18540
  // When Esc is pressed the menu should be closed
18397
18541
  if (isEscapeKey(evt)) {
18398
- this.focusController();
18542
+ this.focusOpenButton();
18399
18543
  this.hide();
18400
18544
  }
18401
18545
  }
@@ -18433,7 +18577,7 @@ class DuetPopupMenu {
18433
18577
  }
18434
18578
  }
18435
18579
  handleClick(evt) {
18436
- const isClickOutside = evt.composedPath().every(node => node !== this.element && node !== this.controller);
18580
+ const isClickOutside = evt.composedPath().every(node => node !== this.element && node !== this.openButton);
18437
18581
  if (this.open && isClickOutside) {
18438
18582
  this.hide();
18439
18583
  }
@@ -18449,23 +18593,12 @@ class DuetPopupMenu {
18449
18593
  */
18450
18594
  async show() {
18451
18595
  this.open = true;
18452
- this.teleport.go();
18453
- if (this.accessibleRole === "menu") {
18454
- this.itemElements[0].setFocus();
18455
- }
18456
- this.duetToggle.emit({ open: this.open, component: "duet-popup-menu" });
18457
- this.updatePlacement();
18458
18596
  }
18459
18597
  /**
18460
18598
  * Hide.
18461
18599
  */
18462
18600
  async hide() {
18463
18601
  this.open = false;
18464
- this.duetToggle.emit({ open: this.open, component: "duet-popup-menu" });
18465
- if (this.accessibleRole === "menu") {
18466
- this.focusController();
18467
- }
18468
- this.teleport.resume(200);
18469
18602
  }
18470
18603
  /**
18471
18604
  * Toggle.
@@ -18478,9 +18611,53 @@ class DuetPopupMenu {
18478
18611
  this.show();
18479
18612
  }
18480
18613
  }
18481
- focusController() {
18482
- if (this.controller) {
18483
- focusElement(this.controller);
18614
+ handleControllerChange(newValue, oldValue) {
18615
+ if (!!newValue === !!oldValue) {
18616
+ return;
18617
+ }
18618
+ if (typeof this.controller === "string") {
18619
+ this.setOpenButton(document.getElementById(this.controller));
18620
+ if (this.openButton) {
18621
+ this.openButton.addEventListener("click", this.openButtonEventListener);
18622
+ }
18623
+ }
18624
+ else {
18625
+ this.setOpenButton(this.controller);
18626
+ }
18627
+ }
18628
+ handleOpenChange(newValue, oldValue) {
18629
+ if (!!newValue === !!oldValue) {
18630
+ return;
18631
+ }
18632
+ if (this.open && !oldValue) {
18633
+ if (this.openButton) {
18634
+ this.openButton.accessibleExpanded = true;
18635
+ }
18636
+ this.teleport.go(true);
18637
+ this.updatePlacement();
18638
+ setTimeout(() => {
18639
+ if (this.accessibleRole === "menu") {
18640
+ this.itemElements[0].setFocus();
18641
+ }
18642
+ this.duetToggle.emit({ open: this.open, component: "duet-popup-menu" });
18643
+ }, 200);
18644
+ }
18645
+ else if (!this.open && oldValue) {
18646
+ if (this.openButton) {
18647
+ this.openButton.accessibleExpanded = false;
18648
+ }
18649
+ setTimeout(() => {
18650
+ if (this.accessibleRole === "menu") {
18651
+ this.focusOpenButton();
18652
+ }
18653
+ this.duetToggle.emit({ open: this.open, component: "duet-popup-menu" });
18654
+ this.teleport.resume();
18655
+ }, 200);
18656
+ }
18657
+ }
18658
+ focusOpenButton() {
18659
+ if (this.open) {
18660
+ focusElement(this.openButton);
18484
18661
  }
18485
18662
  }
18486
18663
  get itemElements() {
@@ -18499,10 +18676,15 @@ class DuetPopupMenu {
18499
18676
  const positionStyles = {
18500
18677
  top: `${this.menuY}px`,
18501
18678
  left: `${this.menuX}px`,
18679
+ position: this.position,
18502
18680
  };
18503
- return (hAsync(Host, { class: this.position }, hAsync("div", { ref: element => (this.menuElement = element), style: positionStyles, class: { open: this.open, "duet-popup-menu-list": true, "duet-theme-turva": this.theme === "turva" }, role: this.accessibleRole, "aria-label": this.accessibleLabel }, hAsync("slot", null))));
18681
+ return (hAsync(Host, null, hAsync("div", { ref: element => (this.menuElement = element), style: positionStyles, class: { open: this.open, "duet-popup-menu-list": true, "duet-theme-turva": this.theme === "turva" }, role: this.accessibleRole, "aria-label": this.accessibleLabel }, hAsync("slot", null))));
18504
18682
  }
18505
18683
  get element() { return getElement(this); }
18684
+ static get watchers() { return {
18685
+ "controller": ["handleControllerChange"],
18686
+ "open": ["handleOpenChange"]
18687
+ }; }
18506
18688
  static get style() { return duetPopupMenuCss; }
18507
18689
  static get cmpMeta() { return {
18508
18690
  "$flags$": 9,
@@ -18511,9 +18693,9 @@ class DuetPopupMenu {
18511
18693
  "accessibleLabel": [1, "accessible-label"],
18512
18694
  "accessibleRole": [1, "accessible-role"],
18513
18695
  "theme": [1025],
18514
- "controller": [16],
18696
+ "controller": [1],
18515
18697
  "placement": [1],
18516
- "position": [1],
18698
+ "position": [1025],
18517
18699
  "mainAxisOffset": [2, "main-axis-offset"],
18518
18700
  "crossAxisOffset": [2, "cross-axis-offset"],
18519
18701
  "open": [32],
@@ -18562,6 +18744,7 @@ class DuetPopupMenuItem {
18562
18744
  this.theme = "";
18563
18745
  this.url = undefined;
18564
18746
  this.external = false;
18747
+ this.targetLanguage = undefined;
18565
18748
  this.value = undefined;
18566
18749
  this.leadingIcon = undefined;
18567
18750
  this.leadingIconColor = undefined;
@@ -18594,7 +18777,7 @@ class DuetPopupMenuItem {
18594
18777
  active: this.active,
18595
18778
  "duet-theme-turva": this.theme === "turva",
18596
18779
  };
18597
- return (hAsync(Host, null, hAsync(TagName, { ref: element => (this.itemElement = element), tabIndex: this.accessibleRole === "menuitem" ? -1 : 0, onFocus: this.onFocus, onBlur: this.onBlur, role: `${TagName === "a" ? "link" : "button"} ${this.accessibleRole}`, "aria-label": this.accessibleLabel, class: classes, value: this.value, href: this.url, target: this.external ? "_blank" : undefined, rel: this.external ? "noopener" : undefined }, this.leadingIcon && (hAsync("duet-icon", { name: this.leadingIcon, size: "x-small", color: this.leadingIconColor ? this.leadingIconColor : "currentColor", class: "duet-popup-menu-item-leading", margin: "none" })), hAsync("span", { class: "duet-popup-menu-item-label" }, hAsync("slot", null)), this.trailingIcon && (hAsync("duet-icon", { name: this.trailingIcon, size: "x-small", color: "currentColor", class: "duet-popup-menu-item-trailing", margin: "none" })), this.trailingText && hAsync("span", { class: "duet-popup-menu-item-trailing" }, this.trailingText))));
18780
+ return (hAsync(Host, { role: this.accessibleRole }, hAsync(TagName, { ref: element => (this.itemElement = element), tabIndex: this.accessibleRole === "menuitem" ? -1 : 0, onFocus: this.onFocus, onBlur: this.onBlur, role: `${TagName === "a" ? "link" : "button"}`, "aria-label": this.accessibleLabel, class: classes, value: this.value, href: this.url, target: this.external ? "_blank" : undefined, rel: this.external ? "noopener" : undefined, lang: TagName === "button" ? undefined : this.targetLanguage, hreflang: TagName === "button" ? undefined : this.targetLanguage }, this.leadingIcon && (hAsync("duet-icon", { name: this.leadingIcon, size: "x-small", color: this.leadingIconColor ? this.leadingIconColor : "currentColor", class: "duet-popup-menu-item-leading", margin: "none" })), hAsync("span", { class: "duet-popup-menu-item-label" }, hAsync("slot", null)), (this.trailingIcon || this.active) && (hAsync("duet-icon", { name: this.active ? "messaging-checked-small" : this.trailingIcon, size: this.active ? "xx-small" : "x-small", color: "currentColor", class: "duet-popup-menu-item-trailing", margin: "none" })), this.trailingText && hAsync("span", { class: "duet-popup-menu-item-trailing" }, this.trailingText))));
18598
18781
  }
18599
18782
  get element() { return getElement(this); }
18600
18783
  static get style() { return duetPopupMenuItemCss; }
@@ -18607,6 +18790,7 @@ class DuetPopupMenuItem {
18607
18790
  "theme": [1025],
18608
18791
  "url": [1],
18609
18792
  "external": [4],
18793
+ "targetLanguage": [1, "target-language"],
18610
18794
  "value": [1],
18611
18795
  "leadingIcon": [1, "leading-icon"],
18612
18796
  "leadingIconColor": [1, "leading-icon-color"],
@@ -18694,7 +18878,7 @@ class DuetProgress {
18694
18878
  }; }
18695
18879
  }
18696
18880
 
18697
- const duetPromoCardCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-promo-card,*.sc-duet-promo-card::after,*.sc-duet-promo-card::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-promo-card-h{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*/.sc-duet-promo-card-h:last-child,.sc-duet-promo-card-h:last-of-type{margin-right:0 !important}/*!@:host(.duet-m-0)*/.duet-m-0.sc-duet-promo-card-h{margin:0 !important}/*!@.duet-promo-card*/.duet-promo-card.sc-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*/.duet-promo-card.duet-p-0.sc-duet-promo-card{padding:0 !important}/*!@.duet-promo-card.duet-m-0*/.duet-promo-card.duet-m-0.sc-duet-promo-card{margin:0 !important}/*!@.duet-promo-card .content-wrapper*/.duet-promo-card.sc-duet-promo-card .content-wrapper.sc-duet-promo-card{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}/*!@.duet-promo-card .content-wrapper:focus*/.duet-promo-card.sc-duet-promo-card .content-wrapper.sc-duet-promo-card: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*/.duet-promo-card.sc-duet-promo-card .image.sc-duet-promo-card{position:relative;width:100%;overflow:hidden;border-top-left-radius:20px;border-top-right-radius:20px;object-fit:cover}/*!@.duet-promo-card .content*/.duet-promo-card.sc-duet-promo-card .content.sc-duet-promo-card{display:flex;flex-direction:column;flex-grow:1;gap:8px;padding:20px}@media (min-width: 36em){/*!@.duet-promo-card .content*/.duet-promo-card.sc-duet-promo-card .content.sc-duet-promo-card{padding:28px}}/*!@.duet-promo-card .action*/.duet-promo-card.sc-duet-promo-card .action.sc-duet-promo-card{display:flex;flex-grow:1;align-items:flex-end;padding-top:16px}/*!@.duet-promo-card.no-bg-color .content*/.duet-promo-card.no-bg-color.sc-duet-promo-card .content.sc-duet-promo-card{padding:20px 0 0}/*!@.duet-promo-card.no-bg-color .image*/.duet-promo-card.no-bg-color.sc-duet-promo-card .image.sc-duet-promo-card{border-radius:16px}/*!@.duet-promo-card.duet-theme-turva*/.duet-promo-card.duet-theme-turva.sc-duet-promo-card{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*/.duet-promo-card.duet-theme-turva.sc-duet-promo-card .content-wrapper.sc-duet-promo-card:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}";
18881
+ const duetPromoCardCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-promo-card,*.sc-duet-promo-card::after,*.sc-duet-promo-card::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-promo-card-h{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*/.sc-duet-promo-card-h:last-child,.sc-duet-promo-card-h:last-of-type{margin-right:0 !important}/*!@:host(.duet-m-0)*/.duet-m-0.sc-duet-promo-card-h{margin:0 !important}/*!@.duet-promo-card*/.duet-promo-card.sc-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*/.duet-promo-card.duet-p-0.sc-duet-promo-card{padding:0 !important}/*!@.duet-promo-card.duet-m-0*/.duet-promo-card.duet-m-0.sc-duet-promo-card{margin:0 !important}/*!@.duet-promo-card .content-wrapper*/.duet-promo-card.sc-duet-promo-card .content-wrapper.sc-duet-promo-card{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}/*!@.duet-promo-card .content-wrapper:focus*/.duet-promo-card.sc-duet-promo-card .content-wrapper.sc-duet-promo-card: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*/.duet-promo-card.sc-duet-promo-card .image.sc-duet-promo-card{position:relative;width:100%;overflow:hidden;border-top-left-radius:20px;border-top-right-radius:20px;object-fit:cover}/*!@.duet-promo-card .content*/.duet-promo-card.sc-duet-promo-card .content.sc-duet-promo-card{display:flex;flex-direction:column;flex-grow:1;gap:8px;padding:20px}@media (min-width: 36em){/*!@.duet-promo-card .content*/.duet-promo-card.sc-duet-promo-card .content.sc-duet-promo-card{padding:28px}}/*!@.duet-promo-card .action*/.duet-promo-card.sc-duet-promo-card .action.sc-duet-promo-card{display:flex;flex-grow:1;align-items:flex-end;padding-top:16px}/*!@.duet-promo-card.no-bg-color .content*/.duet-promo-card.no-bg-color.sc-duet-promo-card .content.sc-duet-promo-card{padding:20px 0 0}/*!@.duet-promo-card.no-bg-color .image*/.duet-promo-card.no-bg-color.sc-duet-promo-card .image.sc-duet-promo-card{border-radius:16px}/*!@.duet-promo-card.duet-theme-turva*/.duet-promo-card.duet-theme-turva.sc-duet-promo-card{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*/.duet-promo-card.duet-theme-turva.sc-duet-promo-card .content-wrapper.sc-duet-promo-card:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-promo-card-link*/.duet-promo-card-link.sc-duet-promo-card{transition:box-shadow 300ms ease}/*!@.duet-promo-card-link:hover*/.duet-promo-card-link.sc-duet-promo-card: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*/.duet-promo-card-link.sc-duet-promo-card: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)}";
18698
18882
 
18699
18883
  /**
18700
18884
  * @slot pre-heading - Slot for pre-heading content.
@@ -18718,13 +18902,17 @@ class DuetPromoCard {
18718
18902
  */
18719
18903
  componentWillLoad() {
18720
18904
  inheritGlobalTheme(this);
18721
- this.hasPreHeadingSlot = !!this.element.querySelector('[slot="pre-heading"]');
18722
- this.hasHeadingSlot = !!this.element.querySelector('[slot="heading"]');
18723
- this.hasDescriptionSlot = !!this.element.querySelector('[slot="description"]');
18724
- this.hasActionSlot = !!this.element.querySelector('[slot="action"]');
18905
+ this.hasPreHeadingSlot = hasSlot(this.element, "pre-heading");
18906
+ this.hasHeadingSlot = hasSlot(this.element, "heading");
18907
+ this.hasDescriptionSlot = hasSlot(this.element, "description");
18908
+ this.hasActionSlot = hasSlot(this.element, "action");
18909
+ checkNamedSlotElement(this.element, "heading", "span");
18910
+ checkNamedSlotElement(this.element, "description", "span");
18725
18911
  }
18726
18912
  /**
18727
- * Sets focus on underlying a element when url attribute is used.
18913
+ * Sets focus on underlying a element.
18914
+ * Available only when url attribute is used.
18915
+ * Use this method instead of the native `focus()`.
18728
18916
  */
18729
18917
  async setFocus(options) {
18730
18918
  if (this.url && this.aOrDivElement) {
@@ -18745,7 +18933,8 @@ class DuetPromoCard {
18745
18933
  "duet-promo-card": true,
18746
18934
  "duet-theme-turva": this.theme === "turva",
18747
18935
  "no-bg-color": !this.backgroundColor,
18748
- }, style: bannerStyles }, hAsync(TagName, { href: this.url, class: "content-wrapper", ref: element => (this.aOrDivElement = element) }, hAsync("img", { class: "image", src: this.image, alt: "", role: "presentation" }), hAsync("div", { class: "content" }, this.hasPreHeadingSlot && (hAsync("div", { class: "pre-heading" }, hAsync("slot", { name: "pre-heading" }))), this.hasHeadingSlot && (hAsync("div", { class: "heading" }, hAsync("duet-heading", { theme: this.theme, level: this.headingLevel, "visual-level": "h3", margin: "none", color: this.textColor }, hAsync("span", null, hAsync("slot", { name: "heading", onSlotchange: ev => slotElementCheck(ev, this, "span") }))))), this.hasDescriptionSlot && (hAsync("div", { class: "description" }, hAsync("duet-paragraph", { theme: this.theme, margin: "none", color: this.textColor }, hAsync("span", null, hAsync("slot", { name: "description", onSlotchange: ev => slotElementCheck(ev, this, "span") }))))), this.hasActionSlot && (hAsync("div", { class: "action" }, hAsync("slot", { name: "action" }))))))));
18936
+ "duet-promo-card-link": !!this.url,
18937
+ }, style: bannerStyles }, hAsync(TagName, { href: this.url, class: "content-wrapper", ref: element => (this.aOrDivElement = element) }, hAsync("img", { class: "image", src: this.image, alt: "", role: "presentation" }), hAsync("div", { class: "content" }, this.hasPreHeadingSlot && (hAsync("div", { class: "pre-heading" }, hAsync("slot", { name: "pre-heading" }))), this.hasHeadingSlot && (hAsync("div", { class: "heading" }, hAsync("duet-heading", { theme: this.theme, level: this.headingLevel, "visual-level": "h3", margin: "none", color: this.textColor }, hAsync("span", null, hAsync("slot", { name: "heading" }))))), this.hasDescriptionSlot && (hAsync("div", { class: "description" }, hAsync("duet-paragraph", { theme: this.theme, margin: "none", color: this.textColor }, hAsync("span", null, hAsync("slot", { name: "description" }))))), this.hasActionSlot && (hAsync("div", { class: "action" }, hAsync("slot", { name: "action" }))))))));
18749
18938
  }
18750
18939
  get element() { return getElement(this); }
18751
18940
  static get style() { return duetPromoCardCss; }
@@ -18972,6 +19161,7 @@ class DuetRadioGroup {
18972
19161
  }
18973
19162
  componentWillLoad() {
18974
19163
  inheritGlobalTheme(this);
19164
+ checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
18975
19165
  }
18976
19166
  /**
18977
19167
  * Local methods.
@@ -19710,6 +19900,7 @@ class DuetSelect {
19710
19900
  componentWillLoad() {
19711
19901
  inheritGlobalTheme(this);
19712
19902
  this.isCaptionVisible = !!this.caption;
19903
+ checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
19713
19904
  this.refresh();
19714
19905
  }
19715
19906
  /**
@@ -19963,7 +20154,7 @@ class DuetShowMore {
19963
20154
  }; }
19964
20155
  }
19965
20156
 
19966
- const duetSlideoutCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-slideout,*.sc-duet-slideout::after,*.sc-duet-slideout::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-slideout-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:absolute;height:100%}/*!@::slotted(*)*/.sc-duet-slideout-s>*{position:relative;width:100%;visibility:hidden;opacity:0}/*!@:host([open]:not([open=false])) ::slotted(*)*/.sc-duet-slideout-h[open]:not([open=false]) .sc-duet-slideout-s>*{visibility:visible;opacity:1}/*!@:host(:not([open])) ::slotted(duet-slideout-panel)*/.sc-duet-slideout-h:not([open]) .sc-duet-slideout-s>duet-slideout-panel{display:none}/*!@.duet-slideout*/.duet-slideout.sc-duet-slideout{display:flex;align-items:center;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-size:1rem;font-weight:400;line-height:1.5;color:rgb(0, 41, 77)}/*!@.duet-slideout.duet-theme-turva*/.duet-slideout.duet-theme-turva.sc-duet-slideout{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 .desktop-bg*/.duet-slideout.sc-duet-slideout .desktop-bg.sc-duet-slideout{display:none}@media (min-width: 62em){/*!@.duet-slideout .desktop-bg*/.duet-slideout.sc-duet-slideout .desktop-bg.sc-duet-slideout{position:fixed;top:0;left:0;z-index:400;display:block;width:100%;height:100%;visibility:hidden;background:rgba(0, 41, 77, 0.6);opacity:0;transition:600ms ease}/*!@.duet-slideout .desktop-bg:not(.hidden)*/.duet-slideout.sc-duet-slideout .desktop-bg.sc-duet-slideout:not(.hidden){visibility:visible;opacity:1;transition:600ms ease}}@media (min-width: 62em){/*!@.duet-slideout.duet-theme-turva .desktop-bg*/.duet-slideout.duet-theme-turva.sc-duet-slideout .desktop-bg.sc-duet-slideout{background:rgba(23, 28, 58, 0.6)}}/*!@.duet-slideout .dialog*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout{position:fixed;top:0;bottom:0;left:0;z-index:400;width:100%;height:100%;padding-bottom:75px;overflow-y:auto;box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1) inset}@media (min-width: 62em){/*!@.duet-slideout .dialog*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout{right:0;left:auto;width:500px;padding-bottom:0;transition:right 300ms ease;transition-delay:0s}}/*!@.duet-slideout .dialog .top-container.has-sticky-header-slot*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top-container.has-sticky-header-slot.sc-duet-slideout{position:sticky;top:0;z-index:200}/*!@.duet-slideout .dialog .top-container.has-sticky-header-slot .top*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top-container.has-sticky-header-slot.sc-duet-slideout .top.sc-duet-slideout{background:rgb(243, 249, 252)}/*!@.duet-slideout .dialog .top-container.has-sticky-header-slot .sticky-header*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top-container.has-sticky-header-slot.sc-duet-slideout .sticky-header.sc-duet-slideout{display:block}/*!@.duet-slideout .dialog .top*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;padding:4px}/*!@.duet-slideout .dialog .top button*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout button.sc-duet-slideout{cursor:pointer}/*!@.duet-slideout .dialog .top button:focus*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout button.sc-duet-slideout:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-slideout .dialog .top duet-icon*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout duet-icon.sc-duet-slideout{padding:16px}/*!@.duet-slideout .dialog .sticky-header*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .sticky-header.sc-duet-slideout{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 .dialog .items*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .items.sc-duet-slideout{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;padding:0 1.5rem}/*!@.duet-slideout .dialog.hidden*/.duet-slideout.sc-duet-slideout .dialog.hidden.sc-duet-slideout{pointer-events:none;visibility:hidden}@media (min-width: 62em){/*!@.duet-slideout .dialog.hidden*/.duet-slideout.sc-duet-slideout .dialog.hidden.sc-duet-slideout{right:-500px;transition:300ms ease}}/*!@.duet-slideout.duet-theme-turva .dialog*/.duet-slideout.duet-theme-turva.sc-duet-slideout .dialog.sc-duet-slideout{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1) inset}/*!@.duet-slideout.duet-theme-turva button*/.duet-slideout.duet-theme-turva.sc-duet-slideout button.sc-duet-slideout{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.duet-theme-turva button:focus*/.duet-slideout.duet-theme-turva.sc-duet-slideout button.sc-duet-slideout:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-slideout.duet-theme-turva button.active*/.duet-slideout.duet-theme-turva.sc-duet-slideout button.active.sc-duet-slideout{color:rgb(198, 12, 48)}/*!@.duet-slideout.duet-theme-turva button.active::after*/.duet-slideout.duet-theme-turva.sc-duet-slideout button.active.sc-duet-slideout::after{background:rgb(198, 12, 48)}/*!@.duet-slideout.duet-theme-turva .has-sticky-header-slot .top*/.duet-slideout.duet-theme-turva.sc-duet-slideout .has-sticky-header-slot.sc-duet-slideout .top.sc-duet-slideout{background:rgb(245, 245, 247)}/*!@.duet-slideout.duet-theme-turva .has-sticky-header-slot .sticky-header*/.duet-slideout.duet-theme-turva.sc-duet-slideout .has-sticky-header-slot.sc-duet-slideout .sticky-header.sc-duet-slideout{background:rgb(245, 245, 247);border-bottom:1px solid rgb(228, 228, 230)}/*!@.duet-slideout.duet-theme-turva .dialog .top button:focus*/.duet-slideout.duet-theme-turva.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout button.sc-duet-slideout:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@slot*/slot.sc-duet-slideout{color:rgb(0, 41, 77)}/*!@.duet-theme-turva slot*/.duet-theme-turva.sc-duet-slideout slot.sc-duet-slideout{color:rgb(23, 28, 58)}";
20157
+ const duetSlideoutCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-slideout,*.sc-duet-slideout::after,*.sc-duet-slideout::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-slideout-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:absolute;height:100%}/*!@::slotted(*)*/.sc-duet-slideout-s>*{position:relative;width:100%;visibility:hidden;opacity:0}/*!@:host([open]:not([open=false])) ::slotted(*)*/.sc-duet-slideout-h[open]:not([open=false]) .sc-duet-slideout-s>*{visibility:visible;opacity:1}/*!@:host(:not([open])) ::slotted(duet-slideout-panel)*/.sc-duet-slideout-h:not([open]) .sc-duet-slideout-s>duet-slideout-panel{display:none}/*!@.duet-slideout*/.duet-slideout.sc-duet-slideout{display:flex;align-items:center;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-size:1rem;font-weight:400;line-height:1.5;color:rgb(0, 41, 77)}/*!@.duet-slideout.duet-theme-turva*/.duet-slideout.duet-theme-turva.sc-duet-slideout{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 .desktop-bg*/.duet-slideout.sc-duet-slideout .desktop-bg.sc-duet-slideout{display:none}@media (min-width: 62em){/*!@.duet-slideout .desktop-bg*/.duet-slideout.sc-duet-slideout .desktop-bg.sc-duet-slideout{position:fixed;top:0;left:0;z-index:400;display:block;width:100%;height:100%;visibility:hidden;background:rgb(0, 41, 77);opacity:0;transition:600ms ease}/*!@.duet-slideout .desktop-bg:not(.hidden)*/.duet-slideout.sc-duet-slideout .desktop-bg.sc-duet-slideout:not(.hidden){visibility:visible;opacity:0.3;transition:600ms ease}}@media (min-width: 62em){/*!@.duet-slideout.duet-theme-turva .desktop-bg*/.duet-slideout.duet-theme-turva.sc-duet-slideout .desktop-bg.sc-duet-slideout{background:rgb(23, 28, 58)}}/*!@.duet-slideout .dialog*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout{position:fixed;top:0;bottom:0;left:0;z-index:400;width:100%;height:100%;padding-bottom:75px;overflow-y:auto;box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1) inset}@media (min-width: 62em){/*!@.duet-slideout .dialog*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout{right:0;left:auto;width:500px;padding-bottom:0;transition:right 300ms ease;transition-delay:0s}}/*!@.duet-slideout .dialog .top-container.has-sticky-header-slot*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top-container.has-sticky-header-slot.sc-duet-slideout{position:sticky;top:0;z-index:200}/*!@.duet-slideout .dialog .top-container.has-sticky-header-slot .top*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top-container.has-sticky-header-slot.sc-duet-slideout .top.sc-duet-slideout{background:rgb(243, 249, 252)}/*!@.duet-slideout .dialog .top-container.has-sticky-header-slot .sticky-header*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top-container.has-sticky-header-slot.sc-duet-slideout .sticky-header.sc-duet-slideout{display:block}/*!@.duet-slideout .dialog .top*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;padding:4px}/*!@.duet-slideout .dialog .top button*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout button.sc-duet-slideout{cursor:pointer}/*!@.duet-slideout .dialog .top button:focus*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout button.sc-duet-slideout:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-slideout .dialog .top duet-icon*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout duet-icon.sc-duet-slideout{padding:16px}/*!@.duet-slideout .dialog .sticky-header*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .sticky-header.sc-duet-slideout{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 .dialog .items*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .items.sc-duet-slideout{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;padding:0 1.5rem}/*!@.duet-slideout .dialog.hidden*/.duet-slideout.sc-duet-slideout .dialog.hidden.sc-duet-slideout{pointer-events:none;visibility:hidden}@media (min-width: 62em){/*!@.duet-slideout .dialog.hidden*/.duet-slideout.sc-duet-slideout .dialog.hidden.sc-duet-slideout{right:-500px;transition:300ms ease}}/*!@.duet-slideout.duet-theme-turva .dialog*/.duet-slideout.duet-theme-turva.sc-duet-slideout .dialog.sc-duet-slideout{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1) inset}/*!@.duet-slideout.duet-theme-turva button*/.duet-slideout.duet-theme-turva.sc-duet-slideout button.sc-duet-slideout{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.duet-theme-turva button:focus*/.duet-slideout.duet-theme-turva.sc-duet-slideout button.sc-duet-slideout:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-slideout.duet-theme-turva button.active*/.duet-slideout.duet-theme-turva.sc-duet-slideout button.active.sc-duet-slideout{color:rgb(198, 12, 48)}/*!@.duet-slideout.duet-theme-turva button.active::after*/.duet-slideout.duet-theme-turva.sc-duet-slideout button.active.sc-duet-slideout::after{background:rgb(198, 12, 48)}/*!@.duet-slideout.duet-theme-turva .has-sticky-header-slot .top*/.duet-slideout.duet-theme-turva.sc-duet-slideout .has-sticky-header-slot.sc-duet-slideout .top.sc-duet-slideout{background:rgb(245, 245, 247)}/*!@.duet-slideout.duet-theme-turva .has-sticky-header-slot .sticky-header*/.duet-slideout.duet-theme-turva.sc-duet-slideout .has-sticky-header-slot.sc-duet-slideout .sticky-header.sc-duet-slideout{background:rgb(245, 245, 247);border-bottom:1px solid rgb(228, 228, 230)}/*!@.duet-slideout.duet-theme-turva .dialog .top button:focus*/.duet-slideout.duet-theme-turva.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout button.sc-duet-slideout:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@slot*/slot.sc-duet-slideout{color:rgb(0, 41, 77)}/*!@.duet-theme-turva slot*/.duet-theme-turva.sc-duet-slideout slot.sc-duet-slideout{color:rgb(23, 28, 58)}";
19967
20158
 
19968
20159
  /**
19969
20160
  * @slot sticky-header - Content will be fixed to the top of the modal when scrolling.
@@ -20836,7 +21027,7 @@ class DuetStepper {
20836
21027
  }; }
20837
21028
  }
20838
21029
 
20839
- const duetSubmenuBarCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-submenu-bar,*.sc-duet-submenu-bar::after,*.sc-duet-submenu-bar::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-submenu-bar-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%}/*!@:host(:not([open])) ::slotted(duet-submenu-bar-dropdown)*/.sc-duet-submenu-bar-h:not([open]) .sc-duet-submenu-bar-s>duet-submenu-bar-dropdown{display:none}@media (min-width: 62em){/*!@:host(:not([open])) ::slotted(duet-submenu-bar-dropdown)*/.sc-duet-submenu-bar-h:not([open]) .sc-duet-submenu-bar-s>duet-submenu-bar-dropdown{display:inherit}}/*!@.duet-submenu-bar*/.duet-submenu-bar.sc-duet-submenu-bar{position:relative;z-index:1;background:rgb(243, 249, 252)}@media (min-width: 62em){/*!@.duet-submenu-bar*/.duet-submenu-bar.sc-duet-submenu-bar{border-bottom:1px solid rgb(205, 229, 241)}}/*!@.duet-submenu-bar button*/.duet-submenu-bar.sc-duet-submenu-bar button.sc-duet-submenu-bar{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 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:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 41, 77)}/*!@.duet-submenu-bar button.active .caret*/.duet-submenu-bar.sc-duet-submenu-bar button.active.sc-duet-submenu-bar .caret.sc-duet-submenu-bar{transform:rotate(180deg)}/*!@.duet-submenu-bar button:focus*/.duet-submenu-bar.sc-duet-submenu-bar button.sc-duet-submenu-bar:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-submenu-bar button .label*/.duet-submenu-bar.sc-duet-submenu-bar button.sc-duet-submenu-bar .label.sc-duet-submenu-bar{position:relative;display:flex;gap:8px;align-items:center;justify-content:center}@media (min-width: 62em){/*!@.duet-submenu-bar button*/.duet-submenu-bar.sc-duet-submenu-bar button.sc-duet-submenu-bar{display:none}}/*!@.duet-submenu-bar .menu-container*/.duet-submenu-bar.sc-duet-submenu-bar .menu-container.sc-duet-submenu-bar{position:absolute;z-index:399;width:100%}/*!@.duet-submenu-bar .menu-container.hidden*/.duet-submenu-bar.sc-duet-submenu-bar .menu-container.hidden.sc-duet-submenu-bar{max-height:0;overflow:hidden;visibility:hidden}@media (min-width: 62em){/*!@.duet-submenu-bar .menu-container, .duet-submenu-bar .menu-container.hidden*/.duet-submenu-bar.sc-duet-submenu-bar .menu-container.sc-duet-submenu-bar,.duet-submenu-bar.sc-duet-submenu-bar .menu-container.hidden.sc-duet-submenu-bar{position:static;z-index:auto;max-height:unset;overflow:visible;visibility:visible}}/*!@.duet-submenu-bar .items*/.duet-submenu-bar.sc-duet-submenu-bar .items.sc-duet-submenu-bar{width:100%;height:70vh;overflow-y:scroll;visibility:visible;background:rgb(243, 249, 252);border-bottom:1px solid rgb(207, 210, 212)}/*!@.duet-submenu-bar .items ::slotted(*)*/.duet-submenu-bar .items .sc-duet-submenu-bar-s>*{position:relative}/*!@.duet-submenu-bar .items.hidden*/.duet-submenu-bar.sc-duet-submenu-bar .items.hidden.sc-duet-submenu-bar{max-height:0;overflow:hidden;visibility:hidden;border-bottom:0 solid rgb(207, 210, 212)}/*!@.duet-submenu-bar .items .list-padding*/.duet-submenu-bar.sc-duet-submenu-bar .items.sc-duet-submenu-bar .list-padding.sc-duet-submenu-bar{padding-bottom:188px}@media (min-width: 62em){/*!@.duet-submenu-bar .items .list*/.duet-submenu-bar.sc-duet-submenu-bar .items.sc-duet-submenu-bar .list.sc-duet-submenu-bar{display:flex;align-items:center;justify-content:space-between;height:100%}/*!@.duet-submenu-bar .items, .duet-submenu-bar .items.hidden*/.duet-submenu-bar.sc-duet-submenu-bar .items.sc-duet-submenu-bar,.duet-submenu-bar.sc-duet-submenu-bar .items.hidden.sc-duet-submenu-bar{position:static;z-index:auto;display:flex;flex-direction:row;align-items:center;justify-content:center;height:auto;max-height:unset;overflow:visible;visibility:visible;border:0}/*!@.duet-submenu-bar .items .list-padding*/.duet-submenu-bar.sc-duet-submenu-bar .items.sc-duet-submenu-bar .list-padding.sc-duet-submenu-bar{display:none;padding-bottom:0}}/*!@.duet-submenu-bar .mobile-background*/.duet-submenu-bar.sc-duet-submenu-bar .mobile-background.sc-duet-submenu-bar{position:absolute;width:100%;height:100%;background:rgba(0, 41, 77, 0.6)}@media (min-width: 62em){/*!@.duet-submenu-bar .mobile-background*/.duet-submenu-bar.sc-duet-submenu-bar .mobile-background.sc-duet-submenu-bar{display:none}}/*!@.duet-submenu-bar.duet-theme-turva*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar{background:rgb(245, 245, 247);border-bottom:1px solid rgb(228, 228, 230)}/*!@.duet-submenu-bar.duet-theme-turva button:focus*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar button.sc-duet-submenu-bar:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-submenu-bar.duet-theme-turva .items*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar .items.sc-duet-submenu-bar{background:rgb(245, 245, 247)}/*!@.duet-submenu-bar.duet-theme-turva .mobile-background*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar .mobile-background.sc-duet-submenu-bar{background:rgba(23, 28, 58, 0.6)}/*!@.duet-submenu-bar.duet-theme-turva .shadow-container .top-shadow*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar .shadow-container.sc-duet-submenu-bar .top-shadow.sc-duet-submenu-bar{box-shadow:0 2px 6px 0 rgba(23, 28, 58, 0.07)}@media (min-width: 62em){/*!@.duet-submenu-bar.duet-theme-turva .shadow-container .top-shadow*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar .shadow-container.sc-duet-submenu-bar .top-shadow.sc-duet-submenu-bar{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1)}}";
21030
+ const duetSubmenuBarCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-submenu-bar,*.sc-duet-submenu-bar::after,*.sc-duet-submenu-bar::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-submenu-bar-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%}/*!@:host(:not([open])) ::slotted(duet-submenu-bar-dropdown)*/.sc-duet-submenu-bar-h:not([open]) .sc-duet-submenu-bar-s>duet-submenu-bar-dropdown{display:none}@media (min-width: 62em){/*!@:host(:not([open])) ::slotted(duet-submenu-bar-dropdown)*/.sc-duet-submenu-bar-h:not([open]) .sc-duet-submenu-bar-s>duet-submenu-bar-dropdown{display:inherit}}/*!@.duet-submenu-bar*/.duet-submenu-bar.sc-duet-submenu-bar{position:relative;z-index:1;background:rgb(243, 249, 252)}@media (min-width: 62em){/*!@.duet-submenu-bar*/.duet-submenu-bar.sc-duet-submenu-bar{border-bottom:1px solid rgb(205, 229, 241)}}/*!@.duet-submenu-bar button*/.duet-submenu-bar.sc-duet-submenu-bar button.sc-duet-submenu-bar{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 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:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 41, 77)}/*!@.duet-submenu-bar button.active .caret*/.duet-submenu-bar.sc-duet-submenu-bar button.active.sc-duet-submenu-bar .caret.sc-duet-submenu-bar{transform:rotate(180deg)}/*!@.duet-submenu-bar button:focus*/.duet-submenu-bar.sc-duet-submenu-bar button.sc-duet-submenu-bar:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-submenu-bar button .label*/.duet-submenu-bar.sc-duet-submenu-bar button.sc-duet-submenu-bar .label.sc-duet-submenu-bar{position:relative;display:flex;gap:8px;align-items:center;justify-content:center}@media (min-width: 62em){/*!@.duet-submenu-bar button*/.duet-submenu-bar.sc-duet-submenu-bar button.sc-duet-submenu-bar{display:none}}/*!@.duet-submenu-bar .menu-container*/.duet-submenu-bar.sc-duet-submenu-bar .menu-container.sc-duet-submenu-bar{position:absolute;z-index:399;width:100%}/*!@.duet-submenu-bar .menu-container.hidden*/.duet-submenu-bar.sc-duet-submenu-bar .menu-container.hidden.sc-duet-submenu-bar{max-height:0;overflow:hidden;visibility:hidden}@media (min-width: 62em){/*!@.duet-submenu-bar .menu-container, .duet-submenu-bar .menu-container.hidden*/.duet-submenu-bar.sc-duet-submenu-bar .menu-container.sc-duet-submenu-bar,.duet-submenu-bar.sc-duet-submenu-bar .menu-container.hidden.sc-duet-submenu-bar{position:static;z-index:auto;max-height:unset;overflow:visible;visibility:visible}}/*!@.duet-submenu-bar .items*/.duet-submenu-bar.sc-duet-submenu-bar .items.sc-duet-submenu-bar{width:100%;height:70vh;overflow-y:scroll;visibility:visible;background:rgb(243, 249, 252);border-bottom:1px solid rgb(207, 210, 212)}/*!@.duet-submenu-bar .items ::slotted(*)*/.duet-submenu-bar .items .sc-duet-submenu-bar-s>*{position:relative}/*!@.duet-submenu-bar .items.hidden*/.duet-submenu-bar.sc-duet-submenu-bar .items.hidden.sc-duet-submenu-bar{max-height:0;overflow:hidden;visibility:hidden;border-bottom:0 solid rgb(207, 210, 212)}/*!@.duet-submenu-bar .items .list-padding*/.duet-submenu-bar.sc-duet-submenu-bar .items.sc-duet-submenu-bar .list-padding.sc-duet-submenu-bar{padding-bottom:188px}@media (min-width: 62em){/*!@.duet-submenu-bar .items .list*/.duet-submenu-bar.sc-duet-submenu-bar .items.sc-duet-submenu-bar .list.sc-duet-submenu-bar{display:flex;align-items:center;justify-content:space-between;height:100%}/*!@.duet-submenu-bar .items, .duet-submenu-bar .items.hidden*/.duet-submenu-bar.sc-duet-submenu-bar .items.sc-duet-submenu-bar,.duet-submenu-bar.sc-duet-submenu-bar .items.hidden.sc-duet-submenu-bar{position:static;z-index:auto;display:flex;flex-direction:row;align-items:center;justify-content:center;height:auto;max-height:unset;overflow:visible;visibility:visible;border:0}/*!@.duet-submenu-bar .items .list-padding*/.duet-submenu-bar.sc-duet-submenu-bar .items.sc-duet-submenu-bar .list-padding.sc-duet-submenu-bar{display:none;padding-bottom:0}}/*!@.duet-submenu-bar .mobile-background*/.duet-submenu-bar.sc-duet-submenu-bar .mobile-background.sc-duet-submenu-bar{position:absolute;width:100%;height:100%;background:rgb(0, 41, 77);opacity:0.3}@media (min-width: 62em){/*!@.duet-submenu-bar .mobile-background*/.duet-submenu-bar.sc-duet-submenu-bar .mobile-background.sc-duet-submenu-bar{display:none}}/*!@.duet-submenu-bar.duet-theme-turva*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar{background:rgb(245, 245, 247);border-bottom:1px solid rgb(228, 228, 230)}/*!@.duet-submenu-bar.duet-theme-turva button:focus*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar button.sc-duet-submenu-bar:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-submenu-bar.duet-theme-turva .items*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar .items.sc-duet-submenu-bar{background:rgb(245, 245, 247)}/*!@.duet-submenu-bar.duet-theme-turva .mobile-background*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar .mobile-background.sc-duet-submenu-bar{background:rgb(23, 28, 58)}/*!@.duet-submenu-bar.duet-theme-turva .shadow-container .top-shadow*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar .shadow-container.sc-duet-submenu-bar .top-shadow.sc-duet-submenu-bar{box-shadow:0 2px 6px 0 rgba(23, 28, 58, 0.07)}@media (min-width: 62em){/*!@.duet-submenu-bar.duet-theme-turva .shadow-container .top-shadow*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar .shadow-container.sc-duet-submenu-bar .top-shadow.sc-duet-submenu-bar{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1)}}";
20840
21031
 
20841
21032
  class DuetSubmenuBar {
20842
21033
  constructor(hostRef) {
@@ -21846,6 +22037,7 @@ class DuetTextarea {
21846
22037
  inheritGlobalTheme(this);
21847
22038
  this.disallowedPatternChange();
21848
22039
  this.isCaptionVisible = !!this.caption;
22040
+ checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
21849
22041
  if (this.counter && this.maxlength == null) {
21850
22042
  console.warn("[DUET WARNING]: counter will only take effect if maxlength is set");
21851
22043
  }
@@ -22036,7 +22228,7 @@ class DuetToggle {
22036
22228
  }; }
22037
22229
  }
22038
22230
 
22039
- const duetToolbarCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-toolbar,*.sc-duet-toolbar::after,*.sc-duet-toolbar::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-toolbar-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%}/*!@.duet-toolbar*/.duet-toolbar.sc-duet-toolbar{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;background:rgb(255, 255, 255)}/*!@.duet-toolbar .container*/.duet-toolbar.sc-duet-toolbar .container.sc-duet-toolbar{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1384px;height:36px;margin:0 28px;border-bottom:1px solid rgb(225, 227, 230)}/*!@.duet-toolbar .list*/.duet-toolbar.sc-duet-toolbar .list.sc-duet-toolbar{display:flex;align-items:center;justify-content:space-between;height:100%;list-style-type:none}/*!@.duet-toolbar ::slotted(*)*/.duet-toolbar .sc-duet-toolbar-s>*{display:flex;align-items:center;justify-content:center;height:100%}/*!@.duet-toolbar.negative*/.duet-toolbar.negative.sc-duet-toolbar{background:rgb(0, 119, 179)}/*!@.duet-toolbar.negative .container*/.duet-toolbar.negative.sc-duet-toolbar .container.sc-duet-toolbar{border-bottom:0}/*!@.duet-toolbar.duet-theme-turva*/.duet-toolbar.duet-theme-turva.sc-duet-toolbar{background:rgb(255, 255, 255)}/*!@.duet-toolbar.duet-theme-turva .container*/.duet-toolbar.duet-theme-turva.sc-duet-toolbar .container.sc-duet-toolbar{border-bottom:1px solid rgb(228, 228, 230)}/*!@.duet-toolbar.duet-theme-turva.negative*/.duet-toolbar.duet-theme-turva.negative.sc-duet-toolbar{background:rgb(198, 12, 48)}/*!@.duet-toolbar.duet-theme-turva.negative .container*/.duet-toolbar.duet-theme-turva.negative.sc-duet-toolbar .container.sc-duet-toolbar{border-bottom:0}";
22231
+ const duetToolbarCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-toolbar,*.sc-duet-toolbar::after,*.sc-duet-toolbar::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-toolbar-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;width:100%}/*!@.duet-toolbar*/.duet-toolbar.sc-duet-toolbar{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;background:rgb(255, 255, 255)}/*!@.duet-toolbar .container*/.duet-toolbar.sc-duet-toolbar .container.sc-duet-toolbar{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1384px;height:36px;margin:0 28px;border-bottom:1px solid rgb(225, 227, 230)}/*!@.duet-toolbar .list*/.duet-toolbar.sc-duet-toolbar .list.sc-duet-toolbar{display:flex;align-items:center;justify-content:space-between;height:100%;list-style-type:none}/*!@.duet-toolbar ::slotted(*)*/.duet-toolbar .sc-duet-toolbar-s>*{display:flex;align-items:center;justify-content:center;height:100%}/*!@.duet-toolbar.negative*/.duet-toolbar.negative.sc-duet-toolbar{background:rgb(0, 119, 179)}/*!@.duet-toolbar.negative .container*/.duet-toolbar.negative.sc-duet-toolbar .container.sc-duet-toolbar{border-bottom:0}/*!@.duet-toolbar.duet-theme-turva*/.duet-toolbar.duet-theme-turva.sc-duet-toolbar{background:rgb(255, 255, 255)}/*!@.duet-toolbar.duet-theme-turva .container*/.duet-toolbar.duet-theme-turva.sc-duet-toolbar .container.sc-duet-toolbar{border-bottom:1px solid rgb(228, 228, 230)}/*!@.duet-toolbar.duet-theme-turva.negative*/.duet-toolbar.duet-theme-turva.negative.sc-duet-toolbar{background:rgb(198, 12, 48)}/*!@.duet-toolbar.duet-theme-turva.negative .container*/.duet-toolbar.duet-theme-turva.negative.sc-duet-toolbar .container.sc-duet-toolbar{border-bottom:0}";
22040
22232
 
22041
22233
  /**
22042
22234
  * @slot left - Slot for content in left side.
@@ -22054,19 +22246,6 @@ class DuetToolbar {
22054
22246
  */
22055
22247
  componentWillLoad() {
22056
22248
  inheritGlobalTheme(this);
22057
- const children = Array.from(this.element.children);
22058
- for (const child of children) {
22059
- if (child.getAttribute("slot") === "left") {
22060
- for (const slotChild of Array.from(child.children)) {
22061
- slotChild.setAttribute("role", "listitem");
22062
- }
22063
- }
22064
- else if (child.getAttribute("slot") === "right") {
22065
- for (const slotChild of Array.from(child.children)) {
22066
- slotChild.setAttribute("role", "listitem");
22067
- }
22068
- }
22069
- }
22070
22249
  }
22071
22250
  /**
22072
22251
  * render() function
@@ -22141,7 +22320,7 @@ class DuetToolbarDropdown {
22141
22320
  itemsAlign = this.element.parentElement.getAttribute("slot") === "left" ? "right" : "left";
22142
22321
  }
22143
22322
  const variation = this.variation === "negative" ? "negative" : "white";
22144
- return (hAsync(Host, null, hAsync("div", { class: {
22323
+ return (hAsync(Host, { role: "listitem" }, hAsync("div", { class: {
22145
22324
  "duet-toolbar-dropdown": true,
22146
22325
  "duet-theme-turva": this.theme === "turva",
22147
22326
  [itemsAlign]: true,
@@ -22208,7 +22387,7 @@ class DuetToolbarDropdownLink {
22208
22387
  "duet-toolbar-dropdown-link": true,
22209
22388
  "duet-theme-turva": this.theme === "turva",
22210
22389
  active: this.active,
22211
- }, href: this.href, lang: this.targetLanguage, hreflang: this.targetLanguage, role: "menuitem", "aria-label": this.accessibleLabel, "aria-current": this.active ? "true" : "false", onKeyUp: e => this.handleEscape(e) }, this.icon && hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none" }), hAsync("span", { class: "label" }, hAsync("slot", null)), this.active && (hAsync("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor" })))));
22390
+ }, href: this.href, lang: this.targetLanguage, hreflang: this.targetLanguage, role: "link menuitem", "aria-label": this.accessibleLabel, "aria-current": this.active ? "true" : "false", onKeyUp: e => this.handleEscape(e) }, this.icon && hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none" }), hAsync("span", { class: "label" }, hAsync("slot", null)), this.active && (hAsync("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor" })))));
22212
22391
  }
22213
22392
  get element() { return getElement(this); }
22214
22393
  static get style() { return duetToolbarDropdownLinkCss; }
@@ -22229,6 +22408,73 @@ class DuetToolbarDropdownLink {
22229
22408
  }; }
22230
22409
  }
22231
22410
 
22411
+ const duetToolbarItemCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-toolbar-item,*.sc-duet-toolbar-item::after,*.sc-duet-toolbar-item::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-toolbar-item-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}/*!@.duet-toolbar-item*/.duet-toolbar-item.sc-duet-toolbar-item{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 16px;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(0, 77, 128);text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer}/*!@.duet-toolbar-item:focus*/.duet-toolbar-item.sc-duet-toolbar-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-toolbar-item:focus, .duet-toolbar-item:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-toolbar-item .duet-toolbar-item.sc-duet-toolbar-item:focus,.duet-toolbar-item.sc-duet-toolbar-item:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-toolbar-item[aria-expanded=true] .trailing-icon.rotate*/.duet-toolbar-item[aria-expanded=true].sc-duet-toolbar-item .trailing-icon.rotate.sc-duet-toolbar-item{transform:rotate(180deg)}/*!@.duet-toolbar-item.negative*/.duet-toolbar-item.negative.sc-duet-toolbar-item{color:rgb(255, 255, 255)}/*!@.duet-toolbar-item.negative duet-icon*/.duet-toolbar-item.negative.sc-duet-toolbar-item duet-icon.sc-duet-toolbar-item{color:rgb(205, 229, 241)}/*!@.duet-toolbar-item.duet-theme-turva*/.duet-toolbar-item.duet-theme-turva.sc-duet-toolbar-item{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-toolbar-item.duet-theme-turva.negative*/.duet-toolbar-item.duet-theme-turva.negative.sc-duet-toolbar-item{color:rgb(255, 255, 255)}/*!@.duet-toolbar-item.duet-theme-turva.negative duet-icon*/.duet-toolbar-item.duet-theme-turva.negative.sc-duet-toolbar-item duet-icon.sc-duet-toolbar-item{color:rgb(244, 207, 214)}/*!@.duet-toolbar-item:hover*/.duet-toolbar-item.sc-duet-toolbar-item:hover{color:rgb(0, 41, 77);background:rgb(243, 249, 252)}/*!@.duet-toolbar-item:hover.negative*/.duet-toolbar-item.sc-duet-toolbar-item:hover.negative{color:rgb(255, 255, 255);background:rgba(0, 41, 77, 0.2)}/*!@.duet-toolbar-item:hover.duet-theme-turva*/.duet-toolbar-item.sc-duet-toolbar-item:hover.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(245, 245, 247)}/*!@.duet-toolbar-item:hover.duet-theme-turva.negative*/.duet-toolbar-item.sc-duet-toolbar-item:hover.duet-theme-turva.negative{color:rgb(255, 255, 255);background:rgba(23, 28, 58, 0.2)}/*!@.duet-toolbar-item.active*/.duet-toolbar-item.active.sc-duet-toolbar-item{color:rgb(0, 41, 77)}/*!@.duet-toolbar-item.active.negative*/.duet-toolbar-item.active.negative.sc-duet-toolbar-item{font-weight:600;color:rgb(255, 255, 255);background:rgba(23, 28, 58, 0.2)}/*!@.duet-toolbar-item.active.negative::after*/.duet-toolbar-item.active.negative.sc-duet-toolbar-item::after{display:none}/*!@.duet-toolbar-item.active::after*/.duet-toolbar-item.active.sc-duet-toolbar-item::after{position:absolute;top:auto;bottom:1px;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(1px)}/*!@.duet-toolbar-item.active::after.duet-theme-turva*/.duet-toolbar-item.active.sc-duet-toolbar-item::after.duet-theme-turva{background:rgb(198, 12, 48)}/*!@.duet-toolbar-item.active.duet-theme-turva*/.duet-toolbar-item.active.duet-theme-turva.sc-duet-toolbar-item{color:rgb(23, 28, 58)}/*!@.duet-toolbar-item.active.duet-theme-turva::after*/.duet-toolbar-item.active.duet-theme-turva.sc-duet-toolbar-item::after{background:rgb(198, 12, 48)}/*!@.duet-toolbar-item.active.duet-theme-turva.negative*/.duet-toolbar-item.active.duet-theme-turva.negative.sc-duet-toolbar-item{color:rgb(255, 255, 255);background:rgba(23, 28, 58, 0.2)}";
22412
+
22413
+ class DuetToolbarItem {
22414
+ constructor(hostRef) {
22415
+ registerInstance(this, hostRef);
22416
+ this.theme = "";
22417
+ this.variation = "default";
22418
+ this.active = false;
22419
+ this.url = undefined;
22420
+ this.leadingIcon = undefined;
22421
+ this.trailingIcon = undefined;
22422
+ this.accessibleLabel = undefined;
22423
+ this.accessibleExpanded = undefined;
22424
+ this.accessiblePopup = "false";
22425
+ }
22426
+ /**
22427
+ * Component lifecycle events.
22428
+ */
22429
+ componentWillLoad() {
22430
+ inheritGlobalTheme(this);
22431
+ }
22432
+ /**
22433
+ * Sets focus. Use this method instead of the global focus().
22434
+ */
22435
+ async setFocus(options) {
22436
+ setTimeout(() => this.itemElement.focus(options), 200);
22437
+ }
22438
+ /**
22439
+ * render() function
22440
+ * Always the last one in the class.
22441
+ */
22442
+ render() {
22443
+ const TagName = this.url ? "a" : "button";
22444
+ const variation = this.variation === "negative" ? "negative" : "white";
22445
+ return (hAsync(Host, { role: "listitem" }, hAsync(TagName, { ref: element => (this.itemElement = element), class: {
22446
+ "duet-toolbar-item": true,
22447
+ "duet-theme-turva": this.theme === "turva",
22448
+ active: this.active,
22449
+ [variation]: true,
22450
+ }, href: this.url, role: `${TagName === "a" ? "link" : "button"}`, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined }, this.leadingIcon && (hAsync("duet-icon", { size: "x-small", name: this.leadingIcon, margin: "none", theme: this.theme, color: "currentColor" })), hAsync("slot", null), this.trailingIcon && (hAsync("duet-icon", { class: {
22451
+ "trailing-icon": true,
22452
+ rotate: this.trailingIcon === "action-arrow-down-small" && this.accessibleExpanded,
22453
+ }, theme: this.theme, name: this.trailingIcon, margin: "none", size: this.trailingIcon === "action-arrow-down-small" ? "xxx-small" : "x-small", color: "currentColor" })))));
22454
+ }
22455
+ get element() { return getElement(this); }
22456
+ static get style() { return duetToolbarItemCss; }
22457
+ static get cmpMeta() { return {
22458
+ "$flags$": 9,
22459
+ "$tagName$": "duet-toolbar-item",
22460
+ "$members$": {
22461
+ "theme": [1025],
22462
+ "variation": [1025],
22463
+ "active": [1028],
22464
+ "url": [1],
22465
+ "leadingIcon": [1, "leading-icon"],
22466
+ "trailingIcon": [1, "trailing-icon"],
22467
+ "accessibleLabel": [1, "accessible-label"],
22468
+ "accessibleExpanded": [1540, "accessible-expanded"],
22469
+ "accessiblePopup": [1537, "accessible-popup"],
22470
+ "setFocus": [64]
22471
+ },
22472
+ "$listeners$": undefined,
22473
+ "$lazyBundleId$": "-",
22474
+ "$attrsToReflect$": [["accessibleExpanded", "accessible-expanded"], ["accessiblePopup", "accessible-popup"]]
22475
+ }; }
22476
+ }
22477
+
22232
22478
  const duetToolbarLinkCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-toolbar-link,*.sc-duet-toolbar-link::after,*.sc-duet-toolbar-link::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-toolbar-link-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}/*!@.duet-toolbar-link*/.duet-toolbar-link.sc-duet-toolbar-link{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 16px;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(0, 77, 128);text-align:center;text-decoration:none;white-space:nowrap}/*!@.duet-toolbar-link:focus*/.duet-toolbar-link.sc-duet-toolbar-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-toolbar-link:focus, .duet-toolbar-link:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-toolbar-link .duet-toolbar-link.sc-duet-toolbar-link:focus,.duet-toolbar-link.sc-duet-toolbar-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-toolbar-link.negative*/.duet-toolbar-link.negative.sc-duet-toolbar-link{color:rgb(255, 255, 255)}/*!@.duet-toolbar-link.negative duet-icon*/.duet-toolbar-link.negative.sc-duet-toolbar-link duet-icon.sc-duet-toolbar-link{color:rgb(205, 229, 241)}/*!@.duet-toolbar-link.duet-theme-turva*/.duet-toolbar-link.duet-theme-turva.sc-duet-toolbar-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-toolbar-link.duet-theme-turva.negative*/.duet-toolbar-link.duet-theme-turva.negative.sc-duet-toolbar-link{color:rgb(255, 255, 255)}/*!@.duet-toolbar-link.duet-theme-turva.negative duet-icon*/.duet-toolbar-link.duet-theme-turva.negative.sc-duet-toolbar-link duet-icon.sc-duet-toolbar-link{color:rgb(244, 207, 214)}/*!@.duet-toolbar-link:hover*/.duet-toolbar-link.sc-duet-toolbar-link:hover{color:rgb(0, 41, 77);background:rgb(243, 249, 252)}/*!@.duet-toolbar-link:hover.negative*/.duet-toolbar-link.sc-duet-toolbar-link:hover.negative{color:rgb(255, 255, 255);background:rgba(0, 41, 77, 0.2)}/*!@.duet-toolbar-link:hover.duet-theme-turva*/.duet-toolbar-link.sc-duet-toolbar-link:hover.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(245, 245, 247)}/*!@.duet-toolbar-link:hover.duet-theme-turva.negative*/.duet-toolbar-link.sc-duet-toolbar-link:hover.duet-theme-turva.negative{color:rgb(255, 255, 255);background:rgba(23, 28, 58, 0.2)}/*!@.duet-toolbar-link.active*/.duet-toolbar-link.active.sc-duet-toolbar-link{color:rgb(0, 41, 77)}/*!@.duet-toolbar-link.active.negative*/.duet-toolbar-link.active.negative.sc-duet-toolbar-link{font-weight:600;color:rgb(255, 255, 255);background:rgba(23, 28, 58, 0.2)}/*!@.duet-toolbar-link.active.negative::after*/.duet-toolbar-link.active.negative.sc-duet-toolbar-link::after{display:none}/*!@.duet-toolbar-link.active::after*/.duet-toolbar-link.active.sc-duet-toolbar-link::after{position:absolute;top:auto;bottom:1px;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(1px)}/*!@.duet-toolbar-link.active::after.duet-theme-turva*/.duet-toolbar-link.active.sc-duet-toolbar-link::after.duet-theme-turva{background:rgb(198, 12, 48)}/*!@.duet-toolbar-link.active.duet-theme-turva*/.duet-toolbar-link.active.duet-theme-turva.sc-duet-toolbar-link{color:rgb(23, 28, 58)}/*!@.duet-toolbar-link.active.duet-theme-turva::after*/.duet-toolbar-link.active.duet-theme-turva.sc-duet-toolbar-link::after{background:rgb(198, 12, 48)}/*!@.duet-toolbar-link.active.duet-theme-turva.negative*/.duet-toolbar-link.active.duet-theme-turva.negative.sc-duet-toolbar-link{color:rgb(255, 255, 255);background:rgba(23, 28, 58, 0.2)}";
22233
22479
 
22234
22480
  class DuetToolbarLink {
@@ -22253,7 +22499,7 @@ class DuetToolbarLink {
22253
22499
  */
22254
22500
  render() {
22255
22501
  const variation = this.variation === "negative" ? "negative" : "white";
22256
- return (hAsync(Host, null, hAsync("a", { class: {
22502
+ return (hAsync(Host, { role: "listitem" }, hAsync("a", { class: {
22257
22503
  "duet-toolbar-link": true,
22258
22504
  "duet-theme-turva": this.theme === "turva",
22259
22505
  active: this.active,
@@ -22384,6 +22630,7 @@ class DuetTooltip {
22384
22630
  */
22385
22631
  componentWillLoad() {
22386
22632
  inheritGlobalTheme(this);
22633
+ this.buttonActive = this.active;
22387
22634
  }
22388
22635
  async componentDidLoad() {
22389
22636
  {
@@ -24367,6 +24614,7 @@ registerComponents([
24367
24614
  DuetMenuBarButton,
24368
24615
  DuetMenuBarDropdown,
24369
24616
  DuetMenuBarDropdownLink,
24617
+ DuetMenuBarItem,
24370
24618
  DuetMenuBarLink,
24371
24619
  DuetModal,
24372
24620
  DuetMultiselect,
@@ -24411,6 +24659,7 @@ registerComponents([
24411
24659
  DuetToolbar,
24412
24660
  DuetToolbarDropdown,
24413
24661
  DuetToolbarDropdownLink,
24662
+ DuetToolbarItem,
24414
24663
  DuetToolbarLink,
24415
24664
  DuetTooltip,
24416
24665
  DuetTooltipButton,