@duetds/components 4.33.1 → 4.34.2

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 (303) hide show
  1. package/hydrate/index.js +438 -191
  2. package/lib/cjs/{dom-c850c8d7.js → dom-52a4f07a.js} +1 -1
  3. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  4. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-button_2.cjs.entry.js +2 -2
  6. package/lib/cjs/duet-caption_4.cjs.entry.js +3 -3
  7. package/lib/cjs/duet-card.cjs.entry.js +2 -2
  8. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  9. package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
  10. package/lib/cjs/duet-collapsible.cjs.entry.js +5 -453
  11. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  12. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  13. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-editable-table-button.cjs.entry.js +14 -7
  15. package/lib/cjs/duet-editable-table_4.cjs.entry.js +86 -11
  16. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  17. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  18. package/lib/cjs/duet-footer.cjs.entry.js +2 -2
  19. package/lib/cjs/duet-grid_2.cjs.entry.js +26 -3
  20. package/lib/cjs/duet-header_2.cjs.entry.js +220 -47
  21. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  22. package/lib/cjs/duet-icon.cjs.entry.js +13 -21
  23. package/lib/cjs/duet-input_2.cjs.entry.js +3 -4
  24. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-list_2.cjs.entry.js +2 -2
  26. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  27. package/lib/cjs/duet-notification_2.cjs.entry.js +2 -2
  28. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  29. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  30. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  32. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-tab_2.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-tray.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  41. package/lib/cjs/duet.cjs.js +4 -4
  42. package/lib/cjs/{focus-utils-b609a7a5.js → focus-utils-b57facfe.js} +1 -1
  43. package/lib/cjs/form-search-d61b2843.js +8 -0
  44. package/lib/cjs/{index-9a57d969.js → index-e2021bf7.js} +2 -9
  45. package/lib/cjs/loader.cjs.js +3 -3
  46. package/lib/cjs/{shadow-css-e3edeed1.js → shadow-css-e1b62a99.js} +1 -1
  47. package/lib/cjs/token-utils-05bd23b4.js +77 -0
  48. package/lib/cjs/tokens-8596cece.js +459 -0
  49. package/lib/collection/collection-manifest.json +2 -2
  50. package/lib/collection/components/duet-collapsible/duet-collapsible.js +4 -1
  51. package/lib/collection/components/duet-editable-table/duet-editable-table-button.js +13 -6
  52. package/lib/collection/components/duet-editable-table/duet-editable-table-item.js +25 -3
  53. package/lib/collection/components/duet-editable-table/duet-editable-table-tabledata.js +3 -3
  54. package/lib/collection/components/duet-editable-table/duet-editable-table.js +58 -2
  55. package/lib/collection/components/duet-footer/duet-footer.css +2 -0
  56. package/lib/collection/components/duet-grid/duet-grid.js +25 -2
  57. package/lib/collection/components/duet-header/duet-header-dropdown.js +27 -0
  58. package/lib/collection/components/duet-header/duet-header-hamburger.js +9 -0
  59. package/lib/collection/components/duet-header/duet-header-icon.js +9 -0
  60. package/lib/collection/components/duet-header/duet-header.css +272 -39
  61. package/lib/collection/components/duet-header/duet-header.js +316 -122
  62. package/lib/collection/components/duet-icon/duet-icon.js +11 -5
  63. package/lib/collection/components/duet-icon/icon-utils.js +5 -15
  64. package/lib/collection/components/duet-link/duet-link.js +4 -1
  65. package/lib/collection/components/duet-list-item/duet-list-item.css +1 -1
  66. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.css +4 -3
  67. package/lib/collection/components/duet-table/duet-table.css +42 -17
  68. package/lib/collection/components/duet-table/duet-table.js +2 -2
  69. package/lib/collection/components/duet-upload/duet-upload.js +26 -4
  70. package/lib/collection/utils/template-utils.js +33 -0
  71. package/lib/collection/utils/token-utils.js +67 -14
  72. package/lib/custom-elements-bundle/index.js +422 -114
  73. package/lib/duet/duet.esm.js +1 -1
  74. package/lib/duet/duet.js +1 -1
  75. package/lib/duet/{p-bf9f6d80.system.entry.js → p-00bf3bbb.system.entry.js} +1 -1
  76. package/lib/duet/{p-75edcaed.entry.js → p-08d1abc7.entry.js} +1 -1
  77. package/lib/duet/{p-2297d13f.system.entry.js → p-0dc01111.system.entry.js} +1 -1
  78. package/lib/duet/{p-19d7d9d5.system.entry.js → p-0e742087.system.entry.js} +1 -1
  79. package/lib/duet/p-12941c46.system.entry.js +4 -0
  80. package/lib/duet/{p-b314348c.system.js → p-13bc14a6.system.js} +2 -2
  81. package/lib/duet/{p-cf319832.system.entry.js → p-13d5fe80.system.entry.js} +1 -1
  82. package/lib/duet/{p-35a3794e.js → p-183726f7.js} +0 -0
  83. package/lib/duet/{p-323643af.system.entry.js → p-1fff32a9.system.entry.js} +1 -1
  84. package/lib/duet/{p-b5c7d304.system.entry.js → p-2524481a.system.entry.js} +1 -1
  85. package/lib/duet/{p-6a5ab3eb.entry.js → p-2862054c.entry.js} +1 -1
  86. package/lib/duet/{p-e1dc86b5.system.js → p-30d13a27.system.js} +1 -1
  87. package/lib/duet/p-354bf924.entry.js +4 -0
  88. package/lib/duet/{p-df6f39a3.entry.js → p-3998eed6.entry.js} +1 -1
  89. package/lib/duet/{p-079795e5.entry.js → p-3e0a774d.entry.js} +1 -1
  90. package/lib/duet/{p-fd613733.entry.js → p-3e273d8d.entry.js} +1 -1
  91. package/lib/duet/{p-2fdcff82.entry.js → p-3e47c910.entry.js} +1 -1
  92. package/lib/duet/{p-de5ec54e.system.entry.js → p-45a6838d.system.entry.js} +1 -1
  93. package/lib/duet/p-4836f66d.entry.js +4 -0
  94. package/lib/duet/{p-af49d4f9.entry.js → p-488addbc.entry.js} +1 -1
  95. package/lib/duet/{p-ba18b56e.entry.js → p-4a742d83.entry.js} +1 -1
  96. package/lib/duet/{p-37cda933.entry.js → p-4d5531be.entry.js} +1 -1
  97. package/lib/duet/{p-00210a63.entry.js → p-4db07868.entry.js} +1 -1
  98. package/lib/duet/p-50b4fb2c.js +4 -0
  99. package/lib/duet/{p-987edcd0.js → p-52621211.js} +0 -0
  100. package/lib/duet/p-582f9135.system.entry.js +4 -0
  101. package/lib/duet/{p-85e52be8.entry.js → p-58d7f2d1.entry.js} +1 -1
  102. package/lib/duet/{p-b25edbbe.entry.js → p-5a5e7977.entry.js} +1 -1
  103. package/lib/duet/{p-85ad012a.system.entry.js → p-5c67bb73.system.entry.js} +1 -1
  104. package/lib/duet/{p-3013c9bb.system.entry.js → p-5e03b63f.system.entry.js} +1 -1
  105. package/lib/duet/{p-e8123a53.entry.js → p-5f2fb5db.entry.js} +1 -1
  106. package/lib/duet/{p-f5a55b3c.entry.js → p-5f813e15.entry.js} +1 -1
  107. package/lib/duet/p-5f866721.entry.js +4 -0
  108. package/lib/duet/p-60aa83c0.js +4 -0
  109. package/lib/duet/{p-bf4596bd.system.entry.js → p-62de4645.system.entry.js} +1 -1
  110. package/lib/duet/{p-360086f8.entry.js → p-66c35cd2.entry.js} +1 -1
  111. package/lib/duet/{p-cbdb9e98.system.entry.js → p-69133107.system.entry.js} +1 -1
  112. package/lib/duet/p-6a8b3cf0.system.entry.js +4 -0
  113. package/lib/duet/{p-c18a599e.system.js → p-6e4fd6ba.system.js} +0 -0
  114. package/lib/duet/{p-e2596ea0.entry.js → p-72ad7798.entry.js} +1 -1
  115. package/lib/duet/{p-32b7397d.entry.js → p-746b3bee.entry.js} +1 -1
  116. package/lib/duet/p-75261615.system.entry.js +4 -0
  117. package/lib/duet/{p-8aaf3383.entry.js → p-760d2226.entry.js} +1 -1
  118. package/lib/duet/{p-7530be48.system.entry.js → p-7a0a375e.system.entry.js} +1 -1
  119. package/lib/duet/p-8143f3de.js +4 -0
  120. package/lib/duet/p-8b01f978.system.entry.js +4 -0
  121. package/lib/duet/{p-6e4b1c0d.entry.js → p-8d42cb7c.entry.js} +1 -1
  122. package/lib/duet/p-8e16057d.system.entry.js +4 -0
  123. package/lib/duet/p-8f477bd6.system.js +4 -0
  124. package/lib/duet/p-90e7e876.entry.js +4 -0
  125. package/lib/duet/{p-09013a48.system.entry.js → p-939bf739.system.entry.js} +1 -1
  126. package/lib/duet/{p-0205162d.entry.js → p-9793f3d8.entry.js} +1 -1
  127. package/lib/duet/p-9849a4ab.system.entry.js +4 -0
  128. package/lib/duet/{p-5cfc53f9.entry.js → p-9d487a0d.entry.js} +1 -1
  129. package/lib/duet/p-a16a58c1.system.js +4 -0
  130. package/lib/duet/p-a52d436c.entry.js +4 -0
  131. package/lib/duet/{p-e48f3a32.system.entry.js → p-a58f0665.system.entry.js} +1 -1
  132. package/lib/duet/{p-9e79e033.entry.js → p-a900d55b.entry.js} +1 -1
  133. package/lib/duet/p-ae46a7d2.system.entry.js +4 -0
  134. package/lib/duet/{p-6f36f647.system.entry.js → p-ae8401c9.system.entry.js} +1 -1
  135. package/lib/duet/{p-e60ee8b0.entry.js → p-b70f164d.entry.js} +1 -1
  136. package/lib/duet/{p-3ba62cf1.system.entry.js → p-b8dde0c8.system.entry.js} +1 -1
  137. package/lib/duet/{p-e5031543.entry.js → p-baef2241.entry.js} +1 -1
  138. package/lib/duet/{p-ef7251bf.entry.js → p-c50bbff5.entry.js} +1 -1
  139. package/lib/duet/{p-3fd9190b.system.entry.js → p-c67a63cc.system.entry.js} +1 -1
  140. package/lib/duet/p-c6ba80c6.entry.js +4 -0
  141. package/lib/duet/{p-e7b90769.system.entry.js → p-c92b1af1.system.entry.js} +1 -1
  142. package/lib/duet/{p-71a77368.system.entry.js → p-cdaa629d.system.entry.js} +1 -1
  143. package/lib/duet/{p-c1a1ea1b.js → p-ce566b2b.js} +1 -1
  144. package/lib/duet/p-d004da5f.js +4 -0
  145. package/lib/duet/{p-e70088d5.entry.js → p-d1adeb76.entry.js} +1 -1
  146. package/lib/duet/{p-5decc259.system.entry.js → p-d3b5d2ef.system.entry.js} +1 -1
  147. package/lib/duet/{p-a2a00146.system.entry.js → p-db87c4b1.system.entry.js} +1 -1
  148. package/lib/duet/{p-9f35d682.entry.js → p-ddbdac54.entry.js} +1 -1
  149. package/lib/duet/{p-e370c18b.entry.js → p-de23ae41.entry.js} +1 -1
  150. package/lib/duet/{p-f0cfe033.system.entry.js → p-e0038277.system.entry.js} +1 -1
  151. package/lib/duet/p-e1c6f74b.entry.js +4 -0
  152. package/lib/duet/{p-1cbc6269.entry.js → p-e242bf98.entry.js} +1 -1
  153. package/lib/duet/{p-51955fc0.system.js → p-e3973f41.system.js} +1 -1
  154. package/lib/duet/{p-0d22396e.system.js → p-e5c1751e.system.js} +0 -0
  155. package/lib/duet/p-ec5d0cda.entry.js +4 -0
  156. package/lib/duet/{p-43847557.entry.js → p-ee74ff67.entry.js} +1 -1
  157. package/lib/duet/{p-6a4d85ed.system.entry.js → p-eed6f9cc.system.entry.js} +1 -1
  158. package/lib/duet/{p-7a8597c2.system.entry.js → p-f01494f9.system.entry.js} +1 -1
  159. package/lib/duet/{p-b4111e88.system.entry.js → p-f2c402a9.system.entry.js} +1 -1
  160. package/lib/duet/{p-4b6e8558.system.entry.js → p-f3c258d8.system.entry.js} +1 -1
  161. package/lib/duet/{p-2a822e91.system.entry.js → p-f6e1fb0f.system.entry.js} +1 -1
  162. package/lib/duet/{p-020a2c42.system.entry.js → p-f7f4f98a.system.entry.js} +1 -1
  163. package/lib/duet/{p-dd76db9b.system.entry.js → p-f9a096a9.system.entry.js} +1 -1
  164. package/lib/duet/p-fa99eaa4.system.js +4 -0
  165. package/lib/duet/{p-6024e484.system.entry.js → p-ffd449ef.system.entry.js} +1 -1
  166. package/lib/esm/{dom-58cd15f6.js → dom-5d060ace.js} +1 -1
  167. package/lib/esm/duet-alert.entry.js +1 -1
  168. package/lib/esm/duet-badge.entry.js +1 -1
  169. package/lib/esm/duet-button_2.entry.js +2 -2
  170. package/lib/esm/duet-caption_4.entry.js +3 -3
  171. package/lib/esm/duet-card.entry.js +2 -2
  172. package/lib/esm/duet-checkbox.entry.js +1 -1
  173. package/lib/esm/duet-choice_2.entry.js +2 -2
  174. package/lib/esm/duet-collapsible.entry.js +4 -452
  175. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  176. package/lib/esm/duet-date-picker.entry.js +2 -2
  177. package/lib/esm/duet-divider_2.entry.js +1 -1
  178. package/lib/esm/duet-editable-table-button.entry.js +14 -7
  179. package/lib/esm/duet-editable-table_4.entry.js +86 -11
  180. package/lib/esm/duet-empty-state.entry.js +1 -1
  181. package/lib/esm/duet-fieldset.entry.js +1 -1
  182. package/lib/esm/duet-footer.entry.js +2 -2
  183. package/lib/esm/duet-grid_2.entry.js +26 -3
  184. package/lib/esm/duet-header_2.entry.js +220 -47
  185. package/lib/esm/duet-hero.entry.js +1 -1
  186. package/lib/esm/duet-icon.entry.js +13 -21
  187. package/lib/esm/duet-input_2.entry.js +2 -3
  188. package/lib/esm/duet-layout.entry.js +1 -1
  189. package/lib/esm/duet-list_2.entry.js +2 -2
  190. package/lib/esm/duet-modal.entry.js +2 -2
  191. package/lib/esm/duet-notification_2.entry.js +2 -2
  192. package/lib/esm/duet-number-input.entry.js +1 -1
  193. package/lib/esm/duet-progress.entry.js +1 -1
  194. package/lib/esm/duet-radio_2.entry.js +1 -1
  195. package/lib/esm/duet-range-slider.entry.js +1 -1
  196. package/lib/esm/duet-select.entry.js +1 -1
  197. package/lib/esm/duet-step_2.entry.js +1 -1
  198. package/lib/esm/duet-tab_2.entry.js +1 -1
  199. package/lib/esm/duet-textarea.entry.js +1 -1
  200. package/lib/esm/duet-toggle.entry.js +1 -1
  201. package/lib/esm/duet-tooltip.entry.js +1 -1
  202. package/lib/esm/duet-tray.entry.js +1 -1
  203. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  204. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  205. package/lib/esm/duet.js +4 -4
  206. package/lib/esm/{focus-utils-aeb6ca93.js → focus-utils-fc14cf36.js} +1 -1
  207. package/lib/esm/form-search-ea8e19ae.js +6 -0
  208. package/lib/esm/{index-e8c7d36f.js → index-9ef5d3bc.js} +3 -9
  209. package/lib/esm/loader.js +3 -3
  210. package/lib/esm/{shadow-css-7c726abb.js → shadow-css-13d024f4.js} +1 -1
  211. package/lib/esm/token-utils-75f78ca4.js +75 -0
  212. package/lib/esm/tokens-e110dc89.js +453 -0
  213. package/lib/esm-es5/{dom-58cd15f6.js → dom-5d060ace.js} +0 -0
  214. package/lib/esm-es5/duet-alert.entry.js +1 -1
  215. package/lib/esm-es5/duet-badge.entry.js +1 -1
  216. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  217. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  218. package/lib/esm-es5/duet-card.entry.js +1 -1
  219. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  220. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  221. package/lib/esm-es5/duet-collapsible.entry.js +2 -2
  222. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  223. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  224. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  225. package/lib/esm-es5/duet-editable-table-button.entry.js +1 -1
  226. package/lib/esm-es5/duet-editable-table_4.entry.js +2 -2
  227. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  228. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  229. package/lib/esm-es5/duet-footer.entry.js +1 -1
  230. package/lib/esm-es5/duet-grid_2.entry.js +2 -2
  231. package/lib/esm-es5/duet-header_2.entry.js +2 -2
  232. package/lib/esm-es5/duet-hero.entry.js +1 -1
  233. package/lib/esm-es5/duet-icon.entry.js +2 -2
  234. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  235. package/lib/esm-es5/duet-layout.entry.js +1 -1
  236. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  237. package/lib/esm-es5/duet-modal.entry.js +1 -1
  238. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  239. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  240. package/lib/esm-es5/duet-progress.entry.js +1 -1
  241. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  242. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  243. package/lib/esm-es5/duet-select.entry.js +1 -1
  244. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  245. package/lib/esm-es5/duet-tab_2.entry.js +1 -1
  246. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  247. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  248. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  249. package/lib/esm-es5/duet-tray.entry.js +1 -1
  250. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  251. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  252. package/lib/esm-es5/duet.js +1 -1
  253. package/lib/esm-es5/{focus-utils-aeb6ca93.js → focus-utils-fc14cf36.js} +1 -1
  254. package/lib/esm-es5/form-search-ea8e19ae.js +4 -0
  255. package/lib/esm-es5/{index-e8c7d36f.js → index-9ef5d3bc.js} +2 -2
  256. package/lib/esm-es5/loader.js +1 -1
  257. package/lib/esm-es5/{shadow-css-7c726abb.js → shadow-css-13d024f4.js} +0 -0
  258. package/lib/esm-es5/token-utils-75f78ca4.js +4 -0
  259. package/lib/esm-es5/tokens-e110dc89.js +4 -0
  260. package/lib/html.html-data.json +29 -10
  261. package/lib/types/common-types.d.ts +0 -1
  262. package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +3 -0
  263. package/lib/types/components/duet-editable-table/duet-editable-table-button.d.ts +1 -0
  264. package/lib/types/components/duet-editable-table/duet-editable-table-item.d.ts +5 -1
  265. package/lib/types/components/duet-editable-table/duet-editable-table-tabledata.d.ts +1 -0
  266. package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +10 -0
  267. package/lib/types/components/duet-grid/duet-grid.d.ts +1 -0
  268. package/lib/types/components/duet-header/duet-header-dropdown.d.ts +16 -0
  269. package/lib/types/components/duet-header/duet-header-hamburger.d.ts +2 -0
  270. package/lib/types/components/duet-header/duet-header-icon.d.ts +8 -0
  271. package/lib/types/components/duet-header/duet-header.d.ts +41 -4
  272. package/lib/types/components/duet-icon/duet-icon.d.ts +1 -1
  273. package/lib/types/components/duet-icon/icon-utils.d.ts +1 -1
  274. package/lib/types/components/duet-link/duet-link.d.ts +3 -0
  275. package/lib/types/components/duet-table/duet-table.d.ts +1 -1
  276. package/lib/types/components/duet-upload/duet-upload.d.ts +4 -0
  277. package/lib/types/components.d.ts +46 -10
  278. package/lib/types/stencil-public-runtime.d.ts +6 -4
  279. package/lib/types/utils/template-utils.d.ts +13 -0
  280. package/lib/types/utils/token-utils.d.ts +8 -2
  281. package/package.json +13 -14
  282. package/lib/cjs/token-utils-63a9c8dc.js +0 -30
  283. package/lib/duet/p-0a89315d.entry.js +0 -4
  284. package/lib/duet/p-0e90f075.system.entry.js +0 -4
  285. package/lib/duet/p-3212a556.entry.js +0 -4
  286. package/lib/duet/p-3c1971d8.js +0 -4
  287. package/lib/duet/p-4c5eedf8.entry.js +0 -4
  288. package/lib/duet/p-4c827f0d.entry.js +0 -4
  289. package/lib/duet/p-5e0071d6.js +0 -4
  290. package/lib/duet/p-5e77432e.system.entry.js +0 -4
  291. package/lib/duet/p-68008644.entry.js +0 -4
  292. package/lib/duet/p-69385972.system.entry.js +0 -4
  293. package/lib/duet/p-6e363557.system.js +0 -4
  294. package/lib/duet/p-6fa6c4fb.system.entry.js +0 -4
  295. package/lib/duet/p-73f9db25.system.entry.js +0 -4
  296. package/lib/duet/p-74f4a0d8.system.entry.js +0 -4
  297. package/lib/duet/p-a545398c.entry.js +0 -4
  298. package/lib/duet/p-b6e9860a.entry.js +0 -4
  299. package/lib/duet/p-c742856b.system.entry.js +0 -4
  300. package/lib/duet/p-d67fff56.entry.js +0 -4
  301. package/lib/duet/p-f2a087a8.system.entry.js +0 -4
  302. package/lib/esm/token-utils-590d9413.js +0 -28
  303. package/lib/esm-es5/token-utils-590d9413.js +0 -4
package/hydrate/index.js CHANGED
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  /*!
9
- Stencil Mock Doc v2.11.0 | MIT Licensed | https://stenciljs.com
9
+ Stencil Mock Doc v2.12.1 | MIT Licensed | https://stenciljs.com
10
10
  */
11
11
  const CONTENT_REF_ID = 'r';
12
12
  const ORG_LOCATION_ID = 'o';
