@duetds/components 6.8.2 → 6.8.4

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 (632) hide show
  1. package/hydrate/index.js +407 -86
  2. package/lib/cjs/duet-action-button.cjs.entry.js +11 -2
  3. package/lib/cjs/duet-alert.cjs.entry.js +14 -1
  4. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  7. package/lib/cjs/duet-button_2.cjs.entry.js +9 -1
  8. package/lib/cjs/duet-caption_4.cjs.entry.js +15 -1
  9. package/lib/cjs/duet-card.cjs.entry.js +1 -1
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
  12. package/lib/cjs/duet-choice_2.cjs.entry.js +22 -4
  13. package/lib/cjs/duet-collapsible.cjs.entry.js +4 -2
  14. package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-contact-card.cjs.entry.js +1 -1
  16. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  17. package/lib/cjs/duet-date-picker.cjs.entry.js +15 -3
  18. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-editable-table_3.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  22. package/lib/cjs/duet-footer.cjs.entry.js +14 -2
  23. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-header_2.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-icon.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  29. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  30. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +2 -2
  31. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +11 -3
  32. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +17 -4
  33. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +3 -3
  34. package/lib/cjs/duet-menu-bar.cjs.entry.js +7 -1
  35. package/lib/cjs/duet-modal.cjs.entry.js +12 -2
  36. package/lib/cjs/duet-multiselect.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-nav.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-number-input.cjs.entry.js +3 -3
  40. package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
  41. package/lib/cjs/duet-pagination_2.cjs.entry.js +6 -4
  42. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  45. package/lib/cjs/duet-scrollable_3.cjs.entry.js +2 -2
  46. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  47. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  48. package/lib/cjs/duet-slideout-lang.cjs.entry.js +9 -2
  49. package/lib/cjs/duet-slideout-link.cjs.entry.js +3 -3
  50. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +9 -3
  51. package/lib/cjs/duet-slideout-panel.cjs.entry.js +37 -9
  52. package/lib/cjs/duet-slideout.cjs.entry.js +48 -9
  53. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  54. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +13 -3
  55. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +31 -5
  56. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +12 -3
  57. package/lib/cjs/duet-submenu-bar.cjs.entry.js +42 -4
  58. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  59. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  60. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +11 -3
  61. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +17 -4
  62. package/lib/cjs/duet-toolbar-link.cjs.entry.js +3 -3
  63. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
  64. package/lib/cjs/duet-tooltip.cjs.entry.js +4 -1
  65. package/lib/cjs/duet-tray.cjs.entry.js +1 -1
  66. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  67. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  68. package/lib/cjs/duet.cjs.js +2 -2
  69. package/lib/cjs/{focus-utils-65c3a6dd.js → focus-utils-1cfcd199.js} +1 -1
  70. package/lib/cjs/{index-5bd185a8.js → index-ab015402.js} +1 -1
  71. package/lib/cjs/loader.cjs.js +2 -2
  72. package/lib/collection/components/duet-action-button/duet-action-button.js +38 -3
  73. package/lib/collection/components/duet-alert/duet-alert.js +21 -4
  74. package/lib/collection/components/duet-button/duet-button.js +27 -12
  75. package/lib/collection/components/duet-caption/duet-caption.js +1 -1
  76. package/lib/collection/components/duet-card/duet-card.js +3 -3
  77. package/lib/collection/components/duet-checkbox/duet-checkbox.js +3 -3
  78. package/lib/collection/components/duet-choice/duet-choice.js +33 -11
  79. package/lib/collection/components/duet-choice-group/duet-choice-group.css +1 -1
  80. package/lib/collection/components/duet-collapsible/duet-collapsible.css +3 -0
  81. package/lib/collection/components/duet-collapsible/duet-collapsible.js +23 -3
  82. package/lib/collection/components/duet-combobox/duet-combobox.js +3 -3
  83. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  84. package/lib/collection/components/duet-date-picker/duet-date-picker.js +23 -9
  85. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  86. package/lib/collection/components/duet-editable-table/duet-editable-table.js +5 -5
  87. package/lib/collection/components/duet-empty-state/duet-empty-state.js +1 -1
  88. package/lib/collection/components/duet-footer/duet-footer.js +26 -12
  89. package/lib/collection/components/duet-grid/duet-grid.js +3 -3
  90. package/lib/collection/components/duet-header/duet-header.js +15 -15
  91. package/lib/collection/components/duet-heading/duet-heading.js +1 -1
  92. package/lib/collection/components/duet-hero/duet-hero.js +5 -5
  93. package/lib/collection/components/duet-icon/duet-icon.js +1 -1
  94. package/lib/collection/components/duet-input/duet-input.js +8 -8
  95. package/lib/collection/components/duet-label/duet-label.js +2 -2
  96. package/lib/collection/components/duet-layout/duet-layout.js +1 -1
  97. package/lib/collection/components/duet-link/duet-link.js +20 -3
  98. package/lib/collection/components/duet-list/duet-list.js +4 -4
  99. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  100. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +17 -2
  101. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.css +7 -0
  102. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.css +7 -0
  103. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +41 -2
  104. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.css +7 -0
  105. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +9 -1
  106. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.css +7 -0
  107. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +1 -1
  108. package/lib/collection/components/duet-modal/duet-modal.js +19 -7
  109. package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
  110. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +1 -1
  111. package/lib/collection/components/duet-number-input/duet-number-input.js +6 -6
  112. package/lib/collection/components/duet-pagination/duet-pagination.js +2 -2
  113. package/lib/collection/components/duet-paragraph/duet-paragraph.js +3 -3
  114. package/lib/collection/components/duet-radio/duet-radio.js +3 -3
  115. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  116. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +6 -4
  117. package/lib/collection/components/duet-select/duet-select.js +5 -5
  118. package/lib/collection/components/duet-slideout/duet-slideout.css +14 -0
  119. package/lib/collection/components/duet-slideout/duet-slideout.js +81 -7
  120. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +14 -2
  121. package/lib/collection/components/duet-slideout-link/duet-slideout-link.css +7 -0
  122. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +1 -1
  123. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.css +16 -0
  124. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +63 -8
  125. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.css +8 -1
  126. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +33 -1
  127. package/lib/collection/components/duet-spacer/duet-spacer.js +2 -2
  128. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  129. package/lib/collection/components/duet-step/duet-step.js +2 -2
  130. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  131. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.css +7 -0
  132. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +71 -2
  133. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.css +41 -8
  134. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +73 -3
  135. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.css +30 -0
  136. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +29 -1
  137. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.css +54 -0
  138. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +28 -1
  139. package/lib/collection/components/duet-tab-group/duet-tab-group.css +8 -0
  140. package/lib/collection/components/duet-tab-group/duet-tab-group.js +4 -4
  141. package/lib/collection/components/duet-textarea/duet-textarea.js +4 -4
  142. package/lib/collection/components/duet-toggle/duet-toggle.js +1 -1
  143. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.css +7 -0
  144. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +41 -2
  145. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.css +7 -0
  146. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +9 -1
  147. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.css +7 -0
  148. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +1 -1
  149. package/lib/collection/components/duet-tooltip/duet-tooltip.js +4 -1
  150. package/lib/collection/components/duet-upload/duet-upload.js +13 -13
  151. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  152. package/lib/dist-custom-elements/duet-alert.js +1 -1
  153. package/lib/dist-custom-elements/duet-badge.js +1 -1
  154. package/lib/dist-custom-elements/duet-breadcrumb.js +2 -2
  155. package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
  156. package/lib/dist-custom-elements/duet-button.js +1 -1
  157. package/lib/dist-custom-elements/duet-caption.js +1 -1
  158. package/lib/dist-custom-elements/duet-card.js +3 -3
  159. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  160. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  161. package/lib/dist-custom-elements/duet-choice-group.js +7 -7
  162. package/lib/dist-custom-elements/duet-choice.js +28 -9
  163. package/lib/dist-custom-elements/duet-collapsible.js +6 -3
  164. package/lib/dist-custom-elements/duet-combobox.js +2 -2
  165. package/lib/dist-custom-elements/duet-contact-card.js +8 -8
  166. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  167. package/lib/dist-custom-elements/duet-date-picker.js +26 -14
  168. package/lib/dist-custom-elements/duet-divider.js +1 -1
  169. package/lib/dist-custom-elements/duet-editable-table.js +1 -1
  170. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  171. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  172. package/lib/dist-custom-elements/duet-footer.js +20 -8
  173. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  174. package/lib/dist-custom-elements/duet-grid.js +1 -1
  175. package/lib/dist-custom-elements/duet-header.js +8 -8
  176. package/lib/dist-custom-elements/duet-heading.js +1 -1
  177. package/lib/dist-custom-elements/duet-hero.js +9 -9
  178. package/lib/dist-custom-elements/duet-icon.js +1 -1
  179. package/lib/dist-custom-elements/duet-input.js +1 -1
  180. package/lib/dist-custom-elements/duet-label.js +1 -1
  181. package/lib/dist-custom-elements/duet-layout.js +1 -1
  182. package/lib/dist-custom-elements/duet-link.js +1 -1
  183. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  184. package/lib/dist-custom-elements/duet-list.js +1 -1
  185. package/lib/dist-custom-elements/duet-logo.js +1 -1
  186. package/lib/dist-custom-elements/duet-menu-bar-button.js +3 -3
  187. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +12 -4
  188. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +20 -6
  189. package/lib/dist-custom-elements/duet-menu-bar-link.js +4 -4
  190. package/lib/dist-custom-elements/duet-menu-bar.js +9 -3
  191. package/lib/dist-custom-elements/duet-modal.js +20 -10
  192. package/lib/dist-custom-elements/duet-multiselect.js +8 -8
  193. package/lib/dist-custom-elements/duet-nav.js +1 -1
  194. package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
  195. package/lib/dist-custom-elements/duet-notification.js +2 -2
  196. package/lib/dist-custom-elements/duet-number-input.js +11 -11
  197. package/lib/dist-custom-elements/duet-page-heading.js +2 -2
  198. package/lib/dist-custom-elements/duet-pagination.js +7 -7
  199. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  200. package/lib/dist-custom-elements/duet-progress.js +1 -1
  201. package/lib/dist-custom-elements/duet-radio-group.js +6 -6
  202. package/lib/dist-custom-elements/duet-radio.js +1 -1
  203. package/lib/dist-custom-elements/duet-range-slider.js +2 -2
  204. package/lib/dist-custom-elements/duet-range-stepper.js +9 -7
  205. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  206. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  207. package/lib/dist-custom-elements/duet-select.js +1 -1
  208. package/lib/dist-custom-elements/duet-slideout-lang.js +14 -12
  209. package/lib/dist-custom-elements/duet-slideout-link.js +4 -4
  210. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +12 -5
  211. package/lib/dist-custom-elements/duet-slideout-panel.js +41 -11
  212. package/lib/dist-custom-elements/duet-slideout.js +51 -11
  213. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  214. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  215. package/lib/dist-custom-elements/duet-step.js +4 -4
  216. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  217. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +15 -4
  218. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +35 -7
  219. package/lib/dist-custom-elements/duet-submenu-bar-link.js +14 -4
  220. package/lib/dist-custom-elements/duet-submenu-bar.js +46 -6
  221. package/lib/dist-custom-elements/duet-tab-group.js +10 -10
  222. package/lib/dist-custom-elements/duet-tab.js +1 -1
  223. package/lib/dist-custom-elements/duet-table.js +1 -1
  224. package/lib/dist-custom-elements/duet-textarea.js +8 -8
  225. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  226. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +12 -4
  227. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +20 -6
  228. package/lib/dist-custom-elements/duet-toolbar-link.js +4 -4
  229. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  230. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  231. package/lib/dist-custom-elements/duet-tray.js +3 -3
  232. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  233. package/lib/dist-custom-elements/duet-upload.js +18 -18
  234. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  235. package/lib/dist-custom-elements/index.js +1 -1
  236. package/lib/dist-custom-elements/{p-a4002a4d.js → p-03f5e1df.js} +1 -1
  237. package/lib/dist-custom-elements/{p-6b444ad0.js → p-104dae34.js} +21 -7
  238. package/lib/dist-custom-elements/{p-df0799f0.js → p-139ccc08.js} +1 -1
  239. package/lib/dist-custom-elements/{p-a1c07138.js → p-14fe8052.js} +1 -1
  240. package/lib/dist-custom-elements/{p-b239c17f.js → p-17a5bfd6.js} +2 -2
  241. package/lib/dist-custom-elements/{p-5881ed64.js → p-1b6d9683.js} +1 -1
  242. package/lib/dist-custom-elements/{p-17f54d13.js → p-21ae30e5.js} +20 -6
  243. package/lib/dist-custom-elements/{p-c828fba6.js → p-258d095f.js} +1 -1
  244. package/lib/dist-custom-elements/{p-84465a50.js → p-2b8d110c.js} +1 -1
  245. package/lib/dist-custom-elements/{p-d0a59e71.js → p-43901e47.js} +1 -1
  246. package/lib/dist-custom-elements/{p-92a173c2.js → p-49026ea5.js} +1 -1
  247. package/lib/dist-custom-elements/{p-7ef0b13d.js → p-51be19a2.js} +1 -1
  248. package/lib/dist-custom-elements/{p-4040e9d1.js → p-5333970a.js} +1 -1
  249. package/lib/dist-custom-elements/{p-68b17599.js → p-6891c1b3.js} +2 -2
  250. package/lib/dist-custom-elements/{p-43f613b6.js → p-6c630da1.js} +1 -1
  251. package/lib/dist-custom-elements/{p-f070808d.js → p-7782af26.js} +2 -2
  252. package/lib/dist-custom-elements/{p-1e73f619.js → p-7cccb592.js} +6 -3
  253. package/lib/dist-custom-elements/{p-27004490.js → p-8a77e325.js} +1 -1
  254. package/lib/dist-custom-elements/{p-c6acb315.js → p-92135039.js} +2 -2
  255. package/lib/dist-custom-elements/{p-f2ee6981.js → p-a53cebf1.js} +1 -1
  256. package/lib/dist-custom-elements/{p-6c1ba2d9.js → p-a89fd096.js} +1 -1
  257. package/lib/dist-custom-elements/{p-4ebe6fca.js → p-a971f4cf.js} +7 -7
  258. package/lib/dist-custom-elements/{p-bd43e7e4.js → p-b2b89a56.js} +2 -2
  259. package/lib/dist-custom-elements/{p-f6dad5c3.js → p-bf71c608.js} +1 -1
  260. package/lib/dist-custom-elements/{p-015d1608.js → p-c05dc335.js} +1 -1
  261. package/lib/dist-custom-elements/{p-a3194fa3.js → p-c1d5b264.js} +8 -8
  262. package/lib/dist-custom-elements/{p-e76d5673.js → p-cd486ca1.js} +6 -6
  263. package/lib/dist-custom-elements/{p-7003023f.js → p-d3e697f4.js} +1 -1
  264. package/lib/dist-custom-elements/{p-2f7dd873.js → p-d4995343.js} +1 -1
  265. package/lib/dist-custom-elements/{p-35850774.js → p-e9e98c22.js} +1 -1
  266. package/lib/dist-custom-elements/{p-07f7b627.js → p-f41d4dba.js} +15 -5
  267. package/lib/dist-custom-elements/{p-b869fb52.js → p-fa93f54b.js} +15 -7
  268. package/lib/duet/duet.esm.js +1 -1
  269. package/lib/duet/duet.js +1 -1
  270. package/lib/duet/{p-7f7f4403.system.entry.js → p-006cfe82.system.entry.js} +1 -1
  271. package/lib/duet/{p-6c05e879.js → p-076452be.js} +1 -1
  272. package/lib/duet/p-0769bfaa.system.entry.js +4 -0
  273. package/lib/duet/{p-c46a5357.js → p-0a64a5a4.js} +1 -1
  274. package/lib/duet/{p-df278f38.system.entry.js → p-0a79b874.system.entry.js} +1 -1
  275. package/lib/duet/{p-f2f38e08.system.entry.js → p-0a96cc2c.system.entry.js} +1 -1
  276. package/lib/duet/{p-2c4f8685.system.entry.js → p-0aac4192.system.entry.js} +1 -1
  277. package/lib/duet/p-0ec18f3b.system.entry.js +4 -0
  278. package/lib/duet/p-0ec5260f.system.entry.js +4 -0
  279. package/lib/duet/p-0f5b0e9a.entry.js +4 -0
  280. package/lib/duet/{p-346a2bd3.system.entry.js → p-0f7ab746.system.entry.js} +1 -1
  281. package/lib/duet/p-141234e3.entry.js +4 -0
  282. package/lib/duet/{p-e3dfa3fd.system.entry.js → p-142e0dd6.system.entry.js} +1 -1
  283. package/lib/duet/{p-68e640b3.system.entry.js → p-15346bb7.system.entry.js} +1 -1
  284. package/lib/duet/p-1578385a.system.entry.js +4 -0
  285. package/lib/duet/p-1835986d.system.entry.js +4 -0
  286. package/lib/duet/p-19deb8bb.entry.js +4 -0
  287. package/lib/duet/{p-0c17cc73.entry.js → p-1bdce03c.entry.js} +1 -1
  288. package/lib/duet/{p-353cdb52.entry.js → p-1c731783.entry.js} +1 -1
  289. package/lib/duet/{p-6dd1beb2.entry.js → p-207ad310.entry.js} +1 -1
  290. package/lib/duet/{p-1a769d18.entry.js → p-21f94254.entry.js} +1 -1
  291. package/lib/duet/{p-a7886626.system.entry.js → p-23500651.system.entry.js} +1 -1
  292. package/lib/duet/{p-7204d1fd.system.entry.js → p-238517b4.system.entry.js} +1 -1
  293. package/lib/duet/{p-42160f39.entry.js → p-25bf58d2.entry.js} +1 -1
  294. package/lib/duet/p-271e6527.entry.js +4 -0
  295. package/lib/duet/p-28b0eafe.entry.js +4 -0
  296. package/lib/duet/{p-d174f424.entry.js → p-2b6e9c34.entry.js} +1 -1
  297. package/lib/duet/{p-b457649c.entry.js → p-2b998d32.entry.js} +1 -1
  298. package/lib/duet/p-2b9c8a7d.entry.js +4 -0
  299. package/lib/duet/{p-0de14da6.system.entry.js → p-2b9fb222.system.entry.js} +1 -1
  300. package/lib/duet/{p-05b8ca0a.system.entry.js → p-2dafbb00.system.entry.js} +1 -1
  301. package/lib/duet/p-322c2769.entry.js +4 -0
  302. package/lib/duet/{p-c3caf728.js → p-32ba724d.js} +1 -1
  303. package/lib/duet/{p-ffa1f02e.system.entry.js → p-33a2e92d.system.entry.js} +1 -1
  304. package/lib/duet/p-3405c2df.entry.js +4 -0
  305. package/lib/duet/p-345381c1.entry.js +4 -0
  306. package/lib/duet/{p-d48d67bc.entry.js → p-3490b163.entry.js} +1 -1
  307. package/lib/duet/p-350bad81.system.entry.js +4 -0
  308. package/lib/duet/{p-d114fc82.entry.js → p-369661b2.entry.js} +1 -1
  309. package/lib/duet/p-39f8bec2.entry.js +4 -0
  310. package/lib/duet/{p-2c8c2eb0.entry.js → p-3b197740.entry.js} +1 -1
  311. package/lib/duet/{p-374e2afa.system.entry.js → p-3d2339ae.system.entry.js} +1 -1
  312. package/lib/duet/{p-f49afb80.system.entry.js → p-433085d5.system.entry.js} +1 -1
  313. package/lib/duet/p-45c55f88.system.entry.js +4 -0
  314. package/lib/duet/p-464e267f.system.js +4 -0
  315. package/lib/duet/{p-41bac23d.entry.js → p-4de46382.entry.js} +1 -1
  316. package/lib/duet/p-514e2f71.entry.js +4 -0
  317. package/lib/duet/p-5252d291.system.entry.js +4 -0
  318. package/lib/duet/p-52a0bf60.system.entry.js +4 -0
  319. package/lib/duet/{p-4d16edd4.system.entry.js → p-53d28f2b.system.entry.js} +1 -1
  320. package/lib/duet/p-545ca91e.system.entry.js +4 -0
  321. package/lib/duet/p-57824291.entry.js +4 -0
  322. package/lib/duet/{p-ae043b1a.entry.js → p-599dfb21.entry.js} +1 -1
  323. package/lib/duet/p-5aaee74b.entry.js +4 -0
  324. package/lib/duet/{p-d2a65bd0.system.entry.js → p-5b0b828a.system.entry.js} +1 -1
  325. package/lib/duet/p-5d3c68ad.system.entry.js +4 -0
  326. package/lib/duet/p-5daa0d26.system.entry.js +4 -0
  327. package/lib/duet/p-5dedf71b.entry.js +4 -0
  328. package/lib/duet/{p-582f45a6.entry.js → p-5f1e31c7.entry.js} +1 -1
  329. package/lib/duet/{p-b0a272b8.system.entry.js → p-5f5fae98.system.entry.js} +1 -1
  330. package/lib/duet/p-6597319a.entry.js +4 -0
  331. package/lib/duet/{p-70703d59.system.entry.js → p-6aa662f0.system.entry.js} +1 -1
  332. package/lib/duet/p-6b7be36b.entry.js +4 -0
  333. package/lib/duet/{p-e0a55532.entry.js → p-6c171fd9.entry.js} +1 -1
  334. package/lib/duet/p-6d99c12c.entry.js +4 -0
  335. package/lib/duet/{p-4a0eabaa.system.entry.js → p-6f930a32.system.entry.js} +1 -1
  336. package/lib/duet/p-71eda242.entry.js +4 -0
  337. package/lib/duet/{p-61b2a984.entry.js → p-73e2201d.entry.js} +1 -1
  338. package/lib/duet/{p-e48b3cb6.system.entry.js → p-76dabced.system.entry.js} +1 -1
  339. package/lib/duet/{p-a2fba110.system.entry.js → p-783530af.system.entry.js} +1 -1
  340. package/lib/duet/{p-08577b4d.entry.js → p-78b89180.entry.js} +1 -1
  341. package/lib/duet/{p-06639fa9.system.js → p-7adef50f.system.js} +1 -1
  342. package/lib/duet/p-8025514b.system.entry.js +4 -0
  343. package/lib/duet/{p-9e0534d6.entry.js → p-8085ad32.entry.js} +1 -1
  344. package/lib/duet/{p-484cb1df.entry.js → p-83ac5c6e.entry.js} +1 -1
  345. package/lib/duet/p-85053e56.system.entry.js +4 -0
  346. package/lib/duet/{p-aba0c851.system.entry.js → p-8661ddb0.system.entry.js} +1 -1
  347. package/lib/duet/{p-898b51f5.entry.js → p-86799457.entry.js} +1 -1
  348. package/lib/duet/{p-ef058a21.system.js → p-8684b2af.system.js} +1 -1
  349. package/lib/duet/p-886f3df1.system.entry.js +4 -0
  350. package/lib/duet/{p-2ed52ca0.system.entry.js → p-88d3cc5a.system.entry.js} +1 -1
  351. package/lib/duet/{p-0f50db76.entry.js → p-8aba8575.entry.js} +1 -1
  352. package/lib/duet/{p-61f38e7c.entry.js → p-8ada2a8a.entry.js} +1 -1
  353. package/lib/duet/{p-3f59ba68.entry.js → p-8c20f50a.entry.js} +1 -1
  354. package/lib/duet/p-8dc321a1.entry.js +4 -0
  355. package/lib/duet/{p-5e3a7392.system.entry.js → p-8de9a81e.system.entry.js} +1 -1
  356. package/lib/duet/{p-0b36298e.system.entry.js → p-8f7a04bc.system.entry.js} +1 -1
  357. package/lib/duet/{p-b1a9298f.entry.js → p-8fcd5734.entry.js} +1 -1
  358. package/lib/duet/p-9116af4f.entry.js +4 -0
  359. package/lib/duet/p-94c6c463.entry.js +4 -0
  360. package/lib/duet/{p-4e21a0e1.entry.js → p-994c33e2.entry.js} +1 -1
  361. package/lib/duet/{p-7b98e5b6.system.entry.js → p-9c456965.system.entry.js} +1 -1
  362. package/lib/duet/p-9eaee650.system.entry.js +4 -0
  363. package/lib/duet/{p-0cc7ecde.system.entry.js → p-a05666f0.system.entry.js} +1 -1
  364. package/lib/duet/p-a08a9752.entry.js +4 -0
  365. package/lib/duet/p-a4042d5b.system.entry.js +4 -0
  366. package/lib/duet/{p-654e6734.system.entry.js → p-a4f9eacd.system.entry.js} +1 -1
  367. package/lib/duet/{p-77e68564.entry.js → p-a7b1f336.entry.js} +1 -1
  368. package/lib/duet/p-ac37e21d.entry.js +4 -0
  369. package/lib/duet/p-ad983011.entry.js +4 -0
  370. package/lib/duet/p-aee5400b.system.entry.js +4 -0
  371. package/lib/duet/p-af47bd24.system.entry.js +4 -0
  372. package/lib/duet/{p-06e42ed2.system.entry.js → p-b16848d3.system.entry.js} +1 -1
  373. package/lib/duet/{p-c99c31f7.entry.js → p-b2ebc2e1.entry.js} +1 -1
  374. package/lib/duet/{p-04e7a695.system.entry.js → p-b3e57f17.system.entry.js} +1 -1
  375. package/lib/duet/{p-b32e5d04.system.entry.js → p-b59904ae.system.entry.js} +1 -1
  376. package/lib/duet/{p-5f6f8b70.entry.js → p-c17ad6a4.entry.js} +1 -1
  377. package/lib/duet/p-c32df4f2.system.entry.js +4 -0
  378. package/lib/duet/{p-e0273afd.system.entry.js → p-c46b2038.system.entry.js} +1 -1
  379. package/lib/duet/{p-f426cd26.system.entry.js → p-c6787142.system.entry.js} +1 -1
  380. package/lib/duet/{p-3646032b.entry.js → p-c8892cfa.entry.js} +1 -1
  381. package/lib/duet/{p-5b5238f6.system.entry.js → p-c8b3d426.system.entry.js} +1 -1
  382. package/lib/duet/{p-2ef88161.system.js → p-c8dc599d.system.js} +1 -1
  383. package/lib/duet/{p-6791f183.system.entry.js → p-ca4539ce.system.entry.js} +2 -2
  384. package/lib/duet/{p-1183c748.entry.js → p-ca8a79e7.entry.js} +1 -1
  385. package/lib/duet/{p-5f4a75ea.system.entry.js → p-ccbff327.system.entry.js} +1 -1
  386. package/lib/duet/p-cf33e4a4.entry.js +4 -0
  387. package/lib/duet/{p-aa4d6d89.entry.js → p-d27f9702.entry.js} +1 -1
  388. package/lib/duet/p-d65b676f.entry.js +4 -0
  389. package/lib/duet/{p-dc399de0.system.entry.js → p-d8769dca.system.entry.js} +1 -1
  390. package/lib/duet/p-daf3ccef.system.entry.js +4 -0
  391. package/lib/duet/{p-29413090.system.entry.js → p-db98a514.system.entry.js} +1 -1
  392. package/lib/duet/{p-3d2b012c.entry.js → p-dc8c7e0b.entry.js} +1 -1
  393. package/lib/duet/p-e0651eca.system.entry.js +4 -0
  394. package/lib/duet/{p-48ee2f44.entry.js → p-e4b73cff.entry.js} +1 -1
  395. package/lib/duet/{p-cd515231.entry.js → p-e829bf10.entry.js} +1 -1
  396. package/lib/duet/{p-24e47e60.system.entry.js → p-ec5ae55d.system.entry.js} +1 -1
  397. package/lib/duet/p-ec9d77cf.system.entry.js +4 -0
  398. package/lib/duet/p-f0384acb.entry.js +4 -0
  399. package/lib/duet/{p-642ab531.system.entry.js → p-f06940f6.system.entry.js} +2 -2
  400. package/lib/duet/{p-9e71007b.system.entry.js → p-f0ba21c3.system.entry.js} +1 -1
  401. package/lib/duet/p-f5e7e0a7.system.entry.js +4 -0
  402. package/lib/duet/p-f6f5032b.entry.js +4 -0
  403. package/lib/duet/p-f738d8e5.entry.js +4 -0
  404. package/lib/duet/{p-308907c6.entry.js → p-faaa35cf.entry.js} +1 -1
  405. package/lib/duet/{p-69617b20.entry.js → p-fb1b340d.entry.js} +1 -1
  406. package/lib/duet/{p-7c95a58b.system.entry.js → p-fc318998.system.entry.js} +1 -1
  407. package/lib/duet/p-fcca01e2.entry.js +4 -0
  408. package/lib/duet/{p-1878784a.entry.js → p-ffba3249.entry.js} +1 -1
  409. package/lib/esm/duet-action-button.entry.js +12 -3
  410. package/lib/esm/duet-alert.entry.js +15 -2
  411. package/lib/esm/duet-badge.entry.js +1 -1
  412. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  413. package/lib/esm/duet-breadcrumbs.entry.js +2 -2
  414. package/lib/esm/duet-button_2.entry.js +10 -2
  415. package/lib/esm/duet-caption_4.entry.js +16 -2
  416. package/lib/esm/duet-card.entry.js +1 -1
  417. package/lib/esm/duet-checkbox.entry.js +1 -1
  418. package/lib/esm/duet-checkmark.entry.js +1 -1
  419. package/lib/esm/duet-choice_2.entry.js +23 -5
  420. package/lib/esm/duet-collapsible.entry.js +4 -2
  421. package/lib/esm/duet-combobox.entry.js +2 -2
  422. package/lib/esm/duet-contact-card.entry.js +2 -2
  423. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  424. package/lib/esm/duet-date-picker.entry.js +16 -4
  425. package/lib/esm/duet-divider_2.entry.js +1 -1
  426. package/lib/esm/duet-editable-table_3.entry.js +2 -2
  427. package/lib/esm/duet-empty-state.entry.js +1 -1
  428. package/lib/esm/duet-fieldset.entry.js +1 -1
  429. package/lib/esm/duet-footer.entry.js +15 -3
  430. package/lib/esm/duet-grid_2.entry.js +1 -1
  431. package/lib/esm/duet-header_2.entry.js +2 -2
  432. package/lib/esm/duet-hero.entry.js +2 -2
  433. package/lib/esm/duet-icon.entry.js +1 -1
  434. package/lib/esm/duet-input_2.entry.js +2 -2
  435. package/lib/esm/duet-layout.entry.js +1 -1
  436. package/lib/esm/duet-list_2.entry.js +1 -1
  437. package/lib/esm/duet-menu-bar-button.entry.js +2 -2
  438. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +11 -3
  439. package/lib/esm/duet-menu-bar-dropdown.entry.js +17 -4
  440. package/lib/esm/duet-menu-bar-link.entry.js +3 -3
  441. package/lib/esm/duet-menu-bar.entry.js +7 -1
  442. package/lib/esm/duet-modal.entry.js +13 -3
  443. package/lib/esm/duet-multiselect.entry.js +2 -2
  444. package/lib/esm/duet-nav.entry.js +1 -1
  445. package/lib/esm/duet-notification_2.entry.js +2 -2
  446. package/lib/esm/duet-number-input.entry.js +4 -4
  447. package/lib/esm/duet-page-heading.entry.js +1 -1
  448. package/lib/esm/duet-pagination_2.entry.js +7 -5
  449. package/lib/esm/duet-progress.entry.js +2 -2
  450. package/lib/esm/duet-radio_2.entry.js +1 -1
  451. package/lib/esm/duet-range-slider.entry.js +1 -1
  452. package/lib/esm/duet-scrollable_3.entry.js +3 -3
  453. package/lib/esm/duet-section-layout.entry.js +1 -1
  454. package/lib/esm/duet-select.entry.js +1 -1
  455. package/lib/esm/duet-slideout-lang.entry.js +10 -3
  456. package/lib/esm/duet-slideout-link.entry.js +3 -3
  457. package/lib/esm/duet-slideout-panel-dropdown.entry.js +9 -3
  458. package/lib/esm/duet-slideout-panel.entry.js +38 -10
  459. package/lib/esm/duet-slideout.entry.js +48 -9
  460. package/lib/esm/duet-step_2.entry.js +1 -1
  461. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +13 -3
  462. package/lib/esm/duet-submenu-bar-dropdown.entry.js +31 -5
  463. package/lib/esm/duet-submenu-bar-link.entry.js +12 -3
  464. package/lib/esm/duet-submenu-bar.entry.js +42 -4
  465. package/lib/esm/duet-textarea.entry.js +1 -1
  466. package/lib/esm/duet-toggle.entry.js +1 -1
  467. package/lib/esm/duet-toolbar-dropdown-link.entry.js +11 -3
  468. package/lib/esm/duet-toolbar-dropdown.entry.js +17 -4
  469. package/lib/esm/duet-toolbar-link.entry.js +3 -3
  470. package/lib/esm/duet-toolbar.entry.js +1 -1
  471. package/lib/esm/duet-tooltip.entry.js +5 -2
  472. package/lib/esm/duet-tray.entry.js +2 -2
  473. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  474. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  475. package/lib/esm/duet.js +3 -3
  476. package/lib/esm/{focus-utils-21a3a53d.js → focus-utils-5c277b1d.js} +1 -1
  477. package/lib/esm/{index-bcaee850.js → index-dc7d6b8d.js} +1 -1
  478. package/lib/esm/{language-utils-7b211f31.js → language-utils-6be16ff0.js} +1 -1
  479. package/lib/esm/loader.js +3 -3
  480. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  481. package/lib/esm-es5/duet-alert.entry.js +2 -2
  482. package/lib/esm-es5/duet-badge.entry.js +1 -1
  483. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  484. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  485. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  486. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  487. package/lib/esm-es5/duet-card.entry.js +1 -1
  488. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  489. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  490. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  491. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  492. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  493. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  494. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  495. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  496. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  497. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  498. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  499. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  500. package/lib/esm-es5/duet-footer.entry.js +2 -2
  501. package/lib/esm-es5/duet-grid_2.entry.js +2 -2
  502. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  503. package/lib/esm-es5/duet-hero.entry.js +1 -1
  504. package/lib/esm-es5/duet-icon.entry.js +2 -2
  505. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  506. package/lib/esm-es5/duet-layout.entry.js +1 -1
  507. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  508. package/lib/esm-es5/duet-menu-bar-button.entry.js +2 -2
  509. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  510. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +2 -2
  511. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  512. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  513. package/lib/esm-es5/duet-modal.entry.js +1 -1
  514. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  515. package/lib/esm-es5/duet-nav.entry.js +1 -1
  516. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  517. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  518. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  519. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  520. package/lib/esm-es5/duet-progress.entry.js +1 -1
  521. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  522. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  523. package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
  524. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  525. package/lib/esm-es5/duet-select.entry.js +1 -1
  526. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  527. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  528. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +2 -2
  529. package/lib/esm-es5/duet-slideout-panel.entry.js +2 -2
  530. package/lib/esm-es5/duet-slideout.entry.js +2 -2
  531. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  532. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  533. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +2 -2
  534. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  535. package/lib/esm-es5/duet-submenu-bar.entry.js +2 -2
  536. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  537. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  538. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  539. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +2 -2
  540. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  541. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  542. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  543. package/lib/esm-es5/duet-tray.entry.js +1 -1
  544. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  545. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  546. package/lib/esm-es5/duet.js +1 -1
  547. package/lib/esm-es5/focus-utils-5c277b1d.js +4 -0
  548. package/lib/esm-es5/{index-bcaee850.js → index-dc7d6b8d.js} +1 -1
  549. package/lib/esm-es5/{language-utils-7b211f31.js → language-utils-6be16ff0.js} +1 -1
  550. package/lib/esm-es5/loader.js +1 -1
  551. package/lib/types/components/duet-action-button/duet-action-button.d.ts +6 -0
  552. package/lib/types/components/duet-alert/duet-alert.d.ts +4 -1
  553. package/lib/types/components/duet-button/duet-button.d.ts +3 -2
  554. package/lib/types/components/duet-choice/duet-choice.d.ts +6 -2
  555. package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +4 -0
  556. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +3 -0
  557. package/lib/types/components/duet-footer/duet-footer.d.ts +3 -0
  558. package/lib/types/components/duet-link/duet-link.d.ts +3 -0
  559. package/lib/types/components/duet-menu-bar/duet-menu-bar.d.ts +3 -1
  560. package/lib/types/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.d.ts +6 -0
  561. package/lib/types/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.d.ts +1 -0
  562. package/lib/types/components/duet-modal/duet-modal.d.ts +2 -0
  563. package/lib/types/components/duet-range-stepper/duet-range-stepper.d.ts +0 -1
  564. package/lib/types/components/duet-slideout/duet-slideout.d.ts +13 -1
  565. package/lib/types/components/duet-slideout-lang/duet-slideout-lang.d.ts +4 -1
  566. package/lib/types/components/duet-slideout-panel/duet-slideout-panel.d.ts +9 -1
  567. package/lib/types/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.d.ts +5 -0
  568. package/lib/types/components/duet-submenu-bar/duet-submenu-bar.d.ts +11 -0
  569. package/lib/types/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.d.ts +10 -0
  570. package/lib/types/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.d.ts +9 -0
  571. package/lib/types/components/duet-submenu-bar-link/duet-submenu-bar-link.d.ts +5 -0
  572. package/lib/types/components/duet-toolbar-dropdown/duet-toolbar-dropdown.d.ts +6 -0
  573. package/lib/types/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.d.ts +1 -0
  574. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +1 -0
  575. package/lib/types/components.d.ts +68 -4
  576. package/package.json +5 -5
  577. package/lib/duet/p-02f78e7e.entry.js +0 -4
  578. package/lib/duet/p-0936046f.system.entry.js +0 -4
  579. package/lib/duet/p-095c84a5.system.entry.js +0 -4
  580. package/lib/duet/p-0bc5e109.entry.js +0 -4
  581. package/lib/duet/p-14f3c696.system.entry.js +0 -4
  582. package/lib/duet/p-151a48c3.entry.js +0 -4
  583. package/lib/duet/p-151ed5e0.system.entry.js +0 -4
  584. package/lib/duet/p-181d4b35.entry.js +0 -4
  585. package/lib/duet/p-1dcbe259.entry.js +0 -4
  586. package/lib/duet/p-1e65e29d.system.entry.js +0 -4
  587. package/lib/duet/p-2020fc25.system.entry.js +0 -4
  588. package/lib/duet/p-28d28436.system.entry.js +0 -4
  589. package/lib/duet/p-28fabb76.entry.js +0 -4
  590. package/lib/duet/p-3815cc9a.entry.js +0 -4
  591. package/lib/duet/p-3c4d9930.system.entry.js +0 -4
  592. package/lib/duet/p-3e428087.entry.js +0 -4
  593. package/lib/duet/p-40411d3b.system.entry.js +0 -4
  594. package/lib/duet/p-4176d5a4.entry.js +0 -4
  595. package/lib/duet/p-488a4d3f.entry.js +0 -4
  596. package/lib/duet/p-498b7d6a.system.entry.js +0 -4
  597. package/lib/duet/p-50e66d06.entry.js +0 -4
  598. package/lib/duet/p-5bc052a4.entry.js +0 -4
  599. package/lib/duet/p-5db96ea2.system.entry.js +0 -4
  600. package/lib/duet/p-5fa09cdb.entry.js +0 -4
  601. package/lib/duet/p-61785e0b.system.entry.js +0 -4
  602. package/lib/duet/p-658283be.system.entry.js +0 -4
  603. package/lib/duet/p-6d4d5fc6.entry.js +0 -4
  604. package/lib/duet/p-727d0488.entry.js +0 -4
  605. package/lib/duet/p-72988da1.entry.js +0 -4
  606. package/lib/duet/p-746ea729.entry.js +0 -4
  607. package/lib/duet/p-78f118fb.entry.js +0 -4
  608. package/lib/duet/p-803ceb21.system.entry.js +0 -4
  609. package/lib/duet/p-86e6814a.entry.js +0 -4
  610. package/lib/duet/p-8b0d3fae.system.entry.js +0 -4
  611. package/lib/duet/p-97eeacac.entry.js +0 -4
  612. package/lib/duet/p-9e886ecf.entry.js +0 -4
  613. package/lib/duet/p-a1eb24b8.system.entry.js +0 -4
  614. package/lib/duet/p-a5689603.system.entry.js +0 -4
  615. package/lib/duet/p-a7edccbb.entry.js +0 -4
  616. package/lib/duet/p-a8bb4f37.entry.js +0 -4
  617. package/lib/duet/p-aeea9d49.system.entry.js +0 -4
  618. package/lib/duet/p-b75cdfc6.entry.js +0 -4
  619. package/lib/duet/p-b8a5580a.entry.js +0 -4
  620. package/lib/duet/p-b9eec94d.entry.js +0 -4
  621. package/lib/duet/p-c4c035fe.entry.js +0 -4
  622. package/lib/duet/p-c7b12a60.system.js +0 -4
  623. package/lib/duet/p-c954e200.system.entry.js +0 -4
  624. package/lib/duet/p-d719bc5b.system.entry.js +0 -4
  625. package/lib/duet/p-d8ccc12d.entry.js +0 -4
  626. package/lib/duet/p-ea17eb88.entry.js +0 -4
  627. package/lib/duet/p-ec7a79f2.system.entry.js +0 -4
  628. package/lib/duet/p-f3089cd4.system.entry.js +0 -4
  629. package/lib/duet/p-f3c7ffda.system.entry.js +0 -4
  630. package/lib/duet/p-f550f63a.system.entry.js +0 -4
  631. package/lib/duet/p-f5623ee8.entry.js +0 -4
  632. package/lib/esm-es5/focus-utils-21a3a53d.js +0 -4
