@duetds/components 5.0.4 → 5.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/hydrate/index.js +474 -17
  2. package/lib/cjs/duet-action-button.cjs.entry.js +7 -7
  3. package/lib/cjs/duet-alert.cjs.entry.js +4 -4
  4. package/lib/cjs/duet-badge.cjs.entry.js +2 -2
  5. package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -2
  6. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +4 -4
  7. package/lib/cjs/duet-button_2.cjs.entry.js +6 -6
  8. package/lib/cjs/duet-caption_4.cjs.entry.js +6 -6
  9. package/lib/cjs/duet-card.cjs.entry.js +6 -6
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +2 -2
  11. package/lib/cjs/duet-choice_2.cjs.entry.js +6 -6
  12. package/lib/cjs/duet-collapsible.cjs.entry.js +5 -5
  13. package/lib/cjs/duet-combobox.cjs.entry.js +390 -0
  14. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  15. package/lib/cjs/duet-date-picker.cjs.entry.js +5 -5
  16. package/lib/cjs/duet-divider_2.cjs.entry.js +2 -2
  17. package/lib/cjs/duet-editable-table_3.cjs.entry.js +11 -9
  18. package/lib/cjs/duet-empty-state.cjs.entry.js +2 -2
  19. package/lib/cjs/duet-fieldset.cjs.entry.js +2 -2
  20. package/lib/cjs/duet-footer.cjs.entry.js +6 -6
  21. package/lib/cjs/duet-grid_2.cjs.entry.js +3 -3
  22. package/lib/cjs/duet-header_2.cjs.entry.js +42 -11
  23. package/lib/cjs/duet-hero.cjs.entry.js +4 -4
  24. package/lib/cjs/duet-icon.cjs.entry.js +4 -4
  25. package/lib/cjs/duet-input_2.cjs.entry.js +19 -4
  26. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-list_2.cjs.entry.js +2 -2
  28. package/lib/cjs/duet-modal.cjs.entry.js +6 -6
  29. package/lib/cjs/duet-notification_2.cjs.entry.js +4 -4
  30. package/lib/cjs/duet-number-input.cjs.entry.js +5 -5
  31. package/lib/cjs/duet-pagination_2.cjs.entry.js +5 -5
  32. package/lib/cjs/duet-progress.cjs.entry.js +4 -4
  33. package/lib/cjs/duet-radio_2.cjs.entry.js +2 -2
  34. package/lib/cjs/duet-range-slider.cjs.entry.js +3 -3
  35. package/lib/cjs/duet-scrollable_3.cjs.entry.js +12 -8
  36. package/lib/cjs/duet-select.cjs.entry.js +3 -3
  37. package/lib/cjs/duet-step_2.cjs.entry.js +3 -3
  38. package/lib/cjs/duet-textarea.cjs.entry.js +3 -3
  39. package/lib/cjs/duet-toggle.cjs.entry.js +2 -2
  40. package/lib/cjs/duet-tooltip.cjs.entry.js +4 -4
  41. package/lib/cjs/duet-tray.cjs.entry.js +5 -5
  42. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  44. package/lib/cjs/duet.cjs.js +2 -2
  45. package/lib/cjs/{focus-utils-88e98997.js → focus-utils-a03e60dd.js} +1 -1
  46. package/lib/cjs/{index-ef094178.js → index-e44f9b36.js} +1 -1
  47. package/lib/cjs/{input-utils-f3e3854c.js → input-utils-b5e8f524.js} +1 -1
  48. package/lib/cjs/{keyboard-utils-898cfe14.js → keyboard-utils-bb32119b.js} +3 -0
  49. package/lib/cjs/{language-utils-aa282901.js → language-utils-4f62a7db.js} +1 -1
  50. package/lib/cjs/loader.cjs.js +2 -2
  51. package/lib/cjs/{string-utils-267e3dbb.js → string-utils-5cadd058.js} +6 -0
  52. package/lib/cjs/themeable-component-940d3b50.js +15 -0
  53. package/lib/cjs/{token-utils-ac8432d1.js → token-utils-f402e205.js} +1 -1
  54. package/lib/cjs/{tokens-72efc7fd.js → tokens-8596cece.js} +0 -0
  55. package/lib/cjs/{tokens.module-6afcc9c1.js → tokens.module-6b2df1c2.js} +0 -0
  56. package/lib/collection/collection-manifest.json +1 -0
  57. package/lib/collection/components/duet-combobox/duet-combobox-select-single.js +12 -0
  58. package/lib/collection/components/duet-combobox/duet-combobox-select.js +19 -0
  59. package/lib/collection/components/duet-combobox/duet-combobox.css +78 -0
  60. package/lib/collection/components/duet-combobox/duet-combobox.js +592 -0
  61. package/lib/collection/components/duet-footer/duet-footer.js +6 -2
  62. package/lib/collection/components/duet-header/duet-header.css +15 -0
  63. package/lib/collection/components/duet-header/duet-header.js +41 -3
  64. package/lib/collection/components/duet-input/duet-input.js +67 -1
  65. package/lib/collection/components/duet-tab-group/duet-tab-group.js +25 -3
  66. package/lib/collection/components/duet-upload/duet-upload.css +12 -0
  67. package/lib/collection/components/duet-upload/duet-upload.js +4 -1
  68. package/lib/collection/components/duet-upload/upload-editable-item-success.js +1 -1
  69. package/lib/collection/utils/input-utils.js +1 -1
  70. package/lib/collection/utils/string-utils.js +6 -0
  71. package/lib/collection/utils/themeable-component.js +5 -2
  72. package/lib/custom-elements-bundle/index.d.ts +6 -0
  73. package/lib/custom-elements-bundle/index.js +470 -29
  74. package/lib/duet/duet.esm.js +1 -1
  75. package/lib/duet/duet.js +1 -1
  76. package/lib/duet/{p-36e7114b.system.entry.js → p-052a5743.system.entry.js} +1 -1
  77. package/lib/duet/{p-f1b62aca.entry.js → p-0958486a.entry.js} +1 -1
  78. package/lib/duet/{p-9b568485.entry.js → p-0bfa4901.entry.js} +1 -1
  79. package/lib/duet/{p-912eed2f.entry.js → p-14883a40.entry.js} +1 -1
  80. package/lib/duet/p-1676ed71.system.entry.js +4 -0
  81. package/lib/duet/{p-16df6ccc.system.entry.js → p-17261af2.system.entry.js} +1 -1
  82. package/lib/duet/{p-c3bd89fa.system.entry.js → p-1a1c2f04.system.entry.js} +1 -1
  83. package/lib/duet/p-1beddade.entry.js +4 -0
  84. package/lib/duet/{p-ea4674fd.system.entry.js → p-202bedcb.system.entry.js} +1 -1
  85. package/lib/duet/{p-68fecc14.system.entry.js → p-21711099.system.entry.js} +1 -1
  86. package/lib/duet/{p-f4c60fd8.system.entry.js → p-25edad4a.system.entry.js} +1 -1
  87. package/lib/duet/{p-123c8434.system.entry.js → p-2673743a.system.entry.js} +1 -1
  88. package/lib/duet/p-28f204ff.system.entry.js +4 -0
  89. package/lib/duet/{p-1144c927.entry.js → p-2963573e.entry.js} +1 -1
  90. package/lib/duet/{p-87bedb24.system.entry.js → p-2999bd13.system.entry.js} +1 -1
  91. package/lib/duet/{p-c2d1223e.entry.js → p-2f6e0663.entry.js} +1 -1
  92. package/lib/duet/{p-42d3a162.system.entry.js → p-314a8dce.system.entry.js} +1 -1
  93. package/lib/duet/{p-b631407a.system.entry.js → p-32c98e7e.system.entry.js} +1 -1
  94. package/lib/duet/{p-aa16ca33.system.entry.js → p-33eef64b.system.entry.js} +1 -1
  95. package/lib/duet/{p-ad77f9e2.entry.js → p-3b6ba9be.entry.js} +1 -1
  96. package/lib/duet/{p-1cfeab55.system.entry.js → p-3c09dfc7.system.entry.js} +1 -1
  97. package/lib/duet/{p-b5bc8221.entry.js → p-3e21a552.entry.js} +1 -1
  98. package/lib/duet/{p-5d997107.entry.js → p-3e6b24df.entry.js} +1 -1
  99. package/lib/duet/{p-7dbf8797.system.entry.js → p-3f781b16.system.entry.js} +1 -1
  100. package/lib/duet/{p-f5a4ae78.entry.js → p-3fef06e6.entry.js} +1 -1
  101. package/lib/duet/{p-1bb6c66f.system.entry.js → p-434eb761.system.entry.js} +1 -1
  102. package/lib/duet/{p-92722c37.system.entry.js → p-442a290e.system.entry.js} +1 -1
  103. package/lib/duet/{p-f414ff23.system.entry.js → p-4600e39d.system.entry.js} +1 -1
  104. package/lib/duet/{p-a96ead6c.entry.js → p-489173a9.entry.js} +1 -1
  105. package/lib/duet/{p-104c3fa5.system.entry.js → p-4b9eb6dd.system.entry.js} +1 -1
  106. package/lib/duet/{p-77acbfe4.system.js → p-4e2532c7.system.js} +1 -1
  107. package/lib/duet/{p-2b1b8246.entry.js → p-53d51490.entry.js} +1 -1
  108. package/lib/duet/p-54f35a79.js +4 -0
  109. package/lib/duet/p-56118313.js +4 -0
  110. package/lib/duet/p-5a9d75e1.js +4 -0
  111. package/lib/duet/{p-5d6f8c04.entry.js → p-6ac8a774.entry.js} +1 -1
  112. package/lib/duet/p-6b03322b.system.js +4 -0
  113. package/lib/duet/{p-ee6d9bc6.entry.js → p-6b915701.entry.js} +1 -1
  114. package/lib/duet/{p-bd27572d.entry.js → p-6c94b74c.entry.js} +1 -1
  115. package/lib/duet/{p-298aff96.system.entry.js → p-6d93203d.system.entry.js} +1 -1
  116. package/lib/duet/{p-689fe862.entry.js → p-6f339dd4.entry.js} +1 -1
  117. package/lib/duet/{p-cbd12107.system.entry.js → p-71e1ff1e.system.entry.js} +1 -1
  118. package/lib/duet/p-72919e6d.entry.js +4 -0
  119. package/lib/duet/{p-b47892c9.entry.js → p-7312120a.entry.js} +1 -1
  120. package/lib/duet/{p-54cc4f86.entry.js → p-77c8ae06.entry.js} +1 -1
  121. package/lib/duet/{p-b110c837.entry.js → p-79af737e.entry.js} +1 -1
  122. package/lib/duet/{p-d98ed960.entry.js → p-7d8ee301.entry.js} +1 -1
  123. package/lib/duet/{p-d7bc0102.js → p-8143f3de.js} +0 -0
  124. package/lib/duet/{p-d4621cbf.system.entry.js → p-82bfc46e.system.entry.js} +1 -1
  125. package/lib/duet/{p-70acda4b.entry.js → p-854b2669.entry.js} +1 -1
  126. package/lib/duet/{p-b06d63cb.entry.js → p-8afcef6d.entry.js} +1 -1
  127. package/lib/duet/p-8ca12f86.entry.js +4 -0
  128. package/lib/duet/{p-b985a189.entry.js → p-8e7b2349.entry.js} +1 -1
  129. package/lib/duet/p-976d65bc.entry.js +4 -0
  130. package/lib/duet/{p-84eb2808.entry.js → p-a3e84a0c.entry.js} +1 -1
  131. package/lib/duet/p-a63f753e.system.js +4 -0
  132. package/lib/duet/{p-285e2473.system.entry.js → p-a682460b.system.entry.js} +2 -2
  133. package/lib/duet/p-abf8eaf7.js +4 -0
  134. package/lib/duet/{p-ed75c8b3.js → p-ad07f399.js} +0 -0
  135. package/lib/duet/p-aee18e71.system.entry.js +4 -0
  136. package/lib/duet/{p-d494f1a3.system.entry.js → p-b03047e2.system.entry.js} +1 -1
  137. package/lib/duet/p-b6d51921.system.js +4 -0
  138. package/lib/duet/{p-ada161bd.entry.js → p-b8423556.entry.js} +1 -1
  139. package/lib/duet/{p-f125dfff.system.js → p-bdbf8f12.system.js} +1 -1
  140. package/lib/duet/{p-fe9138e7.system.entry.js → p-bfacc4ba.system.entry.js} +1 -1
  141. package/lib/duet/{p-d688612f.entry.js → p-bfbc45ac.entry.js} +1 -1
  142. package/lib/duet/{p-1a2ab8e8.system.entry.js → p-c3248b49.system.entry.js} +1 -1
  143. package/lib/duet/{p-128983f7.system.entry.js → p-c363cb4b.system.entry.js} +1 -1
  144. package/lib/duet/{p-97bdc2bf.entry.js → p-c3cfb3d2.entry.js} +1 -1
  145. package/lib/duet/{p-9a8d5b11.system.js → p-c466bad9.system.js} +1 -1
  146. package/lib/duet/{p-217b9e24.entry.js → p-c4b8dbcc.entry.js} +1 -1
  147. package/lib/duet/{p-b5a64d86.system.entry.js → p-ca07f766.system.entry.js} +1 -1
  148. package/lib/duet/{p-d9ac5f05.entry.js → p-ca61da84.entry.js} +1 -1
  149. package/lib/duet/{p-5746d88c.js → p-cb445018.js} +1 -1
  150. package/lib/duet/{p-c0071398.system.entry.js → p-cbee7eb0.system.entry.js} +1 -1
  151. package/lib/duet/p-cc557ff2.entry.js +4 -0
  152. package/lib/duet/{p-a41384d5.system.entry.js → p-cde3dddb.system.entry.js} +1 -1
  153. package/lib/duet/p-cf2cd5b6.js +4 -0
  154. package/lib/duet/{p-e0b5e649.entry.js → p-d15456a9.entry.js} +1 -1
  155. package/lib/duet/{p-04145769.system.js → p-d3a21d3a.system.js} +1 -1
  156. package/lib/duet/{p-37f74ccb.system.entry.js → p-d4f6977d.system.entry.js} +2 -2
  157. package/lib/duet/{p-217e3cc7.system.entry.js → p-d56fcc0f.system.entry.js} +1 -1
  158. package/lib/duet/{p-c40c716c.entry.js → p-d75cb9b3.entry.js} +1 -1
  159. package/lib/duet/{p-8ebf4113.entry.js → p-dc6f6251.entry.js} +1 -1
  160. package/lib/duet/{p-268c0abb.system.js → p-ddb6344c.system.js} +0 -0
  161. package/lib/duet/{p-c5037594.entry.js → p-e2e9c1c6.entry.js} +1 -1
  162. package/lib/duet/{p-e485de24.entry.js → p-e3bb4d0d.entry.js} +1 -1
  163. package/lib/duet/{p-2495cec7.system.entry.js → p-e6217a66.system.entry.js} +1 -1
  164. package/lib/duet/{p-333ed250.system.entry.js → p-e7d06e4b.system.entry.js} +1 -1
  165. package/lib/duet/{p-30a28555.system.entry.js → p-e9d62935.system.entry.js} +1 -1
  166. package/lib/duet/{p-a52c08c6.entry.js → p-ea85a070.entry.js} +1 -1
  167. package/lib/duet/{p-90223d57.entry.js → p-eacb0a3c.entry.js} +1 -1
  168. package/lib/duet/{p-eb7c1a1d.system.entry.js → p-eafce13a.system.entry.js} +2 -2
  169. package/lib/duet/{p-a7a1ece1.system.entry.js → p-eafe466d.system.entry.js} +1 -1
  170. package/lib/duet/{p-17a8d23c.system.entry.js → p-ebc287fb.system.entry.js} +1 -1
  171. package/lib/duet/p-ede854e1.js +4 -0
  172. package/lib/duet/p-ef60173e.js +4 -0
  173. package/lib/duet/{p-d2b5efc0.system.entry.js → p-ef63e6b7.system.entry.js} +1 -1
  174. package/lib/duet/{p-71cdfd93.system.entry.js → p-f2dda559.system.entry.js} +1 -1
  175. package/lib/duet/p-f357091a.entry.js +4 -0
  176. package/lib/duet/{p-70fafc98.system.js → p-f69b64c9.system.js} +1 -1
  177. package/lib/duet/{p-f333c2bf.system.entry.js → p-f6d4c0e2.system.entry.js} +1 -1
  178. package/lib/duet/{p-27eac9a4.entry.js → p-f8d42b1d.entry.js} +1 -1
  179. package/lib/duet/{p-812b0905.system.js → p-fa99eaa4.system.js} +0 -0
  180. package/lib/duet/p-fad9218e.system.js +4 -0
  181. package/lib/esm/duet-action-button.entry.js +7 -7
  182. package/lib/esm/duet-alert.entry.js +4 -4
  183. package/lib/esm/duet-badge.entry.js +2 -2
  184. package/lib/esm/duet-breadcrumb.entry.js +2 -2
  185. package/lib/esm/duet-breadcrumbs.entry.js +4 -4
  186. package/lib/esm/duet-button_2.entry.js +6 -6
  187. package/lib/esm/duet-caption_4.entry.js +6 -6
  188. package/lib/esm/duet-card.entry.js +6 -6
  189. package/lib/esm/duet-checkbox.entry.js +2 -2
  190. package/lib/esm/duet-choice_2.entry.js +6 -6
  191. package/lib/esm/duet-collapsible.entry.js +5 -5
  192. package/lib/esm/duet-combobox.entry.js +386 -0
  193. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  194. package/lib/esm/duet-date-picker.entry.js +5 -5
  195. package/lib/esm/duet-divider_2.entry.js +2 -2
  196. package/lib/esm/duet-editable-table_3.entry.js +11 -9
  197. package/lib/esm/duet-empty-state.entry.js +2 -2
  198. package/lib/esm/duet-fieldset.entry.js +2 -2
  199. package/lib/esm/duet-footer.entry.js +6 -6
  200. package/lib/esm/duet-grid_2.entry.js +3 -3
  201. package/lib/esm/duet-header_2.entry.js +42 -11
  202. package/lib/esm/duet-hero.entry.js +4 -4
  203. package/lib/esm/duet-icon.entry.js +4 -4
  204. package/lib/esm/duet-input_2.entry.js +19 -4
  205. package/lib/esm/duet-layout.entry.js +1 -1
  206. package/lib/esm/duet-list_2.entry.js +2 -2
  207. package/lib/esm/duet-modal.entry.js +6 -6
  208. package/lib/esm/duet-notification_2.entry.js +4 -4
  209. package/lib/esm/duet-number-input.entry.js +5 -5
  210. package/lib/esm/duet-pagination_2.entry.js +5 -5
  211. package/lib/esm/duet-progress.entry.js +4 -4
  212. package/lib/esm/duet-radio_2.entry.js +2 -2
  213. package/lib/esm/duet-range-slider.entry.js +3 -3
  214. package/lib/esm/duet-scrollable_3.entry.js +12 -8
  215. package/lib/esm/duet-select.entry.js +3 -3
  216. package/lib/esm/duet-step_2.entry.js +3 -3
  217. package/lib/esm/duet-textarea.entry.js +3 -3
  218. package/lib/esm/duet-toggle.entry.js +2 -2
  219. package/lib/esm/duet-tooltip.entry.js +4 -4
  220. package/lib/esm/duet-tray.entry.js +5 -5
  221. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  222. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  223. package/lib/esm/duet.js +2 -2
  224. package/lib/esm/{focus-utils-d02ee9d2.js → focus-utils-ea33cb8a.js} +1 -1
  225. package/lib/esm/{index-3cfa1b7e.js → index-54e0bce3.js} +1 -1
  226. package/lib/esm/{input-utils-f4cafee1.js → input-utils-de45e099.js} +1 -1
  227. package/lib/esm/{keyboard-utils-6eb55cd5.js → keyboard-utils-88ea1007.js} +2 -1
  228. package/lib/esm/{language-utils-344d894c.js → language-utils-bf701d37.js} +1 -1
  229. package/lib/esm/loader.js +2 -2
  230. package/lib/esm/{string-utils-2f1793b8.js → string-utils-5954f458.js} +6 -0
  231. package/lib/esm/themeable-component-e8fc98bf.js +13 -0
  232. package/lib/esm/{token-utils-e9a0cb88.js → token-utils-e9a69acf.js} +1 -1
  233. package/lib/esm/{tokens-57d98824.js → tokens-e110dc89.js} +0 -0
  234. package/lib/esm/{tokens.module-a13e9683.js → tokens.module-49cbf963.js} +0 -0
  235. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  236. package/lib/esm-es5/duet-alert.entry.js +1 -1
  237. package/lib/esm-es5/duet-badge.entry.js +1 -1
  238. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  239. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  240. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  241. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  242. package/lib/esm-es5/duet-card.entry.js +1 -1
  243. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  244. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  245. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  246. package/lib/esm-es5/duet-combobox.entry.js +4 -0
  247. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  248. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  249. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  250. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  251. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  252. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  253. package/lib/esm-es5/duet-footer.entry.js +1 -1
  254. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  255. package/lib/esm-es5/duet-header_2.entry.js +2 -2
  256. package/lib/esm-es5/duet-hero.entry.js +1 -1
  257. package/lib/esm-es5/duet-icon.entry.js +1 -1
  258. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  259. package/lib/esm-es5/duet-layout.entry.js +1 -1
  260. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  261. package/lib/esm-es5/duet-modal.entry.js +1 -1
  262. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  263. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  264. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  265. package/lib/esm-es5/duet-progress.entry.js +1 -1
  266. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  267. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  268. package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
  269. package/lib/esm-es5/duet-select.entry.js +1 -1
  270. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  271. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  272. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  273. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  274. package/lib/esm-es5/duet-tray.entry.js +1 -1
  275. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  276. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  277. package/lib/esm-es5/duet.js +1 -1
  278. package/lib/esm-es5/focus-utils-ea33cb8a.js +4 -0
  279. package/lib/esm-es5/index-54e0bce3.js +4 -0
  280. package/lib/esm-es5/input-utils-de45e099.js +4 -0
  281. package/lib/esm-es5/keyboard-utils-88ea1007.js +4 -0
  282. package/lib/esm-es5/{language-utils-344d894c.js → language-utils-bf701d37.js} +1 -1
  283. package/lib/esm-es5/loader.js +1 -1
  284. package/lib/esm-es5/string-utils-5954f458.js +4 -0
  285. package/lib/esm-es5/themeable-component-e8fc98bf.js +4 -0
  286. package/lib/esm-es5/{token-utils-e9a0cb88.js → token-utils-e9a69acf.js} +1 -1
  287. package/lib/esm-es5/{tokens-57d98824.js → tokens-e110dc89.js} +0 -0
  288. package/lib/esm-es5/{tokens.module-a13e9683.js → tokens.module-49cbf963.js} +0 -0
  289. package/lib/html.html-data.json +55 -0
  290. package/lib/types/components/duet-combobox/duet-combobox-select-single.d.ts +8 -0
  291. package/lib/types/components/duet-combobox/duet-combobox-select.d.ts +14 -0
  292. package/lib/types/components/duet-combobox/duet-combobox.d.ts +131 -0
  293. package/lib/types/components/duet-footer/duet-footer.d.ts +4 -0
  294. package/lib/types/components/duet-header/duet-header.d.ts +8 -0
  295. package/lib/types/components/duet-input/duet-input.d.ts +13 -0
  296. package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +4 -0
  297. package/lib/types/components.d.ts +115 -0
  298. package/package.json +5 -5
  299. package/lib/cjs/themeable-component-0c1be552.js +0 -12
  300. package/lib/duet/p-195f73d6.entry.js +0 -4
  301. package/lib/duet/p-2764f081.js +0 -4
  302. package/lib/duet/p-6733b42f.js +0 -4
  303. package/lib/duet/p-74780bca.system.js +0 -4
  304. package/lib/duet/p-7b064c4f.entry.js +0 -4
  305. package/lib/duet/p-7e2e9a28.js +0 -4
  306. package/lib/duet/p-898f30a5.js +0 -4
  307. package/lib/duet/p-922c3772.system.entry.js +0 -4
  308. package/lib/duet/p-98228d0a.system.js +0 -4
  309. package/lib/duet/p-986779fb.js +0 -4
  310. package/lib/duet/p-9a945278.system.js +0 -4
  311. package/lib/duet/p-9dfcd29a.js +0 -4
  312. package/lib/duet/p-a28cf57b.js +0 -4
  313. package/lib/duet/p-a8ff3a13.entry.js +0 -4
  314. package/lib/duet/p-d70b3f27.entry.js +0 -4
  315. package/lib/duet/p-d8c526b4.entry.js +0 -4
  316. package/lib/duet/p-e87b2fa4.system.entry.js +0 -4
  317. package/lib/duet/p-efaa0c04.system.js +0 -4
  318. package/lib/esm/themeable-component-572685dd.js +0 -10
  319. package/lib/esm-es5/focus-utils-d02ee9d2.js +0 -4
  320. package/lib/esm-es5/index-3cfa1b7e.js +0 -4
  321. package/lib/esm-es5/input-utils-f4cafee1.js +0 -4
  322. package/lib/esm-es5/keyboard-utils-6eb55cd5.js +0 -4
  323. package/lib/esm-es5/string-utils-2f1793b8.js +0 -4
  324. package/lib/esm-es5/themeable-component-572685dd.js +0 -4