@@ -551,7 +551,7 @@ class MockCSSStyleDeclaration {
551
551
  const splt = rule.split(':');
552
552
  if (splt.length > 1) {
553
553
  const prop = splt[0].trim();
554
- const value = splt[1].trim();
554
+ const value = splt.slice(1).join(':').trim();
555
555
  if (prop !== '' && value !== '') {
556
556
  this._styles.set(jsCaseToCssCase(prop), value);
557
557
  }
@@ -1514,6 +1514,9 @@ class MockNode {
1514
1514
  return null;
1515
1515
  }
1516
1516
  contains(otherNode) {
1517
+ if (otherNode === this) {
1518
+ return true;
1519
+ }
1517
1520
  return this.childNodes.includes(otherNode);
1518
1521
  }
1519
1522
  removeChild(childNode) {
@@ -4700,19 +4703,8 @@ function hydrateFactory($stencilWindow, $stencilHydrateOpts, $stencilHydrateResu
4700
4703
  /*hydrateAppClosure start*/
4701
4704
 
4702
4705
 
4703
- var process = require('process');
4704
-
4705
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
4706
-
4707
- var process__default = /*#__PURE__*/_interopDefaultLegacy(process);
4708
-
4709
- var global$1 = (typeof global !== "undefined" ? global :
4710
- typeof self !== "undefined" ? self :
4711
- typeof window !== "undefined" ? window : {});
4712
-
4713
4706
  const NAMESPACE = 'duet';
4714
4707
  const BUILD = /* duet */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: false, cssAnnotations: true, cssVarShim: false, devTools: false, disconnectedCallback: true, dynamicImportShim: false, element: false, event: true, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: true, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: true, hydratedAttribute: false, hydratedClass: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, safari10: false, scoped: true, scriptDataOpts: false, shadowDelegatesFocus: true, shadowDom: true, shadowDomShim: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
4715
- const Env = /* duet */ {"cdnURILocal":"http://0.0.0.0:3334","cdnURIProd":"https://cdn.duetds.com/api","duetIconVersion":"2.2.4"};
4716
4708
 
4717
4709
  const TAB_KEY = 9;
4718
4710
  var appGlobalScript = () => {
@@ -4753,7 +4745,7 @@ function forceUpdate() {}
4753
4745
 
4754
4746
  function hydrateApp(e, t, o, n, s) {
4755
4747
  function l() {
4756
- if (global$1.clearTimeout(p), i.clear(), r.clear(), !h) {
4748
+ if (global.clearTimeout(p), i.clear(), r.clear(), !h) {
4757
4749
  h = !0;
4758
4750
  try {
4759
4751
  t.clientHydrateAnnotations && insertVdomAnnotations(e.document, t.staticComponents),
@@ -4848,7 +4840,7 @@ function hydrateApp(e, t, o, n, s) {
4848
4840
  }, e.document.createElementNS = function t(o, n) {
4849
4841
  const s = $.call(e.document, o, n);
4850
4842
  return f(s), s;
4851
- }, p = global$1.setTimeout((function L() {
4843
+ }, p = global.setTimeout((function L() {
4852
4844
  a(`Hydrate exceeded timeout${function e(t) {
4853
4845
  return Array.from(t).map(waitingOnElementMsg);
4854
4846
  }(d)}`);
@@ -5516,7 +5508,7 @@ const cmpModules = new Map, getModule = e => {
5516
5508
  });
5517
5509
  }
5518
5510
  }, win = window, doc = win.document, writeTask = e => {
5519
- process__default['default'].nextTick((() => {
5511
+ process.nextTick((() => {
5520
5512
  try {
5521
5513
  e();
5522
5514
  } catch (e) {
@@ -6161,26 +6153,73 @@ var tokens$2 = /*#__PURE__*/Object.freeze({
6161
6153
  mediaQueryXxxLarge: mediaQueryXxxLarge
6162
6154
  });
6163
6155
 
6164
- const MATCH_DASH_CASE = /-([a-z])/g;
6165
- function replaceDashCase(g) {
6166
- return g[1].toUpperCase();
6156
+ const allowedThemes = ["turva"];
6157
+ function isDashCase(str) {
6158
+ const dash = str.includes("-");
6159
+ const barredString = str.includes(" ") || str.includes("_");
6160
+ const barredStartingString = str.charAt(0) === "-";
6161
+ return dash && !barredString && !barredStartingString;
6162
+ }
6163
+ function capitalize(str = "") {
6164
+ return `${str.charAt(0).toUpperCase()}${str.slice(1)}`;
6165
+ }
6166
+ function lowerCaseFirst(str = "") {
6167
+ return `${str.charAt(0).toLowerCase()}${str.slice(1)}`;
6168
+ }
6169
+ function camelize(str = "") {
6170
+ const arr = str.split("-");
6171
+ //loop through each element of the array and capitalize the first letter.'
6172
+ arr.forEach((string, index) => {
6173
+ arr[index] = capitalize(string);
6174
+ });
6175
+ return arr.join("");
6167
6176
  }
6168
- function convertToCamelCase(string) {
6169
- return string.replace(MATCH_DASH_CASE, replaceDashCase);
6177
+ function getTheme(theme = "") {
6178
+ if (allowedThemes.includes(theme.toLowerCase())) {
6179
+ return theme.toLowerCase();
6180
+ }
6181
+ return "";
6182
+ }
6183
+ function hasColor(str = "") {
6184
+ return str.indexOf("Color") === 0 || str.indexOf("color") === 0;
6170
6185
  }
6171
- function convertToColorName(name) {
6172
- if (name.indexOf("color-") === -1 && name.indexOf("-") !== -1) {
6173
- return convertToCamelCase(`color-${name}`);
6186
+ function addColor(str = "") {
6187
+ if (str && !isDashCase(str) && !hasColor(str)) {
6188
+ return `color${capitalize(str)}`;
6174
6189
  }
6175
- if (name.indexOf("color") === -1) {
6176
- return convertToCamelCase(`color${name.charAt(0).toUpperCase()}${name.slice(1)}`);
6190
+ return str;
6191
+ }
6192
+ function addTheme(str, theme) {
6193
+ const hasTheme = getTheme(theme).length;
6194
+ if (hasTheme && str.indexOf(theme) === -1) {
6195
+ return `${str}${capitalize(theme)}`;
6177
6196
  }
6178
- return convertToCamelCase(name);
6197
+ return str;
6179
6198
  }
6180
- function getColorByName(name) {
6181
- if (name) {
6182
- return tokens$2[convertToColorName(name)];
6199
+ function getColorByName(name, theme = "") {
6200
+ if (!name) {
6201
+ return undefined;
6202
+ }
6203
+ const defaultColor = convertToColorName(name);
6204
+ const themedColor = convertToColorName(name, theme);
6205
+ // lets just try to get the color first to save some cycles
6206
+ let resolvedToken = tokens$2[themedColor];
6207
+ if (!resolvedToken) {
6208
+ resolvedToken = tokens$2[defaultColor];
6183
6209
  }
6210
+ return resolvedToken;
6211
+ }
6212
+ function convertToColorName(name = "", theme = "") {
6213
+ let colorResolution = name;
6214
+ const dash = isDashCase(name);
6215
+ if (dash) {
6216
+ colorResolution = camelize(colorResolution);
6217
+ }
6218
+ colorResolution = addColor(colorResolution);
6219
+ colorResolution = addTheme(colorResolution, theme);
6220
+ // takes care of the case where colorPrimaryDark ends up with ColorPrimaryDark
6221
+ colorResolution = lowerCaseFirst(colorResolution);
6222
+ return colorResolution;
6184
6223
  }
6185
6224
 
6186
6225
  const duetButtonCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-button,*.sc-duet-button::after,*.sc-duet-button::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-button-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;position:relative;z-index:1;display:inline-flex;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}/*!@:host:last-child, :host:last-of-type*/.sc-duet-button-h:last-child,.sc-duet-button-h:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){/*!@:host*/.sc-duet-button-h{width:100%}}/*!@:host(.duet-small)*/.duet-small.sc-duet-button-h{margin-right:2px !important;margin-bottom:8px !important}/*!@:host(.duet-small):last-child, :host(.duet-small):last-of-type*/.duet-small.sc-duet-button-h:last-child,.duet-small.sc-duet-button-h:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){/*!@:host(.duet-small)*/.duet-small.sc-duet-button-h{width:auto}}/*!@:host(.duet-expand)*/.duet-expand.sc-duet-button-h{width:100% !important}/*!@:host(.duet-m-0)*/.duet-m-0.sc-duet-button-h{margin:0 !important}/*!@:host(.duet-fixed)*/.duet-fixed.sc-duet-button-h{width:auto !important}/*!@:host(:last-child)*/.sc-duet-button-h:last-child{margin-right:0 !important}/*!@.duet-button-container*/.duet-button-container.sc-duet-button{position:relative;width:100%}/*!@.duet-button*/.duet-button.sc-duet-button{padding:14px 27px 15px !important;-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;min-width:8rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;color:#0077b3 !important;text-align:center;text-decoration:none;cursor:pointer;background:transparent;border-style:solid;border-width:2px;border-radius:20rem;transition:background-color 300ms ease, color 300ms ease, border 300ms ease, box-shadow 300ms ease}/*!@.duet-button.duet-p-0*/.duet-button.duet-p-0.sc-duet-button{padding:0 !important}/*!@.duet-button.duet-m-0*/.duet-button.duet-m-0.sc-duet-button{margin:0 !important}/*!@.duet-button.duet-button-is-small:not(.duet-button-icon-only)*/.duet-button.duet-button-is-small.sc-duet-button:not(.duet-button-icon-only){padding:9px 19px 10px !important;min-width:5.3333333333rem;font-size:0.875rem}/*!@.duet-button.duet-button-is-small:not(.duet-button-icon-only).icon*/.duet-button.duet-button-is-small.sc-duet-button:not(.duet-button-icon-only).icon{padding-left:48px !important}/*!@.duet-button.duet-button-is-small:not(.duet-button-icon-only).icon-right*/.duet-button.duet-button-is-small.sc-duet-button:not(.duet-button-icon-only).icon-right{padding-right:48px !important;padding-left:20px !important}/*!@.duet-theme-turva .duet-button*/.duet-theme-turva.sc-duet-button .duet-button.sc-duet-button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#c60c30 !important}/*!@.duet-button .duet-button-contents*/.duet-button.sc-duet-button .duet-button-contents.sc-duet-button{position:relative;display:inline-block;margin:0 auto;pointer-events:none}/*!@.duet-button.duet-no-wrap*/.duet-button.duet-no-wrap.sc-duet-button{white-space:nowrap}/*!@.duet-button.icon*/.duet-button.icon.sc-duet-button{padding-left:52px !important}/*!@.duet-button.icon-right*/.duet-button.icon-right.sc-duet-button{padding-right:52px !important;padding-left:28px !important}/*!@.duet-button svg*/.duet-button.sc-duet-button svg.sc-duet-button{width:100%;min-width:100%;fill:currentColor}/*!@.duet-button .duet-button-icon*/.duet-button.sc-duet-button .duet-button-icon.sc-duet-button{position:absolute;top:50%;left:-28px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin:0 !important;transform:translateY(-50%)}/*!@.duet-button .duet-button-icon duet-icon*/.duet-button.sc-duet-button .duet-button-icon.sc-duet-button duet-icon.sc-duet-button{width:16px;height:16px}/*!@.duet-button .duet-button-icon.right*/.duet-button.sc-duet-button .duet-button-icon.right.sc-duet-button{right:-28px;left:auto}/*!@.duet-button .duet-button-icon.large*/.duet-button.sc-duet-button .duet-button-icon.large.sc-duet-button{left:-32px;width:20px;height:20px}/*!@.duet-button .duet-button-icon.large duet-icon*/.duet-button.sc-duet-button .duet-button-icon.large.sc-duet-button duet-icon.sc-duet-button{width:20px;height:20px}/*!@.duet-button .duet-button-icon.large.right*/.duet-button.sc-duet-button .duet-button-icon.large.right.sc-duet-button{right:-32px;left:auto}/*!@.duet-button .duet-button-icon.medium-small*/.duet-button.sc-duet-button .duet-button-icon.medium-small.sc-duet-button{left:-16px;width:10px;height:10px;padding-top:1px}/*!@.duet-button .duet-button-icon.medium-small duet-icon*/.duet-button.sc-duet-button .duet-button-icon.medium-small.sc-duet-button duet-icon.sc-duet-button{width:10px;height:10px}/*!@.duet-button .duet-button-icon.medium-small.right*/.duet-button.sc-duet-button .duet-button-icon.medium-small.right.sc-duet-button{right:-16px;left:auto}/*!@.duet-button .duet-button-icon.small*/.duet-button.sc-duet-button .duet-button-icon.small.sc-duet-button{left:-16px;width:7px;height:7px}/*!@.duet-button .duet-button-icon.small duet-icon*/.duet-button.sc-duet-button .duet-button-icon.small.sc-duet-button duet-icon.sc-duet-button{width:7px;height:7px}/*!@.duet-button .duet-button-icon.small.right*/.duet-button.sc-duet-button .duet-button-icon.small.right.sc-duet-button{right:-16px;left:auto}/*!@.duet-button:focus*/.duet-button.sc-duet-button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-theme-turva .duet-button:focus*/.duet-theme-turva.sc-duet-button .duet-button.sc-duet-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-button:active*/.duet-button.sc-duet-button:active{opacity:0.75;transition:none}/*!@.duet-button.default*/.duet-button.default.sc-duet-button{border-color:#e1e3e6}/*!@.duet-theme-turva .duet-button.default*/.duet-theme-turva.sc-duet-button .duet-button.default.sc-duet-button{color:#c60c30 !important;border-color:#e4e4e6}/*!@.duet-button.default:hover*/.duet-button.default.sc-duet-button:hover{border-color:#0077b3}/*!@.duet-theme-turva .duet-button.default:hover*/.duet-theme-turva.sc-duet-button .duet-button.default.sc-duet-button:hover{border-color:#c60c30}/*!@.duet-button.default.duet-button-negative*/.duet-button.default.duet-button-negative.sc-duet-button{background-color:white}/*!@.duet-theme-turva .duet-button.default.duet-button-negative*/.duet-theme-turva.sc-duet-button .duet-button.default.duet-button-negative.sc-duet-button{background-color:#e4e4e6 !important}/*!@.duet-button.default.duet-button-negative:hover*/.duet-button.default.duet-button-negative.sc-duet-button:hover{color:#0077b3 !important;border-color:#0077b3}/*!@.duet-theme-turva .duet-button.default.duet-button-negative:hover*/.duet-theme-turva.sc-duet-button .duet-button.default.duet-button-negative.sc-duet-button:hover{color:#c60c30 !important;border-color:#c60c30}/*!@.duet-button.primary*/.duet-button.primary.sc-duet-button{color:white !important;background:#0077b3;border-color:#0077b3}/*!@.duet-theme-turva .duet-button.primary*/.duet-theme-turva.sc-duet-button .duet-button.primary.sc-duet-button{color:white !important;background:#c60c30;border-color:#c60c30}/*!@.duet-button.primary:hover*/.duet-button.primary.sc-duet-button:hover{background:#005f8f;border-color:#005f8f;box-shadow:0 4px 20px rgba(34, 34, 34, 0.1)}/*!@.duet-theme-turva .duet-button.primary:hover*/.duet-theme-turva.sc-duet-button .duet-button.primary.sc-duet-button:hover{background:#940925;border-color:#940925}/*!@.duet-button.primary:focus*/.duet-button.primary.sc-duet-button:focus{outline:0;box-shadow:0 0 0 1px white, 0 0 0 4px rgba(0, 119, 179, 0.75)}/*!@.duet-theme-turva .duet-button.primary:focus*/.duet-theme-turva.sc-duet-button .duet-button.primary.sc-duet-button:focus{box-shadow:0 0 0 1px white, 0 0 0 4px rgba(23, 28, 58, 0.7)}/*!@.duet-button.secondary*/.duet-button.secondary.sc-duet-button{color:#00294d !important;background:transparent;border-color:#00294d}/*!@.duet-theme-turva .duet-button.secondary*/.duet-theme-turva.sc-duet-button .duet-button.secondary.sc-duet-button{color:#171c3a !important;border-color:#171c3a}/*!@.duet-button.secondary:hover*/.duet-button.secondary.sc-duet-button:hover{color:#0077b3 !important;border-color:#0077b3}/*!@.duet-theme-turva .duet-button.secondary:hover*/.duet-theme-turva.sc-duet-button .duet-button.secondary.sc-duet-button:hover{color:#c60c30 !important;border-color:#c60c30}/*!@.duet-button.secondary.duet-button-negative*/.duet-button.secondary.duet-button-negative.sc-duet-button{color:#e1e3e6 !important;border-color:white}/*!@.duet-theme-turva .duet-button.secondary.duet-button-negative*/.duet-theme-turva.sc-duet-button .duet-button.secondary.duet-button-negative.sc-duet-button{color:#e4e4e6 !important}/*!@.duet-button.secondary.duet-button-negative:hover*/.duet-button.secondary.duet-button-negative.sc-duet-button:hover{color:#0077b3 !important;border-color:#0077b3}/*!@.duet-theme-turva .duet-button.secondary.duet-button-negative:hover*/.duet-theme-turva.sc-duet-button .duet-button.secondary.duet-button-negative.sc-duet-button:hover{color:#c60c30 !important;border-color:#c60c30}/*!@.duet-button.negative*/.duet-button.negative.sc-duet-button{color:#00294d !important;background:white;border-color:white}/*!@.duet-theme-turva .duet-button.negative*/.duet-theme-turva.sc-duet-button .duet-button.negative.sc-duet-button{color:#171c3a !important}/*!@.duet-button.negative:hover*/.duet-button.negative.sc-duet-button:hover{color:white !important;background:transparent;border-color:white}/*!@.duet-button.negative:focus*/.duet-button.negative.sc-duet-button:focus{outline:0;box-shadow:0 0 0 1px #00294d, 0 0 0 4px rgba(255, 255, 255, 0.7)}/*!@.duet-theme-turva .duet-button.negative:focus*/.duet-theme-turva.sc-duet-button .duet-button.negative.sc-duet-button:focus{box-shadow:0 0 0 1px #171c3a, 0 0 0 4px rgba(255, 255, 255, 0.7)}/*!@.duet-button.destructive*/.duet-button.destructive.sc-duet-button{color:#de2362 !important;background:white;border-color:#de2362}/*!@.duet-theme-turva .duet-button.destructive*/.duet-theme-turva.sc-duet-button .duet-button.destructive.sc-duet-button{color:#e02a0d !important;background:white;border-color:#e02a0d}/*!@.duet-button.destructive:hover*/.duet-button.destructive.sc-duet-button:hover{color:white !important;background:#b21c4e;border-color:#b21c4e}/*!@.duet-theme-turva .duet-button.destructive:hover*/.duet-theme-turva.sc-duet-button .duet-button.destructive.sc-duet-button:hover{color:white !important;background:#b3220a;border-color:#b3220a}/*!@.duet-button.plain*/.duet-button.plain.sc-duet-button{min-width:48px;padding-right:0 !important;padding-left:0 !important;line-height:1.5;text-align:left;background:transparent;border:0;border-color:transparent;border-radius:4px}/*!@.duet-theme-turva .duet-button.plain*/.duet-theme-turva.sc-duet-button .duet-button.plain.sc-duet-button{color:#c60c30 !important;background:transparent;border-color:transparent}/*!@.duet-button.plain.icon*/.duet-button.plain.icon.sc-duet-button{padding-left:20px !important}/*!@.duet-button.plain.icon.icon-right*/.duet-button.plain.icon.icon-right.sc-duet-button{padding-right:20px !important;padding-left:0 !important}/*!@.duet-button.plain.icon.medium*/.duet-button.plain.icon.medium.sc-duet-button{padding-left:24px !important}/*!@.duet-button.plain.icon.medium.icon-right*/.duet-button.plain.icon.medium.icon-right.sc-duet-button{padding-right:24px !important;padding-left:0 !important}/*!@.duet-button.plain.icon.large*/.duet-button.plain.icon.large.sc-duet-button{padding-left:30px !important}/*!@.duet-button.plain.icon.large.icon-right*/.duet-button.plain.icon.large.icon-right.sc-duet-button{padding-right:30px !important;padding-left:0 !important}/*!@.duet-button.plain .duet-button-icon.left*/.duet-button.plain.sc-duet-button .duet-button-icon.left.sc-duet-button{left:-16.6666666667px !important}/*!@.duet-button.plain .duet-button-icon.left.medium*/.duet-button.plain.sc-duet-button .duet-button-icon.left.medium.sc-duet-button{left:-24px !important}/*!@.duet-button.plain .duet-button-icon.left.large*/.duet-button.plain.sc-duet-button .duet-button-icon.left.large.sc-duet-button{left:-30px !important}/*!@.duet-button.plain .duet-button-icon.right*/.duet-button.plain.sc-duet-button .duet-button-icon.right.sc-duet-button{right:-16.6666666667px !important}/*!@.duet-button.plain .duet-button-icon.right.medium*/.duet-button.plain.sc-duet-button .duet-button-icon.right.medium.sc-duet-button{right:-24px !important}/*!@.duet-button.plain .duet-button-icon.right.large*/.duet-button.plain.sc-duet-button .duet-button-icon.right.large.sc-duet-button{right:-30px !important}/*!@.duet-button.plain[disabled]*/.duet-button.plain[disabled].sc-duet-button{color:#657787 !important;background:transparent !important;border-color:transparent !important}/*!@.duet-theme-turva .duet-button.plain[disabled]*/.duet-theme-turva.sc-duet-button .duet-button.plain[disabled].sc-duet-button{color:transparent !important;background:transparent !important;border-color:#e4e4e6 !important}/*!@.duet-button.plain:hover*/.duet-button.plain.sc-duet-button:hover{color:#004d80 !important;background:transparent !important}/*!@.duet-theme-turva .duet-button.plain:hover*/.duet-theme-turva.sc-duet-button .duet-button.plain.sc-duet-button:hover{color:#940925 !important}/*!@.duet-button.plain.duet-button-negative*/.duet-button.plain.duet-button-negative.sc-duet-button{color:white !important}/*!@.duet-theme-turva .duet-button.plain.duet-button-negative*/.duet-theme-turva.sc-duet-button .duet-button.plain.duet-button-negative.sc-duet-button{color:#e4e4e6 !important}/*!@.duet-button.plain.duet-button-negative:hover*/.duet-button.plain.duet-button-negative.sc-duet-button:hover{color:#0077b3 !important}/*!@.duet-theme-turva .duet-button.plain.duet-button-negative:hover*/.duet-theme-turva.sc-duet-button .duet-button.plain.duet-button-negative.sc-duet-button:hover{color:#c60c30 !important}/*!@.duet-button.duet-button-icon-only*/.duet-button.duet-button-icon-only.sc-duet-button{min-width:48px;min-height:48px;padding:0 !important}/*!@.duet-button.duet-button-icon-only .duet-button-contents*/.duet-button.duet-button-icon-only.sc-duet-button .duet-button-contents.sc-duet-button{position:static}/*!@.duet-button.duet-button-icon-only .duet-button-icon.left.large,\n.duet-button.duet-button-icon-only .duet-button-icon.left.medium,\n.duet-button.duet-button-icon-only .duet-button-icon.left.small*/.duet-button.duet-button-icon-only.sc-duet-button .duet-button-icon.left.large.sc-duet-button,.duet-button.duet-button-icon-only.sc-duet-button .duet-button-icon.left.medium.sc-duet-button,.duet-button.duet-button-icon-only.sc-duet-button .duet-button-icon.left.small.sc-duet-button{position:absolute;top:50% !important;left:50% !important;padding:0;margin:0;transform:translateX(-50%) translateY(-50%)}/*!@.duet-button[disabled], .duet-button[disabled]:hover, .duet-button.duet-button-negative[disabled], .duet-button.duet-button-negative[disabled]:hover*/.duet-button[disabled].sc-duet-button,.duet-button[disabled].sc-duet-button:hover,.duet-button.duet-button-negative[disabled].sc-duet-button,.duet-button.duet-button-negative[disabled].sc-duet-button:hover{color:#657787 !important;background:#e1e3e6 !important;border-color:#e1e3e6 !important;box-shadow:none !important}/*!@.duet-theme-turva .duet-button[disabled], .duet-theme-turva .duet-button[disabled]:hover, .duet-theme-turva .duet-button.duet-button-negative [disabled], .duet-theme-turva .duet-button.duet-button-negative [disabled]:hover*/.duet-theme-turva.sc-duet-button .duet-button[disabled].sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button[disabled].sc-duet-button:hover,.duet-theme-turva.sc-duet-button .duet-button.duet-button-negative.sc-duet-button [disabled].sc-duet-button,.duet-theme-turva.sc-duet-button .duet-button.duet-button-negative.sc-duet-button [disabled].sc-duet-button:hover{color:#747475 !important;background:#e4e4e6 !important;border-color:#e4e4e6 !important}/*!@.duet-button-is-loading.primary*/.duet-button-is-loading.primary.sc-duet-button{color:white}/*!@.duet-button-is-loading.default*/.duet-button-is-loading.default.sc-duet-button{color:#0077b3}/*!@.duet-button-is-loading.default.duet-theme-turva*/.duet-button-is-loading.default.duet-theme-turva.sc-duet-button{color:#c60c30}/*!@.duet-button-is-loading .duet-button-contents*/.duet-button-is-loading.sc-duet-button .duet-button-contents.sc-duet-button{visibility:hidden;opacity:0}";
@@ -7848,6 +7887,9 @@ var tokens$1 = /*#__PURE__*/Object.freeze({
7848
7887
 
7849
7888
  const duetCollapsibleCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-collapsible,*.sc-duet-collapsible::after,*.sc-duet-collapsible::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-collapsible-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:16px !important;display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:#00294d}/*!@:host(.duet-theme-turva)*/.duet-theme-turva.sc-duet-collapsible-h{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}/*!@:host(.duet-m-0)*/.duet-m-0.sc-duet-collapsible-h{margin:0 !important}/*!@.duet-collapsible-content*/.duet-collapsible-content.sc-duet-collapsible{display:none;padding-left:18px;margin-top:8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;color:#00294d}@media (max-width: 35.9375em){/*!@.duet-collapsible-content*/.duet-collapsible-content.sc-duet-collapsible{font-size:0.875rem}}/*!@.duet-collapsible-content.duet-theme-turva*/.duet-collapsible-content.duet-theme-turva.sc-duet-collapsible{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}/*!@:host([open]) .duet-collapsible-content*/[open].sc-duet-collapsible-h .duet-collapsible-content.sc-duet-collapsible{display:block}/*!@.duet-collapsible-heading*/.duet-collapsible-heading.sc-duet-collapsible{-webkit-user-select:none;user-select:none;display:flex;align-items:center;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:#00294d;cursor:pointer;border-radius:4px}/*!@.duet-collapsible-heading.duet-collapsible-normal-weight*/.duet-collapsible-heading.duet-collapsible-normal-weight.sc-duet-collapsible{font-weight:400}/*!@.duet-collapsible-heading.duet-theme-turva*/.duet-collapsible-heading.duet-theme-turva.sc-duet-collapsible{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}/*!@.duet-collapsible-heading .duet-collapsible-heading-content*/.duet-collapsible-heading.sc-duet-collapsible .duet-collapsible-heading-content.sc-duet-collapsible{flex:1}/*!@.duet-collapsible-heading:focus*/.duet-collapsible-heading.sc-duet-collapsible:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-collapsible-heading:focus*/.user-is-tabbing.sc-duet-collapsible-h .duet-collapsible-heading.sc-duet-collapsible: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) .duet-collapsible-heading:focus*/.user-is-tabbing.duet-theme-turva.sc-duet-collapsible-h .duet-collapsible-heading.sc-duet-collapsible:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-collapsible-heading-icon*/.duet-collapsible-heading-icon.sc-duet-collapsible{margin-right:8px !important;display:flex;align-items:center;justify-content:center;color:#00294d;transition:transform 300ms ease}/*!@.duet-collapsible-heading-icon:last-child, .duet-collapsible-heading-icon:last-of-type*/.duet-collapsible-heading-icon.sc-duet-collapsible:last-child,.duet-collapsible-heading-icon.sc-duet-collapsible:last-of-type{margin-right:0 !important}/*!@[aria-expanded=true] .duet-collapsible-heading-icon*/[aria-expanded=true].sc-duet-collapsible .duet-collapsible-heading-icon.sc-duet-collapsible{transform:rotate(180deg)}";
7850
7889
 
7890
+ /**
7891
+ * @part duet-collapsible-heading-content - piercing selector for styling the heading content
7892
+ */
7851
7893
  class DuetCollapsible {
7852
7894
  constructor(hostRef) {
7853
7895
  registerInstance(this, hostRef);
@@ -7966,7 +8008,7 @@ class DuetCollapsible {
7966
8008
  "duet-collapsible-heading": true,
7967
8009
  "duet-theme-turva": this.theme === "turva",
7968
8010
  "duet-collapsible-normal-weight": this.headingWeight === "normal",
7969
- }, style: { "font-size": this.getFontSizeFromTokens() }, role: "button", tabindex: "0", ref: button => (this.nativeButton = button), "aria-expanded": this.open ? "true" : "false", "aria-controls": this.id, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, hAsync("div", { class: "duet-collapsible-heading-icon" }, hAsync("duet-icon", { margin: "none", color: this.theme === "turva" ? "secondary-turva" : "secondary", size: this.getEquivalentIconSize(), icon: actionArrowDownSmall.svg })), hAsync("div", { class: "duet-collapsible-heading-content" }, this.heading)), hAsync("div", { id: this.id, class: { "duet-collapsible-content": true, "duet-theme-turva": this.theme === "turva" } }, hAsync("slot", null))));
8011
+ }, style: { "font-size": this.getFontSizeFromTokens() }, role: "button", tabindex: "0", ref: button => (this.nativeButton = button), "aria-expanded": this.open ? "true" : "false", "aria-controls": this.id, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, hAsync("div", { class: "duet-collapsible-heading-icon" }, hAsync("duet-icon", { margin: "none", color: this.theme === "turva" ? "secondary-turva" : "secondary", size: this.getEquivalentIconSize(), icon: actionArrowDownSmall.svg })), hAsync("div", { class: "duet-collapsible-heading-content", part: "duet-collapsible-heading-content" }, this.heading)), hAsync("div", { id: this.id, class: { "duet-collapsible-content": true, "duet-theme-turva": this.theme === "turva" } }, hAsync("slot", null))));
7970
8012
  }
7971
8013
  get element() { return getElement(this); }
7972
8014
  static get style() { return duetCollapsibleCss; }
@@ -8932,11 +8974,43 @@ const debounce = (func, timeout = 50) => {
8932
8974
  };
8933
8975
  };
8934
8976
 
8977
+ /**
8978
+ * Produces a function which uses template strings to do simple interpolation from objects.
8979
+ *
8980
+ * Usage:
8981
+ * var makeMeKing = generateTemplateFn('${name} is now the king of ${country}!');
8982
+ *
8983
+ * console.log(makeMeKing({ name: 'Bryan', country: 'Scotland'}));
8984
+ * // Logs 'Bryan is now the king of Scotland!'
8985
+ */
8986
+ const generateTemplateFn = (function () {
8987
+ const cache = {};
8988
+ function generateTemplate(template) {
8989
+ if (typeof template !== "string") {
8990
+ template = template.outerHTML;
8991
+ }
8992
+ let fn = cache[template];
8993
+ if (!fn) {
8994
+ // Replace ${expressions} (etc) with ${map.expressions}.
8995
+ const sanitized = template
8996
+ .replace(/\$\{([\s]*[^;\s\{]+[\s]*)\}/g, function (_, match) {
8997
+ return `\$\{map.${match.trim()}\}`;
8998
+ })
8999
+ // Afterwards, replace anything that's not ${map.expressions}' (etc) with a blank string.
9000
+ .replace(/(\$\{(?!map\.)[^}]+\})/g, "");
9001
+ fn = Function("map", `return \`${sanitized}\``);
9002
+ }
9003
+ return fn;
9004
+ }
9005
+ return generateTemplate;
9006
+ })();
9007
+
8935
9008
  const duetEditableTableCss = "/*!@duet-editable-table*/duet-editable-table.sc-duet-editable-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@.duet-editable-table-header tr .duet-editable-table-header-hidden*/.duet-editable-table-header.sc-duet-editable-table tr.sc-duet-editable-table .duet-editable-table-header-hidden.sc-duet-editable-table{padding:0 !important;font-size:0;border-bottom:0}";
8936
9009
 
8937
9010
  class DuetEditableTable {
8938
9011
  constructor(hostRef) {
8939
9012
  registerInstance(this, hostRef);
9013
+ this.template = undefined;
8940
9014
  /**
8941
9015
  * State() variables
8942
9016
  * @internal
@@ -8946,6 +9020,10 @@ class DuetEditableTable {
8946
9020
  * Map of items that contain list of things.
8947
9021
  */
8948
9022
  this.items = new Map();
9023
+ /**
9024
+ * Key used to set vertical alignment of action buttons
9025
+ */
9026
+ this.alignment = "middle";
8949
9027
  /**
8950
9028
  * Array of internationalized defaults for the default groups labels.
8951
9029
  */
@@ -8994,12 +9072,40 @@ class DuetEditableTable {
8994
9072
  * Exposes the aria role for optimizing accessibility.
8995
9073
  */
8996
9074
  this.accessibleRole = undefined;
9075
+ /**
9076
+ * Theme of the table.
9077
+ */
9078
+ this.theme = "";
8997
9079
  /**
8998
9080
  * Private methods.
8999
9081
  */
9000
9082
  this.kick = debounce(() => {
9001
9083
  this.tick = Date.now();
9002
9084
  }, 100); // will trigger re-render
9085
+ /**
9086
+ * If a user defines a template section within editable table, try to read an use it.
9087
+ */
9088
+ this.getTemplate = () => {
9089
+ const templateDom = this.element.getElementsByTagName("template");
9090
+ if (templateDom === null || templateDom === void 0 ? void 0 : templateDom.length) {
9091
+ const templateString = templateDom[0].content.firstElementChild.outerHTML;
9092
+ return generateTemplateFn(templateString);
9093
+ }
9094
+ else {
9095
+ return false;
9096
+ }
9097
+ };
9098
+ this.getItemData = (data) => {
9099
+ const { item, group, uid } = data;
9100
+ if (this.template) {
9101
+ return {
9102
+ group,
9103
+ uid,
9104
+ item: this.template(item),
9105
+ };
9106
+ }
9107
+ return { item, group, uid };
9108
+ };
9003
9109
  this.filterMap = needle => {
9004
9110
  if (needle === "all") {
9005
9111
  return Array.from(this.items);
@@ -9011,6 +9117,9 @@ class DuetEditableTable {
9011
9117
  * Component lifecycle events.
9012
9118
  */
9013
9119
  componentWillLoad() {
9120
+ // look for a <template> region in the duet-editable-table
9121
+ this.template = this.getTemplate();
9122
+ // take care of the case where groups and actions are defined as html properties instead of javascript objects
9014
9123
  if (typeof this.groups === "string") {
9015
9124
  this.internalGroupArray = sanitizeString(this.groups);
9016
9125
  }
@@ -9049,7 +9158,7 @@ class DuetEditableTable {
9049
9158
  ? getLocaleString(group.actionLabel)
9050
9159
  : getLocaleString(this.actionLabelDefaults))))), hAsync("tbody", null, currentGroup.map(dataAsArray => {
9051
9160
  const [key, value] = dataAsArray;
9052
- return (hAsync("duet-editable-table-item", { keyName: key, data: Object.assign({}, value), groupId: group.id, part: group.id, actions: this.internalActionsArray }));
9161
+ return (hAsync("duet-editable-table-item", { theme: this.theme, keyName: key, data: this.getItemData(value), groupId: group.id, part: group.id, alignment: this.alignment, actions: this.internalActionsArray }));
9053
9162
  })))));
9054
9163
  })));
9055
9164
  }
@@ -9060,6 +9169,7 @@ class DuetEditableTable {
9060
9169
  "$tagName$": "duet-editable-table",
9061
9170
  "$members$": {
9062
9171
  "items": [1040],
9172
+ "alignment": [1],
9063
9173
  "groupsLabelDefaults": [16],
9064
9174
  "actionLabelDefaults": [16],
9065
9175
  "groups": [1],
@@ -9086,7 +9196,7 @@ class DuetEditableTableButton {
9086
9196
  /**
9087
9197
  * Theme of the empty state component.
9088
9198
  */
9089
- this.theme = "";
9199
+ this.theme = undefined;
9090
9200
  /**
9091
9201
  * action items passed from host component
9092
9202
  * @internal
@@ -9113,6 +9223,15 @@ class DuetEditableTableButton {
9113
9223
  this.onMouseLeave = () => {
9114
9224
  this.isHovering = false;
9115
9225
  };
9226
+ this.getColours = (byName = false) => {
9227
+ let colorHover = this.actions.color_hover;
9228
+ let colorBlur = this.actions.color;
9229
+ if (byName) {
9230
+ colorHover = getColorByName(this.actions.color_hover, this.theme);
9231
+ colorBlur = getColorByName(this.actions.color, this.theme);
9232
+ }
9233
+ return this.isHovering ? colorHover : colorBlur;
9234
+ };
9116
9235
  }
9117
9236
  /**
9118
9237
  /**
@@ -9141,10 +9260,8 @@ class DuetEditableTableButton {
9141
9260
  */
9142
9261
  render() {
9143
9262
  return (hAsync("button", { style: {
9144
- "border-color": this.isHovering
9145
- ? getColorByName(this.actions.color_hover)
9146
- : getColorByName(this.actions.color),
9147
- }, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, role: "menuitem", class: "duet-editable-table-actions-items-button", "aria-label": this.actions.label ? getLocaleString(this.actions.label) : undefined, onClick: ev => this.emitActionEvent(ev) }, hAsync("duet-icon", { class: "duet-editable-table-actions-items-icon", size: "x-small", name: this.actions.icon, color: this.isHovering ? this.actions.color_hover : this.actions.color, margin: "none" })));
9263
+ "border-color": this.getColours(true),
9264
+ }, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, role: "menuitem", class: "duet-editable-table-actions-items-button", "aria-label": this.actions.label ? getLocaleString(this.actions.label) : undefined, onClick: ev => this.emitActionEvent(ev) }, hAsync("duet-icon", { class: "duet-editable-table-actions-items-icon", size: "x-small", name: this.actions.icon, color: this.getColours(), margin: "none" })));
9148
9265
  }
9149
9266
  get el() { return getElement(this); }
9150
9267
  static get style() { return duetEditableTableButtonCss; }
@@ -9166,12 +9283,12 @@ class DuetEditableTableButton {
9166
9283
  }
9167
9284
 
9168
9285
  //simple functional component that renders the data in the table
9169
- const TableData = ({ data, groupId }, _children) => {
9286
+ const TableData = ({ data, groupId, alignment }, _children) => {
9170
9287
  if (typeof data === "string") {
9171
- return hAsync("td", { innerHTML: data, class: "duet-editable-table-content", part: `${groupId}content` });
9288
+ return (hAsync("td", { innerHTML: data, class: "duet-editable-table-content", part: `${groupId}content`, style: { verticalAlign: alignment } }));
9172
9289
  }
9173
9290
  else {
9174
- return (hAsync("td", { class: "duet-editable-table-content", part: `${groupId}content` }, data));
9291
+ return (hAsync("td", { class: "duet-editable-table-content", part: `${groupId}content`, style: { verticalAlign: alignment } }, data));
9175
9292
  }
9176
9293
  };
9177
9294
 
@@ -9195,6 +9312,10 @@ class DuetEditableTableItem {
9195
9312
  * @internal
9196
9313
  */
9197
9314
  this.groupId = "";
9315
+ /**
9316
+ * Key used to set vertical alignment of action buttons
9317
+ */
9318
+ this.alignment = "middle";
9198
9319
  /**
9199
9320
  * Key used to identify item, when running actions
9200
9321
  */
@@ -9223,7 +9344,7 @@ class DuetEditableTableItem {
9223
9344
  * Always the last one in the class.
9224
9345
  */
9225
9346
  render() {
9226
- return (hAsync(Host, { role: "row" }, hAsync(TableData, { data: this.data.item, groupId: this.groupId }), hAsync("td", { class: "duet-editable-table-actions" }, hAsync("div", { class: "duet-editable-table-actions-items", part: `${this.groupId}actions` }, this.actions.map(result => {
9347
+ return (hAsync(Host, { role: "row" }, hAsync(TableData, { data: this.data.item, alignment: this.alignment, groupId: this.groupId }), hAsync("td", { class: "duet-editable-table-actions", style: { verticalAlign: this.alignment } }, hAsync("div", { class: "duet-editable-table-actions-items", part: `${this.groupId}actions` }, this.actions.map(result => {
9227
9348
  const { map = undefined } = result;
9228
9349
  // if map has been specified, only show the current action if groupID matches the map array
9229
9350
  if (map && !map.includes(this.groupId)) {
@@ -9244,6 +9365,7 @@ class DuetEditableTableItem {
9244
9365
  "theme": [1025],
9245
9366
  "actions": [16],
9246
9367
  "groupId": [1, "group-id"],
9368
+ "alignment": [1],
9247
9369
  "keyName": [1, "key-name"],
9248
9370
  "data": [1040],
9249
9371
  "isHovering": [32]
@@ -9380,7 +9502,7 @@ var actionNewWindow={"title":"action-new-window","tags":"arrow open new window t
9380
9502
 
9381
9503
  var actionNewWindowSmall={"title":"action-new-window-small","tags":"arrow open new window tab external linksquare box rectangle action small","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M10.5 2a1.5 1.5 0 0 1 .14 3H3.75c-.38 0-.7.28-.74.65l-.01.1v14.5c0 .38.28.7.65.74l.1.01h14.5c.38 0 .7-.28.74-.65l.01-.1v-6.89a1.5 1.5 0 0 1 3 0v6.89A3.75 3.75 0 0 1 18.25 24H3.75A3.75 3.75 0 0 1 0 20.25V5.75A3.75 3.75 0 0 1 3.75 2zm12-2c.78 0 1.42.6 1.5 1.36V7.5a1.5 1.5 0 0 1-3 .14V5.12l-5.44 5.44a1.5 1.5 0 0 1-2.22-2l.1-.12L18.88 3H16.5A1.5 1.5 0 0 1 15 1.64V1.5c0-.78.6-1.42 1.36-1.5h.14z\"/></svg>"};
9382
9504
 
9383
- const duetFooterCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-footer,*.sc-duet-footer::after,*.sc-duet-footer::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-footer-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;flex-shrink:0;width:100%}/*!@.duet-footer*/.duet-footer.sc-duet-footer{display:block;width:100%;padding-top:20px;padding-bottom:16px;margin-top:48px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:white;text-align:left;background:#00294d}/*!@.duet-footer.duet-p-0*/.duet-footer.duet-p-0.sc-duet-footer{padding:0 !important}/*!@.duet-footer.duet-m-0*/.duet-footer.duet-m-0.sc-duet-footer{margin:0 !important}@media (min-width: 36em){/*!@.duet-footer*/.duet-footer.sc-duet-footer{padding-top:36px}}@media (min-width: 62em){/*!@.duet-footer*/.duet-footer.sc-duet-footer{padding-top:48px;padding-bottom:36px}}/*!@.duet-footer.duet-theme-turva*/.duet-footer.duet-theme-turva.sc-duet-footer{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:#c60c30}/*!@.duet-footer a*/.duet-footer.sc-duet-footer a.sc-duet-footer{color:white;text-decoration:none}@media (min-width: 62em){/*!@.duet-footer a*/.duet-footer.sc-duet-footer a.sc-duet-footer{border-radius:4px}}/*!@.duet-footer a:focus*/.duet-footer.sc-duet-footer a.sc-duet-footer:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-footer a:focus*/.user-is-tabbing.sc-duet-footer-h .duet-footer.sc-duet-footer a.sc-duet-footer: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 a:focus*/.user-is-tabbing.sc-duet-footer-h .duet-theme-turva.sc-duet-footer a.sc-duet-footer:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-footer-wrapper*/.duet-footer-wrapper.sc-duet-footer{position:relative;margin:0 auto}@media (min-width: 62em){/*!@.duet-footer-wrapper*/.duet-footer-wrapper.sc-duet-footer{padding:0 72px 0 48px}}@media (min-width: 76.25em){/*!@.duet-footer-wrapper*/.duet-footer-wrapper.sc-duet-footer{max-width:1110px;padding:0 20px 0 0}}/*!@.duet-footer-top*/.duet-footer-top.sc-duet-footer{width:100%}@media (min-width: 62em){/*!@.duet-footer-top*/.duet-footer-top.sc-duet-footer{display:flex;flex-direction:row;align-items:center;justify-content:space-between}}/*!@duet-logo*/duet-logo.sc-duet-footer{margin-left:16px !important}@media (min-width: 36em){/*!@duet-logo*/duet-logo.sc-duet-footer{margin-left:28px !important}}@media (min-width: 62em){/*!@duet-logo*/duet-logo.sc-duet-footer{margin-left:0 !important}}/*!@.duet-footer-link*/.duet-footer-link.sc-duet-footer{padding:16px !important;display:flex;flex-direction:row;align-items:center;width:100%;font-weight:600;border-bottom:1px solid rgba(255, 255, 255, 0.2);transition:background-color 300ms ease}@media (min-width: 36em){/*!@.duet-footer-link*/.duet-footer-link.sc-duet-footer{padding-right:20px !important;padding-left:28px !important}}@media (min-width: 62em){/*!@.duet-footer-link*/.duet-footer-link.sc-duet-footer{width:auto;min-width:0;padding-right:0 !important;padding-left:0 !important;border:0}}/*!@.duet-footer-link:first-of-type*/.duet-footer-link.sc-duet-footer:first-of-type{margin-top:20px;border-top:1px solid rgba(255, 255, 255, 0.2)}@media (min-width: 62em){/*!@.duet-footer-link:first-of-type*/.duet-footer-link.sc-duet-footer:first-of-type{margin:0;border:0}}/*!@.duet-footer-link span*/.duet-footer-link.sc-duet-footer span.sc-duet-footer{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}/*!@.duet-footer-link:hover*/.duet-footer-link.sc-duet-footer:hover{background:rgba(0, 0, 0, 0.1)}@media (min-width: 62em){/*!@.duet-footer-link:hover*/.duet-footer-link.sc-duet-footer:hover{background:transparent}}/*!@.duet-footer-icon*/.duet-footer-icon.sc-duet-footer{display:flex;align-items:center;justify-content:center;padding:12px;margin-right:16px;background:#0077b3;border-radius:50%;transition:300ms ease}/*!@.duet-theme-turva .duet-footer-icon*/.duet-theme-turva.sc-duet-footer .duet-footer-icon.sc-duet-footer{background:transparent;box-shadow:0 0 0 1px white}/*!@a:hover .duet-footer-icon*/a.sc-duet-footer:hover .duet-footer-icon.sc-duet-footer{background:#006ba1}/*!@.duet-theme-turva a:hover .duet-footer-icon*/.duet-theme-turva.sc-duet-footer a.sc-duet-footer:hover .duet-footer-icon.sc-duet-footer{background:transparent}/*!@.duet-footer-arrow*/.duet-footer-arrow.sc-duet-footer{display:flex;align-items:center;justify-content:center;width:20px;min-width:20px;max-width:20px;height:20px;max-height:20px;margin-left:auto;color:white;transition:transform 300ms ease}@media (min-width: 62em){/*!@.duet-footer-arrow*/.duet-footer-arrow.sc-duet-footer{width:10px;min-width:10px;margin-top:3px;margin-left:8px}}@media (min-width: 62em){/*!@.duet-footer-arrow*/.duet-footer-arrow.sc-duet-footer{margin-right:0}}/*!@a:hover .duet-footer-arrow*/a.sc-duet-footer:hover .duet-footer-arrow.sc-duet-footer{transform:translateX(4px)}/*!@.duet-footer-arrow duet-icon*/.duet-footer-arrow.sc-duet-footer duet-icon.sc-duet-footer{width:20px;height:20px}@media (min-width: 62em){/*!@.duet-footer-arrow duet-icon*/.duet-footer-arrow.sc-duet-footer duet-icon.sc-duet-footer{width:10px;height:10px}}/*!@.duet-footer-menu*/.duet-footer-menu.sc-duet-footer{padding:20px !important;font-size:0.875rem}@media (min-width: 36em){/*!@.duet-footer-menu*/.duet-footer-menu.sc-duet-footer{padding:28px !important}}@media (min-width: 62em){/*!@.duet-footer-menu*/.duet-footer-menu.sc-duet-footer{padding-left:8px !important}}/*!@.duet-footer-menu a*/.duet-footer-menu.sc-duet-footer a.sc-duet-footer{text-decoration:none}/*!@.duet-footer-menu a:hover, .duet-footer-menu a:focus*/.duet-footer-menu.sc-duet-footer a.sc-duet-footer:hover,.duet-footer-menu.sc-duet-footer a.sc-duet-footer:focus{text-decoration:underline}/*!@.duet-footer-menu a:hover .duet-footer-divider, .duet-footer-menu a:focus .duet-footer-divider*/.duet-footer-menu.sc-duet-footer a.sc-duet-footer:hover .duet-footer-divider.sc-duet-footer,.duet-footer-menu.sc-duet-footer a.sc-duet-footer:focus .duet-footer-divider.sc-duet-footer{text-decoration:none}/*!@.duet-footer-menu .duet-footer-divider*/.duet-footer-menu.sc-duet-footer .duet-footer-divider.sc-duet-footer{display:inline-block;margin:0 8px}/*!@.duet-footer-menu a:last-of-type .duet-footer-divider*/.duet-footer-menu.sc-duet-footer a.sc-duet-footer:last-of-type .duet-footer-divider.sc-duet-footer{display:none}/*!@.duet-footer-copyright*/.duet-footer-copyright.sc-duet-footer{color:white}/*!@.duet-footer-simple*/.duet-footer-simple.sc-duet-footer{padding:0;margin:0;margin-top:16px;color:#00294d;background:transparent !important;border-top:1px solid #e1e3e6}/*!@.duet-footer-simple .duet-footer-wrapper*/.duet-footer-simple.sc-duet-footer .duet-footer-wrapper.sc-duet-footer{max-width:100%;padding:0 20px;margin:0}@media (min-width: 62em){/*!@.duet-footer-simple .duet-footer-wrapper*/.duet-footer-simple.sc-duet-footer .duet-footer-wrapper.sc-duet-footer{padding:0 36px}}@media (min-width: 106.25em){/*!@.duet-footer-simple .duet-footer-wrapper*/.duet-footer-simple.sc-duet-footer .duet-footer-wrapper.sc-duet-footer{padding:0 48px}}/*!@.duet-footer-simple .duet-footer-copyright,\n.duet-footer-simple .duet-footer-menu a*/.duet-footer-simple.sc-duet-footer .duet-footer-copyright.sc-duet-footer,.duet-footer-simple.sc-duet-footer .duet-footer-menu.sc-duet-footer a.sc-duet-footer{color:#00294d}/*!@.duet-footer-simple .duet-footer-menu*/.duet-footer-simple.sc-duet-footer .duet-footer-menu.sc-duet-footer{padding:20px 0 !important}/*!@.duet-footer-simple.duet-theme-turva*/.duet-footer-simple.duet-theme-turva.sc-duet-footer{color:#171c3a;border-color:#e4e4e6}/*!@.duet-footer-simple.duet-theme-turva .duet-footer-copyright,\n.duet-footer-simple.duet-theme-turva .duet-footer-menu a*/.duet-footer-simple.duet-theme-turva.sc-duet-footer .duet-footer-copyright.sc-duet-footer,.duet-footer-simple.duet-theme-turva.sc-duet-footer .duet-footer-menu.sc-duet-footer a.sc-duet-footer{color:#171c3a}/*!@.duet-footer-external*/.duet-footer-external.sc-duet-footer{display:inline-block;margin-left:4px;color:#0077b3}/*!@.duet-theme-turva .duet-footer-external*/.duet-theme-turva.sc-duet-footer .duet-footer-external.sc-duet-footer{color:white}/*!@.duet-footer-simple.duet-theme-turva .duet-footer-external*/.duet-footer-simple.duet-theme-turva.sc-duet-footer .duet-footer-external.sc-duet-footer{color:#c60c30}";
9505
+ const duetFooterCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-footer,*.sc-duet-footer::after,*.sc-duet-footer::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-footer-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;flex-shrink:0;width:100%}/*!@.duet-footer*/.duet-footer.sc-duet-footer{display:block;width:100%;padding-top:20px;padding-bottom:16px;margin-top:48px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:white;text-align:left;background:#00294d}/*!@.duet-footer.duet-p-0*/.duet-footer.duet-p-0.sc-duet-footer{padding:0 !important}/*!@.duet-footer.duet-m-0*/.duet-footer.duet-m-0.sc-duet-footer{margin:0 !important}@media (min-width: 36em){/*!@.duet-footer*/.duet-footer.sc-duet-footer{padding-top:36px}}@media (min-width: 62em){/*!@.duet-footer*/.duet-footer.sc-duet-footer{padding-top:48px;padding-bottom:36px}}/*!@.duet-footer.duet-theme-turva*/.duet-footer.duet-theme-turva.sc-duet-footer{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:#c60c30}/*!@.duet-footer a*/.duet-footer.sc-duet-footer a.sc-duet-footer{color:white;text-decoration:none}@media (min-width: 62em){/*!@.duet-footer a*/.duet-footer.sc-duet-footer a.sc-duet-footer{border-radius:4px}}/*!@.duet-footer a:focus*/.duet-footer.sc-duet-footer a.sc-duet-footer:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-footer a:focus*/.user-is-tabbing.sc-duet-footer-h .duet-footer.sc-duet-footer a.sc-duet-footer: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 a:focus*/.user-is-tabbing.sc-duet-footer-h .duet-theme-turva.sc-duet-footer a.sc-duet-footer:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-footer-wrapper*/.duet-footer-wrapper.sc-duet-footer{position:relative;margin:0 auto}@media (min-width: 62em){/*!@.duet-footer-wrapper*/.duet-footer-wrapper.sc-duet-footer{padding:0 72px 0 48px}}@media (min-width: 76.25em){/*!@.duet-footer-wrapper*/.duet-footer-wrapper.sc-duet-footer{max-width:1110px;padding:0 20px 0 0}}/*!@.duet-footer-top*/.duet-footer-top.sc-duet-footer{width:100%}@media (min-width: 62em){/*!@.duet-footer-top*/.duet-footer-top.sc-duet-footer{display:flex;flex-direction:row;align-items:center;justify-content:space-between}}/*!@duet-logo*/duet-logo.sc-duet-footer{margin-left:16px !important}@media (min-width: 36em){/*!@duet-logo*/duet-logo.sc-duet-footer{margin-left:28px !important}}@media (min-width: 62em){/*!@duet-logo*/duet-logo.sc-duet-footer{margin-left:0 !important}}/*!@.duet-footer-link*/.duet-footer-link.sc-duet-footer{padding:16px !important;display:flex;flex-direction:row;align-items:center;width:100%;font-weight:600;border-bottom:1px solid rgba(255, 255, 255, 0.2);transition:background-color 300ms ease}@media (min-width: 36em){/*!@.duet-footer-link*/.duet-footer-link.sc-duet-footer{padding-right:20px !important;padding-left:28px !important}}@media (min-width: 62em){/*!@.duet-footer-link*/.duet-footer-link.sc-duet-footer{width:auto;min-width:0;padding-right:0 !important;padding-left:0 !important;border:0}}/*!@.duet-footer-link:first-of-type*/.duet-footer-link.sc-duet-footer:first-of-type{margin-top:20px;border-top:1px solid rgba(255, 255, 255, 0.2)}@media (min-width: 62em){/*!@.duet-footer-link:first-of-type*/.duet-footer-link.sc-duet-footer:first-of-type{margin:0;border:0}}/*!@.duet-footer-link span*/.duet-footer-link.sc-duet-footer span.sc-duet-footer{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}/*!@.duet-footer-link:hover*/.duet-footer-link.sc-duet-footer:hover{background:rgba(0, 0, 0, 0.1)}@media (min-width: 62em){/*!@.duet-footer-link:hover*/.duet-footer-link.sc-duet-footer:hover{background:transparent}}/*!@.duet-footer-icon*/.duet-footer-icon.sc-duet-footer{display:flex;align-items:center;justify-content:center;padding:12px;margin-right:16px;background:#0077b3;border-radius:50%;transition:300ms ease}/*!@.duet-theme-turva .duet-footer-icon*/.duet-theme-turva.sc-duet-footer .duet-footer-icon.sc-duet-footer{background:transparent;box-shadow:0 0 0 1px white}/*!@a:hover .duet-footer-icon*/a.sc-duet-footer:hover .duet-footer-icon.sc-duet-footer{background:#006ba1}/*!@.duet-theme-turva a:hover .duet-footer-icon*/.duet-theme-turva.sc-duet-footer a.sc-duet-footer:hover .duet-footer-icon.sc-duet-footer{background:transparent}/*!@.duet-footer-arrow*/.duet-footer-arrow.sc-duet-footer{display:flex;align-items:center;justify-content:center;width:20px;min-width:20px;max-width:20px;height:20px;max-height:20px;margin-left:auto;color:white;transition:transform 300ms ease}@media (min-width: 62em){/*!@.duet-footer-arrow*/.duet-footer-arrow.sc-duet-footer{width:10px;min-width:10px;margin-top:3px;margin-left:8px}}@media (min-width: 62em){/*!@.duet-footer-arrow*/.duet-footer-arrow.sc-duet-footer{margin-right:0}}/*!@a:hover .duet-footer-arrow*/a.sc-duet-footer:hover .duet-footer-arrow.sc-duet-footer{transform:translateX(4px)}/*!@.duet-footer-arrow duet-icon*/.duet-footer-arrow.sc-duet-footer duet-icon.sc-duet-footer{width:20px;height:20px}@media (min-width: 62em){/*!@.duet-footer-arrow duet-icon*/.duet-footer-arrow.sc-duet-footer duet-icon.sc-duet-footer{width:10px;height:10px}}/*!@.duet-footer-menu*/.duet-footer-menu.sc-duet-footer{padding:20px !important;font-size:0.875rem}@media (min-width: 36em){/*!@.duet-footer-menu*/.duet-footer-menu.sc-duet-footer{padding:28px !important}}@media (min-width: 62em){/*!@.duet-footer-menu*/.duet-footer-menu.sc-duet-footer{padding-left:8px !important}}/*!@.duet-footer-menu a*/.duet-footer-menu.sc-duet-footer a.sc-duet-footer{display:inline-block;text-decoration:none;word-break:break-all}/*!@.duet-footer-menu a:hover, .duet-footer-menu a:focus*/.duet-footer-menu.sc-duet-footer a.sc-duet-footer:hover,.duet-footer-menu.sc-duet-footer a.sc-duet-footer:focus{text-decoration:underline}/*!@.duet-footer-menu a:hover .duet-footer-divider, .duet-footer-menu a:focus .duet-footer-divider*/.duet-footer-menu.sc-duet-footer a.sc-duet-footer:hover .duet-footer-divider.sc-duet-footer,.duet-footer-menu.sc-duet-footer a.sc-duet-footer:focus .duet-footer-divider.sc-duet-footer{text-decoration:none}/*!@.duet-footer-menu .duet-footer-divider*/.duet-footer-menu.sc-duet-footer .duet-footer-divider.sc-duet-footer{display:inline-block;margin:0 8px}/*!@.duet-footer-menu a:last-of-type .duet-footer-divider*/.duet-footer-menu.sc-duet-footer a.sc-duet-footer:last-of-type .duet-footer-divider.sc-duet-footer{display:none}/*!@.duet-footer-copyright*/.duet-footer-copyright.sc-duet-footer{color:white}/*!@.duet-footer-simple*/.duet-footer-simple.sc-duet-footer{padding:0;margin:0;margin-top:16px;color:#00294d;background:transparent !important;border-top:1px solid #e1e3e6}/*!@.duet-footer-simple .duet-footer-wrapper*/.duet-footer-simple.sc-duet-footer .duet-footer-wrapper.sc-duet-footer{max-width:100%;padding:0 20px;margin:0}@media (min-width: 62em){/*!@.duet-footer-simple .duet-footer-wrapper*/.duet-footer-simple.sc-duet-footer .duet-footer-wrapper.sc-duet-footer{padding:0 36px}}@media (min-width: 106.25em){/*!@.duet-footer-simple .duet-footer-wrapper*/.duet-footer-simple.sc-duet-footer .duet-footer-wrapper.sc-duet-footer{padding:0 48px}}/*!@.duet-footer-simple .duet-footer-copyright,\n.duet-footer-simple .duet-footer-menu a*/.duet-footer-simple.sc-duet-footer .duet-footer-copyright.sc-duet-footer,.duet-footer-simple.sc-duet-footer .duet-footer-menu.sc-duet-footer a.sc-duet-footer{color:#00294d}/*!@.duet-footer-simple .duet-footer-menu*/.duet-footer-simple.sc-duet-footer .duet-footer-menu.sc-duet-footer{padding:20px 0 !important}/*!@.duet-footer-simple.duet-theme-turva*/.duet-footer-simple.duet-theme-turva.sc-duet-footer{color:#171c3a;border-color:#e4e4e6}/*!@.duet-footer-simple.duet-theme-turva .duet-footer-copyright,\n.duet-footer-simple.duet-theme-turva .duet-footer-menu a*/.duet-footer-simple.duet-theme-turva.sc-duet-footer .duet-footer-copyright.sc-duet-footer,.duet-footer-simple.duet-theme-turva.sc-duet-footer .duet-footer-menu.sc-duet-footer a.sc-duet-footer{color:#171c3a}/*!@.duet-footer-external*/.duet-footer-external.sc-duet-footer{display:inline-block;margin-left:4px;color:#0077b3}/*!@.duet-theme-turva .duet-footer-external*/.duet-theme-turva.sc-duet-footer .duet-footer-external.sc-duet-footer{color:white}/*!@.duet-footer-simple.duet-theme-turva .duet-footer-external*/.duet-footer-simple.duet-theme-turva.sc-duet-footer .duet-footer-external.sc-duet-footer{color:#c60c30}";
9384
9506
 
9385
9507
  const i18n$1 = {
9386
9508
  fi: { lahi: "© LähiTapiola", turva: "© Turva" },
@@ -9534,6 +9656,11 @@ function isGridItem(element) {
9534
9656
  class DuetGrid {
9535
9657
  constructor(hostRef) {
9536
9658
  registerInstance(this, hostRef);
9659
+ this.mql = [
9660
+ window.matchMedia(media_query_large.replace(/'/g, "")),
9661
+ window.matchMedia(media_query_medium.replace(/'/g, "")),
9662
+ window.matchMedia(media_query_small.replace(/'/g, "")),
9663
+ ];
9537
9664
  this.distributeFormElement = false;
9538
9665
  /**
9539
9666
  * Enable or disable the automatic responsive behaviour of the grid component.
@@ -9588,10 +9715,18 @@ class DuetGrid {
9588
9715
  this.mutationO = watchForOptions(el, "duet-grid-item", () => {
9589
9716
  this.updateGridItems();
9590
9717
  });
9718
+ // the next two functions are used to watch for changes in the grid items, and are process intensive - so only run when needed
9591
9719
  if (this.distributeFormElement) {
9592
9720
  this.mutation1 = watchForElement(el, "duet-input", () => {
9593
9721
  this.updateGridItemsWithInputFields();
9594
9722
  });
9723
+ // listen for potential mediaquery changes and reset layout
9724
+ for (let i = 0; i < this.mql.length; i++) {
9725
+ // addEventListener is not available in Stencil hydrate
9726
+ if (this.mql[i].addEventListener) {
9727
+ this.mql[i].addEventListener("change", this.updateGridItemsWithInputFields.bind(this));
9728
+ }
9729
+ }
9595
9730
  }
9596
9731
  this.updateGridItems();
9597
9732
  }
@@ -9604,6 +9739,13 @@ class DuetGrid {
9604
9739
  this.mutation1.disconnect();
9605
9740
  this.mutation1 = undefined;
9606
9741
  }
9742
+ // listen for potential mediaquery changes and reset layout
9743
+ for (let i = 0; i < this.mql.length; i++) {
9744
+ // addEventListener is not available in Stencil hydrate
9745
+ if (this.mql[i].removeEventListener) {
9746
+ this.mql[i].removeEventListener("change", this.updateGridItemsWithInputFields.bind(this));
9747
+ }
9748
+ }
9607
9749
  }
9608
9750
  /**
9609
9751
  * Local methods
@@ -9617,6 +9759,8 @@ class DuetGrid {
9617
9759
  }
9618
9760
  async updateGridItemsWithInputFields() {
9619
9761
  const items = Array.from(this.element.children).filter(isGridItem);
9762
+ // if layout changes to columns instead of row, remove all padding
9763
+ const hasColumnLayout = window ? window.getComputedStyle(this.element).flexDirection === "column" : false;
9620
9764
  let maxHeight = 0;
9621
9765
  const sizes = [];
9622
9766
  items.forEach(item => {
@@ -9628,10 +9772,10 @@ class DuetGrid {
9628
9772
  items.forEach(item => {
9629
9773
  const inputErrorDom = item.querySelector("span.duet-input-error");
9630
9774
  const height = inputErrorDom ? this.outerHeight(inputErrorDom) : 0;
9631
- if (height < maxHeight) {
9775
+ if (height < maxHeight && !hasColumnLayout) {
9632
9776
  item.setAttribute("style", `padding-bottom: ${maxHeight - height}px;`);
9633
9777
  }
9634
- else if (height === maxHeight) {
9778
+ else if (height === maxHeight || hasColumnLayout) {
9635
9779
  item.setAttribute("style", `padding-bottom: 0px;`);
9636
9780
  }
9637
9781
  });
@@ -9762,6 +9906,8 @@ class DuetGridItem {
9762
9906
  }; }
9763
9907
  }
9764
9908
 
9909
+ var formSearch={"title":"form-search","tags":"form search magnifying glass","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M23.245 23.996a.743.743 0 0 1-.53-.22L16.2 17.26a9.824 9.824 0 0 1-2.553 1.579 9.766 9.766 0 0 1-7.51.069 9.745 9.745 0 0 1-5.359-5.262c-1.025-2.412-1.05-5.08-.069-7.51S3.558 1.802 5.97.777a9.744 9.744 0 0 1 7.51-.069c2.431.981 4.334 2.849 5.359 5.262s1.05 5.08.069 7.51a9.807 9.807 0 0 1-1.649 2.718l6.517 6.518a.75.75 0 0 1-.531 1.28zM9.807 1.49a8.259 8.259 0 0 0-3.25.667c-2.044.869-3.627 2.481-4.458 4.54s-.81 4.318.058 6.362a8.26 8.26 0 0 0 4.54 4.458 8.259 8.259 0 0 0 6.362-.059 8.285 8.285 0 0 0 2.594-1.736.365.365 0 0 1 .077-.076 8.245 8.245 0 0 0 1.786-2.728 8.255 8.255 0 0 0-.059-6.362 8.257 8.257 0 0 0-4.54-4.458 8.28 8.28 0 0 0-3.11-.608z\"/></svg>"};
9910
+
9765
9911
  var navigationContactDropdown={"title":"navigation-contact-dropdown","tags":"navigation contact dropdown speech bubbles","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M20.247 24a.743.743 0 0 1-.53-.22l-4.28-4.28h-.439c-3.308 0-6-2.692-6-6s2.692-6 6-6h3c3.309.001 6 2.692 6 6a5.974 5.974 0 0 1-3 5.179v4.571a.75.75 0 0 1-.751.75zm-5.25-15c-2.481 0-4.5 2.019-4.5 4.5s2.019 4.5 4.5 4.5h.75c.198 0 .391.08.53.22l3.22 3.22v-3.213c0-.289.169-.555.429-.678a4.51 4.51 0 0 0 2.571-4.049 4.504 4.504 0 0 0-4.498-4.499h-3.002z\"/><path d=\"M3.747 16.5a.747.747 0 0 1-.75-.75v-4.57a5.967 5.967 0 0 1-2.65-3.171A5.948 5.948 0 0 1 .57 3.431 6.014 6.014 0 0 1 5.985 0h3.012a6.04 6.04 0 0 1 5.752 4.286.751.751 0 0 1-.718.964.755.755 0 0 1-.719-.536A4.531 4.531 0 0 0 8.997 1.5h-3a4.511 4.511 0 0 0-4.071 2.572c-.512 1.084-.571 2.302-.167 3.431s1.224 2.032 2.308 2.545c.261.123.43.39.43.678v3.214l1.72-1.72a.744.744 0 0 1 1.06 0 .752.752 0 0 1 0 1.061l-3 3a.744.744 0 0 1-.53.219z\"/></svg>"};
9766
9912
 
9767
9913
  var navigationLanguage={"title":"navigation-language","tags":"navigation language earth world map","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M11.996 24c-2.732 0-5.309-.901-7.453-2.605l-.017-.012-.031-.025a12.68 12.68 0 0 1-.238-.196c-.071-.06-.142-.122-.213-.184l-.143-.126c-.13-.118-.257-.24-.381-.363l-.018-.018a11.904 11.904 0 0 1-3.445-9.695l.001-.007c.018-.174.041-.348.067-.523l.019-.125c.028-.174.058-.348.093-.521l.003-.013C1.379 4.031 6.321 0 11.996 0c6.617 0 12 5.383 12 12 0 1.083-.148 2.164-.44 3.214l-.009.032a12.172 12.172 0 0 1-.671 1.809s-.072.155-.1.212a11.896 11.896 0 0 1-.189.368A11.987 11.987 0 0 1 11.996 24zm-6.181-3.519a10.388 10.388 0 0 0 6.181 2.019c3.471 0 6.642-1.669 8.611-4.497h-.59a2.244 2.244 0 0 1-2.22-1.879L17.111 12h-.944a2.252 2.252 0 0 1-2.182-2.796l.75-3A2.245 2.245 0 0 1 16.917 4.5h2.416A10.49 10.49 0 0 0 1.934 9h4.391c1.034 0 1.932.701 2.183 1.704l.75 3a2.235 2.235 0 0 1-.592 2.137c-.425.425-.99.659-1.591.659h-.464zm-4.248-9.687-.015.116a9.092 9.092 0 0 0-.053.96l-.002.17c.001.145.005.29.011.435l.006.127c.009.154.02.308.035.461l.005.041c.071.68.209 1.354.411 2.003l.009.028a10.457 10.457 0 0 0 2.537 4.222l.75-3.751A.75.75 0 0 1 5.996 15h1.079a.75.75 0 0 0 .728-.932l-.75-3a.751.751 0 0 0-.729-.568H1.606l-.039.294zM16.917 6a.75.75 0 0 0-.728.568l-.75 3a.752.752 0 0 0 .728.932h1.579c.368 0 .679.264.74.627l.791 4.75a.748.748 0 0 0 .74.626h1.461c.171-.358.321-.727.449-1.1l.021-.062A10.486 10.486 0 0 0 20.598 6z\"/></svg>"};
@@ -9952,7 +10098,41 @@ const enableBodyScroll = targetElement => {
9952
10098
  }
9953
10099
  };
9954
10100
 
9955
- 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}}/*!@.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:#f5f8fa;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 a*/.duet-header-items.sc-duet-header a.sc-duet-header{position:relative;display:block;width:100%;height:48px;padding:0 20px;overflow:hidden;font-size:1rem;font-weight:600;line-height:48px;color:#00294d;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #e1e3e6;border-radius:0}@media (min-width: 62em){/*!@.duet-header-items a*/.duet-header-items.sc-duet-header a.sc-duet-header{border-radius:4px}}/*!@.duet-theme-turva .duet-header-items a*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header a.sc-duet-header{font-weight:600;color:#171c3a;border-color:#e1e3e6}/*!@.duet-header-items a:hover*/.duet-header-items.sc-duet-header a.sc-duet-header:hover{color:#004d80}/*!@.duet-theme-turva .duet-header-items a:hover*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header a.sc-duet-header:hover{color:#444445}/*!@.duet-header-items a:focus*/.duet-header-items.sc-duet-header a.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-items a:focus*/.user-is-tabbing.sc-duet-header-h .duet-header-items.sc-duet-header a.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 a:focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header a.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 a*/.duet-header-items.sc-duet-header a.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 a.active*/.duet-header-items.sc-duet-header a.active.sc-duet-header{color:#0077b3;-moz-osx-font-smoothing:auto;-webkit-font-smoothing:subpixel-antialiased}/*!@.duet-theme-turva .duet-header-items a.active*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header a.active.sc-duet-header{color:#c60c30}/*!@.duet-header-items a.active:hover*/.duet-header-items.sc-duet-header a.active.sc-duet-header:hover{color:#0077b3}/*!@.duet-theme-turva .duet-header-items a.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header a.active.sc-duet-header:hover{color:#c60c30}/*!@.duet-header-items a.active::after*/.duet-header-items.sc-duet-header a.active.sc-duet-header::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}/*!@.duet-theme-turva .duet-header-items a.active::after*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header a.active.sc-duet-header::after{background:#c60c30}@media (min-width: 62em){/*!@.duet-header-items a.active::after*/.duet-header-items.sc-duet-header a.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}/*!@.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-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-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:16px;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}/*!@.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}}/*!@.duet-header-dropdown .duet-header-dropdown-toggle::after*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header::after{display:none !important}@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;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{color:#004d80;border-bottom:1px solid #f5f8fa}/*!@.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{color:#444445;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{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:#f5f8fa;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:170px;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.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*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header{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*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header{color:#171c3a}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content a*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header{padding-left:20px !important}}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content a:hover*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:hover{background:#e6f2f8}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:hover*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:hover{background:#f9e6ea}}/*!@.duet-header-dropdown .duet-header-dropdown-content a:focus*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-dropdown .duet-header-dropdown-content a: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: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: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: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.active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.active.sc-duet-header{padding-right:36px;font-weight:600;vertical-align:baseline;pointer-events:none}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a.active*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.active.sc-duet-header{font-weight:700}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content a.active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.active.sc-duet-header{color:white;background:#0077b3}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a.active*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.active.sc-duet-header{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:8px 16px 9px !important;position:absolute;top:-100%;left:-100%;z-index:200;width:1px;min-width:160px;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}";
10101
+ const DuetHeaderIcon = (props, _children) => {
10102
+ const iconSize = props.iconSize ? props.iconSize : "x-small";
10103
+ return (hAsync("span", { class: "duet-header-icon" },
10104
+ hAsync("duet-icon", { margin: "none", size: iconSize, icon: props.icon, color: "currentColor" })));
10105
+ };
10106
+
10107
+ const DuetHeaderDropdown = (props, _children) => {
10108
+ const accessibleLabel = props.accessibleText ? props.accessibleText : props.label;
10109
+ return (hAsync("div", { class: { ["duet-header-dropdown"]: true, [props.className]: !!props.className } },
10110
+ hAsync("button", { ref: props.toggleRef, "aria-haspopup": "listbox", "aria-controls": props.id, "aria-expanded": props.isOpen ? "true" : "false", "aria-labelledby": `${props.id}-accessible-label`, id: `${props.id}-button`, type: "button", class: {
10111
+ [props.id]: true,
10112
+ "duet-header-dropdown-toggle": true,
10113
+ "duet-header-button": true,
10114
+ active: props.active,
10115
+ }, onClick: props.onToggle },
10116
+ props.icon && hAsync(DuetHeaderIcon, { icon: props.icon }),
10117
+ hAsync("span", { "aria-hidden": "true", id: `${props.id}-label`, class: "duet-header-dropdown-label" }, props.label),
10118
+ props.badge && hAsync("div", { class: "duet-header-badge" }),
10119
+ hAsync("div", { class: "duet-header-caret", "aria-hidden": "true" },
10120
+ hAsync("duet-icon", { margin: "none", size: "auto", icon: actionArrowDownSmall.svg, color: "currentColor" })),
10121
+ hAsync("duet-visually-hidden", { id: `${props.id}-accessible-label` }, accessibleLabel)),
10122
+ hAsync("div", { ref: props.itemsRef, tabindex: "-1", role: "menu", id: props.id, "aria-labelledby": `${props.id}-button`, class: {
10123
+ "duet-header-dropdown-content": true,
10124
+ [`${props.id}-items`]: true,
10125
+ active: props.isOpen,
10126
+ } }, _children)));
10127
+ };
10128
+
10129
+ const DuetHeaderHamburger = () => (hAsync("div", { class: "duet-header-hamburger" },
10130
+ hAsync("span", { class: "duet-header-bar" }),
10131
+ hAsync("span", { class: "duet-header-bar" }),
10132
+ hAsync("span", { class: "duet-header-bar" }),
10133
+ hAsync("span", { class: "duet-header-bar" })));
10134
+
10135
+ 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;-moz-osx-font-smoothing:auto;-webkit-font-smoothing:subpixel-antialiased}/*!@.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-third-level-active .duet-header-items .duet-header-first-level.active*/.duet-header-third-level-active.sc-duet-header .duet-header-items.sc-duet-header .duet-header-first-level.active.sc-duet-header{color:#00294d}/*!@.duet-header-third-level-active .duet-header-items .duet-header-first-level.active::after*/.duet-header-third-level-active.sc-duet-header .duet-header-items.sc-duet-header .duet-header-first-level.active.sc-duet-header::after{display:none}/*!@.duet-header-third-level-active .duet-header-items .duet-header-second-level button*/.duet-header-third-level-active.sc-duet-header .duet-header-items.sc-duet-header .duet-header-second-level.sc-duet-header button.sc-duet-header{color:#00294d}/*!@.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}/*!@.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-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}/*!@.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}}/*!@.duet-header-dropdown .duet-header-dropdown-toggle::after*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header::after{display:none !important}@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;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{color:#004d80;border-bottom:1px solid #f5f8fa}/*!@.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{color:#444445;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{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;pointer-events:none}/*!@.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}";
9956
10136
 
9957
10137
  const createEvent = (ev, data) => ({
9958
10138
  component: "duet-header",
@@ -9960,14 +10140,15 @@ const createEvent = (ev, data) => ({
9960
10140
  originalEvent: ev,
9961
10141
  });
9962
10142
  /**
9963
- * @slot utility - A slot for utilities, such as a notification drawer
9964
- * @slot logo-utility - A slot to place elements alongside the logo. This takes precedence over the **region** prop.
10143
+ * @slot utility - A slot for utilities, such as a notification drawer or shopping basket.
10144
+ * @slot logo-utility - A slot to place elements alongside the logo. This takes precedence over the **region** prop. Note: not available in desktop multilevel header.
9965
10145
  */
9966
10146
  class DuetHeader {
9967
10147
  constructor(hostRef) {
9968
10148
  registerInstance(this, hostRef);
9969
10149
  this.duetChange = createEvent$2(this, "duetChange", 3);
9970
10150
  this.duetSessionClick = createEvent$2(this, "duetSessionClick", 7);
10151
+ this.duetSearchClick = createEvent$2(this, "duetSearchClick", 7);
9971
10152
  this.duetUserClick = createEvent$2(this, "duetUserClick", 7);
9972
10153
  this.duetLanguageSelect = createEvent$2(this, "duetLanguageSelect", 7);
9973
10154
  this.duetLogoClick = createEvent$2(this, "duetLogoClick", 7);
@@ -9976,7 +10157,15 @@ class DuetHeader {
9976
10157
  this.duetItemClick = createEvent$2(this, "duetItemClick", 7);
9977
10158
  this.duetSkipClick = createEvent$2(this, "duetSkipClick", 7);
9978
10159
  this.duetAnalytics = createEvent$2(this, "duetAnalytics", 7);
10160
+ var _a;
10161
+ /**
10162
+ * Own Properties
10163
+ */
10164
+ this.subMenuItemRefs = {};
10165
+ this.subMenuButtonRefs = {};
9979
10166
  this.hasLanguageChanged = false;
10167
+ this.mql = [window.matchMedia(media_query_large.replace(/'/g, ""))];
10168
+ this.boundMqlFunctions = [];
9980
10169
  /**
9981
10170
  * State() variables
9982
10171
  * Inlined decorator, alphabetical order.
@@ -9984,12 +10173,17 @@ class DuetHeader {
9984
10173
  this.isContactOpen = false;
9985
10174
  this.isLanguageOpen = false;
9986
10175
  this.isSlideOutOpen = false;
10176
+ this.isSegmentOpen = false;
10177
+ this.openMenu = null;
10178
+ this.closedActives = null;
9987
10179
  this.processedItems = null;
9988
10180
  this.processedLanguageItems = null;
9989
10181
  this.processedContactItems = null;
9990
10182
  this.processedSession = null;
10183
+ this.processedSearch = null;
9991
10184
  this.processedUser = null;
9992
10185
  this.processedBack = null;
10186
+ this.renderDesktopNav = (_a = this.mql[0]) === null || _a === void 0 ? void 0 : _a.matches;
9993
10187
  /**
9994
10188
  * Theme of the header.
9995
10189
  */
@@ -10095,6 +10289,7 @@ class DuetHeader {
10095
10289
  this.logoHref = "/";
10096
10290
  /**
10097
10291
  * The href of the current page item that is shown as “active”.
10292
+ * Note: not available in multilevel headers.
10098
10293
  */
10099
10294
  this.currentHref = "/";
10100
10295
  /**
@@ -10104,10 +10299,12 @@ class DuetHeader {
10104
10299
  this.skipToId = "";
10105
10300
  /**
10106
10301
  * Region that is shown next to the logo. If empty, region will be hidden.
10302
+ * Note: not available in desktop multilevel header.
10107
10303
  */
10108
10304
  this.region = "";
10109
10305
  /**
10110
10306
  * Label of the contact menu. If empty, contact menu will be hidden.
10307
+ * Note: not available in multilevel headers.
10111
10308
  */
10112
10309
  this.contact = "";
10113
10310
  this.handleClick = (event) => {
@@ -10126,6 +10323,11 @@ class DuetHeader {
10126
10323
  this.handleClick(e);
10127
10324
  this.duetSessionClick.emit(e);
10128
10325
  };
10326
+ this.handleSearchClick = (ev) => {
10327
+ const e = createEvent(ev, this.processedSearch);
10328
+ this.handleClick(e);
10329
+ this.duetSearchClick.emit(e);
10330
+ };
10129
10331
  this.handleUserClick = (ev) => {
10130
10332
  const e = createEvent(ev, this.processedUser);
10131
10333
  this.handleClick(e);
@@ -10148,40 +10350,55 @@ class DuetHeader {
10148
10350
  this.duetLogoClick.emit(e);
10149
10351
  };
10150
10352
  this.handleArrowKeys = ev => {
10151
- if (this.isContactOpen || this.isLanguageOpen) {
10152
- let button;
10153
- if (isArrowLeftKey(ev) || isArrowUpKey(ev)) {
10154
- button = ev.target.previousElementSibling;
10155
- }
10156
- else if (isArrowRightKey(ev) || isArrowDownKey(ev)) {
10157
- button = ev.target.nextElementSibling;
10158
- }
10159
- if (button) {
10160
- ev.preventDefault();
10161
- button.focus();
10162
- }
10353
+ let button;
10354
+ if (isArrowLeftKey(ev) || isArrowUpKey(ev)) {
10355
+ button = ev.target.previousElementSibling;
10356
+ }
10357
+ else if (isArrowRightKey(ev) || isArrowDownKey(ev)) {
10358
+ button = ev.target.nextElementSibling;
10359
+ }
10360
+ if (button) {
10361
+ ev.preventDefault();
10362
+ button.focus();
10163
10363
  }
10164
10364
  };
10165
- this.toggleMenu = (ev, type) => {
10365
+ this.toggleMenu = (ev, type, id, active) => {
10166
10366
  let el;
10167
10367
  ev.preventDefault();
10168
10368
  ev.stopPropagation();
10369
+ if (active === true && !this.openMenu) {
10370
+ const closedActives = this.closedActives ? [...this.closedActives] : [];
10371
+ const index = closedActives.findIndex(i => i === id);
10372
+ if (index > -1) {
10373
+ closedActives.splice(index, 1);
10374
+ this.closedActives = [...closedActives];
10375
+ }
10376
+ else {
10377
+ this.closedActives = [...closedActives, id];
10378
+ }
10379
+ }
10380
+ else {
10381
+ this.openMenu = this.openMenu === id ? null : id;
10382
+ }
10169
10383
  // For language menu
10170
10384
  if (type === "language") {
10171
10385
  this.isContactOpen = false;
10172
10386
  this.isLanguageOpen = !this.isLanguageOpen;
10387
+ this.isSegmentOpen = false;
10173
10388
  el = this.languageItemsEl;
10174
10389
  }
10175
10390
  // For contact menu
10176
10391
  else if (type === "contact") {
10177
10392
  this.isLanguageOpen = false;
10178
10393
  this.isContactOpen = !this.isContactOpen;
10394
+ this.isSegmentOpen = false;
10179
10395
  el = this.contactItemsEl;
10180
10396
  }
10181
10397
  // For mobile menu
10182
10398
  else if (type === "mobile") {
10183
10399
  this.isContactOpen = false;
10184
10400
  this.isLanguageOpen = false;
10401
+ this.isSegmentOpen = false;
10185
10402
  el = this.navigationEl;
10186
10403
  this.isSlideOutOpen = !this.isSlideOutOpen;
10187
10404
  if (this.isSlideOutOpen) {
@@ -10191,7 +10408,19 @@ class DuetHeader {
10191
10408
  enableBodyScroll(this.navigationEl);
10192
10409
  }
10193
10410
  }
10194
- if (this.isSlideOutOpen || this.isLanguageOpen || this.isContactOpen) {
10411
+ else if (type === "sub") {
10412
+ this.isContactOpen = false;
10413
+ this.isLanguageOpen = false;
10414
+ this.isSegmentOpen = false;
10415
+ el = this.subMenuItemRefs[id];
10416
+ }
10417
+ else if (type === "segment") {
10418
+ this.isContactOpen = false;
10419
+ this.isLanguageOpen = false;
10420
+ this.isSegmentOpen = !this.isSegmentOpen;
10421
+ el = this.segmentItemsEl;
10422
+ }
10423
+ if (this.isSlideOutOpen || this.isLanguageOpen || this.isContactOpen || this.isSegmentOpen || this.openMenu) {
10195
10424
  const drawer = this.element.querySelector("duet-notification-drawer");
10196
10425
  if (drawer) {
10197
10426
  drawer.close(false);
@@ -10210,10 +10439,27 @@ class DuetHeader {
10210
10439
  inheritGlobalTheme(this);
10211
10440
  this.refresh();
10212
10441
  }
10442
+ connectedCallback() {
10443
+ for (let i = 0; i < this.mql.length; i++) {
10444
+ // addEventListener is not available in Stencil hydrate
10445
+ if (this.mql[i].addEventListener) {
10446
+ const bound = this.refresh.bind(this);
10447
+ this.mql[i].addEventListener("change", bound);
10448
+ this.boundMqlFunctions[i] = bound;
10449
+ }
10450
+ }
10451
+ }
10213
10452
  disconnectedCallback() {
10214
10453
  if (this.navigationEl) {
10215
10454
  enableBodyScroll(this.navigationEl);
10216
10455
  }
10456
+ for (let i = 0; i < this.mql.length; i++) {
10457
+ // addEventListener is not available in Stencil hydrate
10458
+ if (this.mql[i].removeEventListener) {
10459
+ this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
10460
+ }
10461
+ }
10462
+ this.boundMqlFunctions = [];
10217
10463
  }
10218
10464
  /**
10219
10465
  * Component event handling.
@@ -10226,7 +10472,7 @@ class DuetHeader {
10226
10472
  }
10227
10473
  }
10228
10474
  handleKeyDown(ev) {
10229
- if (this.isContactOpen || this.isLanguageOpen) {
10475
+ if (this.isContactOpen || this.isLanguageOpen || this.isSegmentOpen) {
10230
10476
  const activeElement = this.element.shadowRoot.activeElement;
10231
10477
  // When Space is pressed
10232
10478
  if (isSpaceKey(ev) && activeElement) {
@@ -10238,6 +10484,12 @@ class DuetHeader {
10238
10484
  else if (this.isLanguageOpen) {
10239
10485
  this.closeMenus(true);
10240
10486
  }
10487
+ else if (this.isSegmentOpen) {
10488
+ this.closeMenus();
10489
+ }
10490
+ else if (this.openMenu) {
10491
+ this.closeMenus();
10492
+ }
10241
10493
  activeElement.click();
10242
10494
  }
10243
10495
  }
@@ -10267,10 +10519,15 @@ class DuetHeader {
10267
10519
  * Local methods.
10268
10520
  */
10269
10521
  async refresh() {
10522
+ if (this.renderDesktopNav !== this.mql[0].matches) {
10523
+ this.renderDesktopNav = this.mql[0].matches;
10524
+ this.openMenu = null;
10525
+ }
10270
10526
  this.processedItems = parsePossibleJSON(this.items);
10271
10527
  this.processedLanguageItems = parsePossibleJSON(this.languageItems);
10272
10528
  this.processedContactItems = parsePossibleJSON(this.contactItems);
10273
10529
  this.processedSession = parsePossibleJSON(this.session);
10530
+ this.processedSearch = parsePossibleJSON(this.search);
10274
10531
  this.processedUser = parsePossibleJSON(this.user);
10275
10532
  this.processedBack = parsePossibleJSON(this.back);
10276
10533
  }
@@ -10287,7 +10544,7 @@ class DuetHeader {
10287
10544
  * Closes all dropdown menus in header when called.
10288
10545
  */
10289
10546
  async closeMenus(moveFocusToButton = false) {
10290
- if (this.isContactOpen || this.isLanguageOpen) {
10547
+ if (this.isContactOpen || this.isLanguageOpen || this.isSegmentOpen || this.openMenu) {
10291
10548
  if (this.isContactOpen && moveFocusToButton) {
10292
10549
  this.contactItemsButtonEl.focus({
10293
10550
  preventScroll: true,
@@ -10298,8 +10555,20 @@ class DuetHeader {
10298
10555
  preventScroll: true,
10299
10556
  });
10300
10557
  }
10558
+ if (this.isSegmentOpen && moveFocusToButton) {
10559
+ this.segmentItemsButtonEl.focus({
10560
+ preventScroll: true,
10561
+ });
10562
+ }
10563
+ if (this.openMenu && moveFocusToButton) {
10564
+ this.subMenuButtonRefs[this.openMenu].focus({
10565
+ preventScroll: true,
10566
+ });
10567
+ }
10301
10568
  this.isContactOpen = false;
10302
10569
  this.isLanguageOpen = false;
10570
+ this.isSegmentOpen = false;
10571
+ this.openMenu = null;
10303
10572
  }
10304
10573
  }
10305
10574
  /**
@@ -10315,45 +10584,93 @@ class DuetHeader {
10315
10584
  */
10316
10585
  render() {
10317
10586
  const { skipLabel, changeLanguage, activeLanguage } = this.accessibleI18nLabels;
10318
- return (hAsync("div", { class: {
10587
+ const skipToLabel = this.skipToId ? (hAsync("a", { href: this.skipToId, class: "duet-header-skip", onClick: this.handleSkipClick }, skipLabel)) : null;
10588
+ const logo = (hAsync("duet-logo", { href: this.logoHref, size: "medium", ref: el => (this.logoEl = el), language: this.language, theme: this.theme, onClick: this.handleLogoClick }));
10589
+ const largeLogo = (hAsync("duet-logo", { href: this.logoHref, size: "large", ref: el => (this.logoEl = el), language: this.language, theme: this.theme, onClick: this.handleLogoClick }));
10590
+ const contactDropdown = this.contact && this.processedContactItems ? (hAsync(DuetHeaderDropdown, { id: "duet-header-contact", label: this.contact, icon: navigationContactDropdown.svg, active: this.isContactOpen, isOpen: this.isContactOpen, badge: false, toggleRef: el => (this.contactItemsButtonEl = el), itemsRef: el => (this.contactItemsEl = el), onToggle: event => this.toggleMenu(event, "contact") }, this.processedContactItems.map(item => (hAsync("a", { role: "menuitem", href: item.href || "#", id: item.id, onClick: event => this.handleContactClick(event, item), onKeyDown: ev => this.handleArrowKeys(ev), target: item.external ? "_blank" : "_self" }, item.label, Build.isBrowser ))))) : null;
10591
+ const languageDropdown = this.language && this.processedLanguageItems ? (hAsync(DuetHeaderDropdown, { id: "duet-header-language", label: this.language, icon: navigationLanguage.svg, accessibleText: `${changeLanguage}${this.hasLanguageChanged ? `, ${activeLanguage}` : ""}`, active: this.isLanguageOpen, isOpen: this.isLanguageOpen, badge: false, toggleRef: el => (this.languageItemsButtonEl = el), itemsRef: el => (this.languageItemsEl = el), onToggle: event => this.toggleMenu(event, "language") }, this.processedLanguageItems.map(item => (hAsync("a", { class: { active: this.language === item.country }, "aria-selected": this.language === item.country, role: "menuitem", id: item.id, lang: item.country, href: item.href || "#", onClick: event => this.handleLanguageClick(event, item), onKeyDown: this.handleArrowKeys }, item.label))))) : null;
10592
+ const processedUserWithLink = this.processedUser && this.processedUser.href ? (hAsync("a", { href: this.processedUser.href || "#", id: this.processedUser.id, class: "duet-header-user duet-header-button", onClick: this.handleUserClick }, hAsync(DuetHeaderIcon, { icon: navigationUser.svg }), hAsync("span", { class: "duet-header-user-label" }, this.processedUser.label))) : null;
10593
+ 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;
10594
+ const processedSessionIconSize = this.renderDesktopNav ? "x-small" : "small";
10595
+ 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;
10596
+ 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;
10597
+ // Back variation
10598
+ if (this.processedBack) {
10599
+ return (hAsync(Host, { class: "duet-header-back-variation" }, hAsync("div", { class: "duet-header-reserved-space" }, hAsync("header", { class: {
10600
+ "duet-header": true,
10601
+ "duet-theme-turva": this.theme === "turva",
10602
+ "duet-header-back": true,
10603
+ "duet-header-inactive": true,
10604
+ } }, hAsync("div", { class: "duet-header-top" }, skipToLabel, hAsync("duet-button", { url: this.processedBack.href, id: this.processedBack.id, theme: this.theme, variation: "plain", color: this.theme === "turva" ? "secondary-turva" : "secondary", icon: "navigation-arrow-left", iconSize: "large", onClick: this.handleBackClick }, this.processedBack.label), logo, hAsync("slot", { name: "logo-utility" }))))));
10605
+ }
10606
+ // multi level desktop variation
10607
+ const itemsHaveSubItems = this.processedItems && this.processedItems.some(item => item.items && item.items.length > 0);
10608
+ if (this.renderDesktopNav && itemsHaveSubItems) {
10609
+ const activeSegment = this.processedItems.find(item => item.active);
10610
+ const isThirdLevelActive = this.processedItems &&
10611
+ this.processedItems.some(item => item.items &&
10612
+ item.items.some(secondLevelItem => secondLevelItem.items && secondLevelItem.items.some(thirdLevelItem => thirdLevelItem.active === true)));
10613
+ const segmentId = "duet-header-segment";
10614
+ return (hAsync(Host, { class: "duet-header-multi-level-desktop-variation" }, hAsync("div", { class: {
10615
+ "duet-header-multi-level-desktop": true,
10616
+ "duet-header-multi-level-desktop-third-level-is-open": isThirdLevelActive,
10617
+ } }, hAsync("header", { class: {
10618
+ "duet-header": true,
10619
+ "duet-theme-turva": this.theme === "turva",
10620
+ "duet-header-inactive": !this.processedItems,
10621
+ } }, hAsync("div", { class: "duet-header-top" }, skipToLabel, hAsync("div", { class: "logo-and-segment" }, largeLogo, this.processedItems && (hAsync(DuetHeaderDropdown, { id: segmentId, label: activeSegment.label, active: this.isSegmentOpen, isOpen: this.isSegmentOpen, badge: false, toggleRef: el => (this.segmentItemsButtonEl = el), itemsRef: el => (this.segmentItemsEl = el), onToggle: event => this.toggleMenu(event, "segment") }, this.processedItems.map(item => (hAsync("a", { class: { active: activeSegment === item }, role: "menuitem", href: item.href || "#", id: item.id, onClick: event => this.handleItemClick(event, item), onKeyDown: ev => this.handleArrowKeys(ev), target: item.external ? "_blank" : "_self" }, item.icon && (hAsync("div", { class: "duet-header-icon" }, hAsync("duet-icon", { margin: "none", size: "x-small", name: item.icon, color: "currentColor" }))), hAsync("span", null, item.label), item.badge && hAsync("div", { class: "duet-header-badge" }))))))), hAsync("nav", { class: "duet-header-multi-level-desktop-nav" }, activeSegment.items &&
10622
+ activeSegment.items
10623
+ .filter(secondLevelItem => secondLevelItem.items && secondLevelItem.items.length > 0)
10624
+ .map((secondLevelItem, secondLevelItemIndex) => {
10625
+ const id = secondLevelItem.id || `segment-item-${secondLevelItemIndex}`;
10626
+ 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 &&
10627
+ 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" }))))));
10628
+ })), hAsync("div", { class: "duet-header-multi-level-desktop-utils" }, processedSearch, languageDropdown, processedSession), hAsync("slot", { name: "utility" }))))));
10629
+ }
10630
+ // Default variation
10631
+ const isThirdLevelActive = this.processedItems &&
10632
+ this.processedItems.some(item => item.items &&
10633
+ item.items.some(secondLevelItem => secondLevelItem.items && secondLevelItem.items.some(thirdLevelItem => thirdLevelItem.active === true)));
10634
+ return (hAsync(Host, { class: {
10635
+ "duet-header-default-variation": true,
10636
+ } }, hAsync("div", { class: {
10319
10637
  "duet-header-reserved-space": true,
10320
10638
  "duet-with-links": !!this.processedItems,
10321
- "duet-without-links": !this.processedItems,
10639
+ "duet-header-third-level-active": isThirdLevelActive,
10322
10640
  } }, hAsync("header", { class: {
10323
10641
  "duet-header": true,
10324
10642
  "duet-theme-turva": this.theme === "turva",
10325
- "duet-header-back": !!this.processedBack,
10326
10643
  "duet-header-inactive": !this.processedItems,
10327
- } }, hAsync("div", { class: "duet-header-top" }, this.skipToId && (hAsync("a", { href: this.skipToId, class: "duet-header-skip", onClick: this.handleSkipClick }, skipLabel)), this.processedBack && (hAsync("duet-button", { url: this.processedBack.href, id: this.processedBack.id, theme: this.theme, variation: "plain", color: this.theme === "turva" ? "secondary-turva" : "secondary", icon: "navigation-arrow-left", iconSize: "large", onClick: this.handleBackClick }, this.processedBack.label)), hAsync("duet-logo", { href: this.logoHref, size: "medium", ref: el => (this.logoEl = el), language: this.language, theme: this.theme, onClick: this.handleLogoClick }), hAsync("slot", { name: "logo-utility" }, this.region && !this.processedBack && hAsync("div", { class: "duet-header-region" }, this.region)), (this.processedItems ||
10328
- this.processedLanguageItems ||
10329
- this.processedContactItems ||
10644
+ } }, hAsync("div", { class: "duet-header-top" }, skipToLabel, logo, hAsync("slot", { name: "logo-utility" }, this.region && hAsync("div", { class: "duet-header-region" }, this.region)), (this.processedItems ||
10645
+ languageDropdown ||
10646
+ contactDropdown ||
10330
10647
  this.processedSession ||
10331
- this.processedUser) && (hAsync("button", { class: { "duet-header-toggle": true, active: this.isSlideOutOpen }, onClick: event => this.toggleMenu(event, "mobile"), type: "button" }, hAsync("duet-visually-hidden", null, this.accessibleLabel), hAsync("div", { class: "duet-header-hamburger" }, hAsync("span", { class: "duet-header-bar" }), hAsync("span", { class: "duet-header-bar" }), hAsync("span", { class: "duet-header-bar" }), hAsync("span", { class: "duet-header-bar" }))))), !this.processedBack && (hAsync("div", { ref: el => (this.navigationEl = el), class: {
10648
+ this.processedUser) && (hAsync("button", { class: { "duet-header-toggle": true, active: this.isSlideOutOpen }, onClick: event => this.toggleMenu(event, "mobile"), type: "button" }, hAsync("duet-visually-hidden", null, this.accessibleLabel), hAsync(DuetHeaderHamburger, null)))), hAsync("div", { ref: el => (this.navigationEl = el), class: {
10332
10649
  "duet-header-bottom": true,
10333
10650
  active: this.isSlideOutOpen,
10334
10651
  inactive: !this.processedItems,
10335
10652
  } }, hAsync("nav", { class: "duet-header-items", role: "navigation" }, this.processedItems &&
10336
- this.processedItems.map(item => (hAsync("a", { class: { active: this.currentHref === item.href }, href: item.href || "#", id: item.id, onClick: event => this.handleItemClick(event, item) }, item.label, item.badge && hAsync("div", { class: "duet-header-badge" }))))), hAsync("div", { class: "duet-header-bottom-utils" }, hAsync("slot", { name: "utility" })), hAsync("div", { class: "duet-header-utils" }, this.contact && this.processedContactItems && (hAsync("div", { class: "duet-header-dropdown" }, hAsync("button", { ref: el => (this.contactItemsButtonEl = el), class: {
10337
- "duet-header-contact": true,
10338
- "duet-header-dropdown-toggle": true,
10339
- "duet-header-button": true,
10340
- active: this.isContactOpen,
10341
- }, type: "button", "aria-haspopup": "listbox", "aria-controls": "duet-header-contact", "aria-expanded": this.isContactOpen ? "true" : "false", id: "duet-header-contact-button", onClick: event => this.toggleMenu(event, "contact") }, hAsync("div", { class: "duet-header-icon" }, hAsync("duet-icon", { margin: "none", size: "x-small", icon: navigationContactDropdown.svg, color: "currentColor" })), hAsync("span", { id: "duet-header-contact-label" }, this.contact), hAsync("div", { class: "duet-header-caret" }, hAsync("duet-icon", { margin: "none", size: "auto", icon: actionArrowDownSmall.svg, color: "currentColor" }))), hAsync("div", { ref: el => (this.contactItemsEl = el), tabindex: "-1", role: "menu", id: "duet-header-contact", "aria-labelledby": "duet-header-contact-button", class: {
10342
- "duet-header-dropdown-content": true,
10343
- "duet-header-contact-items": true,
10344
- active: this.isContactOpen,
10345
- } }, this.processedContactItems &&
10346
- this.processedContactItems.map(item => (hAsync("a", { role: "menuitem", href: item.href || "#", id: item.id, onClick: event => this.handleContactClick(event, item), onKeyDown: ev => this.handleArrowKeys(ev), target: item.external ? "_blank" : "_self" }, item.label, Build.isBrowser )))))), this.language && this.processedLanguageItems && (hAsync("div", { class: "duet-header-dropdown" }, hAsync("button", { ref: el => (this.languageItemsButtonEl = el), "aria-haspopup": "listbox", "aria-controls": "duet-header-language", "aria-expanded": this.isLanguageOpen ? "true" : "false", id: "duet-header-language-button", type: "button", class: {
10347
- "duet-header-language": true,
10348
- "duet-header-dropdown-toggle": true,
10349
- "duet-header-button": true,
10350
- active: this.isLanguageOpen,
10351
- }, onClick: event => this.toggleMenu(event, "language") }, hAsync("div", { class: "duet-header-icon" }, hAsync("duet-icon", { margin: "none", size: "x-small", icon: navigationLanguage.svg, color: "currentColor" })), hAsync("span", { "aria-hidden": "true" }, this.language), hAsync("div", { class: "duet-header-caret" }, hAsync("duet-icon", { margin: "none", size: "auto", icon: actionArrowDownSmall.svg, color: "currentColor" })), hAsync("duet-visually-hidden", null, changeLanguage, this.hasLanguageChanged && hAsync("span", null, ", ", activeLanguage))), hAsync("div", { ref: el => (this.languageItemsEl = el), tabindex: "-1", role: "menu", id: "duet-header-language", "aria-labelledby": "duet-header-language-button", class: {
10352
- "duet-header-dropdown-content": true,
10353
- "duet-header-language-items": true,
10354
- active: this.isLanguageOpen,
10355
- } }, this.processedLanguageItems &&
10356
- this.processedLanguageItems.map(item => (hAsync("a", { class: { active: this.language === item.country }, "aria-selected": this.language === item.country, role: "menuitem", id: item.id, lang: item.country, href: item.href || "#", onClick: event => this.handleLanguageClick(event, item), onKeyDown: ev => this.handleArrowKeys(ev) }, item.label)))))), this.processedUser && this.processedUser.href && (hAsync("a", { href: this.processedUser.href || "#", id: this.processedUser.id, class: "duet-header-user duet-header-button", onClick: this.handleUserClick }, hAsync("span", { class: "duet-header-icon" }, hAsync("duet-icon", { margin: "none", size: "x-small", icon: navigationUser.svg, color: "currentColor" })), hAsync("span", { class: "duet-header-user-label" }, this.processedUser.label))), this.processedUser && !this.processedUser.href && (hAsync("span", { id: this.processedUser.id, class: "duet-header-user duet-header-button duet-header-no-action" }, hAsync("span", { class: "duet-header-icon" }, hAsync("duet-icon", { margin: "none", size: "x-small", icon: navigationUser.svg, color: "currentColor" })), hAsync("span", { class: "duet-header-user-label" }, this.processedUser.label))), this.processedSession && (hAsync("a", { href: this.processedSession.href || "#", id: this.processedSession.id, class: "duet-header-logout duet-header-button", onClick: this.handleSessionClick }, hAsync("span", { class: "duet-header-icon" }, hAsync("duet-icon", { margin: "none", size: "x-small", icon: this.processedSession.type === "logout" ? navigationLogout.svg : navigationLogin.svg, color: "currentColor" })), this.processedSession.label))))))));
10653
+ this.processedItems.map((item, itemIndex) => (hAsync("div", { class: "duet-header-item-container" }, hAsync("a", { class: {
10654
+ "duet-header-first-level": true,
10655
+ "duet-header-item": true,
10656
+ active: (!itemsHaveSubItems && this.currentHref === item.href) || item.active === true,
10657
+ }, href: item.href || "#", id: item.id || `header-item-${itemIndex}`, onClick: event => this.handleItemClick(event, item) }, item.label, item.badge && hAsync("div", { class: "duet-header-badge" })), item.items &&
10658
+ item.items
10659
+ .filter(secondLevelitem => secondLevelitem.items && secondLevelitem.items.length > 0)
10660
+ .map((secondLevelItem, secondLevelItemIndex) => {
10661
+ const id = secondLevelItem.id || `header-item-${itemIndex}-${secondLevelItemIndex}`;
10662
+ return (hAsync(DuetHeaderDropdown, { id: id, className: "duet-header-second-level", label: secondLevelItem.label, icon: `${secondLevelItem.icon}.svg`, active: (!this.openMenu &&
10663
+ secondLevelItem.active === true &&
10664
+ !(this.closedActives && !!this.closedActives.find(i => i === id))) ||
10665
+ this.openMenu === id, isOpen: (!this.openMenu &&
10666
+ secondLevelItem.active === true &&
10667
+ !(this.closedActives && !!this.closedActives.find(i => i === id))) ||
10668
+ 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.active === true) }, hAsync("div", { class: "duet-header-third-level" }, secondLevelItem.items &&
10669
+ secondLevelItem.items.map(thirdLevelItem => (hAsync("a", { class: {
10670
+ "duet-header-item": true,
10671
+ active: thirdLevelItem.active === true,
10672
+ }, role: "menuitem", href: thirdLevelItem.href || "#", id: thirdLevelItem.id, onClick: event => this.handleItemClick(event, item), 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" })))))));
10673
+ }))))), hAsync("div", { class: "duet-header-bottom-utils" }, hAsync("slot", { name: "utility" })), hAsync("div", { class: "duet-header-utils" }, !itemsHaveSubItems && contactDropdown, languageDropdown, !itemsHaveSubItems && (hAsync(Fragment, null, processedUserWithLink, processedUserWithoutLink)), processedSearch, processedSession))))));
10357
10674
  }
10358
10675
  get element() { return getElement(this); }
10359
10676
  static get watchers() { return {
@@ -10384,6 +10701,7 @@ class DuetHeader {
10384
10701
  "items": [8],
10385
10702
  "region": [1],
10386
10703
  "session": [8],
10704
+ "search": [8],
10387
10705
  "back": [8],
10388
10706
  "contact": [1],
10389
10707
  "contactItems": [8, "contact-items"],
@@ -10391,12 +10709,17 @@ class DuetHeader {
10391
10709
  "isContactOpen": [32],
10392
10710
  "isLanguageOpen": [32],
10393
10711
  "isSlideOutOpen": [32],
10712
+ "isSegmentOpen": [32],
10713
+ "openMenu": [32],
10714
+ "closedActives": [32],
10394
10715
  "processedItems": [32],
10395
10716
  "processedLanguageItems": [32],
10396
10717
  "processedContactItems": [32],
10397
10718
  "processedSession": [32],
10719
+ "processedSearch": [32],
10398
10720
  "processedUser": [32],
10399
10721
  "processedBack": [32],
10722
+ "renderDesktopNav": [32],
10400
10723
  "closeMenus": [64],
10401
10724
  "setFocus": [64]
10402
10725
  },
@@ -10734,86 +11057,6 @@ class DuetHero {
10734
11057
  }; }
10735
11058
  }
10736
11059
 
10737
- const cleanupSvg = (svgContent) => {
10738
- if (typeof document === "undefined" || !svgContent) {
10739
- return;
10740
- }
10741
- const div = document.createElement("div");
10742
- div.innerHTML = svgContent;
10743
- // setup this way to ensure it works on our buddy IE
10744
- for (let i = div.childNodes.length - 1; i >= 0; i--) {
10745
- const child = div.childNodes[i];
10746
- if (child.nodeName.toLowerCase() !== "svg") {
10747
- div.removeChild(div.childNodes[i]);
10748
- }
10749
- }
10750
- return div.firstElementChild;
10751
- };
10752
- const isValid = (elm) => {
10753
- if (elm.nodeName.toLowerCase() === "script") {
10754
- return false;
10755
- }
10756
- for (let i = 0; i < elm.attributes.length; i++) {
10757
- const attribute = elm.attributes[i];
10758
- if (attribute.name.toLowerCase().indexOf("on") === 0) {
10759
- return false;
10760
- }
10761
- }
10762
- if (elm.children) {
10763
- for (let i = 0; i < elm.children.length; i++) {
10764
- if (!isValid(elm.children[i])) {
10765
- return false;
10766
- }
10767
- }
10768
- }
10769
- return true;
10770
- };
10771
- const buildIconUrl = (iconName) => {
10772
- // under normal operations the Icons should always be loaded from the CDN
10773
- {
10774
- return `${Env.cdnURIProd}/icons/${Env.duetIconVersion}/lib/assets/${iconName}.svg`;
10775
- }
10776
- };
10777
- const iconCache = {};
10778
- function fetchIconByUrl(url, isServer = Build.isServer) {
10779
- if (iconCache[url]) {
10780
- return iconCache[url];
10781
- }
10782
- // we create a function that covers all the fetching, cleanup, validation etc,
10783
- // this way we can perform that work just once, and then return the same promise in future.
10784
- async function doFetch() {
10785
- let responseText = "";
10786
- if (isServer) {
10787
- const fs = require("fs");
10788
- const path = require("path");
10789
- const iconsPath = `${path.resolve(path.dirname(require.resolve("@duetds/icons")), "..")}/lib/assets`;
10790
- const filenameFromUrl = url.split("/").pop().split("#")[0].split("?")[0];
10791
- responseText = fs.readFileSync(`${iconsPath}/${filenameFromUrl}`, "utf-8");
10792
- }
10793
- else {
10794
- const res = await fetch(url);
10795
- if (!res.ok) {
10796
- throw new Error(`SVG request failed: ${res.status} ${res.statusText}`);
10797
- }
10798
- responseText = await res.text();
10799
- }
10800
- const svgElement = cleanupSvg(responseText);
10801
- if (!isValid(svgElement)) {
10802
- throw new Error("SVG validation failed");
10803
- }
10804
- // OuterHTML does not unfortunately work here with IE11
10805
- // was previously: resolve(svgElement.outerHTML)
10806
- const div = document.createElement("div");
10807
- div.appendChild(svgElement);
10808
- return div.innerHTML;
10809
- }
10810
- // we do not `await` the fetch, as we only care about initiating the work,
10811
- // it's the responsibility of the calling code to wait for the response.
10812
- const req = doFetch();
10813
- // cache for the repeat requests
10814
- return (iconCache[url] = req);
10815
- }
10816
-
10817
11060
  const duetIconCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-icon,*.sc-duet-icon::after,*.sc-duet-icon::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-icon-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:16px !important;display:inline-block;width:auto;max-width:100%;color:inherit;-webkit-tap-highlight-color:transparent}@media (max-width: 35.9375em){/*!@:host(.duet-icon-has-outline)*/.duet-icon-has-outline.sc-duet-icon-h{margin-bottom:0 !important}}@media (max-width: 35.9375em){/*!@:host(.duet-icon-has-background)*/.duet-icon-has-background.sc-duet-icon-h{margin-bottom:0 !important}}/*!@:host(.duet-m-0)*/.duet-m-0.sc-duet-icon-h{margin:0 !important}@media (max-width: 35.9375em){/*!@:host(.duet-m-0)*/.duet-m-0.sc-duet-icon-h{margin:0 !important}}/*!@.duet-icon*/.duet-icon.sc-duet-icon{-webkit-user-select:none;user-select:none;width:100%;height:100%;transform-origin:top center}/*!@.duet-icon.duet-icon-has-outline*/.duet-icon.duet-icon-has-outline.sc-duet-icon{padding:12px;border-style:solid;border-width:1px;border-radius:50%}@media (max-width: 35.9375em){/*!@.duet-icon.duet-icon-has-outline*/.duet-icon.duet-icon-has-outline.sc-duet-icon{outline:1px solid transparent;transform:scale(0.8)}}/*!@.duet-icon.duet-icon-has-background*/.duet-icon.duet-icon-has-background.sc-duet-icon{padding:16px;color:white;border-radius:50%}@media (max-width: 35.9375em){/*!@.duet-icon.duet-icon-has-background*/.duet-icon.duet-icon-has-background.sc-duet-icon{outline:1px solid transparent;transform:scale(0.8)}}/*!@.duet-icon.duet-icon-has-background.duet-theme-turva, .duet-icon.duet-icon-has-background.duet-theme-default*/.duet-icon.duet-icon-has-background.duet-theme-turva.sc-duet-icon,.duet-icon.duet-icon-has-background.duet-theme-default.sc-duet-icon{color:white}/*!@.duet-icon.duet-icon-has-background.xxx-small .duet-icon-svg, .duet-icon.duet-icon-has-outline.xxx-small .duet-icon-svg*/.duet-icon.duet-icon-has-background.xxx-small.sc-duet-icon .duet-icon-svg.sc-duet-icon,.duet-icon.duet-icon-has-outline.xxx-small.sc-duet-icon .duet-icon-svg.sc-duet-icon{width:10px;height:10px}/*!@.duet-icon.duet-icon-has-background.xx-small .duet-icon-svg, .duet-icon.duet-icon-has-outline.xx-small .duet-icon-svg*/.duet-icon.duet-icon-has-background.xx-small.sc-duet-icon .duet-icon-svg.sc-duet-icon,.duet-icon.duet-icon-has-outline.xx-small.sc-duet-icon .duet-icon-svg.sc-duet-icon{width:16px;height:16px}@media (max-width: 35.9375em){/*!@.duet-icon.duet-icon-not-responsive*/.duet-icon.duet-icon-not-responsive.sc-duet-icon{transform:scale(1) !important}}/*!@.duet-icon.duet-theme-default*/.duet-icon.duet-theme-default.sc-duet-icon{color:#0077b3}/*!@.duet-icon.duet-theme-turva*/.duet-icon.duet-theme-turva.sc-duet-icon{color:#c60c30}/*!@.duet-icon.auto .duet-icon-svg*/.duet-icon.auto.sc-duet-icon .duet-icon-svg.sc-duet-icon{width:100%;height:100%}/*!@.duet-icon.xxx-small .duet-icon-svg*/.duet-icon.xxx-small.sc-duet-icon .duet-icon-svg.sc-duet-icon{width:7px;height:7px}/*!@.duet-icon.duet-icon-has-background.xxx-small*/.duet-icon.duet-icon-has-background.xxx-small.sc-duet-icon{padding:6px}/*!@.duet-icon.duet-icon-has-outline.xxx-small*/.duet-icon.duet-icon-has-outline.xxx-small.sc-duet-icon{padding:4px}/*!@.duet-icon.xx-small .duet-icon-svg*/.duet-icon.xx-small.sc-duet-icon .duet-icon-svg.sc-duet-icon{width:10px;height:10px}/*!@.duet-icon.duet-icon-has-background.xx-small*/.duet-icon.duet-icon-has-background.xx-small.sc-duet-icon{padding:8px}/*!@.duet-icon.duet-icon-has-outline.xx-small*/.duet-icon.duet-icon-has-outline.xx-small.sc-duet-icon{padding:7px}/*!@.duet-icon.x-small .duet-icon-svg*/.duet-icon.x-small.sc-duet-icon .duet-icon-svg.sc-duet-icon{width:16px;height:16px}/*!@.duet-icon.duet-icon-has-outline.x-small*/.duet-icon.duet-icon-has-outline.x-small.sc-duet-icon{padding:10px}/*!@.duet-icon.duet-icon-has-background.x-small*/.duet-icon.duet-icon-has-background.x-small.sc-duet-icon{padding:12px}/*!@.duet-icon.small .duet-icon-svg*/.duet-icon.small.sc-duet-icon .duet-icon-svg.sc-duet-icon{width:20px;height:20px}/*!@.duet-icon.duet-icon-has-background.small*/.duet-icon.duet-icon-has-background.small.sc-duet-icon{padding:14px}/*!@.duet-icon.large .duet-icon-svg*/.duet-icon.large.sc-duet-icon .duet-icon-svg.sc-duet-icon{width:30px;height:30px}/*!@.duet-icon.x-large .duet-icon-svg*/.duet-icon.x-large.sc-duet-icon .duet-icon-svg.sc-duet-icon{width:36px;height:36px}/*!@.duet-icon.xx-large .duet-icon-svg*/.duet-icon.xx-large.sc-duet-icon .duet-icon-svg.sc-duet-icon{width:48px;height:48px}/*!@.duet-icon.xxx-large .duet-icon-svg*/.duet-icon.xxx-large.sc-duet-icon .duet-icon-svg.sc-duet-icon{width:48px;height:48px}@media (min-width: 48em){/*!@.duet-icon.xxx-large .duet-icon-svg*/.duet-icon.xxx-large.sc-duet-icon .duet-icon-svg.sc-duet-icon{width:72px;height:72px}}/*!@.duet-icon .duet-icon-svg*/.duet-icon.sc-duet-icon .duet-icon-svg.sc-duet-icon{display:block;width:24px;min-width:100%;height:24px;font-size:0}/*!@.duet-icon svg*/.duet-icon.sc-duet-icon svg.sc-duet-icon{width:100%;min-width:100%;fill:currentColor}";
10818
11061
 
10819
11062
  class DuetIcon {
@@ -10870,7 +11113,7 @@ class DuetIcon {
10870
11113
  if (this.src && this.icon) {
10871
11114
  console.warn("[DUET COMPONENTS]: <duet-icon> should have either have src or icon attributes, but not both. icon attribute will take precedence", "icon:", this.icon, "src:", this.src);
10872
11115
  }
10873
- return this.loadIcon();
11116
+ this.loadIcon();
10874
11117
  }
10875
11118
  async loadIcon() {
10876
11119
  // static icon known at build-time, so we can set it synchronously
@@ -10878,13 +11121,9 @@ class DuetIcon {
10878
11121
  this.svgContent = this.icon;
10879
11122
  return;
10880
11123
  }
10881
- // dynamically load icon from url
10882
- const src = this.src ? this.src : buildIconUrl(this.name);
10883
- try {
10884
- this.svgContent = await fetchIconByUrl(src);
10885
- }
10886
- catch (e) {
10887
- console.warn(`[DUET COMPONENTS]: <duet-icon> could not load SVG from URL: ${src}.`, e);
11124
+ // on server, don't make requests
11125
+ {
11126
+ return;
10888
11127
  }
10889
11128
  }
10890
11129
  /**
@@ -10892,11 +11131,13 @@ class DuetIcon {
10892
11131
  * Always the last one in the class.
10893
11132
  */
10894
11133
  render() {
10895
- const color = this.color === "currentColor" ? "currentColor" : getColorByName(this.color) || getColorByName(this.outline);
11134
+ const color = this.color === "currentColor"
11135
+ ? "currentColor"
11136
+ : getColorByName(this.color, this.theme) || getColorByName(this.outline, this.theme);
10896
11137
  const styles = {
10897
11138
  color,
10898
- background: getColorByName(this.background),
10899
- "border-color": getColorByName(this.outline),
11139
+ background: getColorByName(this.background, this.theme),
11140
+ "border-color": getColorByName(this.outline, this.theme),
10900
11141
  };
10901
11142
  return (hAsync(Host, { class: {
10902
11143
  "duet-m-0": this.margin === "none",
@@ -10943,8 +11184,6 @@ class DuetIcon {
10943
11184
 
10944
11185
  var formEmail={"title":"form-email","tags":"form email","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M12 23.999c-3.205 0-6.218-1.248-8.484-3.514S.001 15.206.001 12.001s1.248-6.218 3.514-8.485C5.782 1.25 8.795.001 12 .001s6.218 1.248 8.485 3.514A11.92 11.92 0 0 1 24 12v2.25A3.754 3.754 0 0 1 20.25 18a3.77 3.77 0 0 1-3.48-2.365A6.009 6.009 0 0 1 12 18c-3.308 0-6-2.692-6-6s2.692-6 6-6 6 2.692 6 6v2.25c0 1.241 1.009 2.25 2.25 2.25s2.25-1.009 2.25-2.25V12c0-2.804-1.092-5.441-3.075-7.424A10.433 10.433 0 0 0 12 1.501c-2.804 0-5.441 1.092-7.424 3.075S1.501 9.196 1.501 12c0 2.805 1.092 5.441 3.075 7.424s4.619 3.074 7.423 3.074c2.257 0 4.494-.746 6.299-2.1a.749.749 0 1 1 .9 1.199A12.049 12.049 0 0 1 12 23.999zM12 7.5c-2.481 0-4.5 2.019-4.5 4.5s2.019 4.5 4.5 4.5 4.5-2.019 4.5-4.5-2.019-4.5-4.5-4.5z\"/></svg>"};
10945
11186
 
10946
- var formSearch={"title":"form-search","tags":"form search magnifying glass","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M23.245 23.996a.743.743 0 0 1-.53-.22L16.2 17.26a9.824 9.824 0 0 1-2.553 1.579 9.766 9.766 0 0 1-7.51.069 9.745 9.745 0 0 1-5.359-5.262c-1.025-2.412-1.05-5.08-.069-7.51S3.558 1.802 5.97.777a9.744 9.744 0 0 1 7.51-.069c2.431.981 4.334 2.849 5.359 5.262s1.05 5.08.069 7.51a9.807 9.807 0 0 1-1.649 2.718l6.517 6.518a.75.75 0 0 1-.531 1.28zM9.807 1.49a8.259 8.259 0 0 0-3.25.667c-2.044.869-3.627 2.481-4.458 4.54s-.81 4.318.058 6.362a8.26 8.26 0 0 0 4.54 4.458 8.259 8.259 0 0 0 6.362-.059 8.285 8.285 0 0 0 2.594-1.736.365.365 0 0 1 .077-.076 8.245 8.245 0 0 0 1.786-2.728 8.255 8.255 0 0 0-.059-6.362 8.257 8.257 0 0 0-4.54-4.458 8.28 8.28 0 0 0-3.11-.608z\"/></svg>"};
10947
-
10948
11187
  /**
10949
11188
  * This function restores cursor position after changing input
10950
11189
  *
@@ -11400,6 +11639,9 @@ class DuetLayout {
11400
11639
 
11401
11640
  const duetLinkCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-link,*.sc-duet-link::after,*.sc-duet-link::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-link-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:inline}/*!@.duet-link*/.duet-link.sc-duet-link{display:inline;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;font-weight:400;color:#0077b3;text-decoration:underline;border-radius:4px;transition:300ms ease}/*!@.duet-link:focus*/.duet-link.sc-duet-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-theme-turva .duet-link:focus, .duet-link:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-link .duet-link.sc-duet-link:focus,.duet-link.sc-duet-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-link.duet-theme-turva*/.duet-link.duet-theme-turva.sc-duet-link{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#c60c30}/*!@.duet-link:hover*/.duet-link.sc-duet-link:hover{color:#004d80;text-decoration:none}/*!@.duet-link:hover.duet-theme-turva*/.duet-link.sc-duet-link:hover.duet-theme-turva{color:#940925}/*!@.duet-link:active*/.duet-link.sc-duet-link:active{opacity:0.75;transition:none}/*!@.duet-link-external*/.duet-link-external.sc-duet-link{margin-left:4px}";
11402
11641
 
11642
+ /**
11643
+ * @part duet-link - piercing selector for styling the link
11644
+ */
11403
11645
  class DuetLink {
11404
11646
  constructor(hostRef) {
11405
11647
  registerInstance(this, hostRef);
@@ -11455,7 +11697,7 @@ class DuetLink {
11455
11697
  "duet-link": true,
11456
11698
  "duet-link-is-external": this.external,
11457
11699
  "duet-theme-turva": this.theme === "turva",
11458
- }, target: this.external ? "_blank" : "_self", "aria-label": this.accessibleLabel, id: this.identifier, ref: el => (this.nativeLink = el) }, hAsync("slot", null), Build.isBrowser )));
11700
+ }, target: this.external ? "_blank" : "_self", "aria-label": this.accessibleLabel, id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link" }, hAsync("slot", null), Build.isBrowser )));
11459
11701
  }
11460
11702
  static get delegatesFocus() { return true; }
11461
11703
  static get style() { return duetLinkCss; }
@@ -11597,7 +11839,7 @@ class DuetList {
11597
11839
  }; }
11598
11840
  }
11599
11841
 
11600
- const duetListItemCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-list-item,*.sc-duet-list-item::after,*.sc-duet-list-item::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-list-item-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:flex;flex-flow:row;width:100%;overflow:visible;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25;color:#00294d}@media (max-width: 35.9375em){/*!@:host*/.sc-duet-list-item-h{flex-wrap:wrap}}/*!@:host dt,\n:host dd*/.sc-duet-list-item-h dt.sc-duet-list-item,.sc-duet-list-item-h dd.sc-duet-list-item{-webkit-hyphens:auto;hyphens:auto;text-align:left;word-break:break-all;word-break:break-word;margin-inline-start:0}@media (max-width: 35.9375em){/*!@:host dt,\n:host dd*/.sc-duet-list-item-h dt.sc-duet-list-item,.sc-duet-list-item-h dd.sc-duet-list-item{flex:inherit;flex-basis:100% !important;width:100%;padding-bottom:4px !important}}/*!@:host dt*/.sc-duet-list-item-h dt.sc-duet-list-item{padding:16px !important;font-weight:600}@media (max-width: 35.9375em){/*!@:host dt*/.sc-duet-list-item-h dt.sc-duet-list-item{padding-bottom:4px !important}}/*!@.duet-theme-turva :host dt*/.duet-theme-turva .sc-duet-list-item-h dt.sc-duet-list-item{font-weight:700}/*!@:host dd*/.sc-duet-list-item-h dd.sc-duet-list-item{padding:16px !important;margin-left:auto;text-align:left}@media (max-width: 35.9375em){/*!@:host dd*/.sc-duet-list-item-h dd.sc-duet-list-item{padding-top:0 !important}}/*!@:host(:not(.duet-list-striped)) dt*/.sc-duet-list-item-h:not(.duet-list-striped) dt.sc-duet-list-item{padding:8px !important;padding-left:0 !important}@media (max-width: 35.9375em){/*!@:host(:not(.duet-list-striped)) dt*/.sc-duet-list-item-h:not(.duet-list-striped) dt.sc-duet-list-item{padding-bottom:4px !important}}/*!@:host(:not(.duet-list-striped)) dd*/.sc-duet-list-item-h:not(.duet-list-striped) dd.sc-duet-list-item{padding:8px !important;padding-left:0 !important}@media (max-width: 35.9375em){/*!@:host(:not(.duet-list-striped)) dd*/.sc-duet-list-item-h:not(.duet-list-striped) dd.sc-duet-list-item{padding-top:0 !important}}/*!@:host(.duet-theme-turva)*/.duet-theme-turva.sc-duet-list-item-h{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}/*!@:host(.duet-list-striped:nth-child(odd)) dt,\n:host(.duet-list-striped:nth-child(odd)) dd*/.duet-list-striped.sc-duet-list-item-h:nth-child(odd) dt.sc-duet-list-item,.duet-list-striped.sc-duet-list-item-h:nth-child(odd) dd.sc-duet-list-item{background:#f5f8fa}/*!@:host(.duet-list-striped.duet-theme-turva:nth-child(odd)) dt,\n:host(.duet-list-striped.duet-theme-turva:nth-child(odd)) dd*/.duet-list-striped.duet-theme-turva.sc-duet-list-item-h:nth-child(odd) dt.sc-duet-list-item,.duet-list-striped.duet-theme-turva.sc-duet-list-item-h:nth-child(odd) dd.sc-duet-list-item{background:#f5f5f7}/*!@:host(.duet-list-width-30) dt*/.duet-list-width-30.sc-duet-list-item-h dt.sc-duet-list-item{flex-basis:33%}/*!@:host(.duet-list-width-30) dd*/.duet-list-width-30.sc-duet-list-item-h dd.sc-duet-list-item{flex-basis:67%}/*!@:host(.duet-list-width-50) dt*/.duet-list-width-50.sc-duet-list-item-h dt.sc-duet-list-item{flex-basis:47%}/*!@:host(.duet-list-width-50) dd*/.duet-list-width-50.sc-duet-list-item-h dd.sc-duet-list-item{flex-basis:53%}/*!@:host(.duet-list-width-70) dt*/.duet-list-width-70.sc-duet-list-item-h dt.sc-duet-list-item{flex-basis:65%}/*!@:host(.duet-list-width-70) dd*/.duet-list-width-70.sc-duet-list-item-h dd.sc-duet-list-item{flex-basis:35%}/*!@:host(.duet-p-0) dt,\n:host(.duet-p-0) dd*/.duet-p-0.sc-duet-list-item-h dt.sc-duet-list-item,.duet-p-0.sc-duet-list-item-h dd.sc-duet-list-item{padding-top:0 !important;padding-bottom:4px !important}@media (max-width: 35.9375em){/*!@:host(.duet-list-mobile-center) dt,\n:host(.duet-list-mobile-center) dd*/.duet-list-mobile-center.sc-duet-list-item-h dt.sc-duet-list-item,.duet-list-mobile-center.sc-duet-list-item-h dd.sc-duet-list-item{text-align:center}}@media (max-width: 61.9375em){/*!@:host(.duet-list-breakpoint-large)*/.duet-list-breakpoint-large.sc-duet-list-item-h{flex-wrap:wrap}/*!@:host(.duet-list-breakpoint-large) dt,\n:host(.duet-list-breakpoint-large) dd*/.duet-list-breakpoint-large.sc-duet-list-item-h dt.sc-duet-list-item,.duet-list-breakpoint-large.sc-duet-list-item-h dd.sc-duet-list-item{flex:inherit;flex-basis:100% !important;width:100%;padding-bottom:4px !important}/*!@:host(.duet-list-breakpoint-large) dd*/.duet-list-breakpoint-large.sc-duet-list-item-h dd.sc-duet-list-item{padding-top:0 !important}}/*!@:host(.duet-list-breakpoint-large.duet-list-striped) dd*/.duet-list-breakpoint-large.duet-list-striped.sc-duet-list-item-h dd.sc-duet-list-item{padding-bottom:16px !important}@media (max-width: 61.9375em){/*!@:host(.duet-list-breakpoint-large.duet-list-mobile-center) dt,\n:host(.duet-list-breakpoint-large.duet-list-mobile-center) dd*/.duet-list-breakpoint-large.duet-list-mobile-center.sc-duet-list-item-h dt.sc-duet-list-item,.duet-list-breakpoint-large.duet-list-mobile-center.sc-duet-list-item-h dd.sc-duet-list-item{text-align:center !important}}";
11842
+ const duetListItemCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-list-item,*.sc-duet-list-item::after,*.sc-duet-list-item::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-list-item-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:flex;flex-flow:row;width:100%;overflow:visible;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25;color:#00294d}@media (max-width: 35.9375em){/*!@:host*/.sc-duet-list-item-h{flex-wrap:wrap}}/*!@:host dt,\n:host dd*/.sc-duet-list-item-h dt.sc-duet-list-item,.sc-duet-list-item-h dd.sc-duet-list-item{margin-inline-start:0;-webkit-hyphens:auto;hyphens:auto;text-align:left;word-break:break-all;word-break:break-word}@media (max-width: 35.9375em){/*!@:host dt,\n:host dd*/.sc-duet-list-item-h dt.sc-duet-list-item,.sc-duet-list-item-h dd.sc-duet-list-item{flex:inherit;flex-basis:100% !important;width:100%;padding-bottom:4px !important}}/*!@:host dt*/.sc-duet-list-item-h dt.sc-duet-list-item{padding:16px !important;font-weight:600}@media (max-width: 35.9375em){/*!@:host dt*/.sc-duet-list-item-h dt.sc-duet-list-item{padding-bottom:4px !important}}/*!@.duet-theme-turva :host dt*/.duet-theme-turva .sc-duet-list-item-h dt.sc-duet-list-item{font-weight:700}/*!@:host dd*/.sc-duet-list-item-h dd.sc-duet-list-item{padding:16px !important;margin-left:auto;text-align:left}@media (max-width: 35.9375em){/*!@:host dd*/.sc-duet-list-item-h dd.sc-duet-list-item{padding-top:0 !important}}/*!@:host(:not(.duet-list-striped)) dt*/.sc-duet-list-item-h:not(.duet-list-striped) dt.sc-duet-list-item{padding:8px !important;padding-left:0 !important}@media (max-width: 35.9375em){/*!@:host(:not(.duet-list-striped)) dt*/.sc-duet-list-item-h:not(.duet-list-striped) dt.sc-duet-list-item{padding-bottom:4px !important}}/*!@:host(:not(.duet-list-striped)) dd*/.sc-duet-list-item-h:not(.duet-list-striped) dd.sc-duet-list-item{padding:8px !important;padding-left:0 !important}@media (max-width: 35.9375em){/*!@:host(:not(.duet-list-striped)) dd*/.sc-duet-list-item-h:not(.duet-list-striped) dd.sc-duet-list-item{padding-top:0 !important}}/*!@:host(.duet-theme-turva)*/.duet-theme-turva.sc-duet-list-item-h{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}/*!@:host(.duet-list-striped:nth-child(odd)) dt,\n:host(.duet-list-striped:nth-child(odd)) dd*/.duet-list-striped.sc-duet-list-item-h:nth-child(odd) dt.sc-duet-list-item,.duet-list-striped.sc-duet-list-item-h:nth-child(odd) dd.sc-duet-list-item{background:#f5f8fa}/*!@:host(.duet-list-striped.duet-theme-turva:nth-child(odd)) dt,\n:host(.duet-list-striped.duet-theme-turva:nth-child(odd)) dd*/.duet-list-striped.duet-theme-turva.sc-duet-list-item-h:nth-child(odd) dt.sc-duet-list-item,.duet-list-striped.duet-theme-turva.sc-duet-list-item-h:nth-child(odd) dd.sc-duet-list-item{background:#f5f5f7}/*!@:host(.duet-list-width-30) dt*/.duet-list-width-30.sc-duet-list-item-h dt.sc-duet-list-item{flex-basis:33%}/*!@:host(.duet-list-width-30) dd*/.duet-list-width-30.sc-duet-list-item-h dd.sc-duet-list-item{flex-basis:67%}/*!@:host(.duet-list-width-50) dt*/.duet-list-width-50.sc-duet-list-item-h dt.sc-duet-list-item{flex-basis:47%}/*!@:host(.duet-list-width-50) dd*/.duet-list-width-50.sc-duet-list-item-h dd.sc-duet-list-item{flex-basis:53%}/*!@:host(.duet-list-width-70) dt*/.duet-list-width-70.sc-duet-list-item-h dt.sc-duet-list-item{flex-basis:65%}/*!@:host(.duet-list-width-70) dd*/.duet-list-width-70.sc-duet-list-item-h dd.sc-duet-list-item{flex-basis:35%}/*!@:host(.duet-p-0) dt,\n:host(.duet-p-0) dd*/.duet-p-0.sc-duet-list-item-h dt.sc-duet-list-item,.duet-p-0.sc-duet-list-item-h dd.sc-duet-list-item{padding-top:0 !important;padding-bottom:4px !important}@media (max-width: 35.9375em){/*!@:host(.duet-list-mobile-center) dt,\n:host(.duet-list-mobile-center) dd*/.duet-list-mobile-center.sc-duet-list-item-h dt.sc-duet-list-item,.duet-list-mobile-center.sc-duet-list-item-h dd.sc-duet-list-item{text-align:center}}@media (max-width: 61.9375em){/*!@:host(.duet-list-breakpoint-large)*/.duet-list-breakpoint-large.sc-duet-list-item-h{flex-wrap:wrap}/*!@:host(.duet-list-breakpoint-large) dt,\n:host(.duet-list-breakpoint-large) dd*/.duet-list-breakpoint-large.sc-duet-list-item-h dt.sc-duet-list-item,.duet-list-breakpoint-large.sc-duet-list-item-h dd.sc-duet-list-item{flex:inherit;flex-basis:100% !important;width:100%;padding-bottom:4px !important}/*!@:host(.duet-list-breakpoint-large) dd*/.duet-list-breakpoint-large.sc-duet-list-item-h dd.sc-duet-list-item{padding-top:0 !important}}/*!@:host(.duet-list-breakpoint-large.duet-list-striped) dd*/.duet-list-breakpoint-large.duet-list-striped.sc-duet-list-item-h dd.sc-duet-list-item{padding-bottom:16px !important}@media (max-width: 61.9375em){/*!@:host(.duet-list-breakpoint-large.duet-list-mobile-center) dt,\n:host(.duet-list-breakpoint-large.duet-list-mobile-center) dd*/.duet-list-breakpoint-large.duet-list-mobile-center.sc-duet-list-item-h dt.sc-duet-list-item,.duet-list-breakpoint-large.duet-list-mobile-center.sc-duet-list-item-h dd.sc-duet-list-item{text-align:center !important}}";
11601
11843
 
11602
11844
  /**
11603
11845
  * @slot label - The list item component’s label content. Use this to put content into description list’s dt element.
@@ -12078,7 +12320,7 @@ class DuetNotification {
12078
12320
  }; }
12079
12321
  }
12080
12322
 
12081
- const duetNotificationDrawerCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-notification-drawer,*.sc-duet-notification-drawer::after,*.sc-duet-notification-drawer::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-notification-drawer-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}/*!@.duet-drawer*/.duet-drawer.sc-duet-notification-drawer{position:relative}@media (min-width: 62em){/*!@.duet-drawer*/.duet-drawer.sc-duet-notification-drawer{display:inline-block}}/*!@.duet-drawer-toggle*/.duet-drawer-toggle.sc-duet-notification-drawer{position:relative;display:flex;align-items:center;width:100%;height:48px;padding:0 20px;overflow:hidden;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;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:0;-webkit-appearance:none;appearance:none}@media (min-width: 62em){/*!@.duet-drawer-toggle*/.duet-drawer-toggle.sc-duet-notification-drawer{z-index:200;width:auto;max-width:200px;padding:0 30px 0 12px;overflow:hidden;font-size:0.875rem;line-height:4rem;background-color:white;border:0;border-radius:4px;transition:border 300ms ease}}/*!@.duet-theme-turva .duet-drawer-toggle*/.duet-theme-turva.sc-duet-notification-drawer .duet-drawer-toggle.sc-duet-notification-drawer{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;border-color:#e4e4e6}/*!@.duet-drawer-toggle:active*/.duet-drawer-toggle.sc-duet-notification-drawer:active{opacity:0.75}/*!@.duet-drawer-toggle:focus*/.duet-drawer-toggle.sc-duet-notification-drawer:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-drawer-toggle:focus*/.user-is-tabbing.sc-duet-notification-drawer-h .duet-drawer-toggle.sc-duet-notification-drawer: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-drawer-toggle:focus*/.user-is-tabbing.sc-duet-notification-drawer-h .duet-theme-turva.sc-duet-notification-drawer .duet-drawer-toggle.sc-duet-notification-drawer:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-drawer-toggle:hover*/.duet-drawer-toggle.sc-duet-notification-drawer:hover{color:#004d80}/*!@.duet-theme-turva .duet-drawer-toggle:hover*/.duet-theme-turva.sc-duet-notification-drawer .duet-drawer-toggle.sc-duet-notification-drawer:hover{color:#444445}/*!@.duet-drawer-toggle::after*/.duet-drawer-toggle.sc-duet-notification-drawer::after{display:none !important}@media (min-width: 62em){/*!@.duet-drawer-toggle::after*/.duet-drawer-toggle.sc-duet-notification-drawer::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-theme-turva .duet-drawer-toggle::after*/.duet-theme-turva.sc-duet-notification-drawer .duet-drawer-toggle.sc-duet-notification-drawer::after{background:#c60c30}}/*!@.duet-drawer-toggle[aria-expanded=true], .duet-drawer-toggle[aria-expanded=true]:hover*/.duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer,.duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer:hover{color:#004d80;border-bottom:1px solid #f5f8fa;border-radius:0}/*!@.duet-theme-turva .duet-drawer-toggle[aria-expanded=true], .duet-theme-turva .duet-drawer-toggle[aria-expanded=true]:hover*/.duet-theme-turva.sc-duet-notification-drawer .duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer,.duet-theme-turva.sc-duet-notification-drawer .duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer:hover{color:#444445;border-color:#f5f5f7}@media (min-width: 62em){/*!@.duet-drawer-toggle[aria-expanded=true], .duet-drawer-toggle[aria-expanded=true]:hover*/.duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer,.duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer:hover{border:0}/*!@.duet-drawer-toggle[aria-expanded=true]::after, .duet-drawer-toggle[aria-expanded=true]:hover::after*/.duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer::after,.duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer:hover::after{left:0;width:100%;transform:translateY(0)}}/*!@.duet-drawer-icon*/.duet-drawer-icon.sc-duet-notification-drawer{position:relative;display:inline-flex;min-width:12px;margin-right:12px;font-size:0;line-height:normal;vertical-align:baseline}@media (min-width: 62em){/*!@.duet-drawer-icon*/.duet-drawer-icon.sc-duet-notification-drawer{margin-right:8px}}/*!@.duet-drawer-label*/.duet-drawer-label.sc-duet-notification-drawer{line-height:1}/*!@.duet-drawer-caret*/.duet-drawer-caret.sc-duet-notification-drawer{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-drawer-caret*/.duet-drawer-caret.sc-duet-notification-drawer{right:16px;width:7px;height:7px}}/*!@.duet-drawer-caret duet-icon*/.duet-drawer-caret.sc-duet-notification-drawer duet-icon.sc-duet-notification-drawer{width:10px}/*!@.duet-drawer-toggle[aria-expanded=true] .duet-drawer-caret*/.duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer .duet-drawer-caret.sc-duet-notification-drawer{transform:translateY(-50%) rotate(180deg)}/*!@.duet-drawer-badge*/.duet-drawer-badge.sc-duet-notification-drawer{position:absolute;top:0;right:0;display:inline-block;width:6px;height:6px;background:#f7b228;border-radius:50%;box-shadow:0 0 0 1px #c18b1f}/*!@.duet-theme-turva .duet-drawer-badge*/.duet-theme-turva.sc-duet-notification-drawer .duet-drawer-badge.sc-duet-notification-drawer{background:#faa40f}/*!@.duet-drawer-content*/.duet-drawer-content.sc-duet-notification-drawer{display:none;background-color:#f5f8fa;border-bottom:1px solid #e1e3e6}/*!@.duet-drawer-content:focus*/.duet-drawer-content.sc-duet-notification-drawer:focus{outline:0}/*!@.duet-theme-turva .duet-drawer-content*/.duet-theme-turva.sc-duet-notification-drawer .duet-drawer-content.sc-duet-notification-drawer{background-color:#f5f5f7;border-color:#e1e3e6}@media (min-width: 62em){/*!@.duet-drawer-content*/.duet-drawer-content.sc-duet-notification-drawer{position:absolute;top:100%;z-index:600;display:block;width:450px;max-height:420px;padding-left:0;overflow-y:auto;visibility:hidden;background-color:white;border:1px solid #e1e3e6;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.95) translateZ(0) translateY(-10px);transform-origin:50% 0;scrollbar-width:none}/*!@.duet-drawer-content::-webkit-scrollbar*/.duet-drawer-content.sc-duet-notification-drawer::-webkit-scrollbar{display:none}/*!@.duet-theme-turva .duet-drawer-content*/.duet-theme-turva.sc-duet-notification-drawer .duet-drawer-content.sc-duet-notification-drawer{background-color:white}/*!@.duet-drawer-content.duet-drawer-left*/.duet-drawer-content.duet-drawer-left.sc-duet-notification-drawer{right:0}/*!@.duet-drawer-content.duet-drawer-right*/.duet-drawer-content.duet-drawer-right.sc-duet-notification-drawer{left:0}}/*!@.duet-drawer-content.duet-drawer-open*/.duet-drawer-content.duet-drawer-open.sc-duet-notification-drawer{display:block}@media (min-width: 62em){/*!@.duet-drawer-content.duet-drawer-open*/.duet-drawer-content.duet-drawer-open.sc-duet-notification-drawer{visibility:visible;opacity:1;transform:scale(1) translateZ(0) translateY(0)}}";
12323
+ const duetNotificationDrawerCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-notification-drawer,*.sc-duet-notification-drawer::after,*.sc-duet-notification-drawer::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-notification-drawer-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}/*!@.duet-drawer*/.duet-drawer.sc-duet-notification-drawer{position:relative}@media (min-width: 62em){/*!@.duet-drawer*/.duet-drawer.sc-duet-notification-drawer{display:inline-block}}/*!@.duet-drawer-toggle*/.duet-drawer-toggle.sc-duet-notification-drawer{position:relative;display:flex;align-items:center;width:100%;height:48px;padding:0 20px;overflow:hidden;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:48px;color:#00294d;text-align:left;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background-color:white;border-bottom:1px solid #e1e3e6;border-radius:0;-webkit-appearance:none;appearance:none}@media (min-width: 62em){/*!@.duet-drawer-toggle*/.duet-drawer-toggle.sc-duet-notification-drawer{z-index:200;width:auto;max-width:200px;padding:0 30px 0 12px;overflow:hidden;font-size:0.875rem;line-height:4rem;border:0;border-radius:4px;transition:border 300ms ease}}/*!@.duet-theme-turva .duet-drawer-toggle*/.duet-theme-turva.sc-duet-notification-drawer .duet-drawer-toggle.sc-duet-notification-drawer{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;background-color:white;border-color:#e4e4e6}/*!@.duet-drawer-toggle:active*/.duet-drawer-toggle.sc-duet-notification-drawer:active{opacity:0.75}/*!@.duet-drawer-toggle:focus*/.duet-drawer-toggle.sc-duet-notification-drawer:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-drawer-toggle:focus*/.user-is-tabbing.sc-duet-notification-drawer-h .duet-drawer-toggle.sc-duet-notification-drawer: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-drawer-toggle:focus*/.user-is-tabbing.sc-duet-notification-drawer-h .duet-theme-turva.sc-duet-notification-drawer .duet-drawer-toggle.sc-duet-notification-drawer:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-drawer-toggle:hover*/.duet-drawer-toggle.sc-duet-notification-drawer:hover{color:#004d80}/*!@.duet-theme-turva .duet-drawer-toggle:hover*/.duet-theme-turva.sc-duet-notification-drawer .duet-drawer-toggle.sc-duet-notification-drawer:hover{color:#444445}/*!@.duet-drawer-toggle::after*/.duet-drawer-toggle.sc-duet-notification-drawer::after{display:none !important}@media (min-width: 62em){/*!@.duet-drawer-toggle::after*/.duet-drawer-toggle.sc-duet-notification-drawer::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-theme-turva .duet-drawer-toggle::after*/.duet-theme-turva.sc-duet-notification-drawer .duet-drawer-toggle.sc-duet-notification-drawer::after{background:#c60c30}}/*!@.duet-drawer-toggle[aria-expanded=true], .duet-drawer-toggle[aria-expanded=true]:hover*/.duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer,.duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer:hover{color:#004d80;border-bottom:1px solid #f5f8fa;border-radius:0}/*!@.duet-theme-turva .duet-drawer-toggle[aria-expanded=true], .duet-theme-turva .duet-drawer-toggle[aria-expanded=true]:hover*/.duet-theme-turva.sc-duet-notification-drawer .duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer,.duet-theme-turva.sc-duet-notification-drawer .duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer:hover{color:#444445;border-color:#f5f5f7}@media (min-width: 62em){/*!@.duet-drawer-toggle[aria-expanded=true], .duet-drawer-toggle[aria-expanded=true]:hover*/.duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer,.duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer:hover{border:0}/*!@.duet-drawer-toggle[aria-expanded=true]::after, .duet-drawer-toggle[aria-expanded=true]:hover::after*/.duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer::after,.duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer:hover::after{left:0;width:100%;transform:translateY(0)}}/*!@.duet-drawer-icon*/.duet-drawer-icon.sc-duet-notification-drawer{position:relative;display:inline-flex;min-width:12px;margin-right:12px;font-size:0;line-height:normal;vertical-align:baseline}@media (min-width: 62em){/*!@.duet-drawer-icon*/.duet-drawer-icon.sc-duet-notification-drawer{margin-right:8px}}/*!@.duet-drawer-label*/.duet-drawer-label.sc-duet-notification-drawer{line-height:1}/*!@.duet-drawer-caret*/.duet-drawer-caret.sc-duet-notification-drawer{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-drawer-caret*/.duet-drawer-caret.sc-duet-notification-drawer{right:16px;width:7px;height:7px}}/*!@.duet-drawer-caret duet-icon*/.duet-drawer-caret.sc-duet-notification-drawer duet-icon.sc-duet-notification-drawer{width:10px}/*!@.duet-drawer-toggle[aria-expanded=true] .duet-drawer-caret*/.duet-drawer-toggle[aria-expanded=true].sc-duet-notification-drawer .duet-drawer-caret.sc-duet-notification-drawer{transform:translateY(-50%) rotate(180deg)}/*!@.duet-drawer-badge*/.duet-drawer-badge.sc-duet-notification-drawer{position:absolute;top:0;right:0;display:inline-block;width:6px;height:6px;background:#f7b228;border-radius:50%;box-shadow:0 0 0 1px #c18b1f}/*!@.duet-theme-turva .duet-drawer-badge*/.duet-theme-turva.sc-duet-notification-drawer .duet-drawer-badge.sc-duet-notification-drawer{background:#faa40f}/*!@.duet-drawer-content*/.duet-drawer-content.sc-duet-notification-drawer{display:none;background-color:white;border-bottom:1px solid #e1e3e6}/*!@.duet-drawer-content:focus*/.duet-drawer-content.sc-duet-notification-drawer:focus{outline:0}/*!@.duet-theme-turva .duet-drawer-content*/.duet-theme-turva.sc-duet-notification-drawer .duet-drawer-content.sc-duet-notification-drawer{background-color:white;border-color:#e1e3e6}@media (min-width: 62em){/*!@.duet-drawer-content*/.duet-drawer-content.sc-duet-notification-drawer{position:absolute;top:100%;z-index:600;display:block;width:450px;max-height:420px;padding-left:0;overflow-y:auto;visibility:hidden;background-color:white;border:1px solid #e1e3e6;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.95) translateZ(0) translateY(-10px);transform-origin:50% 0;scrollbar-width:none}/*!@.duet-drawer-content::-webkit-scrollbar*/.duet-drawer-content.sc-duet-notification-drawer::-webkit-scrollbar{display:none}/*!@.duet-theme-turva .duet-drawer-content*/.duet-theme-turva.sc-duet-notification-drawer .duet-drawer-content.sc-duet-notification-drawer{background-color:white}/*!@.duet-drawer-content.duet-drawer-left*/.duet-drawer-content.duet-drawer-left.sc-duet-notification-drawer{right:0}/*!@.duet-drawer-content.duet-drawer-right*/.duet-drawer-content.duet-drawer-right.sc-duet-notification-drawer{left:0}}/*!@.duet-drawer-content.duet-drawer-open*/.duet-drawer-content.duet-drawer-open.sc-duet-notification-drawer{display:block}@media (min-width: 62em){/*!@.duet-drawer-content.duet-drawer-open*/.duet-drawer-content.duet-drawer-open.sc-duet-notification-drawer{visibility:visible;opacity:1;transform:scale(1) translateZ(0) translateY(0)}}";
12082
12324
 
12083
12325
  const ESC_KEY = 27;
12084
12326
  class DuetNotificationDrawer {
@@ -14082,7 +14324,7 @@ class DuetTabGroup {
14082
14324
  }; }
14083
14325
  }
14084
14326
 
14085
- const duetTableCss = "duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-theme-turva table{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}duet-table td{-webkit-hyphens:auto;hyphens:auto;color:#00294d}duet-table.duet-theme-turva td{color:#171c3a}duet-table th{font-weight:600;line-height:1.25;color:#657787;text-align:left}duet-table.duet-theme-turva th{color:#747475}duet-table tbody th{font-weight:600;color:#00294d}duet-table.duet-theme-turva tbody th{color:#171c3a}.duet-table-flattened table,.duet-table-flattened thead,.duet-table-flattened tbody,.duet-table-flattened tfoot,.duet-table-flattened th,.duet-table-flattened td,.duet-table-flattened tr{display:block}.duet-table-flattened thead tr{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-table-flattened td{line-height:1.25}.duet-table-flattened td:not(:last-child){margin-bottom:16px !important}.duet-table-flattened tbody td,.duet-table-flattened tbody th,.duet-table-flattened tfoot td{padding:0 !important;text-align:left !important}.duet-table-flattened tbody th{font-weight:600;line-height:1.25;color:#657787;text-align:left}.duet-table-flattened td[data-heading]::before{margin-bottom:4px !important;display:block;font-size:1rem;font-weight:600;color:#00294d;content:attr(data-heading)}.duet-table-flattened.duet-theme-turva td[data-heading]::before{color:#171c3a}.duet-table-sticky thead th{position:sticky;top:0;background:white}.duet-table-striped td,.duet-table-striped th{padding:20px !important}@media (max-width: 35.9375em){.duet-table-striped td,.duet-table-striped th{padding:20px 12px !important}}.duet-table-striped tbody th{background:white}.duet-table-striped.duet-table-sticky thead th{border-bottom:1px solid #e1e3e6}.duet-table-striped.duet-table-sticky.duet-theme-turva thead th{border-bottom-color:#e4e4e6}.duet-table-striped tbody:not(:first-of-type) th{padding-top:40px !important}.duet-table-striped tbody:only-of-type tr:nth-of-type(odd){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tfoot td{border-top:1px solid #e1e3e6}.duet-table-striped.duet-theme-turva tfoot td{border-top-color:#e4e4e6}.duet-table-striped.duet-table-flattened tbody:not(:first-of-type) th{padding-top:20px !important}.duet-table-striped.duet-table-flattened tr{padding:20px !important}.duet-table-striped.duet-table-flattened tfoot td{border-top:0}.duet-table-striped.duet-table-flattened tfoot tr{border-top:1px solid #e1e3e6}.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr{border-top-color:#e4e4e6}.duet-table-minimal th,.duet-table-plain th{padding:16px !important;border-bottom:1px solid #657787}.duet-table-minimal th:first-child,.duet-table-plain th:first-child{padding-left:0 !important}.duet-table-minimal th:last-child,.duet-table-plain th:last-child{padding-right:0 !important}.duet-theme-turva.duet-table-minimal th,.duet-theme-turva.duet-table-plain th{border-bottom-color:#444445}.duet-table-minimal tbody th,.duet-table-plain tbody th{padding-top:40px !important;border-bottom-color:#e1e3e6}.duet-theme-turva.duet-table-minimal tbody th,.duet-theme-turva.duet-table-plain tbody th{border-bottom-color:#e4e4e6}.duet-table-minimal td,.duet-table-plain td{padding:16px !important}.duet-table-minimal td:first-child,.duet-table-plain td:first-child{padding-left:0 !important}.duet-table-minimal td:last-child,.duet-table-plain td:last-child{padding-right:0 !important}.duet-table-minimal tbody td,.duet-table-plain tbody td{border-bottom:1px solid #e1e3e6}.duet-theme-turva.duet-table-minimal tbody td,.duet-theme-turva.duet-table-plain tbody td{border-bottom-color:#e4e4e6}.duet-table-flattened.duet-table-minimal tbody:first-of-type th,.duet-table-flattened.duet-table-plain tbody:first-of-type th{padding-top:0 !important}.duet-table-flattened.duet-table-minimal td,.duet-table-flattened.duet-table-plain td,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{border-bottom:0}.duet-table-flattened.duet-table-minimal tr,.duet-table-flattened.duet-table-plain tr{padding:20px 0 !important}.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{padding-top:20px !important}.duet-table-flattened.duet-table-minimal tfoot td,.duet-table-flattened.duet-table-plain tfoot td{margin-bottom:4px !important}.duet-table-flattened.duet-table-minimal tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-plain tbody:not(:only-of-type) tr:first-child{border-bottom:0}.duet-table-plain.duet-table-flattened tbody tr{border-bottom:1px solid #e1e3e6}.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr{border-bottom-color:#e4e4e6}.duet-table-minimal tbody tr,.duet-table-minimal tbody tr td{vertical-align:top;border-bottom:0 none}.duet-table-minimal tbody tr:last-of-type,.duet-table-minimal tbody tr:last-of-type td{border-bottom:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened tbody tr,.duet-table-minimal.duet-table-flattened tbody tr td{border-bottom:0 none}.duet-table-minimal.duet-table-flattened tbody tr td[data-heading]::before{display:none}.duet-table-minimal.duet-table-flattened tfoot{border-top:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-scrollable{position:relative;width:100%;overflow-x:auto;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;background-repeat:no-repeat;background-attachment:local, local, scroll, scroll;background-size:100px 100%, 100px 100%, 12px 100%, 12px 100%}.duet-table-selected-column{background:rgba(0, 119, 179, 0.08)}.duet-theme-turva .duet-table-selected-column{background:rgba(68, 68, 69, 0.08)}";
14327
+ const duetTableCss = "duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-theme-turva table{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}duet-table td{-webkit-hyphens:auto;hyphens:auto;color:#00294d}duet-table.duet-theme-turva td{color:#171c3a}duet-table th{font-weight:600;line-height:1.25;color:#657787;text-align:left}duet-table.duet-theme-turva th{color:#747475}duet-table tbody th{font-weight:600;color:#00294d}duet-table.duet-theme-turva tbody th{color:#171c3a}.duet-table-flattened table,.duet-table-flattened thead,.duet-table-flattened tbody,.duet-table-flattened tfoot,.duet-table-flattened th,.duet-table-flattened td,.duet-table-flattened tr{display:block}.duet-table-flattened thead tr{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-table-flattened td{line-height:1.25}.duet-table-flattened td:not(:last-child){margin-bottom:16px !important}.duet-table-flattened tbody td,.duet-table-flattened tbody th,.duet-table-flattened tfoot td{padding:0 !important;text-align:left !important}.duet-table-flattened tbody th{font-weight:600;line-height:1.25;color:#657787;text-align:left}.duet-table-flattened td[data-heading]::before{margin-bottom:4px !important;display:block;font-size:1rem;font-weight:600;color:#00294d;content:attr(data-heading)}.duet-table-flattened.duet-theme-turva td[data-heading]::before{color:#171c3a}.duet-table-sticky thead th{position:sticky;top:0;background:white}.duet-table-striped td,.duet-table-striped th{padding:20px !important}@media (max-width: 35.9375em){.duet-table-striped td,.duet-table-striped th{padding:20px 12px !important}}.duet-table-striped tbody th{background:white}.duet-table-striped.duet-table-sticky thead th{border-bottom:1px solid #e1e3e6}.duet-table-striped.duet-table-sticky.duet-theme-turva thead th{border-bottom-color:#e4e4e6}.duet-table-striped tbody:not(:first-of-type) th{padding-top:40px !important}.duet-table-striped tbody:only-of-type tr:nth-of-type(odd){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tfoot td{border-top:1px solid #e1e3e6}.duet-table-striped.duet-theme-turva tfoot td{border-top-color:#e4e4e6}.duet-table-striped.duet-table-flattened tbody:not(:first-of-type) th{padding-top:20px !important}.duet-table-striped.duet-table-flattened tr{padding:20px !important}.duet-table-striped.duet-table-flattened tfoot td{border-top:0}.duet-table-striped.duet-table-flattened tfoot tr{border-top:1px solid #e1e3e6}.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr{border-top-color:#e4e4e6}.duet-table-fixed th,.duet-table-minimal th,.duet-table-plain th{padding:16px !important;border-bottom:1px solid #657787}.duet-table-fixed th:first-child,.duet-table-minimal th:first-child,.duet-table-plain th:first-child{padding-left:0 !important}.duet-table-fixed th:last-child,.duet-table-minimal th:last-child,.duet-table-plain th:last-child{padding-right:0 !important}.duet-theme-turva.duet-table-fixed th,.duet-theme-turva.duet-table-minimal th,.duet-theme-turva.duet-table-plain th{border-bottom-color:#444445}.duet-table-fixed tbody th,.duet-table-minimal tbody th,.duet-table-plain tbody th{padding-top:40px !important;border-bottom-color:#e1e3e6}.duet-theme-turva.duet-table-fixed tbody th,.duet-theme-turva.duet-table-minimal tbody th,.duet-theme-turva.duet-table-plain tbody th{border-bottom-color:#e4e4e6}.duet-table-fixed td,.duet-table-minimal td,.duet-table-plain td{padding:16px !important}.duet-table-fixed td:first-child,.duet-table-minimal td:first-child,.duet-table-plain td:first-child{padding-left:0 !important}.duet-table-fixed td:last-child,.duet-table-minimal td:last-child,.duet-table-plain td:last-child{padding-right:0 !important}.duet-table-fixed tbody td,.duet-table-minimal tbody td,.duet-table-plain tbody td{border-bottom:1px solid #e1e3e6}.duet-theme-turva.duet-table-fixed tbody td,.duet-theme-turva.duet-table-minimal tbody td,.duet-theme-turva.duet-table-plain tbody td{border-bottom-color:#e4e4e6}.duet-table-flattened.duet-table-fixed tbody:first-of-type th,.duet-table-flattened.duet-table-minimal tbody:first-of-type th,.duet-table-flattened.duet-table-plain tbody:first-of-type th{padding-top:0 !important}.duet-table-flattened.duet-table-fixed td,.duet-table-flattened.duet-table-minimal td,.duet-table-flattened.duet-table-plain td,.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{border-bottom:0}.duet-table-flattened.duet-table-fixed tr,.duet-table-flattened.duet-table-minimal tr,.duet-table-flattened.duet-table-plain tr{padding:20px 0 !important}.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{padding-top:20px !important}.duet-table-flattened.duet-table-fixed tfoot td,.duet-table-flattened.duet-table-minimal tfoot td,.duet-table-flattened.duet-table-plain tfoot td{margin-bottom:4px !important}.duet-table-flattened.duet-table-fixed tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-minimal tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-plain tbody:not(:only-of-type) tr:first-child{border-bottom:0}.duet-table-plain.duet-table-flattened tbody tr{border-bottom:1px solid #e1e3e6}.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr{border-bottom-color:#e4e4e6}.duet-table-minimal tbody tr,.duet-table-minimal tbody tr td{vertical-align:top;border-bottom:0 none}.duet-table-minimal tbody tr:last-of-type,.duet-table-minimal tbody tr:last-of-type td{border-bottom:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened tbody tr,.duet-table-minimal.duet-table-flattened tbody tr td{border-bottom:0 none}.duet-table-minimal.duet-table-flattened tbody tr td[data-heading]::before{display:none}.duet-table-minimal.duet-table-flattened tfoot{border-top:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-fixed table{table-layout:fixed}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td,.duet-table-fixed tbody tr td:first-child{padding:4px !important;vertical-align:text-bottom;border-bottom:0 none}.duet-table-fixed thead{display:none}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td{border-bottom:0 none}.duet-table-fixed:not(.duet-table-flattened) tfoot{border-top:1px solid #e1e3e6}.duet-table-fixed:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-scrollable{position:relative;width:100%;overflow-x:auto;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;background-repeat:no-repeat;background-attachment:local, local, scroll, scroll;background-size:100px 100%, 100px 100%, 12px 100%, 12px 100%}.duet-table-selected-column{background:rgba(0, 119, 179, 0.08)}.duet-theme-turva .duet-table-selected-column{background:rgba(68, 68, 69, 0.08)}";
14086
14328
 
14087
14329
  // remove wrapping speech marks.
14088
14330
  // media query tokens are wrapped in speech marks,
@@ -15323,7 +15565,7 @@ class DuetUpload {
15323
15565
  {
15324
15566
  icon: "action-delete",
15325
15567
  color: "color-danger",
15326
- color_hover: "category-home",
15568
+ color_hover: "primary-dark",
15327
15569
  id: "delete",
15328
15570
  map: ["success", "failure"],
15329
15571
  label: {
@@ -15335,7 +15577,7 @@ class DuetUpload {
15335
15577
  {
15336
15578
  icon: "navigation-close",
15337
15579
  color: "primary",
15338
- color_hover: "category-home",
15580
+ color_hover: "primary-dark",
15339
15581
  id: "cancel",
15340
15582
  map: ["inprogress"],
15341
15583
  label: {
@@ -15456,6 +15698,10 @@ class DuetUpload {
15456
15698
  * browser from displaying its own validation errors.
15457
15699
  */
15458
15700
  this.required = false;
15701
+ /**
15702
+ * Key used to set vertical alignment of action buttons
15703
+ */
15704
+ this.alignment = "middle";
15459
15705
  /**
15460
15706
  * Visually hides the groups labels in the editable table list used to display the list of files
15461
15707
  */
@@ -16026,7 +16272,7 @@ class DuetUpload {
16026
16272
  "duet-upload-filelist-empty": !this.files.size,
16027
16273
  "duet-upload-filelist": true,
16028
16274
  "duet-upload-filelist-filled": this.files.size,
16029
- }, 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 && (hAsync("duet-editable-table", { "aria-live": "polite", "aria-relevant": "removals", accessibleRole: "log", id: this.editableTableId, groups: this.groups, actions: this.actions, hideGroups: this.hideGroups, items: this.convertToDuetEditableTableItems() })), !!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" }, this.buttonLabel)), hAsync("duet-spacer", { size: "medium" }), (this.fileMaxReached || this.bytesMaxReached) && (hAsync("duet-alert", null, 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 => {
16275
+ }, 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 && (hAsync("duet-editable-table", { "aria-live": "polite", "aria-relevant": "removals", accessibleRole: "log", id: this.editableTableId, groups: this.groups, actions: this.actions, hideGroups: this.hideGroups, alignment: this.alignment, items: this.convertToDuetEditableTableItems() })), !!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" }, this.buttonLabel)), hAsync("duet-spacer", { size: "medium" }), (this.fileMaxReached || this.bytesMaxReached) && (hAsync("duet-alert", null, 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 => {
16030
16276
  this.nativeInput = input;
16031
16277
  }, accept: !this.limitSelection ? undefined : `${this.allowedMimetypes},${this.allowedExtensions}`, onBlur: this.onBlur, onFocus: this.onFocus, onChange: e => this.onChange(e), type: "file", class: {
16032
16278
  "duet-upload": true,
@@ -16062,6 +16308,7 @@ class DuetUpload {
16062
16308
  "margin": [1],
16063
16309
  "required": [4],
16064
16310
  "groups": [1],
16311
+ "alignment": [1],
16065
16312
  "hideGroups": [4, "hide-table-labels"],
16066
16313
  "files": [1040],
16067
16314
  "valid": [1540],