@@ -1,14 +1,14 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement, F as Fragment } from './index-bcaee850.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement, F as Fragment } from './index-dc7d6b8d.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
6
6
  import { s as sanitizeString } from './string-utils-5954f458.js';
7
7
  import { g as getColorByName } from './token-utils-b531747a.js';
8
8
  import { a as actionArrowRight } from './action-arrow-right-f7d56681.js';
9
9
  import { a as actionNewWindowSmall } from './action-new-window-small-1945be91.js';
10
10
  import { D as DuetStringsExternalDefaults } from './common-strings-97e04e4b.js';
11
- import { a as getLanguage, g as getLocaleString } from './language-utils-7b211f31.js';
11
+ import { g as getLanguage, a as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-6be16ff0.js';
12
12
  import './tokens.module-d3321092.js';
13
13
 
14
14
  const duetCaptionCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:16px !important;display:flex;flex:0 0 100%;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:rgb(101, 119, 135);vertical-align:top}:host.duet-p-0{padding:0 !important}:host.duet-m-0{margin:0 !important}:host(.duet-caption-small){font-size:0.875rem;line-height:1.25}: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(116, 116, 117)}:host(.duet-caption-selected){color:rgb(0, 119, 179)}:host(.duet-caption-selected.duet-theme-turva){color:rgb(23, 28, 58)}:host(.duet-m-0){margin:0 !important}";