package/hydrate/index.js CHANGED
@@ -5617,6 +5617,7 @@ const isArrowRightKey = (e) => e.keyCode === 39;
5617
5617
  const isArrowDownKey = (e) => e.keyCode === 40;
5618
5618
  const isArrowKey = (e) => isArrowDownKey(e) || isArrowRightKey(e) || isArrowUpKey(e) || isArrowLeftKey(e);
5619
5619
  const isEscapeKey = (e) => e.key === "Escape" || e.key === "Esc" || e.keyCode === 27;
5620
+ const isTabKey = (e) => e.key === "Tab" || e.keyCode === 9;
5620
5621
  const isBackspaceKey = (e) => e.keyCode === 8;
5621
5622
  const isSpaceKey = (e) => e.key === "Space" || e.keyCode === 32;
5622
5623
  const isPlusKey = (e) => e.key === "+" || e.keyCode === 43;
@@ -5639,6 +5640,12 @@ const parsePossibleJSON = (maybeJSON) => {
5639
5640
  }
5640
5641
  catch (e) {
5641
5642
  console.warn(e);
5643
+ try {
5644
+ return JSON.parse(convertHtmlQuotes(maybeJSON));
5645
+ }
5646
+ catch (e) {
5647
+ console.warn(e);
5648
+ }
5642
5649
  }
5643
5650
  }
5644
5651
  // undefined is not a type in JSON,
@@ -5758,8 +5765,11 @@ const getLocaleString = (langObject, languageOverride) => {
5758
5765
  };
5759
5766
 
5760
5767
  const inheritGlobalTheme = (component) => {
5761
- if (component.theme !== "default" && document.documentElement.classList.contains("duet-theme-turva")) {
5762
- component.theme = "turva";
5768
+ // this minor change enables duet-theme-XXXXX instead of just duet-theme-turva
5769
+ const classList = Array.from(document.documentElement.classList).join(" ") || "";
5770
+ const theme = /(duet-theme-)([a-z]*)/gis.exec(classList);
5771
+ if (theme && theme[1] === "duet-theme-") {
5772
+ component.theme = theme[2] === "default" ? "" : theme[2];
5763
5773
  }
5764
5774
  };
5765
5775
 
@@ -8399,6 +8409,391 @@ class DuetCollapsible {
8399
8409
  }; }
8400
8410
  }
8401
8411
 
