@duetds/components 10.4.0 → 10.6.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 (486) hide show
  1. package/hydrate/index.js +686 -318
  2. package/hydrate/index.mjs +686 -318
  3. package/lib/cjs/{a11y-utils-BXDHn_nL.js → a11y-utils-CgWjS7yq.js} +1 -1
  4. package/lib/cjs/{app-globals-Bs3-XKhd.js → app-globals-D68ciWsb.js} +1 -1
  5. package/lib/cjs/duet-action-button.cjs.entry.js +6 -6
  6. package/lib/cjs/duet-alert.cjs.entry.js +4 -4
  7. package/lib/cjs/duet-badge.cjs.entry.js +29 -6
  8. package/lib/cjs/duet-banner.cjs.entry.js +15 -16
  9. package/lib/cjs/duet-breadcrumb.cjs.entry.js +7 -7
  10. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +7 -7
  11. package/lib/cjs/duet-button_2.cjs.entry.js +9 -9
  12. package/lib/cjs/duet-callout.cjs.entry.js +5 -5
  13. package/lib/cjs/duet-caption_4.cjs.entry.js +13 -13
  14. package/lib/cjs/duet-card.cjs.entry.js +21 -10
  15. package/lib/cjs/duet-checkbox.cjs.entry.js +3 -3
  16. package/lib/cjs/duet-checkmark.cjs.entry.js +4 -4
  17. package/lib/cjs/duet-chip.cjs.entry.js +29 -16
  18. package/lib/cjs/duet-choice_2.cjs.entry.js +20 -22
  19. package/lib/cjs/duet-collapsible.cjs.entry.js +4 -4
  20. package/lib/cjs/duet-combobox.cjs.entry.js +6 -7
  21. package/lib/cjs/duet-contact-card.cjs.entry.js +17 -7
  22. package/lib/cjs/duet-cookie-consent.cjs.entry.js +3 -3
  23. package/lib/cjs/duet-date-picker.cjs.entry.js +128 -14
  24. package/lib/cjs/duet-divider_2.cjs.entry.js +6 -6
  25. package/lib/cjs/duet-editable-table_3.cjs.entry.js +17 -17
  26. package/lib/cjs/duet-empty-state.cjs.entry.js +4 -4
  27. package/lib/cjs/duet-fieldset.cjs.entry.js +6 -6
  28. package/lib/cjs/duet-file-chooser.cjs.entry.js +3 -3
  29. package/lib/cjs/duet-footer.cjs.entry.js +9 -9
  30. package/lib/cjs/duet-grid_2.cjs.entry.js +7 -7
  31. package/lib/cjs/duet-header_2.cjs.entry.js +7 -7
  32. package/lib/cjs/duet-hero.cjs.entry.js +22 -21
  33. package/lib/cjs/duet-icon.cjs.entry.js +7 -7
  34. package/lib/cjs/duet-indicator.cjs.entry.js +5 -5
  35. package/lib/cjs/duet-input_2.cjs.entry.js +132 -23
  36. package/lib/cjs/duet-layout.cjs.entry.js +7 -7
  37. package/lib/cjs/duet-list_2.cjs.entry.js +5 -5
  38. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +4 -4
  39. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +5 -5
  40. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +7 -7
  41. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +7 -7
  42. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +4 -4
  43. package/lib/cjs/duet-menu-bar.cjs.entry.js +6 -6
  44. package/lib/cjs/duet-modal.cjs.entry.js +15 -15
  45. package/lib/cjs/duet-multiselect.cjs.entry.js +11 -11
  46. package/lib/cjs/duet-nav.cjs.entry.js +3 -3
  47. package/lib/cjs/duet-notification_2.cjs.entry.js +10 -10
  48. package/lib/cjs/duet-number-input.cjs.entry.js +14 -12
  49. package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
  50. package/lib/cjs/duet-page-heading.cjs.entry.js +20 -5
  51. package/lib/cjs/duet-pagination_2.cjs.entry.js +20 -21
  52. package/lib/cjs/duet-panel.cjs.entry.js +4 -4
  53. package/lib/cjs/duet-phone-input.cjs.entry.js +23 -6
  54. package/lib/cjs/duet-popup-menu_2.cjs.entry.js +10 -10
  55. package/lib/cjs/duet-progress.cjs.entry.js +3 -3
  56. package/lib/cjs/duet-promo-card.cjs.entry.js +20 -8
  57. package/lib/cjs/duet-radio_2.cjs.entry.js +7 -10
  58. package/lib/cjs/duet-range-slider.cjs.entry.js +8 -8
  59. package/lib/cjs/duet-scrollable_3.cjs.entry.js +18 -18
  60. package/lib/cjs/duet-section-layout.cjs.entry.js +4 -4
  61. package/lib/cjs/duet-select.cjs.entry.js +9 -9
  62. package/lib/cjs/duet-shaped-image.cjs.entry.js +4 -4
  63. package/lib/cjs/duet-share-chart-item.cjs.entry.js +2 -2
  64. package/lib/cjs/duet-share-chart.cjs.entry.js +8 -8
  65. package/lib/cjs/duet-show-more.cjs.entry.js +6 -6
  66. package/lib/cjs/duet-slideout-lang.cjs.entry.js +4 -4
  67. package/lib/cjs/duet-slideout-link.cjs.entry.js +7 -7
  68. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +6 -6
  69. package/lib/cjs/duet-slideout-panel.cjs.entry.js +13 -13
  70. package/lib/cjs/duet-slideout.cjs.entry.js +20 -14
  71. package/lib/cjs/duet-status-icon.cjs.entry.js +3 -3
  72. package/lib/cjs/duet-step_2.cjs.entry.js +7 -7
  73. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +5 -5
  74. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +7 -7
  75. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +7 -7
  76. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +4 -4
  77. package/lib/cjs/duet-submenu-bar.cjs.entry.js +7 -7
  78. package/lib/cjs/duet-textarea.cjs.entry.js +8 -8
  79. package/lib/cjs/duet-toggle.cjs.entry.js +9 -9
  80. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +5 -5
  81. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +7 -7
  82. package/lib/cjs/duet-toolbar-item.cjs.entry.js +8 -8
  83. package/lib/cjs/duet-toolbar-link.cjs.entry.js +4 -4
  84. package/lib/cjs/duet-toolbar.cjs.entry.js +4 -4
  85. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +14 -12
  86. package/lib/cjs/duet-tooltip.cjs.entry.js +25 -8
  87. package/lib/cjs/duet-tray.cjs.entry.js +7 -7
  88. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
  89. package/lib/cjs/duet-upload-item.cjs.entry.js +6 -6
  90. package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
  91. package/lib/cjs/duet.cjs.js +3 -3
  92. package/lib/cjs/{errorcodes.utils-W6UQ3hgy.js → errorcodes.utils-C0tQ3k6Z.js} +1 -1
  93. package/lib/cjs/{focus-utils-KTKpjKRi.js → focus-utils-tCoGOO7d.js} +1 -1
  94. package/lib/cjs/{index-C7Yvi8y8.js → index-BeiMjjVl.js} +9 -9
  95. package/lib/cjs/{keyboard-utils-D9UlHbik.js → keyboard-utils-DibQafwg.js} +2 -0
  96. package/lib/cjs/{label-DZ63Z3SI.js → label-Cu4DNShe.js} +1 -1
  97. package/lib/cjs/{language-utils-BsevPDrN.js → language-utils-B3NubUDr.js} +1 -1
  98. package/lib/cjs/loader.cjs.js +3 -3
  99. package/lib/cjs/picture-utils-D_HVgfq5.js +15 -0
  100. package/lib/cjs/{slot-utils-DIDW777s.js → slot-utils-Dny6EJ_G.js} +1 -1
  101. package/lib/cjs/{themeable-component-hQ83w5_A.js → themeable-component-Csdvrnsd.js} +1 -1
  102. package/lib/cjs/{token-utils-DY3-olMV.js → token-utils-ZISdNshf.js} +1 -1
  103. package/lib/cjs/{tokens.module-CTbvyezn.js → tokens.module-CGRpZaa1.js} +2 -1
  104. package/lib/collection/components/duet-action-button/duet-action-button.js +2 -2
  105. package/lib/collection/components/duet-alert/duet-alert.js +1 -1
  106. package/lib/collection/components/duet-badge/duet-badge.css +66 -5
  107. package/lib/collection/components/duet-badge/duet-badge.js +49 -2
  108. package/lib/collection/components/duet-banner/duet-banner.css +12 -0
  109. package/lib/collection/components/duet-banner/duet-banner.js +30 -5
  110. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
  111. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
  112. package/lib/collection/components/duet-button/duet-button.css +5 -0
  113. package/lib/collection/components/duet-button/duet-button.js +8 -8
  114. package/lib/collection/components/duet-callout/duet-callout.js +2 -2
  115. package/lib/collection/components/duet-caption/duet-caption.js +1 -1
  116. package/lib/collection/components/duet-card/duet-card.css +3 -0
  117. package/lib/collection/components/duet-card/duet-card.js +43 -7
  118. package/lib/collection/components/duet-checkbox/duet-checkbox.js +3 -3
  119. package/lib/collection/components/duet-chip/duet-chip.js +54 -21
  120. package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
  121. package/lib/collection/components/duet-choice/duet-choice.js +12 -12
  122. package/lib/collection/components/duet-choice-group/duet-choice-group.js +6 -8
  123. package/lib/collection/components/duet-collapsible/duet-collapsible.js +3 -3
  124. package/lib/collection/components/duet-combobox/duet-combobox.js +3 -4
  125. package/lib/collection/components/duet-contact-card/duet-contact-card.css +3 -0
  126. package/lib/collection/components/duet-contact-card/duet-contact-card.js +38 -2
  127. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  128. package/lib/collection/components/duet-date-picker/date-picker-month.js +4 -2
  129. package/lib/collection/components/duet-date-picker/date-utils.js +7 -0
  130. package/lib/collection/components/duet-date-picker/disallowed-days.js +23 -0
  131. package/lib/collection/components/duet-date-picker/duet-date-picker.js +103 -10
  132. package/lib/collection/components/duet-date-picker/finnish-bank-holidays.js +66 -0
  133. package/lib/collection/components/duet-divider/duet-divider.js +2 -2
  134. package/lib/collection/components/duet-editable-table/duet-editable-table.js +7 -7
  135. package/lib/collection/components/duet-empty-state/duet-empty-state.js +5 -5
  136. package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
  137. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +2 -2
  138. package/lib/collection/components/duet-footer/duet-footer.js +11 -11
  139. package/lib/collection/components/duet-grid/duet-grid.js +5 -5
  140. package/lib/collection/components/duet-grid-item/duet-grid-item.css +5 -0
  141. package/lib/collection/components/duet-grid-item/duet-grid-item.js +2 -2
  142. package/lib/collection/components/duet-header/duet-header.js +15 -15
  143. package/lib/collection/components/duet-heading/duet-heading.js +3 -3
  144. package/lib/collection/components/duet-hero/duet-hero.css +92 -14
  145. package/lib/collection/components/duet-hero/duet-hero.js +47 -21
  146. package/lib/collection/components/duet-icon/duet-icon.js +3 -3
  147. package/lib/collection/components/duet-indicator/duet-indicator.js +3 -3
  148. package/lib/collection/components/duet-input/duet-input.css +38 -3
  149. package/lib/collection/components/duet-input/duet-input.js +213 -27
  150. package/lib/collection/components/duet-label/duet-label.js +2 -2
  151. package/lib/collection/components/duet-layout/duet-layout.js +6 -6
  152. package/lib/collection/components/duet-link/duet-link.js +2 -2
  153. package/lib/collection/components/duet-list/duet-list.js +4 -4
  154. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
  155. package/lib/collection/components/duet-logo/duet-logo.js +2 -2
  156. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +4 -4
  157. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
  158. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
  159. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
  160. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +2 -2
  161. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
  162. package/lib/collection/components/duet-modal/duet-modal.js +11 -11
  163. package/lib/collection/components/duet-multiselect/duet-multiselect.js +11 -11
  164. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  165. package/lib/collection/components/duet-notification/duet-notification.js +2 -2
  166. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +4 -4
  167. package/lib/collection/components/duet-number-input/duet-number-input.js +14 -13
  168. package/lib/collection/components/duet-overlay/duet-overlay.js +2 -2
  169. package/lib/collection/components/duet-page-heading/duet-page-heading.css +20 -1
  170. package/lib/collection/components/duet-page-heading/duet-page-heading.js +58 -2
  171. package/lib/collection/components/duet-pagination/duet-pagination.js +14 -15
  172. package/lib/collection/components/duet-panel/duet-panel.js +3 -3
  173. package/lib/collection/components/duet-paragraph/duet-paragraph.js +5 -5
  174. package/lib/collection/components/duet-phone-input/duet-phone-input.js +42 -5
  175. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +1 -1
  176. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +4 -4
  177. package/lib/collection/components/duet-promo-card/duet-promo-card.css +4 -0
  178. package/lib/collection/components/duet-promo-card/duet-promo-card.js +39 -2
  179. package/lib/collection/components/duet-radio/duet-radio.js +6 -9
  180. package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
  181. package/lib/collection/components/duet-range-slider/duet-range-slider.js +4 -4
  182. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +3 -3
  183. package/lib/collection/components/duet-scrollable/duet-scrollable.js +5 -5
  184. package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -3
  185. package/lib/collection/components/duet-select/duet-select.js +10 -10
  186. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
  187. package/lib/collection/components/duet-share-chart/duet-share-chart.js +2 -2
  188. package/lib/collection/components/duet-share-chart-item/duet-share-chart-item.js +1 -1
  189. package/lib/collection/components/duet-show-more/duet-show-more.js +3 -3
  190. package/lib/collection/components/duet-slideout/duet-slideout.js +12 -6
  191. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
  192. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -2
  193. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
  194. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
  195. package/lib/collection/components/duet-spacer/duet-spacer.js +3 -3
  196. package/lib/collection/components/duet-spinner/duet-spinner.js +2 -2
  197. package/lib/collection/components/duet-status-icon/duet-status-icon.js +2 -2
  198. package/lib/collection/components/duet-step/duet-step.js +4 -4
  199. package/lib/collection/components/duet-stepper/duet-stepper.js +2 -2
  200. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +5 -5
  201. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
  202. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
  203. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +1 -1
  204. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
  205. package/lib/collection/components/duet-tab/duet-tab.js +2 -2
  206. package/lib/collection/components/duet-tab-group/duet-tab-group.js +9 -9
  207. package/lib/collection/components/duet-table/duet-table-styles.js +5 -5
  208. package/lib/collection/components/duet-table/duet-table.js +2 -2
  209. package/lib/collection/components/duet-textarea/duet-textarea.js +7 -7
  210. package/lib/collection/components/duet-toggle/duet-toggle.js +4 -4
  211. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
  212. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
  213. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
  214. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +3 -3
  215. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
  216. package/lib/collection/components/duet-tooltip/duet-tooltip-button.css +18 -4
  217. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +25 -3
  218. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.css +1 -1
  219. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +3 -3
  220. package/lib/collection/components/duet-tooltip/duet-tooltip.js +48 -5
  221. package/lib/collection/components/duet-tray/duet-tray.js +2 -2
  222. package/lib/collection/components/duet-upload/duet-upload.js +16 -16
  223. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
  224. package/lib/collection/components/duet-upload-item/duet-upload-item.js +4 -4
  225. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  226. package/lib/collection/utils/keyboard-utils.js +1 -0
  227. package/lib/collection/utils/math.utils.js +1 -0
  228. package/lib/duet/duet.esm.js +1 -1
  229. package/lib/duet/p-054c334d.entry.js +4 -0
  230. package/lib/duet/{p-81332db1.entry.js → p-0e10e36b.entry.js} +1 -1
  231. package/lib/duet/{p-428db44b.entry.js → p-12d7fdf6.entry.js} +1 -1
  232. package/lib/duet/{p-494755d0.entry.js → p-1579bdf5.entry.js} +1 -1
  233. package/lib/duet/{p-e8bd6dab.entry.js → p-174935bc.entry.js} +1 -1
  234. package/lib/duet/p-1d7a9425.entry.js +4 -0
  235. package/lib/duet/{p-2e413951.entry.js → p-20066df8.entry.js} +1 -1
  236. package/lib/duet/{p-6988c81c.entry.js → p-20c8226c.entry.js} +1 -1
  237. package/lib/duet/{p-1ee400e7.entry.js → p-210bc161.entry.js} +1 -1
  238. package/lib/duet/{p-fea479fd.entry.js → p-244bfbf9.entry.js} +1 -1
  239. package/lib/duet/{p-adecab91.entry.js → p-264688ae.entry.js} +1 -1
  240. package/lib/duet/{p-1dcbbd67.entry.js → p-2bf78fe4.entry.js} +1 -1
  241. package/lib/duet/{p-1bdef0e0.entry.js → p-2e44c6b8.entry.js} +1 -1
  242. package/lib/duet/{p-3c26d300.entry.js → p-304a9a55.entry.js} +1 -1
  243. package/lib/duet/{p-a63327c3.entry.js → p-30d8a1e4.entry.js} +1 -1
  244. package/lib/duet/p-3445529c.entry.js +4 -0
  245. package/lib/duet/{p-1666aeaf.entry.js → p-3533d6ee.entry.js} +1 -1
  246. package/lib/duet/{p-87bb797c.entry.js → p-374b48f6.entry.js} +1 -1
  247. package/lib/duet/{p-bcced6eb.entry.js → p-3b9d7f6a.entry.js} +1 -1
  248. package/lib/duet/{p-dc87f3f4.entry.js → p-3def9480.entry.js} +1 -1
  249. package/lib/duet/p-3fbe466a.entry.js +4 -0
  250. package/lib/duet/{p-12e4e9b6.entry.js → p-407d4e5a.entry.js} +1 -1
  251. package/lib/duet/p-41230630.entry.js +4 -0
  252. package/lib/duet/p-44e53564.entry.js +4 -0
  253. package/lib/duet/p-46287d85.entry.js +4 -0
  254. package/lib/duet/p-48e77341.entry.js +4 -0
  255. package/lib/duet/{p-fbce84d5.entry.js → p-4a041c60.entry.js} +1 -1
  256. package/lib/duet/p-4a251661.entry.js +4 -0
  257. package/lib/duet/p-4a4e5bb5.entry.js +4 -0
  258. package/lib/duet/{p-184d53a7.entry.js → p-4acdc586.entry.js} +1 -1
  259. package/lib/duet/{p-afd7d87a.entry.js → p-4b07ce36.entry.js} +1 -1
  260. package/lib/duet/{p-c71f6942.entry.js → p-4cee693b.entry.js} +1 -1
  261. package/lib/duet/{p-01f3e30c.entry.js → p-4e1c2676.entry.js} +1 -1
  262. package/lib/duet/{p-d181c624.entry.js → p-4e5532c8.entry.js} +1 -1
  263. package/lib/duet/{p-3bd45b5b.entry.js → p-512d18c8.entry.js} +1 -1
  264. package/lib/duet/p-555e0c78.entry.js +4 -0
  265. package/lib/duet/{p-13b7f4e0.entry.js → p-5b322a86.entry.js} +1 -1
  266. package/lib/duet/p-5f72134e.entry.js +4 -0
  267. package/lib/duet/{p-f210e405.entry.js → p-61abccd4.entry.js} +1 -1
  268. package/lib/duet/p-6a11ba26.entry.js +4 -0
  269. package/lib/duet/p-6bd78205.entry.js +4 -0
  270. package/lib/duet/p-6c239923.entry.js +4 -0
  271. package/lib/duet/{p-7a5066b8.entry.js → p-6ce82324.entry.js} +1 -1
  272. package/lib/duet/{p-526fa31c.entry.js → p-6d1d1199.entry.js} +1 -1
  273. package/lib/duet/p-81c5d3e3.entry.js +4 -0
  274. package/lib/duet/{p-f652a9c7.entry.js → p-829bccb7.entry.js} +1 -1
  275. package/lib/duet/p-83dcbb64.entry.js +4 -0
  276. package/lib/duet/{p-a4a1b8e3.entry.js → p-84f8bee8.entry.js} +1 -1
  277. package/lib/duet/{p-07c4b435.entry.js → p-8927ccc1.entry.js} +1 -1
  278. package/lib/duet/{p-2d43de54.entry.js → p-8bdcfd1f.entry.js} +1 -1
  279. package/lib/duet/{p-b64b3e2f.entry.js → p-8fbcea55.entry.js} +1 -1
  280. package/lib/duet/{p-84420fbf.entry.js → p-914ee7ac.entry.js} +1 -1
  281. package/lib/duet/{p-7a668cee.entry.js → p-95bb2a8d.entry.js} +1 -1
  282. package/lib/duet/{p-4c5a8ed3.entry.js → p-985213bb.entry.js} +1 -1
  283. package/lib/duet/{p-d2c91ed0.entry.js → p-9889218e.entry.js} +1 -1
  284. package/lib/duet/{p-c1d4542d.entry.js → p-9b2731b9.entry.js} +1 -1
  285. package/lib/duet/{p-46300680.entry.js → p-9b448008.entry.js} +1 -1
  286. package/lib/duet/p-9c41f1d5.entry.js +4 -0
  287. package/lib/duet/p-BDgGHTHh.js +4 -0
  288. package/lib/duet/p-BZev46O8.js +4 -0
  289. package/lib/duet/p-BaefVzkx.js +4 -0
  290. package/lib/duet/p-CcoGR9T9.js +4 -0
  291. package/lib/duet/{p-BW3SZS4F.js → p-CyfEm8iD.js} +1 -1
  292. package/lib/duet/p-D3450NfA.js +5 -0
  293. package/lib/duet/{p-DWIjWGAD.js → p-D9N9LBeD.js} +1 -1
  294. package/lib/duet/{p-2HU78SJ-.js → p-DI7IXBXp.js} +1 -1
  295. package/lib/duet/{p-D2ly4TZR.js → p-DYmL1tSl.js} +1 -1
  296. package/lib/duet/p-Dk60lC7n.js +4 -0
  297. package/lib/duet/p-JFwTD5kM.js +4 -0
  298. package/lib/duet/{p-D2EBd3cT.js → p-KbNgo0QF.js} +1 -1
  299. package/lib/duet/p-a01f3141.entry.js +4 -0
  300. package/lib/duet/p-a49b5d93.entry.js +4 -0
  301. package/lib/duet/p-a6dbe893.entry.js +4 -0
  302. package/lib/duet/{p-a690a165.entry.js → p-aa1256f9.entry.js} +1 -1
  303. package/lib/duet/{p-9d8027aa.entry.js → p-aa7e4c81.entry.js} +1 -1
  304. package/lib/duet/{p-d2c04a7e.entry.js → p-ac4fc44c.entry.js} +1 -1
  305. package/lib/duet/{p-376f9d06.entry.js → p-ae382e2e.entry.js} +1 -1
  306. package/lib/duet/p-bc41d13d.entry.js +4 -0
  307. package/lib/duet/{p-5dde8fbb.entry.js → p-c54ecb23.entry.js} +1 -1
  308. package/lib/duet/{p-5ffc4081.entry.js → p-d72dee5d.entry.js} +1 -1
  309. package/lib/duet/{p-2168e431.entry.js → p-d7abb7fa.entry.js} +1 -1
  310. package/lib/duet/{p-3648404d.entry.js → p-dbb9e1d4.entry.js} +1 -1
  311. package/lib/duet/{p-b3ec9b98.entry.js → p-e40d9c21.entry.js} +1 -1
  312. package/lib/duet/p-e43df9c2.entry.js +4 -0
  313. package/lib/duet/{p-14d4a45a.entry.js → p-e442943d.entry.js} +1 -1
  314. package/lib/duet/p-eb7bc989.entry.js +4 -0
  315. package/lib/duet/{p-3361387d.entry.js → p-ec1d2e0a.entry.js} +1 -1
  316. package/lib/duet/p-edcdf0b7.entry.js +4 -0
  317. package/lib/duet/{p-d0a54e6d.entry.js → p-ee369233.entry.js} +1 -1
  318. package/lib/duet/{p-816caa58.entry.js → p-f297f8f2.entry.js} +1 -1
  319. package/lib/duet/{p-0453edd0.entry.js → p-f30c3cfe.entry.js} +1 -1
  320. package/lib/duet/{p-0395eb34.entry.js → p-f4538e9d.entry.js} +1 -1
  321. package/lib/duet/{p-1ed82a27.entry.js → p-f4de7ac0.entry.js} +1 -1
  322. package/lib/duet/{p-4d39941c.entry.js → p-f8d640ba.entry.js} +1 -1
  323. package/lib/duet/{p-61b6962a.entry.js → p-f9db8670.entry.js} +1 -1
  324. package/lib/duet/p-fc1a18f8.entry.js +4 -0
  325. package/lib/duet/{p-dfd55180.entry.js → p-fc2be136.entry.js} +1 -1
  326. package/lib/duet/p-fdc4a97c.entry.js +4 -0
  327. package/lib/duet/p-kkZE1C6Z.js +4 -0
  328. package/lib/esm/{a11y-utils-sgAajRY0.js → a11y-utils--wwGTL0T.js} +1 -1
  329. package/lib/esm/{app-globals-NNQmI_gc.js → app-globals-Diuuep9d.js} +1 -1
  330. package/lib/esm/duet-action-button.entry.js +6 -6
  331. package/lib/esm/duet-alert.entry.js +4 -4
  332. package/lib/esm/duet-badge.entry.js +29 -6
  333. package/lib/esm/duet-banner.entry.js +15 -16
  334. package/lib/esm/duet-breadcrumb.entry.js +7 -7
  335. package/lib/esm/duet-breadcrumbs.entry.js +7 -7
  336. package/lib/esm/duet-button_2.entry.js +9 -9
  337. package/lib/esm/duet-callout.entry.js +5 -5
  338. package/lib/esm/duet-caption_4.entry.js +13 -13
  339. package/lib/esm/duet-card.entry.js +22 -11
  340. package/lib/esm/duet-checkbox.entry.js +3 -3
  341. package/lib/esm/duet-checkmark.entry.js +4 -4
  342. package/lib/esm/duet-chip.entry.js +29 -16
  343. package/lib/esm/duet-choice_2.entry.js +20 -22
  344. package/lib/esm/duet-collapsible.entry.js +4 -4
  345. package/lib/esm/duet-combobox.entry.js +6 -7
  346. package/lib/esm/duet-contact-card.entry.js +17 -7
  347. package/lib/esm/duet-cookie-consent.entry.js +3 -3
  348. package/lib/esm/duet-date-picker.entry.js +128 -14
  349. package/lib/esm/duet-divider_2.entry.js +6 -6
  350. package/lib/esm/duet-editable-table_3.entry.js +17 -17
  351. package/lib/esm/duet-empty-state.entry.js +4 -4
  352. package/lib/esm/duet-fieldset.entry.js +6 -6
  353. package/lib/esm/duet-file-chooser.entry.js +3 -3
  354. package/lib/esm/duet-footer.entry.js +9 -9
  355. package/lib/esm/duet-grid_2.entry.js +7 -7
  356. package/lib/esm/duet-header_2.entry.js +7 -7
  357. package/lib/esm/duet-hero.entry.js +22 -21
  358. package/lib/esm/duet-icon.entry.js +7 -7
  359. package/lib/esm/duet-indicator.entry.js +5 -5
  360. package/lib/esm/duet-input_2.entry.js +132 -23
  361. package/lib/esm/duet-layout.entry.js +7 -7
  362. package/lib/esm/duet-list_2.entry.js +5 -5
  363. package/lib/esm/duet-menu-bar-button.entry.js +4 -4
  364. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +5 -5
  365. package/lib/esm/duet-menu-bar-dropdown.entry.js +7 -7
  366. package/lib/esm/duet-menu-bar-item.entry.js +7 -7
  367. package/lib/esm/duet-menu-bar-link.entry.js +4 -4
  368. package/lib/esm/duet-menu-bar.entry.js +6 -6
  369. package/lib/esm/duet-modal.entry.js +15 -15
  370. package/lib/esm/duet-multiselect.entry.js +11 -11
  371. package/lib/esm/duet-nav.entry.js +3 -3
  372. package/lib/esm/duet-notification_2.entry.js +10 -10
  373. package/lib/esm/duet-number-input.entry.js +14 -12
  374. package/lib/esm/duet-overlay.entry.js +3 -3
  375. package/lib/esm/duet-page-heading.entry.js +20 -5
  376. package/lib/esm/duet-pagination_2.entry.js +20 -21
  377. package/lib/esm/duet-panel.entry.js +4 -4
  378. package/lib/esm/duet-phone-input.entry.js +23 -6
  379. package/lib/esm/duet-popup-menu_2.entry.js +10 -10
  380. package/lib/esm/duet-progress.entry.js +3 -3
  381. package/lib/esm/duet-promo-card.entry.js +20 -8
  382. package/lib/esm/duet-radio_2.entry.js +7 -10
  383. package/lib/esm/duet-range-slider.entry.js +8 -8
  384. package/lib/esm/duet-scrollable_3.entry.js +18 -18
  385. package/lib/esm/duet-section-layout.entry.js +4 -4
  386. package/lib/esm/duet-select.entry.js +9 -9
  387. package/lib/esm/duet-shaped-image.entry.js +4 -4
  388. package/lib/esm/duet-share-chart-item.entry.js +2 -2
  389. package/lib/esm/duet-share-chart.entry.js +8 -8
  390. package/lib/esm/duet-show-more.entry.js +6 -6
  391. package/lib/esm/duet-slideout-lang.entry.js +4 -4
  392. package/lib/esm/duet-slideout-link.entry.js +7 -7
  393. package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -6
  394. package/lib/esm/duet-slideout-panel.entry.js +13 -13
  395. package/lib/esm/duet-slideout.entry.js +20 -14
  396. package/lib/esm/duet-status-icon.entry.js +3 -3
  397. package/lib/esm/duet-step_2.entry.js +7 -7
  398. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +5 -5
  399. package/lib/esm/duet-submenu-bar-dropdown.entry.js +7 -7
  400. package/lib/esm/duet-submenu-bar-item.entry.js +7 -7
  401. package/lib/esm/duet-submenu-bar-link.entry.js +4 -4
  402. package/lib/esm/duet-submenu-bar.entry.js +7 -7
  403. package/lib/esm/duet-textarea.entry.js +8 -8
  404. package/lib/esm/duet-toggle.entry.js +9 -9
  405. package/lib/esm/duet-toolbar-dropdown-link.entry.js +5 -5
  406. package/lib/esm/duet-toolbar-dropdown.entry.js +7 -7
  407. package/lib/esm/duet-toolbar-item.entry.js +8 -8
  408. package/lib/esm/duet-toolbar-link.entry.js +4 -4
  409. package/lib/esm/duet-toolbar.entry.js +4 -4
  410. package/lib/esm/duet-tooltip-button_2.entry.js +14 -12
  411. package/lib/esm/duet-tooltip.entry.js +26 -9
  412. package/lib/esm/duet-tray.entry.js +7 -7
  413. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  414. package/lib/esm/duet-upload-item.entry.js +6 -6
  415. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  416. package/lib/esm/duet.js +4 -4
  417. package/lib/esm/{errorcodes.utils-CqW0-HM8.js → errorcodes.utils-S_WrUPeV.js} +1 -1
  418. package/lib/esm/{focus-utils-Dokkd7xz.js → focus-utils-C4oaajGr.js} +1 -1
  419. package/lib/esm/{index-Cwhi6_oZ.js → index-D3450NfA.js} +9 -9
  420. package/lib/esm/{keyboard-utils-Db8rvjPI.js → keyboard-utils-BaefVzkx.js} +2 -1
  421. package/lib/esm/{label-CyQlly6Z.js → label-C1HF2o4Y.js} +1 -1
  422. package/lib/esm/{language-utils-LZh-sc2s.js → language-utils-D4WVl8Ph.js} +1 -1
  423. package/lib/esm/loader.js +4 -4
  424. package/lib/esm/picture-utils-MSeJTkDk.js +13 -0
  425. package/lib/esm/{slot-utils-CEZnAp61.js → slot-utils-Dxcjtmp3.js} +1 -1
  426. package/lib/esm/{themeable-component-D_FVcjsD.js → themeable-component-QHdUfcat.js} +1 -1
  427. package/lib/esm/{token-utils-B0KAgyj_.js → token-utils-BILzD7LX.js} +1 -1
  428. package/lib/esm/{tokens.module-DEzE2U5T.js → tokens.module-kkZE1C6Z.js} +1 -1
  429. package/lib/types/components/duet-badge/duet-badge.d.ts +14 -0
  430. package/lib/types/components/duet-banner/duet-banner.d.ts +5 -1
  431. package/lib/types/components/duet-button/duet-button.d.ts +1 -1
  432. package/lib/types/components/duet-card/duet-card.d.ts +5 -0
  433. package/lib/types/components/duet-chip/duet-chip.d.ts +16 -9
  434. package/lib/types/components/duet-contact-card/duet-contact-card.d.ts +5 -0
  435. package/lib/types/components/duet-date-picker/date-picker-month.d.ts +3 -0
  436. package/lib/types/components/duet-date-picker/date-utils.d.ts +4 -0
  437. package/lib/types/components/duet-date-picker/disallowed-days.d.ts +9 -0
  438. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +14 -0
  439. package/lib/types/components/duet-date-picker/finnish-bank-holidays.d.ts +11 -0
  440. package/lib/types/components/duet-hero/duet-hero.d.ts +5 -0
  441. package/lib/types/components/duet-input/duet-input.d.ts +42 -3
  442. package/lib/types/components/duet-number-input/duet-number-input.d.ts +2 -1
  443. package/lib/types/components/duet-page-heading/duet-page-heading.d.ts +10 -0
  444. package/lib/types/components/duet-phone-input/duet-phone-input.d.ts +7 -0
  445. package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +6 -0
  446. package/lib/types/components/duet-radio/duet-radio.d.ts +0 -1
  447. package/lib/types/components/duet-tooltip/duet-tooltip-button.d.ts +1 -0
  448. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +6 -0
  449. package/lib/types/components.d.ts +183 -20
  450. package/lib/types/utils/keyboard-utils.d.ts +1 -0
  451. package/lib/types/utils/math.utils.d.ts +1 -0
  452. package/package.json +5 -5
  453. package/lib/duet/p--fmK3qPb.js +0 -4
  454. package/lib/duet/p-07aa40df.entry.js +0 -4
  455. package/lib/duet/p-0eb0e582.entry.js +0 -4
  456. package/lib/duet/p-104ddbf2.entry.js +0 -4
  457. package/lib/duet/p-1705b6cf.entry.js +0 -4
  458. package/lib/duet/p-4420973e.entry.js +0 -4
  459. package/lib/duet/p-455e8ebe.entry.js +0 -4
  460. package/lib/duet/p-4f7b0699.entry.js +0 -4
  461. package/lib/duet/p-58496fb1.entry.js +0 -4
  462. package/lib/duet/p-58a70b3d.entry.js +0 -4
  463. package/lib/duet/p-592a6542.entry.js +0 -4
  464. package/lib/duet/p-5c8c691b.entry.js +0 -4
  465. package/lib/duet/p-73ed0008.entry.js +0 -4
  466. package/lib/duet/p-7a2ca711.entry.js +0 -4
  467. package/lib/duet/p-7e640c8e.entry.js +0 -4
  468. package/lib/duet/p-7eaa1fb5.entry.js +0 -4
  469. package/lib/duet/p-870dc953.entry.js +0 -4
  470. package/lib/duet/p-Chf7ZRmW.js +0 -4
  471. package/lib/duet/p-CtBx3Trd.js +0 -4
  472. package/lib/duet/p-Cwhi6_oZ.js +0 -5
  473. package/lib/duet/p-DCDM41Ef.js +0 -4
  474. package/lib/duet/p-DEzE2U5T.js +0 -4
  475. package/lib/duet/p-Db8rvjPI.js +0 -4
  476. package/lib/duet/p-a4db8c29.entry.js +0 -4
  477. package/lib/duet/p-a7bb038a.entry.js +0 -4
  478. package/lib/duet/p-af9c8169.entry.js +0 -4
  479. package/lib/duet/p-c7851c15.entry.js +0 -4
  480. package/lib/duet/p-cbd1069e.entry.js +0 -4
  481. package/lib/duet/p-cd4f52a9.entry.js +0 -4
  482. package/lib/duet/p-d3dac8af.entry.js +0 -4
  483. package/lib/duet/p-e9ed96cf.entry.js +0 -4
  484. package/lib/duet/p-eab349f2.entry.js +0 -4
  485. package/lib/duet/p-eebf150c.entry.js +0 -4
  486. package/lib/duet/p-f600e215.entry.js +0 -4
package/hydrate/index.js CHANGED
@@ -3491,6 +3491,7 @@ const isQuestionKey = (e) => e.key === "?";
3491
3491
  const isEnterKey = (e) => e.key === "Enter";
3492
3492
  const isKeyboardClick = (e) => isEnterKey(e) || isSpaceKey(e);
3493
3493
  const isNumber = (e) => e.key >= "0" && e.key <= "9";
3494
+ const isCharacterInsertKey = (e) => e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey;
3494
3495
  /**
3495
3496
  * Component instances that have subscribed to tabbing change.
3496
3497
  */
@@ -5203,11 +5204,16 @@ class DuetAlert {
5203
5204
  }; }
5204
5205
  }
5205
5206
 
5206
- const duetBadgeCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-right:4px !important;margin-bottom:2px !important;display:inline-block;width:auto;vertical-align:middle}:host:last-child,:host:last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host:last-of-type:not(:last-child){margin-right:4px !important}:host(.duet-m-0){margin:0 !important}.duet-badge{display:inline-block;width:100%;padding:4.4444444444px 12px 5.4444444444px;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.75rem;font-style:normal;font-weight:600;line-height:1.25;vertical-align:middle;color:rgb(3, 56, 102);text-align:center;word-break:break-word;background:rgb(217, 236, 245);border-radius:20rem}.duet-badge.duet-p-0{padding:0 !important}.duet-badge.duet-m-0{margin:0 !important}.duet-badge.duet-theme-turva{padding:5.4444444444px 12px 4.4444444444px;font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-weight:700}.duet-badge.warning{color:rgb(81, 55, 9);background:rgb(255, 232, 160)}.duet-badge.danger{color:rgb(120, 4, 56);background:rgb(255, 211, 219)}.duet-badge.success{color:rgb(13, 71, 59);background:rgb(191, 239, 218)}.duet-badge.subtle{color:rgb(62, 84, 102);background:rgb(228, 236, 239)}.duet-badge.background-strong.default{color:rgb(240, 247, 250);background:rgb(0, 97, 155)}.duet-badge.background-strong.warning{color:rgb(38, 26, 4);background:rgb(247, 178, 40)}.duet-badge.background-strong.danger{color:rgb(255, 240, 243);background:rgb(185, 16, 74)}.duet-badge.background-strong.success{color:rgb(244, 250, 247);background:rgb(29, 106, 88)}.duet-badge.background-strong.subtle{color:rgb(245, 248, 250);background:rgb(98, 121, 138)}";
5207
+ const duetBadgeCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-right:4px !important;margin-bottom:2px !important;display:inline-block;width:auto;vertical-align:middle}:host:last-child,:host:last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host:last-of-type:not(:last-child){margin-right:4px !important}:host(.duet-m-0){margin:0 !important}.duet-badge{position:relative;display:inline-block;width:100%;padding:4.4444444444px 12px 5.4444444444px;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.75rem;font-style:normal;font-weight:600;line-height:1.25;vertical-align:middle;color:rgb(3, 56, 102);text-align:center;word-break:break-word;background:rgb(217, 236, 245);border-radius:20rem}.duet-badge.duet-p-0{padding:0 !important}.duet-badge.duet-m-0{margin:0 !important}.duet-badge.warning{color:rgb(81, 55, 9);background:rgb(255, 232, 160)}.duet-badge.danger{color:rgb(120, 4, 56);background:rgb(255, 211, 219)}.duet-badge.success{color:rgb(13, 71, 59);background:rgb(191, 239, 218)}.duet-badge.subtle{color:rgb(62, 84, 102);background:rgb(228, 236, 239)}.duet-badge.background-strong.default{color:rgb(240, 247, 250);background:rgb(0, 97, 155)}.duet-badge.background-strong.warning{color:rgb(38, 26, 4);background:rgb(247, 178, 40)}.duet-badge.background-strong.danger{color:rgb(255, 240, 243);background:rgb(185, 16, 74)}.duet-badge.background-strong.success{color:rgb(244, 250, 247);background:rgb(29, 106, 88)}.duet-badge.background-strong.subtle{color:rgb(245, 248, 250);background:rgb(98, 121, 138)}.duet-badge.has-tooltip{padding-right:24px;cursor:pointer}.duet-badge.has-tooltip .tooltip-wrap{position:absolute;top:6.5px;right:11px;display:inline-block;width:16px;height:12px}.duet-badge.has-tooltip:hover{color:rgb(0, 75, 129)}.duet-badge.has-tooltip:hover.warning{color:rgb(126, 87, 16)}.duet-badge.has-tooltip:hover.danger{color:rgb(153, 9, 66)}.duet-badge.has-tooltip:hover.success{color:rgb(29, 106, 88)}.duet-badge.has-tooltip:hover.subtle{color:rgb(45, 64, 81)}.duet-badge.has-tooltip:hover.background-strong.default{color:rgb(240, 247, 250);background:rgb(0, 119, 179)}.duet-badge.has-tooltip:hover.background-strong.warning{color:rgb(38, 26, 4);background:rgb(255, 199, 79)}.duet-badge.has-tooltip:hover.background-strong.danger{color:rgb(255, 240, 243);background:rgb(214, 28, 82)}.duet-badge.has-tooltip:hover.background-strong.success{color:rgb(244, 250, 247);background:rgb(76, 164, 138)}.duet-badge.has-tooltip:hover.background-strong.subtle{color:rgb(245, 248, 250);background:rgb(127, 150, 165)}:host(.user-is-tabbing) .duet-badge.has-tooltip:focus-within{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva :host(.user-is-tabbing) .duet-badge.has-tooltip:focus-within,:host(.user-is-tabbing) .duet-badge.has-tooltip:focus-within.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-theme-turva.duet-badge{padding:5.4444444444px 12px 4.4444444444px;font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-weight:700}.duet-theme-turva.duet-badge.has-tooltip{padding-right:24px}";
5207
5208
 
5209
+ /**
5210
+ * @slot default - Badge content.
5211
+ * @slot tooltip - Alternative way to provide a tooltip for the badge, takes one duet-tooltip.
5212
+ */
5208
5213
  class DuetBadge {
5209
5214
  constructor(hostRef) {
5210
5215
  registerInstance(this, hostRef);
5216
+ this.hasTooltipSlot = false;
5211
5217
  /**
5212
5218
  * Theme of the badge.
5213
5219
  */
@@ -5225,6 +5231,13 @@ class DuetBadge {
5225
5231
  * Controls the margin of the component.
5226
5232
  */
5227
5233
  this.margin = "auto";
5234
+ /**
5235
+ * Giving tooltip text makes the badge act as tooltip button. The badge's text content will be used as the
5236
+ * tooltips accessible-about-label - if you want other accessible label, use the tooltip slot instead of this
5237
+ * attribute.
5238
+ */
5239
+ this.tooltip = "";
5240
+ this.getBadgeText = () => this.element.textContent;
5228
5241
  this.getVariationLabel = () => {
5229
5242
  if (this.variation === "subtle") {
5230
5243
  return "";
@@ -5238,8 +5251,20 @@ class DuetBadge {
5238
5251
  /**
5239
5252
  * Component lifecycle events.
5240
5253
  */
5254
+ connectedCallback() {
5255
+ subscribeTabbingChange(this);
5256
+ }
5257
+ disconnectedCallback() {
5258
+ unsubscribeTabbingChange(this);
5259
+ }
5241
5260
  componentWillLoad() {
5242
5261
  inheritGlobalTheme(this);
5262
+ this.hasTooltipSlot = hasSlot(this.element, "tooltip");
5263
+ checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
5264
+ if (this.hasTooltipSlot) {
5265
+ const tooltip = getElementsFromNamedSlot(this.element, "tooltip")[0];
5266
+ tooltip.badgeElement = this.element;
5267
+ }
5243
5268
  }
5244
5269
  /**
5245
5270
  * render() function
@@ -5247,12 +5272,13 @@ class DuetBadge {
5247
5272
  */
5248
5273
  render() {
5249
5274
  const backgroundClass = `background-${this.background}`;
5250
- return (hAsync(Host, { key: '446fcb8a0becb11a4043774efb1611dd9d89d82d', class: { "duet-m-0": this.margin === "none" } }, hAsync("span", { key: '56ca2601a6f378068ce6d1c695089c0d131e9b7d', class: {
5275
+ return (hAsync(Host, { key: 'a560a9bf8c66e7b54260cf1a51c2bb4728d204bd', class: { "duet-m-0": this.margin === "none" } }, hAsync("span", { key: '6acc7c0b3470e48d82386d808f0b997da64d01bd', class: {
5251
5276
  "duet-badge": true,
5252
5277
  [this.variation]: true,
5253
5278
  [backgroundClass]: true,
5279
+ "has-tooltip": !!this.tooltip || this.hasTooltipSlot,
5254
5280
  "duet-theme-turva": this.theme === "turva",
5255
- } }, hAsync("duet-visually-hidden", { key: 'b1105a9f4a43ee6f9379cb8c02a06328830bbaa6' }, this.getVariationLabel()), hAsync("slot", { key: '2922cf32e24472ae3c8685a1ea90a27c0112b740' }))));
5281
+ } }, hAsync("duet-visually-hidden", { key: 'ffef5f8b2e1f4daa1ad9c6422663bdd68279d97b' }, this.getVariationLabel()), hAsync("slot", { key: 'c29a964054979e3453dc6d1e3e26deb37db4d6da' }), (this.tooltip || this.hasTooltipSlot) && (hAsync("span", { key: '6aaefca53e94bf5a1d25b19f3f3b6182bdc24d89', class: "tooltip-wrap" }, !this.hasTooltipSlot && (hAsync("duet-tooltip", { key: '2dcff5145d02f2dc6be7c9459dfe96d57873d7c9', "accessible-about-label": this.getBadgeText(), badgeElement: this.element }, this.tooltip)), hAsync("slot", { key: '618248018df97f7071166094bf62ac615577371b', name: "tooltip" }))))));
5256
5282
  }
5257
5283
  get element() { return getElement(this); }
5258
5284
  static get style() { return duetBadgeCss; }
@@ -5263,7 +5289,8 @@ class DuetBadge {
5263
5289
  "theme": [1025],
5264
5290
  "variation": [1],
5265
5291
  "background": [1],
5266
- "margin": [1]
5292
+ "margin": [1],
5293
+ "tooltip": [1]
5267
5294
  },
5268
5295
  "$listeners$": undefined,
5269
5296
  "$lazyBundleId$": "-",
@@ -5278,7 +5305,7 @@ const DuetPicture = ({ img, sources }) => {
5278
5305
  hAsync("img", Object.assign({}, img))));
5279
5306
  };
5280
5307
 
5281
- const duetBannerCss = "*,\n*::after,\n*::before {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n border: 0;\n}\n\n:host {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n border: 0;\n margin-right: 36px !important;\n margin-bottom: 36px !important;\n display: flex;\n justify-content: center;\n width: auto;\n container: duet-banner-container;\n container-type: inline-size;\n}\n:host:last-child, :host:last-of-type {\n margin-right: 0 !important;\n}\n[alignment=form-distribute] > :host:last-of-type:not(:last-child) {\n margin-right: 36px !important;\n}\n\n:host(.duet-m-0) {\n margin: 0 !important;\n}\n\n.duet-banner {\n display: grid;\n grid-template-rows: min-content 1fr;\n width: 100%;\n height: 100%;\n font-family: \"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n text-align: left;\n border-radius: 16px;\n}\n.duet-banner.duet-p-0 {\n padding: 0 !important;\n}\n.duet-banner.duet-m-0 {\n margin: 0 !important;\n}\n.duet-banner .visual {\n position: relative;\n display: none;\n overflow: hidden;\n}\n@container duet-banner-container (min-width: 0) {\n .duet-banner .visual {\n display: block;\n }\n}\n.duet-banner .visual .image-container {\n position: relative;\n aspect-ratio: 2/1;\n overflow: hidden;\n}\n.duet-banner .visual .image {\n position: relative;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n}\n.duet-banner .visual .icon {\n position: absolute;\n}\n.duet-banner .visual .brand-shape {\n position: absolute;\n top: 0;\n left: 72%;\n display: none;\n width: 100%;\n height: 100%;\n mask-image: url(\"data:image/svg+xml,%3Csvg%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20344%22%20fill%3D%22none%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M2.72641e-07%2091.1902C0.000476976%2097.9034%200.626077%20104.726%201.92282%20111.592L42.7493%20327.771C43.8045%20333.358%2045.2667%20338.776%2047.0996%20344H160V0H51.1439C19.7799%2019.1253%200.00268143%2053.4178%202.72641e-07%2091.1749C-9.08807e-08%2091.18%20-9.08875e-08%2091.1851%202.72641e-07%2091.1902Z%22%20fill%3D%22%23E6F2F8%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E\");\n transform: scale(101%);\n}\n.duet-banner .content {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 16px 20px 28px;\n}\n.duet-banner .content .description {\n hyphens: auto;\n}\n.duet-banner .action {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-end;\n padding-top: 16px;\n}\n.duet-banner .visual {\n border-top-left-radius: 16px;\n border-top-right-radius: 16px;\n}\n.duet-banner .visual .image-container {\n width: 100%;\n height: auto;\n border-radius: 0;\n}\n.duet-banner .visual .icon {\n bottom: 30px;\n left: 15px;\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner.size-medium, .duet-banner.size-large {\n grid-template-rows: none;\n grid-template-columns: 50% 50%;\n }\n .duet-banner.size-medium .visual, .duet-banner.size-large .visual {\n border-top-left-radius: 16px;\n border-top-right-radius: 0;\n border-bottom-left-radius: 16px;\n }\n .duet-banner.size-medium .visual .image-container, .duet-banner.size-large .visual .image-container {\n height: 100%;\n }\n .duet-banner.size-medium .visual .image, .duet-banner.size-large .visual .image {\n width: 100%;\n height: 100%;\n }\n .duet-banner.size-medium .visual .icon, .duet-banner.size-large .visual .icon {\n top: 36px;\n left: 168px;\n }\n .duet-banner.size-medium .visual .brand-shape, .duet-banner.size-large .visual .brand-shape {\n display: block;\n }\n .duet-banner.size-medium .content, .duet-banner.size-large .content {\n align-items: flex-start;\n justify-content: center;\n padding: 28px 28px 28px 0;\n }\n .duet-banner.size-medium .action, .duet-banner.size-large .action {\n flex-grow: 0;\n }\n}\n@container duet-banner-container (min-width: 586px) {\n .duet-banner.size-medium .visual .brand-shape, .duet-banner.size-large .visual .brand-shape {\n left: 80%;\n }\n}\n@container duet-banner-container (min-width: 900px) {\n .duet-banner.size-large {\n grid-template-rows: none;\n grid-template-columns: 50% 50%;\n }\n .duet-banner.size-large .visual {\n border-top-left-radius: 16px;\n border-bottom-left-radius: 16px;\n }\n .duet-banner.size-large .visual .image-container {\n height: 100%;\n }\n .duet-banner.size-large .visual .image {\n width: 100%;\n height: 100%;\n }\n .duet-banner.size-large .visual .icon {\n top: 40px;\n bottom: auto;\n left: 335px;\n }\n .duet-banner.size-large .visual .brand-shape {\n display: block;\n }\n .duet-banner.size-large .content {\n align-items: flex-start;\n justify-content: center;\n padding: 48px 48px 48px 0;\n }\n .duet-banner.size-large .action {\n flex-grow: 0;\n }\n}\n.duet-banner.no-image {\n display: flex;\n justify-content: center;\n padding: 36px 20px;\n}\n.duet-banner.no-image .visual {\n display: none;\n}\n.duet-banner.no-image .content {\n width: 100%;\n max-width: 720px;\n padding: 0;\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner.no-image.size-medium, .duet-banner.no-image.size-large {\n padding: 48px;\n }\n}\n\n::slotted(.duet-heading) {\n margin: inherit !important;\n font-size: inherit !important;\n line-height: inherit !important;\n color: inherit !important;\n}\n\n.duet-banner.duet-theme-turva {\n font-family: \"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n border-radius: 12px;\n}\n.duet-banner.duet-theme-turva .visual .brand-shape {\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n mask-image: url(\"data:image/svg+xml,%3Csvg%20width%3D%22540%22%20height%3D%2258%22%20viewBox%3D%220%200%20540%2058%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M540%2018.0729L540%2057.6749H0L0.000139455%2011.2563C0.000139455%202.85822%208.31858%20-2.59156%2015.3307%201.26796C33.6821%2011.3367%2055.6983%2020.0831%2080.3633%2027.3465C134.438%2043.276%20201.239%2052.0939%20270%2052.0939C338.761%2052.0939%20405.572%2043.276%20459.637%2027.3465C484.302%2020.0742%20506.318%2011.3277%20524.669%201.25902C531.682%20-2.59156%20540%202.85822%20540%2011.2563V18.0729Z%22%20fill%3D%22%23FBEBE1%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n mask-repeat: no-repeat;\n mask-position: bottom;\n mask-size: contain;\n scale: 101%;\n}\n.duet-banner.duet-theme-turva.size-medium .visual, .duet-banner.duet-theme-turva.size-large .visual {\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner.duet-theme-turva.size-medium, .duet-banner.duet-theme-turva.size-large {\n grid-template-columns: 1fr 1fr;\n gap: 28px;\n border-radius: 12px;\n }\n .duet-banner.duet-theme-turva.size-medium .visual, .duet-banner.duet-theme-turva.size-large .visual {\n border-top-left-radius: 12px;\n border-top-right-radius: 0;\n border-bottom-left-radius: 12px;\n }\n .duet-banner.duet-theme-turva.size-medium .visual .image-container, .duet-banner.duet-theme-turva.size-large .visual .image-container {\n padding: 20px;\n padding-right: 0;\n }\n .duet-banner.duet-theme-turva.size-medium .visual .image, .duet-banner.duet-theme-turva.size-large .visual .image {\n border-radius: 12px;\n }\n .duet-banner.duet-theme-turva.size-medium .visual .brand-shape, .duet-banner.duet-theme-turva.size-large .visual .brand-shape {\n display: none;\n }\n}";
5308
+ const duetBannerCss = "*,\n*::after,\n*::before {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n border: 0;\n}\n\n:host {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n border: 0;\n margin-right: 36px !important;\n margin-bottom: 36px !important;\n display: flex;\n justify-content: center;\n width: auto;\n container: duet-banner-container;\n container-type: inline-size;\n}\n:host:last-child, :host:last-of-type {\n margin-right: 0 !important;\n}\n[alignment=form-distribute] > :host:last-of-type:not(:last-child) {\n margin-right: 36px !important;\n}\n\n:host(.duet-m-0) {\n margin: 0 !important;\n}\n\n.duet-banner {\n display: grid;\n grid-template-rows: min-content 1fr;\n width: 100%;\n height: 100%;\n font-family: \"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n text-align: left;\n border-radius: 16px;\n}\n.duet-banner.duet-p-0 {\n padding: 0 !important;\n}\n.duet-banner.duet-m-0 {\n margin: 0 !important;\n}\n.duet-banner .visual {\n position: relative;\n display: none;\n overflow: hidden;\n}\n@container duet-banner-container (min-width: 0) {\n .duet-banner .visual {\n display: block;\n }\n}\n.duet-banner .visual .image-container {\n position: relative;\n aspect-ratio: 2/1;\n overflow: hidden;\n}\n.duet-banner .visual .image {\n position: relative;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n}\n.duet-banner .visual .image.contain {\n padding: 16px 20px 0;\n object-fit: contain;\n object-position: center bottom;\n}\n.duet-banner .visual .icon {\n position: absolute;\n}\n.duet-banner .visual .brand-shape {\n position: absolute;\n top: 0;\n left: 72%;\n display: none;\n width: 100%;\n height: 100%;\n mask-image: url(\"data:image/svg+xml,%3Csvg%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20344%22%20fill%3D%22none%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M2.72641e-07%2091.1902C0.000476976%2097.9034%200.626077%20104.726%201.92282%20111.592L42.7493%20327.771C43.8045%20333.358%2045.2667%20338.776%2047.0996%20344H160V0H51.1439C19.7799%2019.1253%200.00268143%2053.4178%202.72641e-07%2091.1749C-9.08807e-08%2091.18%20-9.08875e-08%2091.1851%202.72641e-07%2091.1902Z%22%20fill%3D%22%23E6F2F8%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E\");\n transform: scale(101%);\n}\n.duet-banner .content {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 16px 20px 28px;\n}\n.duet-banner .content .description {\n hyphens: auto;\n}\n.duet-banner .action {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-end;\n padding-top: 16px;\n}\n.duet-banner .visual {\n border-top-left-radius: 16px;\n border-top-right-radius: 16px;\n}\n.duet-banner .visual .image-container {\n width: 100%;\n height: auto;\n border-radius: 0;\n}\n.duet-banner .visual .icon {\n bottom: 30px;\n left: 15px;\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner.size-medium, .duet-banner.size-large {\n grid-template-rows: none;\n grid-template-columns: 50% 50%;\n }\n .duet-banner.size-medium .visual, .duet-banner.size-large .visual {\n border-top-left-radius: 16px;\n border-top-right-radius: 0;\n border-bottom-left-radius: 16px;\n }\n .duet-banner.size-medium .visual .image-container, .duet-banner.size-large .visual .image-container {\n height: 100%;\n }\n .duet-banner.size-medium .visual .image, .duet-banner.size-large .visual .image {\n width: 100%;\n height: 100%;\n }\n .duet-banner.size-medium .visual .image.contain, .duet-banner.size-large .visual .image.contain {\n padding: 28px;\n object-position: center;\n }\n .duet-banner.size-medium .visual .icon, .duet-banner.size-large .visual .icon {\n top: 36px;\n left: 168px;\n }\n .duet-banner.size-medium .visual .brand-shape, .duet-banner.size-large .visual .brand-shape {\n display: block;\n }\n .duet-banner.size-medium .content, .duet-banner.size-large .content {\n align-items: flex-start;\n justify-content: center;\n padding: 28px 28px 28px 0;\n }\n .duet-banner.size-medium .action, .duet-banner.size-large .action {\n flex-grow: 0;\n }\n}\n@container duet-banner-container (min-width: 586px) {\n .duet-banner.size-medium .visual .brand-shape, .duet-banner.size-large .visual .brand-shape {\n left: 80%;\n }\n}\n@container duet-banner-container (min-width: 900px) {\n .duet-banner.size-large {\n grid-template-rows: none;\n grid-template-columns: 50% 50%;\n }\n .duet-banner.size-large .visual {\n border-top-left-radius: 16px;\n border-bottom-left-radius: 16px;\n }\n .duet-banner.size-large .visual .image-container {\n height: 100%;\n }\n .duet-banner.size-large .visual .image {\n width: 100%;\n height: 100%;\n }\n .duet-banner.size-large .visual .image.contain {\n padding: 48px;\n }\n .duet-banner.size-large .visual .icon {\n top: 40px;\n bottom: auto;\n left: 335px;\n }\n .duet-banner.size-large .visual .brand-shape {\n display: block;\n }\n .duet-banner.size-large .content {\n align-items: flex-start;\n justify-content: center;\n padding: 48px 48px 48px 0;\n }\n .duet-banner.size-large .action {\n flex-grow: 0;\n }\n}\n.duet-banner.no-image {\n display: flex;\n justify-content: center;\n padding: 36px 20px;\n}\n.duet-banner.no-image .visual {\n display: none;\n}\n.duet-banner.no-image .content {\n width: 100%;\n max-width: 720px;\n padding: 0;\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner.no-image.size-medium, .duet-banner.no-image.size-large {\n padding: 48px;\n }\n}\n\n::slotted(.duet-heading) {\n margin: inherit !important;\n font-size: inherit !important;\n line-height: inherit !important;\n color: inherit !important;\n}\n\n.duet-banner.duet-theme-turva {\n font-family: \"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n border-radius: 12px;\n}\n.duet-banner.duet-theme-turva .visual .brand-shape {\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n mask-image: url(\"data:image/svg+xml,%3Csvg%20width%3D%22540%22%20height%3D%2258%22%20viewBox%3D%220%200%20540%2058%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M540%2018.0729L540%2057.6749H0L0.000139455%2011.2563C0.000139455%202.85822%208.31858%20-2.59156%2015.3307%201.26796C33.6821%2011.3367%2055.6983%2020.0831%2080.3633%2027.3465C134.438%2043.276%20201.239%2052.0939%20270%2052.0939C338.761%2052.0939%20405.572%2043.276%20459.637%2027.3465C484.302%2020.0742%20506.318%2011.3277%20524.669%201.25902C531.682%20-2.59156%20540%202.85822%20540%2011.2563V18.0729Z%22%20fill%3D%22%23FBEBE1%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n mask-repeat: no-repeat;\n mask-position: bottom;\n mask-size: contain;\n scale: 101%;\n}\n.duet-banner.duet-theme-turva.size-medium .visual, .duet-banner.duet-theme-turva.size-large .visual {\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner.duet-theme-turva.size-medium, .duet-banner.duet-theme-turva.size-large {\n grid-template-columns: 1fr 1fr;\n gap: 28px;\n border-radius: 12px;\n }\n .duet-banner.duet-theme-turva.size-medium .visual, .duet-banner.duet-theme-turva.size-large .visual {\n border-top-left-radius: 12px;\n border-top-right-radius: 0;\n border-bottom-left-radius: 12px;\n }\n .duet-banner.duet-theme-turva.size-medium .visual .image-container, .duet-banner.duet-theme-turva.size-large .visual .image-container {\n padding: 20px;\n padding-right: 0;\n }\n .duet-banner.duet-theme-turva.size-medium .visual .image, .duet-banner.duet-theme-turva.size-large .visual .image {\n border-radius: 12px;\n }\n .duet-banner.duet-theme-turva.size-medium .visual .brand-shape, .duet-banner.duet-theme-turva.size-large .visual .brand-shape {\n display: none;\n }\n}";
5282
5309
 
5283
5310
  /**
5284
5311
  * @slot heading - Slot for heading content. Only span should be used in this slot.
@@ -5321,6 +5348,11 @@ class DuetBanner {
5321
5348
  * Image. Example image is 512x341;
5322
5349
  */
5323
5350
  this.image = "";
5351
+ /**
5352
+ * Will the image cover the whole image area (possibly getting cropped), or will it be contained without any
5353
+ * cropping (possibly not filling the whole area).
5354
+ */
5355
+ this.imageFit = "cover";
5324
5356
  /**
5325
5357
  * Icon.
5326
5358
  */
@@ -5404,19 +5436,19 @@ class DuetBanner {
5404
5436
  src: this.image,
5405
5437
  alt: this.imageAlt || "",
5406
5438
  loading: "lazy",
5407
- class: "image",
5439
+ class: `image ${this.imageFit}`,
5408
5440
  role: this.imageAlt ? undefined : "presentation",
5409
5441
  },
5410
5442
  sources: parsePossibleJSON(this.sources),
5411
5443
  };
5412
- return (hAsync(Host, { key: '6c5c51b5270034eca60358d32acf69b0b87cfe37', class: { "duet-m-0": this.margin === "none" } }, hAsync("aside", { key: 'd3357af952f4d21a284a3c07a4840be8c9d96671', class: {
5444
+ return (hAsync(Host, { key: '7bb7e73a6f4d35a44a152b488d46ad622f2cb50b', class: { "duet-m-0": this.margin === "none" } }, hAsync("aside", { key: '739f618adf7c4723262b4ec6295cf4864c361526', class: {
5413
5445
  "duet-banner": true,
5414
5446
  "duet-theme-turva": this.theme === "turva",
5415
5447
  [this.currentSize]: true,
5416
5448
  "size-medium": this.size === "medium" || this.size === "large",
5417
5449
  "size-large": this.size === "large",
5418
5450
  "no-image": !this.image,
5419
- }, style: bannerStyles }, hAsync("div", { key: '129fd9d09e47a09e8109741d832e6adbb254c2f7', class: "visual" }, hAsync("div", { key: '34a38d97f6591aa3cf06542ccc21d2be6526775e', class: "image-container" }, this.image && hAsync(DuetPicture, Object.assign({ key: '4e74d10a68cbd875eafda59dff824d20f2259534' }, pictureSource))), 1 > 2, hAsync("div", { key: '527007e8b696a194e63cb513d32c8072e3900fa0', style: bannerStyles, class: "brand-shape" })), hAsync("div", { key: '6c2ce761c87965936e5a77764bd07c4068fc5af1', class: "content" }, this.hasHeadingSlot && (hAsync("div", { key: 'f95cad851a8a235080682deabc5eb48f69f06090', class: "heading" }, hAsync("duet-heading", { key: '35d3d015a16e2f723d2afa61b46b44706239063f', theme: this.theme, level: this.hasHeadingSlotNative ? "div" : this.headingLevel, "visual-level": this.currentSize === "large" ? "h2" : "h3", "fixed-size": true, margin: "none", color: postfixTheme(this.textColor, this.theme) }, hAsync("span", { key: '3968de3baeb3baca08829460f41c843df594c3a6' }, hAsync("slot", { key: 'c19c73a90688fc2e2f45cd46215714cd0f23eee1', name: "heading" }))))), this.hasDescriptionSlot && (hAsync("div", { key: '77df4cc82d30c81bd36f73fa7db4bbfb59a491d6', class: "description", style: { color } }, hAsync("slot", { key: '21d38914241a35c9d5b8803d727abca2b8c7c249', name: "description" }))), this.hasActionSlot && (hAsync("div", { key: 'aef144cc3dbb6453ed8e0b37337322da880f26d8', class: "action" }, hAsync("slot", { key: '613875d267d920e780afe93b3eb4c4fadbb3d73b', name: "action" })))))));
5451
+ }, style: bannerStyles }, hAsync("div", { key: 'd78595a1aabf12715243be11008f484d23596a1b', class: "visual" }, hAsync("div", { key: 'ef55a2809492d94f8c249f1cad969f52c7c7b82d', class: "image-container" }, this.image && hAsync(DuetPicture, Object.assign({ key: '80aa252e2ae80b3deeea7949866fe797dfff3500' }, pictureSource))), 1 > 2, this.imageFit !== "contain" && hAsync("div", { key: '99d09920043743c985e0d3dba395a3985fb498a9', style: bannerStyles, class: "brand-shape" })), hAsync("div", { key: 'b71115c0291aa50a6fb14fd9da4f5ca3e17966b8', class: "content" }, this.hasHeadingSlot && (hAsync("div", { key: 'ab430cc7698686f5e352cd8b1a832a75fba1016e', class: "heading" }, hAsync("duet-heading", { key: 'd524b78d7d934270dece2274467f32450d67d5c3', theme: this.theme, level: this.hasHeadingSlotNative ? "div" : this.headingLevel, "visual-level": this.currentSize === "large" ? "h2" : "h3", "fixed-size": true, margin: "none", color: postfixTheme(this.textColor, this.theme) }, hAsync("span", { key: 'c9f8c556560a5cf18924a0f3b4c71bc5b4a66e34' }, hAsync("slot", { key: '4e1425677afc11f145db287ebf17df9917f40529', name: "heading" }))))), this.hasDescriptionSlot && (hAsync("div", { key: 'b0ec390d54156a3df44821ab41b5bee3245a880b', class: "description", style: { color } }, hAsync("slot", { key: 'd284da9e4b546bbc02c8741aa7aa368de497ea52', name: "description" }))), this.hasActionSlot && (hAsync("div", { key: '3ff5952fc3f6ab7a7948317ef7907f297df37a30', class: "action" }, hAsync("slot", { key: 'e912017d264737322c63eec6e3d3a13a225db01a', name: "action" })))))));
5420
5452
  }
5421
5453
  get element() { return getElement(this); }
5422
5454
  static get style() { return duetBannerCss; }
@@ -5433,6 +5465,7 @@ class DuetBanner {
5433
5465
  "size": [1025],
5434
5466
  "image": [1],
5435
5467
  "imageAlt": [1, "image-alt"],
5468
+ "imageFit": [1, "image-fit"],
5436
5469
  "sources": [1],
5437
5470
  "icon": [1],
5438
5471
  "headingLevel": [1, "heading-level"],
@@ -5503,15 +5536,15 @@ class DuetBreadcrumb {
5503
5536
  */
5504
5537
  render() {
5505
5538
  const Tag = this.href ? "a" : "span";
5506
- return (hAsync(Host, { key: 'bee5edcaaa257aef537393e9620b269c242dff1d', role: "listitem" }, hAsync("div", { key: 'fe46fa6ccf1f40968db1b82d27b11c5a5a450594', class: "container" }, this.icon === "arrow-right-small-icon" && (hAsync("duet-icon", { key: '0f01a2a92376855fc341815886b031498a5085fd', class: "duet-breadrumbs-arrow", size: "auto", icon: arrowRightSmallIcon.svg, margin: "none", color: "currentColor" })), hAsync(Tag, { key: 'cffeeca1d48de91945115a38bfcb1ae5efe702db', class: {
5539
+ return (hAsync(Host, { key: '9d25b651fd5b242297c25eb3ea99ffc6f1ca48af', role: "listitem" }, hAsync("div", { key: '84a91d5dd5578cb8294cea0e48d0ee4d5bb2fd23', class: "container" }, this.icon === "arrow-right-small-icon" && (hAsync("duet-icon", { key: 'c443a924a8354ec1218f8ff092ba4f8c8c6ee848', class: "duet-breadrumbs-arrow", size: "auto", icon: arrowRightSmallIcon.svg, margin: "none", color: "currentColor" })), hAsync(Tag, { key: '266f23bcf053b651c24cdf70aaf540a618ed0334', class: {
5507
5540
  "duet-breadcrumb": true,
5508
5541
  "duet-theme-turva": this.theme === "turva",
5509
5542
  "icon-only": this.icon && !this.hasSlottedContent,
5510
5543
  }, href: this.href || undefined, "aria-label": this.accessibleLabel || this.element.textContent, "aria-current": this.href ? undefined : "page" }, this.icon !== "arrow-right-small-icon" &&
5511
5544
  this.icon && [
5512
- hAsync("duet-icon", { key: 'ee27c63d28c4c9187a8242a811532322749f94fd', size: this.iconSize, name: this.icon, margin: "none", color: "currentColor" }),
5513
- this.hasSlottedContent && hAsync("duet-spacer", { key: 'e0a220aa059a782dc8716f9fcda3e945bc048f40', size: "x-small", direction: "horizontal" }),
5514
- ], hAsync("slot", { key: '86454db36ecfe921c4b1719f1d9b7807da79a272' })))));
5545
+ hAsync("duet-icon", { key: '4db885eb507c009ff6f8441052b4c402bf6fd677', size: this.iconSize, name: this.icon, margin: "none", color: "currentColor" }),
5546
+ this.hasSlottedContent && hAsync("duet-spacer", { key: '1dd57ad658f67683907cf1d7b9db5726d5d4d309', size: "x-small", direction: "horizontal" }),
5547
+ ], hAsync("slot", { key: '71d21629fc5c66ebe08d0c7eb04a9293e0246cf5' })))));
5515
5548
  }
5516
5549
  get element() { return getElement(this); }
5517
5550
  static get style() { return duetBreadcrumbCss; }
@@ -5579,11 +5612,11 @@ class DuetBreadcrumbs {
5579
5612
  */
5580
5613
  render() {
5581
5614
  const color = getColorByName(this.color);
5582
- return (hAsync(Host, { key: '36f67b82a722d5c4017bb4cec37fd7149572d264' }, hAsync("nav", { key: 'f8fe3f4e521969a60d9428a354a88152171613ec', "aria-label": this.breadcrumbsAriaLabel, class: {
5615
+ return (hAsync(Host, { key: 'e7ae98090732542452a2a94210f21bc4d877987e' }, hAsync("nav", { key: '20edb0b05a6c3e6589e7d6be4e875bbfe89e263c', "aria-label": this.breadcrumbsAriaLabel, class: {
5583
5616
  "duet-breadcrumbs": true,
5584
5617
  "duet-theme-turva": this.theme === "turva",
5585
5618
  [this.variation]: true,
5586
- } }, hAsync("div", { key: '78f711e9262e47c989705552d2ab75e65ae17fbe', class: "container" }, hAsync("div", { key: 'bfc70b5d984cc57ef2591f4a3ecf452db9ae0ed6', role: "list", class: "list", style: { color } }, hAsync("slot", { key: '96e85ea897f84aef0111f41d1e91ac2a263e8d66' })), hAsync("div", { key: 'b99f56d5dba834d934872b86fcb8e46205ae3084', class: "bottom-border bottom-border--container" })), hAsync("div", { key: '1d96cf880260a6fa1fb39cbc0e76e7b5df8f208c', class: "bottom-border bottom-border--nav" }))));
5619
+ } }, hAsync("div", { key: '9af54a322da0c7be2e37687a9d67e16214de644c', class: "container" }, hAsync("div", { key: '0e7243aa0cb721abb7b413e4bd109f4594f6c2ac', role: "list", class: "list", style: { color } }, hAsync("slot", { key: '8ed1299ec1deda2d43ecabdcc1d49c15a4467b23' })), hAsync("div", { key: '24b4efdf7a6f85c6ea8badf769d0dd8b098252ee', class: "bottom-border bottom-border--container" })), hAsync("div", { key: '510ebbb8148a84730d5bc1f53c3fb01a76c7bcdb', class: "bottom-border bottom-border--nav" }))));
5587
5620
  }
5588
5621
  get element() { return getElement(this); }
5589
5622
  static get style() { return duetBreadcrumbsCss; }
@@ -5602,7 +5635,7 @@ class DuetBreadcrumbs {
5602
5635
  }; }
5603
5636
  }
5604
5637
 
5605
- const duetButtonCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;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{margin-right:0 !important}[alignment=form-distribute]>:host:last-of-type:not(:last-child){margin-right:8px !important}@media (max-width: 35.9375em){:host{width:100%}}:host(.square){margin-right:12px !important}:host(.square):last-child,:host(.square):last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host(.square):last-of-type:not(:last-child){margin-right:12px !important}:host(.input-button){z-index:250}:host(.duet-small),:host(.duet-x-small){margin-right:4px !important;margin-bottom:8px !important}:host(.duet-small):last-child,:host(.duet-small):last-of-type,:host(.duet-x-small):last-child,:host(.duet-x-small):last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host(.duet-small):last-of-type:not(:last-child),[alignment=form-distribute]>:host(.duet-x-small):last-of-type:not(:last-child){margin-right:4px !important}@media (max-width: 35.9375em){:host(.duet-small),:host(.duet-x-small){width:auto}}:host(.duet-x-small){margin-right:2px !important}:host(.duet-x-small):last-child,:host(.duet-x-small):last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host(.duet-x-small):last-of-type:not(:last-child){margin-right:2px !important}:host(.square.duet-small),:host(.square.duet-x-small){margin-right:8px !important}:host(.square.duet-small):last-child,:host(.square.duet-small):last-of-type,:host(.square.duet-x-small):last-child,:host(.square.duet-x-small):last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host(.square.duet-small):last-of-type:not(:last-child),[alignment=form-distribute]>:host(.square.duet-x-small):last-of-type:not(:last-child){margin-right:8px !important}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}:host(.duet-fixed){width:auto !important}:host(:last-child){margin-right:0 !important}.duet-button-container{position:relative;display:block;width:100%}.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, padding 300ms ease, box-shadow 300ms ease}.duet-button.duet-p-0{padding:0 !important}.duet-button.duet-m-0{margin:0 !important}.duet-button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-button:focus,.duet-button:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-button.duet-button-size-medium{height:50px;padding-right:30px;padding-left:30px;font-size:1rem;border-radius:25px}.duet-button.duet-button-size-medium.square{border-radius:12.5px}.duet-button.duet-button-size-medium.icon-left{padding-left:24px}.duet-button.duet-button-size-medium.icon-right{padding-right:24px}.duet-button.duet-button-size-small{height:40px;padding-right:20px;padding-left:20px;font-size:0.875rem;border-radius:20px}.duet-button.duet-button-size-small.square{border-radius:10px}.duet-button.duet-button-size-small.icon-left{padding-left:18px}.duet-button.duet-button-size-small.icon-right{padding-right:18px}.duet-button.duet-button-size-x-small{height:32px;padding-right:12px;padding-left:12px;font-size:0.75rem;border-radius:8px}.duet-button.duet-button-size-x-small.icon-left{padding-left:10px}.duet-button.duet-button-size-x-small.icon-right{padding-right:10px}.duet-button.plain.duet-p-0{height:auto}.duet-button:not(.input-button-primary,.input-button-secondary,.input-button-embedded){font-variant-numeric:tabular-nums}.duet-button.duet-button-text-center{text-align:center !important}.duet-button.duet-button-is-small:not(.duet-button-icon-only){min-width:48px}.duet-button.duet-button-is-small: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{padding:0 !important}.duet-button .duet-button-contents{position:relative;display:flex;gap:10px;align-items:center;margin:0 auto;pointer-events:none}.duet-button .duet-button-contents.icon-right{flex-direction:row-reverse}.duet-button .duet-button-contents .duet-button-contents-slot{position:relative;top:0}.duet-button.duet-no-wrap{white-space:nowrap}.duet-button svg{width:100%;min-width:100%;fill:currentColor}.duet-button .duet-button-icon{display:flex;align-items:center}.duet-button .duet-button-icon duet-icon{width:16px;height:16px}.duet-button .duet-button-icon.large duet-icon{width:20px;height:20px}.duet-button .duet-button-icon.medium-small duet-icon{width:10px;height:10px}.duet-button .duet-button-icon.small duet-icon{width:7px;height:7px}.duet-button:active:not([disabled]){opacity:0.75;transition:none}.duet-button.default{background:rgb(255, 255, 255);border-color:rgb(181, 198, 208)}.duet-button.default:hover{outline:2px solid rgb(0, 119, 179);outline-offset:-2px;border-color:rgb(0, 119, 179)}.duet-button.default.duet-button-negative{background-color:rgb(255, 255, 255)}.duet-button.default.duet-button-negative:hover{color:rgb(0, 119, 179) !important;border-color:rgb(0, 119, 179)}.duet-button.primary,.duet-button.input-button-primary,.duet-button.input-button-left-primary{color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179);border-color:rgb(0, 119, 179)}.duet-button.primary:hover,.duet-button.input-button-primary:hover,.duet-button.input-button-left-primary:hover{background:#005f8f;border-color:#005f8f;box-shadow:0 4px 20px 0 rgba(34, 34, 34, 0.1)}.duet-button.secondary,.duet-button.input-button-secondary,.duet-button.input-button-left-secondary,.duet-button.input-button-embedded{color:rgb(8, 42, 77) !important;background:transparent;border-color:rgb(8, 42, 77)}.duet-button.secondary:hover,.duet-button.input-button-secondary:hover,.duet-button.input-button-left-secondary:hover,.duet-button.input-button-embedded:hover{color:rgb(0, 119, 179) !important;border-color:rgb(0, 119, 179);outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-button.secondary:hover,.duet-button.secondary:hover.duet-theme-turva,.duet-theme-turva .duet-button.input-button-secondary:hover,.duet-button.input-button-secondary:hover.duet-theme-turva,.duet-theme-turva .duet-button.input-button-left-secondary:hover,.duet-button.input-button-left-secondary:hover.duet-theme-turva,.duet-theme-turva .duet-button.input-button-embedded:hover,.duet-button.input-button-embedded:hover.duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.duet-button.secondary.duet-button-negative,.duet-button.input-button-secondary.duet-button-negative,.duet-button.input-button-left-secondary.duet-button-negative,.duet-button.input-button-embedded.duet-button-negative{color:rgb(212, 223, 229) !important;border-color:rgb(255, 255, 255)}.duet-button.secondary.duet-button-negative:hover,.duet-button.input-button-secondary.duet-button-negative:hover,.duet-button.input-button-left-secondary.duet-button-negative:hover,.duet-button.input-button-embedded.duet-button-negative:hover{color:rgb(0, 119, 179) !important;border-color:rgb(0, 119, 179)}.duet-button.input-button-embedded{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{height:auto}.duet-button.negative{color:rgb(8, 42, 77) !important;background:rgb(255, 255, 255);border-color:rgb(255, 255, 255)}.duet-button.negative:hover{color:rgb(255, 255, 255) !important;background:transparent;border-color:rgb(255, 255, 255)}.duet-button.destructive-primary{color:rgb(255, 255, 255) !important;background:rgb(214, 28, 82);border-color:rgb(214, 28, 82)}.duet-button.destructive-primary:hover{background:#ab1642;border-color:#ab1642;box-shadow:0 4px 20px 0 rgba(34, 34, 34, 0.1)}.duet-button.destructive,.duet-button.destructive-secondary{color:rgb(214, 28, 82) !important;background:rgb(255, 255, 255);border-color:rgb(214, 28, 82)}.duet-button.destructive:hover,.duet-button.destructive-secondary:hover{color:rgb(255, 255, 255) !important;background:#ab1642;border-color:#ab1642}.duet-button.plain{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-button.plain.duet-p-0 .duet-button-contents{height:auto}.duet-button.plain[disabled],.duet-button.plain[disabled]:hover{color:rgb(98, 121, 138) !important;cursor:not-allowed;background:transparent !important;border-color:transparent !important}.duet-button.plain:hover{color:rgb(0, 75, 129) !important;background:transparent !important}.duet-button.plain.duet-button-negative{color:rgb(255, 255, 255) !important}.duet-button.plain.duet-button-negative:hover{color:rgba(255, 255, 255, 0.8) !important}.duet-button.plain.duet-button-icon-only:focus{outline-offset:1px}.duet-button.duet-button-icon-only{min-width:48px;min-height:48px;padding:0 !important}.duet-button.duet-button-icon-only .duet-button-contents{position:static}.duet-button.duet-button-icon-only .duet-button-icon.left.large,.duet-button.duet-button-icon-only .duet-button-icon.left.medium,.duet-button.duet-button-icon-only .duet-button-icon.left.small{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-left-primary,.duet-button.duet-button.input-button-left-secondary{box-sizing:content-box;min-width:48px;min-height:48px;padding:0 !important;border-width:1px}.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-left-primary .duet-button-contents,.duet-button.duet-button.input-button-left-secondary .duet-button-contents{position:static}.duet-button.duet-button.input-button-primary .duet-button-contents.icon-right,.duet-button.duet-button.input-button-secondary .duet-button-contents.icon-right,.duet-button.duet-button.input-button-embedded .duet-button-contents.icon-right,.duet-button.duet-button.input-button-left-primary .duet-button-contents.icon-right,.duet-button.duet-button.input-button-left-secondary .duet-button-contents.icon-right{padding:0 16px}.duet-button.duet-button.input-button-primary,.duet-button.duet-button.input-button-secondary,.duet-button.duet-button.input-button-embedded{border-top-left-radius:0;border-top-right-radius:4px !important;border-bottom-right-radius:4px !important;border-bottom-left-radius:0}.duet-button.duet-button.input-button-primary .duet-button-icon.left.large,.duet-button.duet-button.input-button-primary .duet-button-icon.left.medium,.duet-button.duet-button.input-button-primary .duet-button-icon.left.small,.duet-button.duet-button.input-button-secondary .duet-button-icon.left.large,.duet-button.duet-button.input-button-secondary .duet-button-icon.left.medium,.duet-button.duet-button.input-button-secondary .duet-button-icon.left.small,.duet-button.duet-button.input-button-embedded .duet-button-icon.left.large,.duet-button.duet-button.input-button-embedded .duet-button-icon.left.medium,.duet-button.duet-button.input-button-embedded .duet-button-icon.left.small{position:absolute;top:50% !important;left:50% !important;padding:0;margin:0;transform:translateX(-50%) translateY(-50%)}.duet-button.duet-button.input-button-embedded{border-left-width:0}.duet-button.duet-button.input-button-left-primary,.duet-button.duet-button.input-button-left-secondary{border-top-left-radius:4px !important;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:4px !important}.duet-button.duet-button.input-button-left-primary .duet-button-contents,.duet-button.duet-button.input-button-left-secondary .duet-button-contents{position:static}.duet-button.duet-button.input-button-secondary,.duet-button.duet-button.input-button-left-secondary{border-color:rgb(127, 150, 165)}.duet-button.square{width:52px;min-width:auto !important;padding:0 !important;font-size:1rem;border-color:rgb(181, 198, 208);border-width:1px}.duet-button.square.duet-button-size-small{width:42px;font-size:0.875rem}.duet-button.square.duet-button-size-x-small{width:34px;font-size:0.875rem}.duet-button.square.duet-button-negative{color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179);border-color:rgb(0, 119, 179)}.duet-button.square:hover{outline:2px solid rgb(0, 119, 179);outline-offset:-2px;border-color:rgb(0, 119, 179)}.duet-button.square .duet-button-contents{gap:0}.duet-button[disabled],.duet-button[disabled]:hover,.duet-button.duet-button-negative[disabled],.duet-button.duet-button-negative[disabled]:hover{color:rgb(98, 121, 138) !important;cursor:not-allowed;outline:none !important;outline-color:rgb(212, 223, 229) !important;outline-color:rgb(212, 223, 229) !important;background:rgb(212, 223, 229) !important;border-color:rgb(212, 223, 229) !important;box-shadow:none !important}.duet-button-is-loading.primary,.duet-button-is-loading.input-button-primary{color:rgb(255, 255, 255)}.duet-button-is-loading.default{color:rgb(0, 119, 179)}.duet-button-is-loading .duet-button-contents{visibility:hidden;opacity:0}.duet-theme-turva .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(230, 23, 64) !important;border-radius:8px}.duet-theme-turva .duet-button.duet-button-size-medium{padding-right:24px;padding-left:24px;border-radius:8px}.duet-theme-turva .duet-button.duet-button-size-medium.icon-left{padding-left:14px}.duet-theme-turva .duet-button.duet-button-size-medium.icon-right{padding-right:14px}.duet-theme-turva .duet-button.duet-button-size-small{padding-right:18px;padding-left:18px;border-radius:8px}.duet-theme-turva .duet-button.duet-button-size-small.icon-left{padding-left:18px}.duet-theme-turva .duet-button.duet-button-size-small.icon-right{padding-right:18px}.duet-theme-turva .duet-button.default{color:rgb(230, 23, 64) !important;border-color:rgb(178, 194, 205)}.duet-theme-turva .duet-button.default:hover{outline-color:rgb(230, 23, 64);border-color:rgb(230, 23, 64)}.duet-theme-turva .duet-button.default.duet-button-negative{background-color:rgb(251, 225, 209) !important}.duet-theme-turva .duet-button.default.duet-button-negative:hover{color:rgb(230, 23, 64) !important;border-color:rgb(230, 23, 64)}.duet-theme-turva .duet-button.primary,.duet-theme-turva .duet-button.input-button-primary,.duet-theme-turva .duet-button.input-button-left-primary{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64);border-color:rgb(230, 23, 64)}.duet-theme-turva .duet-button.primary:hover,.duet-theme-turva .duet-button.input-button-primary:hover,.duet-theme-turva .duet-button.input-button-left-primary:hover{background:rgb(140, 0, 30);border-color:rgb(140, 0, 30)}.duet-theme-turva .duet-button.secondary,.duet-theme-turva .duet-button.input-button-secondary,.duet-theme-turva .duet-button.input-button-left-secondary,.duet-theme-turva .duet-button.input-button-embedded{color:rgb(23, 42, 59) !important;border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-button.secondary:hover,.duet-theme-turva .duet-button.input-button-secondary:hover,.duet-theme-turva .duet-button.input-button-left-secondary:hover,.duet-theme-turva .duet-button.input-button-embedded:hover{color:rgb(230, 23, 64) !important;border-color:rgb(230, 23, 64)}.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-left-secondary.duet-button-negative,.duet-theme-turva .duet-button.input-button-embedded.duet-button-negative{color:rgb(251, 225, 209) !important}.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-left-secondary.duet-button-negative:hover,.duet-theme-turva .duet-button.input-button-embedded.duet-button-negative:hover{color:rgb(230, 23, 64) !important;border-color:rgb(230, 23, 64)}.duet-theme-turva .duet-button.duet-button.input-button-primary,.duet-theme-turva .duet-button.duet-button.input-button-secondary,.duet-theme-turva .duet-button.duet-button.input-button-embedded{border-top-left-radius:0;border-bottom-left-radius:0}.duet-theme-turva .duet-button.duet-button.input-button-left-primary,.duet-theme-turva .duet-button.duet-button.input-button-left-secondary{border-top-right-radius:0;border-bottom-right-radius:0}.duet-theme-turva .duet-button.duet-button.input-button-secondary,.duet-theme-turva .duet-button.duet-button.input-button-left-secondary{border-color:rgb(120, 145, 164)}.duet-theme-turva .duet-button.negative{color:rgb(23, 42, 59) !important}.duet-theme-turva .duet-button.negative:hover{color:rgb(255, 255, 255) !important}.duet-theme-turva .duet-button.destructive-primary{color:rgb(255, 255, 255) !important;background:rgb(214, 28, 82);border-color:rgb(214, 28, 82)}.duet-theme-turva .duet-button.destructive-primary:hover{background:#ab1642}.duet-theme-turva .duet-button.destructive,.duet-theme-turva .duet-button.destructive-secondary{color:rgb(214, 28, 82) !important;background:rgb(255, 255, 255);border-color:rgb(214, 28, 82)}.duet-theme-turva .duet-button.destructive:hover,.duet-theme-turva .duet-button.destructive-secondary:hover{color:rgb(255, 255, 255) !important;background:#ab1642;border-color:#ab1642}.duet-theme-turva .duet-button.plain{color:rgb(230, 23, 64) !important;background:transparent;border-color:transparent}.duet-theme-turva .duet-button.plain.duet-button-negative{color:rgb(255, 255, 255) !important}.duet-theme-turva .duet-button.plain:hover{color:rgb(140, 0, 30) !important}.duet-theme-turva .duet-button.plain[disabled],.duet-theme-turva .duet-button.plain[disabled]:hover{color:rgb(95, 122, 143) !important;cursor:not-allowed;background:transparent !important;border-color:rgb(251, 225, 209) !important}.duet-theme-turva .duet-button.square{border-color:rgb(212, 221, 226)}.duet-theme-turva .duet-button.square.duet-button-negative{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64);border-color:rgb(230, 23, 64)}.duet-theme-turva .duet-button.square:hover{outline-color:rgb(230, 23, 64);border-color:rgb(230, 23, 64)}.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{color:rgb(120, 145, 164) !important;cursor:not-allowed;outline-color:rgb(212, 221, 226) !important;background:rgb(212, 221, 226) !important;border-color:rgb(212, 221, 226) !important}.duet-theme-turva .duet-button-is-loading.default{color:rgb(230, 23, 64)}";
5638
+ const duetButtonCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;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{margin-right:0 !important}[alignment=form-distribute]>:host:last-of-type:not(:last-child){margin-right:8px !important}@media (max-width: 35.9375em){:host{width:100%}}:host(.square){margin-right:12px !important}:host(.square):last-child,:host(.square):last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host(.square):last-of-type:not(:last-child){margin-right:12px !important}:host(.input-button){z-index:250}:host(.duet-small),:host(.duet-x-small){margin-right:4px !important;margin-bottom:8px !important}:host(.duet-small):last-child,:host(.duet-small):last-of-type,:host(.duet-x-small):last-child,:host(.duet-x-small):last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host(.duet-small):last-of-type:not(:last-child),[alignment=form-distribute]>:host(.duet-x-small):last-of-type:not(:last-child){margin-right:4px !important}@media (max-width: 35.9375em){:host(.duet-small),:host(.duet-x-small){width:auto}}:host(.duet-x-small){margin-right:2px !important}:host(.duet-x-small):last-child,:host(.duet-x-small):last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host(.duet-x-small):last-of-type:not(:last-child){margin-right:2px !important}:host(.square.duet-small),:host(.square.duet-x-small){margin-right:8px !important}:host(.square.duet-small):last-child,:host(.square.duet-small):last-of-type,:host(.square.duet-x-small):last-child,:host(.square.duet-x-small):last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host(.square.duet-small):last-of-type:not(:last-child),[alignment=form-distribute]>:host(.square.duet-x-small):last-of-type:not(:last-child){margin-right:8px !important}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}:host(.duet-fixed){width:auto !important}:host(:last-child){margin-right:0 !important}.duet-button-container{position:relative;display:block;width:100%}.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, padding 300ms ease, box-shadow 300ms ease}.duet-button.duet-p-0{padding:0 !important}.duet-button.duet-m-0{margin:0 !important}.duet-button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-button:focus,.duet-button:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-button.duet-button-size-medium{height:50px;padding-right:30px;padding-left:30px;font-size:1rem;border-radius:25px}.duet-button.duet-button-size-medium.square{border-radius:12.5px}.duet-button.duet-button-size-medium.icon-left{padding-left:24px}.duet-button.duet-button-size-medium.icon-right{padding-right:24px}.duet-button.duet-button-size-small{height:40px;padding-right:20px;padding-left:20px;font-size:0.875rem;border-radius:20px}.duet-button.duet-button-size-small.square{border-radius:10px}.duet-button.duet-button-size-small.icon-left{padding-left:18px}.duet-button.duet-button-size-small.icon-right{padding-right:18px}.duet-button.duet-button-size-x-small{height:32px;padding-right:12px;padding-left:12px;font-size:0.75rem;border-radius:8px}.duet-button.duet-button-size-x-small.icon-left{padding-left:10px}.duet-button.duet-button-size-x-small.icon-right{padding-right:10px}.duet-button.plain.duet-p-0{height:auto}.duet-button:not(.input-button-primary,.input-button-secondary,.input-button-embedded){font-variant-numeric:tabular-nums}.duet-button.duet-button-text-center{text-align:center !important}.duet-button.duet-button-is-small:not(.duet-button-icon-only){min-width:48px}.duet-button.duet-button-is-small: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{padding:0 !important}.duet-button .duet-button-contents{position:relative;display:flex;gap:10px;align-items:center;margin:0 auto;pointer-events:none}.duet-button .duet-button-contents.icon-right{flex-direction:row-reverse}.duet-button .duet-button-contents .duet-button-contents-slot{position:relative;top:0}.duet-button.duet-no-wrap{white-space:nowrap}.duet-button svg{width:100%;min-width:100%;fill:currentColor}.duet-button .duet-button-icon{display:flex;align-items:center}.duet-button .duet-button-icon duet-icon{width:16px;height:16px}.duet-button .duet-button-icon.large duet-icon{width:20px;height:20px}.duet-button .duet-button-icon.medium-small duet-icon{width:10px;height:10px}.duet-button .duet-button-icon.small duet-icon{width:7px;height:7px}.duet-button:active:not([disabled]){opacity:0.75;transition:none}.duet-button.default{background:rgb(255, 255, 255);border-color:rgb(181, 198, 208)}.duet-button.default:hover{outline:2px solid rgb(0, 119, 179);outline-offset:-2px;border-color:rgb(0, 119, 179)}.duet-button.default.duet-button-negative{background-color:rgb(255, 255, 255)}.duet-button.default.duet-button-negative:hover{color:rgb(0, 119, 179) !important;border-color:rgb(0, 119, 179)}.duet-button.primary,.duet-button.input-button-primary,.duet-button.input-button-left-primary{color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179);border-color:rgb(0, 119, 179)}.duet-button.primary:hover,.duet-button.input-button-primary:hover,.duet-button.input-button-left-primary:hover{background:#005f8f;border-color:#005f8f;box-shadow:0 4px 20px 0 rgba(34, 34, 34, 0.1)}.duet-button.secondary,.duet-button.input-button-secondary,.duet-button.input-button-left-secondary,.duet-button.input-button-embedded{color:rgb(8, 42, 77) !important;background:transparent;border-color:rgb(8, 42, 77)}.duet-button.secondary:hover,.duet-button.input-button-secondary:hover,.duet-button.input-button-left-secondary:hover,.duet-button.input-button-embedded:hover{color:rgb(0, 119, 179) !important;border-color:rgb(0, 119, 179);outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-button.secondary:hover,.duet-button.secondary:hover.duet-theme-turva,.duet-theme-turva .duet-button.input-button-secondary:hover,.duet-button.input-button-secondary:hover.duet-theme-turva,.duet-theme-turva .duet-button.input-button-left-secondary:hover,.duet-button.input-button-left-secondary:hover.duet-theme-turva,.duet-theme-turva .duet-button.input-button-embedded:hover,.duet-button.input-button-embedded:hover.duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.duet-button.secondary.duet-button-negative,.duet-button.input-button-secondary.duet-button-negative,.duet-button.input-button-left-secondary.duet-button-negative,.duet-button.input-button-embedded.duet-button-negative{color:rgb(212, 223, 229) !important;border-color:rgb(255, 255, 255)}.duet-button.secondary.duet-button-negative:hover,.duet-button.input-button-secondary.duet-button-negative:hover,.duet-button.input-button-left-secondary.duet-button-negative:hover,.duet-button.input-button-embedded.duet-button-negative:hover{color:rgb(0, 119, 179) !important;border-color:rgb(0, 119, 179)}.duet-button.input-button-embedded{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{height:auto}.duet-button.negative{color:rgb(8, 42, 77) !important;background:rgb(255, 255, 255);border-color:rgb(255, 255, 255)}.duet-button.negative:hover{color:rgb(255, 255, 255) !important;background:transparent;border-color:rgb(255, 255, 255)}.duet-button.duet-button-negative:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(255, 255, 255, 0.8)}.duet-button.destructive-primary{color:rgb(255, 255, 255) !important;background:rgb(214, 28, 82);border-color:rgb(214, 28, 82)}.duet-button.destructive-primary:hover{background:#ab1642;border-color:#ab1642;box-shadow:0 4px 20px 0 rgba(34, 34, 34, 0.1)}.duet-button.destructive,.duet-button.destructive-secondary{color:rgb(214, 28, 82) !important;background:rgb(255, 255, 255);border-color:rgb(214, 28, 82)}.duet-button.destructive:hover,.duet-button.destructive-secondary:hover{color:rgb(255, 255, 255) !important;background:#ab1642;border-color:#ab1642}.duet-button.plain{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-button.plain.duet-p-0 .duet-button-contents{height:auto}.duet-button.plain[disabled],.duet-button.plain[disabled]:hover{color:rgb(98, 121, 138) !important;cursor:not-allowed;background:transparent !important;border-color:transparent !important}.duet-button.plain:hover{color:rgb(0, 75, 129) !important;background:transparent !important}.duet-button.plain.duet-button-negative{color:rgb(255, 255, 255) !important}.duet-button.plain.duet-button-negative:hover{color:rgba(255, 255, 255, 0.8) !important}.duet-button.plain.duet-button-icon-only:focus{outline-offset:1px}.duet-button.duet-button-icon-only{min-width:48px;min-height:48px;padding:0 !important}.duet-button.duet-button-icon-only .duet-button-contents{position:static}.duet-button.duet-button-icon-only .duet-button-icon.left.large,.duet-button.duet-button-icon-only .duet-button-icon.left.medium,.duet-button.duet-button-icon-only .duet-button-icon.left.small{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-left-primary,.duet-button.duet-button.input-button-left-secondary{box-sizing:content-box;min-width:48px;min-height:48px;padding:0 !important;border-width:1px}.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-left-primary .duet-button-contents,.duet-button.duet-button.input-button-left-secondary .duet-button-contents{position:static}.duet-button.duet-button.input-button-primary .duet-button-contents.icon-right,.duet-button.duet-button.input-button-secondary .duet-button-contents.icon-right,.duet-button.duet-button.input-button-embedded .duet-button-contents.icon-right,.duet-button.duet-button.input-button-left-primary .duet-button-contents.icon-right,.duet-button.duet-button.input-button-left-secondary .duet-button-contents.icon-right{padding:0 16px}.duet-button.duet-button.input-button-primary,.duet-button.duet-button.input-button-secondary,.duet-button.duet-button.input-button-embedded{border-top-left-radius:0;border-top-right-radius:4px !important;border-bottom-right-radius:4px !important;border-bottom-left-radius:0}.duet-button.duet-button.input-button-primary .duet-button-icon.left.large,.duet-button.duet-button.input-button-primary .duet-button-icon.left.medium,.duet-button.duet-button.input-button-primary .duet-button-icon.left.small,.duet-button.duet-button.input-button-secondary .duet-button-icon.left.large,.duet-button.duet-button.input-button-secondary .duet-button-icon.left.medium,.duet-button.duet-button.input-button-secondary .duet-button-icon.left.small,.duet-button.duet-button.input-button-embedded .duet-button-icon.left.large,.duet-button.duet-button.input-button-embedded .duet-button-icon.left.medium,.duet-button.duet-button.input-button-embedded .duet-button-icon.left.small{position:absolute;top:50% !important;left:50% !important;padding:0;margin:0;transform:translateX(-50%) translateY(-50%)}.duet-button.duet-button.input-button-embedded{border-left-width:0}.duet-button.duet-button.input-button-left-primary,.duet-button.duet-button.input-button-left-secondary{border-top-left-radius:4px !important;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:4px !important}.duet-button.duet-button.input-button-left-primary .duet-button-contents,.duet-button.duet-button.input-button-left-secondary .duet-button-contents{position:static}.duet-button.duet-button.input-button-secondary,.duet-button.duet-button.input-button-left-secondary{border-color:rgb(127, 150, 165)}.duet-button.square{width:52px;min-width:auto !important;padding:0 !important;font-size:1rem;border-color:rgb(181, 198, 208);border-width:1px}.duet-button.square.duet-button-size-small{width:42px;font-size:0.875rem}.duet-button.square.duet-button-size-x-small{width:34px;font-size:0.875rem}.duet-button.square.duet-button-negative{color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179);border-color:rgb(0, 119, 179)}.duet-button.square:hover{outline:2px solid rgb(0, 119, 179);outline-offset:-2px;border-color:rgb(0, 119, 179)}.duet-button.square .duet-button-contents{gap:0}.duet-button[disabled],.duet-button[disabled]:hover,.duet-button.duet-button-negative[disabled],.duet-button.duet-button-negative[disabled]:hover{color:rgb(98, 121, 138) !important;cursor:not-allowed;outline:none !important;outline-color:rgb(212, 223, 229) !important;outline-color:rgb(212, 223, 229) !important;background:rgb(212, 223, 229) !important;border-color:rgb(212, 223, 229) !important;box-shadow:none !important}.duet-button-is-loading.primary,.duet-button-is-loading.input-button-primary{color:rgb(255, 255, 255)}.duet-button-is-loading.default{color:rgb(0, 119, 179)}.duet-button-is-loading .duet-button-contents{visibility:hidden;opacity:0}.duet-theme-turva .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(230, 23, 64) !important;border-radius:8px}.duet-theme-turva .duet-button.duet-button-size-medium{padding-right:24px;padding-left:24px;border-radius:8px}.duet-theme-turva .duet-button.duet-button-size-medium.icon-left{padding-left:14px}.duet-theme-turva .duet-button.duet-button-size-medium.icon-right{padding-right:14px}.duet-theme-turva .duet-button.duet-button-size-small{padding-right:18px;padding-left:18px;border-radius:8px}.duet-theme-turva .duet-button.duet-button-size-small.icon-left{padding-left:18px}.duet-theme-turva .duet-button.duet-button-size-small.icon-right{padding-right:18px}.duet-theme-turva .duet-button.default{color:rgb(230, 23, 64) !important;border-color:rgb(178, 194, 205)}.duet-theme-turva .duet-button.default:hover{outline-color:rgb(230, 23, 64);border-color:rgb(230, 23, 64)}.duet-theme-turva .duet-button.default.duet-button-negative{background-color:rgb(251, 225, 209) !important}.duet-theme-turva .duet-button.default.duet-button-negative:hover{color:rgb(230, 23, 64) !important;border-color:rgb(230, 23, 64)}.duet-theme-turva .duet-button.primary,.duet-theme-turva .duet-button.input-button-primary,.duet-theme-turva .duet-button.input-button-left-primary{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64);border-color:rgb(230, 23, 64)}.duet-theme-turva .duet-button.primary:hover,.duet-theme-turva .duet-button.input-button-primary:hover,.duet-theme-turva .duet-button.input-button-left-primary:hover{background:rgb(140, 0, 30);border-color:rgb(140, 0, 30)}.duet-theme-turva .duet-button.secondary,.duet-theme-turva .duet-button.input-button-secondary,.duet-theme-turva .duet-button.input-button-left-secondary,.duet-theme-turva .duet-button.input-button-embedded{color:rgb(23, 42, 59) !important;border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-button.secondary:hover,.duet-theme-turva .duet-button.input-button-secondary:hover,.duet-theme-turva .duet-button.input-button-left-secondary:hover,.duet-theme-turva .duet-button.input-button-embedded:hover{color:rgb(230, 23, 64) !important;border-color:rgb(230, 23, 64)}.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-left-secondary.duet-button-negative,.duet-theme-turva .duet-button.input-button-embedded.duet-button-negative{color:rgb(251, 225, 209) !important}.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-left-secondary.duet-button-negative:hover,.duet-theme-turva .duet-button.input-button-embedded.duet-button-negative:hover{color:rgb(230, 23, 64) !important;border-color:rgb(230, 23, 64)}.duet-theme-turva .duet-button.duet-button.input-button-primary,.duet-theme-turva .duet-button.duet-button.input-button-secondary,.duet-theme-turva .duet-button.duet-button.input-button-embedded{border-top-left-radius:0;border-bottom-left-radius:0}.duet-theme-turva .duet-button.duet-button.input-button-left-primary,.duet-theme-turva .duet-button.duet-button.input-button-left-secondary{border-top-right-radius:0;border-bottom-right-radius:0}.duet-theme-turva .duet-button.duet-button.input-button-secondary,.duet-theme-turva .duet-button.duet-button.input-button-left-secondary{border-color:rgb(120, 145, 164)}.duet-theme-turva .duet-button.negative{color:rgb(23, 42, 59) !important}.duet-theme-turva .duet-button.negative:hover{color:rgb(255, 255, 255) !important}.duet-theme-turva .duet-button.destructive-primary{color:rgb(255, 255, 255) !important;background:rgb(214, 28, 82);border-color:rgb(214, 28, 82)}.duet-theme-turva .duet-button.destructive-primary:hover{background:#ab1642}.duet-theme-turva .duet-button.destructive,.duet-theme-turva .duet-button.destructive-secondary{color:rgb(214, 28, 82) !important;background:rgb(255, 255, 255);border-color:rgb(214, 28, 82)}.duet-theme-turva .duet-button.destructive:hover,.duet-theme-turva .duet-button.destructive-secondary:hover{color:rgb(255, 255, 255) !important;background:#ab1642;border-color:#ab1642}.duet-theme-turva .duet-button.plain{color:rgb(230, 23, 64) !important;background:transparent;border-color:transparent}.duet-theme-turva .duet-button.plain.duet-button-negative{color:rgb(255, 255, 255) !important}.duet-theme-turva .duet-button.plain:hover{color:rgb(140, 0, 30) !important}.duet-theme-turva .duet-button.plain[disabled],.duet-theme-turva .duet-button.plain[disabled]:hover{color:rgb(95, 122, 143) !important;cursor:not-allowed;background:transparent !important;border-color:rgb(251, 225, 209) !important}.duet-theme-turva .duet-button.square{border-color:rgb(212, 221, 226)}.duet-theme-turva .duet-button.square.duet-button-negative{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64);border-color:rgb(230, 23, 64)}.duet-theme-turva .duet-button.square:hover{outline-color:rgb(230, 23, 64);border-color:rgb(230, 23, 64)}.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{color:rgb(120, 145, 164) !important;cursor:not-allowed;outline-color:rgb(212, 221, 226) !important;background:rgb(212, 221, 226) !important;border-color:rgb(212, 221, 226) !important}.duet-theme-turva .duet-button-is-loading.default{color:rgb(230, 23, 64)}";
5606
5639
 
5607
5640
  class DuetButton {
5608
5641
  constructor(hostRef) {
@@ -5664,7 +5697,7 @@ class DuetButton {
5664
5697
  */
5665
5698
  this.expand = false;
5666
5699
  /**
5667
- * Keep the button fixed width even on mobile viewports.
5700
+ * Keep the button fixed width even on mobile viewports. Fixed width is always used for variation plain.
5668
5701
  */
5669
5702
  this.fixed = false;
5670
5703
  /**
@@ -5917,7 +5950,7 @@ class DuetButton {
5917
5950
  "duet-m-0": this.margin === "none",
5918
5951
  "duet-small": this.size === "small",
5919
5952
  "duet-x-small": this.size === "x-small",
5920
- "duet-fixed": this.fixed,
5953
+ "duet-fixed": this.fixed || this.variation === "plain",
5921
5954
  "duet-expand": this.expand,
5922
5955
  [this.variation]: true,
5923
5956
  "input-button": (_b = this.variation) === null || _b === void 0 ? void 0 : _b.startsWith("input-button"),
@@ -6019,11 +6052,11 @@ class DuetCallout {
6019
6052
  <path d="M6.6591 0.557547L9.2031 2.33355C7.0911 5.21355 6.1311 7.18155 5.8431 8.90955C7.4751 9.34155 8.7231 10.5415 8.7231 12.6535C8.7231 15.2935 6.9471 16.9255 4.6431 16.9255C2.0511 16.9255 0.227096 15.1975 0.227096 12.2695C0.227096 8.28555 2.3871 4.34955 6.6591 0.557547ZM17.9871 8.95755C19.6191 9.34155 20.8671 10.5415 20.8671 12.6535C20.8671 15.2935 19.1391 16.9255 16.8351 16.9255C14.2431 16.9255 12.4191 15.1975 12.4191 12.2695C12.4191 8.28555 14.5791 4.34955 18.8511 0.557547L21.3951 2.33355C19.2351 5.21355 18.3231 7.18155 17.9871 8.95755Z"/>
6020
6053
  </svg>
6021
6054
  `;
6022
- return (hAsync(Host, { key: 'e0a035450d6e7305b25de43ed55f4ffe7a15a0e3' }, hAsync("div", { key: '6c5d998d494deab47f1384005e7d2dfb95246c7b', class: {
6055
+ return (hAsync(Host, { key: '70c2370b0a61707b44ed89544cf0ae0d3eb5b739' }, hAsync("div", { key: '440dfe7d27ede12ff24de94bd9b598b9a630fdf4', class: {
6023
6056
  "duet-callout": true,
6024
6057
  "duet-theme-turva": this.theme === "turva",
6025
6058
  "duet-m-0": this.margin === "none",
6026
- } }, hAsync("figure", { key: '48c6d6f720cd951a3e80e953265a1c79174c0dd6', class: "container" }, hAsync("duet-icon", { key: 'f25c2dbb92d9a7f05b11512f9ef73052585916a7', 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", { key: 'e01e4dcdc7992709803169f5fb85183134f7608f' }, hAsync("slot", { key: '7d23fc2421ababa106e834cbb1681d7b94137574' })), this.hasAuthorSlot && (hAsync("figcaption", { key: 'ccd723ba6d25df159a5826a0ab652cde0556659d', class: "author" }, hAsync("span", { key: '0daa1d1540484278f462a1f6ea258dd292f5548c' }, "\u2014 "), hAsync("slot", { key: '47f2ade5a9f6e081482c243fa52942de8fa523e8', name: "author" })))))));
6059
+ } }, hAsync("figure", { key: 'b3aa896544cb2cc6021eb50ea96e317fd256d266', class: "container" }, hAsync("duet-icon", { key: 'cdffa280e6126af9e8e77bc6a96821cf7b229796', 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", { key: '8b3d9b55675179e4ed743459009d4f278bf2b30a' }, hAsync("slot", { key: '41a60c64671630e6199cb5bcc94a9d19f530b8f3' })), this.hasAuthorSlot && (hAsync("figcaption", { key: '80d6481648829aead64c88db38312ee34253424e', class: "author" }, hAsync("span", { key: '2bf9d1de8bfa5456ea8c69c9b2731e2b1a4bbef3' }, "\u2014 "), hAsync("slot", { key: '091fcf50b602dccfb2d8ae005999539a0dde8efb', name: "author" })))))));
6027
6060
  }
6028
6061
  get element() { return getElement(this); }
6029
6062
  static get style() { return duetCalloutCss; }
@@ -6111,7 +6144,7 @@ function requireActionArrowUp () {
6111
6144
  var actionArrowUpExports = requireActionArrowUp();
6112
6145
  var arrowUpIcon = /*@__PURE__*/getDefaultExportFromCjs(actionArrowUpExports);
6113
6146
 
6114
- const duetCardCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:20px !important;display:flex;width:100%;vertical-align:top}:host(.duet-card-info){margin-bottom:16px !important}:host(.duet-m-0){margin:0 !important}:host{--duet-card-border-radius:12px}@media (min-width: 36em){:host{--duet-card-border-radius:16px}}.duet-card{padding:20px !important;position:relative;display:flex;flex-direction:column;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-style:normal;font-weight:400;line-height:1.5;color:rgb(8, 42, 77);text-decoration:none;border-radius:var(--duet-card-border-radius);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)}.duet-card.duet-p-0{padding:0 !important}.duet-card.duet-m-0{margin:0 !important}.duet-card:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-card:focus,.duet-card:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}@media (max-width: 20.5em){.duet-card.shadow-xxx-small{box-shadow:none}}@media (max-width: 22.5em){.duet-card.shadow-xx-small{box-shadow:none}}@media (max-width: 35.9375em){.duet-card.shadow-x-small{box-shadow:none}}@media (min-width: 36em){.duet-card.shadow-small{box-shadow:none}}@media (min-width: 48em){.duet-card.shadow-medium{box-shadow:none}}@media (min-width: 62em){.duet-card.shadow-large{box-shadow:none}}@media (min-width: 64.0625em){.duet-card.shadow-x-large{box-shadow:none}}@media (min-width: 76.25em){.duet-card.shadow-xx-large{box-shadow:none}}@media (min-width: 106.25em){.duet-card.shadow-xxx-large{box-shadow:none}}@media (min-width: 36em){.duet-card{padding:28px !important}}@media (min-width: 36em){.duet-card.xx-small{padding:12px !important}}@media (min-width: 36em){.duet-card.x-small{padding:20px !important}}@media (min-width: 36em){.duet-card.medium{padding:28px !important}}@media (min-width: 48em){.duet-card.medium{padding:36px !important}}@media (min-width: 36em){.duet-card.large{padding:36px !important}}@media (min-width: 48em){.duet-card.large{padding:48px !important}}@media (min-width: 36em){.duet-card.x-large{padding:48px !important}}@media (min-width: 48em){.duet-card.x-large{padding:72px !important}}.duet-card.duet-card-collapsed{padding-bottom:0 !important}@media (min-width: 36em){.duet-card.duet-card-collapsed{padding-bottom:0 !important}}.duet-card.info{background:rgba(4, 81, 128, 0.04) !important;box-shadow:none}.duet-card.plain{box-shadow:none}.duet-card.plain:not(.duet-card-has-bg){background:transparent !important}.duet-card-heading-grid{display:flex;flex-direction:row}.duet-card-icon{align-self:center}.duet-card-heading-text{flex:1;word-break:break-word}.duet-card-secondary-heading{font-size:1rem;font-weight:600;word-break:break-word}.duet-card-secondary-heading--inline{display:block;flex:1;align-self:flex-start;line-height:1.875;text-align:right}@media (max-width: 22.5em){.duet-card-secondary-heading--inline{display:none}}.duet-card-secondary-heading--new-line{display:none}@media (max-width: 22.5em){.duet-card-secondary-heading--new-line{display:block}}.duet-card-heading{position:relative;display:block;padding:16px 20px;margin:-20px -20px 20px;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-weight:800;color:rgb(8, 42, 77);border-bottom:1px solid rgb(212, 223, 229);border-radius:var(--duet-card-border-radius) var(--duet-card-border-radius) 0 0}@media (min-width: 36em){.duet-card-heading{padding:15px 28px 16px !important;margin:-28px -28px 20px}.none .duet-card-heading{padding:0 !important;margin:0}}.duet-card-collapsed .duet-card-heading{border-radius:var(--duet-card-border-radius)}.duet-card-image-mask+.duet-card-heading{border-radius:0}.duet-card-heading.duet-card-heading--collapsible{cursor:pointer}.duet-card-heading.duet-card-heading--collapsible button{width:100%;font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;text-align:left;cursor:pointer}.duet-card-heading.duet-card-heading--collapsible button:focus{outline:0}:host(.user-is-tabbing) .duet-card-heading.duet-card-heading--collapsible button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva :host(.user-is-tabbing) .duet-card-heading.duet-card-heading--collapsible button:focus,:host(.user-is-tabbing) .duet-card-heading.duet-card-heading--collapsible button:focus.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}:host(.user-is-tabbing) .duet-card-heading.duet-card-heading--collapsible button:focus{border-radius:var(--duet-card-border-radius)}.duet-card-collapsed .duet-card-heading{margin-bottom:0 !important;border-bottom:0 !important}@media (min-width: 36em){.xx-small .duet-card-heading{padding:6px 12px 7px !important;margin:-12px -12px 12px}}@media (min-width: 48em){.xx-small .duet-card-heading{padding:6px 12px 7px !important;margin:-12px -12px 12px}}@media (min-width: 36em){.x-small .duet-card-heading{padding:10px 20px 11px !important;margin:-20px -20px 20px}}@media (min-width: 48em){.x-small .duet-card-heading{padding:10px 20px 11px !important;margin:-20px -20px 20px}}.medium .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.medium .duet-card-heading{padding:15px 28px 16px !important;margin:-28px -28px 20px}}@media (min-width: 48em){.medium .duet-card-heading{padding:19px 36px 20px !important;margin:-36px -36px 28px}}.large .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.large .duet-card-heading{padding:19px 36px 20px !important;margin:-36px -36px 28px}}@media (min-width: 48em){.large .duet-card-heading{padding:26px 48px 27px !important;margin:-48px -48px 36px}}.x-large .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.x-large .duet-card-heading{padding:26px 48px 27px !important;margin:-48px -48px 36px}}@media (min-width: 48em){.x-large .duet-card-heading{padding:39px 72px 40px !important;margin:-72px -72px 48px}}.none .duet-card-heading{padding:0;margin:0}.duet-card-footer{padding:20px;margin:20px -20px -20px;font-size:0.875rem;line-height:1.25;background:rgb(245, 248, 250);border-bottom-right-radius:4px;border-bottom-left-radius:4px}@media (min-width: 36em){.duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 48em){.duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 36em){.xx-small .duet-card-footer{padding:10px 20px 11px !important;padding-left:12px !important;margin:12px -12px -12px}}@media (min-width: 36em){.x-small .duet-card-footer{padding:15px 28px 16px !important;padding-left:20px !important;margin:20px -20px -20px}}@media (min-width: 36em){.medium .duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 48em){.medium .duet-card-footer{padding:19px 36px 20px !important;margin:28px -36px -36px}}@media (min-width: 36em){.large .duet-card-footer{padding:19px 36px 20px !important;margin:28px -36px -36px}}@media (min-width: 48em){.large .duet-card-footer{padding:26px 48px 27px !important;margin:36px -48px -48px}}@media (min-width: 36em){.x-large .duet-card-footer{padding:26px 48px 27px !important;margin:36px -48px -48px}}@media (min-width: 48em){.x-large .duet-card-footer{padding:39px 72px 40px !important;margin:48px -72px -72px}}.none .duet-card-footer{padding:0;margin:0}.duet-card-content{flex:1 1 auto;width:100%}.duet-card-collapsed .duet-card-content{display:none}.duet-card-caret{position:relative;top:6px;align-self:flex-start;transition:300ms ease}[aria-expanded=false] .duet-card-caret{transform:rotate(-180deg)}.duet-card-image-mask{position:relative;width:calc(100% + 40px);margin:-20px 0 20px -20px;overflow:hidden;border-top-left-radius:4px;border-top-right-radius:4px}@media (min-width: 36em){.small .duet-card-image-mask{width:calc(100% + 56px);margin:-28px 0 28px -28px}}@media (min-width: 36em){.medium .duet-card-image-mask{width:calc(100% + 56px);margin:-28px 0 28px -28px}}@media (min-width: 48em){.medium .duet-card-image-mask{width:calc(100% + 72px);margin:-36px 0 28px -36px}}@media (min-width: 36em){.large .duet-card-image-mask{width:calc(100% + 72px);margin:-36px 0 36px -36px}}@media (min-width: 48em){.large .duet-card-image-mask{width:calc(100% + 96px);margin:-48px 0 36px -48px}}@media (min-width: 36em){.x-large .duet-card-image-mask{width:calc(100% + 96px);margin:-48px 0 36px -48px}}@media (min-width: 48em){.x-large .duet-card-image-mask{width:calc(100% + 144px);margin:-72px 0 36px -72px}}.none .duet-card-image-mask{width:100%;padding:0;margin:0}.duet-card-image{display:block;width:102%;min-width:1px;max-width:102%;height:auto;min-height:1px;margin-left:-1%;transform:scale(1.0001);transition:transform 300ms ease}a.duet-card{transition:box-shadow 300ms ease, background-position 300ms ease}a.duet-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)}a.duet-card:hover .duet-card-image{transform:scale(1.024)}.duet-theme-turva a.duet-card:hover{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)}a.duet-card:active{transform:translateY(1px);transition:none}.duet-card.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 42, 59);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)}.duet-card.duet-theme-turva.info{background:rgb(253, 247, 242) !important}.duet-card.duet-theme-turva .duet-card-heading{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, 42, 59);border-color:rgb(212, 221, 226)}.duet-card.duet-theme-turva .duet-card-footer{background:rgb(245, 246, 247)}";
6147
+ const duetCardCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:20px !important;display:flex;width:100%;vertical-align:top}:host(.duet-card-info){margin-bottom:16px !important}:host(.duet-m-0){margin:0 !important}:host{--duet-card-border-radius:12px}@media (min-width: 36em){:host{--duet-card-border-radius:16px}}.duet-card{padding:20px !important;position:relative;display:flex;flex-direction:column;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-style:normal;font-weight:400;line-height:1.5;color:rgb(8, 42, 77);text-decoration:none;border-radius:var(--duet-card-border-radius);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)}.duet-card.duet-p-0{padding:0 !important}.duet-card.duet-m-0{margin:0 !important}.duet-card:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-card:focus,.duet-card:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}@media (max-width: 20.5em){.duet-card.shadow-xxx-small{box-shadow:none}}@media (max-width: 22.5em){.duet-card.shadow-xx-small{box-shadow:none}}@media (max-width: 35.9375em){.duet-card.shadow-x-small{box-shadow:none}}@media (min-width: 36em){.duet-card.shadow-small{box-shadow:none}}@media (min-width: 48em){.duet-card.shadow-medium{box-shadow:none}}@media (min-width: 62em){.duet-card.shadow-large{box-shadow:none}}@media (min-width: 64.0625em){.duet-card.shadow-x-large{box-shadow:none}}@media (min-width: 76.25em){.duet-card.shadow-xx-large{box-shadow:none}}@media (min-width: 106.25em){.duet-card.shadow-xxx-large{box-shadow:none}}@media (min-width: 36em){.duet-card{padding:28px !important}}@media (min-width: 36em){.duet-card.xx-small{padding:12px !important}}@media (min-width: 36em){.duet-card.x-small{padding:20px !important}}@media (min-width: 36em){.duet-card.medium{padding:28px !important}}@media (min-width: 48em){.duet-card.medium{padding:36px !important}}@media (min-width: 36em){.duet-card.large{padding:36px !important}}@media (min-width: 48em){.duet-card.large{padding:48px !important}}@media (min-width: 36em){.duet-card.x-large{padding:48px !important}}@media (min-width: 48em){.duet-card.x-large{padding:72px !important}}.duet-card.duet-card-collapsed{padding-bottom:0 !important}@media (min-width: 36em){.duet-card.duet-card-collapsed{padding-bottom:0 !important}}.duet-card.info{background:rgba(4, 81, 128, 0.04) !important;box-shadow:none}.duet-card.plain{box-shadow:none}.duet-card.plain:not(.duet-card-has-bg){background:transparent !important}.duet-card-heading-grid{display:flex;flex-direction:row}.duet-card-icon{align-self:center}.duet-card-heading-text{flex:1;word-break:break-word}.duet-card-secondary-heading{font-size:1rem;font-weight:600;word-break:break-word}.duet-card-secondary-heading--inline{display:block;flex:1;align-self:flex-start;line-height:1.875;text-align:right}@media (max-width: 22.5em){.duet-card-secondary-heading--inline{display:none}}.duet-card-secondary-heading--new-line{display:none}@media (max-width: 22.5em){.duet-card-secondary-heading--new-line{display:block}}.duet-card-heading{position:relative;display:block;padding:16px 20px;margin:-20px -20px 20px;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-weight:800;color:rgb(8, 42, 77);border-bottom:1px solid rgb(212, 223, 229);border-radius:var(--duet-card-border-radius) var(--duet-card-border-radius) 0 0}@media (min-width: 36em){.duet-card-heading{padding:15px 28px 16px !important;margin:-28px -28px 20px}.none .duet-card-heading{padding:0 !important;margin:0}}.duet-card-collapsed .duet-card-heading{border-radius:var(--duet-card-border-radius)}.duet-card-image-mask+.duet-card-heading{border-radius:0}.duet-card-heading.duet-card-heading--collapsible{cursor:pointer}.duet-card-heading.duet-card-heading--collapsible button{width:100%;font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;text-align:left;cursor:pointer}.duet-card-heading.duet-card-heading--collapsible button:focus{outline:0}:host(.user-is-tabbing) .duet-card-heading.duet-card-heading--collapsible button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva :host(.user-is-tabbing) .duet-card-heading.duet-card-heading--collapsible button:focus,:host(.user-is-tabbing) .duet-card-heading.duet-card-heading--collapsible button:focus.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}:host(.user-is-tabbing) .duet-card-heading.duet-card-heading--collapsible button:focus{border-radius:var(--duet-card-border-radius)}.duet-card-collapsed .duet-card-heading{margin-bottom:0 !important;border-bottom:0 !important}@media (min-width: 36em){.xx-small .duet-card-heading{padding:6px 12px 7px !important;margin:-12px -12px 12px}}@media (min-width: 48em){.xx-small .duet-card-heading{padding:6px 12px 7px !important;margin:-12px -12px 12px}}@media (min-width: 36em){.x-small .duet-card-heading{padding:10px 20px 11px !important;margin:-20px -20px 20px}}@media (min-width: 48em){.x-small .duet-card-heading{padding:10px 20px 11px !important;margin:-20px -20px 20px}}.medium .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.medium .duet-card-heading{padding:15px 28px 16px !important;margin:-28px -28px 20px}}@media (min-width: 48em){.medium .duet-card-heading{padding:19px 36px 20px !important;margin:-36px -36px 28px}}.large .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.large .duet-card-heading{padding:19px 36px 20px !important;margin:-36px -36px 28px}}@media (min-width: 48em){.large .duet-card-heading{padding:26px 48px 27px !important;margin:-48px -48px 36px}}.x-large .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.x-large .duet-card-heading{padding:26px 48px 27px !important;margin:-48px -48px 36px}}@media (min-width: 48em){.x-large .duet-card-heading{padding:39px 72px 40px !important;margin:-72px -72px 48px}}.none .duet-card-heading{padding:0;margin:0}.duet-card-footer{padding:20px;margin:20px -20px -20px;font-size:0.875rem;line-height:1.25;background:rgb(245, 248, 250);border-bottom-right-radius:4px;border-bottom-left-radius:4px}@media (min-width: 36em){.duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 48em){.duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 36em){.xx-small .duet-card-footer{padding:10px 20px 11px !important;padding-left:12px !important;margin:12px -12px -12px}}@media (min-width: 36em){.x-small .duet-card-footer{padding:15px 28px 16px !important;padding-left:20px !important;margin:20px -20px -20px}}@media (min-width: 36em){.medium .duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 48em){.medium .duet-card-footer{padding:19px 36px 20px !important;margin:28px -36px -36px}}@media (min-width: 36em){.large .duet-card-footer{padding:19px 36px 20px !important;margin:28px -36px -36px}}@media (min-width: 48em){.large .duet-card-footer{padding:26px 48px 27px !important;margin:36px -48px -48px}}@media (min-width: 36em){.x-large .duet-card-footer{padding:26px 48px 27px !important;margin:36px -48px -48px}}@media (min-width: 48em){.x-large .duet-card-footer{padding:39px 72px 40px !important;margin:48px -72px -72px}}.none .duet-card-footer{padding:0;margin:0}.duet-card-content{flex:1 1 auto;width:100%}.duet-card-collapsed .duet-card-content{display:none}.duet-card-caret{position:relative;top:6px;align-self:flex-start;transition:300ms ease}[aria-expanded=false] .duet-card-caret{transform:rotate(-180deg)}.duet-card-image-mask{position:relative;width:calc(100% + 40px);margin:-20px 0 20px -20px;overflow:hidden;border-top-left-radius:4px;border-top-right-radius:4px}@media (min-width: 36em){.small .duet-card-image-mask{width:calc(100% + 56px);margin:-28px 0 28px -28px}}@media (min-width: 36em){.medium .duet-card-image-mask{width:calc(100% + 56px);margin:-28px 0 28px -28px}}@media (min-width: 48em){.medium .duet-card-image-mask{width:calc(100% + 72px);margin:-36px 0 28px -36px}}@media (min-width: 36em){.large .duet-card-image-mask{width:calc(100% + 72px);margin:-36px 0 36px -36px}}@media (min-width: 48em){.large .duet-card-image-mask{width:calc(100% + 96px);margin:-48px 0 36px -48px}}@media (min-width: 36em){.x-large .duet-card-image-mask{width:calc(100% + 96px);margin:-48px 0 36px -48px}}@media (min-width: 48em){.x-large .duet-card-image-mask{width:calc(100% + 144px);margin:-72px 0 36px -72px}}.none .duet-card-image-mask{width:100%;padding:0;margin:0}.duet-card-image-mask picture{display:block}.duet-card-image{display:block;width:102%;min-width:1px;max-width:102%;height:auto;min-height:1px;margin-left:-1%;transform:scale(1.0001);transition:transform 300ms ease}a.duet-card{transition:box-shadow 300ms ease, background-position 300ms ease}a.duet-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)}a.duet-card:hover .duet-card-image{transform:scale(1.024)}.duet-theme-turva a.duet-card:hover{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)}a.duet-card:active{transform:translateY(1px);transition:none}.duet-card.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 42, 59);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)}.duet-card.duet-theme-turva.info{background:rgb(253, 247, 242) !important}.duet-card.duet-theme-turva .duet-card-heading{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, 42, 59);border-color:rgb(212, 221, 226)}.duet-card.duet-theme-turva .duet-card-footer{background:rgb(245, 246, 247)}";
6115
6148
 
6116
6149
  /**
6117
6150
  * @slot unnamed default slot - The component’s primary content. All child nodes that do not have a slot attribute defined are inserted into this primary slot.
@@ -6256,10 +6289,20 @@ class DuetCard {
6256
6289
  const styles = {
6257
6290
  backgroundColor: getColorByName(this.background),
6258
6291
  };
6259
- return (hAsync(Host, { key: '526da1b920f1be4a18d200ab81bc1951649cf3b2', class: {
6292
+ const pictureSource = {
6293
+ img: {
6294
+ src: this.image,
6295
+ alt: this.imageAlt || "",
6296
+ loading: "lazy",
6297
+ class: "duet-card-image",
6298
+ role: this.imageAlt ? undefined : "presentation",
6299
+ },
6300
+ sources: parsePossibleJSON(this.sources),
6301
+ };
6302
+ return (hAsync(Host, { key: 'd61c941d4cbcd29c34375c93cf2c414b553e6825', class: {
6260
6303
  "duet-m-0": this.margin === "none",
6261
6304
  "duet-card-info": this.variation === "info",
6262
- } }, hAsync(TagName, { key: '1cfae581c87423ea9d466fd39084b28505b01a77', href: this.url, style: styles, ref: card => (this.nativeCard = card), "aria-label": this.accessibleLabel, class: {
6305
+ } }, hAsync(TagName, { key: '3e8e63bc3077e7ee7008816f3f1c0928a9ac6cad', href: this.url, style: styles, ref: card => (this.nativeCard = card), "aria-label": this.accessibleLabel, class: {
6263
6306
  "duet-card": true,
6264
6307
  [this.padding]: true,
6265
6308
  [this.variation]: true,
@@ -6269,7 +6312,7 @@ class DuetCard {
6269
6312
  "duet-card-has-bg": this.background !== "gray-lightest",
6270
6313
  "duet-card-has-icon": !!this.icon,
6271
6314
  "duet-card-collapsed": this.collapsible && !this.open,
6272
- } }, this.image && (hAsync("div", { key: 'e310f18c792507a78333290fc56a3866efe302ca', class: "duet-card-image-mask" }, hAsync("img", { key: '84eaf59d2df2a9dd85cf0703b9b1641dff78c473', src: this.image, class: "duet-card-image", loading: "lazy", alt: this.imageAlt || "", role: this.imageAlt ? null : "presentation" }))), (this.heading || this.hasHeadingSlot) && this.renderHeading(), hAsync("div", { key: 'ef549d1a5f7efeb35a2fd0ca6ab2c22566955029', class: "duet-card-content", id: this.cardId }, hAsync("slot", { key: '746a25475887db3e0ba914e273eb32571accbb56' }), this.hasFooter && (hAsync("div", { key: 'd30c96b12ae73fc4bdfbfd22f25b862287b8fce5', class: "duet-card-footer" }, hAsync("slot", { key: '887615186784331005c099562f296bdd3d216c98', name: "footer" })))))));
6315
+ } }, this.image && (hAsync("div", { key: '430d6550590b6ba8ff0582c6bfe1de5556149597', class: "duet-card-image-mask" }, hAsync(DuetPicture, Object.assign({ key: 'b2c6457f6fad9275a9fdaff2b1a3a492dc08a1e1' }, pictureSource)))), (this.heading || this.hasHeadingSlot) && this.renderHeading(), hAsync("div", { key: '705605a43265107ea95fa7d9147cb7cbe82ad586', class: "duet-card-content", id: this.cardId }, hAsync("slot", { key: '2eeb551820975ccbcb3c72f4c2ae4f315848d024' }), this.hasFooter && (hAsync("div", { key: '4ef3a54510d5747516a767282d7392e81eb7ced2', class: "duet-card-footer" }, hAsync("slot", { key: 'f0f8e31a0beba199f3826ec58d277e848134ce38', name: "footer" })))))));
6273
6316
  }
6274
6317
  get element() { return getElement(this); }
6275
6318
  static get style() { return duetCardCss; }
@@ -6289,6 +6332,7 @@ class DuetCard {
6289
6332
  "iconColor": [513, "icon-color"],
6290
6333
  "image": [1],
6291
6334
  "imageAlt": [1, "image-alt"],
6335
+ "sources": [1],
6292
6336
  "background": [1],
6293
6337
  "padding": [1],
6294
6338
  "margin": [1],
@@ -6530,11 +6574,11 @@ class DuetCheckmark {
6530
6574
  inheritGlobalTheme(this);
6531
6575
  }
6532
6576
  render() {
6533
- return (hAsync(Host, { key: '9f320db3e8549d7d12de134f013789c1f412b947', class: { "duet-theme-turva": this.theme === "turva" } }, hAsync("div", { key: 'a8fe605a230fd34d9714bd5194c281b87394bd24', role: this.presentationOnly ? "presentation" : null, class: { checked: this.checked } }, hAsync("div", { key: '91fabdc145a023efc8317ef543296d4e5e2509d9', class: {
6577
+ return (hAsync(Host, { key: '588662850d35631ef6cb3c242d050f4049af0f59', class: { "duet-theme-turva": this.theme === "turva" } }, hAsync("div", { key: '301f41ca7f4d90729bffe6940380d56b4d226407', role: this.presentationOnly ? "presentation" : null, class: { checked: this.checked } }, hAsync("div", { key: 'b0c88fd8e22781c438ec744fc2b24b6263ecf272', class: {
6534
6578
  "duet-checkmark-container": true,
6535
6579
  center: this.center,
6536
6580
  "duet-checkmark-radio": this.type === "radio",
6537
- } }, this.checked && hAsync("div", { key: '9a418c3b3cd7c451f52003eb5efe16e90a4d5841', class: "duet-checkmark" })))));
6581
+ } }, this.checked && hAsync("div", { key: '389644f6a51bf281434c674aefc560e35dec4a6e', class: "duet-checkmark" })))));
6538
6582
  }
6539
6583
  static get style() { return duetCheckmarkCss; }
6540
6584
  static get cmpMeta() { return {
@@ -6582,9 +6626,11 @@ class DuetChip {
6582
6626
  /**
6583
6627
  * Variation of the chip.
6584
6628
  * Button should be used to present a list of actions or suggestions. It behaves like a button and must be used
6585
- * together with a click handler. Filter acts like a checkbox, it can be toggled on or off, and it should be
6586
- * used with a value. Input represents items input by the user, and the chip can be removed with a click.
6587
- * Radio behaves like a radio button, it can be toggled on or off, and it should be used with a value and name.
6629
+ * together with a click handler. Filter acts like a checkbox, it can be toggled on or off, and it should be used with
6630
+ * a value. Filter can also be used with a popup-menu - then the initial text describes the type of category of
6631
+ * filtering, and the selection from the popup-menu sets the filter value. Input represents items input by the user,
6632
+ * and the chip can be removed with a click. Radio behaves like a radio button, it can be toggled on or off in a group,
6633
+ * and it should be used with a value and name.
6588
6634
  */
6589
6635
  this.variation = "button";
6590
6636
  /**
@@ -6618,6 +6664,10 @@ class DuetChip {
6618
6664
  * Use this property to add an aria-haspopup attribute.
6619
6665
  */
6620
6666
  this.accessiblePopup = "false";
6667
+ /**
6668
+ * Indicates the id or a string of space seperated ids of a component(s) that describes the input.
6669
+ */
6670
+ this.accessibleDescribedBy = "";
6621
6671
  this.enforceNoDisabledSelected = () => {
6622
6672
  if (this.disabled && this.checked) {
6623
6673
  console.error("Duet error: pre-selected chip may not be disabled");
@@ -6649,6 +6699,9 @@ class DuetChip {
6649
6699
  radioInput.value = this.value;
6650
6700
  radioInput.checked = this.checked;
6651
6701
  radioInput.ariaLabel = this.element.textContent;
6702
+ if (!!this.accessibleDescribedBy) {
6703
+ radioInput.setAttribute("aria-describedby", this.accessibleDescribedBy);
6704
+ }
6652
6705
  if (slotInput) {
6653
6706
  this.radioInputListenersRemove(radioInput);
6654
6707
  }
@@ -6658,13 +6711,15 @@ class DuetChip {
6658
6711
  this.radioInputListenersAdd(radioInput);
6659
6712
  this.focusableElement = radioInput;
6660
6713
  };
6714
+ this.originalFilterChipText = "";
6715
+ this.originalFilterChipValue = "";
6661
6716
  this.popupSetUp = () => {
6662
6717
  const popup = document.querySelector(`duet-popup-menu#${this.popup}`);
6663
6718
  if (popup) {
6664
6719
  this.popupElement = popup;
6665
6720
  popup.controller = this.element;
6666
- const originalText = this.element.textContent;
6667
- const originalValue = this.value;
6721
+ this.originalFilterChipText = this.element.textContent;
6722
+ this.originalFilterChipValue = this.value;
6668
6723
  if (!popup.id) {
6669
6724
  popup.id = "popup-menu";
6670
6725
  }
@@ -6689,8 +6744,8 @@ class DuetChip {
6689
6744
  }
6690
6745
  else {
6691
6746
  clearActive();
6692
- this.element.textContent = originalText;
6693
- this.value = originalValue;
6747
+ this.element.textContent = this.originalFilterChipText;
6748
+ this.value = this.originalFilterChipValue;
6694
6749
  this.checked = false;
6695
6750
  }
6696
6751
  this.emitChange(evt);
@@ -6757,16 +6812,14 @@ class DuetChip {
6757
6812
  }
6758
6813
  };
6759
6814
  /**
6760
- * Stop propagation and prevent default if popup is present, as the popup controls value and checked state.
6815
+ * Stop prevent default if popup is present, as the popup controls value and checked state.
6761
6816
  */
6762
6817
  this.onFilterClick = (evt) => {
6763
6818
  if (this.disabled) {
6764
- evt.stopPropagation();
6765
6819
  evt.preventDefault();
6766
6820
  return;
6767
6821
  }
6768
6822
  if (this.popupElement) {
6769
- evt.stopPropagation();
6770
6823
  evt.preventDefault();
6771
6824
  this.popupElement.toggle();
6772
6825
  }
@@ -6775,7 +6828,6 @@ class DuetChip {
6775
6828
  * Remove input chip
6776
6829
  */
6777
6830
  this.onRemoveClick = (evt) => {
6778
- evt === null || evt === void 0 ? void 0 : evt.stopPropagation();
6779
6831
  evt === null || evt === void 0 ? void 0 : evt.preventDefault();
6780
6832
  this.duetRemove.emit({
6781
6833
  originalEvent: evt,
@@ -6844,6 +6896,11 @@ class DuetChip {
6844
6896
  getAccessibleInputChipLabel() {
6845
6897
  return `${this.element.textContent}${this.selected ? ` (${getLocaleString(this.selectedForDeletionLabels)}) ` : ""},`;
6846
6898
  }
6899
+ getAccessibleFilterLabel() {
6900
+ return this.value !== this.originalFilterChipValue
6901
+ ? `${this.originalFilterChipText}: ${this.element.textContent}`
6902
+ : undefined;
6903
+ }
6847
6904
  /**
6848
6905
  * Sets focus. Use this method instead of the global focus().
6849
6906
  */
@@ -6888,7 +6945,7 @@ class DuetChip {
6888
6945
  onBlur: this.onBlur,
6889
6946
  ref: el => (this.focusableElement = el),
6890
6947
  };
6891
- return (hAsync(Host, { key: 'a02dfd14dbc6adb2b4603f1032071f973ed2ccde', class: { [this.variation]: true } }, this.variation === "button" && (hAsync("span", { key: 'f6f837561846f06857082a732a01dc00be276bab', class: classes }, hAsync("button", Object.assign({ key: '614901de9dce1a3613e710f2144dd9cd8f3e635a', id: identifier, "aria-label": this.accessibleLabel, "aria-haspopup": this.getAccessiblePopup(), "aria-expanded": this.getAccessibleExpanded(), "aria-disabled": this.disabled ? "true" : undefined, name: this.name, value: this.value, onClick: this.disabled ? evt => evt.stopPropagation() : undefined }, focusHandlers), hAsync("span", { key: 'f0bbf7f4631fb86dc23a381c25c03cabe947cc3e', class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { key: '6a7c79b76c0fd5d06b4b4d3f6640459cd6d6298d', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", { key: '397dbf6b64587f75b1fc3f3d3f0bf12a0e4df881' })))), this.variation === "input" && (hAsync("span", { key: '5ee6a9d0856e2879420676696e360c78205041cc', class: classes, "aria-label": this.getAccessibleInputChipLabel() }, hAsync("button", Object.assign({ key: '4bbbbdece24e710ce9933ff9f91a9c800b3e58fe', id: identifier, class: "duet-chip-input-button", value: this.value, "aria-label": this.accessibleLabel, onMouseOver: () => (this.inputChipHover = true), onMouseOut: () => (this.inputChipHover = false), onClick: () => (this.selected = !this.selected) }, focusHandlers), hAsync("span", { key: 'd1aef801dcf90532b29fc97c01b7456d8487f44a', class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { key: 'a63f98e142a1a3b23fc95d5fc1da841d377e10ce', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", { key: '11f084e182d0c9d6aa3662bcce61235e8ec76fcf' })), hAsync("button", { key: '777701d86d7a3c4dc31e94d11e3e127ed7d2e1fd', class: "duet-chip-remove-button", "aria-label": this.getAccessibleDeleteLabel(), onClick: this.onRemoveClick, onFocus: () => (this.inputChipDeleteFocus = true), onBlur: () => (this.inputChipDeleteFocus = false), ref: el => (this.deleteButtonElement = el) }, hAsync("duet-icon", { key: '856fed5273e55797d4824c153cf2cb3278e9a2b4', name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (hAsync("span", { key: '679cda39bb299541877fe34081bc414119d49455', class: classes }, hAsync("input", Object.assign({ key: '7ccb0cad55edef64e3d261416384871b5474908e', "aria-haspopup": this.getAccessiblePopup(), "aria-controls": (_a = this.popupElement) === null || _a === void 0 ? void 0 : _a.id, "aria-expanded": this.getAccessibleExpanded(), "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "checkbox", name: this.name, value: this.value, checked: this.checked, onClick: this.onFilterClick, onChange: this.onFilterChange }, focusHandlers)), hAsync("label", { key: 'c0bc9afaac898ec41d39ae2fd4908389b3ac065a', htmlFor: identifier }, this.icon && (hAsync("span", { key: '15038fc3a98b2486a950d1b64d2b54ee6e479393', class: "duet-chip-icon-container" }, hAsync("duet-icon", { key: '592062e0add70bea207fef298935a3c2d0a6fdb4', name: this.icon, size: this.size === "large" ? "small" : "x-small", margin: "none", color: "currentColor" }), hAsync("duet-icon", { key: 'e55ffd29e3d14b71be6c15f59bc36395d5868269', name: "messaging-checked-small", size: this.size === "large" ? "x-small" : "xx-small", margin: "none", color: "currentColor", class: "check-mark" }))), hAsync("slot", { key: '5aab1d1c1dfae62c0801d8b726cd78ce24fb8c2d' }), this.popupElement && (hAsync("span", { key: '8ce9e5d7685346af76deb8d9561e149033b723c5', class: "duet-chip-popup-disclosure" }, hAsync("duet-icon", { key: 'a6a23f49aa4b6a182edd3b135b695a42089b8c5a', name: "action-arrow-down-small", size: this.size === "large" ? "xx-small" : "xxx-small", margin: "none", color: "currentColor" })))))), this.variation === "radio" && (hAsync("span", { key: '6d61938382d8ff58e4a817cce31928d191cf5abb', class: classes }, hAsync("slot", { key: '72b0c769e2bee8de5fc6f834232aae55555e7835', name: "input" }), hAsync("label", { key: '3ad924385c4d43e905cc42efaa016fd90e3854b5', htmlFor: identifier }, this.icon && (hAsync("span", { key: 'e5d698e18b0bf9e37db7b13fc4a96124736be144', class: "duet-chip-icon-container" }, hAsync("duet-icon", { key: '3101dbabb443a5b23cc7c94ad5bbdb0fbbcc930b', name: this.icon, size: this.size === "large" ? "small" : "x-small", margin: "none", color: "currentColor" }), hAsync("duet-icon", { key: '0084200969cb3a17c048869ba10fdefd28dbc7ed', name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" }))), hAsync("slot", { key: 'e43b1bdf08e27bf2dcc164a45bf088451b742e88' }))))));
6948
+ return (hAsync(Host, { key: '84203a4f6d7de284823eb560bfb95b2aec1ac5e4', class: { [this.variation]: true } }, this.variation === "button" && (hAsync("span", { key: '3c735a109cf161c40ff2eb4cdd3ab6ae9ccd07f1', class: classes }, hAsync("button", Object.assign({ key: 'd91978a69db645b988514f9fe147ff6a0e618f06', id: identifier, "aria-label": this.accessibleLabel, "aria-describedby": this.accessibleDescribedBy || undefined, "aria-haspopup": this.getAccessiblePopup(), "aria-expanded": this.getAccessibleExpanded(), "aria-disabled": this.disabled ? "true" : undefined, name: this.name, value: this.value, onClick: this.disabled ? evt => evt.stopPropagation() : undefined }, focusHandlers), hAsync("span", { key: '00a9bfa1e9b1654a6b1bdbd47298f54ccdc445f5', class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { key: '2f8756f5ffb41e04e5842dab15f1b908086c753d', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", { key: '2e791bd8bab1495608208ad696fe9150ddc28e34' })))), this.variation === "input" && (hAsync("span", { key: 'd6a9ece4abe8ebac562a31e3970255bbe4f8eadd', class: classes }, hAsync("button", Object.assign({ key: 'dbb7a3ee7849bb53b58bae7dcb6373ec685de638', id: identifier, class: "duet-chip-input-button", value: this.value, "aria-label": this.getAccessibleInputChipLabel(), "aria-describedby": this.accessibleDescribedBy, onMouseOver: () => (this.inputChipHover = true), onMouseOut: () => (this.inputChipHover = false), onClick: () => (this.selected = !this.selected) }, focusHandlers), hAsync("span", { key: '1e0b295b70924c7bbaf945ba1af950f63668c5a8', class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { key: '1d5ec89006c85f4b8a630215a19055d863c67416', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", { key: '5f52df5a6d4d675f24a6bd927593e336612997f5' })), hAsync("button", { key: 'f056e733dcc146eed6228a060736690a33c40311', class: "duet-chip-remove-button", "aria-label": this.getAccessibleDeleteLabel(), onClick: this.onRemoveClick, onFocus: () => (this.inputChipDeleteFocus = true), onBlur: () => (this.inputChipDeleteFocus = false), ref: el => (this.deleteButtonElement = el) }, hAsync("duet-icon", { key: '6f052eca141e3eea229954f7034c479d14c38d6f', name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (hAsync("span", { key: 'b573900d3ad93f1e8f49bb1f27e7d1d5e87f1ad3', class: classes }, hAsync("input", Object.assign({ key: 'd558bee064252fff70ef6db2b7292d8e5019bd78', "aria-haspopup": this.getAccessiblePopup(), "aria-controls": (_a = this.popupElement) === null || _a === void 0 ? void 0 : _a.id, "aria-expanded": this.getAccessibleExpanded(), "aria-disabled": this.disabled ? "true" : undefined, "aria-label": this.getAccessibleFilterLabel(), "aria-describedby": this.accessibleDescribedBy || undefined, id: identifier, type: "checkbox", name: this.name, value: this.value, checked: this.checked, onClick: this.onFilterClick, onChange: this.onFilterChange }, focusHandlers)), hAsync("label", { key: '7f88107a9734bd1142d00dc26ce1ceed694b0904', htmlFor: identifier }, this.icon && (hAsync("span", { key: '35559b51d65f9d609edebe6d641c11f936b43bd2', class: "duet-chip-icon-container" }, hAsync("duet-icon", { key: 'a1a51b616e4fb7c9d949bfca74a6cb1a7fa549a5', name: this.icon, size: this.size === "large" ? "small" : "x-small", margin: "none", color: "currentColor" }), hAsync("duet-icon", { key: '320133b510ed5702a9fd1a30f01deb9b266531f8', name: "messaging-checked-small", size: this.size === "large" ? "x-small" : "xx-small", margin: "none", color: "currentColor", class: "check-mark" }))), hAsync("slot", { key: 'b1133a5c686b6c8fc8a6f7d16281b25a584f8943' }), this.popupElement && (hAsync("span", { key: 'd6d6785289ba11bfcb83877c45f85e9ad9f43683', class: "duet-chip-popup-disclosure" }, hAsync("duet-icon", { key: '3c930adbf23abfeee3d2c5fcbbb151878a4b9a39', name: "action-arrow-down-small", size: this.size === "large" ? "xx-small" : "xxx-small", margin: "none", color: "currentColor" })))))), this.variation === "radio" && (hAsync("span", { key: 'aa5035fea2416069bc01fe07a28b3da134fdd886', class: classes }, hAsync("slot", { key: 'f861682874396c57779c427fb4f89556884f9434', name: "input" }), hAsync("label", { key: '80a7465dae485bf1cdcbee5b10210dc158c6425b', htmlFor: identifier }, this.icon && (hAsync("span", { key: 'dc5ffe43af42a08253de88bdc17a16022cd3a40d', class: "duet-chip-icon-container" }, hAsync("duet-icon", { key: 'c0b3326871d1f440b1196fdef2d6a6961b8b883f', name: this.icon, size: this.size === "large" ? "small" : "x-small", margin: "none", color: "currentColor" }), hAsync("duet-icon", { key: 'f6d6f16565393969a6945d11f00736726e95aef1', name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" }))), hAsync("slot", { key: '8ba0c81daff6bc6f966afd5f75582a89f932e8b1' }))))));
6892
6949
  }
6893
6950
  get element() { return getElement(this); }
6894
6951
  static get watchers() { return {
@@ -6914,6 +6971,7 @@ class DuetChip {
6914
6971
  "disabled": [4],
6915
6972
  "accessibleExpanded": [1540, "accessible-expanded"],
6916
6973
  "accessiblePopup": [1537, "accessible-popup"],
6974
+ "accessibleDescribedBy": [1, "accessible-described-by"],
6917
6975
  "focus": [32],
6918
6976
  "popupElement": [32],
6919
6977
  "popupOpen": [32],
@@ -7163,13 +7221,13 @@ class DuetChoice {
7163
7221
  * Local methods
7164
7222
  */
7165
7223
  this.toggleChecked = ev => {
7224
+ // As label click by default toggles the input, but we handle
7225
+ // toggling here, prevent default.
7166
7226
  ev.preventDefault();
7167
- ev.stopPropagation();
7168
7227
  if (this.getDisabled()) {
7169
7228
  return;
7170
7229
  }
7171
- // if it's a radio button, and it's already checked
7172
- // we shouldn't fire an event, so exit early
7230
+ // For a checked radio button do not toggle checkedness nor emit event.
7173
7231
  if (this.type === "radio" && this.checked) {
7174
7232
  return;
7175
7233
  }
@@ -7324,7 +7382,7 @@ class DuetChoice {
7324
7382
  * Always the last one in the class.
7325
7383
  */
7326
7384
  render() {
7327
- return (hAsync(Host, { key: 'c4b3a5c501d38245acc5af3e2b9f544bd0bf7072', class: {
7385
+ return (hAsync(Host, { key: '161ca837a384fd96fde8171eb0ee9a922f348740', class: {
7328
7386
  horizontal: this.groupDirection === "horizontal" && !this.groupResponsive,
7329
7387
  [`horizontal-responsive-${this.groupResponsive}`]: this.groupDirection === "horizontal" && !!this.groupResponsive,
7330
7388
  "vertical-stretch": this.groupDirection === "horizontal",
@@ -7333,10 +7391,10 @@ class DuetChoice {
7333
7391
  "duet-theme-turva": this.theme === "turva",
7334
7392
  "no-hover": this.isHovering,
7335
7393
  disabled: this.getDisabled(),
7336
- } }, hAsync("div", { key: '795598769dac455ce019fafc78a0da012fab367e', class: {
7394
+ } }, hAsync("div", { key: '9b1f7f73d1e644294e06780f748a5b5c86f3c419', class: {
7337
7395
  "duet-choice-card-flextainer": true,
7338
7396
  "duet-theme-turva": this.theme === "turva",
7339
- } }, hAsync("div", { key: '7c2d292a71e2c29410fe1b25b23f21d2331a2441', class: {
7397
+ } }, hAsync("div", { key: '5bd120316eff11e496393cc3d41401c7523d1fdc', class: {
7340
7398
  "duet-choice-card": true,
7341
7399
  "has-icon": !!this.icon,
7342
7400
  "has-info": this.hasInfo,
@@ -7345,16 +7403,16 @@ class DuetChoice {
7345
7403
  collapsible: this.collapsible,
7346
7404
  "collapsible-force-expanded": this.collapsibleForceExpanded,
7347
7405
  "duet-p-0": this.padding === "none",
7348
- } }, hAsync("slot", { key: '7c8737f5f56691e6d91b1ef6aa88d4d429a91853', name: "choiceinput" }), hAsync("label", { key: '956d1a8a3e617e20822cb45e16510552377c689a', class: {
7406
+ } }, hAsync("slot", { key: '25b753b3d13766c86e7c03e48ecde9ee345151c9', name: "choiceinput" }), hAsync("label", { key: 'd113e5e6012cd5606552b6964c0f792b992483af', class: {
7349
7407
  "duet-choice-label": true,
7350
7408
  "has-before-text": this.hasBeforeText,
7351
7409
  checked: this.checked,
7352
7410
  focus: this.focus,
7353
7411
  disabled: this.getDisabled(),
7354
- }, onClick: this.onClick }, this.hasBeforeText && hAsync("slot", { key: '8e06e00faf592c2217bcdf4125de0a3fbe688226', name: "before-text" }), this.icon && (hAsync("div", { key: 'a03eb510213a5dacea0ea1a8fba5c59e3f7b5adf', class: "duet-choice-card-icon" }, hAsync("duet-icon", { key: '6f1da454489ebc91e044c73bcaa72e4dc0cbc434', margin: "none", size: "small", name: this.icon, color: "currentColor" }))), hAsync("div", { key: '7ae5d20c3621b1ea86a08e01752a1501f4c6141f', class: "duet-choice-card-text" }, hAsync("div", { key: '48924d49aa8990d06b898d5e859d3259340424f3' }, this.hasLabel ? hAsync("slot", { name: "label" }) : this.label), this.caption && (hAsync("div", { key: '159e947250b2e752ede4b9e1cc239a17beb56e4a' }, hAsync("duet-spacer", { key: '841d4ceb579eafb87c381f78c4a62d6943480702', size: "xx-small" }), hAsync("duet-caption", { key: 'da80efff2d5db1ac58bcba1074d2acd8ebe49fc4', margin: "none", selected: this.checked }, this.caption))), this.hasAdditional && (hAsync("div", { key: '990e772b8ed9d22a20f5a6718d5884d49135b6b1' }, hAsync("duet-spacer", { key: '691495c8aeb63a55951a36c28f15bcb049c9d36e', size: "xx-small" }), hAsync("slot", { key: 'ba5ca5f8c750aa685ae9560f482401e315e1700b', name: "additional" })))), hAsync("div", { key: 'a5a27faf19b806f0cbe5d78c751acbc05cd70a4e' }, hAsync("div", { key: '5191f1bc54972485f2850139cf7dedb0c66e0f69', class: { "duet-checkmark-container": true, "duet-checkmark-radio": this.type === "radio" } }, this.checked && hAsync("div", { key: 'abe835c0eb8f2917a1e1e87b883d9a43c8883ae6', class: "duet-checkmark" }))))), this.hasInfo && !this.collapsible && (hAsync("button", { key: '232418bd6f978e77039ebea2bdea0388efeae571', ref: button => (this.infoButtonEl = button), id: this.infoButtonId, class: {
7412
+ }, onClick: this.onClick }, this.hasBeforeText && hAsync("slot", { key: '1ab6a902a2a1e6ea5ab7e075a2318482cf0a1f75', name: "before-text" }), this.icon && (hAsync("div", { key: '524b6f9260ab2e3bab12f933ad14e744b1401a12', class: "duet-choice-card-icon" }, hAsync("duet-icon", { key: 'b969cf6e06ffaf643aa701c37d4541e36f4e16a8', margin: "none", size: "small", name: this.icon, color: "currentColor" }))), hAsync("div", { key: '9cc50495673c27a7c6a5f3bdb14c609e6a4601f8', class: "duet-choice-card-text" }, hAsync("div", { key: 'c87f5c7fbfcb824cd962b47f5b245b0d113cb04b' }, this.hasLabel ? hAsync("slot", { name: "label" }) : this.label), this.caption && (hAsync("div", { key: '8b325a22769d880383b1b3b24e531306b83bc082' }, hAsync("duet-spacer", { key: '7d0b9e0b85d3ed5d5da0bcad6991d17ceb385587', size: "xx-small" }), hAsync("duet-caption", { key: '3a3a799147caa313ca58a101dc47e5149c0c214f', margin: "none", selected: this.checked }, this.caption))), this.hasAdditional && (hAsync("div", { key: 'ebea33b278a48a2d1277df23682aff24ffca5f93' }, hAsync("duet-spacer", { key: 'c06cf1daace2056cfc11c90e2fdbe2e3d5a02281', size: "xx-small" }), hAsync("slot", { key: '952ec73f80beb3dc70550cc7f294f3cc19466109', name: "additional" })))), hAsync("div", { key: 'c011bec512f287c09ac07c7eb27351bdf035d95f' }, hAsync("div", { key: 'df64779e16fd3eb7a476794b11516433f7d9cdce', class: { "duet-checkmark-container": true, "duet-checkmark-radio": this.type === "radio" } }, this.checked && hAsync("div", { key: '94314b297dc613c45adaa647eeec06f93b01e325', class: "duet-checkmark" }))))), this.hasInfo && !this.collapsible && (hAsync("button", { key: 'dd3fc995ac9ac436708557efc5319b7c081d76e8', ref: button => (this.infoButtonEl = button), id: this.infoButtonId, class: {
7355
7413
  "duet-choice-info-toggle": true,
7356
7414
  "duet-theme-turva": this.theme === "turva",
7357
- }, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, onClick: this.toggleInfo, disabled: this.getDisabled(), "aria-expanded": this.isInfoOpen ? "true" : "false", "aria-label": `${this.infoLabel} ${this.label}`, "aria-controls": this.expandId, tabindex: this.type === "radio" && !this.checked ? "-1" : "0", type: "button", onKeyUp: e => this.handleEscape(e) }, hAsync("div", { key: 'cd5726ddd6b87acb1c4a8b0661906c4555c8371a', class: "duet-choice-info-icon" }, hAsync("duet-icon", { key: 'd2d3d9bc3e7862c2f01ba3b2ad27dd7662c0a8a4', icon: infoIcon.svg, margin: "none", size: "small", color: "currentColor" }))))), this.collapsible && (hAsync("span", { key: 'eab4a0209ba1f4fe2bb7a4be8971f843a67b77e6', id: `${this.choiceId}-collapsible-notification`, hidden: true }, this.collapsibleNotification)), this.collapsible || this.hasInfo ? (hAsync("div", { class: this.getClassNames(), id: this.expandId }, hAsync("span", { class: {
7415
+ }, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, onClick: this.toggleInfo, disabled: this.getDisabled(), "aria-expanded": this.isInfoOpen ? "true" : "false", "aria-label": `${this.infoLabel} ${this.label}`, "aria-controls": this.expandId, tabindex: this.type === "radio" && !this.checked ? "-1" : "0", type: "button", onKeyUp: e => this.handleEscape(e) }, hAsync("div", { key: 'a78097639b91f3c310e490e8cfc23040a7dfcb48', class: "duet-choice-info-icon" }, hAsync("duet-icon", { key: 'a4a43850eb0cbbb171ff87b7834e135247d5f4c8', icon: infoIcon.svg, margin: "none", size: "small", color: "currentColor" }))))), this.collapsible && (hAsync("span", { key: 'd081dffa05b32cd86475b5dcaed06d8d12af4b85', id: `${this.choiceId}-collapsible-notification`, hidden: true }, this.collapsibleNotification)), this.collapsible || this.hasInfo ? (hAsync("div", { class: this.getClassNames(), id: this.expandId }, hAsync("span", { class: {
7358
7416
  "duet-choice-section-visible": this.collapsible ? this.getExpanded() : this.isInfoOpen,
7359
7417
  "duet-choice-section-hidden": this.collapsible ? !this.getExpanded() : !this.isInfoOpen,
7360
7418
  } }, hAsync("span", { id: this.headerId }, hAsync("slot", { name: "header" })), this.hasInfo ? (hAsync("span", { ref: span => (this.infoContainer = span), tabindex: "-1", class: "duet-choice-info-container", onKeyUp: e => this.handleEscape(e) }, hAsync("span", null, hAsync("slot", { name: "info" })), hAsync("slot", null))) : (hAsync("span", { id: `${this.choiceId}-collapsible-content` }, hAsync("slot", null)))))) : null));
@@ -7483,7 +7541,7 @@ class DuetChoiceGroup {
7483
7541
  if (mutationList.some(r => {
7484
7542
  var _a;
7485
7543
  return ((_a = r.removedNodes) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
7486
- Array.from(r.removedNodes.values()).some(n => n.nodeName.toLowerCase() === "duet-choice");
7544
+ Array.from(r.removedNodes.values()).some(n => n.nodeName.toLowerCase() === "duet-choice" && this.choices.has(n));
7487
7545
  })) {
7488
7546
  this.updateChoices();
7489
7547
  }
@@ -7545,13 +7603,11 @@ class DuetChoiceGroup {
7545
7603
  async updateChoices() {
7546
7604
  var _a;
7547
7605
  const value = (_a = this.value) !== null && _a !== void 0 ? _a : this.initialValue;
7606
+ const allChoices = Array.from(this.element.querySelectorAll("duet-choice"));
7607
+ const ownChoices = allChoices.filter(choice => !allChoices.includes(choice.parentElement.closest("duet-choice")));
7548
7608
  let hasChecked = false;
7549
7609
  this.choices.clear();
7550
- this.element.querySelectorAll("duet-choice").forEach((choice) => {
7551
- if (choice.closest("duet-choice-group") === this.element) {
7552
- this.choices.add(choice);
7553
- }
7554
- });
7610
+ ownChoices.forEach(choice => this.choices.add(choice));
7555
7611
  // Walk the DOM in reverse order, since the last selected one wins
7556
7612
  for (const choice of Array.from(this.choices)) {
7557
7613
  choice.name = this.name;
@@ -7583,14 +7639,14 @@ class DuetChoiceGroup {
7583
7639
  * Always the last one in the class.
7584
7640
  */
7585
7641
  render() {
7586
- return (hAsync(Host, { key: '39267534dcf19f7f942ef44d869d302552ad8463', onDuetChange: this.onSelect, onDuetChoiceReady: this.onChoiceReady, class: {
7642
+ return (hAsync(Host, { key: '0d7434c28155b9472c8819d53c34843052a58d0d', onDuetChange: this.onSelect, onDuetChoiceReady: this.onChoiceReady, class: {
7587
7643
  horizontal: this.direction === "horizontal",
7588
7644
  "duet-choice-group-breakpoint-x-small": this.responsive && this.breakpoint === "x-small",
7589
7645
  "duet-choice-group-breakpoint-small": this.responsive && this.breakpoint === "small",
7590
7646
  "duet-choice-group-breakpoint-medium": this.responsive && this.breakpoint === "medium",
7591
7647
  "duet-choice-group-breakpoint-large": this.responsive && this.breakpoint === "large",
7592
7648
  "duet-choice-group-breakpoint-x-large": this.responsive && this.breakpoint === "x-large",
7593
- } }, hAsync("duet-fieldset", { key: '1e292babf2206d42d58c46f88bed02959e595dc1', label: this.label, labelHidden: this.labelHidden, compactLabel: true, caption: this.caption, error: this.error, margin: this.margin, theme: this.theme, "accessible-live-error": this.accessibleLiveError }, this.tooltip && (hAsync("duet-tooltip", { key: '435735b34c7f437aba23bda2eebd7fa78aa30f3d', slot: "tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), hAsync("slot", { key: '390312b35af123116ec5919b31f61d9499559813', name: "tooltip", slot: "tooltip" }), hAsync("div", { key: 'fb68426f6c7feac6c767511bcaccfb6585515e3e', class: { [this.choiceGroupName]: true, "duet-no-stacking": !this.responsive } }, hAsync("slot", { key: '5b26fd1d7d1239fdcdcb6d736445a6366995c3bc' })))));
7649
+ } }, hAsync("duet-fieldset", { key: 'd0abc308f9f4e0b001efb4923b0e5203ae1d00a6', label: this.label, labelHidden: this.labelHidden, compactLabel: true, caption: this.caption, error: this.error, margin: this.margin, theme: this.theme, "accessible-live-error": this.accessibleLiveError }, this.tooltip && (hAsync("duet-tooltip", { key: 'f8e3bbac49fdb91180c3caa1b32e7d6eb1305086', slot: "tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), hAsync("slot", { key: '9ebac012a0024a84eaa3b320a9d1aca91bb48480', name: "tooltip", slot: "tooltip" }), hAsync("div", { key: '9b811428dda8073221eedb0b5a64ddff1662828d', class: { [this.choiceGroupName]: true, "duet-no-stacking": !this.responsive } }, hAsync("slot", { key: '22ab1bec355e45e4bd35c68e2d9c86815b99852f' })))));
7594
7650
  }
7595
7651
  get element() { return getElement(this); }
7596
7652
  static get watchers() { return {
@@ -9504,7 +9560,6 @@ class DuetCombobox {
9504
9560
  // Event handlers
9505
9561
  onListClick(e, item) {
9506
9562
  e.preventDefault();
9507
- e.stopPropagation();
9508
9563
  // update selected item with id
9509
9564
  if (this.multiple) {
9510
9565
  this.addSelectedItem(item.id, true);
@@ -9643,7 +9698,7 @@ class DuetCombobox {
9643
9698
  }; }
9644
9699
  }
9645
9700
 
9646
- const duetContactCardCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;display:block}:host(.duet-m-0){margin:0 !important}::slotted(*){padding-top:1.5rem}@media (min-width: 48em){::slotted(*){grid-column:2/span 2;padding-top:0}}.duet-contact-card{display:grid;grid-template-columns: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:600;line-height:1.5;color:rgb(8, 42, 77)}@media (min-width: 48em){.duet-contact-card{grid-template-columns:min-content minmax(0, 1fr) auto;gap:20px}}.duet-contact-card .image{width:4rem;height:4rem;margin-bottom:8px;border-radius:4px}@media (min-width: 48em){.duet-contact-card .image{width:6rem;height:6rem;padding-bottom:0}}.duet-contact-card .description{padding-bottom:8px}.duet-contact-card .email,.duet-contact-card .phone{display:grid;grid-template-columns:min-content auto;gap:8px;align-items:center;justify-content:flex-start;padding-bottom:8px;overflow-wrap:break-word}.duet-contact-card.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 42, 59)}";
9701
+ const duetContactCardCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;display:block}:host(.duet-m-0){margin:0 !important}::slotted(*){padding-top:1.5rem}@media (min-width: 48em){::slotted(*){grid-column:2/span 2;padding-top:0}}.duet-contact-card{display:grid;grid-template-columns: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:600;line-height:1.5;color:rgb(8, 42, 77)}@media (min-width: 48em){.duet-contact-card{grid-template-columns:min-content minmax(0, 1fr) auto;gap:20px}}.duet-contact-card picture{display:block}.duet-contact-card .image{width:4rem;height:4rem;margin-bottom:8px;border-radius:4px}@media (min-width: 48em){.duet-contact-card .image{width:6rem;height:6rem;padding-bottom:0}}.duet-contact-card .description{padding-bottom:8px}.duet-contact-card .email,.duet-contact-card .phone{display:grid;grid-template-columns:min-content auto;gap:8px;align-items:center;justify-content:flex-start;padding-bottom:8px;overflow-wrap:break-word}.duet-contact-card.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 42, 59)}";
9647
9702
 
9648
9703
  class DuetContactCard {
9649
9704
  constructor(hostRef) {
@@ -9689,10 +9744,19 @@ class DuetContactCard {
9689
9744
  render() {
9690
9745
  const isTurva = this.theme === "turva";
9691
9746
  const theme = isTurva ? "turva" : "default";
9692
- return (hAsync(Host, { key: 'a29a3dab2ac7fb3079f2c1a159af7f4e7b5c226b', class: { "duet-m-0": this.margin === "none" } }, hAsync("div", { key: '14753b1f4fc3901aa2285d438c612e66619fabb5', class: {
9747
+ const pictureSource = {
9748
+ img: {
9749
+ src: this.image,
9750
+ alt: this.name || "",
9751
+ loading: "lazy",
9752
+ class: "image",
9753
+ },
9754
+ sources: parsePossibleJSON(this.sources),
9755
+ };
9756
+ return (hAsync(Host, { key: 'f64dabbe00a4d4f03132a6adc7bc3b95bdd6042a', class: { "duet-m-0": this.margin === "none" } }, hAsync("div", { key: '0f5bf8d1828462b3f5e6aa9f5d7e11b338a2b61c', class: {
9693
9757
  "duet-contact-card": true,
9694
9758
  "duet-theme-turva": this.theme === "turva",
9695
- }, role: "group", "aria-label": this.name }, this.image ? hAsync("img", { class: "image", src: this.image, alt: this.name }) : hAsync("div", null), hAsync("div", { key: 'dc77c6904966d2b6438391dd2c827832ffe86325' }, this.name && (hAsync("duet-heading", { key: 'a10e331782d05726446653615ba8effbb1de3257', class: "name", level: "h3", margin: "none", theme: theme }, this.name)), this.description && (hAsync("duet-paragraph", { key: '3f49dc9a8933eb5551f259e2dcca7f434f8e5082', class: "description", margin: "none", theme: theme }, this.description)), this.email && (hAsync("div", { key: '99ad9df72533f48e298153aeadf18cb50e37d1e9', class: "email" }, hAsync("duet-icon", { key: 'cbe804f4877e52df6f678ace315efe098b3ef914', name: "navigation-message", size: "x-small", color: "primary-dark", margin: "none", theme: theme }), hAsync("duet-link", { key: 'e909d9bc1096700ef5fb6d7a1e87c499d585d4dd', url: `mailto:${this.email}`, accessibleLabel: `Email: ${this.email}`, theme: theme }, this.email))), this.phone && (hAsync("div", { key: 'fe217c26608f2f461999844a3a00fe335c1e4509', class: "phone" }, hAsync("duet-icon", { key: '1194445745ecb176f6fcc39a18c3e233921524d9', name: "form-tel", size: "x-small", color: "primary-dark", margin: "none", theme: theme }), hAsync("duet-link", { key: 'b83e145b7909c3ef697932ff1cf95d223d4a4b14', url: `tel:${this.phone}`, accessibleLabel: `${this.phoneLabel[this.language]}: ${this.phone}`, theme: theme }, this.phone)))), this.buttonUrl && this.buttonText && (hAsync("div", { key: 'fdb27957cd0b60be23e8b4df7f062da5cc3eafc1', class: "call-to-action" }, hAsync("duet-button", { key: 'f7cd81b4f2712057ee507a9f0f01e59121e7960e', variation: "default", icon: this.buttonIcon, fixed: true, margin: "none", url: this.buttonUrl, theme: theme }, this.buttonText))), hAsync("div", { key: 'b3a716a438e7793ef194ae0b1067d926b75e0925' }), hAsync("slot", { key: '3d4bea81e03b40457deb9fd0731c14a9b80d465e' }))));
9759
+ }, role: "group", "aria-label": this.name }, this.image ? hAsync(DuetPicture, Object.assign({}, pictureSource)) : hAsync("div", null), hAsync("div", { key: 'c7f1a34d6324e755b84db0dc4da6ccfe23c2caea' }, this.name && (hAsync("duet-heading", { key: 'b5e344e3a442dd32b215a64c5ac5050004205cd2', class: "name", level: "h3", margin: "none", theme: theme }, this.name)), this.description && (hAsync("duet-paragraph", { key: 'c0691195632640e79ff0138fd59b974764f4e653', class: "description", margin: "none", theme: theme }, this.description)), this.email && (hAsync("div", { key: '69b2e8b159c01ac6a10b0e9f5db6484e24d7ba88', class: "email" }, hAsync("duet-icon", { key: '610229dce2bd62cdd469f1507a3d7ab2fb9bbf2e', name: "navigation-message", size: "x-small", color: "primary-dark", margin: "none", theme: theme }), hAsync("duet-link", { key: 'b8de1672468624fb4d187f2284d59057abc6fc02', url: `mailto:${this.email}`, accessibleLabel: `Email: ${this.email}`, theme: theme }, this.email))), this.phone && (hAsync("div", { key: 'f1f0f4cb51fb389b4af742d8aff457575ba2fea8', class: "phone" }, hAsync("duet-icon", { key: 'bf01da4d50e3c15d6e5e6578e560746cd0290cdc', name: "form-tel", size: "x-small", color: "primary-dark", margin: "none", theme: theme }), hAsync("duet-link", { key: 'b13decd3ea2cbe80e5eb96f4214db65bcf318918', url: `tel:${this.phone}`, accessibleLabel: `${this.phoneLabel[this.language]}: ${this.phone}`, theme: theme }, this.phone)))), this.buttonUrl && this.buttonText && (hAsync("div", { key: 'e9d62c80a434400828e323a802e873df327e9c28', class: "call-to-action" }, hAsync("duet-button", { key: '5603fe9f97b490a96cfb04cb6efbc98093d8e216', variation: "default", icon: this.buttonIcon, fixed: true, margin: "none", url: this.buttonUrl, theme: theme }, this.buttonText))), hAsync("div", { key: '6fd00f636dd39f1ad02f62fa2a63cfe7f00f67b2' }), hAsync("slot", { key: 'f91dc7abe608519b46f5bf421f09258cabdda749' }))));
9696
9760
  }
9697
9761
  get element() { return getElement(this); }
9698
9762
  static get style() { return duetContactCardCss; }
@@ -9703,6 +9767,7 @@ class DuetContactCard {
9703
9767
  "theme": [1025],
9704
9768
  "margin": [1],
9705
9769
  "image": [1025],
9770
+ "sources": [1],
9706
9771
  "name": [1025],
9707
9772
  "description": [1025],
9708
9773
  "email": [1025],
@@ -10072,6 +10137,13 @@ function setYear(date, year) {
10072
10137
  d.setFullYear(year);
10073
10138
  return d;
10074
10139
  }
10140
+ /**
10141
+ * Check if date falls on a Saturday or Sunday
10142
+ */
10143
+ function isWeekend(date) {
10144
+ const day = date.getDay();
10145
+ return day === 0 || day === 6;
10146
+ }
10075
10147
  /**
10076
10148
  * Check if date is within a min and max
10077
10149
  */
@@ -10135,6 +10207,88 @@ const DatePickerDay = ({ focusedDay, today, day, language, onDaySelect, onKeyboa
10135
10207
  hAsync("span", { class: { "duet-date-table-button": true, outside: isOutsideRange, disabled: isDisabled, today: isToday } }, day.getDate())));
10136
10208
  };
10137
10209
 
10210
+ const holidaysByYear = new Map();
10211
+ /**
10212
+ * Calculate the date of Easter Sunday for a given year using the
10213
+ * Meeus/Jones/Butcher Gregorian algorithm.
10214
+ */
10215
+ function getEasterSunday(year) {
10216
+ const a = year % 19;
10217
+ const b = Math.floor(year / 100);
10218
+ const c = year % 100;
10219
+ const d = Math.floor(b / 4);
10220
+ const e = b % 4;
10221
+ const f = Math.floor((b + 8) / 25);
10222
+ const g = Math.floor((b - f + 1) / 3);
10223
+ const h = (19 * a + b - d - g + 15) % 30;
10224
+ const i = Math.floor(c / 4);
10225
+ const k = c % 4;
10226
+ const l = (32 + 2 * e + 2 * i - h - k) % 7;
10227
+ const m = Math.floor((a + 11 * h + 22 * l) / 451);
10228
+ const monthAndDay = h + l - 7 * m + 114;
10229
+ const month = Math.floor(monthAndDay / 31);
10230
+ const day = (monthAndDay % 31) + 1;
10231
+ return new Date(year, month - 1, day);
10232
+ }
10233
+ /**
10234
+ * Midsummer Eve is the Friday falling between 19 and 25 June (inclusive).
10235
+ */
10236
+ function getMidsummerEve(year) {
10237
+ for (let day = 19; day <= 25; day++) {
10238
+ const date = new Date(year, 5, day);
10239
+ if (date.getDay() === 5) {
10240
+ return date;
10241
+ }
10242
+ }
10243
+ }
10244
+ /**
10245
+ * Finnish bank holidays for a given year, as published by the Bank of Finland:
10246
+ * https://www.suomenpankki.fi/en/money-and-payments/bank-holidays/
10247
+ */
10248
+ function getFinnishBankHolidays(year) {
10249
+ if (holidaysByYear.has(year)) {
10250
+ return holidaysByYear.get(year);
10251
+ }
10252
+ const easterSunday = getEasterSunday(year);
10253
+ const holidays = [
10254
+ new Date(year, 0, 1), // New Year's Day
10255
+ new Date(year, 0, 6), // Epiphany
10256
+ addDays(easterSunday, -2), // Good Friday
10257
+ addDays(easterSunday, 1), // Easter Monday
10258
+ new Date(year, 4, 1), // May Day
10259
+ addDays(easterSunday, 39), // Ascension Day
10260
+ getMidsummerEve(year), // Midsummer Eve
10261
+ new Date(year, 11, 6), // Independence Day
10262
+ new Date(year, 11, 24), // Christmas Eve
10263
+ new Date(year, 11, 25), // Christmas Day
10264
+ new Date(year, 11, 26), // Boxing Day
10265
+ ];
10266
+ holidaysByYear.set(year, holidays);
10267
+ return holidays;
10268
+ }
10269
+ function isFinnishBankHoliday(date) {
10270
+ return getFinnishBankHolidays(date.getFullYear()).some(holiday => isEqual(holiday, date));
10271
+ }
10272
+
10273
+ function parseDisallowedDates(disallowedDates) {
10274
+ if (!disallowedDates) {
10275
+ return [];
10276
+ }
10277
+ return Array.isArray(disallowedDates) ? disallowedDates : disallowedDates.split(",").map(date => date.trim());
10278
+ }
10279
+ /**
10280
+ * Check if a date is disallowed by any of the given weekend/bank-holiday/explicit-date rules
10281
+ */
10282
+ function isDateDisallowed(date, options) {
10283
+ if (options.disallowWeekends && isWeekend(date)) {
10284
+ return true;
10285
+ }
10286
+ if (options.disallowBankHolidays && isFinnishBankHoliday(date)) {
10287
+ return true;
10288
+ }
10289
+ return parseDisallowedDates(options.disallowedDates).some(isoDate => isEqual(parseISODate(isoDate), date));
10290
+ }
10291
+
10138
10292
  /**
10139
10293
  * Creates an array representing an inclusive numeric range.
10140
10294
  * `from` must be less than `to`
@@ -10194,7 +10348,7 @@ function createShortcuts(shortcuts) {
10194
10348
  };
10195
10349
  }
10196
10350
 
10197
- const DatePickerMonth = ({ selectedDate, focusedDate, labelledById, theme, language, min, max, onDateSelect, onKeyboardNavigation, focusedDayRef, onFocusEnter, onFocusExit, }) => {
10351
+ const DatePickerMonth = ({ selectedDate, focusedDate, labelledById, theme, language, min, max, disallowWeekends, disallowBankHolidays, disallowedDates, onDateSelect, onKeyboardNavigation, focusedDayRef, onFocusEnter, onFocusExit, }) => {
10198
10352
  const { dayLabels } = i18n$2[language];
10199
10353
  const today = new Date();
10200
10354
  const days = getViewOfMonth(focusedDate);
@@ -10212,7 +10366,8 @@ const DatePickerMonth = ({ selectedDate, focusedDate, labelledById, theme, langu
10212
10366
  hAsync("thead", null,
10213
10367
  hAsync("tr", null, dayLabels.map(label => (hAsync("th", { scope: "col" },
10214
10368
  hAsync("span", { "aria-hidden": "true" }, label.substr(0, 2))))))),
10215
- hAsync("tbody", null, chunk(days, 7).map(week => (hAsync("tr", { class: "duet-date-table-row" }, week.map(day => (hAsync(DatePickerDay, { day: day, today: today, language: language, focusedDay: focusedDate, inRange: inRange(day, min, max), isSelected: isEqual(day, selectedDate), onDaySelect: onDateSelect, onKeyboardNavigation: onKeyboardNavigation, ref: el => {
10369
+ hAsync("tbody", null, chunk(days, 7).map(week => (hAsync("tr", { class: "duet-date-table-row" }, week.map(day => (hAsync(DatePickerDay, { day: day, today: today, language: language, focusedDay: focusedDate, inRange: inRange(day, min, max) &&
10370
+ !isDateDisallowed(day, { disallowWeekends, disallowBankHolidays, disallowedDates }), isSelected: isEqual(day, selectedDate), onDaySelect: onDateSelect, onKeyboardNavigation: onKeyboardNavigation, ref: el => {
10216
10371
  if (el && isEqual(day, focusedDate)) {
10217
10372
  focusedDayRef(el);
10218
10373
  }
@@ -10258,6 +10413,11 @@ class DuetDatePicker {
10258
10413
  fi: "Päivämäärä vaaditaan",
10259
10414
  sv: "Datum krävs",
10260
10415
  },
10416
+ customError: {
10417
+ en: "Date not allowed",
10418
+ fi: "Päivämäärä ei sallittu",
10419
+ sv: "Datum inte tillåtet",
10420
+ },
10261
10421
  };
10262
10422
  this.open = false;
10263
10423
  this.focusedDay = new Date();
@@ -10366,6 +10526,19 @@ class DuetDatePicker {
10366
10526
  * This setting can be used alone or together with the min property.
10367
10527
  */
10368
10528
  this.max = "";
10529
+ /**
10530
+ * Disallow selecting Saturdays and Sundays.
10531
+ */
10532
+ this.disallowWeekends = false;
10533
+ /**
10534
+ * Disallow selecting Finnish bank holidays, including Easter-based dates and Midsummer Eve.
10535
+ */
10536
+ this.disallowBankHolidays = false;
10537
+ /**
10538
+ * Disallow selecting specific dates. Accepts an array of ISO-8601 (YYYY-MM-DD) dates,
10539
+ * or a comma-separated string of the same when set as an HTML attribute.
10540
+ */
10541
+ this.disallowedDates = [];
10369
10542
  /**
10370
10543
  * Increment to add to years, defaults to 10 for simplicity, if you need a larger selectionspace you can set it to 100
10371
10544
  */
@@ -10468,7 +10641,7 @@ class DuetDatePicker {
10468
10641
  this.handleDaySelect = (_event, day) => {
10469
10642
  const min = parseISODate(this.min);
10470
10643
  const max = parseISODate(this.max);
10471
- if (inRange(day, min, max)) {
10644
+ if (inRange(day, min, max) && !isDateDisallowed(day, this)) {
10472
10645
  this.setValue(day);
10473
10646
  this.hide();
10474
10647
  }
@@ -10489,6 +10662,7 @@ class DuetDatePicker {
10489
10662
  * This offers information relating to the current validity of the component.
10490
10663
  * It follow as closely as possible the behaviour of the native date input.
10491
10664
  * Useful properties to inspect are badInput, valueMissing, rangeOverflow, rangeUnderflow.
10665
+ * For disallowed dates property customError is set true.
10492
10666
  */
10493
10667
  get validity() {
10494
10668
  this.determineValidity();
@@ -10612,9 +10786,10 @@ class DuetDatePicker {
10612
10786
  const valueMissing = !valueAsDate && this.required;
10613
10787
  const rangeOverflow = valueAsDate ? !inRange(valueAsDate, null, parseISODate(this.max)) : false;
10614
10788
  const rangeUnderflow = valueAsDate ? !inRange(valueAsDate, parseISODate(this.min)) : false;
10789
+ const customError = valueAsDate ? isDateDisallowed(valueAsDate, this) : false;
10615
10790
  this._validity = {
10616
10791
  patternMismatch: false,
10617
- customError: false,
10792
+ customError,
10618
10793
  stepMismatch: false,
10619
10794
  tooLong: false,
10620
10795
  tooShort: false,
@@ -10623,7 +10798,7 @@ class DuetDatePicker {
10623
10798
  rangeUnderflow,
10624
10799
  rangeOverflow,
10625
10800
  valueMissing,
10626
- valid: !(valueMissing || badInput || rangeUnderflow || rangeOverflow),
10801
+ valid: !(valueMissing || badInput || rangeUnderflow || rangeOverflow || customError),
10627
10802
  };
10628
10803
  if (this._validity.valid) {
10629
10804
  this.error = "";
@@ -10686,20 +10861,24 @@ class DuetDatePicker {
10686
10861
  if (maxDate) {
10687
10862
  maxYear = Math.min(maxYear, maxDate.getFullYear());
10688
10863
  }
10689
- return (hAsync(Host, { key: '5ebd34bf6ba1033b890138e5523f45fecd17eaf4', class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" } }, hAsync("div", { key: '8c4b995485be3c6b070ce738f3416db0d9683771', class: "duet-date" }, hAsync(DatePickerInput, { key: 'c0b308099cd5c56790a1160d10a682551ce9da7e', hasFocus: this.inputHasFocus, value: this.value, valueAsDate: valueAsDate, formattedValue: this.inputValue, language: this.language, onInput: this.handleInputChange, onBlur: this.handleBlur, onFocus: this.handleFocus, onClick: this.toggleOpen, name: this.name, disabled: this.disabled, error: this.error, role: this.role, required: this.required, theme: this.theme, tooltip: this.tooltip, tooltipDirection: this.tooltipDirection, labelHidden: this.labelHidden, placeholder: this.placeholder, inputLabel: this.label, identifier: this.identifier, buttonRef: element => (this.datePickerButton = element), inputRef: element => (this.datePickerInput = element), accessibleActiveDescendant: this.accessibleActiveDescendant, accessibleControls: this.accessibleControls, accessibleOwns: this.accessibleOwns, accessibleDescribedBy: this.accessibleDescribedBy, accessibleLiveError: this.accessibleLiveError, echoPlaceholder: this.echoPlaceholder, caption: this.caption })), hAsync("div", { key: 'cca008327d5a939054a1b2abd748b08170b19a07', class: {
10864
+ return (hAsync(Host, { key: '574a2e443eb79af37f178f46845a206f561cba2e', class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" } }, hAsync("div", { key: '62fa53292d9b464c3bfce84805c61abbc729b32c', class: "duet-date" }, hAsync(DatePickerInput, { key: 'fd44ced264f1b867ffa5642a110d118cfd8a7977', hasFocus: this.inputHasFocus, value: this.value, valueAsDate: valueAsDate, formattedValue: this.inputValue, language: this.language, onInput: this.handleInputChange, onBlur: this.handleBlur, onFocus: this.handleFocus, onClick: this.toggleOpen, name: this.name, disabled: this.disabled, error: this.error, role: this.role, required: this.required, theme: this.theme, tooltip: this.tooltip, tooltipDirection: this.tooltipDirection, labelHidden: this.labelHidden, placeholder: this.placeholder, inputLabel: this.label, identifier: this.identifier, buttonRef: element => (this.datePickerButton = element), inputRef: element => (this.datePickerInput = element), accessibleActiveDescendant: this.accessibleActiveDescendant, accessibleControls: this.accessibleControls, accessibleOwns: this.accessibleOwns, accessibleDescribedBy: this.accessibleDescribedBy, accessibleLiveError: this.accessibleLiveError, echoPlaceholder: this.echoPlaceholder, caption: this.caption })), hAsync("div", { key: '7db19721a17bc48c0f232de5a91e9aee49435f6b', class: {
10690
10865
  "duet-theme-turva": this.theme === "turva",
10691
10866
  "duet-date-dialog": true,
10692
10867
  left: this.direction === "left",
10693
10868
  error: !!this.error,
10694
10869
  active: this.open,
10695
- }, role: "dialog", "aria-modal": "true", "aria-hidden": this.open ? "false" : "true", "aria-labelledby": this.dialogLabelId, onTouchMove: this.handleTouchMove, onTouchStart: this.handleTouchStart, onTouchEnd: this.handleTouchEnd }, hAsync("duet-overlay", { key: 'fcb2d3f3fd5333529c2ebc82590a6a543112a5f4', visible: this.open, "display-device": "x-small" }), hAsync(FocusGuard, { key: '0de38fdb796337ec9448bcff1bb652776fdf6f60', moveFocusTo: this.focusedDayNode }), hAsync("div", { key: '9950afbc58987e498e2e6734fd6af177c65d94a8', class: "duet-date-dialog-wrapper", onKeyDown: this.handleEscKey, ref: element => (this.dialogWrapperNode = element) }, hAsync("duet-visually-hidden", { key: '2394f33f1efd2e0626b2a1bc3642a73193798b13', "aria-live": "polite" }, text.keyboardInstruction), hAsync("div", { key: '74b68ad35d92ab0c2616be5466ea6b8b2c1a1451', class: "duet-date-dialog-mobile-header" }, hAsync(DuetInternalLabel, { key: '7385d9ef814cf4557cf903f705b38a7571369d0f', margin: "none" }, this.label), hAsync("button", { key: '5ba61af3c6b024f1f3ef531b412e5c20243d83ca', class: "duet-date-picker-close", ref: element => (this.closeButtonNode = element), onClick: () => this.hide(), type: "button" }, hAsync("duet-icon", { key: '14e320af49eb06c184cfe918a67f278bdac888bf', name: "navigation-close-small", margin: "none", color: "currentColor", size: "xx-small" }), hAsync("duet-visually-hidden", { key: 'b58668ebd6f0849ae6e8f0454800b4ceb916443e' }, text.closeLabel))), hAsync("div", { key: '79a07d6373ca479f45808ff3eef1ea6239148b26', class: "duet-date-dialog-header" }, hAsync("div", { key: '6f08a300db74dd1562c658334c8220fc1569228c', class: "duet-date-dialog-dropdowns" }, hAsync("duet-visually-hidden", { key: '400b1451a2180e0a189a5c1e7c27139647ec5539' }, hAsync("h2", { key: '47225d656584304da5b114f0430e17cb74a38e53', id: this.dialogLabelId, "aria-live": "polite", "aria-atomic": "true" }, text.monthLabels[focusedMonth], " ", this.focusedDay.getFullYear())), hAsync("duet-visually-hidden", { key: 'b66a24df41db7807ed3c0d3f36d380a897360fa6' }, hAsync("label", { key: 'aae8cf780c5452e1399421e177309ad7a9179803', htmlFor: this.monthSelectId }, text.monthSelectLabel)), hAsync("div", { key: 'f2bad2498489114a7bc0ffd6fc8c4f842b507e43', class: "duet-date-dialog-select" }, hAsync("select", { key: '9d58e711523ace0781cc27947fb9ecc52bda8499', id: this.monthSelectId, class: "duet-date-month-select", ref: element => (this.monthSelectNode = element), onChange: this.handleMonthSelect }, text.monthLabels.map((month, i) => (hAsync("option", { key: month, value: i, selected: i === focusedMonth, disabled: !inRange(new Date(focusedYear, i, 1), minDate ? startOfMonth(minDate) : null, maxDate ? endOfMonth(maxDate) : null) }, month)))), hAsync("div", { key: '914f0bef1d172d4d5391991fd9f8206f7d0576df', class: "duet-date-dialog-select-label", "aria-hidden": "true" }, hAsync("span", { key: '7aebf3e0cbc22a117a5e155e0dd4518189f9b946' }, text.monthLabelsShort[focusedMonth]), hAsync("duet-icon", { key: 'faf140d4032093b37db295f06e23ea761fa27c65', name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" }))), hAsync("duet-visually-hidden", { key: '66399d5d57f605fe4db9c13ee13bcf89f4d38efd' }, hAsync("label", { key: '76256efb6db83d4165a903420b70e9a6d43a2e49', htmlFor: this.yearSelectId }, text.yearSelectLabel)), hAsync("div", { key: 'e871aa90559d85cad33752f52a6e538571e6984f', class: "duet-date-dialog-select" }, hAsync("select", { key: 'af2e90cb3d28123c36c83853753be30beff06400', id: this.yearSelectId, class: "duet-date-year-select", onChange: this.handleYearSelect }, range(minYear, maxYear).map(year => (hAsync("option", { key: year, selected: year === focusedYear }, year)))), hAsync("div", { key: 'a1487d1853c56fc62c20bf2b3df60cc73d666017', class: "duet-date-dialog-select-label", "aria-hidden": "true" }, hAsync("span", { key: 'ad43c7efa4a93e4417c2051e000fe0f786b35612' }, this.focusedDay.getFullYear()), hAsync("duet-icon", { key: '5c42115e3dd7c4a48e5cae87b5f03ed274087ba5', name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" })))), hAsync("div", { key: 'bc63edbea7a3b069774fc0b8766983f570479501', class: "duet-date-dialog-buttons" }, hAsync("duet-action-button", { key: 'e3cb3ade86eeedbaf914d104ce9b638109708eb6', accessibleLabel: i18n$2[this.language].prevMonthLabel, actionName: i18n$2[this.language].prevMonthLabel, class: "duet-date-dialog-prev", onClick: this.handlePreviousMonthClick, disabled: prevMonthDisabled, "icon-name": "action-arrow-left-small" }, text.prevMonthLabel), hAsync("duet-action-button", { key: '3d1b9df7ab5852d770d6c98285b73e002a9f4468', accessibleLabel: i18n$2[this.language].nextMonthLabel, actionName: i18n$2[this.language].nextMonthLabel, class: "duet-date-dialog-next", onClick: this.handleNextMonthClick, disabled: nextMonthDisabled, "icon-name": "action-arrow-right-small" }, text.nextMonthLabel))), hAsync(DatePickerMonth, { key: 'fb66dbdf2065a158a265490a6f7c0ace038919d5', selectedDate: valueAsDate, focusedDate: this.focusedDay, onDateSelect: this.handleDaySelect, onKeyboardNavigation: this.handleKeyboardNavigation, labelledById: this.dialogLabelId, language: this.language, theme: this.theme, min: minDate, max: maxDate, focusedDayRef: element => (this.focusedDayNode = element), onFocusEnter: this.enableActiveFocus, onFocusExit: this.disableActiveFocus })), hAsync(FocusGuard, { key: 'b40a59659930ae4a47fb6d8dd45f334e5fcdf026', moveFocusTo: this.closeButtonNode }))));
10870
+ }, role: "dialog", "aria-modal": "true", "aria-hidden": this.open ? "false" : "true", "aria-labelledby": this.dialogLabelId, onTouchMove: this.handleTouchMove, onTouchStart: this.handleTouchStart, onTouchEnd: this.handleTouchEnd }, hAsync("duet-overlay", { key: 'b762f7971ef0f3cfdba4338da8b66ddd932d739c', visible: this.open, "display-device": "x-small" }), hAsync(FocusGuard, { key: '116f8a028515e1cabbdfe6c7c4fbe46a366e8417', moveFocusTo: this.focusedDayNode }), hAsync("div", { key: '46df5dc4188ca94f1e9288cc94b369a56a951ee1', class: "duet-date-dialog-wrapper", onKeyDown: this.handleEscKey, ref: element => (this.dialogWrapperNode = element) }, hAsync("duet-visually-hidden", { key: '1de44e1f4c44b9c97adb419fa7abf60f937b0fa2', "aria-live": "polite" }, text.keyboardInstruction), hAsync("div", { key: '4a36684eab5f83211dcd9f04f240ad535f781376', class: "duet-date-dialog-mobile-header" }, hAsync(DuetInternalLabel, { key: 'ef9877f7fc10b63428437a0ddbc07a787792617b', margin: "none" }, this.label), hAsync("button", { key: '52b087991727aa7c32178aef85a7ff6a88b33f6e', class: "duet-date-picker-close", ref: element => (this.closeButtonNode = element), onClick: () => this.hide(), type: "button" }, hAsync("duet-icon", { key: '9434a8ab91835101fca28fb28d3ba3b5fc768583', name: "navigation-close-small", margin: "none", color: "currentColor", size: "xx-small" }), hAsync("duet-visually-hidden", { key: 'eaa01ae0b3e0270af1ee5b7777c4bf1c823ed55d' }, text.closeLabel))), hAsync("div", { key: '8f59e259985eb3628f23dd8aa4edd90eab33ce45', class: "duet-date-dialog-header" }, hAsync("div", { key: 'fd9e2ffede5b19a2008684f5587663372a769b0f', class: "duet-date-dialog-dropdowns" }, hAsync("duet-visually-hidden", { key: '9bfda8777868d3a1a0b5dfb1146d4bd22ece9b9d' }, hAsync("h2", { key: '4f8171f8b0bfabeb8ef0d44f604c668810572ba8', id: this.dialogLabelId, "aria-live": "polite", "aria-atomic": "true" }, text.monthLabels[focusedMonth], " ", this.focusedDay.getFullYear())), hAsync("duet-visually-hidden", { key: 'f55f26894bef3e11233e3d72b62d70ff5f4f30fc' }, hAsync("label", { key: '01d6cda898862ee9c82f018e4a875a54c8a4454c', htmlFor: this.monthSelectId }, text.monthSelectLabel)), hAsync("div", { key: '758b166665674a916ab6d6b2c9fd78b6f51f27fd', class: "duet-date-dialog-select" }, hAsync("select", { key: '548b2e7615f581454c64c30fe8e8c8d6dfe0d969', id: this.monthSelectId, class: "duet-date-month-select", ref: element => (this.monthSelectNode = element), onChange: this.handleMonthSelect }, text.monthLabels.map((month, i) => (hAsync("option", { key: month, value: i, selected: i === focusedMonth, disabled: !inRange(new Date(focusedYear, i, 1), minDate ? startOfMonth(minDate) : null, maxDate ? endOfMonth(maxDate) : null) }, month)))), hAsync("div", { key: '34d1e610de1d9f1c1436fdf1ffb2294742269696', class: "duet-date-dialog-select-label", "aria-hidden": "true" }, hAsync("span", { key: '84d57f82660038e7fb7d631e6eb03be0ef9c4315' }, text.monthLabelsShort[focusedMonth]), hAsync("duet-icon", { key: 'f706752d81c80ae05bf13a19ed6cfa3b2d7262cc', name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" }))), hAsync("duet-visually-hidden", { key: 'fb67730ced2246377442fb2fd2ebf5086db34fbd' }, hAsync("label", { key: '0d3d28925711a15b919004ad2384c719b9832f7d', htmlFor: this.yearSelectId }, text.yearSelectLabel)), hAsync("div", { key: '371bb8461b655460da25e9982e17c0385fab8f71', class: "duet-date-dialog-select" }, hAsync("select", { key: 'c466eed369426ad7cc78fbed3278a0523529920c', id: this.yearSelectId, class: "duet-date-year-select", onChange: this.handleYearSelect }, range(minYear, maxYear).map(year => (hAsync("option", { key: year, selected: year === focusedYear }, year)))), hAsync("div", { key: '78db254ed00d0d7b5104f4932415d970ff17e1f4', class: "duet-date-dialog-select-label", "aria-hidden": "true" }, hAsync("span", { key: '9a66b0dad5bf39fd769cd851cb529b4568310d9d' }, this.focusedDay.getFullYear()), hAsync("duet-icon", { key: 'a68a8da9385f631020ba28389caf1b611def6676', name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" })))), hAsync("div", { key: 'd1dd09f7da7f1e9d50cdd79ae97d13ba4d89be25', class: "duet-date-dialog-buttons" }, hAsync("duet-action-button", { key: 'e7b3c41d7d56f2c24b4e69db80e4c8fc2e0395a2', accessibleLabel: i18n$2[this.language].prevMonthLabel, actionName: i18n$2[this.language].prevMonthLabel, class: "duet-date-dialog-prev", onClick: this.handlePreviousMonthClick, disabled: prevMonthDisabled, "icon-name": "action-arrow-left-small" }, text.prevMonthLabel), hAsync("duet-action-button", { key: '980a6a1316a3f0b64a0ae62dd80d3494ea855ae8', accessibleLabel: i18n$2[this.language].nextMonthLabel, actionName: i18n$2[this.language].nextMonthLabel, class: "duet-date-dialog-next", onClick: this.handleNextMonthClick, disabled: nextMonthDisabled, "icon-name": "action-arrow-right-small" }, text.nextMonthLabel))), hAsync(DatePickerMonth, { key: '8524700a8665fe9b8edc04bd6b90b4aacc1eeea0', selectedDate: valueAsDate, focusedDate: this.focusedDay, onDateSelect: this.handleDaySelect, onKeyboardNavigation: this.handleKeyboardNavigation, labelledById: this.dialogLabelId, language: this.language, theme: this.theme, min: minDate, max: maxDate, disallowWeekends: this.disallowWeekends, disallowBankHolidays: this.disallowBankHolidays, disallowedDates: this.disallowedDates, focusedDayRef: element => (this.focusedDayNode = element), onFocusEnter: this.enableActiveFocus, onFocusExit: this.disableActiveFocus })), hAsync(FocusGuard, { key: '8b92a3d7d025848e2e3c976e9c091364b52b7f96', moveFocusTo: this.closeButtonNode }))));
10696
10871
  }
10697
10872
  get element() { return getElement(this); }
10698
10873
  static get watchers() { return {
10699
10874
  "min": ["updateValidity"],
10700
10875
  "max": ["updateValidity"],
10701
10876
  "value": ["updateValidity", "updateInternalValue"],
10702
- "required": ["updateValidity"]
10877
+ "required": ["updateValidity"],
10878
+ "inputValue": ["updateValidity"],
10879
+ "disallowWeekends": ["updateValidity"],
10880
+ "disallowBankHolidays": ["updateValidity"],
10881
+ "disallowedDates": ["updateValidity"]
10703
10882
  }; }
10704
10883
  static get style() { return duetDatePickerCss; }
10705
10884
  static get cmpMeta() { return {
@@ -10733,6 +10912,9 @@ class DuetDatePicker {
10733
10912
  "value": [1537],
10734
10913
  "min": [1],
10735
10914
  "max": [1],
10915
+ "disallowWeekends": [4, "disallow-weekends"],
10916
+ "disallowBankHolidays": [4, "disallow-bank-holidays"],
10917
+ "disallowedDates": [1, "disallowed-dates"],
10736
10918
  "incrementYears": [2, "increment"],
10737
10919
  "validity": [2064],
10738
10920
  "accessibleLiveError": [1, "accessible-live-error"],
@@ -10781,7 +10963,7 @@ class DuetDivider {
10781
10963
  */
10782
10964
  render() {
10783
10965
  const background = getColorByName(this.color);
10784
- return (hAsync("div", { key: 'a833c22a31c93caea94753696848ad720b5dc06d', class: {
10966
+ return (hAsync("div", { key: 'cfe1692393e236239489a12b1348ee3ceacbd6e8', class: {
10785
10967
  "duet-m-0": this.margin === "none",
10786
10968
  "duet-m-s": this.margin === "small",
10787
10969
  "duet-divider": true,
@@ -11019,7 +11201,7 @@ class DuetEditableTable {
11019
11201
  * Render Methods
11020
11202
  */
11021
11203
  render() {
11022
- return (hAsync(Host, { key: 'a0c3202194fcc3910b50193f2a4fcb3bd7d3a5d8', class: {
11204
+ return (hAsync(Host, { key: 'e8047048590b1dfac635e5a94a46fb1d61e4030b', class: {
11023
11205
  [`duet-editable-table-${this.variation}`]: true,
11024
11206
  "duet-editable-table": true,
11025
11207
  [`duet-editable-table-${this.theme}`]: true,
@@ -11029,7 +11211,7 @@ class DuetEditableTable {
11029
11211
  "duet-editable-table-actions": !!this.actions,
11030
11212
  "duet-m-0": this.margin === "none",
11031
11213
  "duet-theme-turva": this.theme === "turva",
11032
- } }, hAsync("duet-table", { key: '6e53631c212527e8702f9e9c8a1b9bc2b390c830', class: "duet-editable-table-table", sticky: this.sticky, stickyDistance: this.stickyDistance, margin: this.margin, theme: this.theme, variation: this.variation, breakpoint: this.breakpoint, "hide-head-visually": this.hideHeadVisually }, hAsync("table", { key: '990481c1affeb11d6a6541a36a8f0118c961915c', role: this.accessibleRole }, hAsync("caption", { key: 'f7b1bc44ab9fef0194485fdd6e49e11a306e365c' }, hAsync("slot", { key: '2caecec6e5c024bdde6fa6bf72917914e2626752', name: "tcaption" })), hAsync("thead", { key: 'c892dcd586814dcecddc46fbaf0319b04b6d9f16' }, this.hasHeadSlotFirst && (hAsync("tr", { key: 'bfbac21dbab8afab7f34e952bd5803954be4991d' }, hAsync("td", { key: '0a491ed1c4855d55b4dbc493a52029d657a08cc5', class: "duet-editable-table-actions-menu", colSpan: 99 }, hAsync("slot", { key: '87c033e72a1bd3b87a51a4981b1b4939de66578d', name: "thead-first" })))), this.renderTableHeader(), this.hasHeadSlotLast && (hAsync("tr", { key: '2ab66f9b14fe592f7ee7e6293cdd56b3aed0190e' }, hAsync("td", { key: 'edb3ae066371b6f5dc990f10f088246c0d9388d9', class: "duet-editable-table-actions-menu", colSpan: 99 }, hAsync("slot", { key: 'f57ebf07ee01c40cb47469b2fa07a706c4724dae', name: "thead-last" }))))), hAsync("tbody", { key: '538b2de606132fcb272e5af1650cafb947fc5b2a' }, this.renderTableBody()), this.hasFootSlot && (hAsync("tfoot", { key: '2f1a98dd550705933222f7179bc3ff4d6554d117' }, hAsync("tr", { key: 'ecb9667d57ea85de7efa6fa0035fbfbb16c78a9e' }, hAsync("td", { key: 'c78b25495de0621c55f70cce5131b1d192fc5e0e', class: "duet-editable-table-footer-menu", colSpan: 99 }, hAsync("slot", { key: 'ed051b0e66c28fdbee565b33c1c394034a817a82', name: "tfoot" })))))))));
11214
+ } }, hAsync("duet-table", { key: 'abcb5c0dc22830d840bbf18144e66605207849d0', class: "duet-editable-table-table", sticky: this.sticky, stickyDistance: this.stickyDistance, margin: this.margin, theme: this.theme, variation: this.variation, breakpoint: this.breakpoint, "hide-head-visually": this.hideHeadVisually }, hAsync("table", { key: '269ab86ebe745cfcf2e208e174e0914ea7b4fed8', role: this.accessibleRole }, hAsync("caption", { key: '2753e748db0c5264c994a41b002e52a5641d2971' }, hAsync("slot", { key: '567de210690137ae00e2ad40e2e2c1e1c733f3d7', name: "tcaption" })), hAsync("thead", { key: 'ea6b829d344cd19619f667d75304614cbf60cc9d' }, this.hasHeadSlotFirst && (hAsync("tr", { key: '84c66d116690df93737670dbbd0fc2b0e5c9f80b' }, hAsync("td", { key: '3ab4954300f48b65cdc48f612045ef4296f3561d', class: "duet-editable-table-actions-menu", colSpan: 99 }, hAsync("slot", { key: '9f32c90606e46036a34ca037bdfd61d4eae70fb2', name: "thead-first" })))), this.renderTableHeader(), this.hasHeadSlotLast && (hAsync("tr", { key: '8be7b6223bd2ba7109db839efde2baab0f04c40f' }, hAsync("td", { key: '1d6b0626d4b9dfdedc24f1118b53558e3ad80a54', class: "duet-editable-table-actions-menu", colSpan: 99 }, hAsync("slot", { key: '247e4a043cc716d504a4827c415a3d73e8285046', name: "thead-last" }))))), hAsync("tbody", { key: '778fd5a880190cffa0f9649b37839b2a0abedbe5' }, this.renderTableBody()), this.hasFootSlot && (hAsync("tfoot", { key: '8c5e4045377ec3547c5005836f389cac2221dc62' }, hAsync("tr", { key: '71959adb135cbcd6b7e19c9c9d4dcd3e799e8720' }, hAsync("td", { key: 'ff1dc8216a9c918c1d9dec4aaf77454fd728a9ff', class: "duet-editable-table-footer-menu", colSpan: 99 }, hAsync("slot", { key: '450238c070a9f72a326737a26b1f6ede2f9606d2', name: "tfoot" })))))))));
11033
11215
  }
11034
11216
  get element() { return getElement(this); }
11035
11217
  static get style() { return duetEditableTableCss; }
@@ -11111,13 +11293,13 @@ class DuetEmptyState {
11111
11293
  * Always the last one in the class.
11112
11294
  */
11113
11295
  render() {
11114
- return (hAsync(Host, { key: '83c41a104ebe8f29f18a2d0754a822981edd2204' }, hAsync("div", { key: 'c2b928a204ec58089c46368f0e7a73f2f6880633', class: {
11296
+ return (hAsync(Host, { key: 'bf9aa87672aa22b4e89cc0014f6918fd8389981f' }, hAsync("div", { key: '21e1d1af1326ef9709a99695809cb6025bd8431a', class: {
11115
11297
  "duet-empty-state": true,
11116
11298
  [this.variation]: true,
11117
11299
  [`padding-${this.padding}`]: true,
11118
11300
  "duet-theme-turva": this.theme === "turva",
11119
11301
  "duet-no-background": this.background === "none",
11120
- } }, this.icon !== "none" && this.getIcon(), this.heading && (hAsync("div", { key: '8b6f183f2022ef6a5d00b93cb4b345d93e310d45' }, hAsync("strong", { key: 'fd7369964488e3821b00cbf3493fa873ee5a969e', class: "duet-empty-state-heading" }, this.heading), hAsync("duet-spacer", { key: '7b96f48b9587efa581fc84b2205a32e839e03ee7', size: "x-small" }))), hAsync("div", { key: 'ea6a1f4c70a824c705e8f644f8e58f9768db8317' }, hAsync("slot", { key: '77c8aa58fa27abf0635ea22f22fd7d5c06d151dc' })))));
11302
+ } }, this.icon !== "none" && this.getIcon(), this.heading && (hAsync("div", { key: 'dc994018199345c865ee6d242349dadd99f71b36' }, hAsync("strong", { key: '4e758372f9785d9f54bfe969ddcb90a0ae1fee6d', class: "duet-empty-state-heading" }, this.heading), hAsync("duet-spacer", { key: '7eedd7853ef4ea89bb434dc55a488132fa8a30ef', size: "x-small" }))), hAsync("div", { key: '4d1817b68cd9e88627eb1725a06cd510ea10ed61' }, hAsync("slot", { key: '4db106ff0912e6896ca74071580223340fb3df14' })))));
11121
11303
  }
11122
11304
  get element() { return getElement(this); }
11123
11305
  static get style() { return duetEmptyStateCss; }
@@ -11212,20 +11394,20 @@ class DuetFieldset {
11212
11394
  * Always the last one in the class.
11213
11395
  */
11214
11396
  render() {
11215
- return (hAsync(Host, { key: 'e1a788de39eaef07a1abaa996870dd726b226aee', class: { "duet-m-0": this.margin === "none" } }, hAsync("fieldset", { key: 'e7d2b6ecb24666f6a563d4923bb228bdf7e8820d', "aria-labelledby": this.labelId, "aria-describedby": this.error ? this.errorId : null,
11397
+ return (hAsync(Host, { key: 'dfc4801eaf8c1165b778701dffc06cb6c6729dab', class: { "duet-m-0": this.margin === "none" } }, hAsync("fieldset", { key: '720a2326b5106d5a7665528aedf93a351173abd0', "aria-labelledby": this.labelId, "aria-describedby": this.error ? this.errorId : null,
11216
11398
  // NVDA and VoiceOver do not yet support aria-errormessage
11217
11399
  // once they do, we can remove errors from the aria-describedby
11218
11400
  // aria-errormessage={this.error ? this.errorId : null}
11219
11401
  class: {
11220
11402
  "duet-fieldset": true,
11221
11403
  "duet-theme-turva": this.theme === "turva",
11222
- } }, hAsync("legend", { key: '9412c1763b18075c6c6d585389c3ac9d22542f64', id: this.labelId }, hAsync(this.labelHeadingLevel, { key: '9c1c5cfef779deef96e68e7f3760f0eeec8d347a' }, this.label), this.caption && hAsync("span", { key: 'd166f280495ee9e156e705fe52455b18c5a13ea2' }, this.caption)), hAsync("div", { key: 'e390d201c421bbd2086946b4548dc98d5c58fead', class: {
11404
+ } }, hAsync("legend", { key: 'a3e0f5a2079c07462370fe5b4953029868a34128', id: this.labelId }, hAsync(this.labelHeadingLevel, { key: '8b09fc7c58d0cb9ce5228f420c16b7e753cbff32' }, this.label), this.caption && hAsync("span", { key: '5505e5ff8f0fb05d0de2100a606281efc89de10d' }, this.caption)), hAsync("div", { key: 'c283e26732c4a1a23ab92f2f69c470f8576a1295', class: {
11223
11405
  "duet-legend-wrapper": true,
11224
11406
  "duet-legend-has-caption": !!this.caption,
11225
11407
  "duet-legend-has-tooltip": this.hasTooltip,
11226
11408
  "duet-legend-hidden": this.labelHidden,
11227
11409
  "duet-legend-compact": this.compactLabel,
11228
- } }, hAsync("div", { key: '10861fb7ec43cc4aec34ae9b04b1b191dd7a0d5c', class: "duet-fieldset-label" }, hAsync("span", { key: '63b295dc887c75eb4bc062d214bb5b6a899e0f83', "aria-hidden": "true" }, this.label), hAsync("slot", { key: 'dc154b5f9980e99c525884e32f7811e36fe634fc', onSlotchange: this.checkHasTooltip, name: "tooltip" })), this.caption && (hAsync("div", { key: '1803a70997b3d2de928d501cfb86864bfa3af614', class: "duet-fieldset-caption", "aria-hidden": "true" }, hAsync("duet-caption", { key: 'c574d64b9a375d0af50bc0bed35ea0418139f579', theme: this.theme, margin: "none" }, this.caption)))), hAsync("slot", { key: '48665d8be4d66036d4d69090d7a98ee01f99dbac' }), hAsync("span", { key: '9815f8bf073a39267673baf538de5908b52758e9', class: "duet-fieldset-help duet-fieldset-error", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && hAsync("span", { key: '93bfa1f3fb33cf3bc23055948b416a18369b8497', class: { "duet-m-0": this.lastItemIsChip } }, this.error)))));
11410
+ } }, hAsync("div", { key: '1ffa47a6b399b46b218a71a35e645f3c7f3e4699', class: "duet-fieldset-label" }, hAsync("span", { key: '8f13839c07004cfa7b57c7e90a56a9416e5318cd', "aria-hidden": "true" }, this.label), hAsync("slot", { key: '48871bac950c808682971d71b05bffb3e4d2f423', onSlotchange: this.checkHasTooltip, name: "tooltip" })), this.caption && (hAsync("div", { key: '9a67fb599acf90e1b6711421f08b5f76776c9c2a', class: "duet-fieldset-caption", "aria-hidden": "true" }, hAsync("duet-caption", { key: '4b40741c7e05704d6c7d8226a926a6a38ceff851', theme: this.theme, margin: "none" }, this.caption)))), hAsync("slot", { key: 'f57fd8b8ab64c31c89e7daf22baa9c9ae1251cfa' }), hAsync("span", { key: '3fc490294c332706136999063ea7b3091c95676d', class: "duet-fieldset-help duet-fieldset-error", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && hAsync("span", { key: 'f8b4d8ccd2a8d7b1b0ef640f55520278995fe80b', class: { "duet-m-0": this.lastItemIsChip } }, this.error)))));
11229
11411
  }
11230
11412
  get element() { return getElement(this); }
11231
11413
  static get style() { return duetFieldsetCss; }
@@ -11424,16 +11606,16 @@ class DuetFooter {
11424
11606
  render() {
11425
11607
  const text = getLocaleString(i18n$1, this.language);
11426
11608
  const copyrightLabel = this.theme === "turva" ? text.turva : text.lahi;
11427
- return (hAsync("footer", { key: '803a027abb0c9d387f880a40cf4fa48cfdc96ab0', class: {
11609
+ return (hAsync("footer", { key: '41644e999245cd90d4c97839293f95bfa5d9d250', class: {
11428
11610
  "duet-footer": true,
11429
11611
  "duet-m-0": this.margin === "none",
11430
11612
  "duet-theme-turva": this.theme === "turva",
11431
11613
  "duet-footer-simple": this.variation === "simple",
11432
- }, "aria-label": this.accessibleLabel }, hAsync("div", { key: '46da624a2ea71bc94e7029110f2aa4b264e21a0b', class: "duet-footer-wrapper" }, this.variation !== "simple" && (hAsync("div", { key: 'bb5d3de968dc4d893e002294a3ab5106ca3676ad', class: {
11614
+ }, "aria-label": this.accessibleLabel }, hAsync("div", { key: '5cc2520a6657b134143ef4b54e8bc25cb4ec6f3f', class: "duet-footer-wrapper" }, this.variation !== "simple" && (hAsync("div", { key: '6172bf0124114fa0d1447d4cde52541c06513707', class: {
11433
11615
  "duet-footer-top": true,
11434
11616
  "duet-has-info": this.hasInfoSlot,
11435
- }, part: "top" }, hAsync("div", { key: 'a3c27f3c9fbf54263b0e632307fe2ed39aeb9e46', class: "footer-top-logo" }, hAsync("duet-logo", { key: '5f7440b81f78389724830f3e843c71de140ae05d', href: this.logoHref, onClick: this.handleLogoClick, size: "large", inverse: true, language: this.language, theme: this.theme })), hAsync("div", { key: 'f0a8b5cdda02fbd0fbff1015320572900e12a16e', class: "footer-top-right-container" }, hAsync("slot", { key: '2c9e48c0350b76dbb74c59cfbca727d1c579b7a5', name: "info" }), hAsync("div", { key: '4df2f42f2dc49b084a94de90de892adac97866c9', class: "footer-top-items" }, this.processedItems &&
11436
- this.processedItems.map((item, index) => (hAsync(Fragment, null, index > 0 && hAsync("duet-spacer", { size: "x-large", direction: "horizontal" }), hAsync("duet-button", { ref: element => this.setDataAttributes(element, item), theme: this.theme, id: item.id, class: "duet-footer-link", variation: "plain", margin: "none", fixed: true, negative: true, url: item.href, external: item.external, icon: this.getTopItemButtonIcon(item), "icon-right": !this.isMessagingLink(item.href), "icon-size": this.isMessagingLink(item.href) ? "medium" : "medium-small", onClick: event => this.handleItemClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label)))))))), hAsync("slot", { key: '51d5f56fe14519205709b1cb02bcfa1b87e6a3c2', name: "extra" }), hAsync("p", { key: '3e2b620a21d109d0f4119d5b2a8a1a5c1404ec5c', class: "duet-footer-menu", part: "menu" }, hAsync("span", { key: '9a5becef9ceb454715ee6f560e3f9df8ae72357a', class: "duet-footer-copyright" }, `${copyrightLabel} ${new Date().getFullYear()}`), hAsync("span", { key: '34b3c5e0d44b6a0497b7983ddde14380175618cc', class: "duet-footer-menu-links" }, this.processedMenu && (hAsync(Fragment, { key: 'd7defe3bd130ba7fb71731f71860351dbca3d726' }, this.processedMenu.map(item => (hAsync("a", { ref: element => this.setDataAttributes(element, item), href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleMenuClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label, item.external && (hAsync(Fragment, null, hAsync("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), hAsync("span", { class: "duet-footer-external" }, hAsync("duet-icon", { icon: newWindowIcon.svg, size: "xx-small", margin: "none", color: "currentColor" })))), hAsync("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/")))))))), hAsync("p", { key: '4c708db5c94a113edcda458bd9375cdb382a3237', class: "duet-footer-copyright duet-footer-copyright-mobile" }, `${copyrightLabel} ${new Date().getFullYear()}`))));
11617
+ }, part: "top" }, hAsync("div", { key: '8d7fa0e35487812a06867478b0d8c717e8cbc295', class: "footer-top-logo" }, hAsync("duet-logo", { key: '88a405f43f8923aec01dfbe7637d8b693c24ee94', href: this.logoHref, onClick: this.handleLogoClick, size: "large", inverse: true, language: this.language, theme: this.theme })), hAsync("div", { key: '0945fb2a21d2621abd034763e50d30f047fa7734', class: "footer-top-right-container" }, hAsync("slot", { key: '73eb607d6eae88968f7066c951f5f8ddf326f55e', name: "info" }), hAsync("div", { key: '1c142d6053b4b3f9b0bae03289e9ad79849cade6', class: "footer-top-items" }, this.processedItems &&
11618
+ this.processedItems.map((item, index) => (hAsync(Fragment, null, index > 0 && hAsync("duet-spacer", { size: "x-large", direction: "horizontal" }), hAsync("duet-button", { ref: element => this.setDataAttributes(element, item), theme: this.theme, id: item.id, class: "duet-footer-link", variation: "plain", margin: "none", fixed: true, negative: true, url: item.href, external: item.external, icon: this.getTopItemButtonIcon(item), "icon-right": !this.isMessagingLink(item.href), "icon-size": this.isMessagingLink(item.href) ? "medium" : "medium-small", onClick: event => this.handleItemClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label)))))))), hAsync("slot", { key: '86fc7e14e4fb80b35c4e81659c9e3b35d6c965c7', name: "extra" }), hAsync("p", { key: 'f5ddbb6a4cbf19f70259d96ef786cd6b068f503f', class: "duet-footer-menu", part: "menu" }, hAsync("span", { key: '9e2390e03d199fc50f6fb67181734a4ba71a38b8', class: "duet-footer-copyright" }, `${copyrightLabel} ${new Date().getFullYear()}`), hAsync("span", { key: 'c7b6bc951c3d2dc81abfcc4eac43d6d9061e9421', class: "duet-footer-menu-links" }, this.processedMenu && (hAsync(Fragment, { key: '87ef405d79957865d7cfd81f07fb400b9aa2ab1a' }, this.processedMenu.map(item => (hAsync("a", { ref: element => this.setDataAttributes(element, item), href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleMenuClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label, item.external && (hAsync(Fragment, null, hAsync("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), hAsync("span", { class: "duet-footer-external" }, hAsync("duet-icon", { icon: newWindowIcon.svg, size: "xx-small", margin: "none", color: "currentColor" })))), hAsync("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/")))))))), hAsync("p", { key: '53c2ae3a42969730299aa948b8b6d42e9d765d32', class: "duet-footer-copyright duet-footer-copyright-mobile" }, `${copyrightLabel} ${new Date().getFullYear()}`))));
11437
11619
  }
11438
11620
  get element() { return getElement(this); }
11439
11621
  static get watchers() { return {
@@ -11655,7 +11837,7 @@ class DuetGrid {
11655
11837
  * Always the last one in the class.
11656
11838
  */
11657
11839
  render() {
11658
- return (hAsync(Host, { key: 'e83b3b47e6285da96df9121db761bc7c5feddd65', class: {
11840
+ return (hAsync(Host, { key: 'e64260236eda4217a2cb10444342c33d243da8cf', class: {
11659
11841
  "duet-grid": true,
11660
11842
  "duet-no-stacking": !this.responsive,
11661
11843
  "duet-grid-align-top": this.alignment === "top", // flex-start
@@ -11684,7 +11866,7 @@ class DuetGrid {
11684
11866
  [`duet-grid-template-${this.gridTemplate}`]: true,
11685
11867
  "duet-grid-no-row-gap": this.gridTemplateGap.startsWith("none") && this.gridTemplate !== "button-grid",
11686
11868
  "duet-grid-no-column-gap": this.gridTemplateGap.endsWith("none") && this.gridTemplate !== "button-grid",
11687
- } }, hAsync("slot", { key: 'f53c15eef6edec556ff4200a95675a2feb5574e4' })));
11869
+ } }, hAsync("slot", { key: '1cb11ce3685bf5043dfa3e36e6a0ff3653106b54' })));
11688
11870
  }
11689
11871
  get element() { return getElement(this); }
11690
11872
  static get watchers() { return {
@@ -11714,7 +11896,7 @@ class DuetGrid {
11714
11896
  }; }
11715
11897
  }
11716
11898
 
11717
- const duetGridItemCss = ":host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:16px !important;min-width:0;max-width:100%;flex:0 0 auto;padding-right:8px;padding-left:8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;color:rgb(8, 42, 77)}:host(.duet-grid-direction-horizontal:not(.duet-grid-item-row-reverse):first-child){padding-left:0}:host(.duet-grid-direction-horizontal:not(.duet-grid-item-row-reverse):first-of-type){padding-left:0}:host(.duet-grid-direction-horizontal:not(.duet-grid-item-row-reverse):last-child){padding-right:0}:host(.duet-grid-direction-horizontal:not(.duet-grid-item-row-reverse):last-of-type){padding-right:0}:host(.duet-grid-direction-horizontal.duet-grid-item-row-reverse:first-child){padding-right:0}:host(.duet-grid-direction-horizontal.duet-grid-item-row-reverse:first-of-type){padding-right:0}:host(.duet-grid-direction-horizontal.duet-grid-item-row-reverse:last-child){padding-left:0}:host(.duet-grid-direction-horizontal.duet-grid-item-row-reverse:last-of-type){padding-left:0}@media (max-width: 35.9375em){:host(.duet-grid-item-responsive){width:100% !important;min-width:0 !important;max-width:100% !important;padding-right:0;padding-left:0}}@media screen and (max-width: 47.9375em){:host(.duet-grid-item-br-medium){width:100% !important;min-width:0 !important;max-width:100% !important}}@media screen and (max-width: 47.9375em){:host(.duet-grid-item-responsive.duet-grid-item-br-medium){padding-right:0;padding-left:0}}@media screen and (max-width: 64em){:host(.duet-grid-item-br-x-large){width:100% !important;min-width:0 !important;max-width:100% !important}}@media screen and (max-width: 64em){:host(.duet-grid-item-responsive.duet-grid-item-br-x-large){padding-right:0;padding-left:0}}:host(.duet-grid-item-fill){flex:1 1 auto;width:100%}:host(.duet-m-0){padding:0 !important;margin:0 !important}:host(.duet-theme-turva){font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 42, 59)}";
11899
+ const duetGridItemCss = ":host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:16px !important;min-width:0;max-width:100%;flex:0 0 auto;padding-right:8px;padding-left:8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;color:rgb(8, 42, 77)}:host(.duet-grid-direction-vertical){padding-right:0;padding-left:0}:host(.duet-grid-direction-horizontal:not(.duet-grid-item-row-reverse):first-child){padding-left:0}:host(.duet-grid-direction-horizontal:not(.duet-grid-item-row-reverse):first-of-type){padding-left:0}:host(.duet-grid-direction-horizontal:not(.duet-grid-item-row-reverse):last-child){padding-right:0}:host(.duet-grid-direction-horizontal:not(.duet-grid-item-row-reverse):last-of-type){padding-right:0}:host(.duet-grid-direction-horizontal.duet-grid-item-row-reverse:first-child){padding-right:0}:host(.duet-grid-direction-horizontal.duet-grid-item-row-reverse:first-of-type){padding-right:0}:host(.duet-grid-direction-horizontal.duet-grid-item-row-reverse:last-child){padding-left:0}:host(.duet-grid-direction-horizontal.duet-grid-item-row-reverse:last-of-type){padding-left:0}@media (max-width: 35.9375em){:host(.duet-grid-item-responsive){width:100% !important;min-width:0 !important;max-width:100% !important;padding-right:0;padding-left:0}}@media screen and (max-width: 47.9375em){:host(.duet-grid-item-br-medium){width:100% !important;min-width:0 !important;max-width:100% !important}}@media screen and (max-width: 47.9375em){:host(.duet-grid-item-responsive.duet-grid-item-br-medium){padding-right:0;padding-left:0}}@media screen and (max-width: 64em){:host(.duet-grid-item-br-x-large){width:100% !important;min-width:0 !important;max-width:100% !important}}@media screen and (max-width: 64em){:host(.duet-grid-item-responsive.duet-grid-item-br-x-large){padding-right:0;padding-left:0}}:host(.duet-grid-item-fill){flex:1 1 auto;width:100%}:host(.duet-m-0){padding:0 !important;margin:0 !important}:host(.duet-theme-turva){font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 42, 59)}";
11718
11900
 
11719
11901
  class DuetGridItem {
11720
11902
  constructor(hostRef) {
@@ -11767,7 +11949,7 @@ class DuetGridItem {
11767
11949
  * Always the last one in the class.
11768
11950
  */
11769
11951
  render() {
11770
- return (hAsync(Host, { key: '4b538b2691f1fe5d57e6d1bbdec0e4278128c0c8', style: {
11952
+ return (hAsync(Host, { key: 'df12b3cc2925272599581a0a6c922364a9ddbc83', style: {
11771
11953
  "min-width": this.minWidth,
11772
11954
  "max-width": this.maxWidth,
11773
11955
  }, class: {
@@ -11784,7 +11966,7 @@ class DuetGridItem {
11784
11966
  "duet-grid-item-br-medium": this.breakpoint === "medium",
11785
11967
  "duet-grid-item-br-large": this.breakpoint === "large",
11786
11968
  "duet-grid-item-br-x-large": this.breakpoint === "x-large",
11787
- } }, hAsync("slot", { key: 'dabba4fd818496d5472f9328f3a400ce0dac9bc0' })));
11969
+ } }, hAsync("slot", { key: 'beb1eff26b3dd81aab53500be3b2f5274c099c9d' })));
11788
11970
  }
11789
11971
  get element() { return getElement(this); }
11790
11972
  static get style() { return duetGridItemCss; }
@@ -12825,7 +13007,7 @@ class DuetHeading {
12825
13007
  render() {
12826
13008
  const TagName = sanitizeString$1(this.level);
12827
13009
  const color = getColorByName(this.color);
12828
- return (hAsync(TagName, { key: '0688ea9a9c1b36b5f8ca555051c1efa338bd1f57', class: {
13010
+ return (hAsync(TagName, { key: 'c921aaf37180daaa075fa9973069ff1ead3050a1', class: {
12829
13011
  "duet-heading": true,
12830
13012
  "duet-heading-border": this.border !== false,
12831
13013
  "duet-heading-border-solid": this.border === "solid",
@@ -12836,7 +13018,7 @@ class DuetHeading {
12836
13018
  [this.visualLevel ? this.visualLevel : this.level]: true,
12837
13019
  "duet-theme-turva": this.theme === "turva",
12838
13020
  "fixed-size": this.fixedSize,
12839
- }, "aria-label": this.accessibleLabel, style: { color }, part: "duet-heading" }, this.preHeading && hAsync("span", { key: 'ca9674066e83408743dda180faa73befac1f6ee2', class: "pre-post-heading" }, this.preHeading, " "), hAsync("slot", { key: 'e2903a1c33bc8e3681523f2ab59ce83ad258bc87' }), this.postHeading && hAsync("span", { key: '623bec656c67630d780b7922c922bf62da571dec', class: "pre-post-heading" }, " ", this.postHeading)));
13021
+ }, "aria-label": this.accessibleLabel, style: { color }, part: "duet-heading" }, this.preHeading && hAsync("span", { key: 'a39345b73db50edae14806161481c4f5ec2aea71', class: "pre-post-heading" }, this.preHeading, " "), hAsync("slot", { key: 'f36300eafdc9fea4a9b8fde902cd1872bb586b65' }), this.postHeading && hAsync("span", { key: 'e8f5b8d19838e6c3d8e049975dcc5740bfd00363', class: "pre-post-heading" }, " ", this.postHeading)));
12840
13022
  }
12841
13023
  get element() { return getElement(this); }
12842
13024
  static get style() { return duetHeadingCss; }
@@ -12863,7 +13045,7 @@ class DuetHeading {
12863
13045
  }; }
12864
13046
  }
12865
13047
 
12866
- const duetHeroCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;display:block;width:100%}.duet-hero{position:relative;display:block;width:100%;padding:48px 28px;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-style:normal;font-weight:400;line-height:1.5;text-transform:none;text-decoration:none;text-shadow:none;background:rgb(8, 42, 77)}.duet-hero.duet-p-0{padding:0 !important}.duet-hero.duet-m-0{margin:0 !important}.duet-hero.duet-hero-text-center{text-align:center !important}.duet-hero.duet-hero-light{padding-bottom:0 !important}@media (min-width: 62em){.duet-hero.duet-hero-light{padding-bottom:28px !important}}.duet-hero.duet-hero-with-image{padding-bottom:20px !important;margin-bottom:-36px}@media (min-width: 48em){.duet-hero.duet-hero-with-image{padding-bottom:28px !important}}@media (min-width: 62em){.duet-hero.duet-hero-with-image{padding-bottom:36px !important;margin-bottom:-20px}}.duet-hero.duet-hero-light,.duet-hero.duet-hero-with-image{color:rgb(8, 42, 77);background-color:rgb(255, 255, 255);background-image:linear-gradient(rgb(240, 247, 250), #f8fbfd)}.duet-hero.duet-hero-light::before,.duet-hero.duet-hero-with-image::before{position:absolute;top:100%;left:0;z-index:-1;width:100%;height:400px;content:\"\";background-image:linear-gradient(#f8fbfd, rgb(255, 255, 255))}.duet-hero.duet-hero-gray{color:rgb(8, 42, 77);background:rgb(245, 248, 250)}@media (min-width: 62em){.duet-hero.duet-hero-gray .duet-hero-text{display:inline-block;vertical-align:top}.duet-hero.duet-hero-gray .duet-hero-icon+.duet-hero-text{margin-left:28px}}@media (min-width: 62em){.duet-hero.duet-hero-gray-with-actions{padding-bottom:65.4545454545px}}@media (min-width: 62em){.duet-hero.duet-hero-gray-with-back{padding-top:72px}}.duet-hero.duet-hero-campaign,.duet-hero.duet-hero-section{padding:0 0 48px;margin:0;background:none}@media (min-width: 48em){.duet-hero.duet-hero-campaign,.duet-hero.duet-hero-section{min-height:490px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign,.duet-hero.duet-hero-section{min-height:540px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign,.duet-hero.duet-hero-section{min-height:620px}}.duet-hero.duet-hero-campaign .background-area,.duet-hero.duet-hero-section .background-area{height:1px;margin-bottom:-1px}.duet-hero.duet-hero-campaign .background-container,.duet-hero.duet-hero-section .background-container{position:absolute;right:0;left:0;display:grid;align-items:flex-start;justify-content:center;overflow:hidden}.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{display:flex;align-items:flex-start;justify-content:center;height:220px;margin:0 auto}.duet-hero.duet-hero-campaign .background img,.duet-hero.duet-hero-section .background img{height:100%}.duet-hero.duet-hero-campaign .background img.cover,.duet-hero.duet-hero-section .background img.cover{object-fit:cover}.duet-hero.duet-hero-campaign .background img.center,.duet-hero.duet-hero-section .background img.center{object-position:center}@media (min-width: 1440px){.duet-hero.duet-hero-campaign .background img,.duet-hero.duet-hero-section .background img{width:100%;height:auto}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:300px}}@media (min-width: 48em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:450px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:500px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:580px}}@media (min-width: 1600px){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{width:1600px;overflow:hidden}}.duet-hero.duet-hero-campaign .background .brand-container,.duet-hero.duet-hero-section .background .brand-container{position:relative;width:100%;height:100%;min-height:220px;overflow:hidden}.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{position:absolute;width:100%;height:220px;background-repeat:no-repeat;background-position:center center;background-size:cover}@media (min-width: 36em){.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{left:-200px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{left:auto;height:1100px;background-position:140% -200%}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{background-position:right -200%}}.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{position:absolute;top:143px;right:0;left:-30px;width:340px;height:340px;margin-right:auto;margin-left:auto;background:rgb(255, 255, 255);border-radius:20%;mix-blend-mode:normal;transform:rotate(8deg)}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:160px;width:450px;height:450px}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:215px;left:-50px;width:550px;height:550px}}@media (min-width: 48em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:250px;left:0;width:712.18px;height:712.18px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:240px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:280px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:310px}}.duet-hero.duet-hero-campaign ::slotted(.duet-heading),.duet-hero.duet-hero-section ::slotted(.duet-heading){font-size:inherit !important;color:inherit !important}.duet-hero.duet-hero-campaign .duet-hero-text,.duet-hero.duet-hero-section .duet-hero-text{width:100%}.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading),.duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading){font-size:36px}@media (min-width: 36em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading),.duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading){font-size:48px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading),.duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading){font-size:64px}}.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{margin:0 auto}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:90%}}@media (min-width: 25em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:80%}}@media (min-width: 30em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:70%}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:70%}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:52%}}.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{display:flex;align-items:center;height:6rem;padding:0 1rem;margin:1rem 0 4.5rem}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:2rem 0 4rem}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:3rem 0 8rem}}@media (min-width: 48em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:4rem 0 10rem}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:5rem 0 10rem}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:6rem 0 10rem}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:8rem 0 11rem}}.duet-hero.duet-hero-campaign .duet-hero-wrapper.fluid,.duet-hero.duet-hero-campaign .duet-hero-wrapper.narrow,.duet-hero.duet-hero-section .duet-hero-wrapper.fluid,.duet-hero.duet-hero-section .duet-hero-wrapper.narrow{padding:0 16px}@media (min-width: 48em){.duet-hero.duet-hero-section{min-height:490px}}@media (min-width: 62em){.duet-hero.duet-hero-section{min-height:auto}}@media (min-width: 76.25em){.duet-hero.duet-hero-section{min-height:560px}}@media (min-width: 62em){.duet-hero.duet-hero-section .background img{width:100%;height:auto}}@media (min-width: 62em){.duet-hero.duet-hero-section .background{width:1400px;height:436px;overflow:hidden}}@media (min-width: 76.25em){.duet-hero.duet-hero-section .background{width:1536px;height:516px}}@media (min-width: 106.25em){.duet-hero.duet-hero-section .background{width:1536px}}.duet-hero.duet-hero-product{position:relative;padding:0 0 48px;margin:0;background:rgb(255, 255, 255)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product{padding-top:240px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product{padding-top:200px}}@media (min-width: 36em){.duet-hero.duet-hero-product{padding-top:260px}}@media (min-width: 48em){.duet-hero.duet-hero-product{padding-top:250px}}@media (min-width: 48em){.duet-hero.duet-hero-product{min-height:400px;padding:72px 0}}@media (min-width: 62em){.duet-hero.duet-hero-product{min-height:500px;padding:96px 0}}@media (min-width: 76.25em){.duet-hero.duet-hero-product{min-height:575px;padding:120px 0}}.duet-hero.duet-hero-product .background-area{position:absolute;top:0;width:100%;height:600px;overflow:hidden;pointer-events:none}.duet-hero.duet-hero-product .background-area *{pointer-events:auto}.duet-hero.duet-hero-product .background-container{position:absolute;top:-150px;width:100%;height:600px;overflow:hidden;pointer-events:none}.duet-hero.duet-hero-product .background-container *{pointer-events:auto}@media (min-width: 62em){.duet-hero.duet-hero-product .background-container{top:-48px}}.duet-hero.duet-hero-product .background{position:absolute;top:145px;width:100%;overflow:visible}.duet-hero.duet-hero-product .background .background-mask{display:none}@media (min-width: 48em){.duet-hero.duet-hero-product .background{top:130px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background{top:35px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background{position:absolute;right:0;left:0;max-width:1440px;height:100%;margin:0 auto}}.duet-hero.duet-hero-product .background .brand-shaped-image{position:absolute;top:-160px;right:-15%;z-index:0;width:375px;height:375px;overflow:hidden;border-radius:20%;transform:rotate(7deg)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-160px;right:-60px;width:360px;height:360px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-120px;right:-14px;width:290px;height:290px}}@media (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-175px;right:-20px;width:400px;height:400px}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-145px;right:-150px;width:414px;height:414px}}@media (min-width: 860px){.duet-hero.duet-hero-product .background .brand-shaped-image{right:-105px}}@media (min-width: 960px){.duet-hero.duet-hero-product .background .brand-shaped-image{right:-45px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-190px;right:-150px;width:552px;height:552px}}@media (min-width: 1100px){.duet-hero.duet-hero-product .background .brand-shaped-image{right:-35px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-300px;right:-128px;width:736px;height:736px}.duet-hero.duet-hero-product .background .brand-shaped-image.narrow{right:-160px}}@media (min-width: 1300px){.duet-hero.duet-hero-product .background .brand-shaped-image.narrow{right:-128px}}.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-wrapper{position:relative;width:100%;height:100%}.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{position:absolute;bottom:0;left:50%;z-index:1;width:600px;height:256px;background-repeat:no-repeat;background-position:40px;background-size:100%;transform:rotate(-7deg) translate(-50%, 0)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:520px;height:240px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:440px;height:200px}}@media (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:600px;height:260px}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:500px;height:292px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:720px;height:420px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:950px;height:540px}}.duet-hero.duet-hero-product .background .brand-shape{position:absolute;background:rgb(228, 241, 247);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product .background .brand-shape{top:20px;right:210px;width:200px;height:200px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product .background .brand-shape{top:24px;right:199px;width:162px;height:162px}}@media (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shape{top:25px;right:290px;width:220px;height:220px}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shape{top:90px;right:145px;width:225px;height:225px}}@media (min-width: 860px){.duet-hero.duet-hero-product .background .brand-shape{right:195px}}@media (min-width: 960px){.duet-hero.duet-hero-product .background .brand-shape{right:245px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shape{top:115px;right:228px;width:300px;height:300px}}@media (min-width: 1100px){.duet-hero.duet-hero-product .background .brand-shape{right:343px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shape{right:394px;width:400px;height:400px}}.duet-hero.duet-hero-product .background .brand-shaped-icon{position:absolute;display:flex;align-items:center;justify-content:center;background:rgba(0, 119, 179, 0.85);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:165px;right:25px;width:69px;height:69px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:138px;right:50px;width:57px;height:57px}}@media (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:175px;right:125px;width:78px;height:78px}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:220px;right:60px}}@media (min-width: 860px){.duet-hero.duet-hero-product .background .brand-shaped-icon{right:110px}}@media (min-width: 960px){.duet-hero.duet-hero-product .background .brand-shaped-icon{right:160px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:296px;right:120px;width:105px;height:105px}}@media (min-width: 1100px){.duet-hero.duet-hero-product .background .brand-shaped-icon{right:235px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:345px;right:245px;width:140px;height:140px}}.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{transform:rotate(-7deg)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:100%;height:100%}}@media (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:72px;height:72px}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:72px;height:72px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:86px;height:86px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:104px;height:104px}}.duet-hero.duet-hero-product .duet-hero-wrapper{max-width:100%;margin:0 auto}.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-text{margin-top:0}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading{margin-top:0}}.duet-hero.duet-hero-product .duet-hero-wrapper.fluid,.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{padding:0 16px}@media (min-width: 36em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid{padding:0 28px}}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid{padding:0 56px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid{max-width:1110px;padding:0}}@media (min-width: 48em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid .duet-hero-text{width:60%}}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid .duet-hero-text{width:50%}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid .duet-hero-text{width:47%}}.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{max-width:888px}@media (min-width: 36em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{padding:0 48px}}@media (min-width: 48em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{padding:0 72px}}@media (min-width: 48em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow .duet-hero-text{width:60%}}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow .duet-hero-text{width:47%}}.duet-hero.duet-hero-product.duet-theme-turva{background:rgb(255, 255, 255)}.duet-hero.duet-hero-product.duet-theme-turva .background .background-mask{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;pointer-events:none;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K\");background-repeat:no-repeat}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background .background-mask{left:181px}}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{margin:0 auto;border-radius:0;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transform:none}@media (max-width: 35.9375em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-120px;width:385px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-95px;width:320px}}@media (min-width: 36em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-135px;width:420px}}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-110px;right:-110px;width:418px}}@media (min-width: 860px){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{right:-75px}}@media (min-width: 960px){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{right:-40px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-130px;right:-100px;width:552px}}@media (min-width: 1100px){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{right:-35px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-215px;width:736px}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image.narrow{right:-115px}}@media (min-width: 1300px){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image.narrow{right:-50px}}@media (min-width: 1400px){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image.narrow{right:-35px}}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image .brand-shaped-image-bg{transform:translate(-50%, 0)}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon{background:rgba(230, 23, 64, 0.9);-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transform:rotate(0deg)}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon{position:relative;top:-6px;transform:rotate(0deg)}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon{top:-8px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon{top:-12px}}.duet-hero.duet-hero-content{padding:0 0 48px;padding-top:236px;background:rgb(255, 255, 255)}@media (min-width: 48em){.duet-hero.duet-hero-content{padding-top:384px}}.duet-hero.duet-hero-content:not(.duet-hero-has-image){padding:72px 0 48px}.duet-hero.duet-hero-content .background-area{position:absolute;width:100%}.duet-hero.duet-hero-content .background{position:absolute;top:-236px;width:100%;height:600px;overflow:hidden;pointer-events:none}.duet-hero.duet-hero-content .background *{pointer-events:auto}.duet-hero.duet-hero-content .background .background-mask{display:none}@media (min-width: 48em){.duet-hero.duet-hero-content .background{top:-384px}}.duet-hero.duet-hero-content .background .brand-shaped-image{position:absolute;top:-165px;right:0;left:30px;z-index:0;width:375px;height:375px;margin:0 auto;overflow:hidden;border-radius:20%;transform:rotate(7deg)}@media (min-width: 48em){.duet-hero.duet-hero-content .background .brand-shaped-image{top:-325px;left:250px;width:687px;height:687px}}.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-wrapper{position:relative;width:100%;height:100%}.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg{position:absolute;bottom:0;left:50%;z-index:1;width:600px;height:256px;background-repeat:no-repeat;background-size:100%;transform:rotate(-7deg) translate(-50%, 0)}@media (min-width: 48em){.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg{width:733px;height:413px}}.duet-hero.duet-hero-content .background .brand-shape{position:absolute;top:-25px;right:0;left:-300px;width:240px;height:240px;margin-right:auto;margin-left:auto;background:rgb(0, 119, 179);border-radius:20%;mix-blend-mode:normal;opacity:0.07;transform:rotate(7deg)}@media (min-width: 48em){.duet-hero.duet-hero-content .background .brand-shape{top:80px;left:-400px;width:373px;height:373px}}.duet-hero.duet-hero-content .duet-hero-wrapper{max-width:100%;margin:0 auto}.duet-hero.duet-hero-content .duet-hero-wrapper.fluid,.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{padding:0 16px}@media (min-width: 36em){.duet-hero.duet-hero-content .duet-hero-wrapper.fluid{padding:0 28px}}@media (min-width: 62em){.duet-hero.duet-hero-content .duet-hero-wrapper.fluid{padding:0 56px}}@media (min-width: 76.25em){.duet-hero.duet-hero-content .duet-hero-wrapper.fluid{max-width:1110px;padding:0}}.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{max-width:888px}@media (min-width: 36em){.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{padding:0 48px}}@media (min-width: 48em){.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{padding:0 72px}}.duet-hero.duet-hero-content .duet-hero-text{max-width:100%}@media (min-width: 62em){.duet-hero.duet-hero-content .duet-hero-text{width:80%}}.duet-hero.duet-hero-content .duet-hero-text .duet-hero-pre{margin-top:1rem;margin-bottom:0.5rem}@media (min-width: 62em){.duet-hero.duet-hero-content .duet-hero-text .duet-hero-pre{margin-top:1.5rem;margin-bottom:0}}@media (min-width: 62em){.duet-hero{min-height:290px;padding:111.6px 56px;overflow:visible}}.duet-hero-icon{display:inline-block;vertical-align:top}@media (min-width: 62em){.duet-hero-icon{margin-top:-8px}}@media (min-width: 62em){.duet-hero-heading{margin-top:12px}}@media (min-width: 62em){.duet-hero-heading-has-pre{margin-top:0}}.duet-hero-wrapper{position:relative;width:100%;max-width:1110px;margin:0 auto;text-align:center}.duet-hero-left-align .duet-hero-wrapper{text-align:left}.duet-hero-with-image .duet-hero-wrapper{position:static}@media (min-width: 62em){.duet-hero-wrapper{text-align:left}}.duet-hero-text{max-width:50rem;margin:0 auto}.duet-hero-text-center .duet-hero-text{text-align:center !important}@media (min-width: 48em){.duet-hero-text{width:80%}.duet-hero-left-align .duet-hero-text{margin:0}}@media (min-width: 62em){.duet-hero-text{width:52%;max-width:none;margin-top:-10px;margin-left:0}.duet-hero-text-center .duet-hero-text{margin-left:auto}}.duet-hero:not(.duet-hero-with-image) .duet-hero-image{width:100%;max-width:400px;height:0;padding-bottom:50%;margin:28px auto 0;background-repeat:no-repeat;background-position:50% 50%;background-size:contain}@media (min-width: 36em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{padding-bottom:40%}}@media (min-width: 48em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{max-width:420px;padding-bottom:34%}.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image{max-width:540px}}@media (min-width: 62em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{position:absolute;top:50%;right:0;padding-bottom:30%;margin:0;transform:translateY(-50%)}.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image{right:-60px;padding-bottom:26%}.duet-hero-gray .duet-hero:not(.duet-hero-with-image) .duet-hero-image{right:-34px;padding-bottom:20%}}@media (min-width: 62em){.duet-hero-gray:not(.duet-hero-with-image) .duet-hero-image{right:-34px;padding-bottom:20%}}.duet-hero-image-wrapper{position:relative;width:80%;height:0;padding-bottom:80%;margin:-30px auto 36px;overflow:hidden;border-radius:28%;box-shadow:0 0 20px rgba(255, 255, 255, 0.5);transform:rotate(10deg)}@media screen and (min-width: 440px){.duet-hero-image-wrapper{width:300px;padding-bottom:300px}}@media (min-width: 62em){.duet-hero-image-wrapper{position:absolute;top:-60px;right:-50px;width:470px;padding-bottom:470px;margin:0}}@media (min-width: 76.25em){.duet-hero-image-wrapper{top:-70px;right:-60px;width:600px;padding-bottom:600px}}@media screen and (min-width: 1450px){.duet-hero-image-wrapper{top:-70px;right:25px}}.duet-hero-image-wrapper .duet-hero-image{position:absolute;top:-5%;left:-5%;width:110%;height:110%;background-repeat:no-repeat;background-position:50% 50%;background-size:cover;transform:rotate(-10deg)}.duet-hero-image-mask{position:relative;margin:-48px auto 0;overflow:hidden}@media (min-width: 62em){.duet-hero-image-mask{position:absolute;top:0;right:0;width:470px;height:460px;margin:0}}@media (min-width: 76.25em){.duet-hero-image-mask{width:650px;height:580px}}@media screen and (min-width: 1450px){.duet-hero-image-mask{right:50%;transform:translateX(110%)}}duet-heading+duet-button{margin-top:12px !important}.duet-hero-links{width:calc(100% + 56px);margin-top:48px;margin-left:-28px}.duet-hero-minimal .duet-hero-links{margin-top:28px}@media (min-width: 36em){.duet-hero-links{margin-top:72px}.duet-hero-minimal .duet-hero-links{margin-top:28px}}@media (min-width: 62em){.duet-hero-links{width:auto;margin:36px 0 0}.duet-hero-minimal .duet-hero-links{margin-top:28px}}.duet-hero-link{display:flex;align-items:center;width:100%;padding:16px 16px 8px;font-weight:600;line-height:1.25;color:rgb(0, 119, 179);text-align:left;-webkit-hyphens:auto;hyphens:auto;text-decoration:none;border-bottom:1px solid rgb(212, 223, 229);transition:background-color 300ms ease}.duet-hero-link:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-hero-link:focus,.duet-hero-link:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-hero-link:hover,.duet-hero-link:hover .duet-hero-action-arrow{color:rgb(0, 75, 129) !important;background:transparent !important}@media (min-width: 36em){.duet-hero-link{padding:16px 16px 16px 28px}}@media (min-width: 62em){.duet-hero-link{display:inline-flex;width:auto;max-width:350px;padding:0;margin:0 28px 16px 0;border:0;border-radius:4px}}.duet-hero-link:hover{background:rgba(0, 0, 0, 0.02)}@media (min-width: 62em){.duet-hero-link:hover{background:transparent}}.duet-hero-link:first-of-type{border-top:1px solid rgb(212, 223, 229)}@media (min-width: 62em){.duet-hero-link:first-of-type{margin-top:0;border:0}}.duet-hero-link:last-of-type{margin-bottom:-48px}@media (min-width: 62em){.duet-hero-link:last-of-type{margin-right:0;margin-bottom:0}}.duet-hero-link span{margin-top:-8px}@media (min-width: 36em){.duet-hero-link span{margin:0}}.duet-hero-action-icon{margin-right:8px}@media (min-width: 36em){.duet-hero-action-icon{margin-right:12px}}.duet-hero-action-arrow{margin:0 0 0 8px;color:rgb(0, 119, 179)}@media (max-width: 35.9375em){.duet-hero-action-arrow{margin-top:-9px}}.duet-hero-back{margin-bottom:28px !important;display:flex;align-items:center;justify-content:center}.duet-hero-left-align .duet-hero-back{align-items:self-start;justify-content:flex-start}@media (min-width: 36em){.duet-hero-back{margin-bottom:36px !important}.duet-hero-minimal .duet-hero-back{margin-bottom:28px !important}}@media (min-width: 62em){.duet-hero-back{display:block}}.duet-hero-pre{display:inline-block;width:auto;margin-right:8px}.duet-hero-pre+duet-heading{margin-top:0 !important}.duet-hero.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:rgb(230, 23, 64)}.duet-hero.duet-hero-light.duet-theme-turva,.duet-hero.duet-hero-with-image.duet-theme-turva{color:rgb(23, 42, 59);background-image:linear-gradient(rgb(253, 247, 242), #fefbf9)}.duet-hero.duet-hero-light.duet-theme-turva::before,.duet-hero.duet-hero-with-image.duet-theme-turva::before{background-image:linear-gradient(#fefbf9, rgb(255, 255, 255))}.duet-hero.duet-hero-gray.duet-theme-turva{background:rgb(245, 246, 247)}.duet-hero.duet-hero-campaign.duet-theme-turva,.duet-hero.duet-hero-section.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:none}.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:125px;left:-10px;width:350px;height:350px;background:rgb(255, 255, 255);-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transform:none}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:143px;left:-30px;width:450px;height:450px}}@media (min-width: 36em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:180px;left:0;width:550px;height:550px}}@media (min-width: 48em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:220px;width:712.18px;height:712.18px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:230px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:260px}}@media (min-width: 106.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:290px}}.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:98%}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:90%}}@media (min-width: 25em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:78%}}@media (min-width: 30em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:66%}}@media (min-width: 36em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:65%}}@media (min-width: 48em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:70%}}@media (min-width: 62em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:52%}}.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin-bottom:2rem}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin-bottom:2rem}}@media (min-width: 36em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin-bottom:4rem}}@media (min-width: 48em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin-bottom:6rem}}@media (min-width: 62em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin-bottom:7rem}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin-bottom:8rem}}@media (min-width: 106.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin-botton:9rem}}.duet-hero.duet-hero-campaign.duet-theme-turva .background-area .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .background-area .brand-shape{left:0;background-color:rgb(255, 255, 255);border-radius:24px;mask-image:none}.duet-hero.duet-hero-product.duet-theme-turva{display:flex;flex-direction:column;gap:20px;min-height:auto;padding-top:0;padding-bottom:72px;margin:0 auto}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva{flex-direction:row-reverse;gap:40px;padding-top:72px;padding-right:56px;padding-left:56px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product.duet-theme-turva{max-width:1110px;padding-right:0;padding-left:0}}.duet-hero.duet-hero-product.duet-theme-turva .background-area{position:relative;height:auto;overflow:visible}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid{position:relative;top:0;width:100%;height:auto;aspect-ratio:576/250;padding:0;overflow:visible;}@media (min-width: 36em){.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid{height:250px;aspect-ratio:auto}}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid{padding-right:28px;padding-left:28px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid{height:auto;aspect-ratio:53/32;padding-right:0;padding-left:0}}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background{position:relative;top:auto;height:100%}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .background-mask,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .background-mask{display:none;background-image:none}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-image,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-image{position:static;width:100%;height:100%;border-radius:0;mask-image:none}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-image .brand-shaped-image-bg,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-image .brand-shaped-image-bg{position:static;width:100%;height:100%;background-position:0;background-size:cover;transform:none}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-image,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-image{border-radius:0 0 12px 12px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-image,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-image{border-radius:12px}}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon{top:auto;right:20px;bottom:-16px;width:auto;height:auto;padding:0;background-color:rgb(23, 42, 59);border-radius:8px;mask-image:none}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon duet-icon,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon duet-icon{top:0;width:62px;height:62px}@media (min-width: 36em){.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon{right:40px;bottom:-24px;padding:8px}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon duet-icon,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon duet-icon{width:80px;height:80px}}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon{right:68px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon{right:40px}}.duet-hero.duet-hero-product.duet-theme-turva .duet-hero-wrapper .duet-hero-text{width:100%}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .duet-hero-wrapper{margin-top:28px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .duet-hero-wrapper{padding:0}}.duet-hero.duet-hero-content.duet-theme-turva{padding:0;margin:20px auto;background:rgb(255, 255, 255)}.duet-hero.duet-hero-content.duet-theme-turva .background-mask{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;pointer-events:none;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K\");background-repeat:no-repeat}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .background-mask{left:181px}}.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image{top:-155px;right:0;left:0;width:420px;height:420px;margin:0 auto;border-radius:0;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transform:none}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image{top:-230px;width:687px;height:637px}}.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg{width:600px;height:280px;transform:translate(-50%, 0)}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg{width:733px;height:413px}}.duet-hero.duet-hero-content.duet-theme-turva.duet-hero-narrow .background-area{max-width:888px}@media (min-width: 36em){.duet-hero.duet-hero-content.duet-theme-turva.duet-hero-narrow .background-area{padding:0 48px}}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva.duet-hero-narrow .background-area{padding:0 72px}}.duet-hero.duet-hero-content.duet-theme-turva .background-area{position:static;padding:0 16px;margin:0 auto}@media (min-width: 36em){.duet-hero.duet-hero-content.duet-theme-turva .background-area{padding:0 28px}}@media (min-width: 62em){.duet-hero.duet-hero-content.duet-theme-turva .background-area{padding:0 56px}}@media (min-width: 76.25em){.duet-hero.duet-hero-content.duet-theme-turva .background-area{max-width:1110px;padding:0}}.duet-hero.duet-hero-content.duet-theme-turva .background-area .background{position:static;height:auto}.duet-hero.duet-hero-content.duet-theme-turva .background-area .background .background-mask{display:none;background-image:none}.duet-hero.duet-hero-content.duet-theme-turva .background-area .background .brand-shaped-image{position:static;width:auto;height:auto}.duet-hero.duet-hero-content.duet-theme-turva .background-area .background .brand-shaped-image .brand-shaped-image-wrapper{width:auto;height:auto}.duet-hero.duet-hero-content.duet-theme-turva .background-area .background .brand-shaped-image .brand-shaped-image-bg{position:static;width:100%;height:auto;aspect-ratio:5/2;background-size:cover;transform:none}.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image{border-radius:12px;mask-image:none}.duet-hero.duet-hero-content.duet-theme-turva .duet-hero-wrapper{margin-top:28px}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .duet-hero-wrapper{margin-top:36px}}.duet-hero.duet-theme-turva .duet-hero-wrapper{position:static;margin-top:16px}@media (min-width: 48em){.duet-hero.duet-theme-turva .duet-hero-wrapper{margin-top:0}}.duet-theme-turva .duet-hero-image-wrapper{padding-bottom:68%;border-radius:44% 47% 38% 54%;transform:none}@media screen and (min-width: 440px){.duet-theme-turva .duet-hero-image-wrapper{width:80%;padding-bottom:68%}}@media (min-width: 62em){.duet-theme-turva .duet-hero-image-wrapper{top:-40px;right:-80px;width:536px;padding-bottom:470px}}@media (min-width: 76.25em){.duet-theme-turva .duet-hero-image-wrapper{top:-70px;right:-60px;width:650px;padding-bottom:600px}}@media screen and (min-width: 1450px){.duet-theme-turva .duet-hero-image-wrapper{right:0}}.duet-theme-turva .duet-hero-image-wrapper .duet-hero-image{top:0;left:0;width:100%;height:100%;transform:none}@media screen and (min-width: 1450px){.duet-theme-turva .duet-hero-image-mask{transform:translateX(108%)}}.duet-theme-turva .duet-hero-link{color:rgb(230, 23, 64)}.duet-theme-turva .duet-hero-link:hover .duet-hero-action-arrow{color:rgb(140, 0, 30) !important}.duet-theme-turva .duet-hero-action-arrow{color:rgb(230, 23, 64)}";
13048
+ const duetHeroCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;display:block;width:100%}.duet-hero{position:relative;display:block;width:100%;padding:48px 28px;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-style:normal;font-weight:400;line-height:1.5;text-transform:none;text-decoration:none;text-shadow:none;background:rgb(8, 42, 77)}.duet-hero.duet-p-0{padding:0 !important}.duet-hero.duet-m-0{margin:0 !important}.duet-hero.duet-hero-text-center{text-align:center !important}.duet-hero.duet-hero-light{padding-bottom:0 !important}@media (min-width: 62em){.duet-hero.duet-hero-light{padding-bottom:28px !important}}.duet-hero.duet-hero-with-image{padding-bottom:20px !important;margin-bottom:-36px}@media (min-width: 48em){.duet-hero.duet-hero-with-image{padding-bottom:28px !important}}@media (min-width: 62em){.duet-hero.duet-hero-with-image{padding-bottom:36px !important;margin-bottom:-20px}}.duet-hero.duet-hero-light,.duet-hero.duet-hero-with-image{color:rgb(8, 42, 77);background-color:rgb(255, 255, 255);background-image:linear-gradient(rgb(240, 247, 250), #f8fbfd)}.duet-hero.duet-hero-light::before,.duet-hero.duet-hero-with-image::before{position:absolute;top:100%;left:0;z-index:-1;width:100%;height:400px;content:\"\";background-image:linear-gradient(#f8fbfd, rgb(255, 255, 255))}.duet-hero.duet-hero-gray{color:rgb(8, 42, 77);background:rgb(245, 248, 250)}@media (min-width: 62em){.duet-hero.duet-hero-gray .duet-hero-text{display:inline-block;vertical-align:top}.duet-hero.duet-hero-gray .duet-hero-icon+.duet-hero-text{margin-left:28px}}@media (min-width: 62em){.duet-hero.duet-hero-gray-with-actions{padding-bottom:65.4545454545px}}@media (min-width: 62em){.duet-hero.duet-hero-gray-with-back{padding-top:72px}}.duet-hero.duet-hero-campaign,.duet-hero.duet-hero-section{padding:0 0 48px;margin:0;background:none}@media (min-width: 48em){.duet-hero.duet-hero-campaign,.duet-hero.duet-hero-section{min-height:490px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign,.duet-hero.duet-hero-section{min-height:540px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign,.duet-hero.duet-hero-section{min-height:620px}}.duet-hero.duet-hero-campaign .background-area,.duet-hero.duet-hero-section .background-area{height:1px;margin-bottom:-1px}.duet-hero.duet-hero-campaign .background-container,.duet-hero.duet-hero-section .background-container{position:absolute;right:0;left:0;display:grid;align-items:flex-start;justify-content:center;overflow:hidden}.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{display:flex;align-items:flex-start;justify-content:center;height:220px;margin:0 auto}.duet-hero.duet-hero-campaign .background picture,.duet-hero.duet-hero-section .background picture{display:block;height:100%}@media (min-width: 1440px){.duet-hero.duet-hero-campaign .background picture,.duet-hero.duet-hero-section .background picture{height:auto}}.duet-hero.duet-hero-campaign .background img,.duet-hero.duet-hero-section .background img{display:block;height:100%}.duet-hero.duet-hero-campaign .background img.cover,.duet-hero.duet-hero-section .background img.cover{object-fit:cover}.duet-hero.duet-hero-campaign .background img.center,.duet-hero.duet-hero-section .background img.center{object-position:center}@media (min-width: 1440px){.duet-hero.duet-hero-campaign .background img,.duet-hero.duet-hero-section .background img{width:100%;height:auto}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:300px}}@media (min-width: 48em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:450px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:500px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:580px}}@media (min-width: 1600px){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{width:1600px;overflow:hidden}}.duet-hero.duet-hero-campaign .background .brand-container,.duet-hero.duet-hero-section .background .brand-container{position:relative;width:100%;height:100%;min-height:220px;overflow:hidden}.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{position:absolute;width:100%;height:220px;background-repeat:no-repeat;background-position:center center;background-size:cover}@media (min-width: 36em){.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{left:-200px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{left:auto;height:1100px;background-position:140% -200%}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{background-position:right -200%}}.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{position:absolute;top:143px;right:0;left:-30px;width:340px;height:340px;margin-right:auto;margin-left:auto;background:rgb(255, 255, 255);border-radius:20%;mix-blend-mode:normal;transform:rotate(8deg)}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:160px;width:450px;height:450px}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:215px;left:-50px;width:550px;height:550px}}@media (min-width: 48em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:250px;left:0;width:712.18px;height:712.18px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:240px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:280px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:310px}}.duet-hero.duet-hero-campaign ::slotted(.duet-heading),.duet-hero.duet-hero-section ::slotted(.duet-heading){font-size:inherit !important;color:inherit !important}.duet-hero.duet-hero-campaign .duet-hero-text,.duet-hero.duet-hero-section .duet-hero-text{width:100%}.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading),.duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading){font-size:36px}@media (min-width: 36em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading),.duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading){font-size:48px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading),.duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading){font-size:64px}}.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{margin:0 auto}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:90%}}@media (min-width: 25em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:80%}}@media (min-width: 30em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:70%}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:70%}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:52%}}.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{display:flex;align-items:center;height:6rem;padding:0 1rem;margin:1rem 0 4.5rem}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:2rem 0 4rem}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:3rem 0 8rem}}@media (min-width: 48em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:4rem 0 10rem}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:5rem 0 10rem}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:6rem 0 10rem}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:8rem 0 11rem}}.duet-hero.duet-hero-campaign .duet-hero-wrapper.fluid,.duet-hero.duet-hero-campaign .duet-hero-wrapper.narrow,.duet-hero.duet-hero-section .duet-hero-wrapper.fluid,.duet-hero.duet-hero-section .duet-hero-wrapper.narrow{padding:0 16px}@media (min-width: 48em){.duet-hero.duet-hero-section{min-height:490px}}@media (min-width: 62em){.duet-hero.duet-hero-section{min-height:auto}}@media (min-width: 76.25em){.duet-hero.duet-hero-section{min-height:560px}}@media (min-width: 62em){.duet-hero.duet-hero-section .background img{width:100%;height:auto}}@media (min-width: 62em){.duet-hero.duet-hero-section .background{width:1400px;height:436px;overflow:hidden}}@media (min-width: 76.25em){.duet-hero.duet-hero-section .background{width:1536px;height:516px}}@media (min-width: 106.25em){.duet-hero.duet-hero-section .background{width:1536px}}.duet-hero.duet-hero-product{position:relative;padding:0 0 48px;margin:0;background:rgb(255, 255, 255)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product{padding-top:240px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product{padding-top:200px}}@media (min-width: 36em){.duet-hero.duet-hero-product{padding-top:260px}}@media (min-width: 48em){.duet-hero.duet-hero-product{padding-top:250px}}@media (min-width: 48em){.duet-hero.duet-hero-product{min-height:400px;padding:72px 0}}@media (min-width: 62em){.duet-hero.duet-hero-product{min-height:500px;padding:96px 0}}@media (min-width: 76.25em){.duet-hero.duet-hero-product{min-height:575px;padding:120px 0}}.duet-hero.duet-hero-product .background-area{position:absolute;top:0;width:100%;height:600px;overflow:hidden;pointer-events:none}.duet-hero.duet-hero-product .background-area *{pointer-events:auto}.duet-hero.duet-hero-product .background-container{position:absolute;top:-150px;width:100%;height:600px;overflow:hidden;pointer-events:none}.duet-hero.duet-hero-product .background-container *{pointer-events:auto}@media (min-width: 62em){.duet-hero.duet-hero-product .background-container{top:-48px}}.duet-hero.duet-hero-product .background{position:absolute;top:145px;width:100%;overflow:visible}.duet-hero.duet-hero-product .background .background-mask{display:none}@media (min-width: 48em){.duet-hero.duet-hero-product .background{top:130px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background{top:35px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background{position:absolute;right:0;left:0;max-width:1440px;height:100%;margin:0 auto}}.duet-hero.duet-hero-product .background .brand-shaped-image{position:absolute;top:-160px;right:-15%;z-index:0;width:375px;height:375px;overflow:hidden;border-radius:20%;transform:rotate(7deg)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-160px;right:-60px;width:360px;height:360px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-120px;right:-14px;width:290px;height:290px}}@media (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-175px;right:-20px;width:400px;height:400px}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-145px;right:-150px;width:414px;height:414px}}@media (min-width: 860px){.duet-hero.duet-hero-product .background .brand-shaped-image{right:-105px}}@media (min-width: 960px){.duet-hero.duet-hero-product .background .brand-shaped-image{right:-45px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-190px;right:-150px;width:552px;height:552px}}@media (min-width: 1100px){.duet-hero.duet-hero-product .background .brand-shaped-image{right:-35px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-300px;right:-128px;width:736px;height:736px}.duet-hero.duet-hero-product .background .brand-shaped-image.narrow{right:-160px}}@media (min-width: 1300px){.duet-hero.duet-hero-product .background .brand-shaped-image.narrow{right:-128px}}.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-wrapper{position:relative;width:100%;height:100%}.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{position:absolute;bottom:0;left:50%;z-index:1;width:600px;height:256px;transform:rotate(-7deg) translate(-50%, 0)}.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg picture{display:block}.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg img{position:absolute;top:50%;left:40px;width:100%;height:auto;transform:translateY(-50%)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:520px;height:240px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:440px;height:200px}}@media (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:600px;height:260px}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:500px;height:292px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:720px;height:420px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:950px;height:540px}}.duet-hero.duet-hero-product .background .brand-shape{position:absolute;background:rgb(228, 241, 247);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product .background .brand-shape{top:20px;right:210px;width:200px;height:200px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product .background .brand-shape{top:24px;right:199px;width:162px;height:162px}}@media (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shape{top:25px;right:290px;width:220px;height:220px}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shape{top:90px;right:145px;width:225px;height:225px}}@media (min-width: 860px){.duet-hero.duet-hero-product .background .brand-shape{right:195px}}@media (min-width: 960px){.duet-hero.duet-hero-product .background .brand-shape{right:245px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shape{top:115px;right:228px;width:300px;height:300px}}@media (min-width: 1100px){.duet-hero.duet-hero-product .background .brand-shape{right:343px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shape{right:394px;width:400px;height:400px}}.duet-hero.duet-hero-product .background .brand-shaped-icon{position:absolute;display:flex;align-items:center;justify-content:center;background:rgba(0, 119, 179, 0.85);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:165px;right:25px;width:69px;height:69px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:138px;right:50px;width:57px;height:57px}}@media (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:175px;right:125px;width:78px;height:78px}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:220px;right:60px}}@media (min-width: 860px){.duet-hero.duet-hero-product .background .brand-shaped-icon{right:110px}}@media (min-width: 960px){.duet-hero.duet-hero-product .background .brand-shaped-icon{right:160px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:296px;right:120px;width:105px;height:105px}}@media (min-width: 1100px){.duet-hero.duet-hero-product .background .brand-shaped-icon{right:235px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:345px;right:245px;width:140px;height:140px}}.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{transform:rotate(-7deg)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:100%;height:100%}}@media (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:72px;height:72px}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:72px;height:72px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:86px;height:86px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:104px;height:104px}}.duet-hero.duet-hero-product .duet-hero-wrapper{max-width:100%;margin:0 auto}.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-text{margin-top:0}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading{margin-top:0}}.duet-hero.duet-hero-product .duet-hero-wrapper.fluid,.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{padding:0 16px}@media (min-width: 36em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid{padding:0 28px}}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid{padding:0 56px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid{max-width:1110px;padding:0}}@media (min-width: 48em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid .duet-hero-text{width:60%}}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid .duet-hero-text{width:50%}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid .duet-hero-text{width:47%}}.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{max-width:888px}@media (min-width: 36em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{padding:0 48px}}@media (min-width: 48em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{padding:0 72px}}@media (min-width: 48em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow .duet-hero-text{width:60%}}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow .duet-hero-text{width:47%}}.duet-hero.duet-hero-product.duet-theme-turva{background:rgb(255, 255, 255)}.duet-hero.duet-hero-product.duet-theme-turva .background .background-mask{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;pointer-events:none;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K\");background-repeat:no-repeat}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background .background-mask{left:181px}}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{margin:0 auto;border-radius:0;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transform:none}@media (max-width: 35.9375em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-120px;width:385px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-95px;width:320px}}@media (min-width: 36em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-135px;width:420px}}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-110px;right:-110px;width:418px}}@media (min-width: 860px){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{right:-75px}}@media (min-width: 960px){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{right:-40px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-130px;right:-100px;width:552px}}@media (min-width: 1100px){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{right:-35px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-215px;width:736px}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image.narrow{right:-115px}}@media (min-width: 1300px){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image.narrow{right:-50px}}@media (min-width: 1400px){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image.narrow{right:-35px}}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image .brand-shaped-image-bg{transform:translate(-50%, 0)}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon{background:rgba(230, 23, 64, 0.9);-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transform:rotate(0deg)}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon{position:relative;top:-6px;transform:rotate(0deg)}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon{top:-8px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon{top:-12px}}.duet-hero.duet-hero-content{padding:0 0 48px;padding-top:236px;background:rgb(255, 255, 255)}@media (min-width: 48em){.duet-hero.duet-hero-content{padding-top:384px}}.duet-hero.duet-hero-content:not(.duet-hero-has-image){padding:72px 0 48px}.duet-hero.duet-hero-content .background-area{position:absolute;width:100%}.duet-hero.duet-hero-content .background{position:absolute;top:-236px;width:100%;height:600px;overflow:hidden;pointer-events:none}.duet-hero.duet-hero-content .background *{pointer-events:auto}.duet-hero.duet-hero-content .background .background-mask{display:none}@media (min-width: 48em){.duet-hero.duet-hero-content .background{top:-384px}}.duet-hero.duet-hero-content .background .brand-shaped-image{position:absolute;top:-165px;right:0;left:30px;z-index:0;width:375px;height:375px;margin:0 auto;overflow:hidden;border-radius:20%;transform:rotate(7deg)}@media (min-width: 48em){.duet-hero.duet-hero-content .background .brand-shaped-image{top:-325px;left:250px;width:687px;height:687px}}.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-wrapper{position:relative;width:100%;height:100%}.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg{position:absolute;bottom:0;left:50%;z-index:1;width:600px;height:256px;transform:rotate(-7deg) translate(-50%, 0)}.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg picture{display:block}.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg img{position:absolute;top:0;left:0;width:100%;height:auto}@media (min-width: 48em){.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg{width:733px;height:413px}}.duet-hero.duet-hero-content .background .brand-shape{position:absolute;top:-25px;right:0;left:-300px;width:240px;height:240px;margin-right:auto;margin-left:auto;background:rgb(0, 119, 179);border-radius:20%;mix-blend-mode:normal;opacity:0.07;transform:rotate(7deg)}@media (min-width: 48em){.duet-hero.duet-hero-content .background .brand-shape{top:80px;left:-400px;width:373px;height:373px}}.duet-hero.duet-hero-content .duet-hero-wrapper{max-width:100%;margin:0 auto}.duet-hero.duet-hero-content .duet-hero-wrapper.fluid,.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{padding:0 16px}@media (min-width: 36em){.duet-hero.duet-hero-content .duet-hero-wrapper.fluid{padding:0 28px}}@media (min-width: 62em){.duet-hero.duet-hero-content .duet-hero-wrapper.fluid{padding:0 56px}}@media (min-width: 76.25em){.duet-hero.duet-hero-content .duet-hero-wrapper.fluid{max-width:1110px;padding:0}}.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{max-width:888px}@media (min-width: 36em){.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{padding:0 48px}}@media (min-width: 48em){.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{padding:0 72px}}.duet-hero.duet-hero-content .duet-hero-text{max-width:100%}@media (min-width: 62em){.duet-hero.duet-hero-content .duet-hero-text{width:80%}}.duet-hero.duet-hero-content .duet-hero-text .duet-hero-pre{margin-top:1rem;margin-bottom:0.5rem}@media (min-width: 62em){.duet-hero.duet-hero-content .duet-hero-text .duet-hero-pre{margin-top:1.5rem;margin-bottom:0}}@media (min-width: 62em){.duet-hero{min-height:290px;padding:111.6px 56px;overflow:visible}}.duet-hero-icon{display:inline-block;vertical-align:top}@media (min-width: 62em){.duet-hero-icon{margin-top:-8px}}@media (min-width: 62em){.duet-hero-heading{margin-top:12px}}@media (min-width: 62em){.duet-hero-heading-has-pre{margin-top:0}}.duet-hero-wrapper{position:relative;width:100%;max-width:1110px;margin:0 auto;text-align:center}.duet-hero-left-align .duet-hero-wrapper{text-align:left}.duet-hero-with-image .duet-hero-wrapper{position:static}@media (min-width: 62em){.duet-hero-wrapper{text-align:left}}.duet-hero-text{max-width:50rem;margin:0 auto}.duet-hero-text-center .duet-hero-text{text-align:center !important}@media (min-width: 48em){.duet-hero-text{width:80%}.duet-hero-left-align .duet-hero-text{margin:0}}@media (min-width: 62em){.duet-hero-text{width:52%;max-width:none;margin-top:-10px;margin-left:0}.duet-hero-text-center .duet-hero-text{margin-left:auto}}.duet-hero:not(.duet-hero-with-image) .duet-hero-image{position:relative;width:100%;max-width:400px;height:0;padding-bottom:50%;margin:28px auto 0}.duet-hero:not(.duet-hero-with-image) .duet-hero-image picture{display:block}.duet-hero:not(.duet-hero-with-image) .duet-hero-image img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%}.duet-hero:not(.duet-hero-with-image) .duet-hero-image img.cover{object-fit:cover}.duet-hero:not(.duet-hero-with-image) .duet-hero-image img.center{object-position:center}@media (min-width: 36em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{padding-bottom:40%}}@media (min-width: 48em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{max-width:420px;padding-bottom:34%}.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image{max-width:540px}}@media (min-width: 62em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{position:absolute;top:50%;right:0;padding-bottom:30%;margin:0;transform:translateY(-50%)}.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image{right:-60px;padding-bottom:26%}.duet-hero-gray .duet-hero:not(.duet-hero-with-image) .duet-hero-image{right:-34px;padding-bottom:20%}}@media (min-width: 62em){.duet-hero-gray:not(.duet-hero-with-image) .duet-hero-image{right:-34px;padding-bottom:20%}}.duet-hero-image-wrapper{position:relative;width:80%;height:0;padding-bottom:80%;margin:-30px auto 36px;overflow:hidden;border-radius:28%;box-shadow:0 0 20px rgba(255, 255, 255, 0.5);transform:rotate(10deg)}@media screen and (min-width: 440px){.duet-hero-image-wrapper{width:300px;padding-bottom:300px}}@media (min-width: 62em){.duet-hero-image-wrapper{position:absolute;top:-60px;right:-50px;width:470px;padding-bottom:470px;margin:0}}@media (min-width: 76.25em){.duet-hero-image-wrapper{top:-70px;right:-60px;width:600px;padding-bottom:600px}}@media screen and (min-width: 1450px){.duet-hero-image-wrapper{top:-70px;right:25px}}.duet-hero-image-wrapper .duet-hero-image{position:absolute;top:-5%;left:-5%;width:110%;height:110%;transform:rotate(-10deg)}.duet-hero-image-wrapper .duet-hero-image picture{display:block}.duet-hero-image-wrapper .duet-hero-image img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.duet-hero-image-mask{position:relative;margin:-48px auto 0;overflow:hidden}@media (min-width: 62em){.duet-hero-image-mask{position:absolute;top:0;right:0;width:470px;height:460px;margin:0}}@media (min-width: 76.25em){.duet-hero-image-mask{width:650px;height:580px}}@media screen and (min-width: 1450px){.duet-hero-image-mask{right:50%;transform:translateX(110%)}}duet-heading+duet-button{margin-top:12px !important}.duet-hero-links{width:calc(100% + 56px);margin-top:48px;margin-left:-28px}.duet-hero-minimal .duet-hero-links{margin-top:28px}@media (min-width: 36em){.duet-hero-links{margin-top:72px}.duet-hero-minimal .duet-hero-links{margin-top:28px}}@media (min-width: 62em){.duet-hero-links{width:auto;margin:36px 0 0}.duet-hero-minimal .duet-hero-links{margin-top:28px}}.duet-hero-link{display:flex;align-items:center;width:100%;padding:16px 16px 8px;font-weight:600;line-height:1.25;color:rgb(0, 119, 179);text-align:left;-webkit-hyphens:auto;hyphens:auto;text-decoration:none;border-bottom:1px solid rgb(212, 223, 229);transition:background-color 300ms ease}.duet-hero-link:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-hero-link:focus,.duet-hero-link:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-hero-link:hover,.duet-hero-link:hover .duet-hero-action-arrow{color:rgb(0, 75, 129) !important;background:transparent !important}@media (min-width: 36em){.duet-hero-link{padding:16px 16px 16px 28px}}@media (min-width: 62em){.duet-hero-link{display:inline-flex;width:auto;max-width:350px;padding:0;margin:0 28px 16px 0;border:0;border-radius:4px}}.duet-hero-link:hover{background:rgba(0, 0, 0, 0.02)}@media (min-width: 62em){.duet-hero-link:hover{background:transparent}}.duet-hero-link:first-of-type{border-top:1px solid rgb(212, 223, 229)}@media (min-width: 62em){.duet-hero-link:first-of-type{margin-top:0;border:0}}.duet-hero-link:last-of-type{margin-bottom:-48px}@media (min-width: 62em){.duet-hero-link:last-of-type{margin-right:0;margin-bottom:0}}.duet-hero-link span{margin-top:-8px}@media (min-width: 36em){.duet-hero-link span{margin:0}}.duet-hero-action-icon{margin-right:8px}@media (min-width: 36em){.duet-hero-action-icon{margin-right:12px}}.duet-hero-action-arrow{margin:0 0 0 8px;color:rgb(0, 119, 179)}@media (max-width: 35.9375em){.duet-hero-action-arrow{margin-top:-9px}}.duet-hero-back{margin-bottom:28px !important;display:flex;align-items:center;justify-content:center}.duet-hero-left-align .duet-hero-back{align-items:self-start;justify-content:flex-start}@media (min-width: 36em){.duet-hero-back{margin-bottom:36px !important}.duet-hero-minimal .duet-hero-back{margin-bottom:28px !important}}@media (min-width: 62em){.duet-hero-back{display:block}}.duet-hero-pre{display:inline-block;width:auto;margin-right:8px}.duet-hero-pre+duet-heading{margin-top:0 !important}.duet-hero.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:rgb(230, 23, 64)}.duet-hero.duet-hero-light.duet-theme-turva,.duet-hero.duet-hero-with-image.duet-theme-turva{color:rgb(23, 42, 59);background-image:linear-gradient(rgb(253, 247, 242), #fefbf9)}.duet-hero.duet-hero-light.duet-theme-turva::before,.duet-hero.duet-hero-with-image.duet-theme-turva::before{background-image:linear-gradient(#fefbf9, rgb(255, 255, 255))}.duet-hero.duet-hero-gray.duet-theme-turva{background:rgb(245, 246, 247)}.duet-hero.duet-hero-campaign.duet-theme-turva,.duet-hero.duet-hero-section.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:none}.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:125px;left:-10px;width:350px;height:350px;background:rgb(255, 255, 255);-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transform:none}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:143px;left:-30px;width:450px;height:450px}}@media (min-width: 36em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:180px;left:0;width:550px;height:550px}}@media (min-width: 48em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:220px;width:712.18px;height:712.18px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:230px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:260px}}@media (min-width: 106.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:290px}}.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:98%}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:90%}}@media (min-width: 25em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:78%}}@media (min-width: 30em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:66%}}@media (min-width: 36em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:65%}}@media (min-width: 48em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:70%}}@media (min-width: 62em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:52%}}.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin-bottom:2rem}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin-bottom:2rem}}@media (min-width: 36em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin-bottom:4rem}}@media (min-width: 48em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin-bottom:6rem}}@media (min-width: 62em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin-bottom:7rem}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin-bottom:8rem}}@media (min-width: 106.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin-botton:9rem}}.duet-hero.duet-hero-campaign.duet-theme-turva .background-area .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .background-area .brand-shape{left:0;background-color:rgb(255, 255, 255);border-radius:24px;mask-image:none}.duet-hero.duet-hero-product.duet-theme-turva{display:flex;flex-direction:column;gap:20px;min-height:auto;padding-top:0;padding-bottom:72px;margin:0 auto}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva{flex-direction:row-reverse;gap:40px;padding-top:72px;padding-right:56px;padding-left:56px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product.duet-theme-turva{max-width:1110px;padding-right:0;padding-left:0}}.duet-hero.duet-hero-product.duet-theme-turva .background-area{position:relative;height:auto;overflow:visible}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid{position:relative;top:0;width:100%;height:auto;aspect-ratio:576/250;padding:0;overflow:visible;}@media (min-width: 36em){.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid{height:250px;aspect-ratio:auto}}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid{padding-right:28px;padding-left:28px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid{height:auto;aspect-ratio:53/32;padding-right:0;padding-left:0}}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background{position:relative;top:auto;height:100%}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .background-mask,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .background-mask{display:none;background-image:none}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-image,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-image{position:static;width:100%;height:100%;border-radius:0;mask-image:none}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-image .brand-shaped-image-bg,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-image .brand-shaped-image-bg{position:static;width:100%;height:100%;transform:none}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-image .brand-shaped-image-bg picture,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-image .brand-shaped-image-bg picture{display:block;width:100%;height:100%}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-image .brand-shaped-image-bg img,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-image .brand-shaped-image-bg img{position:static;width:100%;height:100%;object-fit:cover;object-position:0 50%}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-image,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-image{border-radius:0 0 12px 12px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-image,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-image{border-radius:12px}}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon{top:auto;right:20px;bottom:-16px;width:auto;height:auto;padding:0;background-color:rgb(23, 42, 59);border-radius:8px;mask-image:none}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon duet-icon,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon duet-icon{top:0;width:62px;height:62px}@media (min-width: 36em){.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon{right:40px;bottom:-24px;padding:8px}.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon duet-icon,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon duet-icon{width:80px;height:80px}}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon{right:68px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon,.duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon{right:40px}}.duet-hero.duet-hero-product.duet-theme-turva .duet-hero-wrapper .duet-hero-text{width:100%}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .duet-hero-wrapper{margin-top:28px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .duet-hero-wrapper{padding:0}}.duet-hero.duet-hero-content.duet-theme-turva{padding:0;margin:20px auto;background:rgb(255, 255, 255)}.duet-hero.duet-hero-content.duet-theme-turva .background-mask{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;pointer-events:none;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K\");background-repeat:no-repeat}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .background-mask{left:181px}}.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image{top:-155px;right:0;left:0;width:420px;height:420px;margin:0 auto;border-radius:0;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transform:none}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image{top:-230px;width:687px;height:637px}}.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg{width:600px;height:280px;transform:translate(-50%, 0)}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg{width:733px;height:413px}}.duet-hero.duet-hero-content.duet-theme-turva.duet-hero-narrow .background-area{max-width:888px}@media (min-width: 36em){.duet-hero.duet-hero-content.duet-theme-turva.duet-hero-narrow .background-area{padding:0 48px}}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva.duet-hero-narrow .background-area{padding:0 72px}}.duet-hero.duet-hero-content.duet-theme-turva .background-area{position:static;padding:0 16px;margin:0 auto}@media (min-width: 36em){.duet-hero.duet-hero-content.duet-theme-turva .background-area{padding:0 28px}}@media (min-width: 62em){.duet-hero.duet-hero-content.duet-theme-turva .background-area{padding:0 56px}}@media (min-width: 76.25em){.duet-hero.duet-hero-content.duet-theme-turva .background-area{max-width:1110px;padding:0}}.duet-hero.duet-hero-content.duet-theme-turva .background-area .background{position:static;height:auto}.duet-hero.duet-hero-content.duet-theme-turva .background-area .background .background-mask{display:none;background-image:none}.duet-hero.duet-hero-content.duet-theme-turva .background-area .background .brand-shaped-image{position:static;width:auto;height:auto}.duet-hero.duet-hero-content.duet-theme-turva .background-area .background .brand-shaped-image .brand-shaped-image-wrapper{width:auto;height:auto}.duet-hero.duet-hero-content.duet-theme-turva .background-area .background .brand-shaped-image .brand-shaped-image-bg{position:static;width:100%;height:auto;aspect-ratio:5/2;transform:none}.duet-hero.duet-hero-content.duet-theme-turva .background-area .background .brand-shaped-image .brand-shaped-image-bg picture{display:block;width:100%;height:100%}.duet-hero.duet-hero-content.duet-theme-turva .background-area .background .brand-shaped-image .brand-shaped-image-bg img{position:static;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image{border-radius:12px;mask-image:none}.duet-hero.duet-hero-content.duet-theme-turva .duet-hero-wrapper{margin-top:28px}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .duet-hero-wrapper{margin-top:36px}}.duet-hero.duet-theme-turva .duet-hero-wrapper{position:static;margin-top:16px}@media (min-width: 48em){.duet-hero.duet-theme-turva .duet-hero-wrapper{margin-top:0}}.duet-theme-turva .duet-hero-image-wrapper{padding-bottom:68%;border-radius:44% 47% 38% 54%;transform:none}@media screen and (min-width: 440px){.duet-theme-turva .duet-hero-image-wrapper{width:80%;padding-bottom:68%}}@media (min-width: 62em){.duet-theme-turva .duet-hero-image-wrapper{top:-40px;right:-80px;width:536px;padding-bottom:470px}}@media (min-width: 76.25em){.duet-theme-turva .duet-hero-image-wrapper{top:-70px;right:-60px;width:650px;padding-bottom:600px}}@media screen and (min-width: 1450px){.duet-theme-turva .duet-hero-image-wrapper{right:0}}.duet-theme-turva .duet-hero-image-wrapper .duet-hero-image{top:0;left:0;width:100%;height:100%;transform:none}@media screen and (min-width: 1450px){.duet-theme-turva .duet-hero-image-mask{transform:translateX(108%)}}.duet-theme-turva .duet-hero-link{color:rgb(230, 23, 64)}.duet-theme-turva .duet-hero-link:hover .duet-hero-action-arrow{color:rgb(140, 0, 30) !important}.duet-theme-turva .duet-hero-action-arrow{color:rgb(230, 23, 64)}";
12867
13049
 
12868
13050
  /**
12869
13051
  * @part duet-hero - piercing selector for styling the hero container
@@ -13097,17 +13279,17 @@ class DuetHero {
13097
13279
  const campaignOrSection = this.variation === "campaign" || this.variation === "section";
13098
13280
  const imageSizeIsCover = this.imageSize === "cover";
13099
13281
  const imagePositionIsCenter = this.imagePosition === "center";
13100
- const styles = {
13101
- backgroundImage: `url(${this.image})`,
13102
- backgroundSize: imageSizeIsCover ? "cover" : null,
13103
- backgroundPosition: imagePositionIsCenter ? "center" : null,
13104
- };
13105
- const bgImgA11yAttrs = this.image && this.imageAlt
13106
- ? {
13107
- role: "img",
13108
- ["aria-label"]: this.imageAlt,
13109
- }
13110
- : {};
13282
+ const imageClass = `${imageSizeIsCover ? "cover" : ""} ${imagePositionIsCenter ? "center" : ""}`.trim();
13283
+ const getPictureSource = (className) => ({
13284
+ img: {
13285
+ src: this.image,
13286
+ alt: this.imageAlt || "",
13287
+ loading: "lazy",
13288
+ class: className || "",
13289
+ role: this.imageAlt ? undefined : "presentation",
13290
+ },
13291
+ sources: parsePossibleJSON(this.sources),
13292
+ });
13111
13293
  const buttonStyles = {
13112
13294
  transform: "translateX(-8px)",
13113
13295
  };
@@ -13144,7 +13326,7 @@ class DuetHero {
13144
13326
  outlineColor = "color-primary-turva";
13145
13327
  }
13146
13328
  }
13147
- return (hAsync("div", { key: 'f6cddcb9c3f7095554a386ee08f94edd696de30f', role: "region", class: {
13329
+ return (hAsync("div", { key: 'ff8e73f82eb8aad28667e16e49d362f57fcd3b74', role: "region", class: {
13148
13330
  "duet-hero": true,
13149
13331
  "duet-theme-turva": this.theme === "turva",
13150
13332
  "duet-has-category-icon": !!this.categoryIcon,
@@ -13162,17 +13344,17 @@ class DuetHero {
13162
13344
  "duet-hero-text-center": this.variation !== "product" && ((this.textCenter && !this.leftAlign) || campaignOrSection),
13163
13345
  "duet-hero-left-align": this.variation === "product" || (this.leftAlign && !campaignOrSection),
13164
13346
  "duet-hero-narrow": this.layout === "narrow",
13165
- }, part: "duet-hero" }, campaignOrSection && this.image && (hAsync("div", { key: '8e546e1f6a87372506acedb5ea3e36bc2886f789', class: "background-area" }, hAsync("div", { key: 'c25e0f3339fa89a39a5b46ad27648300a7c489b8', class: "background-container" }, hAsync("div", { key: '31200db09804314fe8b9a015aa7b250f3343691f', class: "background" }, hAsync("img", { key: '5f1b008fe67fb54336d65d0a91f13921293ac03f', class: `${imageSizeIsCover ? "cover" : ""} ${imagePositionIsCenter ? "center" : ""}`, src: this.image, alt: this.imageAlt || "", role: this.imageAlt ? null : "presentation" })), hAsync("div", { key: 'c62590322740c9e3d1938e5f89dc13885abf07b6', class: "brand-shape" })))), this.variation === "product" && this.image && (hAsync("div", { key: '8f7994ab77f57be6ea58dbf8102415bcf7eb7ee6', class: { "background-area": true, [this.layout]: true } }, hAsync("div", { key: '01a855e32e56a513ec6cbbe3108b2d7f81af9154', class: { "background-container": true, [this.layout]: true } }, hAsync("div", { key: '863ce7546a76b161f64375733f35f861574c2fd4', class: { background: true, [this.layout]: true } }, hAsync("div", { key: '00f7dcf3f138928620d9427e17c330dca44a1e51', class: { "background-mask": true, [this.layout]: true } }), this.theme !== "turva" && hAsync("div", { key: '0c6c33ed4275e93f68f3d2cec43b879bbc74c60c', class: { "brand-shape": true, [this.layout]: true } }), hAsync("div", { key: 'd4fad75a79b2b33cb6e31d1265842af3a5535873', class: { "brand-shaped-image": true, [this.layout]: true } }, hAsync("div", { key: '7af50eabf0b09917bd5cebe2b44c55b6f0839231', class: { "brand-shaped-image-wrapper": true, [this.layout]: true } }, hAsync("div", Object.assign({ key: '90eb7934807f9e153fd8e53672c5597651aaf8c0', class: { "brand-shaped-image-bg": true, [this.layout]: true }, style: styles }, bgImgA11yAttrs)))), this.categoryIcon && (hAsync("div", { key: 'ce6e8cdcbd80b573448acb33539f59f06b28df9c', class: { "brand-shaped-icon": true, [this.layout]: true } }, hAsync("duet-icon", { key: '139e86a27857835a90d453bab2fcdbc555f41e96', class: { [this.layout]: true }, background: "none", name: this.categoryIcon, margin: "none", size: "auto", responsive: false }))))))), this.variation === "content" && this.image && (hAsync("div", { key: 'b0acf2f12e86bd067f963613d12a85b2db616755', class: "background-area" }, hAsync("div", { key: '5ca70d15eca85878c065441b64121bf935d07d32', class: "background" }, hAsync("div", { key: 'fda4ef9233986b3d1ac3111b374018b6b4296295', class: "background-mask" }), this.theme !== "turva" && hAsync("div", { key: '638a9905eab07c7fee8140423b11b1e28fdedb65', class: "brand-shape" }), hAsync("div", { key: '9a40f25f71ebaf02e17101a48f2cd15aa1b8de83', class: "brand-shaped-image" }, hAsync("div", { key: '520668ba497de55d0c671a87fe4a397a901de7cf', class: "brand-shaped-image-wrapper" }, hAsync("div", Object.assign({ key: 'aa2e5b706988a62baf70633a4d175ee1f935424c', class: "brand-shaped-image-bg", style: styles }, bgImgA11yAttrs))))))), hAsync("div", { key: 'f46858232e9b0c0e014497eb373f276a0253e25c', class: { "duet-hero-wrapper": true, [this.layout]: true } }, this.image && this.variation === "image" && (hAsync("div", { key: '8930f498a1b3d8c17cd6bfb2ca90011ec953becd', class: "duet-hero-image-mask" }, hAsync("div", { key: 'c96d8a199eb919a14a9b372961b7e2e97622edf9', class: "duet-hero-image-wrapper" }, hAsync("div", Object.assign({ key: '1960489a3dcd637d0d4c8cd90d4850563d96f62b', class: "duet-hero-image", style: styles }, bgImgA11yAttrs))))), (this.variation === "gray" || this.variation === "light" || this.variation === "minimal") &&
13166
- this.processedBack && (hAsync("div", { key: '72393575c1cda007fe0a93f50fd29f2254e57635', class: "duet-hero-back" }, hAsync("duet-button", { key: 'bb9c38f25da6cd86a6a1d9c550e39be5e553df52', style: buttonStyles, variation: "plain", icon: "action-arrow-left-small", theme: this.theme, iconSize: "small", color: buttonColor, padding: "none", margin: "none", fixed: true, url: this.processedBack.href, identifier: this.processedBack.id, onClick: event => this.handleClick(event, {
13347
+ }, part: "duet-hero" }, campaignOrSection && this.image && (hAsync("div", { key: '7c6eaf498e1c5f42601f4c77a59d04f4e11c3787', class: "background-area" }, hAsync("div", { key: 'a1cac74e5f880d8d7dd2d8f2fde6a6989769cbe2', class: "background-container" }, hAsync("div", { key: 'f7819b590a7d01d66cb3ec2daa6667cc6a066993', class: "background" }, hAsync(DuetPicture, Object.assign({ key: '554157cf62913f6fcbead29527d23678e952ce9e' }, getPictureSource(imageClass)))), hAsync("div", { key: 'cd6031dacba217d040ad59474be4af621a76e463', class: "brand-shape" })))), this.variation === "product" && this.image && (hAsync("div", { key: '08bbfc431301d26e2dee3c4e5bf2437c6bbe8052', class: { "background-area": true, [this.layout]: true } }, hAsync("div", { key: '2458dfef535c7278b6b703001e66d9fedef43aac', class: { "background-container": true, [this.layout]: true } }, hAsync("div", { key: '57b5c3ddecbc91ef48071c8050eaaa82599d1822', class: { background: true, [this.layout]: true } }, hAsync("div", { key: 'b84d8bb2ebcabf13dc9c258513423327021dbd83', class: { "background-mask": true, [this.layout]: true } }), this.theme !== "turva" && hAsync("div", { key: '1f899edfda9e0b827c28f83b286b8fde47a1079f', class: { "brand-shape": true, [this.layout]: true } }), hAsync("div", { key: '67b34ed24606ef237036bf322d644e993415bf8f', class: { "brand-shaped-image": true, [this.layout]: true } }, hAsync("div", { key: '95e326d93e23f615c90b18c61e7a30e30c84ebb1', class: { "brand-shaped-image-wrapper": true, [this.layout]: true } }, hAsync("div", { key: 'add5e271482d65053646ae3f6ff4c413a8e114c3', class: { "brand-shaped-image-bg": true, [this.layout]: true } }, hAsync(DuetPicture, Object.assign({ key: '00d4e688381f2758688008ce19e872ede3452cbc' }, getPictureSource()))))), this.categoryIcon && (hAsync("div", { key: 'a5651e24522d86a6b0d1d870a5d700fad9db74ba', class: { "brand-shaped-icon": true, [this.layout]: true } }, hAsync("duet-icon", { key: '0b35409d56e5842de0100f52e54f99561e777404', class: { [this.layout]: true }, background: "none", name: this.categoryIcon, margin: "none", size: "auto", responsive: false }))))))), this.variation === "content" && this.image && (hAsync("div", { key: '0fa8f2031fe9a05cbfae9f1df5b73afbe156e840', class: "background-area" }, hAsync("div", { key: '2fb9fe1b29056b9e257f8e8079f2872c2ae4ef93', class: "background" }, hAsync("div", { key: 'd4d20034ae7773baf2fdd1551b83711cc2b0b781', class: "background-mask" }), this.theme !== "turva" && hAsync("div", { key: '5ccc852b8b469c952800bac5c02489fc60ee8433', class: "brand-shape" }), hAsync("div", { key: '73d5610a1e0ca8331908ce011976b86d62fbe60e', class: "brand-shaped-image" }, hAsync("div", { key: '84079f98df920d86c3f6257f97d470ff1ff10d2b', class: "brand-shaped-image-wrapper" }, hAsync("div", { key: 'a5d34d656f4d4f208d6dda010fb9c2236559d1e0', class: "brand-shaped-image-bg" }, hAsync(DuetPicture, Object.assign({ key: '900a632f43c338d491fa7bd2104b51c27b9ec814' }, getPictureSource())))))))), hAsync("div", { key: '62a03b483feb3ed3639d3754515456b058161877', class: { "duet-hero-wrapper": true, [this.layout]: true } }, this.image && this.variation === "image" && (hAsync("div", { key: 'ba372654336abc15cfa19bf95e32eb2c629bacfc', class: "duet-hero-image-mask" }, hAsync("div", { key: '258446935eb244a6cef5559d64bc3c486bf46643', class: "duet-hero-image-wrapper" }, hAsync("div", { key: '726d6c0f7fd9915f813b5f7e57a9fd093a7640d2', class: "duet-hero-image" }, hAsync(DuetPicture, Object.assign({ key: 'e1a272326833f3eea3209265b7c17d4f581812dc' }, getPictureSource(imageClass))))))), (this.variation === "gray" || this.variation === "light" || this.variation === "minimal") &&
13348
+ this.processedBack && (hAsync("div", { key: 'bed23c4fdf4e2c6869bd519aaefe2fb95231eb76', class: "duet-hero-back" }, hAsync("duet-button", { key: 'efa5d21d8bd40aa5dcca5aec05b7ddb883898cbf', style: buttonStyles, variation: "plain", icon: "action-arrow-left-small", theme: this.theme, iconSize: "small", color: buttonColor, padding: "none", margin: "none", fixed: true, url: this.processedBack.href, identifier: this.processedBack.id, onClick: event => this.handleClick(event, {
13167
13349
  label: this.processedBack.label,
13168
13350
  href: this.processedBack.href,
13169
13351
  id: this.processedBack.id,
13170
13352
  analyticsId: this.processedBack.analyticsId,
13171
- }) }, this.processedBack.label))), (this.variation === "gray" || this.variation === "minimal") && this.categoryIcon && (hAsync("duet-icon", { key: 'cac362aaa6b377b1dba3651f712e386182d9a0dd', class: { "duet-hero-icon": true, "duet-hero-icon-has-heading": this.preHeading !== "" }, size: "x-large", background: this.categoryIconColor, name: this.categoryIcon })), hAsync("div", { key: '402006ac87cd15880b91d0267f2a1128870c7de7', class: { "duet-hero-text": true }, part: "duet-hero-text" }, (this.preHeading || this.hasPreHeadingSlot) && (hAsync("duet-paragraph", { key: '041bfe57134d086c3d94d2ee33d68a067dcccfba', margin: "none", class: "duet-hero-pre", size: this.variation === "content" ? "small" : "medium", "aria-hidden": "true" }, this.preHeading ? (this.preHeading) : (hAsync("span", null, hAsync("slot", { name: "pre-heading" }))))), hAsync("slot", { key: '20f0e190fec2a99d7b4cab63daf81ca8907fd58a', name: "badge" }), (this.heading || this.hasHeadingSlot) && (hAsync("duet-heading", { key: '1e7cbfe931e89c9bffd4ae4cd5a1ceff2c910534', theme: this.theme, level: this.hasHeadingSlotNative ? "div" : this.level, class: { "duet-hero-heading": true, "duet-hero-heading-has-pre": this.preHeading !== "" }, color: headingColor, visualLevel: headingVisualLevel, margin: campaignOrSection ? "none" : "auto", accessibleLabel: this.getAccessibleHeading() }, this.heading ? this.heading : hAsync("slot", { name: "heading" }))), campaignOrSection && this.hasSubHeadingSlot && (hAsync("duet-heading", { key: 'ecd154b6b7291eb2de4e8290562a1d1ee3930d8c', theme: this.theme, level: this.hasSubHeadingSlotNative ? "div" : this.subHeadingLevel, class: { "duet-hero-subheading": true }, color: this.theme === "turva" ? "secondary-turva" : "secondary", visualLevel: "h2" }, hAsync("slot", { key: '4a2a625be57f1c26a8e8daab58e714ef99dcf103', name: "subheading" }))), this.description && (hAsync("duet-paragraph", { key: '73bd53a15848745effd4c211434de70a82e3cb9f', theme: this.theme, color: textColor, variation: "intro" }, this.description)), (this.variation === "gray" || this.variation === "minimal") && this.processedListItems && (hAsync("duet-list", { key: '6d56faeee194fcf3af381a19bfed5aa0b25f7414', 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", { key: '5c9877bead31171f246c3b2519956cbcea6cfd4a', 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("slot", { key: 'c168f8e3f59e2d27cb8cb6d13be251628b044ccc' })), (this.variation === "gray" || this.variation === "minimal") && this.processedActions && (hAsync("div", { key: '2c8a214eaa9fb3db915ecda2efa67a6433e9fe81', 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: newWindowIcon.svg, size: "xx-small", margin: "none", color: "currentColor" })))))))), this.image &&
13353
+ }) }, this.processedBack.label))), (this.variation === "gray" || this.variation === "minimal") && this.categoryIcon && (hAsync("duet-icon", { key: '7de90656859d63499f3b160c2a39619cd4a0a9db', class: { "duet-hero-icon": true, "duet-hero-icon-has-heading": this.preHeading !== "" }, size: "x-large", background: this.categoryIconColor, name: this.categoryIcon })), hAsync("div", { key: '73b543bd71d7e1f2936a2753a255d1ac1339f99c', class: { "duet-hero-text": true }, part: "duet-hero-text" }, (this.preHeading || this.hasPreHeadingSlot) && (hAsync("duet-paragraph", { key: 'd0150811990feac24531dc5e173a93ec3a482418', margin: "none", class: "duet-hero-pre", size: this.variation === "content" ? "small" : "medium", "aria-hidden": "true" }, this.preHeading ? (this.preHeading) : (hAsync("span", null, hAsync("slot", { name: "pre-heading" }))))), hAsync("slot", { key: '041cf2cfcba43317f1e0041d40b00bfd68bb6202', name: "badge" }), (this.heading || this.hasHeadingSlot) && (hAsync("duet-heading", { key: '7f662d3f98757953d04cb29640a7284e7ddcb64b', theme: this.theme, level: this.hasHeadingSlotNative ? "div" : this.level, class: { "duet-hero-heading": true, "duet-hero-heading-has-pre": this.preHeading !== "" }, color: headingColor, visualLevel: headingVisualLevel, margin: campaignOrSection ? "none" : "auto", accessibleLabel: this.getAccessibleHeading() }, this.heading ? this.heading : hAsync("slot", { name: "heading" }))), campaignOrSection && this.hasSubHeadingSlot && (hAsync("duet-heading", { key: '1c02aada316e7b8f8699b79d1128476cdde75ae6', theme: this.theme, level: this.hasSubHeadingSlotNative ? "div" : this.subHeadingLevel, class: { "duet-hero-subheading": true }, color: this.theme === "turva" ? "secondary-turva" : "secondary", visualLevel: "h2" }, hAsync("slot", { key: '34c786a2833cbeb54018fa83b543ab7c55ecd5ff', name: "subheading" }))), this.description && (hAsync("duet-paragraph", { key: '28a82b3619a9418271f1dd4f25d10366fde9f753', theme: this.theme, color: textColor, variation: "intro" }, this.description)), (this.variation === "gray" || this.variation === "minimal") && this.processedListItems && (hAsync("duet-list", { key: '4508f7e305d64e5bf7b39f5340efe8b2ab9d12be', 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", { key: '3fb36dbf926c3331c6d757bc32208f26424f7e9c', 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("slot", { key: '85fd506d92b185ddbb57c134298164422a6c682d' })), (this.variation === "gray" || this.variation === "minimal") && this.processedActions && (hAsync("div", { key: '9230b5c71616b04e276724e18592d946f7e4ad5d', 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: newWindowIcon.svg, size: "xx-small", margin: "none", color: "currentColor" })))))))), this.image &&
13172
13354
  this.variation !== "image" &&
13173
13355
  !campaignOrSection &&
13174
13356
  this.variation !== "product" &&
13175
- this.variation !== "content" && hAsync("div", Object.assign({ key: '6cb23cf63b47de3c8ec26c3089ac5e162c117039', class: "duet-hero-image", style: styles }, bgImgA11yAttrs)), hAsync("slot", { key: '559b443673459389d61eea691ea9c8342f97f240', name: "bottom" }))));
13357
+ this.variation !== "content" && (hAsync("div", { key: 'cfe495f2a5bedb9bd622b3a001533a299477f12d', class: "duet-hero-image" }, hAsync(DuetPicture, Object.assign({ key: '26f3df199d16a059b273c5e8dc568c71ac637d05' }, getPictureSource(imageClass))))), hAsync("slot", { key: 'f8680df361205e9c4f2868f71022e736097002b1', name: "bottom" }))));
13176
13358
  }
13177
13359
  get element() { return getElement(this); }
13178
13360
  static get watchers() { return {
@@ -13209,6 +13391,7 @@ class DuetHero {
13209
13391
  "imageSize": [1, "image-size"],
13210
13392
  "imagePosition": [1, "image-position"],
13211
13393
  "imageAlt": [1, "image-alt"],
13394
+ "sources": [1],
13212
13395
  "variation": [1],
13213
13396
  "back": [8],
13214
13397
  "listItems": [8, "list-items"],
@@ -13340,11 +13523,11 @@ class DuetIcon {
13340
13523
  : {};
13341
13524
  const iconStyles = Object.assign({}, iconRotationStyles);
13342
13525
  const shapeStyle = this.shape === "brand-rotated" ? "duet-icon-shape-brand" : `duet-icon-shape-${this.shape}`;
13343
- return (hAsync(Host, { key: '2a800d3292964b5a1dd5fd454662f690ce9e6b5a', class: {
13526
+ return (hAsync(Host, { key: 'ac454937867acd98e1552f998f09cecb7b6db6f6', class: {
13344
13527
  "duet-m-0": this.margin === "none",
13345
13528
  "duet-icon-has-outline": !!this.outline,
13346
13529
  "duet-icon-has-background": !!this.background,
13347
- } }, hAsync("span", { key: '4d5d3fc155d6d2e4f677d8753c116c82eb865a2c', "aria-hidden": "true", style: styles, class: {
13530
+ } }, hAsync("span", { key: '61bd9c9b857bd54bfa18b71035af646ddfc8b490', "aria-hidden": "true", style: styles, class: {
13348
13531
  "duet-icon": true,
13349
13532
  "duet-theme-turva": this.theme === "turva",
13350
13533
  "duet-theme-default": this.theme === "default",
@@ -13353,7 +13536,7 @@ class DuetIcon {
13353
13536
  [shapeStyle]: true,
13354
13537
  rotated: this.shape === "brand-rotated" && this.theme !== "turva",
13355
13538
  "duet-icon-not-responsive": !this.responsive,
13356
- } }, hAsync("span", { key: '6c79866426237ff75ff36401a9117dca1a68cf19', "aria-hidden": "true", class: { "duet-icon-svg": true, rotated: this.shape === "brand-rotated" && this.theme !== "turva" }, "data-name": this.name, innerHTML: this.svgContent, style: iconStyles }))));
13539
+ } }, hAsync("span", { key: '513e30e9f69a6661e54b5f2a0989eaf14887f533', "aria-hidden": "true", class: { "duet-icon-svg": true, rotated: this.shape === "brand-rotated" && this.theme !== "turva" }, "data-name": this.name, innerHTML: this.svgContent, style: iconStyles }))));
13357
13540
  }
13358
13541
  get element() { return getElement(this); }
13359
13542
  static get watchers() { return {
@@ -13431,11 +13614,11 @@ class DuetIndicator {
13431
13614
  inheritGlobalTheme(this);
13432
13615
  }
13433
13616
  render() {
13434
- return (hAsync(Host, { key: '0513ee5c8cb2770eb10e753901e8db638c665112' }, hAsync("span", { key: '64ec0e8625b9cf03ed41d6cbe6ae9e286f5cd08a', class: {
13617
+ return (hAsync(Host, { key: '329e985ec026dde828ee0e4f896bbbf68054a4ce' }, hAsync("span", { key: '688c53ea00e20e7c2aa612ed6cdaede9a83655f9', class: {
13435
13618
  "duet-indicator": true,
13436
13619
  [`duet-indicator-${this.variation}`]: true,
13437
13620
  "duet-theme-turva": this.theme === "turva",
13438
- } }), hAsync("duet-visually-hidden", { key: 'ae27d7871ca7bbde4e8e62d3c389c4f0c5b17090' }, this.getAccessibleLabel())));
13621
+ } }), hAsync("duet-visually-hidden", { key: '37a42c32af9d6d46946d30239592a4794e16de93' }, this.getAccessibleLabel())));
13439
13622
  }
13440
13623
  get element() { return getElement(this); }
13441
13624
  static get style() { return duetIndicatorCss; }
@@ -13515,7 +13698,7 @@ function cleanValue(input, regex) {
13515
13698
  return newValue;
13516
13699
  }
13517
13700
 
13518
- const duetInputCss = ".duet-internal-label{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600 !important;line-height:1.25;line-height:1.25;color:rgb(8, 42, 77);text-align:left;word-break:break-word;cursor:default}.duet-internal-label.duet-p-0{padding:0 !important}.duet-internal-label.duet-m-0{margin:0 !important}.duet-internal-label span{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-internal-label.duet-m-0{margin-bottom:0 !important}.duet-internal-label.duet-small-margin{margin-top:8px !important;margin-bottom:4px !important}.duet-internal-label.duet-has-tooltip{padding-right:48px}@media (min-width: 48em){.duet-internal-label.duet-has-tooltip{padding-right:0}}.duet-internal-label.duet-internal-label-small{font-size:0.875rem}.duet-internal-label.duet-internal-label-small span{font-size:0.875rem}.duet-internal-label.duet-weight-normal{font-weight:400 !important}.duet-internal-label.duet-weight-normal span{font-weight:400 !important}.duet-internal-label.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 42, 59)}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{margin-right:16px !important}:host(:last-child),:host(:last-of-type){margin-right:0 !important}:host(.form-distribute:last-of-type:not(:last-child)){margin-right:16px !important}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;vertical-align:bottom;text-align:left}@media (min-width: 36em){:host{width:calc(50% - 16px - 3px)}}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}input[type=time]::-webkit-datetime-edit-fields-wrapper{padding:0}input[type=time]::-webkit-calendar-picker-indicator{display:none}duet-tooltip,::slotted(duet-tooltip){position:relative;top:12px;right:0}@media (min-width: 48em){duet-tooltip,::slotted(duet-tooltip){right:auto}}duet-caption:not(:last-of-type){margin-bottom:0}.duet-input-placeholder{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgb(255, 255, 255)}.duet-input-icon{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;font-size:0;line-height:normal;color:rgb(8, 42, 77);pointer-events:none;transform:translateY(-50%)}.duet-input-container{position:relative;width:100%;height:100%}.duet-input-container.has-clear .duet-input-clear-icon{position:relative;z-index:250}.duet-input-container.has-clear .duet-input-clear-icon button{position:absolute;top:-24px;right:-24px;min-width:48px;min-height:48px;color:rgb(0, 75, 129)}.duet-input-container.has-clear .duet-input-clear-icon button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-input-container.has-clear .duet-input-clear-icon button:focus,.duet-input-container.has-clear .duet-input-clear-icon button:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-input-container.has-clear .duet-input-clear-icon button:active{opacity:0.75;transition:none}.duet-input-container.has-clear .duet-input-clear-icon.input-padding-xx-small button{top:-12px}.duet-input-container.has-clear .duet-input-clear-icon.input-padding-x-small button{top:-16px}.duet-input-container.has-clear .duet-input-clear-icon.input-padding-small button{top:-20px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-single button{top:-48px;right:0}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-single.input-padding-xx-small button{top:-36px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-single.input-padding-x-small button{top:-40px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-single.input-padding-small button{top:-44px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-double button{top:-24px;right:12px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-double.input-padding-xx-small button{top:-12px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-double.input-padding-x-small button{top:-16px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-double.input-padding-small button{top:-20px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-button button{top:-24px;right:0}.duet-input-container.has-clear.has-icon .duet-input-clear-icon{top:-24px;right:24px}.duet-input-label-container{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between}@media (min-width: 48em){.duet-input-label-container{justify-content:flex-start}}.duet-input{position:relative;z-index:100;display:block !important;width:100% !important;min-width:8rem;max-width:initial !important;height:auto !important;padding:12px 14px !important;margin:initial !important;margin-bottom:initial !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400 !important;font-variant-numeric:tabular-nums;line-height:1.5 !important;color:rgb(8, 42, 77) !important;cursor:initial !important;outline-color:initial !important;background:rgb(255, 255, 255) !important;background-clip:initial !important;border:1px solid rgb(127, 150, 165) !important;border-radius:4px !important;transition:border 150ms ease !important}.duet-input.input-padding-small{padding:8px 10px !important}.duet-input.input-padding-x-small{padding:4px 6px !important}.duet-input.input-padding-xx-small{padding:0px 2px !important}.duet-input.is-number{padding-right:112px !important}.duet-input.is-date{padding-right:64px !important}.duet-input.after-chip{padding-left:8px !important}.has-error .duet-input{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important}.has-error .duet-input+.duet-input-icon{color:rgb(214, 28, 82) !important}.has-icon .duet-input{padding-right:48px !important}.duet-input.align-right{text-align:right}.duet-input::-ms-clear{display:none}.duet-input::-webkit-contacts-auto-fill-button{display:none !important}.duet-input::placeholder{color:rgb(98, 121, 138);opacity:1 !important;transition:color 300ms ease}.duet-input:focus::placeholder{color:rgb(181, 198, 208)}.duet-input[disabled]{color:rgb(98, 121, 138) !important;cursor:not-allowed !important;outline:none !important;background:rgb(228, 236, 239) !important;border-color:rgb(181, 198, 208) !important;opacity:1 !important;-webkit-text-fill-color:rgb(8, 42, 77) !important}.duet-input:hover:not(:disabled):not(:focus){outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-input:hover:not(:disabled):not(:focus),.duet-input:hover:not(:disabled):not(:focus).duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.has-error .duet-input:hover:not(:disabled):not(:focus){outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important}.duet-input:focus{outline:2px solid;outline-color:rgb(0, 119, 179) !important;outline-offset:-1px}.duet-theme-turva .duet-input:focus,.duet-input:focus.duet-theme-turva{outline-color:rgb(23, 42, 59) !important}.has-error .duet-input:focus{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important;background:rgb(255, 255, 255) !important}.duet-input:focus+.duet-input-icon{color:rgb(0, 119, 179)}.duet-input[type=search]:not(:placeholder-shown):focus+.duet-input-icon{display:none}.duet-input:not(:focus):not(:hover):invalid{outline:none !important}.duet-input[type=number]::-webkit-inner-spin-button,.duet-input[type=number]::-webkit-outer-spin-button,.duet-input[type=time]::-webkit-inner-spin-button,.duet-input[type=time]::-webkit-outer-spin-button{display:none;margin:0;-webkit-appearance:none}.duet-input::-webkit-search-cancel-button{margin-right:-28px}.duet-input-help{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(98, 121, 138);border-radius:4px}.duet-input-help span{display:block;margin-top:8px}.has-error .duet-input-help{color:rgb(214, 28, 82)}.duet-label-hidden label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;clip:rect(0 0 0 0)}.duet-input-relative{position:relative;width:100%}.duet-input-variation-button,.duet-input-variation-button-left{position:relative;width:100%}.duet-input-variation-button .duet-input-relative,.duet-input-variation-button-left .duet-input-relative{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;width:auto}.duet-input-variation-button .duet-input-relative duet-button,.duet-input-variation-button-left .duet-input-relative duet-button{z-index:250;margin-bottom:0}.duet-input-variation-button-left .duet-input-relative{border-radius:4px}.duet-input-variation-button .duet-input-relative .duet-input{border-right-width:0 !important;border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.duet-input-variation-button-left .duet-input-relative .duet-input{border-left-width:0 !important;border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.duet-input-variation-revealable{position:relative;width:100%}.duet-input-variation-revealable ::-ms-reveal{display:none}.duet-input-variation-revealable .duet-input-relative{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;width:auto;outline:initial;border:1px solid rgb(127, 150, 165);border-radius:4px;transition:border 150ms ease}.duet-input-variation-revealable .duet-input-relative duet-button{z-index:250;margin-bottom:0}.duet-input-variation-revealable .duet-input-relative .duet-input{border-width:0 !important}.duet-input-variation-revealable .duet-input-relative .duet-input:focus,.duet-input-variation-revealable .duet-input-relative .duet-input:hover{outline:none !important;border-width:0 !important}.duet-input-variation-revealable.disabled .duet-input-relative{outline:none;background:rgb(245, 248, 250);border-color:rgb(212, 223, 229)}.duet-input-variation-revealable.has-error .duet-input-relative{border-color:rgb(214, 28, 82)}.duet-input-variation-revealable.has-focus .duet-input-relative{outline:2px solid;outline-offset:-1px;outline-color:rgb(62, 84, 102);border-color:rgb(0, 119, 179)}.duet-input-variation-revealable:hover:not(.disabled):not(.has-focus) .duet-input-relative{outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-input-variation-revealable:hover:not(.disabled):not(.has-focus) .duet-input-relative,.duet-input-variation-revealable:hover:not(.disabled):not(.has-focus) .duet-input-relative.duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.duet-input-variation-revealable.has-error:hover:not(.disabled) .duet-input-relative{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important}.duet-input-container.has-chips.has-focus .duet-input-relative{outline:2px solid;outline-color:rgb(0, 119, 179) !important;outline-offset:-1px}.duet-theme-turva .duet-input-container.has-chips.has-focus .duet-input-relative,.duet-input-container.has-chips.has-focus .duet-input-relative.duet-theme-turva{outline-color:rgb(23, 42, 59) !important}.duet-input-container.has-chips:hover:not(:disabled):not(.has-focus) .duet-input-relative{outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-input-container.has-chips:hover:not(:disabled):not(.has-focus) .duet-input-relative,.duet-input-container.has-chips:hover:not(:disabled):not(.has-focus) .duet-input-relative.duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.duet-input-container.has-chips.has-error .duet-input-relative{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important}.duet-input-container.has-chips.has-error.has-focus .duet-input-relative{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important;background:rgb(255, 255, 255) !important}.duet-input-container.has-chips.has-error:hover:not(:disabled):not(.has-focus) .duet-input-relative{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important}.duet-input-container.has-chips .duet-input-relative{display:flex;flex-direction:row;flex-wrap:wrap;align-content:center;align-items:center;justify-content:flex-start;width:auto;padding-right:2px;border:1px solid rgb(127, 150, 165);border-radius:4px;transition:border 150ms ease}.duet-input-container.has-chips .duet-input-relative .duet-input{flex-grow:1;flex-basis:4rem;padding-left:0 !important;margin-left:12px !important;border-width:0 !important}.duet-input-container.has-chips .duet-input-relative .duet-input:focus,.duet-input-container.has-chips .duet-input-relative .duet-input:hover{outline:none !important;border-width:0 !important}.duet-theme-turva .duet-input-icon{color:rgb(23, 42, 59)}.duet-theme-turva.duet-input-container.has-clear .duet-input-clear-icon button{color:rgb(8, 42, 77)}.duet-theme-turva.has-error .duet-input+.duet-input-icon{color:rgb(214, 28, 82) !important}.duet-theme-turva:not(.has-error) .duet-input{border-color:rgb(120, 145, 164) !important}.duet-theme-turva .duet-input{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, 42, 59) !important}.duet-theme-turva .duet-input[disabled]{color:rgb(95, 122, 143) !important;cursor:not-allowed !important;outline:none !important;background:rgb(228, 233, 237) !important;border-color:rgb(178, 194, 205) !important;opacity:1 !important;-webkit-text-fill-color:rgb(23, 42, 59) !important}.duet-theme-turva .duet-input::placeholder{color:rgb(120, 145, 164)}.duet-theme-turva .duet-input:focus::placeholder{color:rgb(178, 194, 205)}.duet-theme-turva .duet-input:focus+.duet-input-icon{color:rgb(23, 42, 59)}.duet-theme-turva .duet-input-variation-button-left.has-focus .duet-input-relative{border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-input-variation-revealable.has-focus .duet-input-relative{border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-input-help{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(120, 145, 164)}.duet-theme-turva.has-error .duet-input-help{color:rgb(214, 28, 82)}.duet-theme-turva .duet-input-variation-revealable .duet-input-relative{border-color:rgb(120, 145, 164)}.duet-theme-turva.duet-input-variation-revealable.has-error .duet-input-relative{border-color:rgb(214, 28, 82)}.duet-theme-turva.duet-input-variation-revealable.has-focus .duet-input-relative{outline:2px solid;outline-offset:-1px;outline-color:rgb(53, 79, 101);border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-input-container.has-chips.has-focus .duet-input-relative{outline:2px solid;outline-offset:2px;outline-color:rgb(53, 79, 101)}.duet-theme-turva .duet-input-container.has-chips .duet-input-relative{border-color:rgb(120, 145, 164)}";
13701
+ const duetInputCss = ".duet-internal-label{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600 !important;line-height:1.25;line-height:1.25;color:rgb(8, 42, 77);text-align:left;word-break:break-word;cursor:default}.duet-internal-label.duet-p-0{padding:0 !important}.duet-internal-label.duet-m-0{margin:0 !important}.duet-internal-label span{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-internal-label.duet-m-0{margin-bottom:0 !important}.duet-internal-label.duet-small-margin{margin-top:8px !important;margin-bottom:4px !important}.duet-internal-label.duet-has-tooltip{padding-right:48px}@media (min-width: 48em){.duet-internal-label.duet-has-tooltip{padding-right:0}}.duet-internal-label.duet-internal-label-small{font-size:0.875rem}.duet-internal-label.duet-internal-label-small span{font-size:0.875rem}.duet-internal-label.duet-weight-normal{font-weight:400 !important}.duet-internal-label.duet-weight-normal span{font-weight:400 !important}.duet-internal-label.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 42, 59)}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{margin-right:16px !important}:host(:last-child),:host(:last-of-type){margin-right:0 !important}:host(.form-distribute:last-of-type:not(:last-child)){margin-right:16px !important}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;vertical-align:bottom;text-align:left}@media (min-width: 36em){:host{width:calc(50% - 16px - 3px)}}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}input[type=time]::-webkit-datetime-edit-fields-wrapper{padding:0}input[type=time]::-webkit-calendar-picker-indicator{display:none}duet-tooltip,::slotted(duet-tooltip){position:relative;top:12px;right:0}@media (min-width: 48em){duet-tooltip,::slotted(duet-tooltip){right:auto}}duet-caption:not(:last-of-type){margin-bottom:0}.duet-input-placeholder{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgb(255, 255, 255)}.duet-input-icon{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;font-size:0;line-height:normal;color:rgb(8, 42, 77);pointer-events:none;transform:translateY(-50%)}.duet-input-container{position:relative;width:100%;height:100%}.duet-input-container.has-clear .duet-input-clear-icon{position:relative;z-index:250}.duet-input-container.has-clear .duet-input-clear-icon button{position:absolute;top:-24px;right:-24px;min-width:48px;min-height:48px;color:rgb(0, 75, 129)}.duet-input-container.has-clear .duet-input-clear-icon button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-input-container.has-clear .duet-input-clear-icon button:focus,.duet-input-container.has-clear .duet-input-clear-icon button:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-input-container.has-clear .duet-input-clear-icon button:active{opacity:0.75;transition:none}.duet-input-container.has-clear .duet-input-clear-icon.input-padding-xx-small button{top:-12px}.duet-input-container.has-clear .duet-input-clear-icon.input-padding-x-small button{top:-16px}.duet-input-container.has-clear .duet-input-clear-icon.input-padding-small button{top:-20px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-single button{top:-48px;right:0}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-single.input-padding-xx-small button{top:-36px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-single.input-padding-x-small button{top:-40px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-single.input-padding-small button{top:-44px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-double button{top:-24px;right:12px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-double.input-padding-xx-small button{top:-12px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-double.input-padding-x-small button{top:-16px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-double.input-padding-small button{top:-20px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-button button{top:-24px;right:0}.duet-input-container.has-clear.has-icon .duet-input-clear-icon{top:-24px;right:24px}.duet-input-label-container{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between}@media (min-width: 48em){.duet-input-label-container{justify-content:flex-start}}.duet-input{position:relative;z-index:100;display:block !important;width:100% !important;min-width:8rem;max-width:initial !important;height:auto !important;padding:12px 14px !important;margin:initial !important;margin-bottom:initial !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400 !important;font-variant-numeric:tabular-nums;line-height:1.5 !important;color:rgb(8, 42, 77) !important;cursor:initial !important;outline-color:initial !important;background:rgb(255, 255, 255) !important;background-clip:initial !important;border:1px solid rgb(127, 150, 165) !important;border-radius:4px !important;transition:border 150ms ease !important}.duet-input.input-padding-small{padding:8px 10px !important}.duet-input.input-padding-x-small{padding:4px 6px !important}.duet-input.input-padding-xx-small{padding:0px 2px !important}.duet-input.is-number{padding-right:112px !important}.duet-input.is-date{padding-right:64px !important}.duet-input.after-chip{padding-left:8px !important}.has-error .duet-input{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important}.has-error .duet-input+.duet-input-icon{color:rgb(214, 28, 82) !important}.has-icon .duet-input{padding-right:48px !important}.duet-input.align-right{text-align:right}.duet-input::-ms-clear{display:none}.duet-input::-webkit-contacts-auto-fill-button{display:none !important}.duet-input::placeholder{color:rgb(98, 121, 138);opacity:1 !important;transition:color 300ms ease}.duet-input:focus::placeholder{color:rgb(181, 198, 208)}.duet-input[disabled]{color:rgb(98, 121, 138) !important;cursor:not-allowed !important;outline:none !important;background:rgb(228, 236, 239) !important;border-color:rgb(181, 198, 208) !important;opacity:1 !important;-webkit-text-fill-color:rgb(8, 42, 77) !important}.duet-input:hover:not(:disabled):not(:focus){outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-input:hover:not(:disabled):not(:focus),.duet-input:hover:not(:disabled):not(:focus).duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.has-error .duet-input:hover:not(:disabled):not(:focus){outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important}.duet-input:focus{outline:2px solid;outline-color:rgb(0, 119, 179) !important;outline-offset:-1px}.duet-theme-turva .duet-input:focus,.duet-input:focus.duet-theme-turva{outline-color:rgb(23, 42, 59) !important}.has-error .duet-input:focus{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important;background:rgb(255, 255, 255) !important}.duet-input:focus+.duet-input-icon{color:rgb(0, 119, 179)}.duet-input[type=search]:not(:placeholder-shown):focus+.duet-input-icon{display:none}.duet-input:not(:focus):not(:hover):invalid{outline:none !important}.duet-input[type=number]::-webkit-inner-spin-button,.duet-input[type=number]::-webkit-outer-spin-button,.duet-input[type=time]::-webkit-inner-spin-button,.duet-input[type=time]::-webkit-outer-spin-button{display:none;margin:0;-webkit-appearance:none}.duet-input::-webkit-search-cancel-button{margin-right:-28px}.duet-input-help{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(98, 121, 138);border-radius:4px}.duet-input-help span{display:block;margin-top:8px}.has-error .duet-input-help{color:rgb(214, 28, 82)}.duet-label-hidden label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;clip:rect(0 0 0 0)}.duet-input-relative{position:relative;width:100%}.duet-input-variation-button,.duet-input-variation-button-left{position:relative;width:100%}.duet-input-variation-button .duet-input-relative,.duet-input-variation-button-left .duet-input-relative{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;width:auto}.duet-input-variation-button .duet-input-relative duet-button,.duet-input-variation-button-left .duet-input-relative duet-button{z-index:250;margin-bottom:0}.duet-input-variation-button-left .duet-input-relative{border-radius:4px}.duet-input-variation-button .duet-input-relative .duet-input{border-right-width:0 !important;border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.duet-input-variation-button-left .duet-input-relative .duet-input{border-left-width:0 !important;border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.duet-input-variation-revealable{position:relative;width:100%}.duet-input-variation-revealable ::-ms-reveal{display:none}.duet-input-variation-revealable .duet-input-relative{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;width:auto;outline:initial;border:1px solid rgb(127, 150, 165);border-radius:4px;transition:border 150ms ease}.duet-input-variation-revealable .duet-input-relative duet-button{z-index:250;margin-bottom:0}.duet-input-variation-revealable .duet-input-relative .duet-input{border-width:0 !important}.duet-input-variation-revealable .duet-input-relative .duet-input:focus,.duet-input-variation-revealable .duet-input-relative .duet-input:hover{outline:none !important;border-width:0 !important}.duet-input-variation-revealable.disabled .duet-input-relative{outline:none;background:rgb(245, 248, 250);border-color:rgb(212, 223, 229)}.duet-input-variation-revealable.has-error .duet-input-relative{border-color:rgb(214, 28, 82)}.duet-input-variation-revealable.has-focus .duet-input-relative{outline:2px solid;outline-offset:-1px;outline-color:rgb(62, 84, 102);border-color:rgb(0, 119, 179)}.duet-input-variation-revealable:hover:not(.disabled):not(.has-focus) .duet-input-relative{outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-input-variation-revealable:hover:not(.disabled):not(.has-focus) .duet-input-relative,.duet-input-variation-revealable:hover:not(.disabled):not(.has-focus) .duet-input-relative.duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.duet-input-variation-revealable.has-error:hover:not(.disabled) .duet-input-relative{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important}.duet-input-container.has-adornment.has-focus .duet-input-relative,.duet-input-container.has-chips.has-focus .duet-input-relative{outline:2px solid;outline-color:rgb(0, 119, 179) !important;outline-offset:-1px}.duet-theme-turva .duet-input-container.has-adornment.has-focus .duet-input-relative,.duet-input-container.has-adornment.has-focus .duet-input-relative.duet-theme-turva,.duet-theme-turva .duet-input-container.has-chips.has-focus .duet-input-relative,.duet-input-container.has-chips.has-focus .duet-input-relative.duet-theme-turva{outline-color:rgb(23, 42, 59) !important}.duet-input-container.has-adornment:hover:not(:disabled):not(.has-focus) .duet-input-relative,.duet-input-container.has-chips:hover:not(:disabled):not(.has-focus) .duet-input-relative{outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-input-container.has-adornment:hover:not(:disabled):not(.has-focus) .duet-input-relative,.duet-input-container.has-adornment:hover:not(:disabled):not(.has-focus) .duet-input-relative.duet-theme-turva,.duet-theme-turva .duet-input-container.has-chips:hover:not(:disabled):not(.has-focus) .duet-input-relative,.duet-input-container.has-chips:hover:not(:disabled):not(.has-focus) .duet-input-relative.duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.duet-input-container.has-adornment.has-error .duet-input-relative,.duet-input-container.has-chips.has-error .duet-input-relative{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important}.duet-input-container.has-adornment.has-error.has-focus .duet-input-relative,.duet-input-container.has-chips.has-error.has-focus .duet-input-relative{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important;background:rgb(255, 255, 255) !important}.duet-input-container.has-adornment.has-error:hover:not(:disabled):not(.has-focus) .duet-input-relative,.duet-input-container.has-chips.has-error:hover:not(:disabled):not(.has-focus) .duet-input-relative{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important}.duet-input-container.has-adornment .duet-input-relative,.duet-input-container.has-chips .duet-input-relative{display:flex;flex-direction:row;flex-wrap:wrap;align-content:center;align-items:center;justify-content:flex-start;width:auto;padding-right:2px;border:1px solid rgb(127, 150, 165);border-radius:4px;transition:border 150ms ease}.duet-input-container.has-adornment .duet-input-relative .duet-input,.duet-input-container.has-chips .duet-input-relative .duet-input{flex-grow:1;flex-basis:4rem;padding-left:0 !important;margin-left:12px !important;border-width:0 !important}.duet-input-container.has-adornment .duet-input-relative .duet-input:focus,.duet-input-container.has-adornment .duet-input-relative .duet-input:hover,.duet-input-container.has-chips .duet-input-relative .duet-input:focus,.duet-input-container.has-chips .duet-input-relative .duet-input:hover{outline:none !important;border-width:0 !important}.duet-input-container.has-adornment .duet-input-relative .duet-input{padding:12px 14px !important;margin:initial !important}.duet-input-container.has-adornment .duet-input-relative .input-adornment{color:rgb(98, 121, 138)}.duet-input-container.has-adornment .duet-input-relative .input-adornment.prefix{padding-left:14px}.duet-input-container.has-adornment .duet-input-relative .input-adornment.suffix{padding-right:14px}.duet-input-container.has-prefix .duet-input-relative .duet-input{padding-left:8px !important}.duet-input-container.has-suffix .duet-input-relative .duet-input{padding-right:8px !important}.duet-theme-turva .duet-input-icon{color:rgb(23, 42, 59)}.duet-theme-turva.duet-input-container.has-clear .duet-input-clear-icon button{color:rgb(8, 42, 77)}.duet-theme-turva.has-error .duet-input+.duet-input-icon{color:rgb(214, 28, 82) !important}.duet-theme-turva:not(.has-error) .duet-input{border-color:rgb(120, 145, 164) !important}.duet-theme-turva .duet-input{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, 42, 59) !important}.duet-theme-turva .duet-input[disabled]{color:rgb(95, 122, 143) !important;cursor:not-allowed !important;outline:none !important;background:rgb(228, 233, 237) !important;border-color:rgb(178, 194, 205) !important;opacity:1 !important;-webkit-text-fill-color:rgb(23, 42, 59) !important}.duet-theme-turva .duet-input::placeholder{color:rgb(120, 145, 164)}.duet-theme-turva .duet-input:focus::placeholder{color:rgb(178, 194, 205)}.duet-theme-turva .duet-input:focus+.duet-input-icon{color:rgb(23, 42, 59)}.duet-theme-turva .duet-input-variation-button-left.has-focus .duet-input-relative{border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-input-variation-revealable.has-focus .duet-input-relative{border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-input-help{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(120, 145, 164)}.duet-theme-turva.has-error .duet-input-help{color:rgb(214, 28, 82)}.duet-theme-turva .duet-input-variation-revealable .duet-input-relative{border-color:rgb(120, 145, 164)}.duet-theme-turva.duet-input-variation-revealable.has-error .duet-input-relative{border-color:rgb(214, 28, 82)}.duet-theme-turva.duet-input-variation-revealable.has-focus .duet-input-relative{outline:2px solid;outline-offset:-1px;outline-color:rgb(53, 79, 101);border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-input-container.has-chips.has-focus .duet-input-relative{outline:2px solid;outline-offset:2px;outline-color:rgb(53, 79, 101)}.duet-theme-turva .duet-input-container.has-chips .duet-input-relative{border-color:rgb(120, 145, 164)}";
13519
13702
 
13520
13703
  const icons = {
13521
13704
  search: searchIcon,
@@ -13539,10 +13722,13 @@ class DuetInput {
13539
13722
  this.proxyId = createID("DuetInput");
13540
13723
  this.clearId = createID("DuetInputClear");
13541
13724
  this.labelId = createID("DuetLabel");
13725
+ this.prefixId = createID("DuetInputPrefix");
13726
+ this.suffixId = createID("DuetInputSuffix");
13542
13727
  this.topCaptionId = createID("DuetCaptionTop");
13543
13728
  this.topCaptionPlaceholderId = createID("DuetCaptionPlaceholderTop");
13544
13729
  this.chipCountId = createID("DuetInputChipCount");
13545
13730
  this.errorId = createID("DuetError");
13731
+ this.maxlengthAnnouncementKey = 0;
13546
13732
  this.disallowPatternRegex = null;
13547
13733
  this.clearLabel = {
13548
13734
  en: "Clear",
@@ -13579,6 +13765,11 @@ class DuetInput {
13579
13765
  fi: "valittu",
13580
13766
  sv: "valt",
13581
13767
  };
13768
+ this.maxlengthReachedLabel = {
13769
+ en: "This field has a maximum length of {max} characters. Limit reached.",
13770
+ fi: "Tämän kentän enimmäispituus on {max} merkkiä. Raja on saavutettu.",
13771
+ sv: "Det här fältet har en maximal längd på {max} tecken. Gränsen är nådd.",
13772
+ };
13582
13773
  /**
13583
13774
  * State() variables
13584
13775
  */
@@ -13588,6 +13779,10 @@ class DuetInput {
13588
13779
  */
13589
13780
  this.isFocused = false;
13590
13781
  this._accessiblePopup = undefined;
13782
+ /**
13783
+ * Text announced to screen readers when the maxlength limit is reached.
13784
+ */
13785
+ this.maxlengthAnnouncement = "";
13591
13786
  /**
13592
13787
  * Indicates the id or a string of space seperated ids of a component(s) that describes the input.
13593
13788
  */
@@ -13685,7 +13880,7 @@ class DuetInput {
13685
13880
  */
13686
13881
  this.labelHidden = false;
13687
13882
  /**
13688
- * Enable numeric keyboard for the input.
13883
+ * Enable numeric keyboard for the input. Note that on iOS the numeric keyboard does not contain minus.
13689
13884
  */
13690
13885
  this.numericKeyboard = false;
13691
13886
  /**
@@ -13694,7 +13889,9 @@ class DuetInput {
13694
13889
  */
13695
13890
  this.component = "input";
13696
13891
  /**
13697
- * Enable or disable automatic completion by the browser
13892
+ * Set the type of automatic completion by the browser. If possible use the standard tokens like "name", "given-name",
13893
+ * "family-name", "postal-code", "street-address" etc. The component adds automatically "tel" and "email". If you must
13894
+ * disable autocomplete use "off" (but avoid disabling unless absolutely necessary).
13698
13895
  */
13699
13896
  this.autoComplete = "on";
13700
13897
  /**
@@ -13716,9 +13913,22 @@ class DuetInput {
13716
13913
  * Component event handling.
13717
13914
  */
13718
13915
  this.onInput = (ev) => {
13719
- if (this.maxlength && this.nativeInput.value.length > this.maxlength) {
13916
+ var _a;
13917
+ // In addition to input event, maxlength handling uses also keyDown and paste events as input event may not be
13918
+ // triggered when entry is truncated by the browser.
13919
+ if (this.maxlength) {
13920
+ const wasAtMaxlength = (((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) || 0) >= this.maxlength;
13921
+ const nativeLength = this.nativeInput.value.length;
13720
13922
  // Android doesn't honor maxlength
13721
- this.nativeInput.value = this.nativeInput.value.slice(0, this.maxlength);
13923
+ const inputOverflow = nativeLength > this.maxlength;
13924
+ if (inputOverflow) {
13925
+ this.nativeInput.value = this.nativeInput.value.slice(0, this.maxlength);
13926
+ }
13927
+ const limitJustReached = !wasAtMaxlength && nativeLength === this.maxlength;
13928
+ const limitExceededWhileFull = wasAtMaxlength && inputOverflow;
13929
+ if (limitJustReached || limitExceededWhileFull) {
13930
+ this.handleMaxlengthLimitReached();
13931
+ }
13722
13932
  }
13723
13933
  if (this.disallowPatternRegex) {
13724
13934
  cleanValue(this.nativeInput, this.disallowPatternRegex);
@@ -13764,9 +13974,35 @@ class DuetInput {
13764
13974
  component: "duet-input",
13765
13975
  });
13766
13976
  };
13977
+ this.onInputKeyDown = (ev) => {
13978
+ if (this.maxlength && isCharacterInsertKey(ev) && this.isAtMaxlengthWithoutSelection()) {
13979
+ this.handleMaxlengthLimitReached();
13980
+ }
13981
+ };
13982
+ this.onInputPaste = () => {
13983
+ if (this.maxlength && this.isAtMaxlengthWithoutSelection()) {
13984
+ this.handleMaxlengthLimitReached();
13985
+ }
13986
+ };
13987
+ this.isAtMaxlengthWithoutSelection = () => {
13988
+ const input = this.nativeInput;
13989
+ const inputIsWithoutSelection = input.selectionStart === input.selectionEnd;
13990
+ const inputIsAtMaxlength = input.value.length >= this.maxlength;
13991
+ return inputIsWithoutSelection && inputIsAtMaxlength;
13992
+ };
13993
+ this.handleMaxlengthLimitReached = () => {
13994
+ clearTimeout(this.maxlengthAnnouncementTimeoutId);
13995
+ this.maxlengthAnnouncement = "";
13996
+ this.maxlengthAnnouncementTimeoutId = setTimeout(() => {
13997
+ this.maxlengthAnnouncementKey++;
13998
+ this.maxlengthAnnouncement = this.maxlengthReachedLabel[this.language].replace("{max}", String(this.maxlength));
13999
+ }, 300);
14000
+ };
13767
14001
  /**
13768
14002
  * Private functions
13769
14003
  */
14004
+ // As comma may be used as decimal separator normalize value to have dot before parsing as number
14005
+ this.valueAsNormalizedFloat = () => { var _a; return Number.parseFloat((_a = this.value) === null || _a === void 0 ? void 0 : _a.replace(/,/g, ".")); };
13770
14006
  this.getAriaDescribedBy = () => {
13771
14007
  const describedBy = [];
13772
14008
  if (this.isCaptionVisible && this.topCaptionId) {
@@ -13787,6 +14023,19 @@ class DuetInput {
13787
14023
  }
13788
14024
  return describedBy.length > 0 ? describedBy.join(" ") : null;
13789
14025
  };
14026
+ this.getAriaLabelledBy = () => {
14027
+ const labelledBy = [this.labelId];
14028
+ if (!!this.fieldPrefix) {
14029
+ labelledBy.push(this.prefixId);
14030
+ }
14031
+ if (!!this.fieldSuffix) {
14032
+ labelledBy.push(this.suffixId);
14033
+ }
14034
+ if (!!this.accessibleLabelledBy) {
14035
+ labelledBy.push(this.accessibleLabelledBy);
14036
+ }
14037
+ return labelledBy.join(" ");
14038
+ };
13790
14039
  this.handleClearClick = (event) => {
13791
14040
  const clearing = this.clearInput();
13792
14041
  this.onClear(event);
@@ -13877,7 +14126,31 @@ class DuetInput {
13877
14126
  * This is a proxy for the enclosed native inputs validity
13878
14127
  */
13879
14128
  get validity() {
13880
- return this.nativeInput.validity;
14129
+ var _a, _b;
14130
+ // Copy the value of the native validity state to a proxy object, as native validity is readonly.
14131
+ const validity = {
14132
+ badInput: false,
14133
+ customError: false,
14134
+ patternMismatch: false,
14135
+ rangeOverflow: false,
14136
+ rangeUnderflow: false,
14137
+ stepMismatch: false,
14138
+ tooLong: false,
14139
+ tooShort: false,
14140
+ typeMismatch: false,
14141
+ valid: true,
14142
+ valueMissing: false,
14143
+ };
14144
+ Object.keys(validity).forEach(key => (validity[key] = this.nativeInput.validity[key]));
14145
+ if (typeof this.max !== "undefined" && ((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) && this.max < this.valueAsNormalizedFloat()) {
14146
+ validity.rangeOverflow = true;
14147
+ validity.valid = false;
14148
+ }
14149
+ if (typeof this.min !== "undefined" && ((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) && this.min > this.valueAsNormalizedFloat()) {
14150
+ validity.rangeUnderflow = true;
14151
+ validity.valid = false;
14152
+ }
14153
+ return validity;
13881
14154
  }
13882
14155
  /**
13883
14156
  * @internal
@@ -13892,7 +14165,8 @@ class DuetInput {
13892
14165
  inheritGlobalTheme(this);
13893
14166
  this.disallowedPatternChange();
13894
14167
  this.isCaptionVisible = !!this.caption;
13895
- checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
14168
+ // Accept also slot element so that other components using duet-input can pass their tooltip slots here.
14169
+ checkNamedSlotElement(this.element, "tooltip", "duet-tooltip, slot", 1, true);
13896
14170
  }
13897
14171
  componentDidLoad() {
13898
14172
  if (this.variation === "revealable" && this.nativeInput.form) {
@@ -13999,6 +14273,21 @@ class DuetInput {
13999
14273
  }
14000
14274
  }
14001
14275
  }
14276
+ getAutocomplete() {
14277
+ if (this.type === "password") {
14278
+ return "off";
14279
+ }
14280
+ const tokens = this.autoComplete.split(/\s+/);
14281
+ // If attribute includes "email", e.g. "work email", don't overwrite it
14282
+ if (this.type === "email" && this.autoComplete !== "off" && !tokens.includes("email")) {
14283
+ return "email";
14284
+ }
14285
+ // If attribute includes "tel", e.g. "mobile tel", don't overwrite it
14286
+ if (this.type === "tel" && this.autoComplete !== "off" && !tokens.includes("tel")) {
14287
+ return "tel";
14288
+ }
14289
+ return this.autoComplete;
14290
+ }
14002
14291
  /**
14003
14292
  * Add a chip to the input. Property "chips" must be true.
14004
14293
  */
@@ -14038,7 +14327,7 @@ class DuetInput {
14038
14327
  const identifier = this.identifier || this.inputId;
14039
14328
  const inputProps = {};
14040
14329
  if (this.numericKeyboard) {
14041
- inputProps.inputmode = "numeric";
14330
+ inputProps.inputmode = "decimal";
14042
14331
  }
14043
14332
  // Set validation regexes
14044
14333
  if (this.pattern && this.type !== "tel") {
@@ -14063,7 +14352,7 @@ class DuetInput {
14063
14352
  this.type !== "password" &&
14064
14353
  this.type !== "time" &&
14065
14354
  this.variation !== "button";
14066
- return (hAsync(Host, { key: 'c36aabb598d1ab24aede9cacbbc0f8dfeaf7ff2f', class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" }, onKeyUp: e => this.keyHandler(e) }, this.type === "time" && (hAsync("duet-visually-hidden", { key: 'ee9481c94a8beeeb5b22e5f9f3dc92a96111e3e8', "aria-live": "polite", "aria-atomic": "true" }, selectedTime ? `${this.timeAnnouncement[this.language]} ${selectedTime.toLocaleTimeString()}` : "")), hAsync("div", { key: 'a75cdb69696761e21eb42620bc3162f3ffbe062e', class: {
14355
+ return (hAsync(Host, { key: '1119e8e51f3a490e34665e77ce32ec21f7bc70c7', class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" }, onKeyUp: e => this.keyHandler(e) }, this.type === "time" && (hAsync("duet-visually-hidden", { key: '31afa65dcb1b161f8c5a87c65953a26a552066b8', "aria-live": "polite", "aria-atomic": "true" }, selectedTime ? `${this.timeAnnouncement[this.language]} ${selectedTime.toLocaleTimeString()}` : "")), hAsync("div", { key: '5574afef8c592593193cbf0c99eaf8eaa84dbf11', class: {
14067
14356
  "duet-input-container": true,
14068
14357
  "duet-theme-turva": this.theme === "turva",
14069
14358
  [`duet-input-variation-${this.variation}`]: true,
@@ -14076,12 +14365,15 @@ class DuetInput {
14076
14365
  "has-chips": this.chips,
14077
14366
  "has-clear": this.clear,
14078
14367
  "has-focus": this.isFocused,
14368
+ "has-adornment": !!this.fieldPrefix || !!this.fieldSuffix,
14369
+ "has-prefix": !!this.fieldPrefix,
14370
+ "has-suffix": !!this.fieldSuffix,
14079
14371
  disabled: this.disabled,
14080
- } }, hAsync("div", { key: '84b4ba43c2fbbdf7b390dba0a7f0dc839626b5ed', class: "duet-input-label-container" }, hAsync(DuetInternalLabel, { key: 'a7134e94f657eab2c9c5156a81269712c83ec270', theme: this.theme === "turva" ? "turva" : "default", margin: this.isCaptionVisible ? "small" : "auto", color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (hAsync("duet-tooltip", { key: '669a1461aedfebd1c2e66077beda1c298b77458c', class: "duet-input-tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), hAsync("slot", { key: 'ad5e55d3a36ade247c1508eeffe9de96df514c51', name: "tooltip" })), this.caption && (hAsync("duet-caption", { key: '5c4bfb71d79efe8be226ba521c95c5d8fbec67de', id: this.topCaptionId, size: "medium" }, this.caption)), hAsync("div", { key: '4dfa6f211f3d00f6906d8e18ea9c4fdcc8ec3877', class: {
14372
+ } }, hAsync("div", { key: 'cd0dfb4e8ef821c84d342fff017da9b3e6938134', class: "duet-input-label-container" }, hAsync(DuetInternalLabel, { key: '7ef9a4e3ccbc5b7ac030ca66912eb0471103ed10', theme: this.theme === "turva" ? "turva" : "default", margin: this.isCaptionVisible ? "small" : "auto", color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (hAsync("duet-tooltip", { key: 'f263424aa51a59f4252cad4b4a1347b5986869ae', class: "duet-input-tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), hAsync("slot", { key: 'b4afd5ae65bbc03083b81996965cb354d6fd2a35', name: "tooltip" })), this.caption && (hAsync("duet-caption", { key: '1d126824ee2ef4b7a4dae8650363e9da0b58c288', id: this.topCaptionId, size: "medium" }, this.caption)), hAsync("div", { key: 'adb5b8fa3b3de37c96d74fd1b888de75689a3ce0', class: {
14081
14373
  "duet-input-relative": true,
14082
14374
  "duet-theme-turva": this.theme === "turva",
14083
14375
  "has-error": !!this.error,
14084
- } }, this.placeholder && this.echoPlaceholder && (this.value || this.type === "time") && (hAsync("duet-caption", { key: 'f7811efcc2acfa5b01b1efd6d334a35c35350ca1', id: this.topCaptionPlaceholderId, class: "duet-input-placeholder", margin: "none", size: "small" }, this.placeholder)), this.chips && (hAsync("duet-visually-hidden", { key: 'f4c6f4a8974bfca86248b528b05f84d50c73ba4c', id: this.chipCountId }, ", ", `${this.getAllChips().length} ${getLocaleString(this.chipsSelectedDesriptionLabel)}`, ",")), this.variation === "button-left" && hAsync("slot", { key: 'b270e8b1fe5c958c76b9ba82e7c25aedf35ae710', name: "button-left" }), hAsync("input", Object.assign({ key: 'ee3e9844d6fd27bafb895d0f08a2ce2282237024', ref: input => (this.nativeInput = input), onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, type: this.getInputType(), class: {
14376
+ } }, this.placeholder && this.echoPlaceholder && (this.value || this.type === "time") && (hAsync("duet-caption", { key: 'fcadd06bf9e0dc4115c0bd004de23fa5692b03fc', id: this.topCaptionPlaceholderId, class: "duet-input-placeholder", margin: "none", size: "small" }, this.placeholder)), this.chips && (hAsync("duet-visually-hidden", { key: '84a8a1feed5a0895936f5e1d5ee310c6282f1678', id: this.chipCountId }, ", ", `${this.getAllChips().length} ${getLocaleString(this.chipsSelectedDesriptionLabel)}`, ",")), this.variation === "button-left" && hAsync("slot", { key: '90533c1b234e2644eb97317f903abbf04fee8138', name: "button-left" }), this.fieldPrefix && (hAsync("span", { key: '151fd6757766b8c7e86ded73639d87bb32814089', class: "input-adornment prefix", id: this.prefixId }, this.fieldPrefix)), hAsync("input", Object.assign({ key: '06811722717032661d4ba5e3bfa9c2b6196cf082', ref: input => (this.nativeInput = input), onInput: this.onInput, onKeyDown: this.onInputKeyDown, onPaste: this.onInputPaste, onBlur: this.onBlur, onFocus: this.onFocus, type: this.getInputType(), class: {
14085
14377
  "duet-input": true,
14086
14378
  disabled: this.disabled,
14087
14379
  "is-number": this.component === "number",
@@ -14089,17 +14381,17 @@ class DuetInput {
14089
14381
  "after-chip": this.getAllChips().length > 0,
14090
14382
  "align-right": this.inputAlign === "right",
14091
14383
  [`input-padding-${this.inputPadding}`]: true,
14092
- }, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": this.accessibleLabelledBy ? `${this.labelId} ${this.accessibleLabelledBy}` : this.labelId, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-expanded": this.accessibleExpanded, "aria-haspopup": this.accessibleHasPopup, "aria-owns": this.accessibleOwns, "aria-describedby": this.getAriaDescribedBy(), placeholder: this.placeholder, spellcheck: "false", minlength: this.minlength, maxlength: this.maxlength, autocomplete: this.type === "password" ? "off" : this.autoComplete, required: this.required, role: this.role, name: this.name, id: identifier }, inputProps)), !this.value && hasInputIcon && (hAsync("div", { key: 'f021ac46e0c9738775a03965e2c3497d80c4dced', class: "duet-input-icon" }, hAsync("duet-icon", { key: '56bff364b7c70d530c3dd809b2a8a2f7fe1fff5b', margin: "none", size: "small", icon: icons[this.type].svg, color: "currentColor" }))), this.clear && this.value && (hAsync("div", { key: '7eb63087db85f1095034e2584cf4d1d4b124c82a', class: {
14384
+ }, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": this.getAriaLabelledBy(), "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-expanded": this.accessibleExpanded, "aria-haspopup": this.accessibleHasPopup, "aria-owns": this.accessibleOwns, "aria-describedby": this.getAriaDescribedBy(), placeholder: this.placeholder, spellcheck: "false", minlength: this.minlength, maxlength: this.maxlength, autocomplete: this.getAutocomplete(), required: this.required, role: this.role, name: this.name, id: identifier }, inputProps)), this.maxlength && (hAsync("duet-visually-hidden", { key: `maxlength-announcement-${this.maxlengthAnnouncementKey}`, "aria-live": "polite", "aria-atomic": "true" }, this.maxlengthAnnouncement)), this.fieldSuffix && (hAsync("span", { key: 'b2d284fc05798f7dab08555f524cabf4f94f0e19', class: "input-adornment suffix", id: this.suffixId }, this.fieldSuffix)), !this.value && hasInputIcon && (hAsync("div", { key: '8364a8a7687b6e37279585edf55da9005673f4df', class: "duet-input-icon" }, hAsync("duet-icon", { key: '1b420da3e76241f1e105ce5ef8b9f40e6490424d', margin: "none", size: "small", icon: icons[this.type].svg, color: "currentColor" }))), this.clear && this.value && (hAsync("div", { key: 'c67978258fbf64a22563a8e139b7a7de012bb4ca', class: {
14093
14385
  "duet-input-clear-icon": true,
14094
14386
  "duet-input-clear-icon-single": !hasInputIcon,
14095
14387
  "duet-input-clear-icon-double": !!this.icon,
14096
14388
  "duet-input-clear-icon-button": this.variation === "button",
14097
14389
  [`input-padding-${this.inputPadding}`]: true,
14098
- } }, hAsync("button", { key: '72fb4efe7f5d0ea161c7401acb59f2b20a77adac', onClick: this.handleClearClick, id: this.clearId, "aria-label": this.clearLabel[this.language], "aria-keyshortcuts": "Escape" }, hAsync("duet-icon", { key: 'f9df024692c1be597b37cedc74c8203e8fabb908', margin: "none", size: "medium", name: "action-clear-input", color: "currentColor" })))), this.icon && this.variation !== "button" && (hAsync("div", { key: 'bca090dc2f20e1febe6674059e0a3b22c2d79d2f', class: "duet-input-icon" }, hAsync("duet-icon", { key: '9066e27643ad85bc683cd36a5998e7bd0fcad572', margin: "none", size: "small", name: this.icon, color: "currentColor" }))), this.variation === "button" && hAsync("slot", { key: 'c83a2b95a969c7f1c2f7a3915cdfce56d1c525b8', name: "button" }), this.variation === "revealable" && (hAsync("duet-button", { key: '86fc4aaddb775f76d602b699bdc8c811f41f2561', ref: button => (this.togglePasswordRevealedButton = button), onBlur: this.onBlur, onFocus: this.onFocus, onClick: this.togglePasswordRevealed, icon: this.isPasswordRevealed ? "action-hide" : "action-show", accessibleLabel: this.isPasswordRevealed
14390
+ } }, hAsync("button", { key: 'b243244d6d5184c42a9afb93483479a0b07bad7d', onClick: this.handleClearClick, id: this.clearId, "aria-label": this.clearLabel[this.language], "aria-keyshortcuts": "Escape" }, hAsync("duet-icon", { key: '2ff21863005e55dc7a4dc1a16e2e2e40ad7f85cf', margin: "none", size: "medium", name: "action-clear-input", color: "currentColor" })))), this.icon && this.variation !== "button" && (hAsync("div", { key: '7732892f159a6c7c9ad7c89b0031052b1ed45502', class: "duet-input-icon" }, hAsync("duet-icon", { key: '97de6dc8ff0c506db494dc36edc6d0107792c2b9', margin: "none", size: "small", name: this.icon, color: "currentColor" }))), this.variation === "button" && hAsync("slot", { key: '5c940caf605e2eaff4db2a36c63548db78f36f41', name: "button" }), this.variation === "revealable" && (hAsync("duet-button", { key: 'caf0a7c8bec4a620e2ca5f897eaabc1814f32c5d', ref: button => (this.togglePasswordRevealedButton = button), onBlur: this.onBlur, onFocus: this.onFocus, onClick: this.togglePasswordRevealed, icon: this.isPasswordRevealed ? "action-hide" : "action-show", accessibleLabel: this.isPasswordRevealed
14099
14391
  ? this.hidePasswordLabel[this.language]
14100
- : this.showPasswordLabel[this.language], margin: "none", variation: "input-button-embedded", fixed: true, iconOnly: true })), this.variation === "revealable" && this.isPasswordRevealed !== undefined && (hAsync("duet-visually-hidden", { key: 'dfa0a59d038af09b5115dae28772c108918154ab' }, hAsync("span", { key: '00408d3c2616c8e1aa64b41503ae7760c1fd60af', "aria-live": "polite" }, this.isPasswordRevealed
14392
+ : this.showPasswordLabel[this.language], margin: "none", variation: "input-button-embedded", fixed: true, iconOnly: true })), this.variation === "revealable" && this.isPasswordRevealed !== undefined && (hAsync("duet-visually-hidden", { key: 'cc394dbd7d28fc9e1cf0a864c67e7e7a6a835d1a' }, hAsync("span", { key: '20033ed28c86634d6faf03180e53cff84def1329', "aria-live": "polite" }, this.isPasswordRevealed
14101
14393
  ? this.passwordShownAriaAnnouncement[this.language]
14102
- : this.passwordHiddenAriaAnnouncement[this.language]))), hAsync("slot", { key: '3b539164f49b311fcdc82ce75cb75d360e148c4b' })), hAsync("span", { key: '2f2f5abff72831b7257d404dfedecb8bea316762', class: "duet-input-help", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && hAsync("span", { key: '63e8da0c2b2638d8af7f0b87f4e00ab5d5b7aa8c', class: "duet-input-error" }, this.error)))));
14394
+ : this.passwordHiddenAriaAnnouncement[this.language]))), hAsync("slot", { key: 'b72c50503fa80fd1ba6764b7b3348bc5d7b2813c' })), hAsync("span", { key: '25790e8c5147bb271fefa6cbce2343287b57c816', class: "duet-input-help", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && hAsync("span", { key: 'c62d261a03ebec492aed9c65a836525e47660cfc', class: "duet-input-error" }, this.error)))));
14103
14395
  }
14104
14396
  get element() { return getElement(this); }
14105
14397
  static get watchers() { return {
@@ -14143,11 +14435,15 @@ class DuetInput {
14143
14435
  "labelWeight": [1025, "label-weight"],
14144
14436
  "error": [513],
14145
14437
  "labelHidden": [4, "label-hidden"],
14438
+ "fieldPrefix": [1, "field-prefix"],
14439
+ "fieldSuffix": [1, "field-suffix"],
14146
14440
  "numericKeyboard": [4, "numeric-keyboard"],
14147
14441
  "name": [1],
14148
14442
  "pattern": [1],
14149
14443
  "maxlength": [2],
14150
14444
  "minlength": [2],
14445
+ "max": [2],
14446
+ "min": [2],
14151
14447
  "placeholder": [1],
14152
14448
  "component": [1],
14153
14449
  "role": [1],
@@ -14163,6 +14459,7 @@ class DuetInput {
14163
14459
  "isPasswordRevealed": [32],
14164
14460
  "isFocused": [32],
14165
14461
  "_accessiblePopup": [32],
14462
+ "maxlengthAnnouncement": [32],
14166
14463
  "setFocus": [64],
14167
14464
  "resetCursor": [64],
14168
14465
  "clearInput": [64],
@@ -14308,24 +14605,24 @@ class DuetLayout {
14308
14605
  * Always the last one in the class.
14309
14606
  */
14310
14607
  render() {
14311
- return (hAsync(Host, { key: '53712da1e22dc258d30906570bf1271624379ed8', class: {
14608
+ return (hAsync(Host, { key: 'c3ba619c0c3088257b425ba8f5022ebef33c1100', class: {
14312
14609
  center: this.center,
14313
14610
  "duet-middle": this.middle,
14314
14611
  "duet-ie": isInternetExplorer(),
14315
- } }, hAsync("div", { key: '80dc2f3b86a02c22c7aebd8802bd332154c4a273', class: { "duet-layout-wrapper": true, "duet-m-0": this.margin === "none" } }, this.hasTop && (hAsync("div", { key: '9f3f4c713d5b921ad78480072e3dcea4d4867d04', class: {
14612
+ } }, hAsync("div", { key: 'd627f63579dfb957bf3abe17191e8a8e943f0aae', class: { "duet-layout-wrapper": true, "duet-m-0": this.margin === "none" } }, this.hasTop && (hAsync("div", { key: '4586ff77f2ef4209020a2401eef63273527a2e27', class: {
14316
14613
  "duet-layout-top": true,
14317
14614
  "duet-center": this.center,
14318
- } }, hAsync("div", { key: '7cd44f76b96b5e2bd6033cc044f08e75a10760ed', class: "duet-layout-top-wrapper" }, hAsync("slot", { key: '7743f1fe659f31925b27a85a970e934506b935e7', name: "top" })))), hAsync("div", { key: '637a68f8376e073f146c63f2c866b6f52722577e', class: {
14615
+ } }, hAsync("div", { key: 'daebb47e73054b59bb0459dc3327e0e60b17ebbe', class: "duet-layout-top-wrapper" }, hAsync("slot", { key: '339fac00b53c0b4f532cfc77d5743217b5f72057', name: "top" })))), hAsync("div", { key: 'bbf287d1f0aa701c40553a426b7a77b0a1c24c17', class: {
14319
14616
  "duet-layout": true,
14320
14617
  "has-sidebar": this.hasSidebar,
14321
14618
  "duet-center": this.center,
14322
14619
  [`padding-${this.paddingBreakpoint}`]: !!this.paddingBreakpoint,
14323
- } }, hAsync("main", { key: 'f6b2682dfb675be08976b23a485cf1a7ad76de0c', class: "duet-main" }, this.hasPageHeading && hAsync("slot", { key: '9ec618959d54d768b880f95e05df0e5aaf76de75', name: "page-heading" }), hAsync("slot", { key: 'b3c960b48d55fb863854fc34e126b1a143b3d194', name: "main" })), this.hasSidebar && (hAsync("aside", { key: '68671aab139ba365d60284909e489a78bd7438d3', class: "duet-sidebar" }, hAsync("div", { key: '60a53e1fa61ccec8fa2b85f20b475c52e016b963', class: {
14620
+ } }, hAsync("main", { key: '0d75aa9aeb65fa61f8e0ff114cee467abe49f1cd', class: "duet-main" }, this.hasPageHeading && hAsync("slot", { key: 'fd0ed7464c54122f1cfbbfbfc40f78d8c9ab41c7', name: "page-heading" }), hAsync("slot", { key: '1004e4007a1d82e22147ddf3a883e8ddc9c7b0dc', name: "main" })), this.hasSidebar && (hAsync("aside", { key: '167c6d2495c8bbc7cd0275f723e0810b9fc311b6', class: "duet-sidebar" }, hAsync("div", { key: 'f0bbcbeb756bf18ba1b678c405c3890fb00ad857', class: {
14324
14621
  "duet-sidebar-container": true,
14325
14622
  "has-tabs": this.tabs,
14326
14623
  sticky: this.sticky,
14327
14624
  [this.stickyDistance]: this.sticky,
14328
- } }, hAsync("slot", { key: 'a6131a1af98bb5cf2c6c808b15cea9e6996143f3', name: "sidebar" }))))))));
14625
+ } }, hAsync("slot", { key: 'b8b30e8b29bb87ea6a0c0891ca5f841d0921f72b', name: "sidebar" }))))))));
14329
14626
  }
14330
14627
  get element() { return getElement(this); }
14331
14628
  static get style() { return duetLayoutCss; }
@@ -14585,10 +14882,10 @@ class DuetLink {
14585
14882
  const Tag = !this.url && this.variation !== "default" ? "button" : "a";
14586
14883
  const role = !this.url && this.variation === "default" ? "button" : null;
14587
14884
  const isButton = Tag === "button";
14588
- return (hAsync(Host, { key: '7fc9958dae390b84feaddc854bf6b039d3bd00a4', class: {
14885
+ return (hAsync(Host, { key: '07cf184d2f321700e665e358f8a0cb988e798da8', class: {
14589
14886
  [`duet-link-${this.variation}`]: true,
14590
14887
  "duet-m-0": this.margin === "none",
14591
- } }, hAsync(Tag, { key: '1d0baa8ee391bbfc51eb30936564d9e7d1a7de97', href: this.url, class: {
14888
+ } }, hAsync(Tag, { key: 'bb416240f5adc73c8eeacbd4ca0524619326a954', href: this.url, class: {
14592
14889
  "duet-link": true,
14593
14890
  "duet-link-is-external": this.external,
14594
14891
  "duet-link-is-download": !!this.download,
@@ -14778,7 +15075,7 @@ class DuetList {
14778
15075
  * Always the last one in the class.
14779
15076
  */
14780
15077
  render() {
14781
- return (hAsync("dl", { key: '82930dea1fe1193f295b5888ed5f06a85693faaa', class: { "duet-list-component": true, "duet-m-0": this.margin === "none" } }, hAsync("slot", { key: '44602efe41782f5dc0221b0fe2dd2ac6dc905ae3' })));
15078
+ return (hAsync("dl", { key: 'c83e43f3d82e32198e0a5d45a0812b8358f6be07', class: { "duet-list-component": true, "duet-m-0": this.margin === "none" } }, hAsync("slot", { key: '7a65328f555edf10f4da02166eebcfcf8b8f68f7' })));
14782
15079
  }
14783
15080
  get element() { return getElement(this); }
14784
15081
  static get watchers() { return {
@@ -14844,7 +15141,7 @@ class DuetListItem {
14844
15141
  * Always the last one in the class.
14845
15142
  */
14846
15143
  render() {
14847
- return (hAsync(Host, { key: 'e4cd01b6b0c03f3d82beba7c85400711e49f6582', class: {
15144
+ return (hAsync(Host, { key: '83029afa5ebc666926eb1572b8ad9a311bdbfcf1', class: {
14848
15145
  "duet-theme-turva": this.theme === "turva",
14849
15146
  "duet-no-stacking": !this.responsive,
14850
15147
  "duet-list-item-breakpoint-x-small": this.breakpoint === "x-small",
@@ -14852,7 +15149,7 @@ class DuetListItem {
14852
15149
  "duet-list-item-breakpoint-medium": this.breakpoint === "medium",
14853
15150
  "duet-list-item-breakpoint-large": this.breakpoint === "large",
14854
15151
  "duet-list-item-breakpoint-x-large": this.breakpoint === "x-large",
14855
- } }, hAsync("dt", { key: '9644bd50dfb2d6b45bd136bedcb6968f9a2675ba' }, hAsync("slot", { key: 'db3550984b29dd4dad07eb4ab7d047652e83ac22', name: "label" })), hAsync("dd", { key: '1e01b0449b667d1de8e9ba3ed9593725c5ce8353' }, hAsync("slot", { key: 'c0662c72ff8ba3c2a13041b741b15ee1f9b0f544', name: "value" }))));
15152
+ } }, hAsync("dt", { key: '884936458d12b95cd553cd4dc4d8a237cd8e5830' }, hAsync("slot", { key: 'b17473caf7b410acf49f8c68f9ae53b3071397d7', name: "label" })), hAsync("dd", { key: 'e5c6aa8b8d8998d500d27493896a288f71861df6' }, hAsync("slot", { key: '7a6a3b223c394bb3376d7734791cfd439076d5f7', name: "value" }))));
14856
15153
  }
14857
15154
  get element() { return getElement(this); }
14858
15155
  static get style() { return duetListItemCss; }
@@ -14990,7 +15287,7 @@ class DuetLogo {
14990
15287
  */
14991
15288
  render() {
14992
15289
  const TagName = this.href ? "a" : "div";
14993
- return (hAsync(Host, { key: '31d7e480f3c9ef37d87d5af511489b235731973c', class: { "duet-m-0": this.margin === "none" } }, hAsync(TagName, { key: 'f280ec89b183ee99be0449f35a824b77aff8a2d0', href: this.href, ref: link => (this.nativeLink = link), "aria-label": this.accessibleLabel, class: {
15290
+ return (hAsync(Host, { key: 'b66ac360589fd13695f735c6c659bc4f94e2375e', class: { "duet-m-0": this.margin === "none" } }, hAsync(TagName, { key: '91a1d72ee9da1ac978938f28eaab541f3dc7a2ce', href: this.href, ref: link => (this.nativeLink = link), "aria-label": this.accessibleLabel, class: {
14994
15291
  "duet-logo": true,
14995
15292
  [this.size]: true,
14996
15293
  "duet-logo-inverse": this.inverse,
@@ -15150,17 +15447,17 @@ class DuetMenuBar {
15150
15447
  render() {
15151
15448
  const slideoutAvailable = document.querySelectorAll("duet-slideout").length > 0;
15152
15449
  const isUsedAsAdditionalHorizontalNav = slideoutAvailable && !this.logo;
15153
- return (hAsync(Host, { key: 'da384aec934b8177658bc5b2ba9126dabe8b44cc' }, hAsync("nav", { key: 'eb7dd8d958e964d1b0e5d2cf96a20a4d0c0c70dc', class: {
15450
+ return (hAsync(Host, { key: '8e72a749ab5f9a2b180ea11670931e4a5f1dfc48' }, hAsync("nav", { key: '13aa3dead3343cbd11debfec1c4e4c7b6d58ea41', class: {
15154
15451
  "duet-menu-bar": true,
15155
15452
  "duet-theme-turva": this.theme === "turva",
15156
15453
  "horizontal-nav": isUsedAsAdditionalHorizontalNav,
15157
15454
  "duet-menu-bar-slim": !this.centerSlotUsed,
15158
15455
  hidden: this.hidden && this.hideOnScroll,
15159
15456
  bottom: this.onBottom,
15160
- }, "aria-label": this.accessibleLabel }, hAsync("div", { key: '4a8a38d9fd5457b716bff3252791d35eb8441aec', class: "top" }), hAsync("div", { key: 'dfe385565d075aba16005d29790111cc51b5a464', class: { container: true, "with-info-text": !!this.logoInfoText && !this.centerSlotUsed }, ref: el => (this.container = el), onScroll: () => this.scrollbarCheck() }, this.logo && (hAsync("div", { key: 'd7fa21e1f8b0f3ea5eeb5eff037790a47c57be22' }, hAsync("duet-logo", { key: '081cd1b58c97e71196ff421dbb7b1ed4f2e2278e', class: "medium", size: "medium", margin: "none", theme: this.theme, href: this.logoHref, accessibleLabel: this.logoLinkAccessibleLabel, onClick: this.handleLogoClick, language: this.language }), hAsync("duet-logo", { key: '41b6ffe971ec6c9ff78c2f79834df3c9dceb3482', class: "large", size: "large", margin: "none", theme: this.theme, href: this.logoHref, accessibleLabel: this.logoLinkAccessibleLabel, onClick: this.handleLogoClick, language: this.language }), hAsync("duet-logo", { key: '16cc7621a8d50d64d63fd7b8af07f074e30a49d0', class: "only-symbol", onlySymbol: true, margin: "none", theme: this.theme, href: this.logoHref, accessibleLabel: this.logoLinkAccessibleLabel, onClick: this.handleLogoClick, language: this.language }), this.logoInfoText && !this.centerSlotUsed && (hAsync("div", { key: '2f0bcec90b8c9f508d95fb31d8ad9904ea7bf652', class: {
15457
+ }, "aria-label": this.accessibleLabel }, hAsync("div", { key: 'f6f5066520f23e2f40105c60550f9ca09a3f3ce4', class: "top" }), hAsync("div", { key: '1bc95be8d4b824e14c1ab97ea7b6131bdf80ae84', class: { container: true, "with-info-text": !!this.logoInfoText && !this.centerSlotUsed }, ref: el => (this.container = el), onScroll: () => this.scrollbarCheck() }, this.logo && (hAsync("div", { key: '1126ebdb087ef0879f0a3367a7c230d1b161e14c' }, hAsync("duet-logo", { key: '770ef75946420cf9122526af88eac7afec069ae2', class: "medium", size: "medium", margin: "none", theme: this.theme, href: this.logoHref, accessibleLabel: this.logoLinkAccessibleLabel, onClick: this.handleLogoClick, language: this.language }), hAsync("duet-logo", { key: '400f1b37fe02584a549d7b20e9a8df46ecfdf1b3', class: "large", size: "large", margin: "none", theme: this.theme, href: this.logoHref, accessibleLabel: this.logoLinkAccessibleLabel, onClick: this.handleLogoClick, language: this.language }), hAsync("duet-logo", { key: '91c920bbb82868d57688e80a8cb8ce9e0862d44a', class: "only-symbol", onlySymbol: true, margin: "none", theme: this.theme, href: this.logoHref, accessibleLabel: this.logoLinkAccessibleLabel, onClick: this.handleLogoClick, language: this.language }), this.logoInfoText && !this.centerSlotUsed && (hAsync("div", { key: 'fffe9b63fe88c88c7513747e8c7c4c6132a09bc3', class: {
15161
15458
  "duet-logo-info-text": true,
15162
15459
  "duet-theme-turva": this.theme === "turva",
15163
- } }, this.logoInfoText)))), hAsync("div", { key: '0630a90a58cfcfdd4255c018db1ea172240b5611', class: "list center", role: "list" }, hAsync("div", { key: '6e9f9d06775216dfa9ec70b2c768d5957ba67f10', class: "more-left", hidden: !this.leftMoreVisible, role: "presentation" }), hAsync("slot", { key: '03f6a07cf3633d2ba2c62b76d40d2f74bba6f366', name: "center" }), hAsync("div", { key: '7baeb903a2656bb33129bac0cf6007fce4604bd1', class: "more-right", hidden: !this.rightMoreVisible, role: "presentation" })), hAsync("div", { key: '8a183192d62d7040c1ab2a8a684d8a7678803436', class: "list right", role: "list" }, hAsync("slot", { key: 'd2f48181bf06824a5901fdc37f7f9eb729460c68', name: "right" }))), hAsync("div", { key: '3b1e931eb638ea04b5a0743d2ab03413ca220a33', class: "bottom" }))));
15460
+ } }, this.logoInfoText)))), hAsync("div", { key: '7f0792cfa41b0056d5cc7cc307664b527d0b5936', class: "list center", role: "list" }, hAsync("div", { key: '0c670a1650d4733e837851a0205225e559bb62ed', class: "more-left", hidden: !this.leftMoreVisible, role: "presentation" }), hAsync("slot", { key: 'ff44edce07857e78676b4dbcf06f078d6974d15b', name: "center" }), hAsync("div", { key: '6b742ff9c5f993a8814689cea374a5befc4c88ec', class: "more-right", hidden: !this.rightMoreVisible, role: "presentation" })), hAsync("div", { key: 'c1fd0a243705d349ff084880a3523c4ebf62d474', class: "list right", role: "list" }, hAsync("slot", { key: '1662a98510c36ad29a273cda970b3b91cc1a48ef', name: "right" }))), hAsync("div", { key: 'baa3b56ef2c6320468a982cc84052b1294638599', class: "bottom" }))));
15164
15461
  }
15165
15462
  get element() { return getElement(this); }
15166
15463
  static get style() { return duetMenuBarCss; }
@@ -15239,10 +15536,10 @@ class DuetMenuBarButton {
15239
15536
  * Always the last one in the class.
15240
15537
  */
15241
15538
  render() {
15242
- return (hAsync(Host, { key: '0e1e537a15d9a7b7d94a2ce24a71281b4757b1d5', role: "listitem", onfocus: () => this.setFocus() }, hAsync("button", { key: 'c7ab5d711a28d54af476fdf133e8f92bce25f020', ref: button => (this.nativeButton = button), class: {
15539
+ return (hAsync(Host, { key: 'e826fdb0b0fb223aea52738971ddbc17f6004833', role: "listitem", onfocus: () => this.setFocus() }, hAsync("button", { key: '350dd3a06df24d5f3a3f3dccb4a4a48b4a43e9f7', ref: button => (this.nativeButton = button), class: {
15243
15540
  "duet-menu-bar-button": true,
15244
15541
  "duet-theme-turva": this.theme === "turva",
15245
- }, "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", { key: '922a6e2fa015b52aac218ce9e803c75a57465310', class: "menu-bar-button-icon", theme: this.theme, size: "auto", name: this.icon, margin: "none", color: "currentColor" })), hAsync("slot", { key: 'd85350f1fb803be4e524803b0bea4acc62f569fb' }))));
15542
+ }, "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", { key: '96911d1ad50d5b247e27d3e6b5712326434a6354', class: "menu-bar-button-icon", theme: this.theme, size: "auto", name: this.icon, margin: "none", color: "currentColor" })), hAsync("slot", { key: '004e73cb6a5e6f3126a45d9fa7184f7b424d4f60' }))));
15246
15543
  }
15247
15544
  get element() { return getElement(this); }
15248
15545
  static get style() { return duetMenuBarButtonCss; }
@@ -15332,17 +15629,17 @@ class DuetMenuBarDropdown {
15332
15629
  * Always the last one in the class.
15333
15630
  */
15334
15631
  render() {
15335
- return (hAsync(Host, { key: '549451747b5d958dcac03314e5571631ddb5681c', role: "listitem" }, hAsync("div", { key: '91c7c1f71d878251370fd14fbe8a5f7e53a4d8bd', class: {
15632
+ return (hAsync(Host, { key: 'a8e5a338b3e99161819aca174ed5d7390adcd508', role: "listitem" }, hAsync("div", { key: '3515f7355c3f564bdebbea9a7d1845754ad9d3ce', class: {
15336
15633
  "duet-menu-bar-dropdown": true,
15337
15634
  "duet-theme-turva": this.theme === "turva",
15338
15635
  active: this.open,
15339
15636
  [`duet-menu-bar-dropdown--slot-${this.getVariant()}`]: true,
15340
- } }, hAsync("button", { key: 'a1bc6d43c28b9070c8f351111312cf436b02b3a2', ref: element => (this.button = element), "aria-label": this.accessibleLabel, "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
15637
+ } }, hAsync("button", { key: '8ae1babb7852048ac222167858eeb10f2ef8a3ee', ref: element => (this.button = element), "aria-label": this.accessibleLabel, "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
15341
15638
  active: this.open,
15342
- }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (hAsync("duet-icon", { key: '612895f551ed8c5045b2a5946b3528948fb34468', class: "menu-bar-dropdown-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), hAsync("div", { key: '92d067edbc9fd30ed9113f20153943cfe99030fa', class: "label" }, hAsync("slot", { key: '2dc4b402f56b0e45f4590a563bdbff368bf9e761', name: "label" }), hAsync("duet-icon", { key: '97c55f40d40e52c267bdc2f0edf127c8868b91d2', class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), hAsync("div", { key: '625909f147e2f0d3ac7d74197d787621afd5ad5e', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
15639
+ }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (hAsync("duet-icon", { key: '2d22eaa31070fc91119b0d15fcae8768764b3038', class: "menu-bar-dropdown-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), hAsync("div", { key: 'fa891196c7c3247a4349fc5db8d59e0500754cb9', class: "label" }, hAsync("slot", { key: '59a1658b0e39bae2f94b8583e7ce787118f13221', name: "label" }), hAsync("duet-icon", { key: '31da6e0c50072b0411a7e9c69d79aa810963d0b8', class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), hAsync("div", { key: '9490db9c65cf17be947333aed8562e5a146da13e', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
15343
15640
  items: true,
15344
15641
  hidden: !this.open,
15345
- } }, hAsync("slot", { key: '927e1629164029ae374bf2a0828246865e682f21' })))));
15642
+ } }, hAsync("slot", { key: '31a887188bb39ed4efbe1383940b3b8db7396102' })))));
15346
15643
  }
15347
15644
  get element() { return getElement(this); }
15348
15645
  static get style() { return duetMenuBarDropdownCss; }
@@ -15409,11 +15706,11 @@ class DuetMenuBarDropdownLink {
15409
15706
  * Always the last one in the class.
15410
15707
  */
15411
15708
  render() {
15412
- return (hAsync(Host, { key: '4f66b37f78e3221d96cc0189a2a8592e6b6f8fc6' }, hAsync("a", { key: 'd6ad6af753be198a1601d09e82478a0e1d9ee172', class: {
15709
+ return (hAsync(Host, { key: '9321ae6f770fbc1b00cde317df160db1d32fc53a' }, hAsync("a", { key: '85ef5b95cffcae577699f0a3453b0c3fd24d50e9', class: {
15413
15710
  "duet-menu-bar-dropdown-link": true,
15414
15711
  [`duet-menu-bar-dropdown-link--slot-${this.getVariant()}`]: true,
15415
15712
  "duet-theme-turva": this.theme === "turva",
15416
- }, href: this.href, role: "menuitem", onKeyUp: e => this.handleEscape(e), "aria-label": this.accessibleLabel }, this.icon && (hAsync("duet-icon", { key: '4834a4159934c0525ed9e7b7d6ac28132ba2cf03', theme: this.theme, name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), hAsync("slot", { key: 'e3f4ac467c7e84ec2c9f0d8ac7f36800a299540f' }))));
15713
+ }, href: this.href, role: "menuitem", onKeyUp: e => this.handleEscape(e), "aria-label": this.accessibleLabel }, this.icon && (hAsync("duet-icon", { key: '374d983fce34f87bf8c7878ede20b9fae712b8cc', theme: this.theme, name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), hAsync("slot", { key: '26ababe0542732c2fc589340dda968e3bc574caa' }))));
15417
15714
  }
15418
15715
  get element() { return getElement(this); }
15419
15716
  static get style() { return duetMenuBarDropdownLinkCss; }
@@ -15499,11 +15796,11 @@ class DuetMenuBarItem {
15499
15796
  */
15500
15797
  render() {
15501
15798
  const TagName = this.url ? "a" : "button";
15502
- return (hAsync(Host, { key: 'c8f1492389226bb51cdfb54ab5262d21292a19cb', role: "listitem" }, hAsync(TagName, { key: '251da0ca6cb28157cb26ba5f90c770123cebc5c1', target: !this.url ? null : this.external ? "_blank" : "_self", ref: element => (this.itemElement = element), class: {
15799
+ return (hAsync(Host, { key: '19ec1a0c3d191845df0ae30cdb8f9b83c198b79b', role: "listitem" }, hAsync(TagName, { key: '85786500b66990fe9eee940a466ab9cd08eb2103', target: !this.url ? null : this.external ? "_blank" : "_self", ref: element => (this.itemElement = element), class: {
15503
15800
  "duet-menu-bar-item": true,
15504
15801
  "duet-theme-turva": this.theme === "turva",
15505
15802
  active: this.active,
15506
- }, href: this.url, role: `${TagName === "a" ? "link" : "button"}`, "aria-current": this.active ? "true" : "false", "aria-label": (this.url && getAccessibleLinkLabel(this)) || this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined, rel: this.external ? "noopener" : undefined }, this.leadingIcon && (hAsync("duet-icon", { key: 'bc34c4cc34cd814ec124013da71d619f32986bd7', class: "leading-icon", size: "auto", name: this.leadingIcon, margin: "none", theme: this.theme, color: "currentColor" })), hAsync("slot", { key: 'a913f29ab5fd5e0f3a9aeb2115bae74b83c51a7e' }), (this.trailingIcon || this.external) && (hAsync("duet-icon", { key: 'efb44346bf1cc026263a16f0982981b6420ad298', class: {
15803
+ }, href: this.url, role: `${TagName === "a" ? "link" : "button"}`, "aria-current": this.active ? "true" : "false", "aria-label": (this.url && getAccessibleLinkLabel(this)) || this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined, rel: this.external ? "noopener" : undefined }, this.leadingIcon && (hAsync("duet-icon", { key: 'ba8faece0464d006590733c1ff8437cdd931ca03', class: "leading-icon", size: "auto", name: this.leadingIcon, margin: "none", theme: this.theme, color: "currentColor" })), hAsync("slot", { key: '80207075bb856dbfecb6a91e0a72b13287751da4' }), (this.trailingIcon || this.external) && (hAsync("duet-icon", { key: '7e04921588a4c306f61b8056c7c0a7b83c2c29f8', class: {
15507
15804
  "trailing-icon": !!this.trailingIcon,
15508
15805
  "trailing-icon-arrow": this.trailingIcon === "action-arrow-down-small",
15509
15806
  "external-icon": !!this.external,
@@ -15568,11 +15865,11 @@ class DuetMenuBarLink {
15568
15865
  * Always the last one in the class.
15569
15866
  */
15570
15867
  render() {
15571
- return (hAsync(Host, { key: '997031f3159b6da185e25915d7241ba645b2b9d0', role: "listitem" }, hAsync("a", { key: '8ef71373a7c481ca8dc93506eb8957c470489c2b', class: {
15868
+ return (hAsync(Host, { key: 'ed2a24c6bdd70f91370a4a70bf22804ce698ca49', role: "listitem" }, hAsync("a", { key: 'f957e2da0344bdd58789bb90151c23b341824d93', class: {
15572
15869
  "duet-menu-bar-link": true,
15573
15870
  "duet-theme-turva": this.theme === "turva",
15574
15871
  active: this.active,
15575
- }, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (hAsync("duet-icon", { key: 'f0439bbfecdf854d05fa818663e7e7e93fffa404', class: "menu-bar-link-icon", theme: this.theme, size: "auto", name: this.icon, margin: "none", color: "currentColor" })), hAsync("slot", { key: '426c1a3de2829a37aba8d4f30169d71425d81301' }))));
15872
+ }, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (hAsync("duet-icon", { key: 'c6f7c0a4fbc065c7ff132dba57ec468036359582', class: "menu-bar-link-icon", theme: this.theme, size: "auto", name: this.icon, margin: "none", color: "currentColor" })), hAsync("slot", { key: '73100c0c85e3087896e81c526816b1e92d13b9c3' }))));
15576
15873
  }
15577
15874
  get element() { return getElement(this); }
15578
15875
  static get style() { return duetMenuBarLinkCss; }
@@ -15908,14 +16205,14 @@ class DuetModal {
15908
16205
  var _a, _b;
15909
16206
  const iconColor = postfixTheme("primary", this.theme);
15910
16207
  const closeColor = postfixTheme("secondary", this.theme);
15911
- const closingButton = (hAsync("div", { key: 'fd461f380d0e2fbb5a70ef8f26e48f115b56f89b', class: "duet-modal-close" }, hAsync("duet-button", { key: '9fb5ccf76de515731d82db147700750f6fa60bef', ref: button => (this.buttonEl = button), variation: "plain", accessibleLabel: this.accessibleCloseLabel, color: closeColor, iconSize: "large", icon: "navigation-close", iconOnly: true, margin: "none", theme: this.theme, onClick: ev => this.closeModal(ev), fixed: true })));
15912
- return (hAsync("div", { key: '8c4fc72b13a5323157f7c310116df9130e47cd31', ref: modal => (this.modalEl = modal), "aria-label": (_a = this.accessibleLabel) !== null && _a !== void 0 ? _a : this.heading, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-describedby": this.accessibleDescribedBy, role: this.variation === "loader" ? "alert" : "dialog", "aria-modal": this.isSafariBrowser ? false : true, tabindex: "-1", class: {
16208
+ const closingButton = (hAsync("div", { key: 'ec2c3a88ed4381cdfe04d5e09c6973f50926938b', class: "duet-modal-close" }, hAsync("duet-button", { key: '3ba54ca9d928a311351d7daccfe20c1a94dcb6a3', ref: button => (this.buttonEl = button), variation: "plain", accessibleLabel: this.accessibleCloseLabel, color: closeColor, iconSize: "large", icon: "navigation-close", iconOnly: true, margin: "none", theme: this.theme, onClick: ev => this.closeModal(ev), fixed: true })));
16209
+ return (hAsync("div", { key: '44ad4e8bf6516da0e6350649f8e4cae009f7cf07', ref: modal => (this.modalEl = modal), "aria-label": (_a = this.accessibleLabel) !== null && _a !== void 0 ? _a : this.heading, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-describedby": this.accessibleDescribedBy, role: this.variation === "loader" ? "alert" : "dialog", "aria-modal": this.isSafariBrowser ? false : true, tabindex: "-1", class: {
15913
16210
  "duet-modal-container": true,
15914
16211
  "duet-theme-turva": this.theme === "turva",
15915
16212
  "duet-modal-active": this.open,
15916
16213
  "duet-modal-slide-up": this.variation === "slide-up",
15917
16214
  "duet-modal-has-sticky-header": this.hasStickyHeader,
15918
- } }, hAsync("duet-overlay", { key: 'ebf2ff8efe9f08e8dd44f1d75375a54791b48554', "z-index": "-1", visible: this.open, variation: this.variation === "loader" ? "white" : "default" }), hAsync("div", { key: '095f2c04849d438c73a2277c80d8b2ec63c6fdbc', ref: modalInner => (this.modalInnerEl = modalInner), class: {
16215
+ } }, hAsync("duet-overlay", { key: 'd2eb31d5195cced7a59ca29dbd2e2f0ef84e2655', "z-index": "-1", visible: this.open, variation: this.variation === "loader" ? "white" : "default" }), hAsync("div", { key: '4703b85e9d49409f26720fe00b270370afa97f76', ref: modalInner => (this.modalInnerEl = modalInner), class: {
15919
16216
  "duet-modal-inner": true,
15920
16217
  [this.size]: true,
15921
16218
  "duet-modal-slide-up": this.variation === "slide-up",
@@ -15926,22 +16223,22 @@ class DuetModal {
15926
16223
  this.closeModal(e);
15927
16224
  }
15928
16225
  }
15929
- } }, hAsync("div", { key: '68ca043011c51c1a99856ea8b06497662a60e405', ref: modalContentEl => (this.modalContentEl = modalContentEl), "aria-live": this.accessibleAnnounceChanges === "all" ? "polite" : null, "aria-atomic": this.accessibleAnnounceChanges === "all" ? "true" : null, class: {
16226
+ } }, hAsync("div", { key: 'caa7a84911505b70ffe1e15ea73bd4489eac49e2', ref: modalContentEl => (this.modalContentEl = modalContentEl), "aria-live": this.accessibleAnnounceChanges === "all" ? "polite" : null, "aria-atomic": this.accessibleAnnounceChanges === "all" ? "true" : null, class: {
15930
16227
  "duet-modal": true,
15931
16228
  "duet-modal-has-sticky-header": this.hasStickyHeader,
15932
16229
  [this.size]: true,
15933
16230
  [this.variation]: true,
15934
- } }, this.gutterSize !== "none" && !this.hasStickyHeader && hAsync("duet-spacer", { key: '7a037fda3dcd6a08a7d22cad0e6e28100a1cb574' }), this.hasStickyHeader ? (hAsync("div", { class: "duet-modal-sticky-header" }, closingButton, hAsync("slot", { name: "sticky-header" }))) : (closingButton), hAsync("div", { key: '90380b2213043c4d9d0d69a2488219e15e6ad158', class: {
16231
+ } }, this.gutterSize !== "none" && !this.hasStickyHeader && hAsync("duet-spacer", { key: 'e9d16355dbf2de5937a1a3bf5fa7e27833270238' }), this.hasStickyHeader ? (hAsync("div", { class: "duet-modal-sticky-header" }, closingButton, hAsync("slot", { name: "sticky-header" }))) : (closingButton), hAsync("div", { key: '9d9ef9ea5b47d2107b49066c1d156c886fb6f972', class: {
15935
16232
  "duet-modal-body": true,
15936
16233
  "duet-modal-gutter-none": this.gutterSize === "none",
15937
16234
  "duet-modal-gutter-small": this.gutterSize === "small",
15938
16235
  "duet-modal-gutter-medium": this.gutterSize === "medium",
15939
16236
  "duet-modal-gutter-large": this.gutterSize === "large",
15940
- }, "aria-live": this.accessibleAnnounceChanges === "heading" ? "polite" : null, "aria-atomic": this.accessibleAnnounceChanges === "heading" ? "true" : null }, hAsync("div", { key: 'c2605486cc494359f133ec421a1f66925ec643b7', class: "duet-modal-header" }, hAsync("span", { key: '5ed69dddc69fb34dcaa1a2ebb07682768ec83881', class: "duet-modal-inner-slot-top" }, hAsync("slot", { key: '9e92ea62266e5e454f22d47d48709781127ecc35', name: "top" })), this.icon && hAsync("duet-icon", { key: '366a9d0c83c8a9a38eea87be43053c21c67683b2', name: this.icon, size: "xx-large", color: this.color || iconColor }), this.heading && (hAsync("duet-heading", { key: '3e5cffc154099a45a665f18d7f479fb42fbb1b2d', "visual-level": (_b = this.headingVisualLevel) !== null && _b !== void 0 ? _b : this.headingLevel, level: this.headingLevel, theme: this.theme }, this.heading))), this.variation === "loader" && (hAsync("div", { key: '36eaa02389bb00b2afec0e1fc7672b250808d34f', class: "duet-modal-spinner" }, hAsync("duet-spinner", { key: 'ee98841b09402fb9727a27813a4b49ea9a51cd18', size: "large", color: postfixTheme("primary", this.theme) }))), hAsync("div", { key: 'cdd00ccee49853a90c6765e14478190297dab89f', "aria-live": this.variation === "loader"
16237
+ }, "aria-live": this.accessibleAnnounceChanges === "heading" ? "polite" : null, "aria-atomic": this.accessibleAnnounceChanges === "heading" ? "true" : null }, hAsync("div", { key: 'be0b90e2577c2760b6f95200a917649cd6b35287', class: "duet-modal-header" }, hAsync("span", { key: 'e2dd5ce0f9609e9fc096ad49e9d6d0ee2a01699d', class: "duet-modal-inner-slot-top" }, hAsync("slot", { key: 'dbc67d9fc55310cabc65484b4518b8cadcfef874', name: "top" })), this.icon && hAsync("duet-icon", { key: '095d2b5e9b29cf0a849711b7472d424731d9d36c', name: this.icon, size: "xx-large", color: this.color || iconColor }), this.heading && (hAsync("duet-heading", { key: '3cdcdd876b89be930fb67d715a0873f9305b787b', "visual-level": (_b = this.headingVisualLevel) !== null && _b !== void 0 ? _b : this.headingLevel, level: this.headingLevel, theme: this.theme }, this.heading))), this.variation === "loader" && (hAsync("div", { key: '3d5cd64a2ed94e45180836515083f8885295c4d6', class: "duet-modal-spinner" }, hAsync("duet-spinner", { key: '693a9b5947855ff18c0f3089a3b437ccb543d9d0', size: "large", color: postfixTheme("primary", this.theme) }))), hAsync("div", { key: '9b07821006bf82a6707579789376d42febf652b8', "aria-live": this.variation === "loader"
15941
16238
  ? "assertive"
15942
16239
  : this.accessibleAnnounceChanges === "body"
15943
16240
  ? "polite"
15944
- : null, "aria-atomic": this.accessibleAnnounceChanges === "body" ? "true" : null, class: "duet-modal-inner-slot-default", ref: el => (this.slotContainerEl = el) }, hAsync("slot", { key: 'eec9c0f2f52c6899a30f718b2a3851024513ac6c' })))))));
16241
+ : null, "aria-atomic": this.accessibleAnnounceChanges === "body" ? "true" : null, class: "duet-modal-inner-slot-default", ref: el => (this.slotContainerEl = el) }, hAsync("slot", { key: '0008beb6b6f6bac06c6ce3dddb661157dfedf4e1' })))))));
15945
16242
  }
15946
16243
  get element() { return getElement(this); }
15947
16244
  static get watchers() { return {
@@ -16257,23 +16554,23 @@ class DuetMultiselect {
16257
16554
  */
16258
16555
  render() {
16259
16556
  var _a;
16260
- return (hAsync(Host, { key: 'e7bafb6f7f67fe15832b45d8cdc41dcd7e92dae4', class: {
16557
+ return (hAsync(Host, { key: '4b8d1905f6d83802479254ed818eddc225a07884', class: {
16261
16558
  "duet-m-0": this.margin === "none",
16262
16559
  "duet-expand": this.expand,
16263
- } }, hAsync("div", { key: 'cf9862f8b3e66d9795bd4b7b2f4eca3d9f859f3c', class: {
16560
+ } }, hAsync("div", { key: '5448159c21e1975424169c66faa9442471e97390', class: {
16264
16561
  "duet-multiselect-container": true,
16265
16562
  "duet-label-hidden": this.labelHidden,
16266
16563
  "duet-theme-turva": this.theme === "turva",
16267
16564
  "duet-input-top-caption-shown": this.isCaptionVisible,
16268
16565
  "has-error": !!this.error,
16269
- }, onKeyDown: (e) => this.onMultiselectKeyDown(e) }, hAsync(DuetInternalLabel, { key: '31852687c9ee4e4f63c2f376baa9293f09b3a00f', 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", { key: 'ad2331d66bb9f05709613cabac0f07dc36065348', class: "duet-multiselect-tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), hAsync("slot", { key: '46122e6d06e90ad528508fd0c1c5c50cea8114a5', name: "tooltip" }), this.caption && (hAsync("duet-caption", { key: '2d7206f213cde3a3352cc140422c1e70d88ee600', id: this.topCaptionId, size: "medium" }, this.caption)), hAsync("div", { key: '3f3a61d30ee5b12e8c553eb0a1b2ca80521b8bd1', class: "duet-multiselect-wrapper" }, hAsync("button", { key: 'b390211b2df1aa3868851d08ddef63cf81e1fa1e', 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", { key: '6c9c680ebc96c84d95b1acc926f20591a4565b65', 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", { key: '8ef490613a38e9fead0de56dee3144478b714127', class: "duet-multiselect-badge" }, this.value.length, hAsync("duet-visually-hidden", { key: '6f83ac83ff72705964aef84d3e36fcb242956d2e' }, this.selectedLangObject[this.language], ",", " ", Array.isArray(this.value) ? this.value.map(item => item.label).join(", ") : ""))), hAsync("svg", { key: 'd525c6e90ddbb4e6b9bc26db22a9acc1806f2c5c', 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", { key: '7b9323ff55af45a96af4ee68d00fa5eb8a3cc04c', 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", { key: '3ce28709f3fb9e2e0c43f2e584d642fe7b185566', id: `${this.identifier}-checkboxes`, role: "listbox", class: {
16566
+ }, onKeyDown: (e) => this.onMultiselectKeyDown(e) }, hAsync(DuetInternalLabel, { key: '572ae7df62eeb7870c958fa8812a032f685252c1', 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", { key: 'd6ce07a6fe3994af5ff7e8639febe7380738853e', class: "duet-multiselect-tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), hAsync("slot", { key: 'cabbf0070861de762ff0e7b1fa390fc021c6e56c', name: "tooltip" }), this.caption && (hAsync("duet-caption", { key: '501998a95ac97a8e41aff3f77bb3caef192dcc07', id: this.topCaptionId, size: "medium" }, this.caption)), hAsync("div", { key: 'c32972b8bff8afd700203c2906a1b49b7656555f', class: "duet-multiselect-wrapper" }, hAsync("button", { key: '07e7b36d4264aaff222086f518aeeef2c1f9e7d1', 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", { key: 'aaa61bce02a50eca851f48da7ee461474bbae0f3', 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", { key: 'b869479691f3a394d89f8720efd7868c13f5fbec', class: "duet-multiselect-badge" }, this.value.length, hAsync("duet-visually-hidden", { key: 'fcbb5b6dd4b0dc6f4abae50aec12eb21da92d0f4' }, this.selectedLangObject[this.language], ",", " ", Array.isArray(this.value) ? this.value.map(item => item.label).join(", ") : ""))), hAsync("svg", { key: '68dc4a3ad25722f3a39628147244ce459a17d6c5', 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", { key: '8aeddd5a385ca37e54869993b90bd1838449d526', 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", { key: 'f46a4bb216b778776acfa1aff5a9867afa236789', id: `${this.identifier}-checkboxes`, role: "listbox", class: {
16270
16567
  "duet-multiselect-checkboxes": true,
16271
16568
  "duet-multiselect-checkboxes-active": this.checkboxesVisible,
16272
- }, "aria-activedescendant": this.activeDescendant, "aria-multiselectable": "true" }, ((_a = this.processedItems) === null || _a === void 0 ? void 0 : _a.length) && this.allControls && (hAsync("div", { key: 'fc635dab9da4efdc971744990b2e67ecf8add18f', class: "duet-multiselect-all-control-buttons" }, hAsync("button", { key: 'c6633f193f708b41108cac277c8d1156a9ee5808', class: "duet-multiselect-select-all", onClick: this.handleSelectAllClick, id: this.getOptionIdentifier(-2), onKeyDown: (e) => this.onCheckboxKeyDown(e, -2) }, this.selectAllLabel[this.language]), hAsync("button", { key: '193d3314537bb45d45981a890fbe569201af3355', class: "duet-multiselect-clear-all", onClick: this.handleClearAllClick, id: this.getOptionIdentifier(-1), onKeyDown: (e) => this.onCheckboxKeyDown(e, -1) }, this.clearAllLabel[this.language]))), this.processedItems &&
16569
+ }, "aria-activedescendant": this.activeDescendant, "aria-multiselectable": "true" }, ((_a = this.processedItems) === null || _a === void 0 ? void 0 : _a.length) && this.allControls && (hAsync("div", { key: '3907f7054436f56ed50866ab0e191c00c2dd17d7', class: "duet-multiselect-all-control-buttons" }, hAsync("button", { key: 'e502215643ea66e08be0b55c3ba1deeed79bdaad', class: "duet-multiselect-select-all", onClick: this.handleSelectAllClick, id: this.getOptionIdentifier(-2), onKeyDown: (e) => this.onCheckboxKeyDown(e, -2) }, this.selectAllLabel[this.language]), hAsync("button", { key: 'a63b642a9e24bc18d88e567f1b6c480f074ad578', class: "duet-multiselect-clear-all", onClick: this.handleClearAllClick, id: this.getOptionIdentifier(-1), onKeyDown: (e) => this.onCheckboxKeyDown(e, -1) }, this.clearAllLabel[this.language]))), this.processedItems &&
16273
16570
  this.processedGroups.map(group => (hAsync("fieldset", null, group.label && hAsync("legend", null, group.label), group.items.map((item, key) => {
16274
16571
  var _a, _b;
16275
16572
  return (hAsync("duet-checkbox", { identifier: this.getOptionIdentifier(key), role: "option", label: item.label, value: item.value, key: item.value, checked: (_a = this.value) === null || _a === void 0 ? void 0 : _a.includes(item), "accessible-selected": ((_b = this.value) === null || _b === void 0 ? void 0 : _b.includes(item)) ? "true" : undefined, disabled: !this.checkboxesVisible || item.disabled, onDuetChange: e => this.toggleCheckbox(e, item), onKeyDown: (e) => this.onCheckboxKeyDown(e, key), theme: this.theme }));
16276
- })))))), hAsync("span", { key: 'b30e788d0beee3756dc076b305352c9831a6f68c', class: "duet-multiselect-help duet-multiselect-error", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && hAsync("span", { key: '7e024019a7f6d8f010a48a83bb4b4770a98e32e4' }, this.error)))));
16573
+ })))))), hAsync("span", { key: '221b275486bef481c990d6625bc92120cd452e83', class: "duet-multiselect-help duet-multiselect-error", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && hAsync("span", { key: '022173402cfe3a2facde3bf6f9ba63c22b68a949' }, this.error)))));
16277
16574
  }
16278
16575
  get element() { return getElement(this); }
16279
16576
  static get watchers() { return {
@@ -16348,7 +16645,7 @@ class DuetNav {
16348
16645
  * Always the last one in the class.
16349
16646
  */
16350
16647
  render() {
16351
- return (hAsync(Host, { key: '524bb027510763efb06f908c78bb6dbc1ff1e24d' }, hAsync("div", { key: '7c86cae3a491c2c568ec09ab7a7dacc935d906be', class: { container: true, sticky: this.sticky } }, hAsync("slot", { key: 'dae33a4dfc1ddd973d4639adc9b711a99bb0256c' }), hAsync("slot", { key: 'ac0da76490e7c39bee65dc53ed368afdecb640a7', name: "mobile" }), hAsync("slot", { key: '5081c449ebbba8d68dec069e18155f8fce9ad87e', name: "desktop" }))));
16648
+ return (hAsync(Host, { key: '5d770ae8af90d4342a6a057ece21ada25ba64f63' }, hAsync("div", { key: 'fe2a1611fec8c6a234c25a13e24d732cc0cf4511', class: { container: true, sticky: this.sticky } }, hAsync("slot", { key: 'c7bad3186de463ebf1a3b1411b299cf59f16df0b' }), hAsync("slot", { key: '77e0e221d53ce3d3addf52cdbfe06e5fa55b38b3', name: "mobile" }), hAsync("slot", { key: '691b0c5b905950d7218633ffedc1094e7b1e7946', name: "desktop" }))));
16352
16649
  }
16353
16650
  get element() { return getElement(this); }
16354
16651
  static get style() { return duetNavCss; }
@@ -16441,11 +16738,11 @@ class DuetNotification {
16441
16738
  return `${indicatorText}${slottedText}${slottedText.endsWith(".") ? "" : "."} ${this.date}`;
16442
16739
  }
16443
16740
  render() {
16444
- return (hAsync("div", { key: '8497858acf685b75adce100af83521ea62dad249', role: "listitem", class: {
16741
+ return (hAsync("div", { key: '457e94b4a6853aa86a9cca92506b7aecc31aebd9', role: "listitem", class: {
16445
16742
  "duet-notification": true,
16446
16743
  "duet-notification-highlight": this.highlight,
16447
16744
  "duet-theme-turva": this.theme === "turva",
16448
- } }, hAsync("a", { key: 'd055bb5cebbf8d33eb35d193d1bb1fa106c5ec49', ref: element => (this.linkElement = element), href: this.url, target: this.external ? "_blank" : "_self", "aria-label": this.getAriaLabelText() }, hAsync("div", { key: '37b18aada4bbdcc07fbae2fb2a379e4ce499d1a2', class: "duet-notification-container" }, hAsync("div", { key: 'd82a6a30c51dcbe9fa55d184f9475ee52824c960', class: "duet-indicator-container" }, this.highlight && (hAsync("duet-indicator", { key: 'ba8cf675f5f79738b621bb60be60e955648f72fb', variation: "new", "accessible-label": this.accessibleLabelUnread }))), hAsync("div", { key: '7616f1c0b61f842cb19959f8a26d972740d4983c', class: "duet-notification-content" }, hAsync("slot", { key: '3d15bf405f3f7e6bb7b699835882720db81c60ac' })), hAsync("div", { key: '479850eacc300888b148101759908b962db1d24a', class: "duet-notification-date" }, this.date)))));
16745
+ } }, hAsync("a", { key: 'e011022f39bd5e719c9cae5ec54b4233f1bf9fb8', ref: element => (this.linkElement = element), href: this.url, target: this.external ? "_blank" : "_self", "aria-label": this.getAriaLabelText() }, hAsync("div", { key: 'e2c33d869adfc549195685ad1bbd1e2d5c4370b2', class: "duet-notification-container" }, hAsync("div", { key: 'e491caeba677f8e78da287b50621e33be6519753', class: "duet-indicator-container" }, this.highlight && (hAsync("duet-indicator", { key: '4cdf556b6b6354da2174ae00af435199aa2dbe94', variation: "new", "accessible-label": this.accessibleLabelUnread }))), hAsync("div", { key: '942680343125bc34098440f5fec8abf5db5fb4ab', class: "duet-notification-content" }, hAsync("slot", { key: '63a85af1051ad93c0569cfead2f104c32f446b7e' })), hAsync("div", { key: '08dcdffb37beef2796ba05ae48a233badf652ef4', class: "duet-notification-date" }, this.date)))));
16449
16746
  }
16450
16747
  get element() { return getElement(this); }
16451
16748
  static get style() { return duetNotificationCss; }
@@ -16592,13 +16889,13 @@ class DuetNotificationDrawer {
16592
16889
  * Always the last one in the class.
16593
16890
  */
16594
16891
  render() {
16595
- return (hAsync("div", { key: '5a100874ee332b5f81a62d4d398273cfb1b039e6', class: {
16892
+ return (hAsync("div", { key: '69b878842a591a528c9c8218abb3dae14e995406', class: {
16596
16893
  "duet-drawer": true,
16597
16894
  "duet-theme-turva": this.theme === "turva",
16598
- }, onKeyDown: this.handleKeyDown }, hAsync("button", { key: '5f4027d95ace3dbcf790932b8fcc55c197acfeec', ref: el => (this.drawerButtonEl = el), type: "button", class: {
16895
+ }, onKeyDown: this.handleKeyDown }, hAsync("button", { key: 'b430067e1fdca09a1c6ac0e162be9e2d5acd434f', ref: el => (this.drawerButtonEl = el), type: "button", class: {
16599
16896
  "duet-drawer-toggle": true,
16600
16897
  "duet-theme-turva": this.theme === "turva",
16601
- }, id: "duet-drawer-toggle", "aria-controls": "duet-drawer-content", "aria-expanded": this.isOpen ? "true" : "false", onClick: this.toggleMenu }, this.icon && (hAsync("div", { key: 'd23738346a3b9c9a977fac31c44686b300f8c3f8', class: "duet-drawer-icon" }, hAsync("duet-icon", { key: '9ce663baf3e178117742894d71342eeb0f306b8a', margin: "none", size: "x-small", name: this.icon, color: "currentColor" }), this.badge && hAsync("duet-indicator", { key: '135c19cacc21c20599e1250c19b2cb9af6ca1edb', variation: "change" }))), hAsync("span", { key: 'cc45c180750b2237fc49015944f664ea23f1c50c', class: "duet-drawer-label" }, this.label), hAsync("div", { key: 'c268d18597783a3fcd307bb07813526d97039ae4', class: "duet-drawer-caret" }, hAsync("duet-icon", { key: '8d34addc1a9e1bbb1d4d9db02873e8ce1ceded11', margin: "none", size: "auto", icon: arrowDownIcon.svg, color: "currentColor" }))), hAsync("div", { key: '1bd28344339dc98c5f9173997921badf217c64c0', id: "duet-drawer-content", class: {
16898
+ }, id: "duet-drawer-toggle", "aria-controls": "duet-drawer-content", "aria-expanded": this.isOpen ? "true" : "false", onClick: this.toggleMenu }, this.icon && (hAsync("div", { key: '55a526c885dc7ea660730e97fdc25fe0943dd2e2', class: "duet-drawer-icon" }, hAsync("duet-icon", { key: '37e3d9b20ed6f54da0a1445a76b68dc4dfa0b308', margin: "none", size: "x-small", name: this.icon, color: "currentColor" }), this.badge && hAsync("duet-indicator", { key: '90c45774b6cf888241d8d82c35380d05692106c6', variation: "change" }))), hAsync("span", { key: '92725e4a7119dbc5050599fefe7a17871b2f6d81', class: "duet-drawer-label" }, this.label), hAsync("div", { key: 'ba9fad66fc02ccf040d048a9d9706fc29b5d31c7', class: "duet-drawer-caret" }, hAsync("duet-icon", { key: '6e631282017345e59c7b7acdf7ccfa713d4a3bd2', margin: "none", size: "auto", icon: arrowDownIcon.svg, color: "currentColor" }))), hAsync("div", { key: '15342aa1db7638af746efb9401483f38f5d34b0f', id: "duet-drawer-content", class: {
16602
16899
  "duet-drawer-content": true,
16603
16900
  "duet-drawer-right": this.direction === "right",
16604
16901
  "duet-drawer-left": this.direction === "left",
@@ -16713,6 +17010,7 @@ function ConvertToEnUS(value, locale, replaceThousands = false) {
16713
17010
  }
16714
17011
  const roundTo = (val, multiple) => Math.round(val / multiple) * multiple;
16715
17012
  const clamp$1 = (val, min, max) => Math.min(Math.max(val, min), max);
17013
+ const isInteger = (val) => val === Math.round(val);
16716
17014
 
16717
17015
  const duetNumberInputCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{margin-right:16px !important}:host(:last-child),:host(:last-of-type){margin-right:0 !important}:host(.form-distribute:last-of-type:not(:last-child)){margin-right:16px !important}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;line-height:1.25;vertical-align:bottom;text-align:left}@media (min-width: 36em){:host{width:calc(50% - 16px - 3px)}}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}.duet-number-container{position:relative;width:100%}.duet-number-buttons{-webkit-user-select:none;user-select:none;position:absolute;top:1px;right:1px;z-index:200;width:96px;height:calc(100% - 2px)}.duet-number-buttons .duet-number-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:50%;height:100%;text-align:center;-webkit-appearance:none;appearance:none;cursor:pointer;background:transparent}.duet-number-buttons .duet-number-button:focus{outline:0}:host(.user-is-tabbing) .duet-number-buttons .duet-number-button:focus{outline:2px solid;outline-offset:0;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva :host(.user-is-tabbing) .duet-number-buttons .duet-number-button:focus,:host(.user-is-tabbing) .duet-number-buttons .duet-number-button:focus.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-number-buttons .duet-number-button[aria-disabled=true],.duet-number-buttons .duet-number-button:disabled{pointer-events:none}.duet-number-buttons .duet-number-button[aria-disabled=true] duet-icon,.duet-number-buttons .duet-number-button:disabled duet-icon{opacity:0.4}.duet-number-buttons .duet-number-button:active duet-icon{transform:translateY(1px)}:host(.user-is-tabbing) .duet-number-buttons .duet-number-button:focus{z-index:2}.duet-number-buttons .duet-number-button:first-of-type{border-left:1px solid rgb(181, 198, 208)}.duet-number-buttons .duet-number-button:first-of-type::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:\"\";background:linear-gradient(to left, rgba(181, 198, 208, 0.2) 0%, rgba(181, 198, 208, 0.2) 1px, rgba(181, 198, 208, 0.1) 1px, rgba(181, 198, 208, 0) 100%)}.duet-number-buttons .duet-number-button:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}.duet-number-buttons .duet-number-button:last-of-type::before{position:absolute;top:20%;left:0;z-index:-1;width:1px;height:60%;content:\"\";background:rgb(212, 223, 229)}:host(.duet-theme-turva) .duet-number-buttons .duet-number-button:first-of-type::before{background:linear-gradient(to left, rgba(178, 194, 205, 0.2) 0%, rgba(178, 194, 205, 0.2) 1px, rgba(178, 194, 205, 0.1) 1px, rgba(178, 194, 205, 0) 100%)}:host(.duet-theme-turva) .duet-number-buttons .duet-number-button:last-of-type::before{background:rgb(212, 221, 226)}";
16718
17016
 
@@ -16853,7 +17151,8 @@ class DuetNumberInput {
16853
17151
  */
16854
17152
  this.tooltip = "";
16855
17153
  /**
16856
- * Step amount.
17154
+ * Step amount. Note that decimal values as step (e.g. 0.01) may produce unexpected results and thus are strongly
17155
+ * discouraged (but for backwards compatibility still accepted).
16857
17156
  */
16858
17157
  this.step = 5000;
16859
17158
  /**
@@ -17005,7 +17304,7 @@ class DuetNumberInput {
17005
17304
  // handle cases where value is not multiple of step
17006
17305
  // e.g. if someone enters 199, with a step of 100, add should go to 200
17007
17306
  // and if someone enters 101, add should also go to 200
17008
- if (newValue % this.step !== 0) {
17307
+ if (isInteger(this.step) && newValue % this.step !== 0) {
17009
17308
  const adjustment = newValue % this.step;
17010
17309
  newValue -= adjustment;
17011
17310
  }
@@ -17028,7 +17327,7 @@ class DuetNumberInput {
17028
17327
  // handle cases where value is not multiple of step
17029
17328
  // if someone enters 199, with a step of 100, subtract should go to 100
17030
17329
  // and if someone enters 101, subtract should also go to 100
17031
- if (newValue % this.step !== 0) {
17330
+ if (isInteger(this.step) && newValue % this.step !== 0) {
17032
17331
  const adjustment = this.step - (newValue % this.step);
17033
17332
  newValue += adjustment;
17034
17333
  }
@@ -17103,15 +17402,15 @@ class DuetNumberInput {
17103
17402
  const identifier = this.identifier || this.inputId;
17104
17403
  const maxlength = `${this.localizeValue(this.max)}${this.getUnitString()}`.length;
17105
17404
  const cleanedValue = !!this.value ? SafeParseFloat(this.value, this.locale) : null;
17106
- return (hAsync(Host, { key: '57eac991277459719dcade2b546edefadcb8871f', class: {
17405
+ return (hAsync(Host, { key: '1e1ec1d4970da103cdd9fbb867e469e414365adb', class: {
17107
17406
  "duet-theme-turva": this.theme === "turva",
17108
17407
  "duet-expand": this.expand,
17109
17408
  "duet-m-0": this.margin === "none",
17110
- } }, hAsync("div", { key: '4d7f3b727a098c85311caf342b8ec3346c355b03', class: "duet-number-container" }, hAsync("duet-input", { key: 'd35dedfc296c7b6f7e02a8a44426a939ba57834f', ref: input => (this.duetInputElement = input), onDuetChange: event => this.handleChange(event), onDuetFocus: this.handleFocus, onDuetBlur: event => this.handleBlur(event), onKeyDown: event => this.handleKeyDown(event), label: this.label, value: this.value ? `${this.value}${this.getUnitString()}` : "", error: this.error, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": cleanedValue != null ? cleanedValue : "", maxlength: maxlength, name: this.name, component: "number", required: this.required, disabled: this.disabled, role: this.role, labelHidden: this.labelHidden, tooltip: this.tooltip, identifier: identifier, theme: this.theme, margin: "none", expand: true, numericKeyboard: true, autoComplete: "off", type: "text", accessibleActiveDescendant: this.accessibleActiveDescendant, accessibleLabelledBy: this.accessibleLabelledBy, accessibleDescription: this.accessibleDescription, accessibleDetails: this.accessibleDetails, accessibleControls: this.accessibleControls, accessibleOwns: this.accessibleOwns, accessibleDescribedBy: this.accessibleDescribedBy }, hAsync("slot", { key: 'e5860f54edf1658f5ad57a74f02e287029c1c80a', name: "tooltip" }), hAsync("div", { key: '627ac970632ff026d545f5510ee3444beddcd78f', class: { "duet-number-buttons": true, "duet-no-label": this.labelHidden } }, hAsync("button", { key: '7db5fc9647aa97d03e12889341f4842240ec168a', disabled: this.disabled, "aria-disabled": cleanedValue == null || cleanedValue === this.min ? "true" : "false", class: "duet-number-button duet-number-button-subtract", onClick: this.subtract, type: "button" }, hAsync("duet-visually-hidden", { key: '213bff89b72eab57e824a7ccbdd8cf93176379b0' }, this.accessibleSubtract
17409
+ } }, hAsync("div", { key: '43bfdda224ef424c81d08a5bc5285348124dd6a0', class: "duet-number-container" }, hAsync("duet-input", { key: 'aa962811d9d95fc08a8211f3bdbb94cba87f0924', ref: input => (this.duetInputElement = input), onDuetChange: event => this.handleChange(event), onDuetFocus: this.handleFocus, onDuetBlur: event => this.handleBlur(event), onKeyDown: event => this.handleKeyDown(event), label: this.label, value: this.value ? `${this.value}${this.getUnitString()}` : "", error: this.error, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": cleanedValue != null ? cleanedValue : "", maxlength: maxlength, name: this.name, component: "number", required: this.required, disabled: this.disabled, role: this.role, labelHidden: this.labelHidden, tooltip: this.tooltip, identifier: identifier, theme: this.theme, margin: "none", expand: true, numericKeyboard: true, autoComplete: "off", type: "text", accessibleActiveDescendant: this.accessibleActiveDescendant, accessibleLabelledBy: this.accessibleLabelledBy, accessibleDescription: this.accessibleDescription, accessibleDetails: this.accessibleDetails, accessibleControls: this.accessibleControls, accessibleOwns: this.accessibleOwns, accessibleDescribedBy: this.accessibleDescribedBy }, hAsync("slot", { key: 'd0692236e001777d3e384ab54a02449d38e7cd44', name: "tooltip", slot: "tooltip" }), hAsync("div", { key: '493fa102da11525ac2688c4ae163324cd0b244d1', class: { "duet-number-buttons": true, "duet-no-label": this.labelHidden } }, hAsync("button", { key: 'f6cfe72311cd6d5723471f72fa06d3c6173ac0cb', disabled: this.disabled, "aria-disabled": cleanedValue == null || cleanedValue === this.min ? "true" : "false", class: "duet-number-button duet-number-button-subtract", onClick: this.subtract, type: "button" }, hAsync("duet-visually-hidden", { key: 'caea39a259e4ac79fc5c086f92d6205c96bfe081' }, this.accessibleSubtract
17111
17410
  .replace(/\{\s*step\s*\}/, `${this.step}`)
17112
- .replace(/\{\s*unit\s*\}/, `${this.unit}`)), hAsync("duet-icon", { key: '19a80d9db5a8709544dd93813a507dcf0f0f5530', icon: subtractIcon.svg, size: "small", margin: "none", color: this.theme === "turva" ? "secondary-turva" : "secondary" })), hAsync("button", { key: '63d32e8db7089552645fed533d4bb537b17ac397', disabled: this.disabled, "aria-disabled": cleanedValue === this.max ? "true" : "false", class: "duet-number-button duet-number-button-add", onClick: this.add, type: "button" }, hAsync("duet-visually-hidden", { key: '9662d147e10aa5b1b71d5d64a299a6fc9b5d376d' }, this.accessibleAdd
17411
+ .replace(/\{\s*unit\s*\}/, `${this.unit}`)), hAsync("duet-icon", { key: 'ba9ad012c760bb989ab3b2d4c12209f4a0c3555d', icon: subtractIcon.svg, size: "small", margin: "none", color: this.theme === "turva" ? "secondary-turva" : "secondary" })), hAsync("button", { key: 'f1c5f085b3d18b1f4f48c2a8c59ef8a945d9ee32', disabled: this.disabled, "aria-disabled": cleanedValue === this.max ? "true" : "false", class: "duet-number-button duet-number-button-add", onClick: this.add, type: "button" }, hAsync("duet-visually-hidden", { key: 'ee5a3d12e54e5523cab33865e148455e385e2082' }, this.accessibleAdd
17113
17412
  .replace(/\{\s*step\s*\}/, `${this.step}`)
17114
- .replace(/\{\s*unit\s*\}/, `${this.unit}`)), hAsync("duet-icon", { key: 'f6bd61234faa0d4c46e87d095b777c0d2deb4daf', icon: addIcon.svg, size: "small", margin: "none", color: this.theme === "turva" ? "secondary-turva" : "secondary" })))), this.accessibleLiveEnabled && (hAsync("duet-visually-hidden", { key: '77c6dc2c84affba33a53c9875b4baaa77d633280', "aria-live": "polite", "aria-atomic": "true", "aria-relevant": "all" }, this.formatAnnouncement())))));
17413
+ .replace(/\{\s*unit\s*\}/, `${this.unit}`)), hAsync("duet-icon", { key: '1f2597d788f3738c1ffd0b6a4564b31546238228', icon: addIcon.svg, size: "small", margin: "none", color: this.theme === "turva" ? "secondary-turva" : "secondary" })))), this.accessibleLiveEnabled && (hAsync("duet-visually-hidden", { key: '0bc549da309c663646b90e88329a755f0bd96a8a', "aria-live": "polite", "aria-atomic": "true", "aria-relevant": "all" }, this.formatAnnouncement())))));
17115
17414
  }
17116
17415
  get element() { return getElement(this); }
17117
17416
  static get style() { return duetNumberInputCss; }
@@ -17223,7 +17522,7 @@ class DuetOverlay {
17223
17522
  * Always the last one in the class.
17224
17523
  */
17225
17524
  render() {
17226
- return (hAsync(Host, { key: '022e03bd6245ccf60d2b1f5b2067b68e97722f0f', "aria-hidden": "true" }, hAsync("div", { key: 'b29aabf87beb396113a3bcda0cc6fbdecfabc797', style: { zIndex: this.zIndex }, class: {
17525
+ return (hAsync(Host, { key: 'a962e9115a51fcbb322726c314b96e3dbc92920e', "aria-hidden": "true" }, hAsync("div", { key: '6d648d8dc0e371e27900f612a79dc943e3087005', style: { zIndex: this.zIndex }, class: {
17227
17526
  "duet-overlay": true,
17228
17527
  "duet-theme-turva": this.theme === "turva",
17229
17528
  "keep-stacking-context": this.keepStackingContext,
@@ -17258,22 +17557,32 @@ class DuetOverlay {
17258
17557
  }; }
17259
17558
  }
17260
17559
 
17261
- const duetPageHeadingCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;display:block;width:100%}.duet-page-heading{position:relative;display:block;width:100%;margin:0 auto;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\";color:rgb(8, 42, 77)}.duet-page-heading.duet-p-0{padding:0 !important}.duet-page-heading.duet-m-0{margin:0 !important}.duet-page-heading.auto{overflow:visible}.duet-page-heading.auto .heading,.duet-page-heading.auto .background{max-width:none}.duet-page-heading.fluid,.duet-page-heading.narrow{padding:0 16px}@media (min-width: 36em){.duet-page-heading.fluid{padding:0 28px}}@media (min-width: 62em){.duet-page-heading.fluid{padding:0 56px}}@media (min-width: 76.25em){.duet-page-heading.fluid{max-width:1110px;padding:0}}.duet-page-heading.narrow{max-width:888px}@media (min-width: 36em){.duet-page-heading.narrow{padding:0 48px}}@media (min-width: 48em){.duet-page-heading.narrow{padding:0 72px}}.duet-page-heading .heading{max-width:744px;padding:48px 90px 16px 0}@media (min-width: 48em){.duet-page-heading .heading{padding:72px 150px 40px 0}}.duet-page-heading:not(.has-icon) .heading{padding-right:0}.duet-page-heading .background{position:absolute;top:0;right:0;left:0;width:100%;max-width:744px;height:104px;margin:0 auto;margin:0 auto}@media (min-width: 48em){.duet-page-heading .background{height:165px}}.duet-page-heading .background .background-mask{position:absolute;top:-20px;right:0;display:block;width:286px;height:331px;pointer-events:none;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K\");background-repeat:no-repeat;background-size:contain}@media (min-width: 48em){.duet-page-heading .background .background-mask{top:-40px;width:502px;height:577px}}.duet-page-heading .background .brand-shape{position:absolute;top:-157px;right:-20px;width:185px;height:185px;background:rgb(0, 119, 179);border-radius:20%;mix-blend-mode:normal;opacity:0.2;transform:rotate(7deg)}@media (min-width: 48em){.duet-page-heading .background .brand-shape{top:-280px;right:-40px;width:325px;height:325px}}.duet-page-heading .background .brand-shape.second-shape{top:-182px;right:100px;width:207px;height:207px;background:rgb(11, 114, 136);opacity:0.1}@media (min-width: 48em){.duet-page-heading .background .brand-shape.second-shape{top:-325px;right:200px;width:365px;height:365px}}.duet-page-heading .background .brand-shaped-icon{position:absolute;top:20px;right:16px;display:flex;align-items:center;justify-content:center;width:85px;width:60px;height:85px;height:60px;background:rgba(0, 119, 179, 0.75);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){.duet-page-heading .background .brand-shaped-icon{right:36px;width:93px;height:93px}}.duet-page-heading .background .brand-shaped-icon duet-icon{width:60px;height:60px;transform:rotate(-7deg)}@media (min-width: 48em){.duet-page-heading .background .brand-shaped-icon duet-icon{width:75px;height:75px}}.duet-page-heading .progress-indicator{display:flex;flex-direction:row;gap:4px}.duet-page-heading .progress-step{width:100%;height:4px;background-color:rgb(181, 198, 208);border-radius:2px}.duet-page-heading .progress-step.active{background-color:rgb(0, 119, 179)}.duet-page-heading.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(8, 42, 77)}.duet-page-heading.duet-theme-turva .background .background-mask{background-image:none}.duet-page-heading.duet-theme-turva .brand-shaped-icon{background:rgb(23, 42, 59);border-radius:16%;-webkit-mask-image:none;mask-image:none;transform:rotate(0)}.duet-page-heading.duet-theme-turva .brand-shaped-icon duet-icon{top:0;transform:rotate(0)}.duet-page-heading.duet-theme-turva .progress-step{background-color:rgb(178, 194, 205)}.duet-page-heading.duet-theme-turva .progress-step.active{background-color:rgb(230, 23, 64)}";
17560
+ const duetPageHeadingCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;display:block;width:100%}.duet-page-heading{position:relative;display:block;width:100%;margin:0 auto;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\";color:rgb(8, 42, 77)}.duet-page-heading.duet-p-0{padding:0 !important}.duet-page-heading.duet-m-0{margin:0 !important}.duet-page-heading.auto{overflow:visible}.duet-page-heading.auto .heading,.duet-page-heading.auto .background{max-width:none}.duet-page-heading.fluid,.duet-page-heading.narrow{padding:0 16px}@media (min-width: 36em){.duet-page-heading.fluid{padding:0 28px}}@media (min-width: 62em){.duet-page-heading.fluid{padding:0 56px}}@media (min-width: 76.25em){.duet-page-heading.fluid{max-width:1110px;padding:0}}.duet-page-heading.narrow{max-width:888px}@media (min-width: 36em){.duet-page-heading.narrow{padding:0 48px}}@media (min-width: 48em){.duet-page-heading.narrow{padding:0 72px}}.duet-page-heading .heading{max-width:744px;padding:48px 90px 16px 0}.duet-page-heading .heading.has-back-button{padding-top:72px}@media (min-width: 48em){.duet-page-heading .heading{padding:72px 150px 40px 0}.duet-page-heading .heading.has-back-button{padding-top:94px}}.duet-page-heading:not(.has-icon) .heading{padding-right:0}.duet-page-heading .background{position:absolute;top:0;right:0;left:0;width:100%;max-width:744px;height:104px;margin:0 auto;margin:0 auto}@media (min-width: 48em){.duet-page-heading .background{height:165px}}.duet-page-heading .background .background-mask{position:absolute;top:-20px;right:0;display:block;width:286px;height:331px;pointer-events:none;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K\");background-repeat:no-repeat;background-size:contain}@media (min-width: 48em){.duet-page-heading .background .background-mask{top:-40px;width:502px;height:577px}}.duet-page-heading .background .brand-shape{position:absolute;top:-157px;right:-20px;width:185px;height:185px;background:rgb(0, 119, 179);border-radius:20%;mix-blend-mode:normal;opacity:0.2;transform:rotate(7deg)}@media (min-width: 48em){.duet-page-heading .background .brand-shape{top:-280px;right:-40px;width:325px;height:325px}}.duet-page-heading .background .brand-shape.second-shape{top:-182px;right:100px;width:207px;height:207px;background:rgb(11, 114, 136);opacity:0.1}@media (min-width: 48em){.duet-page-heading .background .brand-shape.second-shape{top:-325px;right:200px;width:365px;height:365px}}.duet-page-heading .background .brand-shaped-icon{position:absolute;top:20px;right:16px;display:flex;align-items:center;justify-content:center;width:85px;width:60px;height:85px;height:60px;background:rgba(0, 119, 179, 0.9);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}.duet-page-heading .background .brand-shaped-icon.secondary-background{background:rgba(8, 42, 77, 0.85)}@media (min-width: 48em){.duet-page-heading .background .brand-shaped-icon{right:36px;width:93px;height:93px}}.duet-page-heading .background .brand-shaped-icon duet-icon{width:60px;height:60px;transform:rotate(-7deg)}@media (min-width: 48em){.duet-page-heading .background .brand-shaped-icon duet-icon{width:75px;height:75px}}.duet-page-heading .progress-indicator{display:flex;flex-direction:row;gap:4px}.duet-page-heading .progress-step{width:100%;height:4px;background-color:rgb(181, 198, 208);border-radius:2px}.duet-page-heading .progress-step.active{background-color:rgb(0, 119, 179)}.duet-page-heading .button-container{position:absolute;top:20px;left:0}@media (min-width: 48em){.duet-page-heading .button-container{top:36px}}.duet-page-heading.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(8, 42, 77)}.duet-page-heading.duet-theme-turva .background .background-mask{background-image:none}.duet-page-heading.duet-theme-turva .brand-shaped-icon{background:rgb(23, 42, 59);border-radius:16%;-webkit-mask-image:none;mask-image:none;transform:rotate(0)}.duet-page-heading.duet-theme-turva .brand-shaped-icon duet-icon{top:0;transform:rotate(0)}.duet-page-heading.duet-theme-turva .progress-step{background-color:rgb(178, 194, 205)}.duet-page-heading.duet-theme-turva .progress-step.active{background-color:rgb(230, 23, 64)}";
17262
17561
 
17263
17562
  /**
17264
17563
  * @slot heading - This is a slot for heading content.
17564
+ * @slot button - This is a slot for button visually above the heading. Use only variation "plain" button.
17265
17565
  */
17266
17566
  class DuetPageHeading {
17267
17567
  constructor(hostRef) {
17268
17568
  registerInstance(this, hostRef);
17569
+ this.hasButtonSlot = false;
17269
17570
  /**
17270
17571
  * Theme of the hero area.
17271
17572
  */
17272
17573
  this.theme = "";
17574
+ /**
17575
+ * LähiTapiola theme includes a brand shape at the top by default. Set to "none" to omit it. Has no effect for Turva.
17576
+ */
17577
+ this.shape = "auto";
17273
17578
  /**
17274
17579
  * Icon.
17275
17580
  */
17276
17581
  this.icon = "";
17582
+ /**
17583
+ * With LähiTapiola theme the icon can have secondary background instead of default. This has no effect on Turva theme.
17584
+ */
17585
+ this.iconBackground = "default";
17277
17586
  /**
17278
17587
  * Layout.
17279
17588
  * Values narrow and fluid are deprecated.
@@ -17285,6 +17594,8 @@ class DuetPageHeading {
17285
17594
  */
17286
17595
  componentWillLoad() {
17287
17596
  inheritGlobalTheme(this);
17597
+ this.hasButtonSlot = hasSlot(this.element, "button");
17598
+ checkNamedSlotElement(this.element, "button", "duet-button[variation=plain]");
17288
17599
  }
17289
17600
  progressIndicator() {
17290
17601
  return (hAsync("div", { class: "progress-indicator" }, Array.from({ length: Math.ceil(this.progressTotalSteps) }, (_, i) => {
@@ -17301,12 +17612,15 @@ class DuetPageHeading {
17301
17612
  */
17302
17613
  render() {
17303
17614
  const layout = this.layout === "narrow" ? "narrow" : this.layout === "fluid" ? "fluid" : "auto";
17304
- return (hAsync("div", { key: 'f353e792c29cf6a49513529f3a54740bf2894dcc', class: {
17615
+ return (hAsync("div", { key: '52d02a4dce3ed0bfe7d0281e536c14b7d2d7af02', class: {
17305
17616
  "duet-page-heading": true,
17306
17617
  "duet-theme-turva": this.theme === "turva",
17307
17618
  "has-icon": !!this.icon,
17308
17619
  [layout]: true,
17309
- } }, hAsync("div", { key: 'b8a5a752d4557b2ac2ac2bfc1c2e65861d4c0521', class: "background" }, this.theme === "turva" && hAsync("div", { key: 'ff9cbab91c325792d84f24d227d67b5bd2f83401', class: "background-mask" }), this.theme !== "turva" && hAsync("div", { key: 'c697b3df64c3300caccb801818e16e0f82be19b4', class: "brand-shape" }), this.theme !== "turva" && hAsync("div", { key: '86bea79fd3c261f4042b7f55129cf5b3e2bbcc20', class: "brand-shape second-shape" }), this.icon && (hAsync("div", { key: 'f95cb3034647398542c7eac251e3a8ee589fde3c', class: "brand-shaped-icon" }, hAsync("duet-icon", { key: '5ea162f55f426e4fb23d062c42b452f9d02dd8db', background: "none", name: this.icon, margin: "none", size: "auto", responsive: false })))), hAsync("div", { key: 'ca049bcfa7903693dcd81e7053f9c8436f5bc972', class: "heading" }, hAsync("slot", { key: '1f11d60c4883d6a083ab58a3549230893373a4b0', name: "heading" }), this.progressCurrentStep !== undefined && this.progressTotalSteps > 0 && (hAsync("div", { key: '3d192a48b6d2f852c76bb4cca92a6bd260c89b6d' }, hAsync("duet-spacer", { key: 'ae3a5aa598bca7741ddeefb498ad03a00f01ffa1', size: "large" }), hAsync("div", { key: '145b65c13423049136df5afff6d6f0b75fceeff2', role: "presentation" }, this.progressIndicator()))))));
17620
+ } }, hAsync("div", { key: '5b8730f3424abb59a4f112a8cf4f820d3ea18f8b', class: "background" }, this.theme === "turva" && hAsync("div", { key: '38b4170db541d4a236704fb6b27740c33919ef83', class: "background-mask" }), this.theme !== "turva" && this.shape !== "none" && hAsync("div", { key: '4b4724634d1e265f5647dcd33721a98867e8bd60', class: "brand-shape" }), this.theme !== "turva" && this.shape !== "none" && hAsync("div", { key: '26f7bc99f46804ee1102ce912f6ca77d339be248', class: "brand-shape second-shape" }), this.icon && (hAsync("div", { key: '4f2aa62fb0c1db1e07c64e15a089091ec2eab04c', class: {
17621
+ "brand-shaped-icon": true,
17622
+ "secondary-background": this.iconBackground === "secondary" && this.theme !== "turva",
17623
+ } }, hAsync("duet-icon", { key: '0b654e7123f11229e0c685e0b81a46697a02b292', background: "none", name: this.icon, margin: "none", size: "auto", responsive: false })))), hAsync("div", { key: 'b6d28fa2f26538252371352175a8a9bba5cc8957', class: { heading: true, "has-back-button": this.hasButtonSlot } }, hAsync("slot", { key: '283f4783659934a188371693ff2f418b256f43c3', name: "heading" }), this.hasButtonSlot && (hAsync("div", { key: 'bf572a5c8cb71cfb3fba0090e4ca0279b0f9e8f2', class: "button-container" }, hAsync("slot", { key: 'a78e5b2921240203bcd7572825e46b8a49c236cf', name: "button" }))), this.progressCurrentStep !== undefined && this.progressTotalSteps > 0 && (hAsync("div", { key: 'e0d6bae844200dbd0cc4264186c178e9cbcc4c3a' }, hAsync("duet-spacer", { key: '5e02b1d6f9d9ae5133ec857b69da04d73159a213', size: "large" }), hAsync("div", { key: '8b14ec6f1cda71d6a69236e9256faa91519da39e', role: "presentation" }, this.progressIndicator()))))));
17310
17624
  }
17311
17625
  get element() { return getElement(this); }
17312
17626
  static get style() { return duetPageHeadingCss; }
@@ -17315,7 +17629,9 @@ class DuetPageHeading {
17315
17629
  "$tagName$": "duet-page-heading",
17316
17630
  "$members$": {
17317
17631
  "theme": [1025],
17632
+ "shape": [1],
17318
17633
  "icon": [1025],
17634
+ "iconBackground": [1, "icon-background"],
17319
17635
  "layout": [1025],
17320
17636
  "progressCurrentStep": [2, "progress-current-step"],
17321
17637
  "progressTotalSteps": [2, "progress-total-steps"]
@@ -17560,14 +17876,13 @@ class DuetPagination {
17560
17876
  calculatePageTake() {
17561
17877
  this.totalPages = Math.ceil(this.total / this.take);
17562
17878
  }
17563
- //set update current when mouse click on page number
17879
+ // Update current when mouse click on arrow buttons
17564
17880
  async onMouseHandler(e, dir) {
17565
17881
  if (this.disabled) {
17566
17882
  return;
17567
17883
  }
17568
17884
  if (!this.processedPageLinks) {
17569
17885
  e.preventDefault();
17570
- e.stopPropagation();
17571
17886
  this.current = this.current + dir;
17572
17887
  }
17573
17888
  this.emitPageEvent(e);
@@ -17712,32 +18027,32 @@ class DuetPagination {
17712
18027
  * Always the last one in the class.
17713
18028
  */
17714
18029
  render() {
17715
- return (hAsync(Host, { key: '07c38979b231dbf5a56713a66a5b185d4c3e2822', onKeyDown: e => this.onKeyboardDown(e), class: { "duet-theme-turva": this.theme === "turva" } }, hAsync("nav", { key: '128744d916789820fba42f8475d2d2ce86ba42c8', role: "navigation", "aria-labelledby": this.accessibleLabelledBy ? `${this.accessibleLabelledBy} ${this.listId}` : this.listId, "aria-describedby": this.accessibleDescribedBy ? `${this.accessibleDescribedBy} ${this.listId}` : this.listId, "aria-descriptions": this.accessibleDescription, "aria-details": this.accessibleDetails, ref: el => (this.nativeNav = el), "aria-controls": this.ariaControls, class: {
18030
+ return (hAsync(Host, { key: '713861c49972efc0620c9d6425aebc4621c60725', onKeyDown: e => this.onKeyboardDown(e), class: { "duet-theme-turva": this.theme === "turva" } }, hAsync("nav", { key: '26f0be5edcc3d2e83961c40a097e804360ec82e4', role: "navigation", "aria-labelledby": this.accessibleLabelledBy ? `${this.accessibleLabelledBy} ${this.listId}` : this.listId, "aria-describedby": this.accessibleDescribedBy ? `${this.accessibleDescribedBy} ${this.listId}` : this.listId, "aria-descriptions": this.accessibleDescription, "aria-details": this.accessibleDetails, ref: el => (this.nativeNav = el), "aria-controls": this.ariaControls, class: {
17716
18031
  "duet-pagination-nav": true,
17717
18032
  [`duet-pagination-variation-${this.variation}`]: true,
17718
- } }, this.numbersStore !== "" && (hAsync("div", { key: '2666aa8028eb8270455a0fa5cfe4db71cc5a2705', "aria-live": "assertive", "aria-relevant": "text", class: "duet-pagination-overlay", "aria-label": `${this.accessibleLabels.jump_to} ${this.numbersStore}`, part: "navigation-overlay" }, hAsync("duet-badge", { key: '5006048f11b634ac53981dd1de48d24786763bce', theme: this.theme }, "jump to page : ", this.numbersStore))), hAsync("ol", { key: '6359ab5b15062ff7533365dbf693745cd8c20363', id: this.listId, class: {
18033
+ } }, this.numbersStore !== "" && (hAsync("div", { key: 'e048dc669a90234e04206d2e919477c456437171', "aria-live": "assertive", "aria-relevant": "text", class: "duet-pagination-overlay", "aria-label": `${this.accessibleLabels.jump_to} ${this.numbersStore}`, part: "navigation-overlay" }, hAsync("duet-badge", { key: '4cc0ec61a9b412f51a71b90b1ff1f371d20b6b77', theme: this.theme }, "jump to page : ", this.numbersStore))), hAsync("ol", { key: 'a21618609f5e18d5febe55d009164ae2b6104cee', id: this.listId, class: {
17719
18034
  "duet-pagination": true,
17720
18035
  "duet-pagination-is-dimmed": this.numbersStore !== "",
17721
- }, role: "menubar", "aria-label": this.accessibleLabels.pagination_label, "aria-description": this.accessibleLabels.description }, (this.variation === "compact" || this.matchesCompactBreakpoint) && (hAsync("li", { key: '9ed757c34264a5d9b98faf0a497a188720a9496e', class: {
18036
+ }, role: "menubar", "aria-label": this.accessibleLabels.pagination_label, "aria-description": this.accessibleLabels.description }, (this.variation === "compact" || this.matchesCompactBreakpoint) && (hAsync("li", { key: 'f398d058c0ebf2bdab7ab945bed0b4548bbbfe83', class: {
17722
18037
  "duet-pagination-page-button": true,
17723
18038
  "duet-pagination-button-first": true,
17724
- }, role: "menuitem", part: "navigation-arrow" }, hAsync("duet-action-button", { key: 'e5a376e51af5edecd2631bb8b3cf02610545692e', disabled: (this.internalSectionIndex === 0 && this.current <= 1) || this.disabled, "data-direction": "back", accessibleLabel: this.accessibleLabels.first_page, title: this.accessibleLabels.first_page, onClick: e => this.jumpToStart(e), "icon-name": "action-move-to-first", theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[0] : undefined }))), hAsync("li", { key: '168de5258be5f0f7008e100d4683fc02c3064581', class: {
18039
+ }, role: "menuitem", part: "navigation-arrow" }, hAsync("duet-action-button", { key: '045fb3a76f525bf38592dbd063d786d85ef0aef4', disabled: (this.internalSectionIndex === 0 && this.current <= 1) || this.disabled, "data-direction": "back", accessibleLabel: this.accessibleLabels.first_page, title: this.accessibleLabels.first_page, onClick: e => this.jumpToStart(e), "icon-name": "action-move-to-first", theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[0] : undefined }))), hAsync("li", { key: 'a34ff449e6b0f6bfdf045751e137d7bbf82745b0', class: {
17725
18040
  "duet-pagination-page-button": true,
17726
18041
  "duet-pagination-button-first": true,
17727
- }, role: "menuitem", part: "navigation-arrow" }, hAsync("duet-action-button", { key: 'af5ba5fa8e2b376f0b27f523283447cf28147a7e', disabled: !!((this.internalSectionIndex === 0 && this.current <= 1) ||
18042
+ }, role: "menuitem", part: "navigation-arrow" }, hAsync("duet-action-button", { key: '499f743f212068efe40d91da50a6a5d3a36b1bb8', disabled: !!((this.internalSectionIndex === 0 && this.current <= 1) ||
17728
18043
  (this.current <= 1 && this.processedPageLinks) ||
17729
- this.disabled), "data-direction": "back", onClick: e => this.onMouseHandler(e, -1), "accessible-label": this.accessibleLabels.previous_page, title: this.accessibleLabels.previous_page, "icon-name": "action-arrow-left-small", theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[this.current - 2] : undefined })), this.internalSectionIndex !== 0 && this.shouldDisplayNavigation() && (hAsync(Fragment, { key: '7bd37d481400c119a456c8b652eb3d692e5fd494' }, hAsync("li", { key: '4992a1986eb573d5202077e46ad00b6421993d1e', class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, hAsync("duet-button", { key: '508172776a6640e80e3ab8194de2e337a884bff6', disabled: this.disabled, class: "duet-pagination-link duet-pagination-link-jump-back", "center-text": "true", variation: "plain", color: this.theme !== "turva" ? "secondary" : "secondary-turva", margin: "none", accessibleLabel: this.accessibleLabels.first_page, onClick: e => this.jumpToStart(e), theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[0] : undefined }, hAsync("div", { key: '200db789756b44c9a2f5772d1dd47fb643941a8c', class: "duet-pagination-page-number" }, "1"))), hAsync("li", { key: '671815628d37eb09a768187f86e5626bb83ff4e9', class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, hAsync("duet-button", { key: '10734ac5cb625203ea5bf3aa016b66eb8cc5107d', disabled: this.disabled, class: "duet-pagination-link duet-pagination-link-dots-back", "center-text": "true", color: this.theme !== "turva" ? "secondary" : "secondary-turva", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.prev_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, -1), theme: this.theme }, hAsync("div", { key: '7b995d636201ffbbb4e32c6867304d26cd9deb37', class: "duet-pagination-page-number", "aria-hidden": "true" }, "\u2026"))))), (this.shouldDisplayNavigation() && this.renderPageNumbers()) || this.renderSelect(), (this.internalSectionIndex + 1) * this.visibleItems < this.totalPages &&
17730
- this.shouldDisplayNavigation() && (hAsync(Fragment, { key: '7c4c1587b80070022309e8f809e1a5f1cda1c754' }, (this.internalSectionIndex + 1) * this.visibleItems !== this.totalPages - 1 && (hAsync("li", { key: '7ed7e399d452f10d7950e4900ee99cb122f5f71c', class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, hAsync("duet-button", { key: '034dd1e1d88c51a2fd376dc412ad5c5d181bc24a', disabled: this.disabled, class: "duet-pagination-link duet-pagination-link-dots-forward", "center-text": "true", color: this.theme !== "turva" ? "secondary" : "secondary-turva", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.next_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, 1), theme: this.theme }, hAsync("div", { key: '810bcd10da373edf7e7be89da5fcb36686a1e888', class: "duet-pagination-page-number", "aria-hidden": "true" }, "\u2026")))), hAsync("li", { key: '5e03de6360345650ce6d286ecc553351620028d5', class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, hAsync("duet-button", { key: '3822ccc78f50fd0e6c0eb149a059fb6375c2dd9f', disabled: this.disabled, class: "duet-pagination-link duet-pagination-link-jump-forward", "center-text": "true", color: this.theme !== "turva" ? "secondary" : "secondary-turva", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.last_page, onClick: e => this.jumpToEnd(e), theme: this.theme, url: this.processedPageLinks
18044
+ this.disabled), "data-direction": "back", onClick: e => this.onMouseHandler(e, -1), "accessible-label": this.accessibleLabels.previous_page, title: this.accessibleLabels.previous_page, "icon-name": "action-arrow-left-small", theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[this.current - 2] : undefined })), this.internalSectionIndex !== 0 && this.shouldDisplayNavigation() && (hAsync(Fragment, { key: '855d343b101d8a4cb531e5534121c32fcebb6537' }, hAsync("li", { key: '87e9bf3c0e7709986f8425c68dcf453e37ecea53', class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, hAsync("duet-button", { key: 'ff073c3fb7001b83e9bd8254b5f0058350681aab', disabled: this.disabled, class: "duet-pagination-link duet-pagination-link-jump-back", "center-text": "true", variation: "plain", color: this.theme !== "turva" ? "secondary" : "secondary-turva", margin: "none", accessibleLabel: this.accessibleLabels.first_page, onClick: e => this.jumpToStart(e), theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[0] : undefined }, hAsync("div", { key: '2534ef73dffd5a2894f64e37b9b93ef921eeae9b', class: "duet-pagination-page-number" }, "1"))), hAsync("li", { key: '41366d11be98973382389f639c4361fa88b3ee03', class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, hAsync("duet-button", { key: '85acf7a3650a337686849a07b94e3c5ebe3985fc', disabled: this.disabled, class: "duet-pagination-link duet-pagination-link-dots-back", "center-text": "true", color: this.theme !== "turva" ? "secondary" : "secondary-turva", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.prev_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, -1), theme: this.theme }, hAsync("div", { key: '0cb3f15c9fbf047ebd3f42a9ea312e2b7eb7cda5', class: "duet-pagination-page-number", "aria-hidden": "true" }, "\u2026"))))), (this.shouldDisplayNavigation() && this.renderPageNumbers()) || this.renderSelect(), (this.internalSectionIndex + 1) * this.visibleItems < this.totalPages &&
18045
+ this.shouldDisplayNavigation() && (hAsync(Fragment, { key: 'c330810aeb916a70838b5902a945179516c08c2a' }, (this.internalSectionIndex + 1) * this.visibleItems !== this.totalPages - 1 && (hAsync("li", { key: 'e7827136e1d02443b965071e73e678f3db1d5045', class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, hAsync("duet-button", { key: 'ddf79df091880166ff5717d7ad56068afba21e8b', disabled: this.disabled, class: "duet-pagination-link duet-pagination-link-dots-forward", "center-text": "true", color: this.theme !== "turva" ? "secondary" : "secondary-turva", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.next_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, 1), theme: this.theme }, hAsync("div", { key: 'eab0f9616b5a0a283d2cfdfa12de2c0a8e7b4c6a', class: "duet-pagination-page-number", "aria-hidden": "true" }, "\u2026")))), hAsync("li", { key: 'b90fc9f829527d1d0cede68970d1bdbeeb00097c', class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, hAsync("duet-button", { key: 'b842abee7b341e75edbb9242f32febb0fd9027d0', disabled: this.disabled, class: "duet-pagination-link duet-pagination-link-jump-forward", "center-text": "true", color: this.theme !== "turva" ? "secondary" : "secondary-turva", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.last_page, onClick: e => this.jumpToEnd(e), theme: this.theme, url: this.processedPageLinks
17731
18046
  ? this.processedPageLinks[this.processedPageLinks.length - 1]
17732
- : undefined }, hAsync("div", { key: '0ad55ddc86b6b0edec485316998e67153924e760', class: "duet-pagination-page-number" }, this.totalPages))))), hAsync("li", { key: 'fc2a275cd29e3c10162ada93effec7d8b85c4dfc', class: {
18047
+ : undefined }, hAsync("div", { key: '7a39f4ad0995c18ebd0ffbd95b507272b17b5fe9', class: "duet-pagination-page-number" }, this.totalPages))))), hAsync("li", { key: 'ad540cc00840f8452ef0bb93ee6aaa7bdc7b9a9a', class: {
17733
18048
  "duet-pagination-page-button": true,
17734
18049
  "duet-pagination-button-last": true,
17735
- }, role: "menuitem", part: "navigation-arrow" }, hAsync("duet-action-button", { key: '3ff469847711467ad2604371688183007dca39de', disabled: !!((this.current === this.totalPages &&
18050
+ }, role: "menuitem", part: "navigation-arrow" }, hAsync("duet-action-button", { key: 'e4fc05e7c0163974b0929387122200f56b352d7f', disabled: !!((this.current === this.totalPages &&
17736
18051
  this.internalSectionIndex === Math.ceil(this.totalPages / this.visibleItems) - 1) ||
17737
- (this.current === this.totalPages && this.processedPageLinks)) || this.disabled, class: "duet-date-dialog-next", "accessible-label": this.accessibleLabels.next_page, title: this.accessibleLabels.next_page, onClick: e => this.onMouseHandler(e, 1), "icon-name": "action-move-to-next", theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[this.current] : undefined })), (this.variation === "compact" || this.matchesCompactBreakpoint) && (hAsync("li", { key: '561178af1382559d15b047297d2ce3a1fb757587', class: {
18052
+ (this.current === this.totalPages && this.processedPageLinks)) || this.disabled, class: "duet-date-dialog-next", "accessible-label": this.accessibleLabels.next_page, title: this.accessibleLabels.next_page, onClick: e => this.onMouseHandler(e, 1), "icon-name": "action-move-to-next", theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[this.current] : undefined })), (this.variation === "compact" || this.matchesCompactBreakpoint) && (hAsync("li", { key: '0f09b068770c1bf14c76d0d2c36e2138fdb3e5af', class: {
17738
18053
  "duet-pagination-page-button": true,
17739
18054
  "duet-pagination-button-last": true,
17740
- }, role: "menuitem", part: "navigation-arrow" }, hAsync("duet-action-button", { key: 'e5a2489a00c27cceb92224b60fa17e301fb2607e', disabled: (this.current === this.totalPages &&
18055
+ }, role: "menuitem", part: "navigation-arrow" }, hAsync("duet-action-button", { key: 'e53ee2acdfdf60f158d51607df8ee61f9af16b25', disabled: (this.current === this.totalPages &&
17741
18056
  this.internalSectionIndex === Math.ceil(this.totalPages / this.visibleItems) - 1) ||
17742
18057
  this.disabled, accessibleLabel: this.accessibleLabels.last_page, title: this.accessibleLabels.last_page, onClick: e => this.jumpToEnd(e), "icon-name": "action-move-to-last", theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[this.totalPages - 1] : undefined })))))));
17743
18058
  }
@@ -17810,14 +18125,14 @@ class DuetPanel {
17810
18125
  inheritGlobalTheme(this);
17811
18126
  }
17812
18127
  render() {
17813
- return (hAsync(Host, { key: '1de47ce04e9998565d49fc6786654bad4ab27b07', class: { "duet-m-0": this.margin === "none" } }, hAsync("section", { key: 'fbd6b8aa69e37ad67a48b52c65097a1a18ca6c6b', "aria-label": this.accessibleLabel, "aria-labelledby": this.accessibleLabelledBy, "aria-describedby": this.accessibleDescribedBy, class: {
18128
+ return (hAsync(Host, { key: 'c2b446e4eff02ce722d5fc470d9aedcb453e2dd2', class: { "duet-m-0": this.margin === "none" } }, hAsync("section", { key: '1039cfb9fa6e615149ca632ffd85da61d9b00f91', "aria-label": this.accessibleLabel, "aria-labelledby": this.accessibleLabelledBy, "aria-describedby": this.accessibleDescribedBy, class: {
17814
18129
  "duet-panel": true,
17815
18130
  "duet-theme-turva": this.theme === "turva",
17816
18131
  [this.variation.split("-")[0]]: true,
17817
18132
  [this.variation.split("-")[1]]: true,
17818
18133
  [`padding-${this.padding}`]: true,
17819
18134
  border: this.border,
17820
- } }, hAsync("slot", { key: '8309057522fb581d231a752add39db842a9b655b' }))));
18135
+ } }, hAsync("slot", { key: 'c923ad024bfad0670229a5da4ba140f5747549e4' }))));
17821
18136
  }
17822
18137
  get element() { return getElement(this); }
17823
18138
  static get style() { return duetPanelCss; }
@@ -17890,7 +18205,7 @@ class DuetParagraph {
17890
18205
  const color = getColorByName(this.color);
17891
18206
  // aria-describedby is to fix accessibility issue in Chrome where duet-paragraphs
17892
18207
  // are not announced when placed inside duet-modal
17893
- return (hAsync(Host, { key: '4cb0ecf0407180c626d975cfa824d88f54e551d6', "aria-describedby": this.id }, hAsync("p", { key: '2177cf79dc10fdb930b6f4b84af7c49dead27ae3', id: this.id, class: {
18208
+ return (hAsync(Host, { key: 'e1478a81d9627fcff4c00c71d03fc9fe91642bbc', "aria-describedby": this.id }, hAsync("p", { key: '78658b077c0692618bb7d6855bbd6605abd7b13f', id: this.id, class: {
17894
18209
  "duet-paragraph": true,
17895
18210
  "duet-paragraph-small": this.size === "small",
17896
18211
  "duet-paragraph-semi-bold": this.weight === "semi-bold",
@@ -17899,7 +18214,7 @@ class DuetParagraph {
17899
18214
  [this.variation]: true,
17900
18215
  "duet-theme-turva": this.theme === "turva",
17901
18216
  "duet-inherit-color": !this.color && this.inheritingParents.some(p => this.element.closest(p)),
17902
- }, style: { color }, part: "duet-paragraph" }, hAsync("slot", { key: '85e03942b92c85d0ed0dd2d33baefc5995188562' }))));
18217
+ }, style: { color }, part: "duet-paragraph" }, hAsync("slot", { key: '83e026a3225a92a554c68da2eff4c7eb5eab36d5' }))));
17903
18218
  }
17904
18219
  get element() { return getElement(this); }
17905
18220
  static get style() { return duetParagraphCss; }
@@ -19696,6 +20011,11 @@ class DuetPhoneInput {
19696
20011
  fi: "Valitse maatunnus",
19697
20012
  sv: "Välj landskod",
19698
20013
  };
20014
+ this.buttonAriaLabelSelected = {
20015
+ en: "Now selected",
20016
+ fi: "Nyt valittu",
20017
+ sv: "Nu vald",
20018
+ };
19699
20019
  this.language = getLanguage();
19700
20020
  /**
19701
20021
  * Theme of the input.
@@ -19751,6 +20071,11 @@ class DuetPhoneInput {
19751
20071
  * Visually hide the label, but still show it to screen readers.
19752
20072
  */
19753
20073
  this.labelHidden = false;
20074
+ /**
20075
+ * Set the type of automatic completion by the browser. Must include "tel", may also include token "home", "work" or
20076
+ * "mobile". If you must disable automatic completion (not recommended) use "off"
20077
+ */
20078
+ this.autoComplete = "tel";
19754
20079
  /**
19755
20080
  * Display the input in error state along with an error message.
19756
20081
  */
@@ -19963,6 +20288,13 @@ class DuetPhoneInput {
19963
20288
  }
19964
20289
  return this.renderFlag(this.currentCountry.isoCode, true);
19965
20290
  }
20291
+ getAccessibleLabelForButton() {
20292
+ const select = this.buttonAriaLabel[this.language];
20293
+ const selected = this.currentCountry
20294
+ ? ` ${this.buttonAriaLabelSelected[this.language]}, ${this.currentCountry[this.language]}.`
20295
+ : "";
20296
+ return `${select}.${selected}`;
20297
+ }
19966
20298
  render() {
19967
20299
  {
19968
20300
  return;
@@ -19990,6 +20322,7 @@ class DuetPhoneInput {
19990
20322
  "labelHidden": [4, "label-hidden"],
19991
20323
  "caption": [1],
19992
20324
  "name": [1],
20325
+ "autoComplete": [1, "auto-complete"],
19993
20326
  "error": [513],
19994
20327
  "tooltip": [1],
19995
20328
  "maxlength": [2],
@@ -21897,11 +22230,11 @@ class DuetPopupMenuItem {
21897
22230
  };
21898
22231
  // Without the role ternary Safari/iPhone wouldn't announce the label for role menuitem.
21899
22232
  // This is a tradeoff and now Safari announces these items as buttons and links with the label.
21900
- return (hAsync(Host, { key: '8e31b4732e423f363115f217c220217f85a3899a', role: this.accessibleRole === "menuitem" && this.isSafariBrowser ? null : this.accessibleRole }, hAsync(TagName, { key: '5abea3ae0f24951e2f99d2a905e08def59b7d23c', ref: element => (this.itemElement = element), tabIndex: this.accessibleRole === "listitem" ? 0 : -1, 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, "aria-current": this.active ? "true" : undefined }, this.leadingIcon && (hAsync("duet-icon", { key: '540354237f8e224355ddb092458c9cfb7e312afe', name: this.leadingIcon, size: "x-small", color: this.leadingIconColor ? this.leadingIconColor : "currentColor", class: "duet-popup-menu-item-leading", margin: "none" })), hAsync("span", { key: 'b8304eae0ef5162910e1875f50737ee9a1a9b22a', class: "duet-popup-menu-item-label" }, hAsync("slot", { key: '68a5948beee5b74d8c2b537e221f4d338398ad08' })), (this.trailingIcon || this.active || (this.url && this.external)) && (hAsync("duet-icon", { key: '0054c8c0f16b760bd4044f2b29911b5dbacc2c70', name: this.url && this.external
22233
+ return (hAsync(Host, { key: 'dc904d95dbb1b0274fcdadcea67ce47aba4d7fe5', role: this.accessibleRole === "menuitem" && this.isSafariBrowser ? null : this.accessibleRole }, hAsync(TagName, { key: 'ee50bbb09eba600e81b860df3102e0a2cd6288f2', ref: element => (this.itemElement = element), tabIndex: this.accessibleRole === "listitem" ? 0 : -1, 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, "aria-current": this.active ? "true" : undefined }, this.leadingIcon && (hAsync("duet-icon", { key: '2393da90d783cc2cde59d87a05035d3539009c94', name: this.leadingIcon, size: "x-small", color: this.leadingIconColor ? this.leadingIconColor : "currentColor", class: "duet-popup-menu-item-leading", margin: "none" })), hAsync("span", { key: '3b89e70152736a394a1d783146d7fcf7042af27c', class: "duet-popup-menu-item-label" }, hAsync("slot", { key: '7e2c5bff4d032a76c871b346477c1380d41ac23e' })), (this.trailingIcon || this.active || (this.url && this.external)) && (hAsync("duet-icon", { key: '1307e84b95a9f3f731701377a93275e00b17682e', name: this.url && this.external
21901
22234
  ? newWindowIcon.title
21902
22235
  : this.active
21903
22236
  ? "messaging-checked-small"
21904
- : this.trailingIcon, size: (this.url && this.external) || this.active ? "xx-small" : "x-small", color: "currentColor", class: "duet-popup-menu-item-trailing", margin: "none" })), this.trailingText && hAsync("span", { key: 'b1f655997c830f6d87c4091244628bec97fc0886', class: "duet-popup-menu-item-trailing" }, this.trailingText))));
22237
+ : this.trailingIcon, size: (this.url && this.external) || this.active ? "xx-small" : "x-small", color: "currentColor", class: "duet-popup-menu-item-trailing", margin: "none" })), this.trailingText && hAsync("span", { key: 'ccdd5e50e27621e4c9bddc18ddfb4fa32c5df087', class: "duet-popup-menu-item-trailing" }, this.trailingText))));
21905
22238
  }
21906
22239
  get element() { return getElement(this); }
21907
22240
  static get style() { return duetPopupMenuItemCss; }
@@ -22025,7 +22358,7 @@ class DuetProgress {
22025
22358
  }; }
22026
22359
  }
22027
22360
 
22028
- const duetPromoCardCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-right:4px !important;margin-bottom:2px !important;display:block;width:auto}:host:last-child,:host:last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host:last-of-type:not(:last-child){margin-right:4px !important}:host(.duet-m-0){margin:0 !important}.duet-promo-card{display:flex;flex-direction:column;width:100%;height:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;color:rgb(8, 42, 77);text-align:left;border-radius:20px}.duet-promo-card.duet-p-0{padding:0 !important}.duet-promo-card.duet-m-0{margin:0 !important}.duet-promo-card .content-wrapper{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;border-radius:20px}.duet-promo-card .content-wrapper:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-promo-card .content-wrapper:focus,.duet-promo-card .content-wrapper:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-promo-card .image{position:relative;width:100%;overflow:hidden;object-fit:cover;border-top-left-radius:20px;border-top-right-radius:20px}.duet-promo-card .content{display:flex;flex-grow:1;flex-direction:column;gap:8px;padding:20px}@media (min-width: 36em){.duet-promo-card .content{padding:28px}}.duet-promo-card .action{display:flex;flex-grow:1;align-items:flex-end;padding-top:16px}.duet-promo-card.no-bg-color .content{padding:20px 0 0}.duet-promo-card.no-bg-color .image{border-radius:16px}.duet-promo-card-link{transition:box-shadow 300ms ease}.duet-promo-card-link:hover{box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07), 0 2px 10px 0 rgba(0, 41, 77, 0.1)}::slotted(.duet-heading){margin:inherit !important;font-size:inherit !important;line-height:inherit !important;color:inherit !important}.duet-theme-turva.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-theme-turva.duet-promo-card-link:hover{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)}";
22361
+ const duetPromoCardCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-right:4px !important;margin-bottom:2px !important;display:block;width:auto}:host:last-child,:host:last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host:last-of-type:not(:last-child){margin-right:4px !important}:host(.duet-m-0){margin:0 !important}.duet-promo-card{display:flex;flex-direction:column;width:100%;height:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;color:rgb(8, 42, 77);text-align:left;border-radius:20px}.duet-promo-card.duet-p-0{padding:0 !important}.duet-promo-card.duet-m-0{margin:0 !important}.duet-promo-card .content-wrapper{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;border-radius:20px}.duet-promo-card .content-wrapper:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-promo-card .content-wrapper:focus,.duet-promo-card .content-wrapper:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-promo-card picture{display:block;width:100%}.duet-promo-card .image{position:relative;width:100%;overflow:hidden;object-fit:cover;border-top-left-radius:20px;border-top-right-radius:20px}.duet-promo-card .content{display:flex;flex-grow:1;flex-direction:column;gap:8px;padding:20px}@media (min-width: 36em){.duet-promo-card .content{padding:28px}}.duet-promo-card .action{display:flex;flex-grow:1;align-items:flex-end;padding-top:16px}.duet-promo-card.no-bg-color .content{padding:20px 0 0}.duet-promo-card.no-bg-color .image{border-radius:16px}.duet-promo-card-link{transition:box-shadow 300ms ease}.duet-promo-card-link:hover{box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07), 0 2px 10px 0 rgba(0, 41, 77, 0.1)}::slotted(.duet-heading){margin:inherit !important;font-size:inherit !important;line-height:inherit !important;color:inherit !important}.duet-theme-turva.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-theme-turva.duet-promo-card-link:hover{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)}";
22029
22362
 
22030
22363
  /**
22031
22364
  * @slot pre-heading - Slot for pre-heading content.
@@ -22097,12 +22430,22 @@ class DuetPromoCard {
22097
22430
  backgroundColor: backgroundColor ? backgroundColor : "none",
22098
22431
  };
22099
22432
  const TagName = this.url ? "a" : "div";
22100
- return (hAsync(Host, { key: '95b3ed27ee63d653dd40150704011e9e4ff62977', class: { "duet-m-0": this.margin === "none" } }, hAsync("aside", { key: '0cc3047f13bf8ff3d13c1a4547225ef9075ee72c', class: {
22433
+ const pictureSource = {
22434
+ img: {
22435
+ src: this.image,
22436
+ alt: this.imageAlt || "",
22437
+ loading: "lazy",
22438
+ class: "image",
22439
+ role: this.imageAlt ? undefined : "presentation",
22440
+ },
22441
+ sources: parsePossibleJSON(this.sources),
22442
+ };
22443
+ return (hAsync(Host, { key: '17e585c7caea2ce49b25ea82914c047ff6c82a9a', class: { "duet-m-0": this.margin === "none" } }, hAsync("aside", { key: 'd71249878100984ee82f889d89c9457c730f7662', class: {
22101
22444
  "duet-promo-card": true,
22102
22445
  "duet-theme-turva": this.theme === "turva",
22103
22446
  "no-bg-color": !this.backgroundColor,
22104
22447
  "duet-promo-card-link": !!this.url,
22105
- }, style: bannerStyles }, hAsync(TagName, { key: '88f499f9cfbc42cc77ae3650e25d6a67e249c667', href: this.url, class: { "content-wrapper": true, "duet-theme-turva": this.theme === "turva" }, ref: element => (this.aOrDivElement = element) }, hAsync("img", { key: '3f56c0e11f43fd35a576c2612a01ef57362eb9ce', class: "image", src: this.image, alt: this.imageAlt || "", role: this.imageAlt ? null : "presentation" }), hAsync("div", { key: '67cc5128842bfd7a97e55ab7a39607f15565aa48', class: "content" }, this.hasPreHeadingSlot && (hAsync("div", { key: '6416da999d6c95dbc60c7f4210f00ff7771068a9', class: "pre-heading" }, hAsync("slot", { key: 'f14c79e605bc369bcd622813975bd2e567232e8a', name: "pre-heading" }))), this.hasHeadingSlot && (hAsync("div", { key: '21fc61923698870704efbc02ceb85cb41634fe76', class: "heading" }, hAsync("duet-heading", { key: '4adef65c01b3b1162949e5dddb6c2e722f04376f', theme: this.theme, level: this.hasHeadingSlotNative ? "div" : this.headingLevel, "visual-level": "h3", margin: "none", color: postfixTheme(this.textColor, this.theme) }, hAsync("span", { key: 'b5e3eeb6192b2c4dab608c7b3cb1a7ec271292bb' }, hAsync("slot", { key: '717362196c9449e8eb0cad836a5d1eed094ec621', name: "heading" }))))), this.hasDescriptionSlot && (hAsync("div", { key: '117900bbf76af5ae95917819fb7d2f99d2704f53', class: "description" }, hAsync("duet-paragraph", { key: 'f7ef0a08c527b79980a900706fff2d4d61a28652', theme: this.theme, margin: "none", color: postfixTheme(this.textColor, this.theme) }, hAsync("span", { key: '799ccc75db2f0e75833f50d77f0e1c89ccd8301f' }, hAsync("slot", { key: 'aa8385bab94fd5d120daa6d2040d0b683aaecaa7', name: "description" }))))), this.hasActionSlot && (hAsync("div", { key: '8ec8ce8f1b6b54b29d0b5282cc6fdad63b987125', class: "action" }, hAsync("slot", { key: '63f29b5905fbfebea7e2aa139c2c81b5177d5e4a', name: "action" }))))))));
22448
+ }, style: bannerStyles }, hAsync(TagName, { key: 'c4edfe1d3f7a37846ce57b02390f6c506c2c141b', href: this.url, class: { "content-wrapper": true, "duet-theme-turva": this.theme === "turva" }, ref: element => (this.aOrDivElement = element) }, hAsync(DuetPicture, Object.assign({ key: '4db132f911aa01f941743b55bb6efb8275219bb8' }, pictureSource)), hAsync("div", { key: 'cac0e424e892d37419eac7e2af2b0bd7308b0c39', class: "content" }, this.hasPreHeadingSlot && (hAsync("div", { key: '36a74542f6621186fead0089783ac32a418b3125', class: "pre-heading" }, hAsync("slot", { key: 'd8ecaaa3fe7d32b1d751acd669b6869a2168231f', name: "pre-heading" }))), this.hasHeadingSlot && (hAsync("div", { key: 'ae586b7d14276add01c99296d8fc96844eed3ee2', class: "heading" }, hAsync("duet-heading", { key: '7079249d8751808397889bc332aac7e4bf0beb00', theme: this.theme, level: this.hasHeadingSlotNative ? "div" : this.headingLevel, "visual-level": "h3", margin: "none", color: postfixTheme(this.textColor, this.theme) }, hAsync("span", { key: 'e4211262efe0fc117017355c175487a24dc52485' }, hAsync("slot", { key: 'b0f6196e3cec65f855231d232684e7507f71a972', name: "heading" }))))), this.hasDescriptionSlot && (hAsync("div", { key: 'c3275a5080abb7488022cdb97da68110872fc80e', class: "description" }, hAsync("duet-paragraph", { key: '0232414d087686f41f37fe95cbecda5217250ac0', theme: this.theme, margin: "none", color: postfixTheme(this.textColor, this.theme) }, hAsync("span", { key: '04d9e5329afdbaaec69f7848017ae5489aa671c1' }, hAsync("slot", { key: 'da7bfca8139e63ee663bb426ca6ebdad8fed35cd', name: "description" }))))), this.hasActionSlot && (hAsync("div", { key: '054ddda2d414a26348e684738ebad3042ea292b3', class: "action" }, hAsync("slot", { key: '348682adce3b3f16de045034dccf4daf48edc6ca', name: "action" }))))))));
22106
22449
  }
22107
22450
  get element() { return getElement(this); }
22108
22451
  static get style() { return duetPromoCardCss; }
@@ -22116,6 +22459,7 @@ class DuetPromoCard {
22116
22459
  "textColor": [1, "text-color"],
22117
22460
  "image": [1],
22118
22461
  "imageAlt": [1, "image-alt"],
22462
+ "sources": [1],
22119
22463
  "headingLevel": [1, "heading-level"],
22120
22464
  "url": [1],
22121
22465
  "setFocus": [64]
@@ -22251,9 +22595,6 @@ class DuetRadio {
22251
22595
  /**
22252
22596
  * Component event handling.
22253
22597
  */
22254
- this.onClick = (ev) => {
22255
- ev.stopPropagation();
22256
- };
22257
22598
  this.onChange = (ev) => {
22258
22599
  const input = this.focusableElement;
22259
22600
  const inputChecked = input.checked;
@@ -22311,17 +22652,17 @@ class DuetRadio {
22311
22652
  * Always the last one in the class.
22312
22653
  */
22313
22654
  render() {
22314
- return (hAsync(Host, { key: 'd82b22980816dea2feea2a7180679323b9ced79f', onClick: this.onClick, class: {
22655
+ return (hAsync(Host, { key: '7042b59543dd4cf7627ca41b07a3fee3598c684d', class: {
22315
22656
  vertical: this.groupDirection === "vertical",
22316
22657
  horizontal: this.groupDirection === "horizontal" && !this.groupResponsive,
22317
22658
  "horizontal-responsive": this.groupDirection === "horizontal" && this.groupResponsive,
22318
22659
  "duet-m-0": this.margin === "none",
22319
- } }, hAsync("div", { key: 'bc0933ec6d7215b63dc4db48bb84713cf97228e6', class: { "duet-radio-container": true, "duet-theme-turva": this.theme === "turva" } }, hAsync("slot", { key: '2ccc75feb0fca857df7ab5e0737f9fd8c8321c53', name: "input" }), hAsync("label", { key: '06df8ce9f007519b9254000a75aa3426fc8a9ce7', inert: true, ref: element => (this.labelElement = element), class: {
22660
+ } }, hAsync("div", { key: '39a07c45edaba71d4380c430c48a9f8f2d5e6786', class: { "duet-radio-container": true, "duet-theme-turva": this.theme === "turva" } }, hAsync("slot", { key: '5c3161f12b2def6f54245a063751ba5608fa13fd', name: "input" }), hAsync("label", { key: 'a98ef594efee0f9ef478eb4163c4757dec88b3b4', inert: true, ref: element => (this.labelElement = element), class: {
22320
22661
  "duet-label": true,
22321
22662
  checked: this.checked,
22322
22663
  focus: this.focus,
22323
22664
  disabled: this.disabled || this.groupDisabled,
22324
- } }, hAsync("div", { key: 'ce04270105b4ffd62375ee7048c9cb6d33eaeea9', class: "duet-label-content" }, this.hasLabel ? hAsync("slot", { name: "label" }) : this.label)))));
22665
+ } }, hAsync("div", { key: 'a1293298a68f71ccf0b6bba309bae33ff66932a9', class: "duet-label-content" }, this.hasLabel ? hAsync("slot", { name: "label" }) : this.label)))));
22325
22666
  }
22326
22667
  get element() { return getElement(this); }
22327
22668
  static get style() { return duetRadioCss; }
@@ -22516,7 +22857,7 @@ class DuetRadioGroup {
22516
22857
  * Always the last one in the class.
22517
22858
  */
22518
22859
  render() {
22519
- return (hAsync(Host, { key: 'c9c42e3d578a64ec328ad0b1aad6e9c3906dcc2b', onDuetChange: this.onSelect, class: { horizontal: this.direction === "horizontal" } }, hAsync("duet-fieldset", { key: '6a38b0a95734aea6320ec9bb63cebc7a11279990', label: this.label, labelHidden: this.labelHidden, caption: this.caption, error: this.error, margin: this.margin, theme: this.theme, "accessible-live-error": this.accessibleLiveError }, this.tooltip && (hAsync("duet-tooltip", { key: '3f9d7aa7e79c08a743cd575d5a22542e3f89b26f', slot: "tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), hAsync("slot", { key: 'c622de073e75fef4f9bc9d543a2eeb88089192c2', name: "tooltip", slot: "tooltip" }), hAsync("div", { key: 'c8e0fd9234a1960232caf29eeb2066ce93b7702d', class: { "duet-radio-group": true, "duet-no-stacking": !this.responsive } }, hAsync("slot", { key: '095560662ef8689b900364cf1786ec60136b5406' })))));
22860
+ return (hAsync(Host, { key: '02e9f8d2279ba0a17975acd1fbe2a47de0b0ab70', onDuetChange: this.onSelect, class: { horizontal: this.direction === "horizontal" } }, hAsync("duet-fieldset", { key: '47e6bc188d4c4e575d75d36367da122316d96bc0', label: this.label, labelHidden: this.labelHidden, caption: this.caption, error: this.error, margin: this.margin, theme: this.theme, "accessible-live-error": this.accessibleLiveError }, this.tooltip && (hAsync("duet-tooltip", { key: '18d3f763a86f215663b520717b293bf2310a8f6f', slot: "tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), hAsync("slot", { key: '0c7ba1f9d7b007e9a7b410270305bfe7c8bb0a11', name: "tooltip", slot: "tooltip" }), hAsync("div", { key: 'a10eb9b3e81d3d8bffb7105380f718da84c61f4b', class: { "duet-radio-group": true, "duet-no-stacking": !this.responsive } }, hAsync("slot", { key: '9010cb8e811a5ee69fb6e03c9d1b44fa92f9c60c' })))));
22520
22861
  }
22521
22862
  get element() { return getElement(this); }
22522
22863
  static get watchers() { return {
@@ -22704,13 +23045,13 @@ class DuetRangeSlider {
22704
23045
  const rangeStyles = {
22705
23046
  background: `-webkit-linear-gradient(left,${active} 0%,${active} ${percentage}%,${inactive} ${percentage}%)`,
22706
23047
  };
22707
- return (hAsync(Host, { key: '8ae2f8b801002f2d7f36a1f6f2c5d9de5e52d480', class: { "duet-m-0": this.margin === "none", "duet-expand": this.expand } }, hAsync("div", { key: '3faa6f6b699d012b9d6ff43f0f5255dee1842fe8', class: {
23048
+ return (hAsync(Host, { key: 'e210a09d9e24ecda74f73465103e52fd0ef3e151', class: { "duet-m-0": this.margin === "none", "duet-expand": this.expand } }, hAsync("div", { key: 'c06f45aec60dddfd2bc63c0c37e985fb4892262c', class: {
22708
23049
  "duet-range-container": true,
22709
23050
  "duet-label-hidden": this.labelHidden,
22710
23051
  "duet-theme-turva": this.theme === "turva",
22711
23052
  "duet-ie": isInternetExplorer(),
22712
23053
  "duet-range-disabled": this.disabled,
22713
- } }, hAsync(DuetInternalLabel, { key: '330e765a6f42437f0ec80c8fd12f02aa9c8f564d', theme: theme, color: this.labelColor, weight: this.labelWeight, margin: "small", for: identifier }, this.label), hAsync("output", { key: '91a85bd1d5816c694a32882bbe3bce178afe76ba', "aria-hidden": "true", htmlFor: identifier, class: "duet-output" }, this.value.toLocaleString(this.locale), this.unit), hAsync("input", { key: '9ccf4115591954ca7123216d7fda90ca24a3a06d', onInput: this.onInput, onChange: this.onChange, ref: input => (this.nativeInput = input), type: "range", min: this.min, max: this.max, step: this.step, value: this.value, style: rangeStyles, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": this.value, "aria-valuetext": `${this.value} ${this.unit}`, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, id: identifier, name: this.name, disabled: this.disabled, required: this.required, class: "duet-range" }))));
23054
+ } }, hAsync(DuetInternalLabel, { key: '3c28b5f14ecf125f07146f93500cfc765e895583', theme: theme, color: this.labelColor, weight: this.labelWeight, margin: "small", for: identifier }, this.label), hAsync("output", { key: 'a87614cb264ff78db2d931ae109f6c982c057c9d', "aria-hidden": "true", htmlFor: identifier, class: "duet-output" }, this.value.toLocaleString(this.locale), this.unit), hAsync("input", { key: 'efeb770492d9fb26cf60c72b9a5dda6de43dc583', onInput: this.onInput, onChange: this.onChange, ref: input => (this.nativeInput = input), type: "range", min: this.min, max: this.max, step: this.step, value: this.value, style: rangeStyles, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": this.value, "aria-valuetext": `${this.value} ${this.unit}`, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, id: identifier, name: this.name, disabled: this.disabled, required: this.required, class: "duet-range" }))));
22714
23055
  }
22715
23056
  get element() { return getElement(this); }
22716
23057
  static get style() { return duetRangeSliderCss; }
@@ -22939,10 +23280,10 @@ class DuetRangeStepper {
22939
23280
  * Always the last one in the class.
22940
23281
  */
22941
23282
  render() {
22942
- return (hAsync("div", { key: '1b5b22965b01d2a7ae85b7339ee8645f8349f4b6', class: {
23283
+ return (hAsync("div", { key: 'adfdba923ae5fd9a6dfba50fe1c4f55e3b87a865', class: {
22943
23284
  "duet-range-stepper": true,
22944
23285
  "duet-theme-turva": this.theme === "turva",
22945
- }, onKeyDown: e => this.onKeyboardDown(e), "aria-controls": this.ariaControls }, hAsync("span", { key: '54b38991bc5f22f1834a911aab5adcb3f5564728', class: "duet-range-step-counter", part: "range-numbers" }, this.generateStepSize()), hAsync("duet-action-button", { key: '1f0e154e3dc32e14ebf7ec696182b11915045b5a', disabled: this.disabled || this.buttonLeftDisabled, class: "duet-range-step-button duet-range-step-minus", onClick: e => this.handleClick(e, -1), id: this.leftBn, "accessible-label": `${this.ariaLabels.previous_increment} ${this.generatePreviousIncrementLabel()}`, ref: el => (this.leftBnRef = el), part: "navigation-arrow", iconName: "action-arrow-left-small", title: "" }), hAsync("duet-action-button", { key: '2531345ee7783cc6b6c2e742abdf6240aea88bb9', disabled: this.disabled || this.buttonRightDisabled, class: "duet-range-step-button duet-range-step-plus", onClick: e => this.handleClick(e, 1), "accessible-label": `${this.ariaLabels.next_increment} ${this.generateNextIncrementLabel()}`, id: this.rightBn, ref: el => (this.rightBnRef = el), part: "navigation-arrow", iconName: "action-arrow-right-small", title: "" })));
23286
+ }, onKeyDown: e => this.onKeyboardDown(e), "aria-controls": this.ariaControls }, hAsync("span", { key: '4377af5c4c12a8fd56b793dc809cfa21aa2e7850', class: "duet-range-step-counter", part: "range-numbers" }, this.generateStepSize()), hAsync("duet-action-button", { key: '02f43f05ea407fd7d55a108dc6656e0f05490dc3', disabled: this.disabled || this.buttonLeftDisabled, class: "duet-range-step-button duet-range-step-minus", onClick: e => this.handleClick(e, -1), id: this.leftBn, "accessible-label": `${this.ariaLabels.previous_increment} ${this.generatePreviousIncrementLabel()}`, ref: el => (this.leftBnRef = el), part: "navigation-arrow", iconName: "action-arrow-left-small", title: "" }), hAsync("duet-action-button", { key: '0b970f02212426d7e73e3fe136f14e2ff3c44879', disabled: this.disabled || this.buttonRightDisabled, class: "duet-range-step-button duet-range-step-plus", onClick: e => this.handleClick(e, 1), "accessible-label": `${this.ariaLabels.next_increment} ${this.generateNextIncrementLabel()}`, id: this.rightBn, ref: el => (this.rightBnRef = el), part: "navigation-arrow", iconName: "action-arrow-right-small", title: "" })));
22946
23287
  }
22947
23288
  get element() { return getElement(this); }
22948
23289
  static get watchers() { return {
@@ -23253,18 +23594,18 @@ class DuetScrollable {
23253
23594
  * Always the last one in the class.
23254
23595
  */
23255
23596
  render() {
23256
- return (hAsync(Host, { key: '2ba4adf585cac6b8a76f8a06f2a46a3339b495e8', class: {
23597
+ return (hAsync(Host, { key: '2f5fa75837cec7537480b0f5eac81c17cb26187e', class: {
23257
23598
  "duet-theme-turva": this.theme === "turva",
23258
23599
  "duet-theme-default": this.theme === "default",
23259
- } }, this.hasCollapseButtonLabelSlot && (hAsync("div", { key: '1bb6dcf18c16906a196f15532d51878f5a14ebfe', class: {
23600
+ } }, this.hasCollapseButtonLabelSlot && (hAsync("div", { key: '5764bbcb0703456241a485b5d588d65a3d1a8ede', class: {
23260
23601
  collapse: true,
23261
23602
  hide: !this.needsScrolling && !this.collapsed,
23262
- } }, hAsync("duet-button", { key: '253b7c6b18e78444e59e7a3df3f66287e67d8d4d', variation: "plain", margin: "none", "center-text": true, onClick: () => this.collapsedOnClick() }, hAsync("slot", { key: '46ee35a09a74308fef543368900ceb78546d2d27', name: "collapse-button-label" })))), hAsync("div", { key: 'fbead3f5a25009528eca77982e0c340139f780dc', class: {
23603
+ } }, hAsync("duet-button", { key: 'f9f251d19c6d1a268b47f92f8b3cd894c95e07f6', variation: "plain", margin: "none", "center-text": true, onClick: () => this.collapsedOnClick() }, hAsync("slot", { key: '50f2782ad08fd6caa181c7eaa25f7feef7c98a2b', name: "collapse-button-label" })))), hAsync("div", { key: '52b2a5731b450693bb4b3a978dbdb2d7f14777d6', class: {
23263
23604
  "duet-scrollable-items": true,
23264
23605
  buttons: this.buttons,
23265
23606
  center: this.center,
23266
23607
  "duet-theme-turva": this.theme === "turva",
23267
- } }, this.buttons && this.renderButton("left"), hAsync("div", { key: 'dc180a9004b8b097bca04412e3412b32949efbdc', class: {
23608
+ } }, this.buttons && this.renderButton("left"), hAsync("div", { key: '8df63d3abb46a93cc86cc38eb801ef6a0843b51b', class: {
23268
23609
  "duet-scrollable-list": true,
23269
23610
  [`duet-scrollable-list--${this.buttonPosition}`]: true,
23270
23611
  [`gap-${this.gap}`]: true,
@@ -23272,7 +23613,7 @@ class DuetScrollable {
23272
23613
  [`duet-overflow-padding--${this.padding}`]: this.padding !== "none",
23273
23614
  [`duet-scrollable-list--${this.buttonPosition}`]: this.buttonPosition === "absolute",
23274
23615
  "duet-scrollable-stretch": this.stretch,
23275
- }, onScroll: () => this.updateScrollButtons(), ref: element => (this.scrollPaneElement = element) }, hAsync("slot", { key: 'a14ae5f86ffc50886753e785bfb795cc706e3f95' })), this.buttons && this.renderButton("right"))));
23616
+ }, onScroll: () => this.updateScrollButtons(), ref: element => (this.scrollPaneElement = element) }, hAsync("slot", { key: '5377464cb77bfd26de8b9cdea7c827e08b0db428' })), this.buttons && this.renderButton("right"))));
23276
23617
  }
23277
23618
  get element() { return getElement(this); }
23278
23619
  static get watchers() { return {
@@ -23332,13 +23673,13 @@ class DuetSectionLayout {
23332
23673
  * Always the last one in the class.
23333
23674
  */
23334
23675
  render() {
23335
- return (hAsync(Host, { key: '1423181d3efb8f77211a81db6dc7a415457b23f4', class: {
23676
+ return (hAsync(Host, { key: '4640f2d203680d402788b83e99eab0612d23d220', class: {
23336
23677
  "duet-middle": this.middle,
23337
23678
  "duet-ie": isInternetExplorer(),
23338
- } }, hAsync("div", { key: '3b08e02d99ce4d269a90522f896ecfb43608c79f', class: { "duet-layout-wrapper": true, "duet-m-0": this.margin === "none" } }, hAsync("div", { key: '1c60dd6abba084bdf4b29b9cb4b6e94d137517e3', class: {
23679
+ } }, hAsync("div", { key: 'df70de3be2c50ec188dc9aab16af90d6c45d6aea', class: { "duet-layout-wrapper": true, "duet-m-0": this.margin === "none" } }, hAsync("div", { key: '6424120aabf584d6b9f0c9e5dacae247f271ae63', class: {
23339
23680
  "duet-layout": true,
23340
23681
  [`padding-${this.paddingBreakpoint}`]: !!this.paddingBreakpoint,
23341
- } }, hAsync("section", { key: 'be58aa5ae79e61f3ba8e2bbadb119d169ab51d59', class: "duet-main" }, hAsync("slot", { key: '43f94baf777b2626fefaa2a85d752f3e4652ed94' }))))));
23682
+ } }, hAsync("section", { key: 'e970057e762239839d30b4d710f4d25cd9b56a2a', class: "duet-main" }, hAsync("slot", { key: '75bc9cc77d08d730e98e956dcec2c4ba15bf6274' }))))));
23342
23683
  }
23343
23684
  get element() { return getElement(this); }
23344
23685
  static get style() { return duetSectionLayoutCss; }
@@ -23551,23 +23892,23 @@ class DuetSelect {
23551
23892
  */
23552
23893
  render() {
23553
23894
  const identifier = this.identifier || this.selectId;
23554
- return (hAsync(Host, { key: '0ddcfe653c975b950d0e354b409ab1d6f262c8e8', class: {
23895
+ return (hAsync(Host, { key: '799e751c3066521f3910c7e2bc2f1b4f01a05f2c', class: {
23555
23896
  "duet-m-0": this.margin === "none",
23556
23897
  "duet-expand": this.expand,
23557
23898
  [`duet-select-variation-${this.variation}`]: true,
23558
- } }, hAsync("div", { key: 'fd9cd25b5741264512afa023ffdaadd5f2c4bf88', class: {
23899
+ } }, hAsync("div", { key: '8ec31867c99664d323116a2d157edf312eb876d9', class: {
23559
23900
  "duet-select-container": true,
23560
23901
  "duet-label-hidden": this.labelHidden,
23561
23902
  "duet-theme-turva": this.theme === "turva",
23562
23903
  [`duet-select-variation-${this.variation}`]: true,
23563
23904
  "duet-input-top-caption-shown": this.isCaptionVisible,
23564
23905
  "has-error": !!this.error,
23565
- } }, hAsync(DuetInternalLabel, { key: 'c3b5c05a907cc0ff12d55f85670fd2ad9f15adf1', theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (hAsync("duet-tooltip", { key: '7bc69b0dc20365188e9301bfdd30df1124b18761', direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), hAsync("slot", { key: 'f4bc4ce586c29071d3bc4f20960a404b981203dd', name: "tooltip" }), this.caption && (hAsync("duet-caption", { key: '8465f79cf880f37acabd18e2e1ded29e49bd94ee', id: this.topCaptionId, size: "medium" }, this.caption)), hAsync("div", { key: 'c9d22a8a3ca34ae31b859b8733e0c6745ebbeabf', class: "duet-select-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (hAsync("duet-caption", { key: '1fe97d2769761b8987fe53554bec4a3edd114fd4', id: this.topCaptionPlaceholderId, class: "duet-select-placeholder", size: "small" }, this.placeholder)), hAsync("slot", { key: 'b274666d37f85b37e317908426b60ca1cc8bdfff' }), hAsync("select", { key: '156afda8ad1a3cd37e999c3ef624e3bdf23f3939', ref: select => (this.nativeSelect = select), disabled: this.disabled, name: this.name, id: identifier, role: this.role, "aria-labelledby": this.labelId, "aria-describedby": this.getDescribedBy(), "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, required: this.required }, this.placeholder && (hAsync("option", { key: 'e9a8b64cbab68d12e0769099ecce296305127185', disabled: true, selected: true, value: "" }, this.placeholder)), !this.processedItems ? (hAsync("option", null, "Virhe valintoja ladattaessa. P\u00E4ivit\u00E4 sivu ja kokeile uusiksi.")) : (this.processedItems.map(item => {
23906
+ } }, hAsync(DuetInternalLabel, { key: '9694bfe254e28f6410a09c0a29e8ffe90bcc197a', theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (hAsync("duet-tooltip", { key: '8fac7e29561cacaed838f86255b710e12cf1e10c', direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), hAsync("slot", { key: 'c118cf285f1596c85dd059fddfcd2a50fdb48a25', name: "tooltip" }), this.caption && (hAsync("duet-caption", { key: '7876fa88354fffd01170deb8fa2f2e2fcd860fe1', id: this.topCaptionId, size: "medium" }, this.caption)), hAsync("div", { key: '0cbf3b4fcf5157ff3c99be21f90207845dc0a12f', class: "duet-select-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (hAsync("duet-caption", { key: '46c2e4892c502a84b7fa294a4d7dfd89dd365bbe', id: this.topCaptionPlaceholderId, class: "duet-select-placeholder", size: "small" }, this.placeholder)), hAsync("slot", { key: 'c149307dc10d95ac9344429c7cb59afc8e7c8f1c' }), hAsync("select", { key: 'f87920eea326497e41432be046c0a4bc2b881f82', ref: select => (this.nativeSelect = select), disabled: this.disabled, name: this.name, id: identifier, role: this.role, "aria-labelledby": this.labelId, "aria-describedby": this.getDescribedBy(), "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, required: this.required }, this.placeholder && (hAsync("option", { key: '5609b3644ed2101cc3854bce7dcb15f5bcc72c79', disabled: true, selected: true, value: "" }, this.placeholder)), !this.processedItems ? (hAsync("option", null, "Virhe valintoja ladattaessa. P\u00E4ivit\u00E4 sivu ja kokeile uusiksi.")) : (this.processedItems.map(item => {
23566
23907
  return isOptionGroup(item) ? this.renderOptionGroup(item) : this.renderOption(item);
23567
- }))), hAsync("div", { key: 'd81915bb17ca09a4ed1ec49be010590ab526f1bd', class: {
23908
+ }))), hAsync("div", { key: 'b720c0d90de10217e72b8871927fe949302bce19', class: {
23568
23909
  "duet-select": true,
23569
23910
  [`duet-select-variation-${this.variation}`]: true,
23570
- }, "aria-hidden": "true" }, hAsync("span", { key: this.value, class: "duet-select-selected-value" }, this.getSelectedItemLabel()), (this.variation === "default" && (hAsync("svg", { key: 'ba3694a78ef77659a7590e37b5dcba1f45a2b13d', role: "img", class: "duet-select-icon", fill: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, hAsync("path", { key: 'de4080cef2281d70764f02d5f0218fa4c15e8d0b', 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("duet-icon", { key: '0787be25e87ce14407892b6c6fa020e9eac367f7', theme: this.theme, name: "action-arrow-down-small", color: "currentColor", margin: "none", size: this.variation === "compact" ? "xxx-small" : "xx-small" }))), hAsync("span", { key: '3e6af5e4df0aa4db79dac1274402f56787d90e47', class: "duet-keep-container-height", role: "presention", "aria-hidden": "true" }, "_")), hAsync("span", { key: '29a4602a5757f066eb9827906e3629488da9b492', class: "duet-select-help", id: this.errorId, "aria-live": this.accessibleLiveError, "aria-atomic": "true", "aria-relevant": "additions removals" }, this.error && hAsync("span", { key: '496ed4e875ea72afb3074e2f4da4e2682bc6696c', class: "duet-select-error" }, this.error)))));
23911
+ }, "aria-hidden": "true" }, hAsync("span", { key: this.value, class: "duet-select-selected-value" }, this.getSelectedItemLabel()), (this.variation === "default" && (hAsync("svg", { key: '90a28c7ccb87098d9f4963e4b633f9ed73ce135d', role: "img", class: "duet-select-icon", fill: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, hAsync("path", { key: 'aaf93f626f11f884d04a8ada7ac4c822859429a1', 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("duet-icon", { key: '2bed857103ccb9dc5f21ef9c161afec22e38d417', theme: this.theme, name: "action-arrow-down-small", color: "currentColor", margin: "none", size: this.variation === "compact" ? "xxx-small" : "xx-small" }))), hAsync("span", { key: 'af52dc23224f33ed088274a5c2561508217ba5df', class: "duet-keep-container-height", role: "presention", "aria-hidden": "true" }, "_")), hAsync("span", { key: '68d71610557182c9be1913478e6177b7a66388ab', class: "duet-select-help", id: this.errorId, "aria-live": this.accessibleLiveError, "aria-atomic": "true", "aria-relevant": "additions removals" }, this.error && hAsync("span", { key: 'e49610ecbba0ae7e275e182bdfc0941d1870cdbb', class: "duet-select-error" }, this.error)))));
23571
23912
  }
23572
23913
  get element() { return getElement(this); }
23573
23914
  static get watchers() { return {
@@ -23647,9 +23988,9 @@ class DuetShapedImage {
23647
23988
  const style = {
23648
23989
  "--rotation": `${this.rotation}deg`,
23649
23990
  };
23650
- return (hAsync(Host, { key: '27f36b3527731cc1d47a65655e150c963b9a23d9', class: { "duet-theme-turva": this.theme === "turva", "duet-m-0": this.margin === "none" } }, hAsync("span", { key: 'b3d7bf5649da0a77e9bee42baab54840e47f9505', class: {
23991
+ return (hAsync(Host, { key: 'bc7cef36e9635c521aaabfc2fb434aeb06162417', class: { "duet-theme-turva": this.theme === "turva", "duet-m-0": this.margin === "none" } }, hAsync("span", { key: 'dee81d6f9a48a4c8f09778feb1629e37ef7e5309', class: {
23651
23992
  "shaped-image": true,
23652
- }, role: "img", "aria-label": this.accessibleLabel, style: style }, hAsync("span", { key: '84fe60ad6ee4fdcc2544b07c5c07a214cf5efb15', class: "shaped-image-mask", role: "presentation" }, hAsync("span", { key: 'edb1df30260d26bb87ef59a97aa031c97e4dce6d', class: "shaped-image-img", role: "presentation", style: { backgroundImage: `url("${this.src}")` } })))));
23993
+ }, role: "img", "aria-label": this.accessibleLabel, style: style }, hAsync("span", { key: 'c585a6c401f0dff23dfa95452fdafc5c1a6a6473', class: "shaped-image-mask", role: "presentation" }, hAsync("span", { key: 'b2d811551b33952948948abb7d5abc4d34a6a129', class: "shaped-image-img", role: "presentation", style: { backgroundImage: `url("${this.src}")` } })))));
23653
23994
  }
23654
23995
  static get style() { return duetShapedImageCss; }
23655
23996
  static get cmpMeta() { return {
@@ -23719,12 +24060,12 @@ class DuetShareChart {
23719
24060
  this.itemsTotalValue = this.items.reduce((total, { value }) => total + value, 0);
23720
24061
  }
23721
24062
  render() {
23722
- return (hAsync(Host, { key: 'c22523d7e91ce5ef59f5553ed847309cc45c9499' }, hAsync("div", { key: '9aa4f2e4c117c5f7c30bce27585c7abc4d5568ea', class: "duet-share-chart-horizontal-bar", role: "presentation" }, this.items
24063
+ return (hAsync(Host, { key: '89abfd2c95426a08eedbb1d09d4394ea0267868b' }, hAsync("div", { key: 'cbdab21514d3ebb70be42df8b110026cc09230e0', class: "duet-share-chart-horizontal-bar", role: "presentation" }, this.items
23723
24064
  .filter(i => !!i.value)
23724
24065
  .map(item => (hAsync("span", { class: "duet-share-chart-share", style: {
23725
24066
  width: `${(item.value / this.itemsTotalValue) * 100}%`,
23726
24067
  backgroundColor: getColorByName(item.color, this.theme),
23727
- } })))), hAsync("ul", { key: '428d17dde9185b071455325d5d2195618f4a0267', class: "duet-share-chart-item-list" }, this.items.map(item => (hAsync("li", { class: { "duet-theme-turva": this.theme === "turva" } }, hAsync("span", { class: "duet-share-chart-item-color", style: { background: getColorByName(item.color, this.theme) } }), hAsync("span", { class: "duet-share-chart-item-text" }, item.text, ":"), hAsync("span", { class: "duet-share-chart-item-value" }, "\u00A0", formatNumber(item.value), "\u00A0", this.unit), this.unit !== "%" && (hAsync("duet-visually-hidden", null, `${formatNumber((item.value / this.itemsTotalValue) * 100, 0)} %`)))))), hAsync("slot", { key: '2f394e013dfe0a533524bef6f0649f57d1c2d957' })));
24068
+ } })))), hAsync("ul", { key: 'b4a9f997fc34340201a694935403f61fae0d7af8', class: "duet-share-chart-item-list" }, this.items.map(item => (hAsync("li", { class: { "duet-theme-turva": this.theme === "turva" } }, hAsync("span", { class: "duet-share-chart-item-color", style: { background: getColorByName(item.color, this.theme) } }), hAsync("span", { class: "duet-share-chart-item-text" }, item.text, ":"), hAsync("span", { class: "duet-share-chart-item-value" }, "\u00A0", formatNumber(item.value), "\u00A0", this.unit), this.unit !== "%" && (hAsync("duet-visually-hidden", null, `${formatNumber((item.value / this.itemsTotalValue) * 100, 0)} %`)))))), hAsync("slot", { key: 'a9cf601d34533e368d69ddc7f40adbc0b9c5b413' })));
23728
24069
  }
23729
24070
  get element() { return getElement(this); }
23730
24071
  static get style() { return duetShareChartCss; }
@@ -23751,7 +24092,7 @@ class DuetShareChartItem {
23751
24092
  this.value = 0;
23752
24093
  }
23753
24094
  render() {
23754
- return (hAsync(Host, { key: 'fb5eafa552f0f72600a3cec4b325ce891073f5bb' }, hAsync("div", { key: 'b982b99b868fee7e0211a9b0dba7306eb2615874', hidden: true }, hAsync("slot", { key: 'e8501789a378faa695408b024dd6d7c83aa3c1c9' }))));
24095
+ return (hAsync(Host, { key: 'aa8f13f668d97b03cbe5aefed617945493e9cb95' }, hAsync("div", { key: '11e8bc3d3a5ac3139982782b8f1eb6b8a3503c7f', hidden: true }, hAsync("slot", { key: '005ad83f4d9dfb8577d850b61772efc58f06abba' }))));
23755
24096
  }
23756
24097
  get element() { return getElement(this); }
23757
24098
  static get cmpMeta() { return {
@@ -23901,12 +24242,12 @@ class DuetShowMore {
23901
24242
  * Always the last one of the class.
23902
24243
  */
23903
24244
  render() {
23904
- return (hAsync(Host, { key: 'a43de6a4bae0a8c38852a11a7b384b7f104ec024' }, hAsync("div", { key: '74f8d429039d38ea1151aeab159f34cfed375df6', class: {
24245
+ return (hAsync(Host, { key: 'd09f18e15e280f4a09bae1d89d8eb471c4b885a3' }, hAsync("div", { key: '949dbbcd73eb37252f098b4bc3e169ec0e3adc5b', class: {
23905
24246
  "duet-show-more": true,
23906
24247
  "duet-theme-turva": this.theme === "turva",
23907
24248
  "duet-m-0": this.margin === "none",
23908
24249
  open: this.open,
23909
- } }, hAsync("div", { key: 'ec6fcb6addd5b4a40b56a5daae3f3a0aeba6d872', ref: ref => (this.contentElement = ref), class: { content: true, "duet-theme-turva": this.theme === "turva" }, id: this.contentId, tabindex: this.open ? "-1" : "" }, hAsync("div", { key: '1c5bb72f5086f835a944bbe4dac71a8d47a77367', class: { "slotted-content": true } }, hAsync("slot", { key: 'e89b3fa40066fc91297a0acca877ecd297ef0a62' }))), hAsync("duet-button", { key: 'b957cad1b16adb85490f6c4e96a739f0038c0bbb', id: this.buttonId, variation: "plain", "accessible-label": this.buttonAriaOpen ? this.showLessAccessibleLabel : this.showMoreAccessibleLabel, "accessible-expanded": this.buttonAriaOpen ? "true" : "false", "accessible-controls": this.contentId, accessiblePressed: this.isSafariBrowser ? this.open : null, onClick: this.handleClick, onKeyDown: this.handleKeyDown, "icon-right": true, icon: this.open ? "action-arrow-up-small" : "action-arrow-down-small", "icon-size": "medium-small", size: "small", margin: this.buttonMargin, padding: this.buttonPadding, theme: this.theme === "turva" ? "turva" : "default" }, hAsync("span", { key: 'a7c76ec6d98b5644601d2caa1d21306fa127fef9' }, this.open ? this.showLessLabel : this.showMoreLabel)))));
24250
+ } }, hAsync("div", { key: '5c78082532033803e3d40d1b855b73eb03b91416', ref: ref => (this.contentElement = ref), class: { content: true, "duet-theme-turva": this.theme === "turva" }, id: this.contentId, tabindex: this.open ? "-1" : "" }, hAsync("div", { key: 'ee8ff8232b890ccc701009ceec3c1949f63c1298', class: { "slotted-content": true } }, hAsync("slot", { key: '8c48e2cf5d3b4c62e03b1ebf3486041f30bd92dd' }))), hAsync("duet-button", { key: 'f310b7cc5c62fd6300054a8147d0b8733ca6dee7', id: this.buttonId, variation: "plain", "accessible-label": this.buttonAriaOpen ? this.showLessAccessibleLabel : this.showMoreAccessibleLabel, "accessible-expanded": this.buttonAriaOpen ? "true" : "false", "accessible-controls": this.contentId, accessiblePressed: this.isSafariBrowser ? this.open : null, onClick: this.handleClick, onKeyDown: this.handleKeyDown, "icon-right": true, icon: this.open ? "action-arrow-up-small" : "action-arrow-down-small", "icon-size": "medium-small", size: "small", margin: this.buttonMargin, padding: this.buttonPadding, theme: this.theme === "turva" ? "turva" : "default" }, hAsync("span", { key: '059e01e1c0ea1424eaac85471b3d4a80258f3aec' }, this.open ? this.showLessLabel : this.showMoreLabel)))));
23910
24251
  }
23911
24252
  get element() { return getElement(this); }
23912
24253
  static get style() { return duetShowMoreCss; }
@@ -24374,7 +24715,13 @@ class DuetSlideout {
24374
24715
  return;
24375
24716
  }
24376
24717
  const path = ev.composedPath();
24377
- if (!path.includes(this.dialog) && !path.includes(this.openButton)) {
24718
+ const isOneTrustClick = path.some(target => {
24719
+ if (!(target instanceof Element)) {
24720
+ return false;
24721
+ }
24722
+ return Boolean(target.closest("[id^='onetrust-']"));
24723
+ });
24724
+ if (!isOneTrustClick && !path.includes(this.dialog) && !path.includes(this.openButton)) {
24378
24725
  this.toggleMenu(ev);
24379
24726
  }
24380
24727
  }
@@ -24427,17 +24774,17 @@ class DuetSlideout {
24427
24774
  };
24428
24775
  const topLevelOpenMenuBarTranslation = getLocaleString(this.topLevelOpenMenuBarLangObject);
24429
24776
  const exitTranslation = getLocaleString(this.exitLangObject);
24430
- return (hAsync(Host, { key: '688c802695368111aeb4c7ce77fe79bf01386c65' }, hAsync("div", { key: '43fbd950e8cc9b7202640ec050473ad333053b21', class: { "duet-slideout": true, "duet-theme-turva": this.theme === "turva" } }, this.modal && hAsync("duet-overlay", { key: '91156175999730330e4acc54a771525321c5b181', visible: this.open, zIndex: "600" }), hAsync("div", { key: 'f319a1ebdf8063f906a73d7c9cf5f374ac5a0006', ref: element => (this.dialog = element), tabindex: "-1", role: "dialog", id: "dialog", "aria-labelledby": "button", "aria-modal": this.isSafariBrowser ? false : true, "aria-flowto": "slot-container", class: {
24777
+ return (hAsync(Host, { key: '0108b967b88b222c02678c818e16c9b7082e565f' }, hAsync("div", { key: 'ede488f0a452f668d8762bf343aac847202eb4db', class: { "duet-slideout": true, "duet-theme-turva": this.theme === "turva" } }, this.modal && hAsync("duet-overlay", { key: '88e7002a39c769781f72cd680f4aabbf8a75a1af', visible: this.open, zIndex: "600" }), hAsync("div", { key: '7f8a29e110f8be3f4575b66f7d374bd27b6e9eaf', ref: element => (this.dialog = element), tabindex: "-1", role: "dialog", id: "dialog", "aria-labelledby": "button", "aria-modal": this.isSafariBrowser ? false : true, "aria-flowto": "slot-container", class: {
24431
24778
  dialog: true,
24432
24779
  hidden: !this.open,
24433
24780
  modal: this.modal,
24434
- }, style: styles }, hAsync(FocusGuard, { key: '4948808956e87089ea34a36fdb38d18dda0e344f', moveFocusTo: this.closeButton }), hAsync("div", { key: 'b92d3796bbfb8710a1caff98a651ae25a0200f70', class: { "top-container": true, "has-sticky-header-slot": this.hasStickyHeaderSlot } }, hAsync("div", { key: '37d6a16746c2dcfddf692c6fea31eccac6dce80b', class: "top" }, hAsync("button", { key: '813ace204147dc026a6984dec194b30c6b65383b', ref: element => (this.closeButton = element), "aria-haspopup": "dialog", "aria-controls": "dialog", "aria-expanded": this.open ? "true" : "false", "aria-label": `${exitTranslation}`, type: "button", class: {
24781
+ }, style: styles }, hAsync(FocusGuard, { key: 'e62a77fddb1231b075f5cd54cd1b882fe7d61976', moveFocusTo: this.closeButton }), hAsync("div", { key: 'e6a1feee906e95af23c3f41c5a0b6871d8196a45', class: { "top-container": true, "has-sticky-header-slot": this.hasStickyHeaderSlot } }, hAsync("div", { key: 'a91a16a339b6c51b7d34d4eb594c318662bf9a8d', class: "top" }, hAsync("button", { key: 'daa5d0a898487a3da98b911c4ca57f5a4608d242', ref: element => (this.closeButton = element), "aria-haspopup": "dialog", "aria-controls": "dialog", "aria-expanded": this.open ? "true" : "false", "aria-label": `${exitTranslation}`, type: "button", class: {
24435
24782
  "slideout-close": true,
24436
24783
  active: this.open,
24437
24784
  "duet-theme-turva": this.theme === "turva",
24438
- }, onClick: this.onClick, inert: this.openPanel }, hAsync("duet-icon", { key: '93577566dd1ab3865aa1e822504020ac2ccea7b8', name: "navigation-close", size: "small", margin: "none", color: "secondary" }))), hAsync("div", { key: '05fd3bd597b67cdb15940ab2ab7192d88039076d', class: "sticky-header" }, hAsync("slot", { key: '18aa41a6860b850a23413df91c17ab157812b074', name: "sticky-header" }))), hAsync("div", { key: 'c556058c1476e48980795e75714d9322d0a83397', id: "slot-container", role: this.accessibleRole, "aria-label": this.openPanel ? topLevelOpenMenuBarTranslation : null, class: {
24785
+ }, onClick: this.onClick, inert: this.openPanel }, hAsync("duet-icon", { key: '85ca78592d2f03801c02b30b2e23ca8153ebf7af', name: "navigation-close", size: "small", margin: "none", color: "secondary" }))), hAsync("div", { key: '9c3b0cb1ca5f6528f62023b180903017fe8e7a08', class: "sticky-header" }, hAsync("slot", { key: '6e09d463fbe87684f26f1bd778b9beaeeb105cae', name: "sticky-header" }))), hAsync("div", { key: 'f8d0792c76b29d516beae014bbc4468b884370c4', id: "slot-container", role: this.accessibleRole, "aria-label": this.openPanel ? topLevelOpenMenuBarTranslation : null, class: {
24439
24786
  items: true,
24440
- } }, hAsync("slot", { key: 'b0b0551fa20865b54092c9dedbe416590bdb6344' })), hAsync(FocusGuard, { key: '3f650d271ea8bb3c029e9d75c7dfba1742a88d3e', moveFocusTo: this.closeButton })))));
24787
+ } }, hAsync("slot", { key: '334688b5dee96e633747c6a8c38f5a5da6677e13' })), hAsync(FocusGuard, { key: '129eea547ce75a8325c6aed5d3bccd6f6b380d9f', moveFocusTo: this.closeButton })))));
24441
24788
  }
24442
24789
  get element() { return getElement(this); }
24443
24790
  static get watchers() { return {
@@ -24507,7 +24854,7 @@ class DuetSlideoutLang {
24507
24854
  */
24508
24855
  render() {
24509
24856
  const langTranslation = getLocaleString(this.chooseLangObject);
24510
- return (hAsync(Host, { key: '8847b4894f616c58b889e51d183c71ec672554fc' }, hAsync("div", { key: '86a6652e67569a898f9aceea571fd656ae22bfa6', class: "duet-slideout-lang", role: "group", "aria-label": langTranslation }, hAsync("duet-icon", { key: '038bdf514daccd3f28a27ad0225f4a46ea84ecea', name: "navigation-language", margin: "none", color: "secondary", size: "small" }), hAsync("slot", { key: '49e912e3e178c2d4c3042c4d9d1ae39991bbef52' }))));
24857
+ return (hAsync(Host, { key: '110365f6f4eb9258855cfc4f936a4953a56f2309' }, hAsync("div", { key: '5553f593915deb08fb2f3cbe1ca6b9271253aabf', class: "duet-slideout-lang", role: "group", "aria-label": langTranslation }, hAsync("duet-icon", { key: '217672b8691657d2854df050f6cb56a794011fcf', name: "navigation-language", margin: "none", color: "secondary", size: "small" }), hAsync("slot", { key: 'c43b3dc4a59d9b0cb5b3a765742b6671ae6f5125' }))));
24511
24858
  }
24512
24859
  get element() { return getElement(this); }
24513
24860
  static get style() { return duetSlideoutLangCss; }
@@ -24597,12 +24944,12 @@ class DuetSlideoutLink {
24597
24944
  * Always the last one in the class.
24598
24945
  */
24599
24946
  render() {
24600
- return (hAsync(Host, { key: 'eca2104ff848dfd3c52bab08c4377d19e374d13d' }, hAsync("a", { key: '9915adbb807d80081d2d791f36926a5b8a6b2a3e', target: !this.href ? null : this.external ? "_blank" : "_self", class: {
24947
+ return (hAsync(Host, { key: 'dc6e16cb08fd3e309601ebfe4bd1b64cdb83fa3c' }, hAsync("a", { key: '565a7243cf494ed6e8ec78435b3b90490dfae422', target: !this.href ? null : this.external ? "_blank" : "_self", class: {
24601
24948
  "duet-slideout-link": true,
24602
24949
  "duet-theme-turva": this.theme === "turva",
24603
24950
  active: this.active,
24604
24951
  [this.size]: true,
24605
- }, href: this.href, "aria-current": this.active ? "true" : "false", lang: this.targetLanguage, hreflang: this.targetLanguage, "aria-label": (this.href && getAccessibleLinkLabel(this)) || this.accessibleLabel, rel: this.external ? "noopener" : undefined }, this.icon && (hAsync("duet-icon", { key: 'eabe8fda17546094fafc6fa4a253e05c63fc1938', name: this.icon, color: "secondary", size: this.menuItem ? "x-small" : "small", margin: "none" })), hAsync("div", { key: '98d30980e7ac325c36be8bb86b788d60cd36831d', class: "label" }, hAsync("span", { key: '7f96584e0ee24069a7cc9afc2649d3a0a7fe8758' }, hAsync("span", { key: '2b844eb1ae6ff0f7215e7979776c673e6f1accfb', class: "label-container" }, hAsync("span", { key: 'd6de09afc6dbb0cfd6855f98e34c6b7b0b2c6421', class: "label-content" }, hAsync("slot", { key: 'ef0c11c80556e88596d115ef534f86cc044362f8' })), this.external && (hAsync("duet-icon", { key: 'ffe4c9d8a90105199e4a79702847705f958adf00', class: "external-icon", theme: this.theme, name: newWindowIcon.title, margin: "none", size: "auto", color: "currentColor" }))), hAsync("slot", { key: 'd329594665a0964175ea0872747342f4e070227d', name: "description" })), this.caret && (hAsync("duet-icon", { key: 'aafabb173724e1a6b736f289a7d76582f03f78c4', name: "action-arrow-right", color: "secondary", size: "x-small", margin: "none" }))))));
24952
+ }, href: this.href, "aria-current": this.active ? "true" : "false", lang: this.targetLanguage, hreflang: this.targetLanguage, "aria-label": (this.href && getAccessibleLinkLabel(this)) || this.accessibleLabel, rel: this.external ? "noopener" : undefined }, this.icon && (hAsync("duet-icon", { key: '61a9ba050ab811c82ec0f824e2235a4fd3c7bc2b', name: this.icon, color: "secondary", size: this.menuItem ? "x-small" : "small", margin: "none" })), hAsync("div", { key: 'f481a2e77aed5fa8e0781be21f7dd3527fc24532', class: "label" }, hAsync("span", { key: '2e1a3676bac5ea9d24198535c3f56a1913485450' }, hAsync("span", { key: 'c6d4fc5cfab9566872f9f7f442b4171f8e9f3849', class: "label-container" }, hAsync("span", { key: '55332c9a4587cdef32f32cd2e740d2e9edcc19b3', class: "label-content" }, hAsync("slot", { key: '94c66169219750becb8d9f068cd2744cb761bf3c' })), this.external && (hAsync("duet-icon", { key: '5208591ea13aa8bf9b7f90ce40cb858de42a173f', class: "external-icon", theme: this.theme, name: newWindowIcon.title, margin: "none", size: "auto", color: "currentColor" }))), hAsync("slot", { key: '44418b62998ee7874f226014f4cdcd47a454a164', name: "description" })), this.caret && (hAsync("duet-icon", { key: '052f984772e360db9890e2d5259bc8687732c00e', name: "action-arrow-right", color: "secondary", size: "x-small", margin: "none" }))))));
24606
24953
  }
24607
24954
  get element() { return getElement(this); }
24608
24955
  static get style() { return duetSlideoutLinkCss; }
@@ -24779,25 +25126,25 @@ class DuetSlideoutPanel {
24779
25126
  };
24780
25127
  const exitTranslation = getLocaleString(this.exitLangObject);
24781
25128
  const backTranslation = getLocaleString(this.backLangObject);
24782
- return (hAsync(Host, { key: '91e1bfb50346e6f0b7d7b93f6d9cb16e84df9297' }, hAsync("div", { key: '80891454e08a69f87d42ca5879c85a7e1eab6d5c', class: {
25129
+ return (hAsync(Host, { key: 'fbd7429209de850f01c9de0266dc72f3b775b356' }, hAsync("div", { key: '4557fd410088b0964d37d559659dc84775f91c25', class: {
24783
25130
  "duet-slideout-panel": true,
24784
25131
  "duet-theme-turva": this.theme === "turva",
24785
25132
  active: this.open,
24786
- } }, this.badge && hAsync("duet-indicator", { key: '2dc9f2f3b5eebbc44158f9c7795ee2e9dadbfeef', variation: "change" }), hAsync("button", { key: '86db5918e585201320c57a8770ab850356bda06b', ref: element => (this.openButton = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", id: "button", type: "button", class: {
25133
+ } }, this.badge && hAsync("duet-indicator", { key: '7752c2550f1db28decc53457ffd25543326252cc', variation: "change" }), hAsync("button", { key: 'ae2c1a996d362e9149fa4ca30ffdab94be68d401', ref: element => (this.openButton = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", id: "button", type: "button", class: {
24787
25134
  link: true,
24788
25135
  active: this.active,
24789
25136
  "duet-theme-turva": this.theme === "turva",
24790
- }, onClick: this.onClick, inert: this.open }, this.icon && (hAsync("div", { key: '635addd38144863b546edd4d8792a26d4e8dd3c4', class: "duet-slideout-icon" }, hAsync("duet-icon", { key: '3610a7e6ebcdf22fe198e4428538d559599c79c0', name: this.icon, size: "small", margin: "none", color: "secondary" }))), hAsync("span", { key: '9b4d70cc570113c1e667ced944bccae1e4613398', class: "label" }, hAsync("span", { key: '6f16630f451ef9ebd920462cd81df2cf92ab5312', class: { "label-text": true, [this.labelSize]: true } }, hAsync("slot", { key: '80688a824da754215dcbfcd668ff8144880147d1', name: "label" })), hAsync("duet-icon", { key: '205d74fef784d3db602fcccf61ba49dfb5995317', class: "caret", name: "action-arrow-right", margin: "none", size: "x-small", color: "secondary" }))), hAsync("div", { key: '5be9dab7afdb48916100c5bfb8242eb061ba6c96', ref: element => (this.dialog = element), class: {
25137
+ }, onClick: this.onClick, inert: this.open }, this.icon && (hAsync("div", { key: 'cbca67b1ec025b984b94bef89fadc9cc1da7d23f', class: "duet-slideout-icon" }, hAsync("duet-icon", { key: 'b741ec1ced8ffb83a771d8d2594dc53fc03c0f6d', name: this.icon, size: "small", margin: "none", color: "secondary" }))), hAsync("span", { key: 'a1357fa71e1c4a68a9cc68fe44e0b583aa99e6b9', class: "label" }, hAsync("span", { key: '74d6c5d655727bc16f27783ceb6bdb987f0db273', class: { "label-text": true, [this.labelSize]: true } }, hAsync("slot", { key: '59649775a8186f71318b4eb15234c9ab653e4e0a', name: "label" })), hAsync("duet-icon", { key: '4d04a7b2554356e55c9771f626f7ddec2c0d0b6c', class: "caret", name: "action-arrow-right", margin: "none", size: "x-small", color: "secondary" }))), hAsync("div", { key: 'a85b7f26f2c8742f9508fabc33a762814efe2c26', ref: element => (this.dialog = element), class: {
24791
25138
  dialog: true,
24792
25139
  hidden: !this.open,
24793
- }, style: styles }, hAsync(FocusGuard, { key: 'ad7c4a34db3120b40ed51061125f05d69017b342', moveFocusTo: this.closeButton }), hAsync("div", { key: 'af56281cf6a0a4c7355f48d17b66c5495e7982f9', class: { "top-container": true, "has-sticky-header-slot": this.hasStickyHeaderSlot } }, hAsync("div", { key: '676eca91428ce8439e68da74b59a0bc8d393f5a5', class: "top" }, hAsync("button", { key: '2d8f3d984de8ca1efccc191115b7657a455c5ef9', ref: element => (this.closeButton = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-label": `${backTranslation}`, type: "button", class: {
25140
+ }, style: styles }, hAsync(FocusGuard, { key: 'd490bd8e05eba04f62fec39b3adc4a1eccbec6f2', moveFocusTo: this.closeButton }), hAsync("div", { key: 'fe6122ebc2685c788677e117e1d4f5867187f00e', class: { "top-container": true, "has-sticky-header-slot": this.hasStickyHeaderSlot } }, hAsync("div", { key: '4ef75f568f7dba81c6f83a78a3ec3d7bcd752d05', class: "top" }, hAsync("button", { key: '279bc9fa5744a2fa5ca47ac96c668dde6e2b0191', ref: element => (this.closeButton = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-label": `${backTranslation}`, type: "button", class: {
24794
25141
  back: true,
24795
25142
  "duet-theme-turva": this.theme === "turva",
24796
- }, onClick: this.onClick }, hAsync("duet-icon", { key: 'f4d1be2b1157d12fff10e9f84eb7905d93091e79', class: "caret", name: "action-arrow-left", margin: "none", size: "small", color: "secondary" })), hAsync("span", { key: '2e0426bee359ed9f3ccf9f044e9c751924003a5c' }, this.label.innerHTML), hAsync("button", { key: 'f4edf9a9df667475a3c00b214e134bce7d9d7ae9', class: { close: true, "duet-theme-turva": this.theme === "turva" }, type: "button", onClick: this.onCloseClick, "aria-label": `${exitTranslation}` }, hAsync("duet-icon", { key: '548ed5fadb9216137fcdc0762b35454ceb21c8d4', name: "navigation-close", size: "small", margin: "none", color: "secondary" }))), hAsync("div", { key: '923603a20dbab28d51a376a9c252c35e33803880', class: "sticky-header" }, hAsync("slot", { key: '07e15709effbee9950d36f03dd91e73b7e9ab336', name: "sticky-header" }))), hAsync("div", { key: '7e63e1cd014106736bb712c20023f62245e43486', tabindex: "-1", role: "menu",
25143
+ }, onClick: this.onClick }, hAsync("duet-icon", { key: '75687b7eab0a837dd81ad953a94e140c841de384', class: "caret", name: "action-arrow-left", margin: "none", size: "small", color: "secondary" })), hAsync("span", { key: 'f9e44d04288188dfc6d48daf73fa55db5a813800' }, this.label.innerHTML), hAsync("button", { key: 'b545c269d0be2c72fd8b09dbda7774e867965077', class: { close: true, "duet-theme-turva": this.theme === "turva" }, type: "button", onClick: this.onCloseClick, "aria-label": `${exitTranslation}` }, hAsync("duet-icon", { key: '7953b1dc8766021775b78886a787f860a43d5a47', name: "navigation-close", size: "small", margin: "none", color: "secondary" }))), hAsync("div", { key: '1a9ae12c349d77a5fa2431bc4ff4ef67ac7cfb17', class: "sticky-header" }, hAsync("slot", { key: '83ff1bb883c4b4dc691fb66feb4d94d184deb0b1', name: "sticky-header" }))), hAsync("div", { key: 'cfdbea08a5a492608a7c51a114584d225fb9463a', tabindex: "-1", role: "menu",
24797
25144
  //TODO: slideout menu fades out, needs to be instant
24798
25145
  id: "menu", "aria-labelledby": "button", class: {
24799
25146
  items: true,
24800
- } }, hAsync("slot", { key: 'fa18b91a1114433c57ecd566934f505e9fc62cf5' })), hAsync(FocusGuard, { key: '7251452b17bbdfd8978f302bfde0e33991b39465', moveFocusTo: this.closeButton })))));
25147
+ } }, hAsync("slot", { key: 'add52c19cb2d07b884cf89221c7d274e8568a8b9' })), hAsync(FocusGuard, { key: '5edef9782dbb6e21f309050ffde3aefe3fbacbea', moveFocusTo: this.closeButton })))));
24801
25148
  }
24802
25149
  get element() { return getElement(this); }
24803
25150
  static get watchers() { return {
@@ -24878,18 +25225,18 @@ class DuetSlideoutPanelDropdown {
24878
25225
  * Always the last one in the class.
24879
25226
  */
24880
25227
  render() {
24881
- return (hAsync(Host, { key: '74023ff3094ea4e1867ae58690abaa3f338053e7' }, hAsync("div", { key: '0a0de8be47b2d48bc9f0c1564d458af29ee2e05f', class: {
25228
+ return (hAsync(Host, { key: 'd9d5a0fb10d7b741720abfb3a6d2c89d9ef8703c' }, hAsync("div", { key: '28fbb84a7341bbb0eb2943f886ba4ef4f4c2b3f0', class: {
24882
25229
  "duet-slideout-panel-dropdown": true,
24883
25230
  "duet-theme-turva": this.theme === "turva",
24884
25231
  active: this.open,
24885
- } }, hAsync("button", { key: '887b98839351d36434969447057013fd8e7614ed', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", id: "button", type: "button", class: {
25232
+ } }, hAsync("button", { key: 'eb769cad3c4b9c6cd6e55278a2a764ddfac78251', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", id: "button", type: "button", class: {
24886
25233
  active: this.active,
24887
25234
  "duet-theme-turva": this.theme === "turva",
24888
- }, onClick: this.onClick }, this.icon && hAsync("duet-icon", { key: 'a3d25c295dd87dd7d7427c08776e74f93ff06539', name: this.icon, size: "small", margin: "none", color: "secondary" }), hAsync("span", { key: 'f5721ac3bf32dc5d3a02c06c3945169f5191b8bf', class: "label" }, hAsync("slot", { key: '408ea11afbdc9705cf7d972f6173ba5215f06bec', name: "label" }), hAsync("duet-icon", { key: 'eba692bfd3ada8bbfdbe9eb6e51a01054f6f919a', class: "caret", name: "action-arrow-down-small", margin: "none", size: "xx-small", color: "secondary" }))), hAsync("div", { key: '13c263ac376bd1b412ba8c57aec55504da08557d', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
25235
+ }, onClick: this.onClick }, this.icon && hAsync("duet-icon", { key: 'd78b626a5ff04513b4c5f706ffbc897a09d5c6d6', name: this.icon, size: "small", margin: "none", color: "secondary" }), hAsync("span", { key: '4462c0ff6f10990d7c7831038b2aa8216089ad1c', class: "label" }, hAsync("slot", { key: '789471a218c9e6e78f3b6e17290ba28b9310992d', name: "label" }), hAsync("duet-icon", { key: '58a41b48fe383657c7ec09139c31945c6b51d7b1', class: "caret", name: "action-arrow-down-small", margin: "none", size: "xx-small", color: "secondary" }))), hAsync("div", { key: 'b6126db96949f78288a01e35d3b7b266fef58ce8', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
24889
25236
  items: true,
24890
25237
  hidden: !this.open,
24891
25238
  "duet-theme-turva": this.theme === "turva",
24892
- } }, hAsync("slot", { key: 'f582b50dca9e8127b6c4f0b6f9507f74f337ce7d' })))));
25239
+ } }, hAsync("slot", { key: 'df9daef8ce3c9cb1b147c3d4797afce38b454d4a' })))));
24893
25240
  }
24894
25241
  get element() { return getElement(this); }
24895
25242
  static get style() { return duetSlideoutPanelDropdownCss; }
@@ -24933,7 +25280,7 @@ class DuetSpacer {
24933
25280
  * Always the last one in the class.
24934
25281
  */
24935
25282
  render() {
24936
- return (hAsync(Host, { key: 'f2f4fa377c08b91ba94544d234bc8ab55c8b35b5', class: {
25283
+ return (hAsync(Host, { key: 'b494dd7486aac50ad7c79b76b0476a66fb197a89', class: {
24937
25284
  "duet-spacer": true,
24938
25285
  "duet-spacer-xx-small": this.breakpoint === "xx-small",
24939
25286
  "duet-spacer-x-small": this.breakpoint === "x-small",
@@ -24988,7 +25335,7 @@ class DuetSpinner {
24988
25335
  */
24989
25336
  render() {
24990
25337
  const color = !!this.color && this.color === "currentColor" ? "currentColor" : getColorByName(this.color, this.theme);
24991
- return (hAsync(Host, { key: '3bbc28212f0bf2540d28e5c1ed4cedbd263e8116' }, hAsync("div", { key: '34642338087cdd238bf2d2d68f57562b5f675745', class: {
25338
+ return (hAsync(Host, { key: 'f8c4a6b68356300f7738d2c59038d47abdf54124' }, hAsync("div", { key: 'a8aeaf976bec157057a095337bcad89d26eebd8a', class: {
24992
25339
  "duet-spinner": true,
24993
25340
  [this.size]: true,
24994
25341
  "duet-theme-turva": this.theme === "turva",
@@ -25096,11 +25443,11 @@ class DuetStatusIcon {
25096
25443
  }
25097
25444
  }
25098
25445
  render() {
25099
- return (hAsync(Host, { key: 'fe9932329bfad00f4231a2e669de3e74a1cd08cd', class: {
25446
+ return (hAsync(Host, { key: '5ac9742af4e473a663ebf16a972686ae4f68f3a3', class: {
25100
25447
  [`duet-status-icon-${this.getVariation()}`]: true,
25101
25448
  "duet-strong-bg": this.strong,
25102
25449
  "duet-m-0": this.margin === "none",
25103
- } }, hAsync("duet-icon", { key: '8fe84ccddba21b625e955f9a4ab07204eab192bb', icon: this.getIcon(), size: this.size, margin: "none" })));
25450
+ } }, hAsync("duet-icon", { key: 'b0dcc778049ee9d2877e6a27019f288de08693b9', icon: this.getIcon(), size: this.size, margin: "none" })));
25104
25451
  }
25105
25452
  static get style() { return duetStatusIconCss; }
25106
25453
  static get cmpMeta() { return {
@@ -25222,13 +25569,13 @@ class DuetStep {
25222
25569
  * Always the last one in the class.
25223
25570
  */
25224
25571
  render() {
25225
- return (hAsync("div", { key: '3204237f7f65d0f7e40d171da59beae2438d0b73', class: {
25572
+ return (hAsync("div", { key: '37dcde2a09c0e543e37af2938511c4e872d5cae3', class: {
25226
25573
  "duet-step": true,
25227
25574
  [`is-${this.state}`]: true,
25228
25575
  "rounded-top": this.roundedTop,
25229
25576
  "rounded-bottom": this.roundedBottom,
25230
25577
  "duet-theme-turva": this.theme === "turva",
25231
- } }, hAsync("div", { key: '144dc2c4f67e3ab88437ba11dbe665d8d938e998', class: "duet-step-heading", id: this.buttonId, role: this.state !== "current" ? "button" : "region", "aria-current": this.state === "current" ? "step" : undefined, tabindex: this.state !== "current" ? "0" : undefined, "aria-disabled": this.isClickDisabled().toString(), "aria-expanded": (this.state === "current").toString(), "aria-controls": this.contentId, "aria-selected": (this.state === "current").toString(), onClick: this.handleClick, onKeyDown: this.handleKeyDown, ref: element => (this.buttonElement = element) }, hAsync("div", { key: '3a16cbf1b403adb015eafda7d8768e17eae7fb40', "aria-hidden": "true" }, hAsync("div", { key: '8ee2d9f18fcef2d1cdb2ad43cf8a41c5615b4765', class: "duet-step-counter" }, this.renderStepCounter())), hAsync("duet-spacer", { key: '0dd226292f09ae93ba5ca9bde08511982771fe15', direction: "horizontal", size: "large", breakpoint: "small" }), hAsync("duet-spacer", { key: 'd2fea319dfc6db59b1aaba216a913c3a8e9e81e8', direction: "horizontal", size: "medium", breakpoint: "x-small" }), hAsync("div", { key: '7c3dee5bf9df62db35cbe5896551062c482d8b3e' }, hAsync("duet-heading", { key: '27d4325d36f4f0621af0bf633fe3de821822d4bc', theme: this.theme, level: this.headingLevel, visualLevel: "h4", color: this.headingColor(), margin: "none" }, this.heading)), hAsync("duet-spacer", { key: 'f0e367883df25339d1882ebe17ff56c3555d4cd1', direction: "horizontal", size: "large" }), hAsync("div", { key: 'f4313eed84ca3fe24272ce59a59b711169c4c0a8', class: "duet-step-heading-slot" }, hAsync("slot", { key: 'a06a67c70d672288b7ef3f76149561fe5200ed99', name: "heading-content" }))), hAsync("div", { key: '62b81bf1127a74bd5fb1cec4b0aa1e9c706d2038', class: "duet-step-content-wrapper" }, hAsync("div", { key: 'c46f37355b38f10b1dc182108cae7f444025246d', class: "duet-step-content", role: "region", "aria-labelledby": this.buttonId, id: this.contentId }, hAsync("slot", { key: 'f08a916f605a7227add9fdb0bd4f6ede0719ec02' })))));
25578
+ } }, hAsync("div", { key: '60cc26eaba669788bb129ee58c8396455bcbe98e', class: "duet-step-heading", id: this.buttonId, role: this.state !== "current" ? "button" : "region", "aria-current": this.state === "current" ? "step" : undefined, tabindex: this.state !== "current" ? "0" : undefined, "aria-disabled": this.isClickDisabled().toString(), "aria-expanded": (this.state === "current").toString(), "aria-controls": this.contentId, "aria-selected": (this.state === "current").toString(), onClick: this.handleClick, onKeyDown: this.handleKeyDown, ref: element => (this.buttonElement = element) }, hAsync("div", { key: 'd8bf199c1d4708327bc68f2ca7ca34881e606d9d', "aria-hidden": "true" }, hAsync("div", { key: '85d3a85ac2a10d5d890752aca579d63d307b2b40', class: "duet-step-counter" }, this.renderStepCounter())), hAsync("duet-spacer", { key: '601144eff6f14bb9a339f50496acd851426e42f4', direction: "horizontal", size: "large", breakpoint: "small" }), hAsync("duet-spacer", { key: 'cbee8cd26ef8ff6a7da62b4103ca125f2d507563', direction: "horizontal", size: "medium", breakpoint: "x-small" }), hAsync("div", { key: '98021d88fc8448ed6f6a74b933c7bc0fd8f26ec5' }, hAsync("duet-heading", { key: 'fd4de9e77b6d8bc773ca4431344cf97bdfe136be', theme: this.theme, level: this.headingLevel, visualLevel: "h4", color: this.headingColor(), margin: "none" }, this.heading)), hAsync("duet-spacer", { key: '1da55e5c04eca24aa75cc45977ddaa5d0de92020', direction: "horizontal", size: "large" }), hAsync("div", { key: '300dddded08ecc1b218a501076f95f2fd9b8a233', class: "duet-step-heading-slot" }, hAsync("slot", { key: '7a2cabe2f5d9855beb86893c4b9446217ba7725d', name: "heading-content" }))), hAsync("div", { key: 'f1ea6a3b0bc0c6a2572e6912ec674c42432f5f56', class: "duet-step-content-wrapper" }, hAsync("div", { key: '9bd2104be04904785340ecce44e3b91093555aad', class: "duet-step-content", role: "region", "aria-labelledby": this.buttonId, id: this.contentId }, hAsync("slot", { key: 'fa019373955fff315ba8324a011a6cdc64bdadd1' })))));
25232
25579
  }
25233
25580
  get element() { return getElement(this); }
25234
25581
  static get style() { return duetStepCss; }
@@ -25375,7 +25722,7 @@ class DuetStepper {
25375
25722
  * Always the last one in the class.
25376
25723
  */
25377
25724
  render() {
25378
- return (hAsync(Host, { key: 'f135a9f1ddcc6eaa86acdcdc9d11def0ec489b81', class: { "duet-m-0": this.margin === "none" } }, hAsync("div", { key: 'd68ff41042b6582c21d555e3131054278e9eaf1f', class: { "duet-stepper": true, "duet-theme-turva": this.theme === "turva" } }, hAsync("duet-visually-hidden", { key: '21d8af2f8896f0e5f893f041a2f3010ada1e74c9', "aria-live": "polite", "aria-atomic": "true", "aria-relevant": "all" }, this.formatAnnouncement()), hAsync("slot", { key: 'efe281a3ddce9364e69c5131e7e59e3a9c2bb9d5' }))));
25725
+ return (hAsync(Host, { key: '6f441de1f6aa9336d4981a9727b0a5b79267ce06', class: { "duet-m-0": this.margin === "none" } }, hAsync("div", { key: 'bb37128420e9ec5b31375d46408fa6b201c23a73', class: { "duet-stepper": true, "duet-theme-turva": this.theme === "turva" } }, hAsync("duet-visually-hidden", { key: 'e39cc64f5bcac69f03283de656b47440b8cd6141', "aria-live": "polite", "aria-atomic": "true", "aria-relevant": "all" }, this.formatAnnouncement()), hAsync("slot", { key: '747ef3274ad5dda720a3632086ae1b240e6f30f8' }))));
25379
25726
  }
25380
25727
  get element() { return getElement(this); }
25381
25728
  static get watchers() { return {
@@ -25529,19 +25876,19 @@ class DuetSubmenuBar {
25529
25876
  * Always the last one in the class.
25530
25877
  */
25531
25878
  render() {
25532
- return (hAsync(Host, { key: '463af77c5ac9d7a775876cfc005df160c5e7fdfa' }, hAsync("nav", { key: 'fcbdbfc332d352007b1122ffa65cd6d13012a559', class: {
25879
+ return (hAsync(Host, { key: '3ff35419759d1a9ad9b6bf47beadc27a1e9b4fd5' }, hAsync("nav", { key: '0c4826d0281672c9c4cd38467846e87300693186', class: {
25533
25880
  "duet-submenu-bar": true,
25534
25881
  "duet-theme-turva": this.theme === "turva",
25535
25882
  hidden: this.hidden,
25536
- }, "aria-label": this.accessibleLabel }, this.hasItems && (hAsync("button", { key: '98fadd59813f2aae19d4cb5d4734d73a98d4bb7e', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
25883
+ }, "aria-label": this.accessibleLabel }, this.hasItems && (hAsync("button", { key: '686fb5823190f88c99fb23ef6432ac1585f6ee45', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
25537
25884
  active: this.open,
25538
- }, onClick: this.onClick }, hAsync("span", { key: 'dc38b3df13d3a4d1b4a9c78c53a9fc68b932152e', class: "label" }, hAsync("slot", { key: '128302a4e4c2c6e68d9fd8cb96d1439db8daf800', name: "label" }), hAsync("duet-icon", { key: '0d4d0b35713d68685084568f0f95f1818b8deaca', theme: this.theme, class: "caret", name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" })))), hAsync("div", { key: '7396ba0b29224cfa487e725604ff50dab010cdeb', class: {
25885
+ }, onClick: this.onClick }, hAsync("span", { key: '5f09108a31bcd0f1ddd63396fd305151549aed05', class: "label" }, hAsync("slot", { key: '30e775986f716fbad49c5c6d8470d2fe67e600b4', name: "label" }), hAsync("duet-icon", { key: 'a78cf4548c27b73fcf82844dca0157dbcbf13364', theme: this.theme, class: "caret", name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" })))), hAsync("div", { key: '0194dee3ce095f88700eae27ff5a99868f9078c0', class: {
25539
25886
  "menu-container": true,
25540
25887
  hidden: !this.open,
25541
- }, role: "presentation" }, hAsync("div", { key: '4b5178a06a8933dfb9be60276a1a893158c62aaa', role: this.mobile ? "menu" : null, id: "menu", "aria-labelledby": this.mobile ? "button" : null, "aria-expanded": this.mobile ? (this.open ? "true" : "false") : null, class: {
25888
+ }, role: "presentation" }, hAsync("div", { key: '8a79a253a3d22aa4f5f6d29888ce8ddc4481a495', role: this.mobile ? "menu" : null, id: "menu", "aria-labelledby": this.mobile ? "button" : null, "aria-expanded": this.mobile ? (this.open ? "true" : "false") : null, class: {
25542
25889
  items: true,
25543
25890
  hidden: !this.open,
25544
- }, ref: element => (this.itemsContainer = element) }, hAsync("div", { key: '71ee3de51b625b340635a30fb39292e25ddfc116', class: "list", role: this.mobile ? "presentation" : "list" }, hAsync("slot", { key: '4baa81a1de7c328e826df2f752075a9c4b05af0f' }), hAsync("div", { key: '38b755c720305c3627d82a5e53af380752616396', class: "list-padding" }))), hAsync("duet-overlay", { key: '62afaa179b2175f4c4c6cd56c6773675cffc061c', "keep-stacking-context": true, visible: this.open, "display-device": "not-large", transition: "immediate" })))));
25891
+ }, ref: element => (this.itemsContainer = element) }, hAsync("div", { key: 'abd6d1c3b5be7df89c5e315dda8a2a1261616f01', class: "list", role: this.mobile ? "presentation" : "list" }, hAsync("slot", { key: '45f3b141e48cc834563d75f322a9233fb738e673' }), hAsync("div", { key: '81a672a413497e5e2f5889f8bad070cb7bfd01b7', class: "list-padding" }))), hAsync("duet-overlay", { key: '6a77a27276d5fa07e17f2ca21ec0d62fa1b252f8', "keep-stacking-context": true, visible: this.open, "display-device": "not-large", transition: "immediate" })))));
25545
25892
  }
25546
25893
  get element() { return getElement(this); }
25547
25894
  static get watchers() { return {
@@ -25673,18 +26020,18 @@ class DuetSubmenuBarDropdown {
25673
26020
  * Always the last one in the class.
25674
26021
  */
25675
26022
  render() {
25676
- return (hAsync(Host, { key: 'b08d71c303bbbb5dc488ccb9df3a6606cbcee45f', role: "listitem" }, hAsync("div", { key: 'f27808ba704701f0857e90d8c4474f11f2bd284d', class: {
26023
+ return (hAsync(Host, { key: '9db89f3062b1138f1cbaaacd84a97026ff56c5ff', role: "listitem" }, hAsync("div", { key: '0f9e619dc382e085278c5f36fc978241760b3e70', class: {
25677
26024
  "duet-submenu-bar-dropdown": true,
25678
26025
  "duet-theme-turva": this.theme === "turva",
25679
26026
  open: this.open,
25680
26027
  active: this.active,
25681
- } }, hAsync("button", { key: 'da50cea3b3daea0da483dc01649345a9fcc27d55', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", id: "button", type: "button", class: {
26028
+ } }, hAsync("button", { key: '1ecf4e3ee3775963e103647d5d76c7b4a59d0445', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", id: "button", type: "button", class: {
25682
26029
  open: this.open,
25683
26030
  active: this.active,
25684
- }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (hAsync("duet-icon", { key: '41562541f2cf4bbe9e8d6ccb3214b8fc5b44079f', class: "submenu-bar-dropdown-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), hAsync("div", { key: '8b2782607b3478bc491ce2fa423257d4233968fa', class: "label" }, hAsync("span", { key: '5b22aff9852f284416e15d60b1a262e963ff228e', class: "label-text" }, hAsync("slot", { key: 'aec50191a12adf0fbd6f9e388c2dc09954d21f83', name: "label" })), hAsync("duet-icon", { key: '154795bda221d38ca73b47a86c97da4c6e4d573b', class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), hAsync("div", { key: '574669c2280fa1e7e4d14666f95fbe912a068119', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
26031
+ }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (hAsync("duet-icon", { key: 'a8f70f3768575a3bca672d8918ba83a1077e9603', class: "submenu-bar-dropdown-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), hAsync("div", { key: 'a53417b0ca2642132cf89acfbb1022b593c1a28b', class: "label" }, hAsync("span", { key: '45fca6c9e11c261e27861f263dc2f200e1dfe15a', class: "label-text" }, hAsync("slot", { key: 'cbda020e4fac6600b839cb9c70309914eb80c5eb', name: "label" })), hAsync("duet-icon", { key: 'f4276eaab67b32aec06ce3f1f3b88541ade918f4', class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), hAsync("div", { key: '82c3d5e082beabeb0efc9d240c9d5d921f1b3f45', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
25685
26032
  items: true,
25686
26033
  hidden: !this.open,
25687
- } }, hAsync("slot", { key: '9a69e63aae77e184049ed7d8f7f511d47eca642e' })))));
26034
+ } }, hAsync("slot", { key: '77eaa9506cdf662ffb1d04163e20e1d55d59fec0' })))));
25688
26035
  }
25689
26036
  get element() { return getElement(this); }
25690
26037
  static get style() { return duetSubmenuBarDropdownCss; }
@@ -25753,12 +26100,12 @@ class DuetSubmenuBarDropdownLink {
25753
26100
  * Always the last one in the class.
25754
26101
  */
25755
26102
  render() {
25756
- return (hAsync(Host, { key: '206adf55a559a97afad7c5bc107b46f6a099d8c0' }, hAsync("a", { key: 'a61437b76e1ecd5c7d61b773b0b97fe43c457bc5', class: {
26103
+ return (hAsync(Host, { key: '1f3a52370b17848c34c4e5d67d2ea95e4d7c8132' }, hAsync("a", { key: '5375c770391baab31637c149774f551bef8ebb72', class: {
25757
26104
  "duet-submenu-bar-dropdown-link": true,
25758
26105
  "duet-theme-turva": this.theme === "turva",
25759
26106
  highlight: this.highlight,
25760
26107
  active: this.active,
25761
- }, "aria-current": this.active ? "true" : "false", href: this.href, onKeyUp: e => this.handleEscape(e) }, this.icon && hAsync("duet-icon", { key: '50c64c74c7f21aebcb34252b9a5fbf75c391c0d3', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }), hAsync("span", { key: '0e697759844c9f0255d18fdb41765290f1389581', class: "label-container" }, hAsync("span", { key: '3fafa6fece2c5188ec289dbc6fab760d49c73fb4', class: "label" }, hAsync("slot", { key: '498dacafcd6fa3c3d097e9bcceb9e78c906cc236' })), this.caret && hAsync("duet-icon", { key: 'd7055d84b2cd8de873b0400e7b3434f7670f987a', name: "action-arrow-right-small", size: "xxx-small", margin: "none" })), this.active && (hAsync("duet-icon", { key: '40d559b351fcc4d3f56f26045d065a55b840c740', class: "active-check", name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor" })))));
26108
+ }, "aria-current": this.active ? "true" : "false", href: this.href, onKeyUp: e => this.handleEscape(e) }, this.icon && hAsync("duet-icon", { key: '33cdb0067f000f88f498f6f09e051a9e52a7f08c', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }), hAsync("span", { key: '9f3eef8e19ff33804e27a02abac519eae7511670', class: "label-container" }, hAsync("span", { key: '3d4ca78914093332e94dd1dbad77128afd5c9fa5', class: "label" }, hAsync("slot", { key: 'ee23c1e008fa9921e6338e6970a320dca9153819' })), this.caret && hAsync("duet-icon", { key: 'c584820003432e257e36b9ba412f9b4685503730', name: "action-arrow-right-small", size: "xxx-small", margin: "none" })), this.active && (hAsync("duet-icon", { key: '9e91428c0825aed310abae4214ee7f7fb3f77bf4', class: "active-check", name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor" })))));
25762
26109
  }
25763
26110
  get element() { return getElement(this); }
25764
26111
  static get style() { return duetSubmenuBarDropdownLinkCss; }
@@ -25854,7 +26201,7 @@ class DuetSubmenuBarItem {
25854
26201
  render() {
25855
26202
  const TagName = this.url ? "a" : "button";
25856
26203
  const role = this.url ? "link" : "button";
25857
- return (hAsync(Host, { key: '35be20639e3574ca775aa4b697485c84a1512045', role: "listitem" }, hAsync(TagName, { key: '10e74fbfad350fa687d2ed5c6d5bfa6c3c3b7a08', target: !this.url ? null : this.external ? "_blank" : "_self", ref: element => (this.itemElement = element), class: { "duet-submenu-bar-item": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.url, onKeyUp: e => this.handleEscape(e), "aria-current": this.active ? "true" : "false", "aria-label": (this.url && getAccessibleLinkLabel(this)) || this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined, role: role, rel: this.external ? "noopener" : undefined }, this.leadingIcon && (hAsync("duet-icon", { key: 'e4de062ea87077cdf5ab2f80a72cb746d10b32e9', class: "leading-icon", theme: this.theme, name: this.leadingIcon, size: "auto", margin: "none", color: "currentColor" })), hAsync("div", { key: '1829e95b6db1e8970ca53e5f8332b0aa97df310a', class: "label" }, hAsync("span", { key: '815b45070604d6a9fc3f875677119480812c448d', class: "label-text" }, hAsync("slot", { key: '195a9798c946491c1ec6318a99b5738e92d68f58' })), (this.trailingIcon || this.external) && (hAsync("duet-icon", { key: '8718695a96ec8294833a18791aeefbe51526308f', class: {
26204
+ return (hAsync(Host, { key: 'c675c500658117f8fa1fe3629f63caf42fa5cfc5', role: "listitem" }, hAsync(TagName, { key: '444e618b383e220a1f564ae17479db6d34f2b195', target: !this.url ? null : this.external ? "_blank" : "_self", ref: element => (this.itemElement = element), class: { "duet-submenu-bar-item": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.url, onKeyUp: e => this.handleEscape(e), "aria-current": this.active ? "true" : "false", "aria-label": (this.url && getAccessibleLinkLabel(this)) || this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined, role: role, rel: this.external ? "noopener" : undefined }, this.leadingIcon && (hAsync("duet-icon", { key: 'fd9700bf1c3d961a93743de0d869f484553b16bf', class: "leading-icon", theme: this.theme, name: this.leadingIcon, size: "auto", margin: "none", color: "currentColor" })), hAsync("div", { key: '0f4c3625759850d77add064f64408d776f1f46a1', class: "label" }, hAsync("span", { key: 'abda37eff9b40128fcf46e0c81120eaaa5b0e260', class: "label-text" }, hAsync("slot", { key: '2669839ad630664e4c309a77845668a80b6b807d' })), (this.trailingIcon || this.external) && (hAsync("duet-icon", { key: 'fc997b7d0c63d208f6a5e492fea73e1b30c86706', class: {
25858
26205
  "trailing-icon": !!this.trailingIcon,
25859
26206
  "trailing-icon-arrow": this.trailingIcon === "action-arrow-down-small",
25860
26207
  "external-icon": !!this.external,
@@ -25926,7 +26273,7 @@ class DuetSubmenuBarLink {
25926
26273
  * Always the last one in the class.
25927
26274
  */
25928
26275
  render() {
25929
- return (hAsync(Host, { key: '43fe2f21e9f7ce5b2ea4a31fb4ac6f9f76b7dea7', role: "listitem" }, hAsync("a", { key: '78ffb34f6f54b32f8c8401139b23b34a5fe9ef95', class: { "duet-submenu-bar-link": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.href, onKeyUp: e => this.handleEscape(e), "aria-current": this.active ? "true" : "false" }, this.icon && (hAsync("duet-icon", { key: 'c42d8f5d5fe3c4b9d4dbcfe3151a1ee2c7be2ec2', class: "submenu-bar-link-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), hAsync("span", { key: 'a2e72daf94cc2c40ab025e399c949b4f8111bdea', class: "label" }, hAsync("slot", { key: 'a5fb89a7dc0aea64b82a6be83104f8b9971066c8' })))));
26276
+ return (hAsync(Host, { key: 'cee1435399e91c4d88abe58e3172d8093bf58796', role: "listitem" }, hAsync("a", { key: '094e7647704343b0511d58f7856eba9f5449ba0f', class: { "duet-submenu-bar-link": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.href, onKeyUp: e => this.handleEscape(e), "aria-current": this.active ? "true" : "false" }, this.icon && (hAsync("duet-icon", { key: '85b33b8d9609e1962cbac3e9fb57bc648042c4e6', class: "submenu-bar-link-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), hAsync("span", { key: '22bc415cdb1cb8ba85aa0ed47367985443675de8', class: "label" }, hAsync("slot", { key: '2a2a7bdb82c185690ae5b73df3d449716ed80e6c' })))));
25930
26277
  }
25931
26278
  get element() { return getElement(this); }
25932
26279
  static get style() { return duetSubmenuBarLinkCss; }
@@ -26052,7 +26399,7 @@ class DuetTab {
26052
26399
  * Always the last one in the class.
26053
26400
  */
26054
26401
  render() {
26055
- return (hAsync("div", { key: 'a022a330a4f4eef2664a452c8f0df2b84e46c429', ref: element => {
26402
+ return (hAsync("div", { key: 'df1d38a00ae486704755f845444bbb3d99c63017', ref: element => {
26056
26403
  if (!this.contentId) {
26057
26404
  this.tabpanelElement = element;
26058
26405
  }
@@ -26061,7 +26408,7 @@ class DuetTab {
26061
26408
  "duet-tab": true,
26062
26409
  selected: this.selected,
26063
26410
  "has-content-id": !!this.contentId,
26064
- }, "aria-description": this.accessibleDescription, "aria-labelledby": this.accessibleLabelledBy, tabindex: "-1" }, hAsync("slot", { key: 'fcb609d847cf496ada314f386a9b82dab58a7c19' })));
26411
+ }, "aria-description": this.accessibleDescription, "aria-labelledby": this.accessibleLabelledBy, tabindex: "-1" }, hAsync("slot", { key: '31ef9a143a4015fd0fe6eb0ce190dc4b5bbbd582' })));
26065
26412
  }
26066
26413
  get element() { return getElement(this); }
26067
26414
  static get watchers() { return {
@@ -26372,13 +26719,13 @@ class DuetTabGroup {
26372
26719
  [largeBreakpoint]: ["default", "plain", "plain-scrolling"].includes(this.variation) ? true : false,
26373
26720
  "duet-theme-turva": this.theme === "turva",
26374
26721
  }, onClick: () => this.onTabSelect(index), onKeyDown: ev => this.handleKeyDown(ev) }, this.variation === "checked" ? (hAsync("div", { class: { "checked-tab-content": true, "stackable-checked-tab-content": this.tabs.length <= 3 } }, hAsync("div", { class: { "checked-tab-description": true, "stackable-description": this.tabs.length <= 3 } }, hAsync("p", null, element.label), hAsync("p", { class: { "tab-caption": true, selected: element.selected } }, element.caption)), hAsync("div", { class: { "stackable-checkmark": this.tabs.length <= 3 } }, hAsync("duet-checkmark", { theme: this.theme, checked: element.selected, type: "radio", "presentation-only": true, center: true })))) : (element.label), element.indicator && (hAsync("duet-indicator", { variation: element.indicator, "accessible-label": element.indicatorAccessibleLabel })))));
26375
- return (hAsync("div", { key: 'e2033f2294825d4208922a3705030fdc4410248c', class: {
26722
+ return (hAsync("div", { key: '417e3a0eb99cdf3d6df636586be7435cad2144ac', class: {
26376
26723
  "duet-tab-group": true,
26377
26724
  "duet-theme-turva": this.theme === "turva",
26378
26725
  [variationClass]: true,
26379
26726
  "duet-tab-plain-scrolling": this.variation === "plain-scrolling",
26380
26727
  "duet-tab-group-scrolls": true,
26381
- }, "aria-label": this.accessibleLabel }, hAsync("div", { key: 'e296d279b91e3412d4bb11410eb7b752208828ba', role: "tablist", class: {
26728
+ }, "aria-label": this.accessibleLabel }, hAsync("div", { key: 'da12d48bcbb77d4e88ca34c63ee54c63db53eacd', role: "tablist", class: {
26382
26729
  "duet-m-0": this.margin === "none" || this.variation === "checked",
26383
26730
  "duet-tab-group-tabs": true,
26384
26731
  "duet-tab-group-hidden": this.tabs.length > 3 && !isSwipeScrollable,
@@ -26389,11 +26736,11 @@ class DuetTabGroup {
26389
26736
  } }, this.variation === "checked" ? (buttons) : (hAsync("div", { class: {
26390
26737
  "duet-tab-group-scrollable-wrapper": true,
26391
26738
  "duet-tab-group-fill-space-wrapper": this.fillSpace && this.variation === "default",
26392
- } }, this.fillSpace && !this.stretch && this.variation === "default" && (hAsync("div", { class: "duet-scrollable-stretch-overlay" }, hAsync("div", { class: "background" }), hAsync("div", { class: "border" }))), hAsync("duet-scrollable", { selected: this.selected, identifier: this.identifier, gap: ["default", "plain", "plain-scrolling"].includes(this.variation) ? "none" : "large", buttonPosition: this.variation === "default" ? "absolute" : "relative", center: this.isCentered() ? this.isCentered() : this.element.style.textAlign == "center", theme: this.theme, stretch: this.stretch }, buttons)))), hAsync("div", { key: '58eaf09f8633b86c594a0cd2662f6bbfa0a160ec', class: {
26739
+ } }, this.fillSpace && !this.stretch && this.variation === "default" && (hAsync("div", { class: "duet-scrollable-stretch-overlay" }, hAsync("div", { class: "background" }), hAsync("div", { class: "border" }))), hAsync("duet-scrollable", { selected: this.selected, identifier: this.identifier, gap: ["default", "plain", "plain-scrolling"].includes(this.variation) ? "none" : "large", buttonPosition: this.variation === "default" ? "absolute" : "relative", center: this.isCentered() ? this.isCentered() : this.element.style.textAlign == "center", theme: this.theme, stretch: this.stretch }, buttons)))), hAsync("div", { key: '25e346444619db75d262e11a84acdfaaafa2257c', class: {
26393
26740
  "duet-tab-group-content": true,
26394
26741
  "duet-m-0": this.margin === "none",
26395
26742
  "checked-group-content": this.variation === "checked",
26396
- } }, hAsync("slot", { key: '45359a79c82f0c35f1a5502c2ecb8af934ad9248' }))));
26743
+ } }, hAsync("slot", { key: 'c63f225ca6cd084bb78f4f3bcc046d21c9d47e0a' }))));
26397
26744
  }
26398
26745
  get element() { return getElement(this); }
26399
26746
  static get style() { return duetTabGroupCss; }
@@ -26499,7 +26846,7 @@ duet-table {
26499
26846
  th {
26500
26847
  font-weight: ${fontWeightSemiBold};
26501
26848
  line-height: ${lineHeightSmall};
26502
- color: ${colorGrayDarker};
26849
+ color: ${colorForegroundSecondary};
26503
26850
  text-align: left;
26504
26851
  }
26505
26852
 
@@ -26651,7 +26998,7 @@ duet-table {
26651
26998
  }
26652
26999
  }
26653
27000
 
26654
-
27001
+
26655
27002
 
26656
27003
  tbody th {
26657
27004
  padding-top: calc(${spaceLarge} * 2) !important;
@@ -26837,7 +27184,7 @@ duet-table {
26837
27184
  }
26838
27185
  }
26839
27186
  }
26840
-
27187
+
26841
27188
  duet-table.duet-theme-turva table {
26842
27189
  font-family: ${fontFamilyTextTurva};
26843
27190
  }
@@ -26847,7 +27194,7 @@ duet-table.duet-theme-turva td {
26847
27194
  }
26848
27195
 
26849
27196
  duet-table.duet-theme-turva th {
26850
- color: ${colorGrayDarkTurva};
27197
+ color: ${colorForegroundSecondaryTurva};
26851
27198
  }
26852
27199
 
26853
27200
  duet-table.duet-theme-turva tbody th {
@@ -27043,7 +27390,7 @@ class DuetTable {
27043
27390
  }
27044
27391
  }
27045
27392
  render() {
27046
- return (hAsync(Host, { key: '02ed0a7f4b3c7504b0f6df2ee9e923f5afbca106', class: {
27393
+ return (hAsync(Host, { key: '968bf1e9fea756e09fd9c3c26596fcf857ad8a61', class: {
27047
27394
  [`duet-table-${this.variation}`]: true,
27048
27395
  "duet-table-flattened": !this.matchesBreakpoint,
27049
27396
  // sticky only valid when in regular table layout
@@ -27052,7 +27399,7 @@ class DuetTable {
27052
27399
  "duet-m-0": this.margin === "none",
27053
27400
  "duet-theme-turva": this.theme === "turva",
27054
27401
  "duet-table-hide-head-visually": this.hideHeadVisually,
27055
- } }, hAsync("slot", { key: '946a620f959caf19dc712844d81ebc345870757d' })));
27402
+ } }, hAsync("slot", { key: 'ccde2e16ca1aea0af30556faad3207a61a8219d0' })));
27056
27403
  }
27057
27404
  get element() { return getElement(this); }
27058
27405
  static get watchers() { return {
@@ -27315,17 +27662,17 @@ class DuetTextarea {
27315
27662
  */
27316
27663
  render() {
27317
27664
  const identifier = this.identifier || this.textareaId;
27318
- return (hAsync(Host, { key: '05f3a128ed669c1c1ca8c0a2a18b3e031b324813', class: {
27665
+ return (hAsync(Host, { key: 'a84e87889b86103cfb25a6fb62d5ae9fc921dde3', class: {
27319
27666
  "duet-m-0": this.margin === "none",
27320
27667
  "duet-has-counter": this.counter && !this.error,
27321
27668
  "duet-expand": this.expand,
27322
- } }, hAsync("div", { key: 'cdd7bcb109c16962d31337146fe774bc7efb248c', class: {
27669
+ } }, hAsync("div", { key: '1cac0725d91c47a8539a3a915e033ff98dbcefeb', class: {
27323
27670
  "duet-textarea-container": true,
27324
27671
  "duet-theme-turva": this.theme === "turva",
27325
27672
  "duet-label-hidden": this.labelHidden,
27326
27673
  "duet-input-top-caption-shown": this.isCaptionVisible,
27327
27674
  "has-error": !!this.error,
27328
- } }, hAsync(DuetInternalLabel, { key: '9577e3a46d2b1344744377fbada4ad5328482faa', theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (hAsync("duet-tooltip", { key: 'c7dfb100492fda0d4b0520a94817a21ff6f7b2f4', direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), hAsync("slot", { key: '73d669dcf81bec021dd60d536bcc868a1219493b', name: "tooltip" }), this.caption && (hAsync("duet-caption", { key: '87e9b7e449ab45c533471f0e4a55a56a2886938b', id: this.topCaptionId, size: "medium", theme: this.theme === "turva" ? "turva" : "default" }, this.caption)), hAsync("div", { key: '3d776d906f0c1aaec10060fea52ed11aed6cae20', class: "duet-textarea-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (hAsync("duet-caption", { key: 'c11be289c215a5a4a2487cffcbd3c154e266b506', id: this.topCaptionPlaceholderId, class: "duet-textarea-placeholder", size: "small" }, this.placeholder)), hAsync("textarea", { key: '20ad68b533a7f0ff28ab8d4834eb8d98640b80fa', onInput: this.handleInput, onChange: this.handleChange, onBlur: this.handleBlur, onFocus: this.handleFocus, ref: input => (this.nativeInput = input), class: { "duet-textarea": true, disabled: this.disabled }, value: this.value, disabled: this.disabled, "aria-labelledby": this.accessibleLabelledBy ? `${this.labelId} ${this.accessibleLabelledBy}` : this.labelId, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, placeholder: this.placeholder, spellcheck: "false", required: this.required, rows: this.rows, minlength: this.minlength, maxlength: this.maxlength, role: this.role, name: this.name, id: identifier })), hAsync("duet-grid", { key: '97abd3da766e5639bfe79bf20bb8ba0d8445cdfe', alignment: "stretch" }, hAsync("duet-grid-item", { key: 'fcfe43263013ccb1df5f6b4ad99ba412d224ed87', margin: "none", fill: true }, hAsync("div", { key: '88a02d777a98f50bf1827da24cd1b8e41826714f', class: "duet-textarea-help duet-textarea-error", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && hAsync("span", { key: '626befd06c4ce9ee080962e223e6b0b5c90a52ee' }, this.error))), hAsync("duet-grid-item", { key: '58e2571ae0fc52c2488b64aedfb26c722a90be48', margin: "none", class: "duet-character-count-caption" }, this.counter && hAsync(CharacterCount, { key: '3a0ae7aefb6b52348a252b49cf166139cb1b4e27', theme: this.theme, value: this.value, maxlength: this.maxlength }))), this.counter && this.maxlength && (hAsync("duet-visually-hidden", { key: '146f69804cf6df2efcd04212e8853fdf15524f77', id: this.characterCountId, class: "visually-hidden-counter", "aria-live": "polite" }, this.visuallyHiddenCounterText)))));
27675
+ } }, hAsync(DuetInternalLabel, { key: '902dadd1b95a410ed378ce38e71644138e3aae28', theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (hAsync("duet-tooltip", { key: 'db32f6f507a45acaeb0c1a5128544855ae8e0e31', direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), hAsync("slot", { key: '40464ec1d95d3880de8197f5780865cdff77233d', name: "tooltip" }), this.caption && (hAsync("duet-caption", { key: '818b2b3294cca406e31397dfb2a77110891bd4ee', id: this.topCaptionId, size: "medium", theme: this.theme === "turva" ? "turva" : "default" }, this.caption)), hAsync("div", { key: '515635119956e32aba3bf1949f183bd37dcbbf63', class: "duet-textarea-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (hAsync("duet-caption", { key: '040fe7c9caaa720aa2b2ae9124252da85d083ceb', id: this.topCaptionPlaceholderId, class: "duet-textarea-placeholder", size: "small" }, this.placeholder)), hAsync("textarea", { key: '39f181d89675a7c0cdd6a0492108c61aa8a66779', onInput: this.handleInput, onChange: this.handleChange, onBlur: this.handleBlur, onFocus: this.handleFocus, ref: input => (this.nativeInput = input), class: { "duet-textarea": true, disabled: this.disabled }, value: this.value, disabled: this.disabled, "aria-labelledby": this.accessibleLabelledBy ? `${this.labelId} ${this.accessibleLabelledBy}` : this.labelId, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, placeholder: this.placeholder, spellcheck: "false", required: this.required, rows: this.rows, minlength: this.minlength, maxlength: this.maxlength, role: this.role, name: this.name, id: identifier })), hAsync("duet-grid", { key: '4cefb97e18df23468e25743c4f62e4df7e5d9257', alignment: "stretch" }, hAsync("duet-grid-item", { key: 'bb2d8ca91b5478ceb814090fe1c24e48704f5747', margin: "none", fill: true }, hAsync("div", { key: '208c4ddda91e2b97459815079c7b9a552366d4ab', class: "duet-textarea-help duet-textarea-error", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && hAsync("span", { key: '9957ee1bbb21233d09e116992fa88f14185f043a' }, this.error))), hAsync("duet-grid-item", { key: '99713afc0205b671f95297e3991ed28a55a73b73', margin: "none", class: "duet-character-count-caption" }, this.counter && hAsync(CharacterCount, { key: '855bec2958e7aa564ec9ca5958881ad1d597fd2b', theme: this.theme, value: this.value, maxlength: this.maxlength }))), this.counter && this.maxlength && (hAsync("duet-visually-hidden", { key: 'd76477f0c64de79265740ae7a6bb251bdba9dd0f', id: this.characterCountId, class: "visually-hidden-counter", "aria-live": "polite" }, this.visuallyHiddenCounterText)))));
27329
27676
  }
27330
27677
  get element() { return getElement(this); }
27331
27678
  static get watchers() { return {
@@ -27494,11 +27841,11 @@ class DuetToggle {
27494
27841
  */
27495
27842
  render() {
27496
27843
  const identifier = this.identifier || this.toggleId;
27497
- return (hAsync(Host, { key: '59feea89498c2b31bdeb767328bffb2d92c81856', onClick: this.disabled || this.loading ? undefined : this.onClick, class: {
27844
+ return (hAsync(Host, { key: 'ba421a50fdc02e229fa28f85ff056b7871a49622', onClick: this.disabled || this.loading ? undefined : this.onClick, class: {
27498
27845
  "duet-m-0": this.margin === "none",
27499
27846
  "duet-toggle-is-disabled": this.disabled,
27500
27847
  "duet-toggle-is-loading": this.loading,
27501
- } }, hAsync("div", { key: '7d66f262fd726f6552ccc0b4fcf7d65f79168bec', class: {
27848
+ } }, hAsync("div", { key: '81bcd7c487268f6f79e227a5964049c31c50537e', class: {
27502
27849
  "duet-toggle": true,
27503
27850
  "duet-theme-turva": this.theme === "turva",
27504
27851
  "duet-side-label": this.labelPosition !== "top",
@@ -27506,7 +27853,7 @@ class DuetToggle {
27506
27853
  "duet-label-hidden": this.labelHidden,
27507
27854
  "duet-toggle-is-disabled": this.disabled,
27508
27855
  "duet-toggle-is-loading": this.loading,
27509
- } }, hAsync(DuetInternalLabel, { key: 'b51094e9ff80a2d2d38d62207031e882e22c6594', theme: this.theme, color: this.labelColor, weight: this.labelWeight, for: identifier, margin: this.labelPosition === "top" ? "auto" : "none" }, this.label), hAsync("div", { key: 'e43214898c9e9db3cdbff5a9bebb6a4123a1f60a', class: "duet-switch" }, hAsync("input", { key: 'e7c74dafd11c4afc1bee288239f0e7fd3a07259d', type: "checkbox", value: this.value, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, id: identifier, role: this.role, name: this.name, checked: this.checked, required: this.required, disabled: this.disabled || this.loading, ref: input => (this.nativeInput = input) }), hAsync("div", { key: 'a44ada35c0d948eb093047aa5ebbfbdcd06d8da2', class: { "duet-slider": true, "duet-theme-turva": this.theme === "turva" } }), this.loading && hAsync("duet-spinner", { key: '8e3400e0d490ca097597adb600b7a6560593c4f8', color: "primary" }))), this.loading && (hAsync("duet-visually-hidden", { key: '8cf3c405c4765f07b0e96359f88e527d0070be46', "aria-live": "polite" }, this.accessibleLabelLoading || DuetStringsLoadingDefaults[getLanguage()])), this.loadingComplete && (hAsync("duet-visually-hidden", { key: '5738bb3897bc0b07ef73299a6d12901c8c8be40c', "aria-live": "polite" }, this.accessibleLabelComplete || DuetStringsCompleteDefaults[getLanguage()]))));
27856
+ } }, hAsync(DuetInternalLabel, { key: '9a9c911786434d7324b8e88a8d908102a433b4f6', theme: this.theme, color: this.labelColor, weight: this.labelWeight, for: identifier, margin: this.labelPosition === "top" ? "auto" : "none" }, this.label), hAsync("div", { key: 'de416640cd8c34241f9f8f014c71f0ec664a16a7', class: "duet-switch" }, hAsync("input", { key: 'd420b3d44b53e0daf276c9a7cabde816bff13fa2', type: "checkbox", value: this.value, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, id: identifier, role: this.role, name: this.name, checked: this.checked, required: this.required, disabled: this.disabled || this.loading, ref: input => (this.nativeInput = input) }), hAsync("div", { key: '5def29eef95fba6e68134ce1c9061404bd390760', class: { "duet-slider": true, "duet-theme-turva": this.theme === "turva" } }), this.loading && hAsync("duet-spinner", { key: '1bf177270fc0d8e66aae450110abe9ca2340c156', color: "primary" }))), this.loading && (hAsync("duet-visually-hidden", { key: '101bf2c1752bbd1a263128aa1501b63938fee3d3', "aria-live": "polite" }, this.accessibleLabelLoading || DuetStringsLoadingDefaults[getLanguage()])), this.loadingComplete && (hAsync("duet-visually-hidden", { key: 'd1e8b6bf58b301f82fee88b83a5591e146a16d86', "aria-live": "polite" }, this.accessibleLabelComplete || DuetStringsCompleteDefaults[getLanguage()]))));
27510
27857
  }
27511
27858
  get element() { return getElement(this); }
27512
27859
  static get watchers() { return {
@@ -27587,11 +27934,11 @@ class DuetToolbar {
27587
27934
  : this.variation === "secondary"
27588
27935
  ? "secondary"
27589
27936
  : "default";
27590
- return (hAsync(Host, { key: '2434866ef0b95d7b07a2248edc89a4f473d9ecc6' }, hAsync("nav", { key: '9938a3cd11e5230013027cb613c8aa81f95e5bf7', class: {
27937
+ return (hAsync(Host, { key: '810537e117ab39b71cb7722178846736f3cb0b85' }, hAsync("nav", { key: '12bad772d5ab1ff3e4adfca687da6c4d46ce93f0', class: {
27591
27938
  "duet-toolbar": true,
27592
27939
  "duet-theme-turva": this.theme === "turva",
27593
27940
  [variation]: true,
27594
- }, "aria-label": this.accessibleLabel }, hAsync("div", { key: '9c915e9ffe872ec9b253bf9c7b7ca58ac5c39bee', class: "container" }, hAsync("div", { key: '7a1ce3f543e9b908638de889a1b6b8270f73d830', class: "list", role: "list" }, hAsync("slot", { key: '396f255c2694dbff16ae2f2584be49e4f5d4fdf5', name: "left" })), hAsync("div", { key: '975122519f64947d2fc01d8a5c9fa63c3052097a', class: "list", role: "list" }, hAsync("slot", { key: '8d070c2c7e5a168d7c426df35a4b742a95696383', name: "right" }))))));
27941
+ }, "aria-label": this.accessibleLabel }, hAsync("div", { key: 'c4dc60b980cfaa54fed8a7578a766e9f7fe01825', class: "container" }, hAsync("div", { key: 'cc4af5be82d76864f8160d04419533a13223fa28', class: "list", role: "list" }, hAsync("slot", { key: 'e23afafe23ac2a9d8025e2239421e4a3c033d667', name: "left" })), hAsync("div", { key: '28bc42be2ee3cbfda1a9645ad8b66e8dec71977b', class: "list", role: "list" }, hAsync("slot", { key: '2f304cb81562a3bd030d5d2398a0516a6491d4e5', name: "right" }))))));
27595
27942
  }
27596
27943
  get element() { return getElement(this); }
27597
27944
  static get style() { return duetToolbarCss; }
@@ -27672,18 +28019,18 @@ class DuetToolbarDropdown {
27672
28019
  itemsAlign = this.element.parentElement.getAttribute("slot") === "left" ? "right" : "left";
27673
28020
  }
27674
28021
  const variation = this.variation === "negative" ? "negative" : "white";
27675
- return (hAsync(Host, { key: '7af8e188b72d1dd79f3445c543736d3c18d694e4', role: "listitem" }, hAsync("div", { key: '128c0412da716469ad79877951bf5b81f7987515', class: {
28022
+ return (hAsync(Host, { key: '537cb902a5fa3e679997e4e794d3335d0400caf6', role: "listitem" }, hAsync("div", { key: '8ff38e056a74dcd7a30e1ab09bfa7b757e0e224f', class: {
27676
28023
  "duet-toolbar-dropdown": true,
27677
28024
  "duet-theme-turva": this.theme === "turva",
27678
28025
  [itemsAlign]: true,
27679
28026
  [variation]: true,
27680
- } }, hAsync("button", { key: 'efc3cbf2c159c3b8a528e8ee58312bc9546b561e', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel, id: "button", type: "button", class: {
28027
+ } }, hAsync("button", { key: 'ed4415937f60d79cdff2794e8d0c9e32e2144ada', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel, id: "button", type: "button", class: {
27681
28028
  active: this.active,
27682
28029
  open: this.open,
27683
- }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (hAsync("duet-icon", { key: '502ded69ce168a1de15bd937aa8c1995f2b5df88', theme: this.theme, name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), hAsync("span", { key: '8c4851a8137ab50f524c9d24618f612834f38669', class: "label" }, hAsync("slot", { key: 'eebb0b4107c2060e48b334f35cff1458fc7b4d7c', name: "label" }), hAsync("duet-icon", { key: '961bcc314c446a4b85ae1259b67d5566a0dd0656', class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), hAsync("div", { key: '843d1e28eb1a821021ff4e6c96269bb437980de7', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
28030
+ }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (hAsync("duet-icon", { key: '9b594c5aa508947d9cfe551cb9c9add1bcc95a7f', theme: this.theme, name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), hAsync("span", { key: '3f23e7a0c570956fbcaff50417cc79869b04c122', class: "label" }, hAsync("slot", { key: '51bdc6f723e217d090f4b611eaac211611e952e6', name: "label" }), hAsync("duet-icon", { key: 'e3ffbfb325327902cc56f9684f879164f4b3a659', class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), hAsync("div", { key: 'dfcc391bafb75c326a62c89ac9d4221508e00efd', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
27684
28031
  items: true,
27685
28032
  hidden: !this.open,
27686
- } }, hAsync("slot", { key: '60c2a9af5229e10192605b60f2aaf8d65e136d42' })))));
28033
+ } }, hAsync("slot", { key: '946f25dc7587b757fbdb11125b9aade9501c6d91' })))));
27687
28034
  }
27688
28035
  get element() { return getElement(this); }
27689
28036
  static get style() { return duetToolbarDropdownCss; }
@@ -27749,11 +28096,11 @@ class DuetToolbarDropdownLink {
27749
28096
  * Always the last one in the class.
27750
28097
  */
27751
28098
  render() {
27752
- return (hAsync(Host, { key: '34a5369d2806e4474bbb32400d5563fddcc3590a' }, hAsync("a", { key: 'b16d10c8be40329d90136c486d568fb9511524d7', class: {
28099
+ return (hAsync(Host, { key: '5503edc925ef9f59d266699d49f280d803d96b1a' }, hAsync("a", { key: '78cfd5795087aa0668130fcd1aef9af8f6afe74d', class: {
27753
28100
  "duet-toolbar-dropdown-link": true,
27754
28101
  "duet-theme-turva": this.theme === "turva",
27755
28102
  active: this.active,
27756
- }, 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", { key: 'cce54b8721ad1d017e32ac331ebcc54d53fbd88c', name: this.icon, size: "x-small", margin: "none" }), hAsync("span", { key: '515f4c68a3917e3403e59f938fc2a2ba296e1f63', class: "label" }, hAsync("slot", { key: '43e7eddd00dc07766e9842a4070f09e908021551' })), this.active && (hAsync("duet-icon", { key: 'e69da314290045e523944a6d3554158627151d48', name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor" })))));
28103
+ }, 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", { key: '94cbf93524f24784189c22358378e2c0c21d6cc6', name: this.icon, size: "x-small", margin: "none" }), hAsync("span", { key: '61d5272e3b2670262dabd167c898f160b9c3c751', class: "label" }, hAsync("slot", { key: 'ce66bfda77a5f5e8292b1b05a3aac6e55f37a43b' })), this.active && (hAsync("duet-icon", { key: 'b6ae3a0972462f8034fceda49f652477849c555d', name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor" })))));
27757
28104
  }
27758
28105
  get element() { return getElement(this); }
27759
28106
  static get style() { return duetToolbarDropdownLinkCss; }
@@ -27856,17 +28203,17 @@ class DuetToolbarItem {
27856
28203
  : this.variation === "secondary"
27857
28204
  ? "secondary"
27858
28205
  : "default";
27859
- return (hAsync(Host, { key: 'f36d0228f8546f61bd7f1a21fc94bbfacb229270', role: "listitem" }, this.badge && hAsync("duet-indicator", { key: 'a46dc8ea7f76a4f8c76664dc4e1ad56941028a10', variation: "change" }), hAsync(TagName, { key: 'e488df937c34dadf25be1f2beacfe29161ba73cf', target: !this.url ? null : this.external ? "_blank" : "_self", ref: element => (this.itemElement = element), class: {
28206
+ return (hAsync(Host, { key: '862f45e9efe5b3b54645c3a9627456ab5f723263', role: "listitem" }, this.badge && hAsync("duet-indicator", { key: '29d7bdff76bcf999e4ecff6e3eedd10e006bc968', variation: "change" }), hAsync(TagName, { key: 'b3c0820e95170ce048b75d7e02a2f2e6b7264301', target: !this.url ? null : this.external ? "_blank" : "_self", ref: element => (this.itemElement = element), class: {
27860
28207
  "duet-toolbar-item": true,
27861
28208
  "duet-theme-turva": this.theme === "turva",
27862
28209
  active: this.active,
27863
28210
  [variation]: true,
27864
- }, href: this.url, role: `${TagName === "a" ? "link" : "button"}`, "aria-current": this.active ? "true" : "false", "aria-label": (this.url && getAccessibleLinkLabel(this)) || this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined, rel: this.external ? "noopener" : undefined }, this.leadingIcon && (hAsync("div", { key: 'fb792acb4d635caf2dbe6d6b34eb7ca0257c6425', class: "duet-toolbar-icon" }, hAsync("duet-icon", { key: '7aeb14377fab6bbba397bdcb85942bc7f9026f99', size: "x-small", name: this.leadingIcon, margin: "none", theme: this.theme, color: "currentColor" }), this.badge && hAsync("div", { key: 'f2a6ed7704a7d21782c32fe02f1d768203a0e543', class: "duet-toolbar-badge" }))), hAsync("slot", { key: 'c5f8d0d4644d68d9ae8bae97f3b26d9cb7ff2693' }), (this.trailingIcon || (this.url && this.external)) && (hAsync("div", { key: '1258c07b9515853adcc3461d186240ba86fdc491', class: "duet-toolbar-icon" }, hAsync("duet-icon", { key: '3472d1724fb3d148dd2ac58a964db4ab2ae7908e', class: {
28211
+ }, href: this.url, role: `${TagName === "a" ? "link" : "button"}`, "aria-current": this.active ? "true" : "false", "aria-label": (this.url && getAccessibleLinkLabel(this)) || this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined, rel: this.external ? "noopener" : undefined }, this.leadingIcon && (hAsync("div", { key: '52d2726d3619462ac9fa1ed0b3444675a3965d6d', class: "duet-toolbar-icon" }, hAsync("duet-icon", { key: 'f4cf50d1e5dddaaf3cebd50a4271ebb8060d2aaa', size: "x-small", name: this.leadingIcon, margin: "none", theme: this.theme, color: "currentColor" }), this.badge && hAsync("div", { key: '545d508631827013ae6062243f7cd07e37361f1f', class: "duet-toolbar-badge" }))), hAsync("slot", { key: 'ccf3f266976067a8dcfaeb78310ea0e9e4b740cc' }), (this.trailingIcon || (this.url && this.external)) && (hAsync("div", { key: 'f589e763aa5474a3a0dfcfbada1672d3fbb0862a', class: "duet-toolbar-icon" }, hAsync("duet-icon", { key: '288b80450871df0f784182e1f0802cfbad4daeed', class: {
27865
28212
  "trailing-icon": !!this.trailingIcon,
27866
28213
  "trailing-icon-arrow": this.trailingIcon === "action-arrow-down-small",
27867
28214
  "external-icon": !!(this.url && this.external),
27868
28215
  rotate: this.trailingIcon === "action-arrow-down-small" && this.accessibleExpanded,
27869
- }, theme: this.theme, name: this.trailingIcon ? this.trailingIcon : this.url && this.external ? newWindowIcon.title : "", margin: "none", size: "auto", color: "currentColor" }), this.badge && this.trailingIcon !== "action-arrow-down-small" && hAsync("div", { key: 'df9aa0697ed176678be4f45596c3276da1218a33', class: "duet-toolbar-badge" }))))));
28216
+ }, theme: this.theme, name: this.trailingIcon ? this.trailingIcon : this.url && this.external ? newWindowIcon.title : "", margin: "none", size: "auto", color: "currentColor" }), this.badge && this.trailingIcon !== "action-arrow-down-small" && hAsync("div", { key: '7853154ae4ebb785a34b1de3ce36d7b1a23f304b', class: "duet-toolbar-badge" }))))));
27870
28217
  }
27871
28218
  get element() { return getElement(this); }
27872
28219
  static get style() { return duetToolbarItemCss; }
@@ -27933,12 +28280,12 @@ class DuetToolbarLink {
27933
28280
  */
27934
28281
  render() {
27935
28282
  const variation = this.variation === "negative" ? "negative" : "white";
27936
- return (hAsync(Host, { key: '37bc6a6543039418aa1450349f23f7eba45adadb', role: "listitem" }, hAsync("a", { key: '55cc4a44d00c2d228ab14686063417d471beec5d', class: {
28283
+ return (hAsync(Host, { key: '07041c0aec0959d4d85042618c07a5c6c5e7a80a', role: "listitem" }, hAsync("a", { key: '5c422ec1435313ecad17c03eafaecdb42444c847', class: {
27937
28284
  "duet-toolbar-link": true,
27938
28285
  "duet-theme-turva": this.theme === "turva",
27939
28286
  active: this.active,
27940
28287
  [variation]: true,
27941
- }, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (hAsync("duet-icon", { key: '363fec506c3668d762b5a706b720f4ab8efb0bb5', size: "x-small", name: this.icon, margin: "none", theme: this.theme, color: "currentColor" })), hAsync("slot", { key: '086cbb4a926a01fcee0ce4d7ca417ad031c60110' }))));
28288
+ }, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (hAsync("duet-icon", { key: '4a127553bf1f1e27ebb5787f7b736cc7a80cf9fe', size: "x-small", name: this.icon, margin: "none", theme: this.theme, color: "currentColor" })), hAsync("slot", { key: '97573b5159185b7aae35dc962560e707de1a28b2' }))));
27942
28289
  }
27943
28290
  get element() { return getElement(this); }
27944
28291
  static get style() { return duetToolbarLinkCss; }
@@ -28116,9 +28463,13 @@ class DuetTooltip {
28116
28463
  // Not closing via this.closeTooltip() as it calls this.updatePlacement() causing an infinite loop
28117
28464
  this.active = false;
28118
28465
  }
28119
- const position = await computePosition(this.buttonEl, this.popupElement, {
28466
+ const middleware = [flip(), shift({ padding: 5 }), arrow({ element: this.arrowEl })];
28467
+ if (this.badgeElement) {
28468
+ middleware.unshift(offset(10));
28469
+ }
28470
+ const position = await computePosition(this.badgeElement || this.buttonEl, this.popupElement, {
28120
28471
  placement,
28121
- middleware: [flip(), shift({ padding: 5 }), arrow({ element: this.arrowEl })],
28472
+ middleware,
28122
28473
  });
28123
28474
  this.tooltipY = position.y;
28124
28475
  this.tooltipX = position.x;
@@ -28126,6 +28477,12 @@ class DuetTooltip {
28126
28477
  this.arrowY = (_a = position.middlewareData.arrow) === null || _a === void 0 ? void 0 : _a.y;
28127
28478
  this.arrowX = (_b = position.middlewareData.arrow) === null || _b === void 0 ? void 0 : _b.x;
28128
28479
  };
28480
+ this.badgeClick = (ev) => {
28481
+ if (ev.composedPath().includes(this.buttonEl)) {
28482
+ return;
28483
+ }
28484
+ this.buttonEl.click();
28485
+ };
28129
28486
  }
28130
28487
  /**
28131
28488
  * Component lifecycle events.
@@ -28158,9 +28515,16 @@ class DuetTooltip {
28158
28515
  if (this.firstRender) {
28159
28516
  this.firstRender = false;
28160
28517
  }
28518
+ if (this.badgeElement) {
28519
+ this.badgeElement.removeEventListener("click", this.badgeClick);
28520
+ this.badgeElement.addEventListener("click", this.badgeClick);
28521
+ }
28161
28522
  }
28162
28523
  disconnectedCallback() {
28163
28524
  disconnectLanguageChangeObserver(this);
28525
+ if (this.badgeElement) {
28526
+ this.badgeElement.removeEventListener("click", this.badgeClick);
28527
+ }
28164
28528
  }
28165
28529
  handleDocumentClick(e) {
28166
28530
  if (!this.active) {
@@ -28223,6 +28587,7 @@ class DuetTooltip {
28223
28587
  "positionHorizontal": [513, "position-horizontal"],
28224
28588
  "active": [1540],
28225
28589
  "negative": [4],
28590
+ "badgeElement": [16, "badge-element"],
28226
28591
  "placement": [32],
28227
28592
  "tooltipY": [32],
28228
28593
  "tooltipX": [32],
@@ -28237,7 +28602,7 @@ class DuetTooltip {
28237
28602
  }; }
28238
28603
  }
28239
28604
 
28240
- const duetTooltipButtonCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}.duet-tooltip-button{z-index:100;display:inline-block;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 !important;margin-right:-12px;line-height:normal !important;color:rgb(0, 119, 179);white-space:nowrap;cursor:pointer;background:transparent !important;border-radius:4px}.duet-tooltip-button:focus{outline:0}:host(.user-is-tabbing) .duet-tooltip-button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva :host(.user-is-tabbing) .duet-tooltip-button:focus,:host(.user-is-tabbing) .duet-tooltip-button:focus.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-tooltip-button.duet-tooltip-button-negative{color:rgb(255, 255, 255)}.duet-tooltip-button:hover{color:rgb(0, 75, 129)}.duet-tooltip-button:hover.duet-tooltip-button-negative{color:rgb(255, 255, 255)}.duet-tooltip-button:focus,:host(.user-is-tabbing) .duet-tooltip-button:focus{background:transparent !important}.duet-tooltip-button svg{width:20px;height:20px;pointer-events:none}.duet-tooltip-button-has-label{margin-right:0}.duet-tooltip-label{position:relative;z-index:100;display:inline-block;max-width:calc(100% - 30px);margin-left:12px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.25;vertical-align:top;text-align:left;white-space:normal}.duet-tooltip-button.duet-theme-turva{color:rgb(230, 23, 64)}.duet-tooltip-button.duet-theme-turva:hover{color:rgb(230, 23, 64)}.duet-theme-turva .duet-tooltip-label{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}";
28605
+ const duetTooltipButtonCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}.duet-tooltip-button{z-index:100;display:inline-block;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 !important;margin-right:-12px;line-height:normal !important;color:rgb(0, 119, 179);white-space:nowrap;cursor:pointer;background:transparent !important;border-radius:4px}.duet-tooltip-button:focus{outline:0}:host(.user-is-tabbing) .duet-tooltip-button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva :host(.user-is-tabbing) .duet-tooltip-button:focus,:host(.user-is-tabbing) .duet-tooltip-button:focus.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-tooltip-button.duet-tooltip-button-negative{color:rgb(255, 255, 255)}.duet-tooltip-button:hover{color:rgb(0, 75, 129)}.duet-tooltip-button:hover.duet-tooltip-button-negative{color:rgb(255, 255, 255)}.duet-tooltip-button:focus,:host(.user-is-tabbing) .duet-tooltip-button:focus{background:transparent !important}.duet-tooltip-button svg{width:20px;height:20px;pointer-events:none}.duet-tooltip-button.duet-tooltip-button-in-badge{width:16px;min-width:16px;height:16px;color:inherit}.duet-tooltip-button.duet-tooltip-button-in-badge:focus{outline:0 !important}.duet-tooltip-button.duet-tooltip-button-in-badge svg{width:12px;height:12px}.duet-tooltip-button-has-label{margin-right:0}.duet-tooltip-label{position:relative;z-index:100;display:inline-block;max-width:calc(100% - 30px);margin-left:12px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.25;vertical-align:top;text-align:left;white-space:normal}.duet-theme-turva.duet-tooltip-button{color:rgb(230, 23, 64)}.duet-theme-turva.duet-tooltip-button:hover{color:rgb(230, 23, 64)}.duet-theme-turva.duet-tooltip-button.duet-tooltip-button-in-badge{color:inherit}.duet-theme-turva .duet-tooltip-label{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}";
28241
28606
 
28242
28607
  /**
28243
28608
  * @internal
@@ -28249,6 +28614,7 @@ class DuetTooltipButton {
28249
28614
  this.label = "";
28250
28615
  this.theme = "";
28251
28616
  this.negative = false;
28617
+ this.inBadge = false;
28252
28618
  }
28253
28619
  /**
28254
28620
  * Component lifecycle events.
@@ -28272,13 +28638,14 @@ class DuetTooltipButton {
28272
28638
  * Always the last one in the class.
28273
28639
  */
28274
28640
  render() {
28275
- const visuallyHidden = hAsync("duet-visually-hidden", { key: 'bf8e82beb39bca3f67c6ffcdbaf684671f551ffa' }, this.accessibleLabel);
28276
- return (hAsync(Host, { key: 'c014d004ab6a355f122447e806b5c12f62aba277' }, hAsync("button", { key: 'eda0bd6c55287d8ac393c2af3f65cbb910cd8c50', ref: el => (this.buttonElement = el), "aria-controls": this.tooltipId, "aria-expanded": this.active ? "true" : "false", type: "button", class: {
28641
+ const visuallyHidden = hAsync("duet-visually-hidden", { key: '0feec5f01a66092aeb84f7d046b784dc3751530b' }, this.accessibleLabel);
28642
+ return (hAsync(Host, { key: 'db94478bf79285a1393bb6c9f670a9e866c30bec' }, hAsync("button", { key: 'c3799f4bd23520384035f33845c6ddf0c1675b2b', ref: el => (this.buttonElement = el), "aria-controls": this.tooltipId, "aria-expanded": this.active ? "true" : "false", type: "button", class: {
28277
28643
  "duet-tooltip-button": true,
28278
28644
  "duet-tooltip-button-has-label": !!this.label,
28279
28645
  "duet-theme-turva": this.theme === "turva",
28280
28646
  "duet-tooltip-button-negative": this.negative,
28281
- } }, hAsync("svg", { key: 'f6d4082627cb5a653bdd3668cc899bb885d204a1', "aria-hidden": "true", role: "img", fill: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, hAsync("path", { key: '21df01e868e6f304a33a50d4ac2442d6f43376aa', d: "m13.5 17.25c-1.241 0-2.25-1.009-2.25-2.25v-3.75h-.75c-.414 0-.75-.336-.75-.75s.336-.75.75-.75h.75c.827 0 1.5.673 1.5 1.5v3.75c0 .414.336.75.75.75h.75c.414 0 .75.336.75.75s-.336.75-.75.75z" }), hAsync("circle", { key: 'ba4e4c5cb1bf9f5e91e5ab8746485ca140b9a597', cx: "11.625", cy: "7.125", r: "1.125" }), hAsync("path", { key: '0a3e24ec139b2442be22ebc85c663c891a050c08', d: "m12 24c-6.617 0-12-5.383-12-12s5.383-12 12-12 12 5.383 12 12-5.383 12-12 12zm0-22.5c-5.79 0-10.5 4.71-10.5 10.5s4.71 10.5 10.5 10.5 10.5-4.71 10.5-10.5-4.71-10.5-10.5-10.5z" })), this.label ? (hAsync("span", { class: "duet-tooltip-label" }, this.label, visuallyHidden)) : (visuallyHidden))));
28647
+ "duet-tooltip-button-in-badge": this.inBadge,
28648
+ } }, hAsync("svg", { key: 'cd8ae6afbe8856114e6acfd5f238ccdef96bf5ec', "aria-hidden": "true", role: "img", fill: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, hAsync("path", { key: 'ee341df24b231902d95a09634d155f1f3f90bd0c', d: "m13.5 17.25c-1.241 0-2.25-1.009-2.25-2.25v-3.75h-.75c-.414 0-.75-.336-.75-.75s.336-.75.75-.75h.75c.827 0 1.5.673 1.5 1.5v3.75c0 .414.336.75.75.75h.75c.414 0 .75.336.75.75s-.336.75-.75.75z" }), hAsync("circle", { key: '5b0878e6e0b20c1bb40f14578cf8e75597b27bb1', cx: "11.625", cy: "7.125", r: "1.125" }), hAsync("path", { key: '85e8d046ab8d8de4eebb29c345d0a706484c3a0d', d: "m12 24c-6.617 0-12-5.383-12-12s5.383-12 12-12 12 5.383 12 12-5.383 12-12 12zm0-22.5c-5.79 0-10.5 4.71-10.5 10.5s4.71 10.5 10.5 10.5 10.5-4.71 10.5-10.5-4.71-10.5-10.5-10.5z" })), this.label ? (hAsync("span", { class: "duet-tooltip-label" }, this.label, visuallyHidden)) : (visuallyHidden))));
28282
28649
  }
28283
28650
  get element() { return getElement(this); }
28284
28651
  static get style() { return duetTooltipButtonCss; }
@@ -28292,6 +28659,7 @@ class DuetTooltipButton {
28292
28659
  "negative": [4],
28293
28660
  "active": [4],
28294
28661
  "tooltipId": [1, "tooltip-id"],
28662
+ "inBadge": [4, "in-badge"],
28295
28663
  "setFocus": [64]
28296
28664
  },
28297
28665
  "$listeners$": undefined,
@@ -28300,7 +28668,7 @@ class DuetTooltipButton {
28300
28668
  }; }
28301
28669
  }
28302
28670
 
28303
- const duetTooltipPopupCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;position:absolute;z-index:950}.duet-tooltip{position:relative;visibility:hidden;width:282px;min-height:48px;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(8, 42, 77);background:rgb(255, 255, 255);border:1px solid rgb(212, 223, 229);border-radius:4px;box-shadow:0 2px 10px 0 rgba(0, 41, 77, 0.07);opacity:0;transform-origin:100% 100%;transition:300ms ease}.duet-tooltip .arrow{position:absolute;width:22px;height:22px;pointer-events:none}.duet-tooltip .arrow.bottom,.duet-tooltip .arrow.bottom-start,.duet-tooltip .arrow.bottom-end{top:-20px}.duet-tooltip .arrow-container{position:relative;left:4px;width:100%;height:100%;pointer-events:none}.duet-tooltip .arrow-container::after{position:absolute;z-index:200;width:0;height:0;pointer-events:none;content:\"\"}.duet-tooltip .arrow-container::before{position:absolute;z-index:100;width:0;height:0;pointer-events:none;content:\"\"}.duet-tooltip .arrow-container.top::after,.duet-tooltip .arrow-container.top-start::after,.duet-tooltip .arrow-container.top-end::after{bottom:2px;left:2px;border:10px solid transparent;border-top:10px solid rgb(255, 255, 255)}.duet-tooltip .arrow-container.top::before,.duet-tooltip .arrow-container.top-start::before,.duet-tooltip .arrow-container.top-end::before{bottom:-1px;left:1px;border:11px solid transparent;border-top:11px solid rgb(212, 223, 229)}.duet-tooltip .arrow-container.bottom::after,.duet-tooltip .arrow-container.bottom-start::after,.duet-tooltip .arrow-container.bottom-end::after{bottom:1px;left:2px;border:10px solid transparent;border-bottom:10px solid rgb(255, 255, 255)}.duet-tooltip .arrow-container.bottom::before,.duet-tooltip .arrow-container.bottom-start::before,.duet-tooltip .arrow-container.bottom-end::before{bottom:1px;left:1px;border:11px solid transparent;border-bottom:11px solid rgb(212, 223, 229)}.duet-tooltip.duet-tooltip-has-label{right:auto !important;left:0;width:282px !important;transform-origin:0 0 !important}.duet-tooltip.duet-tooltip-active{visibility:visible;opacity:1;transition-property:transform, opacity}.duet-tooltip-content-area{padding:20px !important;width:100%;padding-right:25px !important;overflow-y:auto;-webkit-hyphens:auto;hyphens:auto;border-radius:4px;-webkit-overflow-scrolling:touch}.duet-tooltip-content-area:focus{outline:0}:host(.user-is-tabbing) .duet-tooltip-content-area:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva :host(.user-is-tabbing) .duet-tooltip-content-area:focus,:host(.user-is-tabbing) .duet-tooltip-content-area:focus.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-tooltip-content-area::-webkit-scrollbar{width:4px}.duet-tooltip-content-area::-webkit-scrollbar-track{border-radius:4px}.duet-tooltip-content-area::-webkit-scrollbar-thumb{background:rgb(212, 223, 229);border-radius:4px}.duet-tooltip-close{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:17px;height:17px;min-height:0 !important;padding:0 !important;margin:0 !important;line-height:normal;color:rgb(8, 42, 77);-webkit-appearance:none;appearance:none;cursor:pointer;background:rgb(245, 248, 250);border-radius:50%}.duet-tooltip-close:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-tooltip-close:focus,.duet-tooltip-close:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-theme-turva .duet-tooltip-close{color:rgb(23, 42, 59)}.duet-theme-turva.duet-tooltip.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 42, 59);border-color:rgb(212, 221, 226);box-shadow:0 2px 10px 0 rgba(117, 117, 117, 0.13)}.duet-theme-turva.duet-tooltip .arrow-container.top::before,.duet-theme-turva.duet-tooltip .arrow-container.top-start::before,.duet-theme-turva.duet-tooltip .arrow-container.top-end::before{border-top:11px solid rgb(212, 221, 226)}.duet-theme-turva.duet-tooltip .arrow-container.bottom::before,.duet-theme-turva.duet-tooltip .arrow-container.bottom-start::before,.duet-theme-turva.duet-tooltip .arrow-container.bottom-end::before{border-bottom:11px solid rgb(212, 221, 226)}.duet-theme-turva .duet-tooltip-content-area::-webkit-scrollbar-thumb{background:rgb(212, 221, 226)}.duet-theme-turva .duet-tooltip-close{color:rgb(23, 42, 59)}";
28671
+ const duetTooltipPopupCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;position:absolute;z-index:950}.duet-tooltip{position:relative;visibility:hidden;width:282px;min-height:48px;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(8, 42, 77);background:rgb(255, 255, 255);border:1px solid rgb(212, 223, 229);border-radius:4px;box-shadow:0 2px 10px 0 rgba(0, 41, 77, 0.07);opacity:0;transform-origin:100% 100%;transition:300ms ease}.duet-tooltip .arrow{position:absolute;width:22px;height:22px;pointer-events:none}.duet-tooltip .arrow.bottom,.duet-tooltip .arrow.bottom-start,.duet-tooltip .arrow.bottom-end{top:-21px}.duet-tooltip .arrow-container{position:relative;left:4px;width:100%;height:100%;pointer-events:none}.duet-tooltip .arrow-container::after{position:absolute;z-index:200;width:0;height:0;pointer-events:none;content:\"\"}.duet-tooltip .arrow-container::before{position:absolute;z-index:100;width:0;height:0;pointer-events:none;content:\"\"}.duet-tooltip .arrow-container.top::after,.duet-tooltip .arrow-container.top-start::after,.duet-tooltip .arrow-container.top-end::after{bottom:2px;left:2px;border:10px solid transparent;border-top:10px solid rgb(255, 255, 255)}.duet-tooltip .arrow-container.top::before,.duet-tooltip .arrow-container.top-start::before,.duet-tooltip .arrow-container.top-end::before{bottom:-1px;left:1px;border:11px solid transparent;border-top:11px solid rgb(212, 223, 229)}.duet-tooltip .arrow-container.bottom::after,.duet-tooltip .arrow-container.bottom-start::after,.duet-tooltip .arrow-container.bottom-end::after{bottom:1px;left:2px;border:10px solid transparent;border-bottom:10px solid rgb(255, 255, 255)}.duet-tooltip .arrow-container.bottom::before,.duet-tooltip .arrow-container.bottom-start::before,.duet-tooltip .arrow-container.bottom-end::before{bottom:1px;left:1px;border:11px solid transparent;border-bottom:11px solid rgb(212, 223, 229)}.duet-tooltip.duet-tooltip-has-label{right:auto !important;left:0;width:282px !important;transform-origin:0 0 !important}.duet-tooltip.duet-tooltip-active{visibility:visible;opacity:1;transition-property:transform, opacity}.duet-tooltip-content-area{padding:20px !important;width:100%;padding-right:25px !important;overflow-y:auto;-webkit-hyphens:auto;hyphens:auto;border-radius:4px;-webkit-overflow-scrolling:touch}.duet-tooltip-content-area:focus{outline:0}:host(.user-is-tabbing) .duet-tooltip-content-area:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva :host(.user-is-tabbing) .duet-tooltip-content-area:focus,:host(.user-is-tabbing) .duet-tooltip-content-area:focus.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-tooltip-content-area::-webkit-scrollbar{width:4px}.duet-tooltip-content-area::-webkit-scrollbar-track{border-radius:4px}.duet-tooltip-content-area::-webkit-scrollbar-thumb{background:rgb(212, 223, 229);border-radius:4px}.duet-tooltip-close{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:17px;height:17px;min-height:0 !important;padding:0 !important;margin:0 !important;line-height:normal;color:rgb(8, 42, 77);-webkit-appearance:none;appearance:none;cursor:pointer;background:rgb(245, 248, 250);border-radius:50%}.duet-tooltip-close:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-tooltip-close:focus,.duet-tooltip-close:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-theme-turva .duet-tooltip-close{color:rgb(23, 42, 59)}.duet-theme-turva.duet-tooltip.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 42, 59);border-color:rgb(212, 221, 226);box-shadow:0 2px 10px 0 rgba(117, 117, 117, 0.13)}.duet-theme-turva.duet-tooltip .arrow-container.top::before,.duet-theme-turva.duet-tooltip .arrow-container.top-start::before,.duet-theme-turva.duet-tooltip .arrow-container.top-end::before{border-top:11px solid rgb(212, 221, 226)}.duet-theme-turva.duet-tooltip .arrow-container.bottom::before,.duet-theme-turva.duet-tooltip .arrow-container.bottom-start::before,.duet-theme-turva.duet-tooltip .arrow-container.bottom-end::before{border-bottom:11px solid rgb(212, 221, 226)}.duet-theme-turva .duet-tooltip-content-area::-webkit-scrollbar-thumb{background:rgb(212, 221, 226)}.duet-theme-turva .duet-tooltip-close{color:rgb(23, 42, 59)}";
28304
28672
 
28305
28673
  /**
28306
28674
  * @internal
@@ -28343,14 +28711,14 @@ class DuetTooltipPopup {
28343
28711
  this.contentEl.focus();
28344
28712
  }
28345
28713
  render() {
28346
- return (hAsync(Host, { key: '63f303082985a668ae51759122ae462ae25404e0' }, hAsync("div", { key: 'e3da6a6995872c70fb5d690ea87cf240240a2d0d', class: {
28714
+ return (hAsync(Host, { key: '9deff2cfd70a65940c7ab5ccb4e0ef20f8242205' }, hAsync("div", { key: 'f602ad4390d1a2c739dd40ae286cb4f681b7c0d3', class: {
28347
28715
  "duet-tooltip": true,
28348
28716
  "duet-theme-turva": this.theme === "turva",
28349
28717
  "duet-tooltip-active": this.active === true,
28350
- } }, hAsync(FocusGuard, { key: '428ef9ad1157017747e93d3b0f6b45e6dd4d8854', moveFocusTo: this.buttonEl }), hAsync("div", { key: 'cf4af07ba0054be6658c5724c7552854b3471472', ref: element => (this.contentEl = element), class: {
28718
+ } }, hAsync(FocusGuard, { key: '636c36bd6510ea79aafc2b00cafe8554f0b13293', moveFocusTo: this.buttonEl }), hAsync("div", { key: '0b7bc86af9aee1f48ace5549ff30a0b613c9441e', ref: element => (this.contentEl = element), class: {
28351
28719
  "duet-tooltip-content-area": true,
28352
28720
  "duet-theme-turva": this.theme === "turva",
28353
- }, tabindex: -1, id: this.tooltipId }, hAsync("slot", { key: '3d21605221e8f16c59a2a62790dfce1a9cd15ea5' })), hAsync("div", { key: 'e2e7ae6376f8dd497ef19ff673f22b699f8a55e6', ref: element => (this.arrowEl = element), class: { arrow: true, [this.placement]: true }, style: this.arrowStyles }, hAsync("div", { key: '0bd6b8b42c5e1b2b6eaf89c19a5ad2a968f3e541', class: { "arrow-container": true, [this.placement]: true } })), hAsync("button", { key: '1b7be53d18b09050af7fc192f65c2e9e01ec62a8', type: "button", class: "duet-tooltip-close", onClick: this.handleCloseClick, ref: el => (this.buttonEl = el) }, hAsync("duet-icon", { key: '91636953a64d83fc88e888dab06b1ca482f47dd4', name: "navigation-close-small", margin: "none", color: "currentColor", size: "xxx-small" }), hAsync("duet-visually-hidden", { key: '487a4c4b37a1891f07f203bb5cf22f8dc999c8e5' }, this.accessibleCloseLabel)), hAsync(FocusGuard, { key: 'cd18c3c009967eca235de7d7d5e9f7208692bb56', moveFocusTo: this.contentEl }))));
28721
+ }, tabindex: -1, id: this.tooltipId }, hAsync("slot", { key: 'f7d35e94bca2a7d45eb37b1dfa98bb95003e601d' })), hAsync("div", { key: 'd34a92246923a554c6fa9997b6f5cc81033cfb93', ref: element => (this.arrowEl = element), class: { arrow: true, [this.placement]: true }, style: this.arrowStyles }, hAsync("div", { key: 'd77b4f9b62211f1bc657143a42be59009b30b74f', class: { "arrow-container": true, [this.placement]: true } })), hAsync("button", { key: '0c24b8f406b74f4ffc3334b53319ca43404236c3', type: "button", class: "duet-tooltip-close", onClick: this.handleCloseClick, ref: el => (this.buttonEl = el) }, hAsync("duet-icon", { key: '313ebabda3b0c3720434e6b620c23d65b5d9cecd', name: "navigation-close-small", margin: "none", color: "currentColor", size: "xxx-small" }), hAsync("duet-visually-hidden", { key: 'f494b2c6cef9b38a872153474cc5880dbc07e9e4' }, this.accessibleCloseLabel)), hAsync(FocusGuard, { key: 'a12f546822ce65cf3c23fde365389dcdf01952e9', moveFocusTo: this.contentEl }))));
28354
28722
  }
28355
28723
  get element() { return getElement(this); }
28356
28724
  static get style() { return duetTooltipPopupCss; }
@@ -28499,14 +28867,14 @@ class DuetTray {
28499
28867
  * Always the last one in the class.
28500
28868
  */
28501
28869
  render() {
28502
- return (hAsync("div", { key: 'f214ce1bc33434f910d47ad3eb6c32f9def079a6', class: {
28870
+ return (hAsync("div", { key: 'b61dd691c3f9aa656b3561879fa32316b75d32a8', class: {
28503
28871
  "duet-tray": true,
28504
28872
  "duet-tray-is-active": this.active,
28505
28873
  "duet-tray-is-hidden": this.hiddenState,
28506
28874
  "duet-tray-is-responsive": this.responsive,
28507
28875
  "duet-theme-turva": this.theme === "turva",
28508
28876
  "duet-tray-is-expandable": this.hasAdditionalContent,
28509
- } }, hAsync("div", { key: '4b233933831bb971fdfcbcfeb1a45a24376c9334', class: "duet-tray-default-content", role: "status" }, hAsync("slot", { key: 'dd4e32bc8ac1287203ae396fe8c21184971ed452' })), this.hasAdditionalContent && (hAsync(Fragment, { key: '978f4eac8618d6e6806c2b949e61555881739314' }, hAsync("button", { key: '733c5973d36830c6c93d80e74d943f89d6cc02ea', "aria-expanded": this.expanded ? "true" : "false", "aria-controls": this.expandableId, onClick: ev => this.toggleExpandable(ev), class: { "duet-tray-button": true, "duet-tray-is-expanded": this.expanded } }, hAsync("duet-icon", { key: '84843a2d3b1481545f27f6dd15854e7382f712ea', name: "action-arrow-down", size: "small", color: "currentColor", margin: "none" }), hAsync("duet-visually-hidden", { key: 'c071fa18c128c620dd838dd8a0d6fce553bb60aa' }, this.expanded ? this.accessibleCloseLabel : this.accessibleOpenLabel)), hAsync("div", { key: '85ae38a4a6b17d8acec9bbd7948eba44ed6bf28c', id: this.expandableId, class: { "duet-tray-expandable": true, active: this.expanded } }, hAsync("div", { key: '3cf4e3889f982c47287b962430c62596aad7f81c', class: "duet-tray-expandable-content" }, hAsync("slot", { key: 'ea85e6c58ed79bc61d885f859d296ec9a6a590d3', name: "additional" })))))));
28877
+ } }, hAsync("div", { key: '03161a80eb3c11cd5825830827633be3b0ff13e0', class: "duet-tray-default-content", role: "status" }, hAsync("slot", { key: 'b8f6995244f5d395cd8ee53923466dac43158c56' })), this.hasAdditionalContent && (hAsync(Fragment, { key: 'e6698c1b607ce8531a07b0aecb5c21e43eb1675e' }, hAsync("button", { key: 'c22d5dd724b08d03dee467e88d5a567a4ab38813', "aria-expanded": this.expanded ? "true" : "false", "aria-controls": this.expandableId, onClick: ev => this.toggleExpandable(ev), class: { "duet-tray-button": true, "duet-tray-is-expanded": this.expanded } }, hAsync("duet-icon", { key: '40ecef7b962408021a3366de1622f67274c043bd', name: "action-arrow-down", size: "small", color: "currentColor", margin: "none" }), hAsync("duet-visually-hidden", { key: 'fae082943ef437bac9e8cf627f5591376d32f135' }, this.expanded ? this.accessibleCloseLabel : this.accessibleOpenLabel)), hAsync("div", { key: '90b5db0741a93877341df58d3d940ed2d5e4abcc', id: this.expandableId, class: { "duet-tray-expandable": true, active: this.expanded } }, hAsync("div", { key: '8d4c2d660ce015567c2b1af4a1830df54e2687a5', class: "duet-tray-expandable-content" }, hAsync("slot", { key: '3dd3fe954e0304e64b64bf7d19a3ca8d481b547f', name: "additional" })))))));
28510
28878
  }
28511
28879
  get element() { return getElement(this); }
28512
28880
  static get style() { return duetTrayCss; }
@@ -29821,10 +30189,10 @@ class DuetUpload {
29821
30189
  this.externalUploadButton.accessibleLabel = `${this.externalUploadButton.innerText}. ${caption}`;
29822
30190
  }
29823
30191
  // @ts-ignore
29824
- return (hAsync(Host, { key: '855e27e55645747625669bf080e6f65423b9bbf0', class: { "duet-m-0": this.margin === "none" } }, hAsync("duet-fieldset", { key: '89d6b1b88260ccb7ffa2f4a3130fdf74d904e048', "label-heading-level": this.headerHeadingLevel, "label-hidden": this.hideHeader, label: this.label }, hAsync("slot", { key: '10b9cdc44bd94871f538a9299ea6252f4375a864', name: "header" }), !this.files.size && (hAsync("duet-empty-state", { key: '924905b1aafa76175b93f12dd6e7d7ac8ac5b5e3', id: this.labelId, part: this.identifier ? `${this.identifier}-empty-state` : "duet-upload-empty-state", icon: "messaging-attachment" }, hAsync("duet-paragraph", { key: 'f744c2afdb520cd0e69a15c0a942f6ecd8e30b75', margin: "none" }, this.fileListEmpty))), !!this.files.size && hAsync("slot", { key: 'da55dafcb732e24b895185995040decfe40382c6', name: "fileheader" }), !!this.files.size && (hAsync("duet-upload-aria-status", { key: '199e78733f262f857124540bbd055e7c6cbcaf6a', invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && this.renderUploadedItems(), !!this.files.size && hAsync("slot", { key: 'd6327694548a1ee39188af3935c67d0a6eaead79', name: "filefooter" }), hAsync("slot", { key: '718e1e5d1f7041d2d596ada75a717942b74999f6', name: "uploadfooter" }), this.captionOnBottom && (hAsync("duet-caption", { key: 'd15f3fd09b07de11dc1f725bc9ee344889b6445f', margin: "none", size: "small" }, hAsync("div", { key: '1e4e1c3a29338fa3339cd2de701ba3c776c1166a', class: "upload-bottom-caption" }, caption))), hAsync("slot", { key: '90f1e8de4c8359df2b8dded1bf5211857ce48a79', name: "afterfooter" }), !this.hideButton && (hAsync(Fragment, { key: '431fb04536068eefdf974fc34f89f56e712674c9' }, hAsync("duet-spacer", { key: 'c98d3f3e0f06d17b1b86ab40486a663ef8c6a75e', size: "large" }), hAsync("duet-button", { key: '1f057848bdacb5e69ef63e2bfdc81e216271f455', id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel || `${this.buttonLabel}. ${caption}`, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel))), (this.fileMaxReached ||
30192
+ return (hAsync(Host, { key: '56a66fb13e2d5b1e975502e6c02e0374b464dab1', class: { "duet-m-0": this.margin === "none" } }, hAsync("duet-fieldset", { key: '402d0cd0bfc53a1fd6d981227186277cf58ef428', "label-heading-level": this.headerHeadingLevel, "label-hidden": this.hideHeader, label: this.label }, hAsync("slot", { key: '2e9c7748bbd2e39175cb19e2d3fa2a6c5b5e0d90', name: "header" }), !this.files.size && (hAsync("duet-empty-state", { key: 'a7c200b271571a9758bbc92c91d0c0d761a8383f', id: this.labelId, part: this.identifier ? `${this.identifier}-empty-state` : "duet-upload-empty-state", icon: "messaging-attachment" }, hAsync("duet-paragraph", { key: '5bd08aa838e2b2fe41c7cda3895dea43ad14cdc2', margin: "none" }, this.fileListEmpty))), !!this.files.size && hAsync("slot", { key: '1e874d98480606d31435b4e8c18e78b5562d5af3', name: "fileheader" }), !!this.files.size && (hAsync("duet-upload-aria-status", { key: '2093949b2d42328009e91051a6c8e2cd3c8d66cb', invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && this.renderUploadedItems(), !!this.files.size && hAsync("slot", { key: '7f5376e608450c72e17e44360074667501fab26f', name: "filefooter" }), hAsync("slot", { key: '0786ed3f222fea600dbe962f9fc8567de54fc612', name: "uploadfooter" }), this.captionOnBottom && (hAsync("duet-caption", { key: 'c2a67358020739bb490e36f573fd9bf7f60cbb48', margin: "none", size: "small" }, hAsync("div", { key: 'fdd83feb31ce19b351e40e28005c3081d69e0a6c', class: "upload-bottom-caption" }, caption))), hAsync("slot", { key: 'bf1265497a10a890adc43104eebf251f1876cc32', name: "afterfooter" }), !this.hideButton && (hAsync(Fragment, { key: '3e1d242d5a44cac89bf099556b2323a249d615b4' }, hAsync("duet-spacer", { key: '664591d6c28c59f626e14e691fcdc9434c37a23b', size: "large" }), hAsync("duet-button", { key: 'b688f7277f2d77bcc7bac03bb357b6a71302b1bf', id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel || `${this.buttonLabel}. ${caption}`, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel))), (this.fileMaxReached ||
29825
30193
  this.bytesMaxReached ||
29826
30194
  this.filesToUploadExceedsLimit ||
29827
- this.filesToUploadTotalSizeIsAboveMax) && (hAsync(Fragment, { key: '8169162805d7ec3a093344e09a4bd9241c1b9c58' }, hAsync("duet-spacer", { key: '0f6500a4ada6c4b3c73f6524bf224ee1d79f0ae6', size: "medium" }), hAsync("duet-alert", { key: '8bbc63eb777fa98ff0f797d970d66835ac6155a5', part: this.identifier ? `${this.identifier}-error-notification` : "duet-upload-error-notification" }, this.fileMaxReached && getI18nError("duet-upload-301", this.errorCodes), this.bytesMaxReached && getI18nError("duet-upload-202", this.errorCodes), this.filesToUploadExceedsLimit && getI18nError("duet-upload-302", this.errorCodes), this.filesToUploadTotalSizeIsAboveMax && getI18nError("duet-upload-203", this.errorCodes)))), hAsync("duet-visually-hidden", { key: '5fb70459ca757cc24041ce6e01414165ba6497b5', "aria-hidden": "true" }, hAsync("input", { key: '808b15c23e12cf691f85e48e1a03106409b81565', ref: input => {
30195
+ this.filesToUploadTotalSizeIsAboveMax) && (hAsync(Fragment, { key: '1d525d949fe3b1f16cbad102b17ccb1662b6ebda' }, hAsync("duet-spacer", { key: '0f9192d41feeb38243181a24cd8282f88f1c8615', size: "medium" }), hAsync("duet-alert", { key: '6ff272d122f622205262c116a25a99dc889ffa6f', part: this.identifier ? `${this.identifier}-error-notification` : "duet-upload-error-notification" }, this.fileMaxReached && getI18nError("duet-upload-301", this.errorCodes), this.bytesMaxReached && getI18nError("duet-upload-202", this.errorCodes), this.filesToUploadExceedsLimit && getI18nError("duet-upload-302", this.errorCodes), this.filesToUploadTotalSizeIsAboveMax && getI18nError("duet-upload-203", this.errorCodes)))), hAsync("duet-visually-hidden", { key: '9c819c3fa17b4954699fe60bd343ff32188ae5da', "aria-hidden": "true" }, hAsync("input", { key: 'bb9d9c02d82c35b46c9ed91a8f7340aeb6f69fb1', ref: input => {
29828
30196
  this.nativeInput = input;
29829
30197
  }, accept: !this.limitSelection ? undefined : `${this.allowedMimetypes},${this.allowedExtensions}`, onBlur: this.onBlur, onFocus: this.onFocus, onChange: e => this.onChange(e), type: "file", class: {
29830
30198
  "duet-upload": true,
@@ -30166,7 +30534,7 @@ class DuetUploadAriaStatus {
30166
30534
  * Always the last one in the class.
30167
30535
  */
30168
30536
  render() {
30169
- return (hAsync(Host, { key: 'dfba0ccef69bd34b3c4f8980caa95375ed480f83', role: "status", "aria-live": "assertive", "aria-atomic": "true", "aria-relevant": "all" }, hAsync("duet-visually-hidden", { key: '20bd47d50fbc2097aae0656ffb367299284ff441' }, this.statusMessage)));
30537
+ return (hAsync(Host, { key: '5287943c19687aeea0e9b06a40e5650ff04cac6d', role: "status", "aria-live": "assertive", "aria-atomic": "true", "aria-relevant": "all" }, hAsync("duet-visually-hidden", { key: '642e4b4e31d449ef0fb6ad1ec988d6e5d175f179' }, this.statusMessage)));
30170
30538
  }
30171
30539
  get element() { return getElement(this); }
30172
30540
  static get watchers() { return {
@@ -30242,7 +30610,7 @@ let DuetUploadItem$1 = class DuetUploadItem {
30242
30610
  inheritGlobalTheme(this);
30243
30611
  }
30244
30612
  render() {
30245
- return (hAsync(Host, { key: '96ed40ea2f9ae846c2ad9654c04511e312933fcd' }, hAsync("duet-visually-hidden", { key: '2092c91fbf71c47a422748e27741c8a2695d4d5f', "aria-hidden": "true" }, hAsync("input", { key: '1e83b554493c852b23e14bd801f8c48a42c8790e', ref: input => {
30613
+ return (hAsync(Host, { key: 'f17176210e5f0675eb847b4d9d60594a226e3dab' }, hAsync("duet-visually-hidden", { key: '3a0eef27ad35e9348f9047f8ad2dcf13c5a9ad76', "aria-hidden": "true" }, hAsync("input", { key: '4c67d86c2f388fbd4e2914013b0611e973a24e35', ref: input => {
30246
30614
  this.nativeInput = input;
30247
30615
  }, type: "file", class: {
30248
30616
  "duet-upload": true,
@@ -30346,9 +30714,9 @@ class DuetUploadItem {
30346
30714
  const { uid, meta, item } = this.data;
30347
30715
  const Badges = meta && meta.badges ? (hAsync("span", null, meta.badges.map(badgeText => (hAsync("duet-badge", { color: "primary" }, badgeText))))) : undefined;
30348
30716
  const actionDescription = `${meta && meta.badges ? meta.badges.join(",") : ""} ${item.name}`;
30349
- return (hAsync("div", { key: 'af4b480a7c50c90ebf35c2744a0c6d301c026ee9', class: {
30717
+ return (hAsync("div", { key: 'a1edd9a770aa019bd6604d67b2cd4fc5ec1ff7a1', class: {
30350
30718
  "upload-item-row": true,
30351
- } }, this.showCategory && (hAsync("div", { key: '4717379f9f4b5848066dd29975972f19b46e2ca2', class: "item-categories" }, hAsync("duet-heading", { key: '629de4c001a31d3ac9e509f4d8c4e48453b861bb', class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(this.categoryLabel)), Badges)), hAsync("div", { key: '0bab4d7664d6f2032dac1ea95b2b608297ab4d2a', class: { "item-name": true, "no-category": !this.showCategory } }, !!this.label && (hAsync("duet-heading", { key: '65d2a44a4b4b3353766658557242ad53c357236e', class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(this.label))), this.getFileNameLine()), hAsync("div", { key: '5e5cce5f36a34f4b24c21a1055874ba9bc59493b', class: "item-actions" }, this.actions.map(actionItem => {
30719
+ } }, this.showCategory && (hAsync("div", { key: '2e74eca5c89a77975cba75685acbdb4f517da81c', class: "item-categories" }, hAsync("duet-heading", { key: '90dc1251073ef07085b355c82f17f7f6aa5aff72', class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(this.categoryLabel)), Badges)), hAsync("div", { key: '75ab96c30689b58829224123ac875d567f882b47', class: { "item-name": true, "no-category": !this.showCategory } }, !!this.label && (hAsync("duet-heading", { key: '52b7124f793247f2b4d55873c4c47f8d2682660b', class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(this.label))), this.getFileNameLine()), hAsync("div", { key: '2430a9c7e24ea14056ba78c3ddd672cbc86bae40', class: "item-actions" }, this.actions.map(actionItem => {
30352
30720
  return (hAsync("duet-action-button", { actionMeta: Object.assign({}, meta || {}), actionId: uid || null, actionName: actionItem.name, theme: this.theme, iconName: actionItem.icon, iconColor: actionItem.color, iconSize: actionItem.size, background: actionItem.background, "accessible-label": `${actionDescription} ${getLocaleString(actionItem.label)} `, accessibleTitle: this.getActionButtonTitle(actionItem), ref: button => (this.actionButton = button) }));
30353
30721
  }))));
30354
30722
  }
@@ -30388,7 +30756,7 @@ class DuetVisuallyHidden {
30388
30756
  * Always the last one in the class.
30389
30757
  */
30390
30758
  render() {
30391
- return (hAsync(Host, { key: '0b6d7c8ffd99088d9679558cf45fd682f17754b8', class: "duet-visually-hidden" }, hAsync("slot", { key: 'a1fd4a31404091a50c989a4ccbe6ea9b8233fa73' })));
30759
+ return (hAsync(Host, { key: '4404c44b59f635d9165c960341fbdd957d8f451c', class: "duet-visually-hidden" }, hAsync("slot", { key: 'caa2aef6f4faf8ca34300b885d2de0772e272ad3' })));
30392
30760
  }
30393
30761
  get element() { return getElement(this); }
30394
30762
  static get style() { return duetVisuallyHiddenCss; }