@@ -104,12 +104,23 @@ const DuetLink = class {
104
104
  this.icon = undefined;
105
105
  this.padding = "auto";
106
106
  }
107
+ watchLanguageStateHandler(newValue, oldValue) {
108
+ if (newValue !== oldValue && this.accessibleLabelExternal === this.accessibleLabelExternalDefaults[oldValue]) {
109
+ this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults, newValue);
110
+ }
111
+ }
107
112
  /**
108
113
  * Component lifecycle events.
109
114
  */
110
115
  componentWillLoad() {
111
116
  inheritGlobalTheme(this);
112
117
  }
118
+ connectedCallback() {
119
+ connectLanguageChangeObserver(this);
120
+ }
121
+ disconnectedCallback() {
122
+ disconnectLanguageChangeObserver(this);
123
+ }
113
124
  /**
114
125
  * Sets focus on the specified `duet-link`. Use this method instead of the global
115
126
  * `link.focus()`.
@@ -144,6 +155,9 @@ const DuetLink = class {
144
155
  }, target: this.external ? "_blank" : "_self", "aria-label": this.accessibleLabel, id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link", rel: this.external ? "noopener" : undefined }, this.variation === "block" ? this.renderGrid() : this.renderContent())));
145
156
  }
146
157
  static get delegatesFocus() { return true; }
158
+ static get watchers() { return {
159
+ "language": ["watchLanguageStateHandler"]
160
+ }; }
147
161
  };
148
162
  DuetLink.style = duetLinkCss;
149
163
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, F as Fragment, H as Host, g as getElement } from './index-bcaee850.js';
4
+ import { r as registerInstance, c as createEvent, h, F as Fragment, H as Host, g as getElement } from './index-dc7d6b8d.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
6
6
  import { c as createID } from './create-id-981107da.js';
7
7
  import { i as isKeyboardClick } from './keyboard-utils-d237bd5a.js';
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-bcaee850.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-dc7d6b8d.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
6
6
  import { c as createID } from './create-id-981107da.js';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host } from './index-bcaee850.js';
4
+ import { r as registerInstance, h, H as Host } from './index-dc7d6b8d.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
6
6
 
7
7
  const duetCheckmarkCss = ".duet-checkmark-container{position:relative;width:20px;height:20px;margin-left:auto;border:1px solid rgb(144, 149, 153);border-radius:4px;transition:border 300ms ease}.duet-checkmark-container.center{margin-right:auto}.duet-theme-turva .duet-checkmark-container{border-color:rgb(116, 116, 117)}.checked .duet-checkmark-container{background:rgb(0, 119, 179);border-color:rgb(0, 119, 179);transition:none}.duet-theme-turva .checked .duet-checkmark-container{background:rgb(23, 28, 58);border-color:rgb(23, 28, 58) !important}.duet-checkmark-container.duet-checkmark-radio{border-radius:50%}[disabled]+label .duet-checkmark-container{border-color:rgb(207, 210, 212) !important}.duet-theme-turva [disabled]+label .duet-checkmark-container{border-color:rgb(207, 207, 209) !important}.checked [disabled]+label .duet-checkmark-container{background:rgb(207, 210, 212) !important}.duet-theme-turva .checked [disabled]+label .duet-checkmark-container{background:rgb(207, 207, 209) !important}.duet-checkmark{position:absolute;top:10px;left:3px;width:5.3333333333px;height:11.8518518519px;border-top:2px solid rgb(255, 255, 255);border-right:2px solid rgb(255, 255, 255);opacity:1;transform:scaleX(-1) rotate(135deg) translateZ(0);transform-origin:left top;animation-name:duet-checkmark;animation-duration:600ms;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes duet-checkmark{0%{width:0;height:0;opacity:1}20%{width:5.3333333333px;height:0;opacity:1}40%,100%{width:5.3333333333px;height:11.8518518519px;opacity:1}}";
@@ -1,13 +1,13 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-bcaee850.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-dc7d6b8d.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
6
6
  import { D as DuetStringsExternalDefaults } from './common-strings-97e04e4b.js';
7
7
  import { c as createID } from './create-id-981107da.js';
8
- import { F as FocusGuard } from './focus-utils-21a3a53d.js';
8
+ import { F as FocusGuard } from './focus-utils-5c277b1d.js';
9
9
  import { i as isKeyboardClick, h as isQuestionKey, f as isEscapeKey } from './keyboard-utils-d237bd5a.js';
10
- import { g as getLocaleString, a as getLanguage } from './language-utils-7b211f31.js';
10
+ import { g as getLanguage, a as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-6be16ff0.js';
11
11
  import { f as findCheckedOption, w as watchForOptions } from './watch-options-dd55bce8.js';
12
12
  import './string-utils-5954f458.js';
13
13
 
@@ -96,6 +96,7 @@ const DuetChoice = class {
96
96
  this.isHovering = false;
97
97
  this.isInfoOpen = false;
98
98
  this.isBlurred = false;
99
+ this.language = getLanguage();
99
100
  this.theme = "";
100
101
  this.label = "label";
101
102
  this.accessibleLabelInfoButtonDefaults = DuetStringsExternalDefaults;
@@ -124,12 +125,20 @@ const DuetChoice = class {
124
125
  this.disabled = false;
125
126
  this.required = false;
126
127
  this.infoLabelDefaults = {
127
- fi: "Lisätietoja",
128
+ fi: "Lisätietoja vaihtoehdosta",
128
129
  en: "More information about",
129
130
  sv: "Mera information om",
130
131
  };
131
132
  this.infoLabel = getLocaleString(this.infoLabelDefaults, getLanguage());
132
133
  }
134
+ watchLanguageStateHandler(newValue, oldValue) {
135
+ if (newValue !== oldValue && this.accessibleLabelInfoButton === this.accessibleLabelInfoButtonDefaults[oldValue]) {
136
+ this.accessibleLabelInfoButton = getLocaleString(this.accessibleLabelInfoButtonDefaults, newValue);
137
+ }
138
+ if (newValue !== oldValue && this.infoLabel === this.infoLabelDefaults[oldValue]) {
139
+ this.infoLabel = getLocaleString(this.infoLabelDefaults, newValue);
140
+ }
141
+ }
133
142
  /**
134
143
  * Component lifecycle events.
135
144
  */