8412
+ const SelectSingle = ({ item, search = "", selected }) => {
8413
+ const regEx = search !== "" ? new RegExp("(" + search.split(" ").join("|") + ")", "gi") : undefined;
8414
+ return (hAsync(Fragment, null,
8415
+ selected && hAsync("duet-icon", { class: "option-icon", name: "messaging-checked", size: "xx-small", margin: "none" }),
8416
+ regEx ? (hAsync("span", { class: "option-container", "aria-hidden": "true" },
8417
+ hAsync("span", { innerHTML: item.name.replace(regEx, '<span class="highlight">$&</span>') }))) : (item.name),
8418
+ item.tags && hAsync("span", { class: "option-tags" }, item.tags.join(", "))));
8419
+ };
8420
+
8421
+ const DuetComboBoxSelect = ({ item, active, total, selected, label = undefined, clickHandler = e => {
8422
+ e.preventDefault();
8423
+ }, keyHandler = e => {
8424
+ e.preventDefault();
8425
+ }, search, }) => {
8426
+ return (hAsync("li", { class: {
8427
+ "list-item": true,
8428
+ option: true,
8429
+ active: active,
8430
+ selected: selected,
8431
+ }, id: active ? "active_item" : "", "data-index": item.id, "aria-selected": active ? "true" : undefined, "aria-current": selected ? "true" : undefined, role: "option", "aria-label": label || `${item.name}, (${item.id + 1} of ${total})` },
8432
+ hAsync("a", { tabindex: "-1", onClick: e => clickHandler(e), onKeyUp: e => keyHandler(e), class: "option-link", "aria-label": label || `${item.name}, (${item.id + 1} of ${total})`, "aria-hidden": "true" },
8433
+ hAsync(SelectSingle, { item: item, search: search, selected: selected }))));
8434
+ };
8435
+
8436
+ const duetComboboxCss = ".sc-duet-combobox-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;width:auto;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#00294d}.duet-combobox-list.sc-duet-combobox{position:absolute;top:calc(100% - 12px);display:none;overflow:hidden;background:white;border-radius:0 4px;box-shadow:0 2px 10px 0 rgba(0, 41, 77, 0.1)}.duet-combobox-list.open.sc-duet-combobox{z-index:700;display:block}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox{max-height:200px;padding:0.75rem 0;margin:0;overflow-y:scroll;font-weight:600;list-style:none;cursor:pointer;scroll-behavior:smooth}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox{padding:4px 0}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:not(.selected){padding-left:16px}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:not(.selected) .highlight.sc-duet-combobox{text-decoration:underline}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.option.sc-duet-combobox .option-link.sc-duet-combobox{display:block;width:100%}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.option.sc-duet-combobox .option-tags.sc-duet-combobox{float:right;padding-right:0.875rem;font-weight:400;color:#909599}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.option-link.sc-duet-combobox{display:block;width:100%}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.selected.sc-duet-combobox{padding-left:0;background:#cde5f1}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.selected.option.sc-duet-combobox .option-icon.sc-duet-combobox{padding:0 8px 0 8px}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.selected.option.sc-duet-combobox .option-tags.sc-duet-combobox{color:#909599}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.active.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover{color:white;background:#0077b3}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.active.sc-duet-combobox .option-tags.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus .option-tags.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover .option-tags.sc-duet-combobox{color:#e1e3e6}";
8437
+
8438
+ class DuetCombobox {
8439
+ constructor(hostRef) {
8440
+ registerInstance(this, hostRef);
8441
+ this.duetChange = createEvent$2(this, "duetChange", 3);
8442
+ // Safari doesnt properly support aria-activedecendatn, the code associated with this bool is a workaround for that,
8443
+ // this should be removed when Safari fixes the issue
8444
+ // see: https://a11ysupport.io/tests/apg__aria-1-2-combobox-with-list-autocomplete-example#assertion-aria-aria-activedescendant_attribute-convey_value-aria-combobox_role-vo_macos-safari
8445
+ this.isSafari = false;
8446
+ this.resizeObserver = new ResizeObserver(debounce(entries => {
8447
+ var _a, _b;
8448
+ // otherwise, something is wrong, expecting 1 element only
8449
+ if ((entries === null || entries === void 0 ? void 0 : entries.length) === 1) {
8450
+ const currentWidth = (_b = (_a = entries[0]) === null || _a === void 0 ? void 0 : _a.target) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect().width;
8451
+ this.listContainer.style.width = `${currentWidth + 1}px`;
8452
+ // this.listElement.style.width = `${currentWidth + 1}px`
8453
+ }
8454
+ }, 100));
8455
+ this.processedItems = null;
8456
+ this.inputWidth = 0;
8457
+ this.inputValue = "";
8458
+ this.selectionMsg = "";
8459
+ this.listOpen = false;
8460
+ // the selected item is based upon the DuetComboboxItem.id value
8461
+ this.selectedItems = new Set();
8462
+ // the activeItem number is based upon the array.index of the array stored in processedItems
8463
+ this.activeItem = undefined;
8464
+ /**
8465
+ * Placeholder defaults
8466
+ * @default { fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" }
8467
+ */
8468
+ this.accessibleLabelDefaults = {
8469
+ en: {
8470
+ heading: "Select:",
8471
+ item: "{name}, ({current} of {total})",
8472
+ itemFiltered: "{name}, ({current} of {total}, {hiddenItems} filtered)",
8473
+ },
8474
+ fi: {
8475
+ heading: "Valitse:",
8476
+ item: "{name}, ({current}/{total})",
8477
+ itemFiltered: "{name}, ({current}/{total}, {hiddenItems} suodatettu)",
8478
+ },
8479
+ sv: {
8480
+ heading: "Välj:",
8481
+ item: "{name}, ({current} av {total})",
8482
+ itemFiltered: "{name}, ({current} av {total}, {hiddenItems} filtrerade)",
8483
+ },
8484
+ };
8485
+ /**
8486
+ * Hint text to display before the user types into the date picker input.
8487
+ * @default {
8488
+ * heading: "Valitse:",
8489
+ * item: "{0}, ({1}/{2})",
8490
+ * itemFiltered: "{0}, ({1}/{2} - {3} suodatettu"
8491
+ * }
8492
+ */
8493
+ this.accessibleLabels = getLocaleString(parsePossibleJSON(this.accessibleLabelDefaults), getLanguage());
8494
+ /**
8495
+ * Theme of the combobox.
8496
+ */
8497
+ this.theme = "";
8498
+ /**
8499
+ * Force the user to make a selection (typing things in the input field will only be used for list search)
8500
+ */
8501
+ this.force = false;
8502
+ /**
8503
+ * A hook to overwrite how the values are displayed in the input field after a User select an item
8504
+ * @example (item) => `${item.name} (${item.value})`
8505
+ * @default undefined
8506
+ */
8507
+ this.formatter = (item) => item && item.name ? item.name : "";
8508
+ }
8509
+ activeItemHandler(state) {
8510
+ this.input.accessibleActiveDescendant = this.listOpen && (state || state === 0) ? `active_item` : "";
8511
+ }
8512
+ handleDocumentClick(e) {
8513
+ //we want to remove all user text if they have NOT selected from the dropdown
8514
+ const path = e.composedPath();
8515
+ const isClickOutside = path.every(el => el !== this.element);
8516
+ if (isClickOutside) {
8517
+ this.updateInputText(true);
8518
+ this.listOpen = false;
8519
+ }
8520
+ }
8521
+ /**
8522
+ * Exposes a formatter function to format the item value displayed after a user selects an item
8523
+ * @param item: DuetComboboxItem
8524
+ */
8525
+ async formatItem(item) {
8526
+ return this.formatter(item);
8527
+ }
8528
+ /**
8529
+ * Component lifecycle events.
8530
+ */
8531
+ componentWillLoad() {
8532
+ inheritGlobalTheme(this);
8533
+ }
8534
+ connectedCallback() {
8535
+ {
8536
+ return;
8537
+ }
8538
+ }
8539
+ disconnectedCallback() {
8540
+ {
8541
+ return;
8542
+ }
8543
+ }
8544
+ componentDidLoad() {
8545
+ // observe resize events to dynamically adjust size of dropdown area
8546
+ this.resizeObserver.observe(this.input);
8547
+ this.listElement.addEventListener("click", e => {
8548
+ e.stopPropagation();
8549
+ });
8550
+ }
8551
+ /**
8552
+ * Updates the input text based on the selected/clicked items.
8553
+ * @param event - event
8554
+ *'param item: DuetComboboxItem - the item that was selected
8555
+ */
8556
+ onListClick(e, item) {
8557
+ e.preventDefault();
8558
+ // update selected item with id
8559
+ this.updateSelectedItems(item.id);
8560
+ this.listOpen = false;
8561
+ return this.listOpen;
8562
+ }
8563
+ /**
8564
+ * Helper function that checks inputs in the field, compares it with the item list and returns true when inputvalue matches selectedItem id
8565
+ * TODO: this should be disabled in multiple mode
8566
+ */
8567
+ shouldListBeFiltered() {
8568
+ if (this.selectedItems.size && this.input.value === this.inputValue) {
8569
+ const item = this.items.filter(item => this.selectedItems.has(item.id));
8570
+ return !(this.formatter(item).toLowerCase() === this.input.value.toLowerCase());
8571
+ }
8572
+ return true;
8573
+ }
8574
+ /**
8575
+ * Helper function that return correct collection depending on filter status returend by shouldListBeFiltered
8576
+ */
8577
+ returnFilteredOrNonFiltered() {
8578
+ return this.processedItems
8579
+ ? this.shouldListBeFiltered()
8580
+ ? this.getFilteredItems()
8581
+ : this.sortFilteredItems(this.processedItems)
8582
+ : [];
8583
+ }
8584
+ /**
8585
+ * Updates the selected items based on the item id.
8586
+ * @param id
8587
+ * @private
8588
+ */
8589
+ async updateSelectedItems(id) {
8590
+ // for a multiple scenario wrap this in an if/else and just don't clear here
8591
+ this.selectedItems.clear();
8592
+ if (this.selectedItems) {
8593
+ if (this.selectedItems.has(id)) {
8594
+ this.selectedItems.delete(id);
8595
+ }
8596
+ else {
8597
+ this.selectedItems.add(id);
8598
+ }
8599
+ }
8600
+ await this.updateInputText();
8601
+ }
8602
+ /**
8603
+ * Updates the input text based on the selected/clicked items.
8604
+ * @param bool -override to clear if invoked by "click outside"
8605
+ */
8606
+ async updateInputText(isBlurred = false) {
8607
+ const item = this.selectedItems.size === 0 ? [] : this.items.filter(item => this.selectedItems.has(item.id));
8608
+ if (this.selectedItems.size === 1) {
8609
+ this.input.value = ""; // set value to empty so that cursor position follows accordingly
8610
+ this.input.value = await this.formatItem(item[0]);
8611
+ this.input.scrollLeft = this.input.scrollWidth;
8612
+ this.activeItem = undefined;
8613
+ this.value = await this.formatItem(item[0]);
8614
+ this.duetChange.emit({
8615
+ value: item[0].value,
8616
+ item: item[0],
8617
+ component: "duet-combobox",
8618
+ });
8619
+ }
8620
+ else if (isBlurred && this.selectedItems.size === 0) {
8621
+ //if nothing is selected and a user clicks outside, we want the input field to clearly illustrate that nothing was selected
8622
+ if (this.force) {
8623
+ this.inputValue = "";
8624
+ this.input.value = "";
8625
+ }
8626
+ this.activeItem = undefined;
8627
+ }
8628
+ this.listOpen = false;
8629
+ }
8630
+ updateInputValue(e) {
8631
+ var _a;
8632
+ this.inputValue = e.detail.value;
8633
+ this.listOpen = String(this.inputValue).length > 0 && ((_a = this.getFilteredItems()) === null || _a === void 0 ? void 0 : _a.length) > 0;
8634
+ }
8635
+ handleInputKeyDownEvent(e) {
8636
+ //if selection is made, close the list and update internal and external values
8637
+ // this should be set to undefined on everything BUT up/down arrow according to the aria 1.1 specs
8638
+ // https://www.w3.org/TR/wai-aria-practices-1.1/#combobox
8639
+ this.input.accessibleActiveDescendant = undefined;
8640
+ if (isEnterKey(e)) {
8641
+ e.preventDefault();
8642
+ this.selectActiveItem();
8643
+ this.listOpen = false;
8644
+ return;
8645
+ }
8646
+ //tabbing out or escaping, restore initial state
8647
+ if (isEscapeKey(e) || isTabKey(e)) {
8648
+ this.updateInputText(true);
8649
+ this.listOpen = false;
8650
+ return;
8651
+ }
8652
+ //handle arrow up/down navigation
8653
+ let nextActiveItem = this.activeItem;
8654
+ if (isArrowUpKey(e)) {
8655
+ e.preventDefault();
8656
+ nextActiveItem = this.activeItem - 1;
8657
+ }
8658
+ else if (isArrowDownKey(e)) {
8659
+ e.preventDefault();
8660
+ nextActiveItem = this.listOpen ? this.activeItem + 1 : this.activeItem;
8661
+ this.listOpen = true;
8662
+ }
8663
+ if (isArrowDownKey(e) || isArrowUpKey(e)) {
8664
+ const listItems = this.shouldListBeFiltered() ? this.getFilteredItems() : this.processedItems;
8665
+ if (nextActiveItem < 0 || !nextActiveItem) {
8666
+ nextActiveItem = 0;
8667
+ }
8668
+ if (nextActiveItem >= listItems.length) {
8669
+ nextActiveItem = listItems.length - 1;
8670
+ }
8671
+ // this should be set to undefined on everything BUT up/down arrow according to the aria 1.1 specs
8672
+ // https://www.w3.org/TR/wai-aria-practices-1.1/#combobox
8673
+ this.input.accessibleActiveDescendant = "active_item";
8674
+ this.activeItem = nextActiveItem;
8675
+ this.scrollToActive();
8676
+ }
8677
+ this.announceActive();
8678
+ return;
8679
+ }
8680
+ selectActiveItem() {
8681
+ if (this.activeItem === undefined) {
8682
+ return;
8683
+ }
8684
+ const filteredItem = this.returnFilteredOrNonFiltered();
8685
+ const item = filteredItem[this.activeItem];
8686
+ this.updateSelectedItems(item.id);
8687
+ }
8688
+ announceActive(items) {
8689
+ if (!items) {
8690
+ items = this.returnFilteredOrNonFiltered();
8691
+ }
8692
+ if (this.activeItem === undefined || this.activeItem === -1) {
8693
+ return;
8694
+ }
8695
+ const item = items[this.activeItem];
8696
+ this.selectionMsg = this.formatLabel(item, items.length, this.items.length);
8697
+ }
8698
+ //function that scrolls to the li element with the class "active"
8699
+ scrollToActive() {
8700
+ const activeElement = this.listElement.querySelector(".active");
8701
+ if (activeElement) {
8702
+ activeElement.scrollIntoView({
8703
+ behavior: "smooth",
8704
+ block: "center",
8705
+ });
8706
+ }
8707
+ }
8708
+ formatLabel(item, length, itemsLength) {
8709
+ if (!item || itemsLength === undefined) {
8710
+ return "";
8711
+ }
8712
+ const labelString = length === itemsLength ? this.accessibleLabels.item : this.accessibleLabels.itemFiltered;
8713
+ return labelString
8714
+ .replace("{name}", String(item.name))
8715
+ .replace("{current}", String(this.activeItem + 1))
8716
+ .replace("{total}", String(length))
8717
+ .replace("{hiddenItems}", String(itemsLength - length));
8718
+ }
8719
+ /**
8720
+ * Filter the items based on the input value
8721
+ */
8722
+ getFilteredItems() {
8723
+ // filter items based on user inputs
8724
+ const filteredItems = this.processedItems.filter(item =>
8725
+ // filter by name and value
8726
+ // if value contains inputvalue
8727
+ String(item.value).toLowerCase().includes(this.inputValue.toLowerCase()) ||
8728
+ // if name contains input value
8729
+ String(item.name).toLowerCase().includes(this.inputValue.toLowerCase()) ||
8730
+ // if the item is selected
8731
+ this.selectedItems.has(item.id));
8732
+ return this.sortFilteredItems(filteredItems);
8733
+ }
8734
+ /**
8735
+ * Sort the return from getFilteredItems so that any item with and item.id that matches this.selectedItems is placed first
8736
+ */
8737
+ sortFilteredItems(items) {
8738
+ if (items.length > 0) {
8739
+ items
8740
+ .filter(item => this.selectedItems.has(item.id))
8741
+ .forEach(item => {
8742
+ const index = items.indexOf(item);
8743
+ items.splice(index, 1);
8744
+ items.unshift(item);
8745
+ });
8746
+ }
8747
+ return items;
8748
+ }
8749
+ /**
8750
+ * render() function
8751
+ * Always the last one in the class.
8752
+ */
8753
+ render() {
8754
+ const selectElements = this.returnFilteredOrNonFiltered();
8755
+ return (hAsync(Host, { role: "combobox", "aria-expanded": this.listOpen ? "true" : "false", "aria-owns": this.listOpen ? "duet-combobox-list-element" : undefined, "aria-haspopup": "listbox", class: {
8756
+ "duet-combobox": true,
8757
+ [`duet-theme-${this.theme}`]: true,
8758
+ } }, hAsync("slot", null), this.isSafari && (hAsync("duet-visually-hidden", { "aria-live": "assertive", "aria-atomic": "true", "aria-relevant": "all" }, this.selectionMsg)), hAsync("div", { role: "list", class: {
8759
+ "duet-combobox-list": true,
8760
+ open: this.listOpen,
8761
+ }, ref: el => (this.listContainer = el) }, hAsync("ul", { role: "listbox", ref: el => (this.listElement = el), id: "duet-combobox-list-element", class: "listbox" }, this.processedItems &&
8762
+ selectElements.map((item, index) => {
8763
+ return (hAsync(DuetComboBoxSelect, { item: item, active: index === this.activeItem, selected: this.selectedItems.has(item.id), search: this.inputValue, total: selectElements.length, clickHandler: e => this.onListClick(e, item), label: this.formatLabel(item, this.returnFilteredOrNonFiltered().length, this.items.length) }));
8764
+ })))));
8765
+ }
8766
+ get element() { return getElement(this); }
8767
+ static get watchers() { return {
8768
+ "activeItem": ["activeItemHandler"]
8769
+ }; }
8770
+ static get style() { return duetComboboxCss; }
8771
+ static get cmpMeta() { return {
8772
+ "$flags$": 6,
8773
+ "$tagName$": "duet-combobox",
8774
+ "$members$": {
8775
+ "accessibleLabelDefaults": [1, "accessible-label-defaults"],
8776
+ "accessibleLabels": [16],
8777
+ "theme": [1025],
8778
+ "force": [4],
8779
+ "items": [1032],
8780
+ "formatter": [16],
8781
+ "value": [1537],
8782
+ "processedItems": [32],
8783
+ "inputWidth": [32],
8784
+ "inputValue": [32],
8785
+ "selectionMsg": [32],
8786
+ "listOpen": [32],
8787
+ "selectedItems": [32],
8788
+ "activeItem": [32],
8789
+ "formatItem": [64]
8790
+ },
8791
+ "$listeners$": [[4, "click", "handleDocumentClick"]],
8792
+ "$lazyBundleId$": "-",
8793
+ "$attrsToReflect$": [["value", "value"]]
8794
+ }; }
8795
+ }
8796
+
8402
8797
  const duetCookieConsentCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-cookie-consent,*.sc-duet-cookie-consent::after,*.sc-duet-cookie-consent::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-cookie-consent-h{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*/.sc-duet-cookie-consent-h{right:28px;bottom:28px;left:auto;width:25rem}}/*!@:host(:focus)*/.sc-duet-cookie-consent-h:focus{outline:0}/*!@:host(.user-is-tabbing:focus)*/.user-is-tabbing.sc-duet-cookie-consent-h:focus{border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing.duet-theme-turva:focus)*/.user-is-tabbing.duet-theme-turva.sc-duet-cookie-consent-h:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-cookie-consent*/.duet-cookie-consent.sc-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:white !important;background-color:rgba(0, 21, 39, 0.9)}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){/*!@.duet-cookie-consent*/.duet-cookie-consent.sc-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*/.duet-cookie-consent.duet-theme-turva.sc-duet-cookie-consent{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*/.duet-cookie-consent.duet-theme-turva.sc-duet-cookie-consent{background:rgba(12, 14, 29, 0.8)}}@media (min-width: 48em){/*!@.duet-cookie-consent*/.duet-cookie-consent.sc-duet-cookie-consent{padding:20px;border-radius:4px}}/*!@.duet-cookie-consent-content*/.duet-cookie-consent-content.sc-duet-cookie-consent{display:flex;align-items:center;max-width:1110px;margin:0 auto}/*!@.duet-cookie-consent-content .expand*/.duet-cookie-consent-content.sc-duet-cookie-consent .expand.sc-duet-cookie-consent{flex:1}/*!@::slotted(a)*/.sc-duet-cookie-consent-s>a{font-weight:600;color:white !important;text-decoration:underline;white-space:nowrap}/*!@::slotted(a[target=_blank])*/.sc-duet-cookie-consent-s>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)*/.sc-duet-cookie-consent-s>a:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-theme-turva ::slotted(a:focus)*/.duet-theme-turva .sc-duet-cookie-consent-s>a:focus{outline:0;box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}";
8403
8798
 
8404
8799
  class DuetCookieConsent {
@@ -9709,6 +10104,10 @@ const createEvent$1 = (ev, data) => ({
9709
10104
  data,
9710
10105
  originalEvent: ev,
9711
10106
  });
10107
+ /**
10108
+ * @part top - piercing selector for styling the top part of the footer
10109
+ * @part menu - piercing selector for styling the menu section of the footer
10110
+ */
9712
10111
  class DuetFooter {
9713
10112
  constructor(hostRef) {
9714
10113
  registerInstance(this, hostRef);
@@ -9811,9 +10210,9 @@ class DuetFooter {
9811
10210
  "duet-m-0": this.margin === "none",
9812
10211
  "duet-theme-turva": this.theme === "turva",
9813
10212
  "duet-footer-simple": this.variation === "simple",
9814
- } }, hAsync("div", { class: "duet-footer-wrapper" }, hAsync("div", { class: "duet-footer-top" }, this.variation !== "simple" && (hAsync("duet-logo", { href: this.logoHref, onClick: this.handleLogoClick, size: "large", inverse: true, language: this.language, theme: this.theme })), this.processedItems &&
10213
+ } }, hAsync("div", { class: "duet-footer-wrapper" }, hAsync("div", { class: "duet-footer-top", part: "top" }, this.variation !== "simple" && (hAsync("duet-logo", { href: this.logoHref, onClick: this.handleLogoClick, size: "large", inverse: true, language: this.language, theme: this.theme })), this.processedItems &&
9815
10214
  this.variation !== "simple" &&
9816
- this.processedItems.map(item => (hAsync("a", { class: "duet-footer-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleItemClick(event, item) }, hAsync("div", { class: "duet-footer-icon" }, hAsync("duet-icon", { size: "medium", margin: "none", name: item.icon, color: "currentColor" })), hAsync("span", null, item.label), item.external && hAsync("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), hAsync("div", { class: "duet-footer-arrow" }, item.external ? (hAsync("duet-icon", { icon: actionNewWindow.svg, size: "xx-small", margin: "none", color: "currentColor" })) : (hAsync("duet-icon", { icon: actionArrowRight.svg, size: "auto", margin: "none", color: "currentColor" }))))))), hAsync("p", { class: "duet-footer-menu" }, hAsync("span", { class: "duet-footer-copyright" }, `${copyrightLabel} ${new Date().getFullYear()}`), this.processedMenu && (hAsync(Fragment, null, hAsync("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/"), this.processedMenu.map(item => (hAsync("a", { href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleMenuClick(event, item) }, item.label, item.external && (hAsync(Fragment, null, hAsync("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), hAsync("div", { class: "duet-footer-external" }, hAsync("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))), hAsync("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/"))))))))));
10215
+ this.processedItems.map(item => (hAsync("a", { class: "duet-footer-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleItemClick(event, item) }, hAsync("div", { class: "duet-footer-icon" }, hAsync("duet-icon", { size: "medium", margin: "none", name: item.icon, color: "currentColor" })), hAsync("span", null, item.label), item.external && hAsync("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), hAsync("div", { class: "duet-footer-arrow" }, item.external ? (hAsync("duet-icon", { icon: actionNewWindow.svg, size: "xx-small", margin: "none", color: "currentColor" })) : (hAsync("duet-icon", { icon: actionArrowRight.svg, size: "auto", margin: "none", color: "currentColor" }))))))), hAsync("p", { class: "duet-footer-menu", part: "menu" }, hAsync("span", { class: "duet-footer-copyright" }, `${copyrightLabel} ${new Date().getFullYear()}`), this.processedMenu && (hAsync(Fragment, null, hAsync("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/"), this.processedMenu.map(item => (hAsync("a", { href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleMenuClick(event, item) }, item.label, item.external && (hAsync(Fragment, null, hAsync("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), hAsync("div", { class: "duet-footer-external" }, hAsync("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))), hAsync("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/"))))))))));
9817
10216
  }