@@ -141,6 +150,12 @@ const DuetChoice = class {
141
150
  this.hasLabel = !!this.element.querySelector(":scope > [slot='label']");
142
151
  this.hasBeforeText = !!this.element.querySelector("[slot='before-text']");
143
152
  }
153
+ connectedCallback() {
154
+ connectLanguageChangeObserver(this);
155
+ }
156
+ disconnectedCallback() {
157
+ disconnectLanguageChangeObserver(this);
158
+ }
144
159
  /**
145
160
  * Component event handling.
146
161
  */
@@ -246,10 +261,13 @@ const DuetChoice = class {
246
261
  } }, h("span", { id: this.headerId }, h("slot", { name: "header" })), this.hasInfo ? (h("span", null, h("span", { "aria-relevant": "all", "aria-atomic": "true", "aria-live": this.isInfoOpen ? "polite" : "off" }, h("slot", { name: "info" })), h("slot", null))) : (h("span", null, h("slot", null)))), this.isInfoOpen && h(FocusGuard, { moveFocusTo: this.infoButtonEl }))) : null));
247
262
  }
248
263
  get element() { return getElement(this); }
264
+ static get watchers() { return {
265
+ "language": ["watchLanguageStateHandler"]
266
+ }; }
249
267
  };
250
268
  DuetChoice.style = duetChoiceCss;
251
269
 
252
- const duetChoiceGroupCss = "*.sc-duet-choice-group,*.sc-duet-choice-group::after,*.sc-duet-choice-group::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-choice-group-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.horizontal.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group{display:block}.horizontal.sc-duet-choice-group-h .duet-choice-group.duet-no-stacking.sc-duet-choice-group{display:flex}@media (max-width: 35.9375em){.horizontal.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group{display:flex;margin-bottom:0}}.horizontal.duet-choice-group-breakpoint-x-small.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:flex}@media (max-width: 22.5em){.horizontal.duet-choice-group-breakpoint-x-small.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:block}}.horizontal.duet-choice-group-breakpoint-small.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:block}@media (min-width: 36em){.horizontal.duet-choice-group-breakpoint-small.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:flex}}.horizontal.duet-choice-group-breakpoint-medium.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:block}@media (min-width: 48em){.horizontal.duet-choice-group-breakpoint-medium.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:flex}}.horizontal.duet-choice-group-breakpoint-large.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:block}@media (min-width: 62em){.horizontal.duet-choice-group-breakpoint-large.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:flex}}.horizontal.duet-choice-group-breakpoint-x-large.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:block}@media (min-width: 64.0625em){.horizontal.duet-choice-group-breakpoint-x-large.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:flex}}.duet-choice-group.sc-duet-choice-group{position:relative;width:100%;margin-bottom:-12px}";
270
+ const duetChoiceGroupCss = "*.sc-duet-choice-group,*.sc-duet-choice-group::after,*.sc-duet-choice-group::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-choice-group-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.horizontal.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group{display:block;margin-bottom:0}.horizontal.sc-duet-choice-group-h .duet-choice-group.duet-no-stacking.sc-duet-choice-group{display:flex}@media (max-width: 35.9375em){.horizontal.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group{display:flex}}.horizontal.duet-choice-group-breakpoint-x-small.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:flex}@media (max-width: 22.5em){.horizontal.duet-choice-group-breakpoint-x-small.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:block}}.horizontal.duet-choice-group-breakpoint-small.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:block}@media (min-width: 36em){.horizontal.duet-choice-group-breakpoint-small.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:flex}}.horizontal.duet-choice-group-breakpoint-medium.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:block}@media (min-width: 48em){.horizontal.duet-choice-group-breakpoint-medium.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:flex}}.horizontal.duet-choice-group-breakpoint-large.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:block}@media (min-width: 62em){.horizontal.duet-choice-group-breakpoint-large.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:flex}}.horizontal.duet-choice-group-breakpoint-x-large.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:block}@media (min-width: 64.0625em){.horizontal.duet-choice-group-breakpoint-x-large.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group:not(.duet-no-stacking){display:flex}}.duet-choice-group.sc-duet-choice-group{position:relative;width:100%;margin-bottom:-12px}";
253
271
 