9818
10217
  get element() { return getElement(this); }
9819
10218
  static get watchers() { return {
@@ -10327,7 +10726,7 @@ const DuetHeaderHamburger = () => (hAsync("div", { class: "duet-header-hamburger
10327
10726
  hAsync("span", { class: "duet-header-bar" }),
10328
10727
  hAsync("span", { class: "duet-header-bar" })));
10329
10728
 
10330
- const duetHeaderCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-header,*.sc-duet-header::after,*.sc-duet-header::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-header-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%}@supports (position: -webkit-sticky){/*!@:host*/.sc-duet-header-h{position:-webkit-sticky;top:-4rem;z-index:400}}@supports (position: sticky){/*!@:host*/.sc-duet-header-h{position:sticky;top:-4rem;z-index:400}}@supports (position: -webkit-sticky){/*!@:host(.duet-header-multi-level-desktop-variation)*/.duet-header-multi-level-desktop-variation.sc-duet-header-h{top:0}}@supports (position: sticky){/*!@:host(.duet-header-multi-level-desktop-variation)*/.duet-header-multi-level-desktop-variation.sc-duet-header-h{top:0}}/*!@.duet-header-reserved-space*/.duet-header-reserved-space.sc-duet-header{height:4rem}@media (min-width: 62em){/*!@.duet-header-reserved-space.duet-with-links*/.duet-header-reserved-space.duet-with-links.sc-duet-header{height:7rem}}/*!@.duet-header*/.duet-header.sc-duet-header{-webkit-user-select:none;user-select:none;position:fixed;top:0;left:0;z-index:400;display:block;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:0.875rem;font-weight:400;line-height:1.5;color:#00294d;text-align:left}/*!@.duet-header.duet-theme-turva*/.duet-header.duet-theme-turva.sc-duet-header{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}@media (min-width: 62em){/*!@.duet-header.duet-theme-turva*/.duet-header.duet-theme-turva.sc-duet-header{box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}}@media (min-width: 62em){/*!@.duet-header*/.duet-header.sc-duet-header{position:absolute;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}/*!@.duet-header.duet-header-inactive*/.duet-header.duet-header-inactive.sc-duet-header{position:fixed}}/*!@.duet-header **/.duet-header.sc-duet-header *.sc-duet-header{-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}/*!@.duet-header-top*/.duet-header-top.sc-duet-header{position:relative;z-index:200;display:flex;flex-direction:row;align-items:center;width:100%;height:4rem;padding:0 16px;background:white;border-bottom:1px solid #e1e3e6;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}@media (min-width: 62em){/*!@.duet-header-top*/.duet-header-top.sc-duet-header{z-index:100;padding:0 28px;box-shadow:none}/*!@.duet-header-top duet-logo*/.duet-header-top.sc-duet-header duet-logo.sc-duet-header{padding-right:4px}}@media (min-width: 106.25em){/*!@.duet-header-top*/.duet-header-top.sc-duet-header{padding:0 48px}}/*!@.duet-theme-turva .duet-header-top*/.duet-theme-turva.sc-duet-header .duet-header-top.sc-duet-header{border-color:#e4e4e6;box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}@media (min-width: 62em){/*!@.duet-theme-turva .duet-header-top*/.duet-theme-turva.sc-duet-header .duet-header-top.sc-duet-header{box-shadow:none}}/*!@.duet-theme-turva .duet-header-top duet-logo*/.duet-theme-turva.sc-duet-header .duet-header-top.sc-duet-header duet-logo.sc-duet-header{left:-80px !important;margin-top:-8px !important}/*!@.duet-header-top .duet-header-region*/.duet-header-top.sc-duet-header .duet-header-region.sc-duet-header{max-width:200px;padding-left:16px;margin-top:1px;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:1px solid #cfd2d4}/*!@.duet-theme-turva .duet-header-top .duet-header-region*/.duet-theme-turva.sc-duet-header .duet-header-top.sc-duet-header .duet-header-region.sc-duet-header{border-color:#cfcfd1}@media (max-width: 35.9375em){/*!@.duet-header-top .duet-header-region*/.duet-header-top.sc-duet-header .duet-header-region.sc-duet-header{display:none}}@media (min-width: 62em){/*!@.duet-header-top .duet-header-region*/.duet-header-top.sc-duet-header .duet-header-region.sc-duet-header{padding-left:19px}}/*!@.duet-header-bottom*/.duet-header-bottom.sc-duet-header{position:fixed;top:4rem;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;width:100%;overflow-y:auto;visibility:hidden;background:#f3f9fc;opacity:0;-webkit-overflow-scrolling:touch}/*!@.duet-theme-turva .duet-header-bottom*/.duet-theme-turva.sc-duet-header .duet-header-bottom.sc-duet-header{background:#f5f5f7}@media (min-width: 62em){/*!@.duet-header-bottom*/.duet-header-bottom.sc-duet-header{position:relative;top:auto;bottom:auto;z-index:200;flex-direction:row;overflow:visible;visibility:visible;background:white;opacity:1}/*!@.duet-header-bottom.duet-header-inactive*/.duet-header-bottom.duet-header-inactive.sc-duet-header{position:relative}}/*!@.duet-header-bottom.active*/.duet-header-bottom.active.sc-duet-header{visibility:visible;opacity:1;transition:opacity 300ms ease, visibility 300ms ease}@media (min-width: 62em){/*!@.duet-header-bottom*/.duet-header-bottom.sc-duet-header{position:relative;transition:none !important}}/*!@.duet-header-items,\n.duet-header-bottom-utils,\n.duet-header-utils*/.duet-header-items.sc-duet-header,.duet-header-bottom-utils.sc-duet-header,.duet-header-utils.sc-duet-header{opacity:0;transition:transform 600ms ease, opacity 600ms ease;transform:translateY(-28px)}@media (min-width: 62em){/*!@.duet-header-items,\n.duet-header-bottom-utils,\n.duet-header-utils*/.duet-header-items.sc-duet-header,.duet-header-bottom-utils.sc-duet-header,.duet-header-utils.sc-duet-header{opacity:1;transition:none !important;transform:none}}/*!@.active .duet-header-items,\n.active .duet-header-bottom-utils,\n.active .duet-header-utils*/.active.sc-duet-header .duet-header-items.sc-duet-header,.active.sc-duet-header .duet-header-bottom-utils.sc-duet-header,.active.sc-duet-header .duet-header-utils.sc-duet-header{opacity:1;transform:translateY(0)}/*!@.duet-header-items*/.duet-header-items.sc-duet-header{position:relative;z-index:300;display:block;width:100%;font-size:1rem;font-weight:400;line-height:1.5;background:white}@media (min-width: 62em){/*!@.duet-header-items*/.duet-header-items.sc-duet-header{z-index:100;display:flex;flex-direction:row;padding:0 21.5384615385px}}@media (min-width: 106.25em){/*!@.duet-header-items*/.duet-header-items.sc-duet-header{padding-left:43.6363636364px}}/*!@.duet-header-items .duet-header-item-container*/.duet-header-items.sc-duet-header .duet-header-item-container.sc-duet-header{border-bottom:1px solid #e1e3e6;border-radius:0}@media (min-width: 62em){/*!@.duet-header-items .duet-header-item-container*/.duet-header-items.sc-duet-header .duet-header-item-container.sc-duet-header{border:0}}/*!@.duet-header-items .duet-header-second-level .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-second-level.sc-duet-header .duet-header-item.sc-duet-header{padding:0 40px;border:0}/*!@.duet-header-items .duet-header-second-level .duet-header-button*/.duet-header-items.sc-duet-header .duet-header-second-level.sc-duet-header .duet-header-button.sc-duet-header{border:0}/*!@.duet-header-items .duet-header-second-level .duet-header-dropdown-content*/.duet-header-items.sc-duet-header .duet-header-second-level.sc-duet-header .duet-header-dropdown-content.sc-duet-header{padding:0;border:0}/*!@.duet-header-items .duet-header-third-level .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-third-level.sc-duet-header .duet-header-item.sc-duet-header{padding:0 75px}/*!@.duet-header-items .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header{position:relative;display:flex;align-items:center;width:100%;padding:0 20px;overflow:hidden;font-size:1rem;line-height:48px;color:#00294d;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 62em){/*!@.duet-header-items .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header{border-radius:4px}}/*!@.duet-theme-turva .duet-header-items .duet-header-item*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.sc-duet-header{font-weight:600;color:#171c3a;border-color:#e1e3e6}/*!@.duet-header-items .duet-header-item:hover*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:hover{color:#004d80}/*!@.duet-theme-turva .duet-header-items .duet-header-item:hover*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:hover{color:#444445}/*!@.duet-header-items .duet-header-item:focus*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-items .duet-header-item:focus*/.user-is-tabbing.sc-duet-header-h .duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-items .duet-header-item:focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){/*!@.duet-header-items .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header{width:auto;max-width:300px;padding:0 12px;overflow:hidden;font-size:0.875rem;text-overflow:ellipsis;border:0}}/*!@.duet-header-items .duet-header-item.active*/.duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header{color:#0077b3}/*!@.duet-theme-turva .duet-header-items .duet-header-item.active*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header{color:#c60c30}/*!@.duet-header-items .duet-header-item.active:hover*/.duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header:hover{color:#0077b3}/*!@.duet-theme-turva .duet-header-items .duet-header-item.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header:hover{color:#c60c30}/*!@.duet-header-items .duet-header-item.active::after*/.duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}/*!@.duet-theme-turva .duet-header-items .duet-header-item.active::after*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header::after{background:#c60c30}@media (min-width: 62em){/*!@.duet-header-items .duet-header-item.active::after*/.duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header::after{top:auto;left:12px;width:calc(100% - 24px);height:3px}}/*!@.duet-header-toggle*/.duet-header-toggle.sc-duet-header{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-right:-8px;margin-left:auto;cursor:pointer;border-radius:4px;-webkit-appearance:none;appearance:none}/*!@.duet-header-toggle:focus*/.duet-header-toggle.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-toggle:focus*/.user-is-tabbing.sc-duet-header-h .duet-header-toggle.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-toggle:focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-toggle.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){/*!@.duet-header-toggle*/.duet-header-toggle.sc-duet-header{display:none}}/*!@.duet-header-hamburger*/.duet-header-hamburger.sc-duet-header{position:relative;width:24px;height:24px;margin-top:5px !important;pointer-events:none;transition:0.4s ease-in-out;backface-visibility:hidden}/*!@.duet-header-hamburger .duet-header-bar*/.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header{position:absolute;left:0;display:block;width:100%;height:2px;background:#00294d;border-radius:20rem;opacity:1;transition:0.25s ease-in-out;transform:rotate(0deg) scale(0.98)}/*!@.duet-theme-turva .duet-header-hamburger .duet-header-bar*/.duet-theme-turva.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header{background:#171c3a}/*!@.duet-header-hamburger .duet-header-bar:nth-child(1)*/.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(1){top:0}/*!@.duet-header-hamburger .duet-header-bar:nth-child(2), .duet-header-hamburger .duet-header-bar:nth-child(3)*/.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(2),.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(3){top:7px}/*!@.duet-header-hamburger .duet-header-bar:nth-child(4)*/.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(4){top:14px}/*!@button.active .duet-header-hamburger .duet-header-bar:nth-child(1)*/button.active.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(1){top:7px;left:50%;width:0%}/*!@button.active .duet-header-hamburger .duet-header-bar:nth-child(2)*/button.active.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(2){transform:rotate(45deg)}/*!@button.active .duet-header-hamburger .duet-header-bar:nth-child(3)*/button.active.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(3){transform:rotate(-45deg)}/*!@button.active .duet-header-hamburger .duet-header-bar:nth-child(4)*/button.active.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(4){top:7px;left:50%;width:0%}/*!@.duet-header-utils*/.duet-header-utils.sc-duet-header{display:flex;flex-direction:column;width:100%}@media (min-width: 62em){/*!@.duet-header-utils*/.duet-header-utils.sc-duet-header{position:absolute;top:-4rem;right:0;z-index:999999999;flex-direction:row;align-items:center;justify-content:space-between;width:auto;margin-right:20px}}@media (min-width: 106.25em){/*!@.duet-header-utils*/.duet-header-utils.sc-duet-header{margin-right:36px}}@media (min-width: 62em){/*!@.duet-header-bottom-utils*/.duet-header-bottom-utils.sc-duet-header{position:absolute;top:0;right:0;z-index:999999999;margin-right:20px}}@media (min-width: 106.25em){/*!@.duet-header-bottom-utils*/.duet-header-bottom-utils.sc-duet-header{margin-right:36px}}/*!@button*/button.sc-duet-header{font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}/*!@.duet-theme-turva button*/.duet-theme-turva.sc-duet-header button.sc-duet-header{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}/*!@.duet-header-button*/.duet-header-button.sc-duet-header{position:relative;display:flex;align-items:center;width:100%;height:48px;padding:0 20px;overflow:hidden;font-size:1rem;font-weight:400;line-height:48px;color:#00294d;text-align:left;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-bottom:1px solid #e1e3e6;border-radius:4px;-webkit-appearance:none;appearance:none}/*!@.duet-theme-turva .duet-header-button*/.duet-theme-turva.sc-duet-header .duet-header-button.sc-duet-header{color:#171c3a;border-color:#e4e4e6}/*!@.duet-header-button:hover*/.duet-header-button.sc-duet-header:hover{color:#004d80}/*!@.duet-theme-turva .duet-header-button:hover*/.duet-theme-turva.sc-duet-header .duet-header-button.sc-duet-header:hover{color:#444445}/*!@.duet-header-button:focus*/.duet-header-button.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-button:focus*/.user-is-tabbing.sc-duet-header-h .duet-header-button.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-button:focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-button.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-header-button:active*/.duet-header-button.sc-duet-header:active{opacity:0.75}@media (min-width: 62em){/*!@.duet-header-button*/.duet-header-button.sc-duet-header{width:auto;max-width:200px;height:4rem;padding:0 16px;font-size:0.875rem;line-height:4rem;border:0}/*!@.duet-header-button::before*/.duet-header-button.sc-duet-header::before{position:absolute;top:50%;right:0;width:1px;height:20px;content:\"\";background:#cfd2d4;transform:translateY(-50%)}/*!@.duet-theme-turva .duet-header-button::before*/.duet-theme-turva.sc-duet-header .duet-header-button.sc-duet-header::before{background:#cfcfd1}}/*!@.duet-header-button.active*/.duet-header-button.active.sc-duet-header{color:#0077b3;border-radius:0}/*!@.duet-theme-turva .duet-header-button.active*/.duet-theme-turva.sc-duet-header .duet-header-button.active.sc-duet-header{color:#c60c30}/*!@.duet-header-button.active:hover*/.duet-header-button.active.sc-duet-header:hover{color:#0077b3}/*!@.duet-theme-turva .duet-header-button.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-button.active.sc-duet-header:hover{color:#c60c30}@media (min-width: 62em){/*!@.duet-header-button.active::after*/.duet-header-button.active.sc-duet-header::after{position:absolute;top:0;bottom:0;left:0;width:3px;content:\"\";background:#0077b3}/*!@.duet-theme-turva .duet-header-button.active::after*/.duet-theme-turva.sc-duet-header .duet-header-button.active.sc-duet-header::after{color:#c60c30}}/*!@.duet-header-utils .duet-header-button.duet-header-logout*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header{align-self:center;justify-content:center;width:auto;height:2.5rem;margin:2.25rem 0;font-weight:600;border:2px solid #00294d;border-radius:20rem}/*!@.duet-theme-turva .duet-header-utils .duet-header-button.duet-header-logout*/.duet-theme-turva.sc-duet-header .duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header{border-color:#171c3a}/*!@.duet-header-utils .duet-header-button.duet-header-logout .duet-header-icon*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header .duet-header-icon.sc-duet-header{margin-right:0.5rem}/*!@.duet-header-utils .duet-header-button.duet-header-logout .duet-header-button-label*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header .duet-header-button-label.sc-duet-header{font-size:0.875rem}@media (min-width: 62em){/*!@.duet-header-utils .duet-header-button.duet-header-logout*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header{height:4rem;margin:0;font-weight:400;border:0}/*!@.duet-header-utils .duet-header-button.duet-header-logout .duet-header-icon*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header .duet-header-icon.sc-duet-header{margin-right:0.75rem}}/*!@.duet-header-no-action*/.duet-header-no-action.sc-duet-header{pointer-events:none}/*!@.duet-header-user-label*/.duet-header-user-label.sc-duet-header{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 62em){/*!@.duet-header-utils > *:last-child::before,\n.duet-header-utils > *:last-child button::before*/.duet-header-utils.sc-duet-header>*.sc-duet-header:last-child::before,.duet-header-utils.sc-duet-header>*.sc-duet-header:last-child button.sc-duet-header::before{display:none}}@media (min-width: 62em){/*!@.duet-header-utils > *:last-child .duet-header-dropdown-content*/.duet-header-utils.sc-duet-header>*.sc-duet-header:last-child .duet-header-dropdown-content.sc-duet-header{right:0;left:auto}}/*!@.duet-header-language*/.duet-header-language.sc-duet-header{text-transform:uppercase}/*!@.duet-header-language.active, .duet-header-language.active:hover,\n.duet-header-contact.active,\n.duet-header-contact.active:hover*/.duet-header-language.active.sc-duet-header,.duet-header-language.active.sc-duet-header:hover,.duet-header-contact.active.sc-duet-header,.duet-header-contact.active.sc-duet-header:hover{color:inherit}/*!@.duet-theme-turva .duet-header-language.active, .duet-theme-turva .duet-header-language.active:hover,\n.duet-theme-turva .duet-header-contact.active,\n.duet-theme-turva .duet-header-contact.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-language.active.sc-duet-header,.duet-theme-turva.sc-duet-header .duet-header-language.active.sc-duet-header:hover,.duet-theme-turva.sc-duet-header .duet-header-contact.active.sc-duet-header,.duet-theme-turva.sc-duet-header .duet-header-contact.active.sc-duet-header:hover{color:inherit}/*!@.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active::after, .duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active:hover::after,\n.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active::after,\n.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active:hover::after*/.duet-header-dropdown.sc-duet-header .duet-header-language.duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-language.duet-header-dropdown-toggle.active.sc-duet-header:hover::after,.duet-header-dropdown.sc-duet-header .duet-header-contact.duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-contact.duet-header-dropdown-toggle.active.sc-duet-header:hover::after{width:0}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active::after, .duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active:hover::after,\n.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active::after,\n.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active:hover::after*/.duet-header-dropdown.sc-duet-header .duet-header-language.duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-language.duet-header-dropdown-toggle.active.sc-duet-header:hover::after,.duet-header-dropdown.sc-duet-header .duet-header-contact.duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-contact.duet-header-dropdown-toggle.active.sc-duet-header:hover::after{width:100%}}/*!@.duet-header-icon*/.duet-header-icon.sc-duet-header{display:inline-flex;min-width:12px;margin-right:12px;font-size:0;line-height:normal;vertical-align:baseline}@media (min-width: 62em){/*!@.duet-header-icon*/.duet-header-icon.sc-duet-header{margin-right:8px}}/*!@.duet-header-caret*/.duet-header-caret.sc-duet-header{position:absolute;top:50%;right:20px;display:flex;width:10px;height:10px;margin-left:8px;line-height:normal;pointer-events:none;transition:300ms ease;transform:translateY(-50%);transform-origin:50% 50%}@media (min-width: 62em){/*!@.duet-header-caret*/.duet-header-caret.sc-duet-header{width:7px;height:7px}}/*!@.duet-header-caret duet-icon*/.duet-header-caret.sc-duet-header duet-icon.sc-duet-header{width:10px}/*!@.duet-header-dropdown-toggle.active .duet-header-caret*/.duet-header-dropdown-toggle.active.sc-duet-header .duet-header-caret.sc-duet-header{transform:translateY(-50%) rotate(180deg)}/*!@.duet-header-dropdown-toggle:focus*/.duet-header-dropdown-toggle.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-dropdown-toggle:focus*/.user-is-tabbing.sc-duet-header-h .duet-header-dropdown-toggle.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-dropdown-toggle:focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-header-dropdown-toggle:active*/.duet-header-dropdown-toggle.sc-duet-header:active{outline:none}/*!@.duet-header-badge*/.duet-header-badge.sc-duet-header{display:inline-block;width:6px;height:6px;margin-top:-1rem;margin-left:5px;vertical-align:top;background:#f7b228;border-radius:50%;box-shadow:0 0 0 1px #c18b1f}/*!@.duet-theme-turva .duet-header-badge*/.duet-theme-turva.sc-duet-header .duet-header-badge.sc-duet-header{background:#faa40f}/*!@.active-bar*/.active-bar.sc-duet-header{color:#0077b3}/*!@.active-bar::after*/.active-bar.sc-duet-header::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}/*!@.duet-theme-turva .active-bar::after*/.duet-theme-turva.sc-duet-header .active-bar.sc-duet-header::after{background:#c60c30}/*!@.duet-header-dropdown*/.duet-header-dropdown.sc-duet-header{position:relative}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-toggle*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header{z-index:200;padding-right:36px;overflow:hidden;transition:border 300ms ease}}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-toggle::after*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header::after{position:absolute;top:auto;bottom:0;left:0;display:block !important;width:100%;height:3px !important;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(3px)}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle::after*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header::after{background:#c60c30}}/*!@.duet-header-dropdown .duet-header-dropdown-toggle.active, .duet-header-dropdown .duet-header-dropdown-toggle.active:hover*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header,.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover{border-bottom:1px solid #f5f8fa}/*!@.duet-header-dropdown .duet-header-dropdown-toggle.active::after, .duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active::after, .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover::after{background:#c60c30}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active, .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header,.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover{border-color:#f5f5f7}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-toggle.active, .duet-header-dropdown .duet-header-dropdown-toggle.active:hover*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header,.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover{color:#004d80;border:0}/*!@.duet-header-dropdown .duet-header-dropdown-toggle.active::after, .duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover::after{position:absolute;top:auto;bottom:0;left:0;width:100%;height:3px;transform:translateY(0)}}/*!@.duet-header-dropdown .duet-header-dropdown-content*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{display:none;padding-bottom:16px;background:#f3f9fc;border-bottom:1px solid #e1e3e6}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f5f5f7;border-color:#e1e3e6}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{position:absolute;top:100%;left:0;z-index:600;display:block;min-width:150px;padding-top:16px;padding-left:0;visibility:hidden;border:0;border-radius:4px;border-top-left-radius:0;border-top-right-radius:0;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);opacity:0;transition:300ms ease;transform:scale(0.85) translateZ(0) translateY(-20px)}}@media (min-width: 64.0625em){/*!@.duet-header-dropdown .duet-header-dropdown-content*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{min-width:170px}}/*!@.duet-header-dropdown .duet-header-dropdown-content.active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.active.sc-duet-header{display:block}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content.active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.active.sc-duet-header{visibility:visible;opacity:1;transform:translateZ(0) translateY(0)}}/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item)*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item){padding:3px 8px 4px !important;position:relative;display:block;width:100%;padding-right:16px;padding-left:48px !important;overflow:hidden;font-size:0.875rem;font-weight:400;line-height:1.5;color:#00294d;text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;transition:300ms ease}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item)*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item){color:#171c3a}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item)*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item){padding-right:20px !important;padding-left:20px !important}}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):hover*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):hover{background:#e6f2f8}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):hover*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):hover{background:#f9e6ea}}/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus*/.user-is-tabbing.sc-duet-header-h .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item).active{padding-right:36px;font-weight:600;vertical-align:baseline}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item).active{font-weight:700}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item).active{color:white;background:#0077b3}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item).active{background:#c60c30}}/*!@.duet-header-dropdown .duet-header-dropdown-content .duet-header-link-external*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header .duet-header-link-external.sc-duet-header{margin-left:4px}/*!@.duet-header-back .duet-header-top*/.duet-header-back.sc-duet-header .duet-header-top.sc-duet-header{flex-direction:row;align-items:center;justify-content:center}/*!@.duet-header-back duet-button*/.duet-header-back.sc-duet-header duet-button.sc-duet-header{position:absolute;top:50%;left:36px;transform:translateY(-50%)}@media (max-width: 35.9375em){/*!@.duet-header-back duet-button*/.duet-header-back.sc-duet-header duet-button.sc-duet-header{left:20px;max-width:40px;padding:0 12px;overflow:hidden}}/*!@.duet-header-back .duet-header-toggle*/.duet-header-back.sc-duet-header .duet-header-toggle.sc-duet-header{display:none !important}/*!@.duet-header-skip*/.duet-header-skip.sc-duet-header{padding:15px 28px 16px !important;position:absolute;top:-100%;left:-100%;z-index:200;width:1px;min-width:190px;height:1px;overflow:hidden;font-weight:600;color:#0077b3;text-align:center;text-decoration:none;background:white;border-radius:4px;opacity:0}/*!@.duet-header-skip:focus*/.duet-header-skip.sc-duet-header:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-theme-turva .duet-header-skip:focus, .duet-header-skip:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-header .duet-header-skip.sc-duet-header:focus,.duet-header-skip.sc-duet-header:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-theme-turva .duet-header-skip*/.duet-theme-turva.sc-duet-header .duet-header-skip.sc-duet-header{min-width:120px;color:#171c3a}@media (min-width: 106.25em){/*!@.duet-header-skip*/.duet-header-skip.sc-duet-header{margin-left:20px}}/*!@.duet-header-skip:focus*/.duet-header-skip.sc-duet-header:focus{top:12px;left:20px;width:auto;height:auto;outline:0;opacity:1}/*!@.duet-header-multi-level-desktop*/.duet-header-multi-level-desktop.sc-duet-header{height:6rem}/*!@.duet-header-multi-level-desktop .duet-header-top*/.duet-header-multi-level-desktop.sc-duet-header .duet-header-top.sc-duet-header{justify-content:space-between;height:6rem}/*!@.duet-header-multi-level-desktop .duet-header-button*/.duet-header-multi-level-desktop.sc-duet-header .duet-header-button.sc-duet-header{height:6rem}/*!@.duet-header-multi-level-desktop .logo-and-segment*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header{display:flex;flex-basis:0;flex-direction:column;flex-grow:1;padding-top:1rem}/*!@.duet-header-multi-level-desktop .logo-and-segment .duet-header-dropdown*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-dropdown.sc-duet-header{z-index:400;margin-left:2rem}/*!@.duet-header-multi-level-desktop .logo-and-segment .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f3f9fc}/*!@.duet-header-multi-level-desktop .logo-and-segment button*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header button.sc-duet-header{align-items:flex-start;height:2rem;font-weight:600;line-height:1rem}/*!@.duet-header-multi-level-desktop .logo-and-segment button::before*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header button.sc-duet-header::before{display:none}/*!@.duet-header-multi-level-desktop .logo-and-segment .duet-header-caret*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-caret.sc-duet-header{top:25%}/*!@.duet-header-multi-level-desktop-nav*/.duet-header-multi-level-desktop-nav.sc-duet-header{display:flex}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header{position:static}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-toggle*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header{z-index:400;padding-right:1rem;font-size:1rem;font-weight:600}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-toggle.active*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header{color:#0077b3}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{z-index:399;display:flex;justify-content:center;width:100%;height:4.5rem;padding:0;background:#f3f9fc;border-top:1px solid #e1e3e6;border-bottom:1px solid #e1e3e6;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07);transition:none}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;min-width:6rem;height:100%;padding:0 1rem !important;font-weight:600}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a::after*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header::after{position:absolute;top:auto;bottom:0;left:0;display:block !important;width:100%;height:3px;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(3px)}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a.active*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.active.sc-duet-header{font-weight:600;color:#0077b3;background:none}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a.active::after*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.active.sc-duet-header::after{transform:translateY(0)}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a .duet-header-icon*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header .duet-header-icon.sc-duet-header{margin:0}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content .duet-header-badge*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header .duet-header-badge.sc-duet-header{position:absolute;margin-top:-2rem;margin-right:-2.25rem}/*!@.duet-header-multi-level-desktop-nav button::before*/.duet-header-multi-level-desktop-nav.sc-duet-header button.sc-duet-header::before{display:none}/*!@.duet-header-multi-level-desktop-nav .duet-header-caret*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-caret.sc-duet-header{display:none}/*!@.duet-header-multi-level-desktop-utils*/.duet-header-multi-level-desktop-utils.sc-duet-header{display:flex;flex-basis:0;flex-grow:1;justify-content:flex-end}/*!@.duet-header-multi-level-desktop-utils > :last-child::before*/.duet-header-multi-level-desktop-utils.sc-duet-header>.sc-duet-header:last-child::before{display:none}/*!@.duet-header-multi-level-desktop-utils .duet-header-dropdown*/.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-dropdown.sc-duet-header{z-index:400}/*!@.duet-header-multi-level-desktop-utils .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f3f9fc}/*!@.duet-header-multi-level-desktop-utils .duet-header-button-label,\n.duet-header-multi-level-desktop-utils .duet-header-dropdown-label*/.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-button-label.sc-duet-header,.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-dropdown-label.sc-duet-header{display:none}@media (min-width: 64.0625em){/*!@.duet-header-multi-level-desktop-utils .duet-header-button-label,\n.duet-header-multi-level-desktop-utils .duet-header-dropdown-label*/.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-button-label.sc-duet-header,.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-dropdown-label.sc-duet-header{display:initial}}/*!@.duet-header-multi-level-desktop .duet-theme-turva .logo-and-segment .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#fcf3f4}/*!@.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-toggle.active*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header{color:#c60c30}/*!@.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#fcf3f4;border-color:#e4e4e6}/*!@.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a::after*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header::after{background:#c60c30}/*!@.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a.active*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.active.sc-duet-header{color:#c60c30;background:none}/*!@.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-utils .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#fcf3f4}";
10729
+ const duetHeaderCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-header,*.sc-duet-header::after,*.sc-duet-header::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-header-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%}@supports (position: -webkit-sticky){/*!@:host*/.sc-duet-header-h{position:-webkit-sticky;top:-4rem;z-index:400}}@supports (position: sticky){/*!@:host*/.sc-duet-header-h{position:sticky;top:-4rem;z-index:400}}@supports (position: -webkit-sticky){/*!@:host(.duet-header-multi-level-desktop-variation)*/.duet-header-multi-level-desktop-variation.sc-duet-header-h{top:0}}@supports (position: sticky){/*!@:host(.duet-header-multi-level-desktop-variation)*/.duet-header-multi-level-desktop-variation.sc-duet-header-h{top:0}}/*!@.duet-header-reserved-space*/.duet-header-reserved-space.sc-duet-header{height:4rem}@media (min-width: 62em){/*!@.duet-header-reserved-space.duet-with-links*/.duet-header-reserved-space.duet-with-links.sc-duet-header{height:7rem}}/*!@.duet-header*/.duet-header.sc-duet-header{-webkit-user-select:none;user-select:none;position:fixed;top:0;left:0;z-index:400;display:block;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:0.875rem;font-weight:400;line-height:1.5;color:#00294d;text-align:left}/*!@.duet-header.duet-theme-turva*/.duet-header.duet-theme-turva.sc-duet-header{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}@media (min-width: 62em){/*!@.duet-header.duet-theme-turva*/.duet-header.duet-theme-turva.sc-duet-header{box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}}@media (min-width: 62em){/*!@.duet-header*/.duet-header.sc-duet-header{position:absolute;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}/*!@.duet-header.duet-header-inactive*/.duet-header.duet-header-inactive.sc-duet-header{position:fixed}}/*!@.duet-header **/.duet-header.sc-duet-header *.sc-duet-header{-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}/*!@.duet-header-top*/.duet-header-top.sc-duet-header{position:relative;z-index:200;display:flex;flex-direction:row;align-items:center;width:100%;height:4rem;padding:0 16px;background:white;border-bottom:1px solid #e1e3e6;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}@media (min-width: 62em){/*!@.duet-header-top*/.duet-header-top.sc-duet-header{z-index:100;padding:0 28px;box-shadow:none}/*!@.duet-header-top duet-logo*/.duet-header-top.sc-duet-header duet-logo.sc-duet-header{padding-right:4px}}@media (min-width: 106.25em){/*!@.duet-header-top*/.duet-header-top.sc-duet-header{padding:0 48px}}/*!@.duet-theme-turva .duet-header-top*/.duet-theme-turva.sc-duet-header .duet-header-top.sc-duet-header{border-color:#e4e4e6;box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}@media (min-width: 62em){/*!@.duet-theme-turva .duet-header-top*/.duet-theme-turva.sc-duet-header .duet-header-top.sc-duet-header{box-shadow:none}}/*!@.duet-theme-turva .duet-header-top duet-logo*/.duet-theme-turva.sc-duet-header .duet-header-top.sc-duet-header duet-logo.sc-duet-header{left:-80px !important;margin-top:-8px !important}/*!@.duet-header-top .duet-header-region*/.duet-header-top.sc-duet-header .duet-header-region.sc-duet-header{max-width:200px;padding-left:16px;margin-top:1px;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:1px solid #cfd2d4}/*!@.duet-theme-turva .duet-header-top .duet-header-region*/.duet-theme-turva.sc-duet-header .duet-header-top.sc-duet-header .duet-header-region.sc-duet-header{border-color:#cfcfd1}@media (max-width: 35.9375em){/*!@.duet-header-top .duet-header-region*/.duet-header-top.sc-duet-header .duet-header-region.sc-duet-header{display:none}}@media (min-width: 62em){/*!@.duet-header-top .duet-header-region*/.duet-header-top.sc-duet-header .duet-header-region.sc-duet-header{padding-left:19px}}/*!@.duet-header-bottom*/.duet-header-bottom.sc-duet-header{position:fixed;top:4rem;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;width:100%;overflow-y:auto;visibility:hidden;background:#f3f9fc;opacity:0;-webkit-overflow-scrolling:touch}/*!@.duet-theme-turva .duet-header-bottom*/.duet-theme-turva.sc-duet-header .duet-header-bottom.sc-duet-header{background:#f5f5f7}@media (min-width: 62em){/*!@.duet-header-bottom*/.duet-header-bottom.sc-duet-header{position:relative;top:auto;bottom:auto;z-index:200;flex-direction:row;overflow:visible;visibility:visible;background:white;opacity:1}/*!@.duet-header-bottom.duet-header-inactive*/.duet-header-bottom.duet-header-inactive.sc-duet-header{position:relative}}/*!@.duet-header-bottom.active*/.duet-header-bottom.active.sc-duet-header{visibility:visible;opacity:1;transition:opacity 300ms ease, visibility 300ms ease}@media (min-width: 62em){/*!@.duet-header-bottom*/.duet-header-bottom.sc-duet-header{position:relative;transition:none !important}}/*!@.duet-header-items,\n.duet-header-bottom-utils,\n.duet-header-utils*/.duet-header-items.sc-duet-header,.duet-header-bottom-utils.sc-duet-header,.duet-header-utils.sc-duet-header{opacity:0;transition:transform 600ms ease, opacity 600ms ease;transform:translateY(-28px)}@media (min-width: 62em){/*!@.duet-header-items,\n.duet-header-bottom-utils,\n.duet-header-utils*/.duet-header-items.sc-duet-header,.duet-header-bottom-utils.sc-duet-header,.duet-header-utils.sc-duet-header{opacity:1;transition:none !important;transform:none}}/*!@.active .duet-header-items,\n.active .duet-header-bottom-utils,\n.active .duet-header-utils*/.active.sc-duet-header .duet-header-items.sc-duet-header,.active.sc-duet-header .duet-header-bottom-utils.sc-duet-header,.active.sc-duet-header .duet-header-utils.sc-duet-header{opacity:1;transform:translateY(0)}/*!@.duet-header-items*/.duet-header-items.sc-duet-header{position:relative;z-index:300;display:block;width:100%;font-size:1rem;font-weight:400;line-height:1.5;background:white}@media (min-width: 62em){/*!@.duet-header-items*/.duet-header-items.sc-duet-header{z-index:100;display:flex;flex-direction:row;padding:0 21.5384615385px}}@media (min-width: 106.25em){/*!@.duet-header-items*/.duet-header-items.sc-duet-header{padding-left:43.6363636364px}}/*!@.duet-header-items .duet-header-item-container*/.duet-header-items.sc-duet-header .duet-header-item-container.sc-duet-header{border-bottom:1px solid #e1e3e6;border-radius:0}@media (min-width: 62em){/*!@.duet-header-items .duet-header-item-container*/.duet-header-items.sc-duet-header .duet-header-item-container.sc-duet-header{border:0}}/*!@.duet-header-items .duet-header-second-level .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-second-level.sc-duet-header .duet-header-item.sc-duet-header{padding:0 40px;border:0}/*!@.duet-header-items .duet-header-second-level .duet-header-button*/.duet-header-items.sc-duet-header .duet-header-second-level.sc-duet-header .duet-header-button.sc-duet-header{border:0}/*!@.duet-header-items .duet-header-second-level .duet-header-dropdown-content*/.duet-header-items.sc-duet-header .duet-header-second-level.sc-duet-header .duet-header-dropdown-content.sc-duet-header{padding:0;border:0}/*!@.duet-header-items .duet-header-third-level .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-third-level.sc-duet-header .duet-header-item.sc-duet-header{padding:0 75px}/*!@.duet-header-items .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header{position:relative;display:flex;align-items:center;width:100%;padding:0 20px;overflow:hidden;font-size:1rem;line-height:48px;color:#00294d;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 62em){/*!@.duet-header-items .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header{border-radius:4px}}/*!@.duet-theme-turva .duet-header-items .duet-header-item*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.sc-duet-header{font-weight:600;color:#171c3a;border-color:#e1e3e6}/*!@.duet-header-items .duet-header-item:hover*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:hover{color:#004d80}/*!@.duet-theme-turva .duet-header-items .duet-header-item:hover*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:hover{color:#444445}/*!@.duet-header-items .duet-header-item:focus*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-items .duet-header-item:focus*/.user-is-tabbing.sc-duet-header-h .duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-items .duet-header-item:focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){/*!@.duet-header-items .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header{width:auto;max-width:300px;padding:0 12px;overflow:hidden;font-size:0.875rem;text-overflow:ellipsis;border:0}}/*!@.duet-header-items .duet-header-item.active*/.duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header{color:#0077b3}/*!@.duet-theme-turva .duet-header-items .duet-header-item.active*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header{color:#c60c30}/*!@.duet-header-items .duet-header-item.active:hover*/.duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header:hover{color:#0077b3}/*!@.duet-theme-turva .duet-header-items .duet-header-item.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header:hover{color:#c60c30}/*!@.duet-header-items .duet-header-item.active::after*/.duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}/*!@.duet-theme-turva .duet-header-items .duet-header-item.active::after*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header::after{background:#c60c30}@media (min-width: 62em){/*!@.duet-header-items .duet-header-item.active::after*/.duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header::after{top:auto;left:12px;width:calc(100% - 24px);height:3px}}/*!@.duet-header-toggle*/.duet-header-toggle.sc-duet-header{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-right:-8px;margin-left:auto;cursor:pointer;border-radius:4px;-webkit-appearance:none;appearance:none}/*!@.duet-header-toggle:focus*/.duet-header-toggle.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-toggle:focus*/.user-is-tabbing.sc-duet-header-h .duet-header-toggle.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-toggle:focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-toggle.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){/*!@.duet-header-toggle*/.duet-header-toggle.sc-duet-header{display:none}}/*!@.duet-header-hamburger*/.duet-header-hamburger.sc-duet-header{position:relative;width:24px;height:24px;margin-top:5px !important;pointer-events:none;transition:0.4s ease-in-out;backface-visibility:hidden}/*!@.duet-header-hamburger .duet-header-bar*/.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header{position:absolute;left:0;display:block;width:100%;height:2px;background:#00294d;border-radius:20rem;opacity:1;transition:0.25s ease-in-out;transform:rotate(0deg) scale(0.98)}/*!@.duet-theme-turva .duet-header-hamburger .duet-header-bar*/.duet-theme-turva.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header{background:#171c3a}/*!@.duet-header-hamburger .duet-header-bar:nth-child(1)*/.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(1){top:0}/*!@.duet-header-hamburger .duet-header-bar:nth-child(2), .duet-header-hamburger .duet-header-bar:nth-child(3)*/.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(2),.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(3){top:7px}/*!@.duet-header-hamburger .duet-header-bar:nth-child(4)*/.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(4){top:14px}/*!@button.active .duet-header-hamburger .duet-header-bar:nth-child(1)*/button.active.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(1){top:7px;left:50%;width:0%}/*!@button.active .duet-header-hamburger .duet-header-bar:nth-child(2)*/button.active.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(2){transform:rotate(45deg)}/*!@button.active .duet-header-hamburger .duet-header-bar:nth-child(3)*/button.active.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(3){transform:rotate(-45deg)}/*!@button.active .duet-header-hamburger .duet-header-bar:nth-child(4)*/button.active.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(4){top:7px;left:50%;width:0%}/*!@.duet-header-utils*/.duet-header-utils.sc-duet-header{display:flex;flex-direction:column;width:100%}@media (min-width: 62em){/*!@.duet-header-utils*/.duet-header-utils.sc-duet-header{position:absolute;top:-4rem;right:0;z-index:999999999;flex-direction:row;align-items:center;justify-content:space-between;width:auto;margin-right:20px}}@media (min-width: 106.25em){/*!@.duet-header-utils*/.duet-header-utils.sc-duet-header{margin-right:36px}}@media (min-width: 62em){/*!@.duet-header-bottom-utils*/.duet-header-bottom-utils.sc-duet-header{position:absolute;top:0;right:0;z-index:999999999;margin-right:20px}}@media (min-width: 106.25em){/*!@.duet-header-bottom-utils*/.duet-header-bottom-utils.sc-duet-header{margin-right:36px}}/*!@button*/button.sc-duet-header{font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}/*!@.duet-theme-turva button*/.duet-theme-turva.sc-duet-header button.sc-duet-header{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}/*!@.duet-header-button*/.duet-header-button.sc-duet-header{position:relative;display:flex;align-items:center;width:100%;height:48px;padding:0 20px;overflow:hidden;font-size:1rem;font-weight:400;line-height:48px;color:#00294d;text-align:left;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-bottom:1px solid #e1e3e6;border-radius:4px;-webkit-appearance:none;appearance:none}/*!@.duet-theme-turva .duet-header-button*/.duet-theme-turva.sc-duet-header .duet-header-button.sc-duet-header{color:#171c3a;border-color:#e4e4e6}/*!@.duet-header-button:hover*/.duet-header-button.sc-duet-header:hover{color:#004d80}/*!@.duet-theme-turva .duet-header-button:hover*/.duet-theme-turva.sc-duet-header .duet-header-button.sc-duet-header:hover{color:#444445}/*!@.duet-header-button:focus*/.duet-header-button.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-button:focus*/.user-is-tabbing.sc-duet-header-h .duet-header-button.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-button:focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-button.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-header-button:active*/.duet-header-button.sc-duet-header:active{opacity:0.75}@media (min-width: 62em){/*!@.duet-header-button*/.duet-header-button.sc-duet-header{width:auto;max-width:200px;height:4rem;padding:0 16px;font-size:0.875rem;line-height:4rem;border:0}/*!@.duet-header-button::before*/.duet-header-button.sc-duet-header::before{position:absolute;top:50%;right:0;width:1px;height:20px;content:\"\";background:#cfd2d4;transform:translateY(-50%)}/*!@.duet-theme-turva .duet-header-button::before*/.duet-theme-turva.sc-duet-header .duet-header-button.sc-duet-header::before{background:#cfcfd1}}/*!@.duet-header-button.active*/.duet-header-button.active.sc-duet-header{color:#0077b3;border-radius:0}/*!@.duet-theme-turva .duet-header-button.active*/.duet-theme-turva.sc-duet-header .duet-header-button.active.sc-duet-header{color:#c60c30}/*!@.duet-header-button.active:hover*/.duet-header-button.active.sc-duet-header:hover{color:#0077b3}/*!@.duet-theme-turva .duet-header-button.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-button.active.sc-duet-header:hover{color:#c60c30}@media (min-width: 62em){/*!@.duet-header-button.active::after*/.duet-header-button.active.sc-duet-header::after{position:absolute;top:0;bottom:0;left:0;width:3px;content:\"\";background:#0077b3}/*!@.duet-theme-turva .duet-header-button.active::after*/.duet-theme-turva.sc-duet-header .duet-header-button.active.sc-duet-header::after{color:#c60c30}}/*!@.duet-header-utils .duet-header-button.duet-header-logout*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header{align-self:center;justify-content:center;width:auto;height:2.5rem;margin:2.25rem 0;font-weight:600;border:2px solid #00294d;border-radius:20rem}/*!@.duet-theme-turva .duet-header-utils .duet-header-button.duet-header-logout*/.duet-theme-turva.sc-duet-header .duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header{border-color:#171c3a}/*!@.duet-header-utils .duet-header-button.duet-header-logout .duet-header-icon*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header .duet-header-icon.sc-duet-header{margin-right:0.5rem}/*!@.duet-header-utils .duet-header-button.duet-header-logout .duet-header-button-label*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header .duet-header-button-label.sc-duet-header{font-size:0.875rem}@media (min-width: 62em){/*!@.duet-header-utils .duet-header-button.duet-header-logout*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header{height:4rem;margin:0;font-weight:400;border:0}/*!@.duet-header-utils .duet-header-button.duet-header-logout .duet-header-icon*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header .duet-header-icon.sc-duet-header{margin-right:0.75rem}}/*!@.duet-header-no-action*/.duet-header-no-action.sc-duet-header{pointer-events:none}/*!@.duet-header-user-label*/.duet-header-user-label.sc-duet-header{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 62em){/*!@.duet-header-utils > *:last-child::before,\n.duet-header-utils > *:last-child button::before*/.duet-header-utils.sc-duet-header>*.sc-duet-header:last-child::before,.duet-header-utils.sc-duet-header>*.sc-duet-header:last-child button.sc-duet-header::before{display:none}}@media (min-width: 62em){/*!@.duet-header-utils > *:last-child .duet-header-dropdown-content*/.duet-header-utils.sc-duet-header>*.sc-duet-header:last-child .duet-header-dropdown-content.sc-duet-header{right:0;left:auto}}/*!@.duet-header-language*/.duet-header-language.sc-duet-header{text-transform:uppercase}/*!@.duet-header-language.active, .duet-header-language.active:hover,\n.duet-header-contact.active,\n.duet-header-contact.active:hover*/.duet-header-language.active.sc-duet-header,.duet-header-language.active.sc-duet-header:hover,.duet-header-contact.active.sc-duet-header,.duet-header-contact.active.sc-duet-header:hover{color:inherit}/*!@.duet-theme-turva .duet-header-language.active, .duet-theme-turva .duet-header-language.active:hover,\n.duet-theme-turva .duet-header-contact.active,\n.duet-theme-turva .duet-header-contact.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-language.active.sc-duet-header,.duet-theme-turva.sc-duet-header .duet-header-language.active.sc-duet-header:hover,.duet-theme-turva.sc-duet-header .duet-header-contact.active.sc-duet-header,.duet-theme-turva.sc-duet-header .duet-header-contact.active.sc-duet-header:hover{color:inherit}/*!@.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active::after, .duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active:hover::after,\n.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active::after,\n.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active:hover::after*/.duet-header-dropdown.sc-duet-header .duet-header-language.duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-language.duet-header-dropdown-toggle.active.sc-duet-header:hover::after,.duet-header-dropdown.sc-duet-header .duet-header-contact.duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-contact.duet-header-dropdown-toggle.active.sc-duet-header:hover::after{width:0}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active::after, .duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active:hover::after,\n.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active::after,\n.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active:hover::after*/.duet-header-dropdown.sc-duet-header .duet-header-language.duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-language.duet-header-dropdown-toggle.active.sc-duet-header:hover::after,.duet-header-dropdown.sc-duet-header .duet-header-contact.duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-contact.duet-header-dropdown-toggle.active.sc-duet-header:hover::after{width:100%}}/*!@.duet-header-icon*/.duet-header-icon.sc-duet-header{display:inline-flex;min-width:12px;margin-right:12px;font-size:0;line-height:normal;vertical-align:baseline}@media (min-width: 62em){/*!@.duet-header-icon*/.duet-header-icon.sc-duet-header{margin-right:8px}}/*!@.duet-header-caret*/.duet-header-caret.sc-duet-header{position:absolute;top:50%;right:20px;display:flex;width:10px;height:10px;margin-left:8px;line-height:normal;pointer-events:none;transition:300ms ease;transform:translateY(-50%);transform-origin:50% 50%}@media (min-width: 62em){/*!@.duet-header-caret*/.duet-header-caret.sc-duet-header{width:7px;height:7px}}/*!@.duet-header-caret duet-icon*/.duet-header-caret.sc-duet-header duet-icon.sc-duet-header{width:10px}/*!@.duet-header-dropdown-toggle.active .duet-header-caret*/.duet-header-dropdown-toggle.active.sc-duet-header .duet-header-caret.sc-duet-header{transform:translateY(-50%) rotate(180deg)}/*!@.duet-header-dropdown-toggle:focus*/.duet-header-dropdown-toggle.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-dropdown-toggle:focus*/.user-is-tabbing.sc-duet-header-h .duet-header-dropdown-toggle.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-dropdown-toggle:focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-header-dropdown-toggle:active*/.duet-header-dropdown-toggle.sc-duet-header:active{outline:none}/*!@.duet-header-badge*/.duet-header-badge.sc-duet-header{display:inline-block;width:6px;height:6px;margin-top:-1rem;margin-left:5px;vertical-align:top;background:#f7b228;border-radius:50%;box-shadow:0 0 0 1px #c18b1f}/*!@.duet-theme-turva .duet-header-badge*/.duet-theme-turva.sc-duet-header .duet-header-badge.sc-duet-header{background:#faa40f}/*!@.active-bar*/.active-bar.sc-duet-header{color:#0077b3}/*!@.active-bar::after*/.active-bar.sc-duet-header::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}/*!@.duet-theme-turva .active-bar::after*/.duet-theme-turva.sc-duet-header .active-bar.sc-duet-header::after{background:#c60c30}/*!@.duet-header-dropdown*/.duet-header-dropdown.sc-duet-header{position:relative}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-toggle*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header{z-index:200;padding-right:36px;overflow:hidden;transition:border 300ms ease}}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-toggle::after*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header::after{position:absolute;top:auto;bottom:0;left:0;display:block !important;width:100%;height:3px !important;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(3px)}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle::after*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header::after{background:#c60c30}}/*!@.duet-header-dropdown .duet-header-dropdown-toggle.active, .duet-header-dropdown .duet-header-dropdown-toggle.active:hover*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header,.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover{border-bottom:1px solid #f5f8fa}/*!@.duet-header-dropdown .duet-header-dropdown-toggle.active::after, .duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active::after, .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover::after{background:#c60c30}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active, .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header,.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover{border-color:#f5f5f7}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-toggle.active, .duet-header-dropdown .duet-header-dropdown-toggle.active:hover*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header,.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover{color:#004d80;border:0}/*!@.duet-header-dropdown .duet-header-dropdown-toggle.active::after, .duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover::after{position:absolute;top:auto;bottom:0;left:0;width:100%;height:3px;transform:translateY(0)}}/*!@.duet-header-dropdown .duet-header-dropdown-content*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{display:none;padding-bottom:16px;background:#f3f9fc;border-bottom:1px solid #e1e3e6}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f5f5f7;border-color:#e1e3e6}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{position:absolute;top:100%;left:0;z-index:600;display:block;min-width:150px;padding-top:16px;padding-left:0;visibility:hidden;border:0;border-radius:4px;border-top-left-radius:0;border-top-right-radius:0;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);opacity:0;transition:300ms ease;transform:scale(0.85) translateZ(0) translateY(-20px)}/*!@.duet-header-dropdown .duet-header-dropdown-content.duet-header-session-items*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.duet-header-session-items.sc-duet-header{right:0%;left:auto;min-width:225px}/*!@.duet-header-dropdown .duet-header-dropdown-content.duet-header-session-items .duet-header-session-label*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.duet-header-session-items.sc-duet-header .duet-header-session-label.sc-duet-header{padding:0 20px;font-weight:600}}@media (min-width: 64.0625em){/*!@.duet-header-dropdown .duet-header-dropdown-content*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{min-width:170px}/*!@.duet-header-dropdown .duet-header-dropdown-content.duet-header-session-items*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.duet-header-session-items.sc-duet-header{min-width:225px}}/*!@.duet-header-dropdown .duet-header-dropdown-content.active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.active.sc-duet-header{display:block}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content.active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.active.sc-duet-header{visibility:visible;opacity:1;transform:translateZ(0) translateY(0)}}/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item)*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item){padding:3px 8px 4px !important;position:relative;display:block;width:100%;padding-right:16px;padding-left:48px !important;overflow:hidden;font-size:0.875rem;font-weight:400;line-height:1.5;color:#00294d;text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;transition:300ms ease}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item)*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item){color:#171c3a}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item)*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item){padding-right:20px !important;padding-left:20px !important}}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):hover*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):hover{background:#e6f2f8}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):hover*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):hover{background:#f9e6ea}}/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus*/.user-is-tabbing.sc-duet-header-h .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item).active{padding-right:36px;font-weight:600;vertical-align:baseline}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item).active{font-weight:700}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item).active{color:white;background:#0077b3}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item).active{background:#c60c30}}/*!@.duet-header-dropdown .duet-header-dropdown-content .duet-header-link-external*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header .duet-header-link-external.sc-duet-header{margin-left:4px}/*!@.duet-header-back .duet-header-top*/.duet-header-back.sc-duet-header .duet-header-top.sc-duet-header{flex-direction:row;align-items:center;justify-content:center}/*!@.duet-header-back duet-button*/.duet-header-back.sc-duet-header duet-button.sc-duet-header{position:absolute;top:50%;left:36px;transform:translateY(-50%)}@media (max-width: 35.9375em){/*!@.duet-header-back duet-button*/.duet-header-back.sc-duet-header duet-button.sc-duet-header{left:20px;max-width:40px;padding:0 12px;overflow:hidden}}/*!@.duet-header-back .duet-header-toggle*/.duet-header-back.sc-duet-header .duet-header-toggle.sc-duet-header{display:none !important}/*!@.duet-header-skip*/.duet-header-skip.sc-duet-header{padding:15px 28px 16px !important;position:absolute;top:-100%;left:-100%;z-index:200;width:1px;min-width:190px;height:1px;overflow:hidden;font-weight:600;color:#0077b3;text-align:center;text-decoration:none;background:white;border-radius:4px;opacity:0}/*!@.duet-header-skip:focus*/.duet-header-skip.sc-duet-header:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-theme-turva .duet-header-skip:focus, .duet-header-skip:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-header .duet-header-skip.sc-duet-header:focus,.duet-header-skip.sc-duet-header:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-theme-turva .duet-header-skip*/.duet-theme-turva.sc-duet-header .duet-header-skip.sc-duet-header{min-width:120px;color:#171c3a}@media (min-width: 106.25em){/*!@.duet-header-skip*/.duet-header-skip.sc-duet-header{margin-left:20px}}/*!@.duet-header-skip:focus*/.duet-header-skip.sc-duet-header:focus{top:12px;left:20px;width:auto;height:auto;outline:0;opacity:1}/*!@.duet-header-multi-level-desktop*/.duet-header-multi-level-desktop.sc-duet-header{height:6rem}/*!@.duet-header-multi-level-desktop .duet-header-top*/.duet-header-multi-level-desktop.sc-duet-header .duet-header-top.sc-duet-header{justify-content:space-between;height:6rem}/*!@.duet-header-multi-level-desktop .duet-header-button*/.duet-header-multi-level-desktop.sc-duet-header .duet-header-button.sc-duet-header{height:6rem}/*!@.duet-header-multi-level-desktop .logo-and-segment*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header{display:flex;flex-basis:0;flex-direction:column;flex-grow:1;padding-top:1rem}/*!@.duet-header-multi-level-desktop .logo-and-segment .duet-header-dropdown*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-dropdown.sc-duet-header{z-index:400;margin-left:2rem}/*!@.duet-header-multi-level-desktop .logo-and-segment .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f3f9fc}/*!@.duet-header-multi-level-desktop .logo-and-segment button*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header button.sc-duet-header{align-items:flex-start;height:2rem;font-weight:600;line-height:1rem}/*!@.duet-header-multi-level-desktop .logo-and-segment button::before*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header button.sc-duet-header::before{display:none}/*!@.duet-header-multi-level-desktop .logo-and-segment .duet-header-caret*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-caret.sc-duet-header{top:25%}/*!@.duet-header-multi-level-desktop-nav*/.duet-header-multi-level-desktop-nav.sc-duet-header{display:flex}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header{position:static}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-toggle*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header{z-index:400;padding-right:1rem;font-size:1rem;font-weight:600}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-toggle.active*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header{color:#0077b3}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{z-index:399;display:flex;justify-content:center;width:100%;height:4.5rem;padding:0;background:#f3f9fc;border-top:1px solid #e1e3e6;border-bottom:1px solid #e1e3e6;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07);transition:none}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;min-width:6rem;height:100%;padding:0 1rem !important;font-weight:600}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a::after*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header::after{position:absolute;top:auto;bottom:0;left:0;display:block !important;width:100%;height:3px;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(3px)}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a.active*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.active.sc-duet-header{font-weight:600;color:#0077b3;background:none}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a.active::after*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.active.sc-duet-header::after{transform:translateY(0)}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a .duet-header-icon*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header .duet-header-icon.sc-duet-header{margin:0}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content .duet-header-badge*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header .duet-header-badge.sc-duet-header{position:absolute;margin-top:-2rem;margin-right:-2.25rem}/*!@.duet-header-multi-level-desktop-nav button::before*/.duet-header-multi-level-desktop-nav.sc-duet-header button.sc-duet-header::before{display:none}/*!@.duet-header-multi-level-desktop-nav .duet-header-caret*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-caret.sc-duet-header{display:none}/*!@.duet-header-multi-level-desktop-utils*/.duet-header-multi-level-desktop-utils.sc-duet-header{display:flex;flex-basis:0;flex-grow:1;justify-content:flex-end}/*!@.duet-header-multi-level-desktop-utils > :last-child::before*/.duet-header-multi-level-desktop-utils.sc-duet-header>.sc-duet-header:last-child::before{display:none}/*!@.duet-header-multi-level-desktop-utils > :last-child.duet-header-dropdown .duet-header-button::before*/.duet-header-multi-level-desktop-utils.sc-duet-header>.sc-duet-header:last-child.duet-header-dropdown .duet-header-button.sc-duet-header::before{display:none}/*!@.duet-header-multi-level-desktop-utils .duet-header-dropdown*/.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-dropdown.sc-duet-header{z-index:400}/*!@.duet-header-multi-level-desktop-utils .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f3f9fc}/*!@.duet-header-multi-level-desktop-utils .duet-header-button-label,\n.duet-header-multi-level-desktop-utils .duet-header-dropdown-label*/.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-button-label.sc-duet-header,.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-dropdown-label.sc-duet-header{display:none}@media (min-width: 64.0625em){/*!@.duet-header-multi-level-desktop-utils .duet-header-button-label,\n.duet-header-multi-level-desktop-utils .duet-header-dropdown-label*/.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-button-label.sc-duet-header,.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-dropdown-label.sc-duet-header{display:initial}}/*!@.duet-header-multi-level-desktop .duet-theme-turva .logo-and-segment .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#fcf3f4}/*!@.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-toggle.active*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header{color:#c60c30}/*!@.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#fcf3f4;border-color:#e4e4e6}/*!@.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a::after*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header::after{background:#c60c30}/*!@.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a.active*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.active.sc-duet-header{color:#c60c30;background:none}/*!@.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-utils .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#fcf3f4}";
10331
10730
 
10332
10731
  const createEvent = (ev, data) => ({
10333
10732
  component: "duet-header",
@@ -10368,6 +10767,7 @@ class DuetHeader {
10368
10767
  */
10369
10768
  this.isContactOpen = false;
10370
10769
  this.isLanguageOpen = false;
10770
+ this.isSessionOpen = false;
10371
10771
  this.isSlideOutOpen = false;
10372
10772
  this.isSegmentOpen = false;
10373
10773
  this.openMenu = null;
@@ -10519,6 +10919,11 @@ class DuetHeader {
10519
10919
  this.handleClick(e);
10520
10920
  this.duetSessionClick.emit(e);
10521
10921
  };
10922
+ this.handleSessionItemClick = (ev, item) => {
10923
+ const e = createEvent(ev, item);
10924
+ this.handleClick(e);
10925
+ this.duetSessionClick.emit(e);
10926
+ };
10522
10927
  this.handleSearchClick = (ev) => {
10523
10928
  const e = createEvent(ev, this.processedSearch);
10524
10929
  this.handleClick(e);
@@ -10581,13 +10986,23 @@ class DuetHeader {
10581
10986
  this.isContactOpen = false;
10582
10987
  this.isLanguageOpen = !this.isLanguageOpen;
10583
10988
  this.isSegmentOpen = false;
10989
+ this.isSessionOpen = false;
10584
10990
  el = this.languageItemsEl;
10585
10991
  }
10992
+ // For session menu
10993
+ if (type === "session") {
10994
+ this.isContactOpen = false;
10995
+ this.isLanguageOpen = false;
10996
+ this.isSegmentOpen = false;
10997
+ this.isSessionOpen = !this.isSessionOpen;
10998
+ el = this.sessionItemsEl;
10999
+ }
10586
11000
  // For contact menu
10587
11001
  else if (type === "contact") {
10588
11002
  this.isLanguageOpen = false;
10589
11003
  this.isContactOpen = !this.isContactOpen;
10590
11004
  this.isSegmentOpen = false;
11005
+ this.isSessionOpen = false;
10591
11006
  el = this.contactItemsEl;
10592
11007
  }
10593
11008
  // For mobile menu
@@ -10595,6 +11010,7 @@ class DuetHeader {
10595
11010
  this.isContactOpen = false;
10596
11011
  this.isLanguageOpen = false;
10597
11012
  this.isSegmentOpen = false;
11013
+ this.isSessionOpen = false;
10598
11014
  el = this.navigationEl;
10599
11015
  this.isSlideOutOpen = !this.isSlideOutOpen;
10600
11016
  if (this.isSlideOutOpen) {
@@ -10608,15 +11024,22 @@ class DuetHeader {
10608
11024
  this.isContactOpen = false;
10609
11025
  this.isLanguageOpen = false;
10610
11026
  this.isSegmentOpen = false;
11027
+ this.isSessionOpen = false;
10611
11028
  el = this.subMenuItemRefs[id];
10612
11029
  }
10613
11030
  else if (type === "segment") {
10614
11031
  this.isContactOpen = false;
10615
11032
  this.isLanguageOpen = false;
11033
+ this.isSessionOpen = false;
10616
11034
  this.isSegmentOpen = !this.isSegmentOpen;
10617
11035
  el = this.segmentItemsEl;
10618
11036
  }
10619
- if (this.isSlideOutOpen || this.isLanguageOpen || this.isContactOpen || this.isSegmentOpen || this.openMenu) {
11037
+ if (this.isSlideOutOpen ||
11038
+ this.isLanguageOpen ||
11039
+ this.isContactOpen ||
11040
+ this.isSegmentOpen ||
11041
+ this.isSessionOpen ||
11042
+ this.openMenu) {
10620
11043
  const drawer = this.element.querySelector("duet-notification-drawer");
10621
11044
  if (drawer) {
10622
11045
  drawer.close(false);
@@ -10740,7 +11163,7 @@ class DuetHeader {
10740
11163
  * Closes all dropdown menus in header when called.
10741
11164
  */
10742
11165
  async closeMenus(moveFocusToButton = false) {
10743
- if (this.isContactOpen || this.isLanguageOpen || this.isSegmentOpen || this.openMenu) {
11166
+ if (this.isContactOpen || this.isLanguageOpen || this.isSegmentOpen || this.isSessionOpen || this.openMenu) {
10744
11167
  if (this.isContactOpen && moveFocusToButton) {
10745
11168
  this.contactItemsButtonEl.focus({
10746
11169
  preventScroll: true,
@@ -10756,6 +11179,11 @@ class DuetHeader {
10756
11179
  preventScroll: true,
10757
11180
  });
10758
11181
  }
11182
+ if (this.isSessionOpen && moveFocusToButton) {
11183
+ this.sessionItemsButtonEl.focus({
11184
+ preventScroll: true,
11185
+ });
11186
+ }
10759
11187
  if (this.openMenu && moveFocusToButton) {
10760
11188
  this.subMenuButtonRefs[this.openMenu].focus({
10761
11189
  preventScroll: true,
@@ -10764,6 +11192,7 @@ class DuetHeader {
10764
11192
  this.isContactOpen = false;
10765
11193
  this.isLanguageOpen = false;
10766
11194
  this.isSegmentOpen = false;
11195
+ this.isSessionOpen = false;
10767
11196
  this.openMenu = null;
10768
11197
  }
10769
11198
  }
@@ -10789,6 +11218,7 @@ class DuetHeader {
10789
11218
  const processedUserWithoutLink = this.processedUser && !this.processedUser.href ? (hAsync("span", { id: this.processedUser.id, class: "duet-header-user duet-header-button duet-header-no-action" }, hAsync(DuetHeaderIcon, { icon: navigationUser.svg }), hAsync("span", { class: "duet-header-user-label" }, this.processedUser.label))) : null;
10790
11219
  const processedSessionIconSize = this.renderDesktopNav ? "x-small" : "small";
10791
11220
  const processedSession = this.processedSession ? (hAsync("a", { href: this.processedSession.href || "#", id: this.processedSession.id, class: "duet-header-logout duet-header-button", onClick: this.handleSessionClick }, hAsync(DuetHeaderIcon, { icon: this.processedSession.type === "logout" ? navigationLogout.svg : navigationLogin.svg, iconSize: processedSessionIconSize }), hAsync("span", { class: "duet-header-button-label" }, this.processedSession.label))) : null;
11221
+ const processedSessionDropdown = this.processedSession && this.processedSession.sessionItems ? (hAsync(DuetHeaderDropdown, { className: "duet-header-session", id: "duet-header-session", label: this.processedSession.label, icon: this.processedSession.type === "logout" ? navigationLogout.svg : navigationLogin.svg, active: this.isSessionOpen, isOpen: this.isSessionOpen, badge: false, toggleRef: el => (this.sessionItemsButtonEl = el), itemsRef: el => (this.sessionItemsEl = el), onToggle: event => this.toggleMenu(event, "session") }, this.processedSession.sessionItems.map((sessionItem, index) => (hAsync(Fragment, null, sessionItem.label && hAsync("span", { class: "duet-header-session-label" }, sessionItem.label), hAsync("duet-spacer", { size: "small", "aria-hidden": "true" }), sessionItem.items.map(item => (hAsync("a", { role: "menuitem", "aria-label": sessionItem.label ? `${sessionItem.label} ${item.label}` : item.label, id: item.id, href: item.href || "#", onClick: event => this.handleSessionItemClick(event, item), onKeyDown: this.handleArrowKeys }, item.label))), index !== this.processedSession.sessionItems.length - 1 && (hAsync(Fragment, null, hAsync("duet-spacer", { size: "x-small", "aria-hidden": "true" }), hAsync("duet-divider", { margin: "none", "aria-hidden": "true" })))))))) : null;
10792
11222
  const processedSearch = this.processedSearch ? (hAsync("a", { href: this.processedSearch.href || "#", id: this.processedSearch.id, class: "duet-header-search duet-header-button", onClick: this.handleSearchClick }, hAsync(DuetHeaderIcon, { icon: formSearch.svg }), hAsync("span", { class: "duet-header-button-label" }, this.processedSearch.label))) : null;
10793
11223
  // Back variation
10794
11224
  if (this.processedBack) {
@@ -10821,7 +11251,7 @@ class DuetHeader {
10821
11251
  const id = secondLevelItem.id || `segment-item-${secondLevelItemIndex}`;
10822
11252
  return (hAsync(DuetHeaderDropdown, { id: id, label: secondLevelItem.label, active: (!this.openMenu && secondLevelItem.active === true) || this.openMenu === id, isOpen: this.openMenu === id, badge: secondLevelItem.badge, toggleRef: el => (this.subMenuButtonRefs[id] = el), itemsRef: el => (this.subMenuItemRefs[id] = el), onToggle: event => this.toggleMenu(event, "sub", id) }, secondLevelItem.items &&
10823
11253
  secondLevelItem.items.map(thirdLevelItem => (hAsync("a", { class: { active: thirdLevelItem.active }, role: "menuitem", href: thirdLevelItem.href || "#", id: thirdLevelItem.id, onClick: event => this.handleItemClick(event, thirdLevelItem), onKeyDown: ev => this.handleArrowKeys(ev), target: thirdLevelItem.external ? "_blank" : "_self" }, thirdLevelItem.icon && (hAsync("div", { class: "duet-header-icon" }, hAsync("duet-icon", { margin: "none", size: "medium", name: thirdLevelItem.icon, color: "currentColor" }))), hAsync("span", null, thirdLevelItem.label), thirdLevelItem.badge && hAsync("div", { class: "duet-header-badge" }))))));
10824
- })), hAsync("div", { class: "duet-header-multi-level-desktop-utils" }, processedSearch, languageDropdown, processedSession), hAsync("slot", { name: "utility" }))))));
11254
+ })), hAsync("div", { class: "duet-header-multi-level-desktop-utils" }, processedSearch, languageDropdown, processedSessionDropdown != null ? processedSessionDropdown : processedSession), hAsync("slot", { name: "utility" }))))));
10825
11255
  }
10826
11256
  // Default variation
10827
11257
  const isSecondLevelActive = this.processedItems &&
@@ -10914,6 +11344,7 @@ class DuetHeader {
10914
11344
  "languageItems": [8, "language-items"],
10915
11345
  "isContactOpen": [32],
10916
11346
  "isLanguageOpen": [32],
11347
+ "isSessionOpen": [32],
10917
11348
  "isSlideOutOpen": [32],
10918
11349
  "isSegmentOpen": [32],
10919
11350
  "openMenu": [32],
@@ -11412,7 +11843,7 @@ function resetCursor(domElement) {
11412
11843
  }
11413
11844
  };
11414
11845
  }
11415
- return () => console.log("domElement not valid");
11846
+ return () => true;
11416
11847
  }
11417
11848
  /**
11418
11849
  * Given an input and a regex, remove any characters from the input's value
@@ -11465,6 +11896,10 @@ class DuetInput {
11465
11896
  * Indicates the id of a component that describes the input.
11466
11897
  */
11467
11898
  this.accessibleDescribedBy = "";
11899
+ /**
11900
+ * Indicates value of any popup element associated with the input.
11901
+ */
11902
+ this.accessibleHasPopup = undefined;
11468
11903
  /**
11469
11904
  * Set the amount of time, in milliseconds, to wait to trigger the duetChange
11470
11905
  * event after each keystroke.
@@ -11632,6 +12067,17 @@ class DuetInput {
11632
12067
  this.nativeInput.focus(options);
11633
12068
  }
11634
12069
  }
12070
+ /**
12071
+ * Reset the cursor position on the native element
12072
+ * `input.resetCursor()`.
12073
+ */
12074
+ async resetCursor() {
12075
+ if (this.nativeInput) {
12076
+ const restoreCursor = resetCursor(this.nativeInput);
12077
+ this.nativeInput.value = this.value;
12078
+ restoreCursor();
12079
+ }
12080
+ }
11635
12081
  /**
11636
12082
  * render() function
11637
12083
  * Always the last one in the class.
@@ -11661,7 +12107,7 @@ class DuetInput {
11661
12107
  disabled: this.disabled,
11662
12108
  "is-number": this.component === "number",
11663
12109
  "is-date": this.component === "date",
11664
- }, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": `${this.labelId} ${this.errorId}`, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), placeholder: this.placeholder, spellcheck: "false", minlength: this.minlength, maxlength: this.maxlength, autocomplete: this.autoComplete, required: this.required, role: this.role, name: this.name, id: identifier }, inputProps)), !this.icon && this.type !== "text" && this.type !== "tel" && this.type !== "password" && (hAsync("div", { class: "duet-input-icon" }, hAsync("duet-icon", { margin: "none", size: "small", icon: icons[this.type].svg, color: "currentColor" }))), this.icon && (hAsync("div", { class: "duet-input-icon" }, hAsync("duet-icon", { margin: "none", size: "small", name: this.icon, color: "currentColor" }))), hAsync("slot", null)), hAsync("span", { class: "duet-input-help", id: this.errorId, "aria-live": "assertive", "aria-relevant": "additions removals" }, this.error && hAsync("span", { class: "duet-input-error" }, this.error)))));
12110
+ }, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": `${this.labelId} ${this.errorId}`, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-expanded": this.accessibleExpanded, "aria-haspopup": this.accessibleHasPopup, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), placeholder: this.placeholder, spellcheck: "false", minlength: this.minlength, maxlength: this.maxlength, autocomplete: this.autoComplete, required: this.required, role: this.role, name: this.name, id: identifier }, inputProps)), !this.icon && this.type !== "text" && this.type !== "tel" && this.type !== "password" && (hAsync("div", { class: "duet-input-icon" }, hAsync("duet-icon", { margin: "none", size: "small", icon: icons[this.type].svg, color: "currentColor" }))), this.icon && (hAsync("div", { class: "duet-input-icon" }, hAsync("duet-icon", { margin: "none", size: "small", name: this.icon, color: "currentColor" }))), hAsync("slot", null)), hAsync("span", { class: "duet-input-help", id: this.errorId, "aria-live": "assertive", "aria-relevant": "additions removals" }, this.error && hAsync("span", { class: "duet-input-error" }, this.error)))));
11665
12111
  }
11666
12112
  get element() { return getElement(this); }
11667
12113
  static get watchers() { return {
@@ -11677,7 +12123,9 @@ class DuetInput {
11677
12123
  "accessibleAutocomplete": [1, "accessible-autocomplete"],
11678
12124
  "accessibleControls": [1, "accessible-controls"],
11679
12125
  "accessibleOwns": [1, "accessible-owns"],
12126
+ "accessibleExpanded": [1, "accessible-expanded"],
11680
12127
  "accessibleDescribedBy": [1, "accessible-described-by"],
12128
+ "accessibleHasPopup": [1, "accessible-has-popup"],
11681
12129
  "debounce": [2],
11682
12130
  "caption": [1],
11683
12131
  "echoPlaceholder": [4, "echo-placeholder"],
@@ -11705,7 +12153,8 @@ class DuetInput {
11705
12153
  "value": [1025],
11706
12154
  "tooltip": [1],
11707
12155
  "tooltipDirection": [1, "tooltip-direction"],
11708
- "setFocus": [64]
12156
+ "setFocus": [64],
12157
+ "resetCursor": [64]
11709
12158
  },
11710
12159
  "$listeners$": undefined,
11711
12160
  "$lazyBundleId$": "-",
@@ -15076,6 +15525,10 @@ class DuetTabGroup {
15076
15525
  * Whether the tab-group collapses to a select dropwdown in minor breakpoints
15077
15526
  */
15078
15527
  this.collapses = true;
15528
+ /**
15529
+ * Aria label for the entire tab-group
15530
+ */
15531
+ this.accessibleLabel = undefined;
15079
15532
  /**
15080
15533
  * Style variation of the tab group.
15081
15534
  */
@@ -15136,7 +15589,7 @@ class DuetTabGroup {
15136
15589
  };
15137
15590
  this.renderTab = () => {
15138
15591
  const renderedTabs = this.tabs.map((element, index) => {
15139
- return (hAsync("button", { role: "tab", id: this.getButtonId(index), "aria-controls": this.getTabId(index), "aria-selected": element.selected ? "true" : "false", "aria-description": this.getAccessibleDescription(index), part: `${this.identifier}-button ${element.selected ? `${this.identifier}-button--selected` : ""}`, type: "button", class: {
15592
+ return (hAsync("button", { role: "tab", id: this.getButtonId(index), "aria-controls": this.getTabId(index), "aria-selected": element.selected ? "true" : "false", "aria-description": this.getAccessibleDescription(index), tabindex: index === 0 ? "0" : "-1", part: `${this.identifier}-button ${element.selected ? `${this.identifier}-button--selected` : ""}`, type: "button", class: {
15140
15593
  "duet-p-0": this.padding === "none",
15141
15594
  "duet-tab-button": true,
15142
15595
  selected: element.selected,
@@ -15246,14 +15699,14 @@ class DuetTabGroup {
15246
15699
  [`duet-tab-variation-${this.variation}`]: true,
15247
15700
  "duet-tab-group-scrolls": this.scrolls,
15248
15701
  "duet-tab-group-collapses": this.collapses,
15249
- } }, this.tabs.length > 3 && this.collapses && (hAsync("duet-select", { value: this.selected.toString(), expand: true, label: this.label, labelHidden: this.labelHidden, theme: this.theme, onDuetChange: event => this.openTab(Number(event.detail.value)), items: this.tabs.map((tab, index) => {
15702
+ }, "aria-label": this.accessibleLabel }, this.tabs.length > 3 && this.collapses && (hAsync("duet-select", { value: this.selected.toString(), expand: true, label: this.label, labelHidden: this.labelHidden, theme: this.theme, onDuetChange: event => this.openTab(Number(event.detail.value)), items: this.tabs.map((tab, index) => {
15250
15703
  return { label: tab.label, value: index.toString() };
15251
15704
  }) })), hAsync("div", { role: "tablist", class: {
15252
15705
  "duet-m-0": this.margin === "none",
15253
15706
  "duet-tab-group-tabs": true,
15254
15707
  "duet-tab-group-hidden": this.tabs.length > 3,
15255
15708
  "duet-tab-group-collapses": this.collapses,
15256
- } }, this.renderTab()), hAsync("div", { class: { "duet-tab-group-content": true, "duet-m-0": this.margin === "none" } }, hAsync("slot", null))));
15709
+ } }, this.renderTab()), hAsync("div", { role: "tabpanel", tabindex: "0", class: { "duet-tab-group-content": true, "duet-m-0": this.margin === "none" } }, hAsync("slot", null))));
15257
15710
  }
15258
15711
  get element() { return getElement(this); }
15259
15712
  static get style() { return duetTabGroupCss; }
@@ -15264,6 +15717,7 @@ class DuetTabGroup {
15264
15717
  "theme": [1025],
15265
15718
  "scrolls": [4],
15266
15719
  "collapses": [4],
15720
+ "accessibleLabel": [1, "accessible-label"],
15267
15721
  "variation": [1],
15268
15722
  "language": [1025],
15269
15723
  "labelDefaults": [1, "label-default"],
@@ -16334,7 +16788,7 @@ const SuccessItem = ({ data, showLinks }) => {
16334
16788
  const { item, size, uploaded, url, meta } = data;
16335
16789
  const { name } = item;
16336
16790
  const ContentName = (hAsync("span", { class: "duet-upload-item-name" },
16337
- hAsync("duet-icon", { margin: "none", size: "xx-small", name: "messaging-attachment" }),
16791
+ hAsync("duet-icon", { margin: "none", size: "x-small", name: "messaging-attachment" }),
16338
16792
  hAsync("duet-spacer", { size: "xx-small", direction: "horizontal" }),
16339
16793
  name));
16340
16794
  const SizeText = (hAsync("span", { class: "duet-upload-item-size", style: { fontSize: "14px", fontWeight: "400" } },
@@ -16473,7 +16927,7 @@ const makeXhrRequest = ({ payload, options, onFailure, onSuccess, onProgress })
16473
16927
  return xhr;
16474
16928
  };
16475
16929
 
16476
- const duetUploadCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-upload,*.sc-duet-upload::after,*.sc-duet-upload::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-upload-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@::slotted([slot=header])*/.sc-duet-upload-s>[slot=header]{margin-bottom:16px}/*!@::slotted([slot=fileheader])*/.sc-duet-upload-s>[slot=fileheader]{margin:16px 0 0 0}/*!@::slotted([slot=filefooter])*/.sc-duet-upload-s>[slot=filefooter]{margin-top:16px}/*!@.duet-upload*/.duet-upload.sc-duet-upload{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@.duet-upload-item-size*/.duet-upload-item-size.sc-duet-upload{font-size:0.75rem;font-weight:400}/*!@.duet-upload-filelist*/.duet-upload-filelist.sc-duet-upload{margin-bottom:25px}/*!@.duet-upload-filelist-empty*/.duet-upload-filelist-empty.sc-duet-upload{display:flex;align-items:center;justify-content:center;width:100%;height:75px;margin:0 auto;font-size:1rem;font-weight:400;background-color:#f5f8fa}/*!@.duet-upload-editable-table-header-hidden*/.duet-upload-editable-table-header-hidden.sc-duet-upload{display:none}/*!@.duet-upload-editable-table tbody .duet-upload-editable-table-data*/.duet-upload-editable-table.sc-duet-upload tbody.sc-duet-upload .duet-upload-editable-table-data.sc-duet-upload{padding:0 !important;border:0}/*!@.duet-upload-editable-table duet-editable-table tfoot,\n.duet-upload-editable-table duet-editable-table thead*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload tfoot.sc-duet-upload,.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload thead.sc-duet-upload{display:none}/*!@.duet-upload-editable-table duet-editable-table .duet-editable-table-content*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-content.sc-duet-upload{padding-right:0 !important;padding-left:0 !important}/*!@.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload duet-table.sc-duet-upload .duet-table-action-row.sc-duet-upload td.sc-duet-upload{padding:0.75rem 0 !important}/*!@.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td:last-child*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload duet-table.sc-duet-upload .duet-table-action-row.sc-duet-upload td.sc-duet-upload:last-child{padding-right:0 !important}/*!@.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-action-button::part(button)*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-row-inprogress.sc-duet-upload duet-action-button.sc-duet-upload::part(button){border:0}";
16930
+ const duetUploadCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-upload,*.sc-duet-upload::after,*.sc-duet-upload::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-upload-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@::slotted([slot=header])*/.sc-duet-upload-s>[slot=header]{margin-bottom:16px}/*!@::slotted([slot=fileheader])*/.sc-duet-upload-s>[slot=fileheader]{margin:16px 0 0 0}/*!@::slotted([slot=filefooter])*/.sc-duet-upload-s>[slot=filefooter]{margin-top:16px}/*!@.duet-upload*/.duet-upload.sc-duet-upload{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@.duet-upload-item-size*/.duet-upload-item-size.sc-duet-upload{font-size:0.75rem;font-weight:400}/*!@.duet-upload-filelist*/.duet-upload-filelist.sc-duet-upload{margin-bottom:25px}/*!@.duet-upload-filelist-empty*/.duet-upload-filelist-empty.sc-duet-upload{display:flex;align-items:center;justify-content:center;width:100%;height:75px;margin:0 auto;font-size:1rem;font-weight:400;background-color:#f5f8fa}/*!@.duet-upload-filelist-empty-label*/.duet-upload-filelist-empty-label.sc-duet-upload{font-size:1rem;font-weight:400}/*!@.duet-upload-editable-table-header-hidden*/.duet-upload-editable-table-header-hidden.sc-duet-upload{display:none}/*!@.duet-upload-editable-table tbody .duet-upload-editable-table-data*/.duet-upload-editable-table.sc-duet-upload tbody.sc-duet-upload .duet-upload-editable-table-data.sc-duet-upload{padding:0 !important;border:0}/*!@.duet-upload-editable-table duet-editable-table tfoot,\n.duet-upload-editable-table duet-editable-table thead*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload tfoot.sc-duet-upload,.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload thead.sc-duet-upload{display:none}/*!@.duet-upload-editable-table duet-editable-table .duet-editable-table-content*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-content.sc-duet-upload{padding-right:0 !important;padding-left:0 !important}/*!@.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload duet-table.sc-duet-upload .duet-table-action-row.sc-duet-upload td.sc-duet-upload{padding:0.75rem 0 !important}/*!@.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td:last-child*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload duet-table.sc-duet-upload .duet-table-action-row.sc-duet-upload td.sc-duet-upload:last-child{padding-right:0 !important}/*!@.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-action-button::part(button)*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-row-inprogress.sc-duet-upload duet-action-button.sc-duet-upload::part(button){border:0}/*!@.duet-upload-editable-table .duet-upload-item-name duet-icon*/.duet-upload-editable-table.sc-duet-upload .duet-upload-item-name.sc-duet-upload duet-icon.sc-duet-upload{position:relative;top:2px}/*!@duet-paragraph::part(duet-paragraph)*/duet-paragraph.sc-duet-upload::part(duet-paragraph){word-break:break-word}";
16477
16931
 
16478
16932
  /**
16479
16933
  * @slot header - named slot - to place content after description / caption
@@ -17230,7 +17684,9 @@ class DuetUpload {
17230
17684
  "duet-upload-filelist-empty": !this.files.size,
17231
17685
  "duet-upload-filelist": true,
17232
17686
  "duet-upload-filelist-filled": this.files.size,
17233
- }, id: this.labelId, for: identifier }, this.fileListEmpty)), !!this.files.size && hAsync("slot", { name: "fileheader" }), !!this.files.size && (hAsync("duet-upload-aria-status", { invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && this.renderEditableTableGroups(), !!this.files.size && hAsync("slot", { name: "filefooter" }), hAsync("duet-spacer", { size: "large" }), !this.hideButton && (hAsync("duet-button", { id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel)), hAsync("duet-spacer", { size: "medium" }), (this.fileMaxReached || this.bytesMaxReached) && (hAsync("duet-alert", { part: this.identifier ? `${this.identifier}-error-notification` : "duet-upload-error-notification" }, this.fileMaxReached && getI18nError("duet-upload-301"), this.bytesMaxReached && getI18nError("duet-upload-202"))), hAsync("duet-spacer", { size: "medium" }), hAsync("duet-visually-hidden", null, hAsync("input", { ref: input => {
17687
+ }, id: this.labelId, for: identifier }, hAsync("span", { class: {
17688
+ "duet-upload-filelist-empty-label": !this.files.size,
17689
+ } }, this.fileListEmpty))), !!this.files.size && hAsync("slot", { name: "fileheader" }), !!this.files.size && (hAsync("duet-upload-aria-status", { invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && this.renderEditableTableGroups(), !!this.files.size && hAsync("slot", { name: "filefooter" }), hAsync("duet-spacer", { size: "large" }), !this.hideButton && (hAsync("duet-button", { id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel)), hAsync("duet-spacer", { size: "medium" }), (this.fileMaxReached || this.bytesMaxReached) && (hAsync("duet-alert", { part: this.identifier ? `${this.identifier}-error-notification` : "duet-upload-error-notification" }, this.fileMaxReached && getI18nError("duet-upload-301"), this.bytesMaxReached && getI18nError("duet-upload-202"))), hAsync("duet-spacer", { size: "medium" }), hAsync("duet-visually-hidden", null, hAsync("input", { ref: input => {
17234
17690
  this.nativeInput = input;
17235
17691
  }, accept: !this.limitSelection ? undefined : `${this.allowedMimetypes},${this.allowedExtensions}`, onBlur: this.onBlur, onFocus: this.onFocus, onChange: e => this.onChange(e), type: "file", class: {
17236
17692
  "duet-upload": true,
@@ -17563,6 +18019,7 @@ registerComponents([
17563
18019
  DuetChoice,
17564
18020
  DuetChoiceGroup,
17565
18021
  DuetCollapsible,
18022
+ DuetCombobox,
17566
18023
  DuetCookieConsent,
17567
18024
  DuetDatePicker,
17568
18025
  DuetDivider,