254
272
  const duetChoiceSelector = ":scope duet-choice:not(:scope duet-choice duet-choice-group duet-choice):not(:scope duet-choice duet-fieldset duet-choice)";
255
273
  const DuetChoiceGroup = class {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-bcaee850.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-dc7d6b8d.js';
5
5
  import { a as actionArrowDownSmall } from './action-arrow-down-small-82273dc8.js';
6
6
  import { f as font_size_medium, t as tokens } from './tokens-0963dc8b.js';
7
7
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
@@ -9,7 +9,7 @@ import { c as createID } from './create-id-981107da.js';
9
9
  import { i as isKeyboardClick } from './keyboard-utils-d237bd5a.js';
10
10
  import { s as sanitizeString } from './string-utils-5954f458.js';
11
11
 
12
- const duetCollapsibleCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:16px !important;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:1rem;font-weight:600;line-height:1.5;color:rgb(0, 41, 77)}: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, 28, 58)}:host(.duet-m-0){margin:0 !important}.duet-collapsible-content{display:none;padding-left:18px;margin-top:8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;color:rgb(0, 41, 77)}@media (max-width: 35.9375em){.duet-collapsible-content{font-size:0.875rem}}.duet-collapsible-content.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}:host([open])>.duet-collapsible-content{display:block}.duet-collapsible-heading{-webkit-user-select:none;user-select:none;display:flex;align-items:center;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:rgb(0, 41, 77);text-align:left;cursor:pointer;border-radius:4px}.duet-collapsible-heading.duet-collapsible-normal-weight{font-weight:400}.duet-collapsible-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(23, 28, 58)}.duet-collapsible-heading .duet-collapsible-heading-content{flex:0 auto;min-width:0}.duet-collapsible-heading.has-after-heading .duet-collapsible-heading-content+div{flex:1 0 auto;margin-left:16px}.duet-collapsible-heading:focus{outline:0}:host(.user-is-tabbing) .duet-collapsible-heading:focus{border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}:host(.user-is-tabbing.duet-theme-turva) .duet-collapsible-heading:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}.duet-collapsible-heading-icon{margin-right:8px !important;display:flex;align-items:center;justify-content:center;color:rgb(0, 41, 77);transition:transform 300ms ease}.duet-collapsible-heading-icon:last-child,.duet-collapsible-heading-icon:last-of-type{margin-right:0 !important}[aria-expanded=true] .duet-collapsible-heading-icon{transform:rotate(180deg)}";
12
+ const duetCollapsibleCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:16px !important;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:1rem;font-weight:600;line-height:1.5;color:rgb(0, 41, 77)}: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, 28, 58)}:host(.duet-m-0){margin:0 !important}.duet-collapsible-content{display:none;padding-left:18px;margin-top:8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;color:rgb(0, 41, 77)}@media (max-width: 35.9375em){.duet-collapsible-content{font-size:0.875rem}}.duet-collapsible-content.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}:host([open])>.duet-collapsible-content{display:block}.duet-collapsible-heading{-webkit-user-select:none;user-select:none;display:flex;align-items:center;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:rgb(0, 41, 77);text-align:left;cursor:pointer;border-radius:4px}.duet-collapsible-heading.duet-collapsible-heading-centered{margin:auto}.duet-collapsible-heading.duet-collapsible-normal-weight{font-weight:400}.duet-collapsible-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(23, 28, 58)}.duet-collapsible-heading .duet-collapsible-heading-content{flex:0 auto;min-width:0}.duet-collapsible-heading.has-after-heading .duet-collapsible-heading-content+div{flex:1 0 auto;margin-left:16px}.duet-collapsible-heading:focus{outline:0}:host(.user-is-tabbing) .duet-collapsible-heading:focus{border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}:host(.user-is-tabbing.duet-theme-turva) .duet-collapsible-heading:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}.duet-collapsible-heading-icon{margin-right:8px !important;display:flex;align-items:center;justify-content:center;color:rgb(0, 41, 77);transition:transform 300ms ease}.duet-collapsible-heading-icon:last-child,.duet-collapsible-heading-icon:last-of-type{margin-right:0 !important}[aria-expanded=true] .duet-collapsible-heading-icon{transform:rotate(180deg)}";
13
13
 
14
14
  const DuetCollapsible = class {
15
15
  constructor(hostRef) {
@@ -65,6 +65,7 @@ const DuetCollapsible = class {
65
65
  this.theme = "";
66
66
  this.accessibleLabel = undefined;
67
67
  this.heading = "";
68
+ this.centerHeading = false;
68
69
  this.headingWeight = "semibold";
69
70
  this.headingSize = undefined;
70
71
  this.headingLevel = undefined;
@@ -96,6 +97,7 @@ const DuetCollapsible = class {
96
97
  const HeadingTagName = this.headingLevel ? sanitizeString(this.headingLevel) : "div";
97
98
  return (h(Host, { class: { "duet-m-0": this.margin === "none" } }, h(HeadingTagName, null, h("button", { class: {
98
99
  "duet-collapsible-heading": true,
100
+ "duet-collapsible-heading-centered": this.centerHeading,
99
101
  "duet-theme-turva": this.theme === "turva",
100
102
  "duet-collapsible-normal-weight": this.headingWeight === "normal",
101
103
  "has-after-heading": this.hasAfterHeading,
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { h, F as Fragment, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-bcaee850.js';
4
+ import { h, F as Fragment, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-dc7d6b8d.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
6
6
  import { d as debounce } from './js-utils-fa98b8cd.js';
7
7
  import { j as isEnterKey, f as isEscapeKey, o as isTabKey, b as isArrowUpKey, c as isArrowDownKey } from './keyboard-utils-d237bd5a.js';
8
- import { g as getLocaleString, a as getLanguage } from './language-utils-7b211f31.js';
8
+ import { a as getLocaleString, g as getLanguage } from './language-utils-6be16ff0.js';
9
9
  import { p as parsePossibleJSON } from './string-utils-5954f458.js';
10
10
 
11
11
  const SelectSingle = ({ item, search = "", selected }) => {
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-bcaee850.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-dc7d6b8d.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
6
- import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-7b211f31.js';
6
+ import { g as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-6be16ff0.js';
7
7
  import './string-utils-5954f458.js';
8
8
 
9
9
  const duetContactCardCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-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(0, 41, 77)}.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, 28, 58)}@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;word-break:break-all}";
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-bcaee850.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-dc7d6b8d.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
6
6
 
7
7
  const duetCookieConsentCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:fixed;right:0;bottom:0;left:0;z-index:950;display:block;width:100%;box-shadow:0 2px 20px 0 rgba(0, 0, 0, 0.2)}@media (min-width: 48em){:host{right:28px;bottom:28px;left:auto;width:25rem}}:host(:focus){outline:0}:host(.user-is-tabbing:focus){border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}:host(.user-is-tabbing.duet-theme-turva:focus){box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}.duet-cookie-consent{padding:20px;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;color:rgb(255, 255, 255) !important;background-color:rgba(0, 21, 39, 0.9)}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){.duet-cookie-consent{background:rgba(0, 21, 39, 0.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.duet-cookie-consent.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-color:rgba(12, 14, 29, 0.9)}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){.duet-cookie-consent.duet-theme-turva{background:rgba(12, 14, 29, 0.8)}}@media (min-width: 48em){.duet-cookie-consent{padding:20px;border-radius:4px}}.duet-cookie-consent-content{display:flex;align-items:center;max-width:1110px;margin:0 auto}.duet-cookie-consent-content .expand{flex:1}::slotted(a){font-weight:600;color:rgb(255, 255, 255) !important;text-decoration:underline;white-space:nowrap}::slotted(a[target=_blank]){padding-right:16px;background:url(\"data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZmZmIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwLjUgMmExLjUgMS41IDAgMDEuMTQgM0gzLjc1Yy0uMzggMC0uNy4yOC0uNzQuNjVsLS4wMS4xdjE0LjVjMCAuMzguMjguNy42NS43NGwuMS4wMWgxNC41Yy4zOCAwIC43LS4yOC43NC0uNjVsLjAxLS4xdi02Ljg5YTEuNSAxLjUgMCAwMTMgMHY2Ljg5QTMuNzUgMy43NSAwIDAxMTguMjUgMjRIMy43NUEzLjc1IDMuNzUgMCAwMTAgMjAuMjVWNS43NUEzLjc1IDMuNzUgMCAwMTMuNzUgMnptMTItMmMuNzggMCAxLjQyLjYgMS41IDEuMzZWNy41YTEuNSAxLjUgMCAwMS0zIC4xNFY1LjEybC01LjQ0IDUuNDRhMS41IDEuNSAwIDAxLTIuMjItMmwuMS0uMTJMMTguODggM0gxNi41QTEuNSAxLjUgMCAwMTE1IDEuNjRWMS41YzAtLjc4LjYtMS40MiAxLjM2LTEuNWguMTR6Ii8+PC9zdmc+\") no-repeat right 50%;background-size:12px 10px}::slotted(a:focus){outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}.duet-theme-turva ::slotted(a:focus){outline:0;box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}";
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-bcaee850.js';
4
+ import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-dc7d6b8d.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
6
6
  import { c as createID } from './create-id-981107da.js';
7
- import { F as FocusGuard } from './focus-utils-21a3a53d.js';
8
- import { a as getLanguage, g as getLocaleString } from './language-utils-7b211f31.js';
7
+ import { F as FocusGuard } from './focus-utils-5c277b1d.js';
8
+ import { g as getLanguage, a as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-6be16ff0.js';
9
9
  import './string-utils-5954f458.js';
10
10
 
11
11
  const formatOptionsShort = { day: "numeric", month: "long" };
@@ -546,6 +546,11 @@ const DuetDatePicker = class {
546
546
  this.incrementYears = 10;
547
547
  this.validity = undefined;
548
548
  }
549
+ watchLanguageStateHandler(newValue, oldValue) {
550
+ if (newValue !== oldValue && this.placeholder === this.placeholderDefaults[oldValue]) {
551
+ this.placeholder = getLocaleString(this.placeholderDefaults, newValue);
552
+ }
553
+ }
549
554
  updateValidity() {
550
555
  this.determineValidity(parseISODate(this.value));
551
556
  }
@@ -589,6 +594,12 @@ const DuetDatePicker = class {
589
594
  break;
590
595
  }
591
596
  }
597
+ connectedCallback() {
598
+ connectLanguageChangeObserver(this);
599
+ }
600
+ disconnectedCallback() {
601
+ disconnectLanguageChangeObserver(this);
602
+ }
592
603
  /**
593
604
  * Sets focus on the date picker's input. Use this method instead of the global `focus()`.
594
605
  */
@@ -726,10 +737,11 @@ const DuetDatePicker = class {
726
737
  left: this.direction === "left",
727
738
  error: !!this.error,
728
739
  active: this.open,
729
- }, role: "dialog", "aria-modal": "true", "aria-hidden": this.open ? "false" : "true", "aria-labelledby": this.dialogLabelId, onTouchMove: this.handleTouchMove, onTouchStart: this.handleTouchStart, onTouchEnd: this.handleTouchEnd }, h(FocusGuard, { moveFocusTo: this.focusedDayNode }), h("div", { class: "duet-date-dialog-wrapper", onKeyDown: this.handleEscKey, ref: element => (this.dialogWrapperNode = element) }, h("duet-visually-hidden", { "aria-live": "polite" }, text.keyboardInstruction), h("div", { class: "duet-date-dialog-mobile-header" }, h("duet-label", { margin: "none" }, this.label), h("button", { class: "duet-date-picker-close", ref: element => (this.closeButtonNode = element), onClick: () => this.hide(), type: "button" }, h("duet-icon", { name: "navigation-close-small", margin: "none", color: "currentColor", size: "xx-small" }), h("duet-visually-hidden", null, text.closeLabel))), h("div", { class: "duet-date-dialog-header" }, h("div", { class: "duet-date-dialog-dropdowns" }, h("duet-visually-hidden", null, h("h2", { id: this.dialogLabelId, "aria-live": "polite", "aria-atomic": "true" }, text.monthLabels[focusedMonth], " ", this.focusedDay.getFullYear())), h("duet-visually-hidden", null, h("label", { htmlFor: this.monthSelectId }, text.monthSelectLabel)), h("div", { class: "duet-date-dialog-select" }, h("select", { id: this.monthSelectId, class: "duet-date-month-select", ref: element => (this.monthSelectNode = element), onChange: this.handleMonthSelect }, text.monthLabels.map((month, i) => (h("option", { key: month, value: i, selected: i === focusedMonth, disabled: !inRange(new Date(focusedYear, i, 1), minDate ? startOfMonth(minDate) : null, maxDate ? endOfMonth(maxDate) : null) }, month)))), h("div", { class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h("span", null, text.monthLabelsShort[focusedMonth]), h("duet-icon", { name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" }))), h("duet-visually-hidden", null, h("label", { htmlFor: this.yearSelectId }, text.yearSelectLabel)), h("div", { class: "duet-date-dialog-select" }, h("select", { id: this.yearSelectId, class: "duet-date-year-select", onChange: this.handleYearSelect }, range(minYear, maxYear).map(year => (h("option", { key: year, selected: year === focusedYear }, year)))), h("div", { class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h("span", null, this.focusedDay.getFullYear()), h("duet-icon", { name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" })))), h("div", { class: "duet-date-dialog-buttons" }, h("duet-action-button", { class: "duet-date-dialog-prev", onClick: this.handlePreviousMonthClick, disabled: prevMonthDisabled, "icon-name": "action-arrow-left-small" }, text.prevMonthLabel), h("duet-action-button", { class: "duet-date-dialog-next", onClick: this.handleNextMonthClick, disabled: nextMonthDisabled, "icon-name": "action-arrow-right-small" }, text.nextMonthLabel))), h(DatePickerMonth, { 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 })), h(FocusGuard, { moveFocusTo: this.closeButtonNode }))));
740
+ }, role: "dialog", "aria-modal": "true", "aria-hidden": this.open ? "false" : "true", "aria-labelledby": this.dialogLabelId, onTouchMove: this.handleTouchMove, onTouchStart: this.handleTouchStart, onTouchEnd: this.handleTouchEnd }, h(FocusGuard, { moveFocusTo: this.focusedDayNode }), h("div", { class: "duet-date-dialog-wrapper", onKeyDown: this.handleEscKey, ref: element => (this.dialogWrapperNode = element) }, h("duet-visually-hidden", { "aria-live": "polite" }, text.keyboardInstruction), h("div", { class: "duet-date-dialog-mobile-header" }, h("duet-label", { margin: "none" }, this.label), h("button", { class: "duet-date-picker-close", ref: element => (this.closeButtonNode = element), onClick: () => this.hide(), type: "button" }, h("duet-icon", { name: "navigation-close-small", margin: "none", color: "currentColor", size: "xx-small" }), h("duet-visually-hidden", null, text.closeLabel))), h("div", { class: "duet-date-dialog-header" }, h("div", { class: "duet-date-dialog-dropdowns" }, h("duet-visually-hidden", null, h("h2", { id: this.dialogLabelId, "aria-live": "polite", "aria-atomic": "true" }, text.monthLabels[focusedMonth], " ", this.focusedDay.getFullYear())), h("duet-visually-hidden", null, h("label", { htmlFor: this.monthSelectId }, text.monthSelectLabel)), h("div", { class: "duet-date-dialog-select" }, h("select", { id: this.monthSelectId, class: "duet-date-month-select", ref: element => (this.monthSelectNode = element), onChange: this.handleMonthSelect }, text.monthLabels.map((month, i) => (h("option", { key: month, value: i, selected: i === focusedMonth, disabled: !inRange(new Date(focusedYear, i, 1), minDate ? startOfMonth(minDate) : null, maxDate ? endOfMonth(maxDate) : null) }, month)))), h("div", { class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h("span", null, text.monthLabelsShort[focusedMonth]), h("duet-icon", { name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" }))), h("duet-visually-hidden", null, h("label", { htmlFor: this.yearSelectId }, text.yearSelectLabel)), h("div", { class: "duet-date-dialog-select" }, h("select", { id: this.yearSelectId, class: "duet-date-year-select", onChange: this.handleYearSelect }, range(minYear, maxYear).map(year => (h("option", { key: year, selected: year === focusedYear }, year)))), h("div", { class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h("span", null, this.focusedDay.getFullYear()), h("duet-icon", { name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" })))), h("div", { class: "duet-date-dialog-buttons" }, h("duet-action-button", { accessibleLabel: i18n[this.language].prevMonthLabel, actionName: i18n[this.language].prevMonthLabel, class: "duet-date-dialog-prev", onClick: this.handlePreviousMonthClick, disabled: prevMonthDisabled, "icon-name": "action-arrow-left-small" }, text.prevMonthLabel), h("duet-action-button", { accessibleLabel: i18n[this.language].nextMonthLabel, actionName: i18n[this.language].nextMonthLabel, class: "duet-date-dialog-next", onClick: this.handleNextMonthClick, disabled: nextMonthDisabled, "icon-name": "action-arrow-right-small" }, text.nextMonthLabel))), h(DatePickerMonth, { 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 })), h(FocusGuard, { moveFocusTo: this.closeButtonNode }))));
730
741
  }
731
742
  get element() { return getElement(this); }
732
743
  static get watchers() { return {
744
+ "language": ["watchLanguageStateHandler"],
733
745
  "min": ["updateValidity"],
734
746
  "max": ["updateValidity"],
735
747
  "value": ["updateValidity", "updateInternalValue"],
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, g as getElement, H as Host } from './index-bcaee850.js';
4
+ import { r as registerInstance, h, g as getElement, H as Host } from './index-dc7d6b8d.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
6
6
  import { g as getColorByName } from './token-utils-b531747a.js';
7
7
  import './tokens.module-d3321092.js';
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-bcaee850.js';
4
+ import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-dc7d6b8d.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
6
6
  import { f as fieldSorter, d as debounce } from './js-utils-fa98b8cd.js';
7
7
  import { i as isKeyboardClick } from './keyboard-utils-d237bd5a.js';
8
- import { g as getLocaleString, s as sanitizeString } from './language-utils-7b211f31.js';
8
+ import { a as getLocaleString, s as sanitizeString } from './language-utils-6be16ff0.js';
9
9
  import { q as sizeNavigation, s as sizeHeader } from './tokens.module-d3321092.js';
10
10
  import { b as breakpointToToken } from './token-utils-b531747a.js';
11
11
  import { c as createID } from './create-id-981107da.js';
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host } from './index-bcaee850.js';
4
+ import { r as registerInstance, h, H as Host } from './index-dc7d6b8d.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
6
6
 
7
7
  const duetEmptyStateCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%;height:100%}.duet-empty-state{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%;padding:48px;color:rgb(0, 41, 77);text-align:center;background:rgb(245, 248, 250);border-radius:4px}.duet-empty-state.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(245, 245, 247)}";
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-bcaee850.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-dc7d6b8d.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
6
6
  import { c as createID } from './create-id-981107da.js';
7
7
 
@@ -1,12 +1,12 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent$1, h, F as Fragment, g as getElement } from './index-bcaee850.js';
4
+ import { r as registerInstance, c as createEvent$1, h, F as Fragment, g as getElement } from './index-dc7d6b8d.js';
5
5
  import { a as actionArrowRight } from './action-arrow-right-f7d56681.js';
6
6
  import { a as actionNewWindowSmall } from './action-new-window-small-1945be91.js';
7
7
  import { D as DuetStringsExternalDefaults } from './common-strings-97e04e4b.js';
8
8
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
9
- import { a as getLanguage, g as getLocaleString } from './language-utils-7b211f31.js';
9
+ import { g as getLanguage, a as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-6be16ff0.js';
10
10
  import { p as parsePossibleJSON } from './string-utils-5954f458.js';
11
11
 
12
12
  var actionNewWindow={"title":"action-new-window","tags":"arrow open new window tab external link square box rectangle action","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M10.25 2a.75.75 0 1 1 0 1.5h-6.5A2.252 2.252 0 0 0 1.5 5.75v14.5a2.252 2.252 0 0 0 2.25 2.25h14.5a2.252 2.252 0 0 0 2.25-2.25v-6.5a.75.75 0 0 1 1.5 0v6.5A3.754 3.754 0 0 1 18.25 24H3.75A3.754 3.754 0 0 1 0 20.25V5.75A3.754 3.754 0 0 1 3.75 2zm12.985-2c.1 0 .198.02.29.058l.025.011a.726.726 0 0 1 .15.091l.066.059a.755.755 0 0 1 .109.138l.051.1c.04.092.06.192.06.293l-.001 6.363c0 .2-.078.389-.22.53a.743.743 0 0 1-.53.22.743.743 0 0 1-.53-.22.743.743 0 0 1-.22-.53V2.559L15.28 9.764a.75.75 0 0 1-1.06-1.06l7.204-7.205h-4.553a.744.744 0 0 1-.75-.75c0-.2.078-.388.22-.53A.743.743 0 0 1 16.87 0z\"/></svg>"};
@@ -76,9 +76,14 @@ const DuetFooter = class {
76
76
  this.language = getLanguage();
77
77
  this.items = undefined;
78
78
  this.accessibleLabelExternalDefaults = DuetStringsExternalDefaults;
79
- this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults, this.language);
79
+ this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults);
80
80
  this.menu = undefined;
81
81
  }
82
+ watchLanguageStateHandler(newValue, oldValue) {
83
+ if (newValue !== oldValue && this.accessibleLabelExternal === this.accessibleLabelExternalDefaults[oldValue]) {
84
+ this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults, newValue);
85
+ }
86
+ }
82
87
  /**
83
88
  * Component lifecycle events.
84
89
  */
@@ -86,6 +91,12 @@ const DuetFooter = class {
86
91
  inheritGlobalTheme(this);
87
92
  this.refresh();
88
93
  }
94
+ connectedCallback() {
95
+ connectLanguageChangeObserver(this);
96
+ }
97
+ disconnectedCallback() {
98
+ disconnectLanguageChangeObserver(this);
99
+ }
89
100
  /**
90
101
  * Local methods
91
102
  */
@@ -111,6 +122,7 @@ const DuetFooter = class {
111
122
  }
112
123
  get element() { return getElement(this); }
113
124
  static get watchers() { return {
125
+ "language": ["watchLanguageStateHandler"],
114
126
  "menu": ["refresh"],
115
127
  "items": ["refresh"]
116
128
  }; }
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, g as getElement, H as Host } from './index-bcaee850.js';
4
+ import { r as registerInstance, h, g as getElement, H as Host } from './index-dc7d6b8d.js';
5
5
  import { m as media_query_large, a as media_query_medium, b as media_query_small } from './tokens-0963dc8b.js';
6
6
  import { w as watchForOptions, a as watchForElement } from './watch-options-dd55bce8.js';
7
7
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
@@ -1,14 +1,14 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { h, r as registerInstance, c as createEvent$1, B as Build, H as Host, F as Fragment, g as getElement } from './index-bcaee850.js';
4
+ import { h, r as registerInstance, c as createEvent$1, B as Build, H as Host, F as Fragment, g as getElement } from './index-dc7d6b8d.js';
5
5
  import { f as formSearch } from './form-search-ea8e19ae.js';
6
6
  import { m as media_query_large } from './tokens-0963dc8b.js';
7
7
  import { d as disableBodyScroll, e as enableBodyScroll } from './bodyScrollLock.es6-61b5e9a4.js';
8
8
  import { D as DuetStringsExternalDefaults } from './common-strings-97e04e4b.js';
9
9
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
10
10
  import { f as isEscapeKey, g as isSpaceKey, d as isArrowLeftKey, b as isArrowUpKey, a as isArrowRightKey, c as isArrowDownKey } from './keyboard-utils-d237bd5a.js';
11
- import { a as getLanguage, g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-7b211f31.js';
11
+ import { g as getLanguage, a as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-6be16ff0.js';
12
12
  import { p as parsePossibleJSON } from './string-utils-5954f458.js';
13
13
  import { a as actionArrowDownSmall } from './action-arrow-down-small-82273dc8.js';
14
14
  import { n as colorGrayLightest, o as colorBrandGrayTurva, i as colorPrimaryTurva, p as colorBrandBlue } from './tokens.module-d3321092.js';
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-bcaee850.js';
4
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-dc7d6b8d.js';
5
5
  import { a as actionNewWindowSmall } from './action-new-window-small-1945be91.js';
6
6
  import { D as DuetStringsExternalDefaults } from './common-strings-97e04e4b.js';
7
7
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
8
- import { a as getLanguage, g as getLocaleString } from './language-utils-7b211f31.js';
8
+ import { g as getLanguage, a as getLocaleString } from './language-utils-6be16ff0.js';
9
9
  import { p as parsePossibleJSON } from './string-utils-5954f458.js';
10
10
 
11
11
  const duetHeroCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;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-decoration:none;text-shadow:none;text-transform:none;background:rgb(0, 41, 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(0, 41, 77);background-color:rgb(255, 255, 255);background-image:linear-gradient(rgb(243, 249, 252), #f9fcfe)}.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(#f9fcfe, rgb(255, 255, 255))}.duet-hero.duet-hero-light.duet-theme-turva,.duet-hero.duet-hero-with-image.duet-theme-turva{color:rgb(23, 28, 58);background-image:linear-gradient(rgb(245, 245, 247), #fafafb)}.duet-hero.duet-hero-light.duet-theme-turva::before,.duet-hero.duet-hero-with-image.duet-theme-turva::before{background-image:linear-gradient(#fafafb, rgb(255, 255, 255))}.duet-hero.duet-hero-gray{color:rgb(0, 41, 77);background:rgb(245, 248, 250)}.duet-hero.duet-hero-gray.duet-theme-turva{background:rgb(245, 245, 247)}@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}.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;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%}@media (min-width: 106.25em){.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: 106.25em){.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:155px;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 .duet-hero-text,.duet-hero.duet-hero-section .duet-hero-text{width:100%}.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:65%}}@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}.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:115px;left:-10px;width:350px;height:350px;background:rgb(255, 255, 255);transform:none;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-repeat:no-repeat}@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:140px;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}}@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:2rem 0 5rem}}@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:3rem 0 8rem}}@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:4rem 0 10rem}}@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:5rem 0 10rem}}@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:6rem 0 12rem}}@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:8rem 0 13rem}}@media (min-width: 62em){.duet-hero.duet-hero-section .background{height:436px}}@media (min-width: 76.25em){.duet-hero.duet-hero-section .background{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;overflow:hidden;background:rgb(255, 255, 255)}@media (min-width: 62em){.duet-hero.duet-hero-product{min-height:544px}}.duet-hero.duet-hero-product .background{position:relative;width:100%;height:236px}.duet-hero.duet-hero-product .background .background-mask{display:none}@media (min-width: 48em){.duet-hero.duet-hero-product .background{height:290px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background:not(.narrow){position:absolute;top:0;right:0;left:0;max-width:1440px;height:100%;margin:0 auto;overflow:visible}}.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 (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shaped-image{right:15%}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-210px;width:485px;height:485px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-image:not(.narrow){top:-353px;right:-128.15px;width:520px;height:736px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-image:not(.narrow){width:736px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-image.narrow{right:30%}}.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-size:100%;transform:rotate(-7deg) translate(-50%, 0)}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:600px;height:320px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg:not(.narrow){width:800px;height:470px}}.duet-hero.duet-hero-product .background .brand-shape{position:absolute;top:-20px;right:50%;width:240px;height:240px;background:rgb(230, 242, 248);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shape{top:-60px;width:340px;height:340px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shape:not(.narrow){top:auto;top:79px;right:200px;width:380px;height:380px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shape:not(.narrow){right:414px;width:400px;height:400px}}.duet-hero.duet-hero-product .background .brand-shaped-icon{position:absolute;top:160px;right:15%;display:flex;align-items:center;justify-content:center;width:85px;height:85px;background:rgba(0, 119, 179, 0.75);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:180px;width:120px;height:120px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-icon:not(.narrow){top:292px;right:220px;width:150px;height:150px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-icon:not(.narrow){top:292px;right:220px;width:186px;height:186px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-icon.narrow{right:35%}}.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:80px;height:80px;transform:rotate(-7deg)}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon:not(.narrow){width:120px;height:120px}}.duet-hero.duet-hero-product .duet-hero-wrapper{max-width:100%;margin:0 auto}.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: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid .duet-hero-text{width:50%}}.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: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow .duet-hero-text{width:80%}}.duet-hero.duet-hero-product.duet-theme-turva{background:rgb(255, 255, 255)}.duet-hero.duet-hero-product.duet-theme-turva .background-mask{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;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-mask{left:181px}}.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image{top:-185px;right:0;left:0;width:485px;height:485px;margin:0 auto;border-radius:0;transform:none;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-repeat:no-repeat}@media (min-width: 36em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image{right:0}}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image{top:-165px;right:0}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image{top:-230px;right:-128.15px;left:auto;width:620px;height:675px;margin:0}}@media (min-width: 76.25em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image{width:736px}}.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg{width:600px;height:320px;transform:translate(-50%, 0)}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg{width:600px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg{width:800px;height:470px}}.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon{top:150px;background:rgba(198, 12, 48, 0.75)}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon{top:180px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon{top:192px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon{top:292px}}.duet-hero.duet-hero-content{padding:0 0 48px;overflow:hidden;background:rgb(255, 255, 255)}.duet-hero.duet-hero-content:not(.duet-hero-has-image){padding:72px 0 48px}.duet-hero.duet-hero-content .background{position:relative;height:236px}.duet-hero.duet-hero-content .background .background-mask{display:none}@media (min-width: 48em){.duet-hero.duet-hero-content .background{height:384px}}.duet-hero.duet-hero-content .background .brand-shaped-image{position:absolute;right:0;bottom:50px;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{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-theme-turva{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;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{right:0;bottom:-30px;left:0;width:420px;height:420px;margin:0 auto;border-radius:0;transform:none;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-repeat:no-repeat}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image{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-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(198, 12, 48)}@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)}.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-hero-image-wrapper{width:300px;padding-bottom:300px}.duet-theme-turva .duet-hero-image-wrapper{width:80%;padding-bottom:68%}}@media (min-width: 62em){.duet-hero-image-wrapper{position:absolute;top:-60px;right:-50px;width:470px;padding-bottom:470px;margin:0}.duet-theme-turva .duet-hero-image-wrapper{top:-40px;right:-80px;width:536px;padding-bottom:470px}}@media (min-width: 76.25em){.duet-hero-image-wrapper{top:-70px;right:-60px;width:600px;padding-bottom:600px}.duet-theme-turva .duet-hero-image-wrapper{top:-70px;right:-60px;width:650px;padding-bottom:600px}}@media screen and (min-width: 1450px){.duet-hero-image-wrapper{top:-70px;right:25px}.duet-theme-turva .duet-hero-image-wrapper{right:0}}.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-theme-turva .duet-hero-image-wrapper .duet-hero-image{top:0;left:0;width:100%;height:100%;transform:none}.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-theme-turva .duet-hero-image-mask{transform:translateX(108%)}}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;-webkit-hyphens:auto;hyphens:auto;line-height:1.25;color:rgb(0, 119, 179);text-align:left;text-decoration:none;border-bottom:1px solid rgb(225, 227, 230);transition:background-color 300ms ease}.duet-hero-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}.duet-theme-turva .duet-hero-link:focus,.duet-hero-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}.duet-hero-link:hover,.duet-hero-link:hover .duet-hero-action-arrow{color:rgb(0, 77, 128) !important;background:transparent !important}.duet-theme-turva .duet-hero-link:hover,.duet-theme-turva .duet-hero-link:hover .duet-hero-action-arrow{color:rgb(148, 9, 37) !important}.duet-theme-turva .duet-hero-link{color:rgb(198, 12, 48)}@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(225, 227, 230)}@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-theme-turva .duet-hero-action-arrow{color:rgb(198, 12, 48)}.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}";
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { E as Env, r as registerInstance, h, H as Host, g as getElement } from './index-bcaee850.js';
4
+ import { E as Env, r as registerInstance, h, H as Host, g as getElement } from './index-dc7d6b8d.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-cb76be7c.js';
6
6
  import { g as getColorByName } from './token-utils-b531747a.js';
7
7
  import './tokens.module-d3321092.js';