@duetds/components 6.3.1 → 6.3.3

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 (479) hide show
  1. package/hydrate/index.js +46 -26
  2. package/lib/cjs/duet-action-button.cjs.entry.js +6 -12
  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-breadcrumb.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  7. package/lib/cjs/duet-button_2.cjs.entry.js +1 -1
  8. package/lib/cjs/duet-caption_4.cjs.entry.js +1 -1
  9. package/lib/cjs/duet-card.cjs.entry.js +1 -1
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-choice_2.cjs.entry.js +3 -3
  12. package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
  13. package/lib/cjs/duet-combobox.cjs.entry.js +4 -3
  14. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  16. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  17. package/lib/cjs/duet-editable-table_3.cjs.entry.js +4 -3
  18. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-footer.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  22. package/lib/cjs/duet-header_2.cjs.entry.js +1 -1
  23. package/lib/cjs/duet-hero.cjs.entry.js +26 -7
  24. package/lib/cjs/duet-icon.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-input_2.cjs.entry.js +3 -2
  26. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +1 -1
  29. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +1 -1
  30. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-menu-bar.cjs.entry.js +1 -1
  32. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  33. package/lib/cjs/duet-multiselect.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-nav.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-pagination_2.cjs.entry.js +4 -4
  38. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  41. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  42. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
  45. package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
  46. package/lib/cjs/duet-slideout-panel-dropdown-link.cjs.entry.js +1 -1
  47. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
  48. package/lib/cjs/duet-slideout-panel-link.cjs.entry.js +1 -1
  49. package/lib/cjs/duet-slideout-panel.cjs.entry.js +2 -2
  50. package/lib/cjs/duet-slideout.cjs.entry.js +2 -2
  51. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  52. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +1 -1
  53. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +1 -1
  54. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +1 -1
  55. package/lib/cjs/duet-submenu-bar.cjs.entry.js +1 -1
  56. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  57. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  58. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -1
  59. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +1 -1
  60. package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -1
  61. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
  62. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  63. package/lib/cjs/duet-tray.cjs.entry.js +1 -1
  64. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  65. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  66. package/lib/cjs/duet.cjs.js +2 -2
  67. package/lib/cjs/{focus-utils-1024552d.js → focus-utils-1690e8b7.js} +1 -1
  68. package/lib/cjs/{index-5c182924.js → index-f29ea71f.js} +1 -1
  69. package/lib/cjs/loader.cjs.js +2 -2
  70. package/lib/collection/components/duet-action-button/duet-action-button.js +16 -24
  71. package/lib/collection/components/duet-choice/duet-choice.js +3 -1
  72. package/lib/collection/components/duet-combobox/duet-combobox.js +21 -2
  73. package/lib/collection/components/duet-hero/duet-hero.css +200 -0
  74. package/lib/collection/components/duet-hero/duet-hero.js +50 -7
  75. package/lib/collection/components/duet-input/duet-input.js +2 -1
  76. package/lib/collection/components/duet-pagination/duet-pagination.js +2 -2
  77. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +1 -1
  78. package/lib/collection/components/duet-upload/duet-upload.js +3 -2
  79. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  80. package/lib/dist-custom-elements/duet-alert.js +1 -1
  81. package/lib/dist-custom-elements/duet-badge.js +1 -1
  82. package/lib/dist-custom-elements/duet-breadcrumb.js +2 -2
  83. package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
  84. package/lib/dist-custom-elements/duet-button.js +1 -1
  85. package/lib/dist-custom-elements/duet-caption.js +1 -1
  86. package/lib/dist-custom-elements/duet-card.js +3 -3
  87. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  88. package/lib/dist-custom-elements/duet-choice-group.js +6 -6
  89. package/lib/dist-custom-elements/duet-choice.js +6 -6
  90. package/lib/dist-custom-elements/duet-collapsible.js +2 -2
  91. package/lib/dist-custom-elements/duet-combobox.js +6 -4
  92. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  93. package/lib/dist-custom-elements/duet-date-picker.js +8 -8
  94. package/lib/dist-custom-elements/duet-divider.js +1 -1
  95. package/lib/dist-custom-elements/duet-editable-table.js +1 -1
  96. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  97. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  98. package/lib/dist-custom-elements/duet-footer.js +4 -4
  99. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  100. package/lib/dist-custom-elements/duet-grid.js +1 -1
  101. package/lib/dist-custom-elements/duet-header.js +8 -8
  102. package/lib/dist-custom-elements/duet-heading.js +1 -1
  103. package/lib/dist-custom-elements/duet-hero.js +35 -15
  104. package/lib/dist-custom-elements/duet-icon.js +1 -1
  105. package/lib/dist-custom-elements/duet-input.js +1 -1
  106. package/lib/dist-custom-elements/duet-label.js +1 -1
  107. package/lib/dist-custom-elements/duet-layout.js +1 -1
  108. package/lib/dist-custom-elements/duet-link.js +1 -1
  109. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  110. package/lib/dist-custom-elements/duet-list.js +1 -1
  111. package/lib/dist-custom-elements/duet-logo.js +1 -1
  112. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
  113. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -2
  114. package/lib/dist-custom-elements/duet-menu-bar-link.js +2 -2
  115. package/lib/dist-custom-elements/duet-menu-bar.js +2 -2
  116. package/lib/dist-custom-elements/duet-modal.js +7 -7
  117. package/lib/dist-custom-elements/duet-multiselect.js +8 -8
  118. package/lib/dist-custom-elements/duet-nav.js +1 -1
  119. package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
  120. package/lib/dist-custom-elements/duet-notification.js +2 -2
  121. package/lib/dist-custom-elements/duet-number-input.js +7 -7
  122. package/lib/dist-custom-elements/duet-pagination.js +9 -9
  123. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  124. package/lib/dist-custom-elements/duet-progress.js +1 -1
  125. package/lib/dist-custom-elements/duet-radio-group.js +6 -6
  126. package/lib/dist-custom-elements/duet-radio.js +1 -1
  127. package/lib/dist-custom-elements/duet-range-slider.js +2 -2
  128. package/lib/dist-custom-elements/duet-range-stepper.js +5 -5
  129. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  130. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  131. package/lib/dist-custom-elements/duet-select.js +1 -1
  132. package/lib/dist-custom-elements/duet-slideout-lang.js +3 -3
  133. package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
  134. package/lib/dist-custom-elements/duet-slideout-panel-dropdown-link.js +2 -2
  135. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
  136. package/lib/dist-custom-elements/duet-slideout-panel-link.js +2 -2
  137. package/lib/dist-custom-elements/duet-slideout-panel.js +2 -2
  138. package/lib/dist-custom-elements/duet-slideout.js +2 -2
  139. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  140. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  141. package/lib/dist-custom-elements/duet-step.js +4 -4
  142. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  143. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +2 -2
  144. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +2 -2
  145. package/lib/dist-custom-elements/duet-submenu-bar-link.js +2 -2
  146. package/lib/dist-custom-elements/duet-submenu-bar.js +2 -2
  147. package/lib/dist-custom-elements/duet-tab-group.js +8 -8
  148. package/lib/dist-custom-elements/duet-tab.js +1 -1
  149. package/lib/dist-custom-elements/duet-table.js +1 -1
  150. package/lib/dist-custom-elements/duet-textarea.js +8 -8
  151. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  152. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
  153. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +2 -2
  154. package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
  155. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  156. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  157. package/lib/dist-custom-elements/duet-tray.js +3 -3
  158. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  159. package/lib/dist-custom-elements/duet-upload.js +21 -20
  160. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  161. package/lib/dist-custom-elements/index.js +1 -1
  162. package/lib/dist-custom-elements/{p-b80d6bc3.js → p-07304f72.js} +1 -1
  163. package/lib/dist-custom-elements/{p-c288afb5.js → p-09f1b4d3.js} +2 -2
  164. package/lib/dist-custom-elements/{p-33f765ba.js → p-23555c40.js} +1 -1
  165. package/lib/dist-custom-elements/{p-6cf0920b.js → p-2db1f59a.js} +2 -2
  166. package/lib/dist-custom-elements/{p-e48d2549.js → p-37af5e4e.js} +1 -1
  167. package/lib/dist-custom-elements/{p-f63d4452.js → p-50596909.js} +1 -1
  168. package/lib/dist-custom-elements/{p-ddfd47c6.js → p-52acd123.js} +2 -2
  169. package/lib/dist-custom-elements/{p-946de108.js → p-55a97b61.js} +1 -1
  170. package/lib/dist-custom-elements/{p-8d44ec43.js → p-5ce3afc3.js} +1 -1
  171. package/lib/dist-custom-elements/{p-2fe868ea.js → p-5d1468ee.js} +1 -1
  172. package/lib/dist-custom-elements/{p-fae65a8a.js → p-5fe9f827.js} +1 -1
  173. package/lib/dist-custom-elements/{p-7c5d4e0d.js → p-788adf64.js} +1 -1
  174. package/lib/dist-custom-elements/{p-743d9f51.js → p-79eb8ec9.js} +1 -1
  175. package/lib/dist-custom-elements/{p-e7e99092.js → p-94e3ec93.js} +1 -1
  176. package/lib/dist-custom-elements/{p-109ee32c.js → p-a1f7f989.js} +2 -2
  177. package/lib/dist-custom-elements/{p-035ecaa2.js → p-a32e318c.js} +1 -1
  178. package/lib/dist-custom-elements/{p-cae5bd13.js → p-a5decd0e.js} +3 -3
  179. package/lib/dist-custom-elements/{p-e3fead64.js → p-a8128c54.js} +9 -15
  180. package/lib/dist-custom-elements/{p-2ebba09a.js → p-b2c7b7ee.js} +4 -4
  181. package/lib/dist-custom-elements/{p-5de79ec7.js → p-b571afc1.js} +1 -1
  182. package/lib/dist-custom-elements/{p-49a0152c.js → p-b85f3cda.js} +2 -2
  183. package/lib/dist-custom-elements/{p-57387b36.js → p-be0ba45a.js} +1 -1
  184. package/lib/dist-custom-elements/{p-ed049602.js → p-be7b0a77.js} +1 -1
  185. package/lib/dist-custom-elements/{p-878b06a3.js → p-c1b863e9.js} +1 -1
  186. package/lib/dist-custom-elements/{p-6f99cfd4.js → p-ca708c6c.js} +1 -1
  187. package/lib/dist-custom-elements/{p-16873d44.js → p-cf8d26ef.js} +8 -7
  188. package/lib/dist-custom-elements/{p-1362f0bf.js → p-d3bc5a14.js} +5 -5
  189. package/lib/dist-custom-elements/{p-66d8d978.js → p-d5460fb0.js} +7 -7
  190. package/lib/dist-custom-elements/{p-576a86ec.js → p-da4e7133.js} +1 -1
  191. package/lib/dist-custom-elements/{p-89ed456a.js → p-e5658e86.js} +3 -3
  192. package/lib/dist-custom-elements/{p-caffcc4c.js → p-ec570477.js} +6 -6
  193. package/lib/duet/duet.esm.js +1 -1
  194. package/lib/duet/duet.js +1 -1
  195. package/lib/duet/{p-f6884d0c.entry.js → p-000f082e.entry.js} +1 -1
  196. package/lib/duet/{p-a0db2a7e.entry.js → p-0012bd37.entry.js} +1 -1
  197. package/lib/duet/{p-8a20ddbc.entry.js → p-065ed09f.entry.js} +1 -1
  198. package/lib/duet/{p-fc87b7d1.system.entry.js → p-06a1d0e3.system.entry.js} +1 -1
  199. package/lib/duet/{p-b0db7981.system.entry.js → p-0a3fd45a.system.entry.js} +1 -1
  200. package/lib/duet/{p-bfa860e4.entry.js → p-0c3cc1bf.entry.js} +1 -1
  201. package/lib/duet/{p-e77874ed.entry.js → p-0c461e03.entry.js} +1 -1
  202. package/lib/duet/{p-61aab72e.entry.js → p-0c75f4e8.entry.js} +1 -1
  203. package/lib/duet/{p-f671905b.system.entry.js → p-0d86f229.system.entry.js} +1 -1
  204. package/lib/duet/{p-f2b280a2.entry.js → p-0f6bc3fd.entry.js} +1 -1
  205. package/lib/duet/{p-545b0f8e.entry.js → p-0fbdbbcf.entry.js} +1 -1
  206. package/lib/duet/{p-4ad2a650.system.entry.js → p-11f68edb.system.entry.js} +1 -1
  207. package/lib/duet/{p-59d1a27f.system.entry.js → p-13e9d118.system.entry.js} +1 -1
  208. package/lib/duet/{p-232ebb6f.entry.js → p-159232e7.entry.js} +1 -1
  209. package/lib/duet/{p-f5083ced.entry.js → p-15f01c78.entry.js} +1 -1
  210. package/lib/duet/{p-f7d2b72a.entry.js → p-1766203d.entry.js} +1 -1
  211. package/lib/duet/{p-7df74ccb.entry.js → p-17b5d3ca.entry.js} +1 -1
  212. package/lib/duet/{p-83bcaf0a.entry.js → p-1fd12935.entry.js} +1 -1
  213. package/lib/duet/{p-5e4f3d3d.system.entry.js → p-21570db4.system.entry.js} +1 -1
  214. package/lib/duet/{p-7532e95c.system.entry.js → p-22a0ca25.system.entry.js} +1 -1
  215. package/lib/duet/{p-ecbefd75.entry.js → p-25e58997.entry.js} +1 -1
  216. package/lib/duet/{p-01a896f3.entry.js → p-263f189a.entry.js} +1 -1
  217. package/lib/duet/{p-51835258.system.entry.js → p-2d8b68a5.system.entry.js} +1 -1
  218. package/lib/duet/{p-0a89fe2b.entry.js → p-316d8fa1.entry.js} +1 -1
  219. package/lib/duet/{p-df63c123.system.entry.js → p-328e9c3c.system.entry.js} +1 -1
  220. package/lib/duet/p-38c61124.entry.js +4 -0
  221. package/lib/duet/p-3f8d0b27.entry.js +4 -0
  222. package/lib/duet/{p-24dadb65.system.entry.js → p-40893248.system.entry.js} +1 -1
  223. package/lib/duet/{p-1d1a983e.entry.js → p-41481bce.entry.js} +1 -1
  224. package/lib/duet/{p-4a86008c.system.entry.js → p-428d362d.system.entry.js} +2 -2
  225. package/lib/duet/{p-e5552640.system.entry.js → p-42cfdd80.system.entry.js} +1 -1
  226. package/lib/duet/{p-4033ecb1.entry.js → p-46452a06.entry.js} +1 -1
  227. package/lib/duet/{p-b9978fb3.system.entry.js → p-47839213.system.entry.js} +1 -1
  228. package/lib/duet/{p-98c06919.system.entry.js → p-479768b4.system.entry.js} +1 -1
  229. package/lib/duet/{p-d5b8cae9.entry.js → p-48f7872e.entry.js} +1 -1
  230. package/lib/duet/{p-10464740.entry.js → p-4f15ae74.entry.js} +1 -1
  231. package/lib/duet/{p-b24b6a43.system.entry.js → p-54c005a9.system.entry.js} +1 -1
  232. package/lib/duet/{p-b5a1486e.system.js → p-5655fb50.system.js} +1 -1
  233. package/lib/duet/{p-cde1cbe9.entry.js → p-56f93eb0.entry.js} +1 -1
  234. package/lib/duet/{p-d769cffa.entry.js → p-58e77074.entry.js} +1 -1
  235. package/lib/duet/{p-aa9efd9d.system.entry.js → p-5c65208e.system.entry.js} +1 -1
  236. package/lib/duet/{p-3e4f3175.system.entry.js → p-5cc22733.system.entry.js} +1 -1
  237. package/lib/duet/{p-13d0fafd.entry.js → p-632de445.entry.js} +1 -1
  238. package/lib/duet/{p-a9770baa.system.entry.js → p-63dfa3a2.system.entry.js} +1 -1
  239. package/lib/duet/{p-c0a218e2.entry.js → p-65a7c76b.entry.js} +1 -1
  240. package/lib/duet/{p-fea44d95.entry.js → p-67154f28.entry.js} +1 -1
  241. package/lib/duet/{p-ac612525.system.entry.js → p-6845e7b1.system.entry.js} +1 -1
  242. package/lib/duet/{p-10a28fb5.entry.js → p-6d9074f6.entry.js} +1 -1
  243. package/lib/duet/{p-9b0f4a02.system.entry.js → p-6eca3b8a.system.entry.js} +1 -1
  244. package/lib/duet/{p-e777808f.system.entry.js → p-6ef29718.system.entry.js} +1 -1
  245. package/lib/duet/p-6f4ec52a.entry.js +4 -0
  246. package/lib/duet/{p-b3e246bf.system.entry.js → p-7068bd7e.system.entry.js} +1 -1
  247. package/lib/duet/{p-5210d857.entry.js → p-7160a29a.entry.js} +1 -1
  248. package/lib/duet/{p-601fb30b.system.entry.js → p-72711eec.system.entry.js} +1 -1
  249. package/lib/duet/{p-1140f6fd.entry.js → p-770046b8.entry.js} +1 -1
  250. package/lib/duet/{p-9d45c0b9.entry.js → p-7b2cba4e.entry.js} +1 -1
  251. package/lib/duet/{p-71de1f57.entry.js → p-7ff8db6a.entry.js} +1 -1
  252. package/lib/duet/{p-c6196d66.system.entry.js → p-8069d1c8.system.entry.js} +2 -2
  253. package/lib/duet/{p-8f3bc618.entry.js → p-81e67bdc.entry.js} +1 -1
  254. package/lib/duet/{p-3412d92c.entry.js → p-869f96f3.entry.js} +1 -1
  255. package/lib/duet/{p-113ecc64.system.entry.js → p-8868c04b.system.entry.js} +1 -1
  256. package/lib/duet/{p-aba56144.system.entry.js → p-89b95023.system.entry.js} +1 -1
  257. package/lib/duet/p-8afd48ba.system.js +4 -0
  258. package/lib/duet/{p-9f5279fb.system.entry.js → p-8b2045e9.system.entry.js} +1 -1
  259. package/lib/duet/{p-0510de39.entry.js → p-8d232eb3.entry.js} +1 -1
  260. package/lib/duet/{p-fb7bd8aa.entry.js → p-8e508bed.entry.js} +1 -1
  261. package/lib/duet/{p-c5b23ff7.system.entry.js → p-9749810a.system.entry.js} +1 -1
  262. package/lib/duet/{p-c9e92671.system.entry.js → p-9a225ed6.system.entry.js} +1 -1
  263. package/lib/duet/p-9ca52cec.entry.js +4 -0
  264. package/lib/duet/{p-59d5e17d.system.entry.js → p-9d253e94.system.entry.js} +1 -1
  265. package/lib/duet/{p-c79aebab.system.entry.js → p-9d3d9fe6.system.entry.js} +1 -1
  266. package/lib/duet/{p-f715ffa6.entry.js → p-9e596bdb.entry.js} +1 -1
  267. package/lib/duet/{p-99b702e1.entry.js → p-9f713724.entry.js} +1 -1
  268. package/lib/duet/p-9feb3d67.entry.js +4 -0
  269. package/lib/duet/{p-3787f096.system.entry.js → p-a33c7f2d.system.entry.js} +1 -1
  270. package/lib/duet/{p-a480c60b.system.entry.js → p-a534447c.system.entry.js} +1 -1
  271. package/lib/duet/{p-62c0c4a6.entry.js → p-a617282a.entry.js} +1 -1
  272. package/lib/duet/{p-8a80b53a.entry.js → p-a71ecde9.entry.js} +1 -1
  273. package/lib/duet/{p-2aedebd0.system.entry.js → p-ab776ced.system.entry.js} +1 -1
  274. package/lib/duet/{p-5f58534f.system.entry.js → p-acfb0e9c.system.entry.js} +1 -1
  275. package/lib/duet/{p-084ab491.entry.js → p-aeb43991.entry.js} +1 -1
  276. package/lib/duet/{p-2eee3cb8.entry.js → p-aee475b1.entry.js} +1 -1
  277. package/lib/duet/{p-23e33998.entry.js → p-af9eae36.entry.js} +1 -1
  278. package/lib/duet/{p-0646568d.system.entry.js → p-b06907e8.system.entry.js} +1 -1
  279. package/lib/duet/{p-d3c94a35.system.entry.js → p-b0887fb4.system.entry.js} +1 -1
  280. package/lib/duet/{p-45466185.system.entry.js → p-b1592f76.system.entry.js} +1 -1
  281. package/lib/duet/{p-fa431fbd.system.entry.js → p-b192533c.system.entry.js} +1 -1
  282. package/lib/duet/{p-a8c55b54.system.entry.js → p-b508fd53.system.entry.js} +1 -1
  283. package/lib/duet/{p-562340da.entry.js → p-b6c3b983.entry.js} +1 -1
  284. package/lib/duet/p-b75cfe3d.entry.js +4 -0
  285. package/lib/duet/{p-978fa922.system.entry.js → p-b8d4bdea.system.entry.js} +1 -1
  286. package/lib/duet/{p-73366a48.entry.js → p-b8f47583.entry.js} +1 -1
  287. package/lib/duet/{p-1611a708.system.entry.js → p-b99d9ce7.system.entry.js} +1 -1
  288. package/lib/duet/{p-60ec8b91.system.entry.js → p-ba9e4e1a.system.entry.js} +1 -1
  289. package/lib/duet/{p-73e3dfcb.system.entry.js → p-bb5d4947.system.entry.js} +1 -1
  290. package/lib/duet/{p-a1ed9a6c.js → p-bba1a9b4.js} +1 -1
  291. package/lib/duet/{p-545556dd.system.entry.js → p-be4529e2.system.entry.js} +1 -1
  292. package/lib/duet/{p-50ceabf8.entry.js → p-be7e33e4.entry.js} +1 -1
  293. package/lib/duet/{p-e94e0a90.system.js → p-bf86a521.system.js} +1 -1
  294. package/lib/duet/{p-103e4463.entry.js → p-c0a75c83.entry.js} +1 -1
  295. package/lib/duet/p-c2cd3359.system.entry.js +4 -0
  296. package/lib/duet/{p-5e441e14.system.entry.js → p-c7a152b2.system.entry.js} +1 -1
  297. package/lib/duet/{p-ac9e77c5.entry.js → p-ca19a87c.entry.js} +1 -1
  298. package/lib/duet/{p-199bdcfe.entry.js → p-cb3ee0d1.entry.js} +1 -1
  299. package/lib/duet/{p-f61bf6cb.system.entry.js → p-cb403f2f.system.entry.js} +1 -1
  300. package/lib/duet/{p-ef614d21.entry.js → p-cd6dfc49.entry.js} +1 -1
  301. package/lib/duet/{p-76230e02.system.entry.js → p-cf185bb5.system.entry.js} +1 -1
  302. package/lib/duet/{p-ff42a105.entry.js → p-cfd0d996.entry.js} +1 -1
  303. package/lib/duet/{p-a5e798ab.system.entry.js → p-d0efcb5a.system.entry.js} +1 -1
  304. package/lib/duet/{p-0e84325b.entry.js → p-d1654e53.entry.js} +1 -1
  305. package/lib/duet/{p-de7fa734.system.entry.js → p-d38b550f.system.entry.js} +1 -1
  306. package/lib/duet/{p-82e6186f.system.entry.js → p-d5b1cd16.system.entry.js} +1 -1
  307. package/lib/duet/{p-a8809939.system.entry.js → p-d5b7544c.system.entry.js} +1 -1
  308. package/lib/duet/{p-e2aa7fbf.system.entry.js → p-d7655b86.system.entry.js} +1 -1
  309. package/lib/duet/{p-c486deb8.system.entry.js → p-d7e9e5d6.system.entry.js} +1 -1
  310. package/lib/duet/{p-cd68803e.entry.js → p-da5dd21f.entry.js} +1 -1
  311. package/lib/duet/{p-73635412.system.entry.js → p-dabe17c8.system.entry.js} +1 -1
  312. package/lib/duet/{p-dbed654f.entry.js → p-dbaac562.entry.js} +1 -1
  313. package/lib/duet/{p-819c4c6c.system.entry.js → p-df003337.system.entry.js} +1 -1
  314. package/lib/duet/p-dfa98799.entry.js +4 -0
  315. package/lib/duet/{p-70b5c7e0.entry.js → p-e5bbb8e4.entry.js} +1 -1
  316. package/lib/duet/p-e699b320.system.entry.js +4 -0
  317. package/lib/duet/{p-4afa5eac.system.entry.js → p-e6ba4211.system.entry.js} +1 -1
  318. package/lib/duet/{p-dffd1b5e.system.entry.js → p-e993c3a3.system.entry.js} +1 -1
  319. package/lib/duet/{p-7e095bff.js → p-ee0992c4.js} +1 -1
  320. package/lib/duet/{p-cbe35220.system.entry.js → p-f27a611f.system.entry.js} +1 -1
  321. package/lib/duet/{p-62b8f13c.entry.js → p-f36ad167.entry.js} +1 -1
  322. package/lib/duet/{p-1f6ee122.entry.js → p-f36eadb5.entry.js} +1 -1
  323. package/lib/duet/{p-5a74dc48.system.entry.js → p-f3cac06e.system.entry.js} +1 -1
  324. package/lib/duet/{p-31858f97.system.entry.js → p-f3f25297.system.entry.js} +1 -1
  325. package/lib/duet/{p-4261d660.entry.js → p-f42b6f99.entry.js} +1 -1
  326. package/lib/duet/{p-f6127f90.system.entry.js → p-fc21a025.system.entry.js} +1 -1
  327. package/lib/duet/{p-a1d62452.entry.js → p-fd689ff2.entry.js} +1 -1
  328. package/lib/esm/duet-action-button.entry.js +6 -12
  329. package/lib/esm/duet-alert.entry.js +1 -1
  330. package/lib/esm/duet-badge.entry.js +1 -1
  331. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  332. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  333. package/lib/esm/duet-button_2.entry.js +1 -1
  334. package/lib/esm/duet-caption_4.entry.js +1 -1
  335. package/lib/esm/duet-card.entry.js +1 -1
  336. package/lib/esm/duet-checkbox.entry.js +1 -1
  337. package/lib/esm/duet-choice_2.entry.js +3 -3
  338. package/lib/esm/duet-collapsible.entry.js +1 -1
  339. package/lib/esm/duet-combobox.entry.js +4 -3
  340. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  341. package/lib/esm/duet-date-picker.entry.js +2 -2
  342. package/lib/esm/duet-divider_2.entry.js +1 -1
  343. package/lib/esm/duet-editable-table_3.entry.js +4 -3
  344. package/lib/esm/duet-empty-state.entry.js +1 -1
  345. package/lib/esm/duet-fieldset.entry.js +1 -1
  346. package/lib/esm/duet-footer.entry.js +1 -1
  347. package/lib/esm/duet-grid_2.entry.js +1 -1
  348. package/lib/esm/duet-header_2.entry.js +1 -1
  349. package/lib/esm/duet-hero.entry.js +26 -7
  350. package/lib/esm/duet-icon.entry.js +1 -1
  351. package/lib/esm/duet-input_2.entry.js +3 -2
  352. package/lib/esm/duet-layout.entry.js +1 -1
  353. package/lib/esm/duet-list_2.entry.js +1 -1
  354. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -1
  355. package/lib/esm/duet-menu-bar-dropdown.entry.js +1 -1
  356. package/lib/esm/duet-menu-bar-link.entry.js +1 -1
  357. package/lib/esm/duet-menu-bar.entry.js +1 -1
  358. package/lib/esm/duet-modal.entry.js +2 -2
  359. package/lib/esm/duet-multiselect.entry.js +1 -1
  360. package/lib/esm/duet-nav.entry.js +1 -1
  361. package/lib/esm/duet-notification_2.entry.js +1 -1
  362. package/lib/esm/duet-number-input.entry.js +1 -1
  363. package/lib/esm/duet-pagination_2.entry.js +4 -4
  364. package/lib/esm/duet-progress.entry.js +1 -1
  365. package/lib/esm/duet-radio_2.entry.js +1 -1
  366. package/lib/esm/duet-range-slider.entry.js +1 -1
  367. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  368. package/lib/esm/duet-section-layout.entry.js +1 -1
  369. package/lib/esm/duet-select.entry.js +1 -1
  370. package/lib/esm/duet-slideout-lang.entry.js +1 -1
  371. package/lib/esm/duet-slideout-link.entry.js +1 -1
  372. package/lib/esm/duet-slideout-panel-dropdown-link.entry.js +1 -1
  373. package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
  374. package/lib/esm/duet-slideout-panel-link.entry.js +1 -1
  375. package/lib/esm/duet-slideout-panel.entry.js +2 -2
  376. package/lib/esm/duet-slideout.entry.js +2 -2
  377. package/lib/esm/duet-step_2.entry.js +1 -1
  378. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +1 -1
  379. package/lib/esm/duet-submenu-bar-dropdown.entry.js +1 -1
  380. package/lib/esm/duet-submenu-bar-link.entry.js +1 -1
  381. package/lib/esm/duet-submenu-bar.entry.js +1 -1
  382. package/lib/esm/duet-textarea.entry.js +1 -1
  383. package/lib/esm/duet-toggle.entry.js +1 -1
  384. package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
  385. package/lib/esm/duet-toolbar-dropdown.entry.js +1 -1
  386. package/lib/esm/duet-toolbar-link.entry.js +1 -1
  387. package/lib/esm/duet-toolbar.entry.js +1 -1
  388. package/lib/esm/duet-tooltip.entry.js +1 -1
  389. package/lib/esm/duet-tray.entry.js +1 -1
  390. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  391. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  392. package/lib/esm/duet.js +2 -2
  393. package/lib/esm/{focus-utils-97bd2937.js → focus-utils-39aaa6cf.js} +1 -1
  394. package/lib/esm/{index-e20a2ed2.js → index-85a8b3af.js} +1 -1
  395. package/lib/esm/loader.js +2 -2
  396. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  397. package/lib/esm-es5/duet-alert.entry.js +1 -1
  398. package/lib/esm-es5/duet-badge.entry.js +1 -1
  399. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  400. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  401. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  402. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  403. package/lib/esm-es5/duet-card.entry.js +1 -1
  404. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  405. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  406. package/lib/esm-es5/duet-collapsible.entry.js +2 -2
  407. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  408. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  409. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  410. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  411. package/lib/esm-es5/duet-editable-table_3.entry.js +2 -2
  412. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  413. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  414. package/lib/esm-es5/duet-footer.entry.js +1 -1
  415. package/lib/esm-es5/duet-grid_2.entry.js +2 -2
  416. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  417. package/lib/esm-es5/duet-hero.entry.js +2 -2
  418. package/lib/esm-es5/duet-icon.entry.js +1 -1
  419. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  420. package/lib/esm-es5/duet-layout.entry.js +1 -1
  421. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  422. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  423. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  424. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  425. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  426. package/lib/esm-es5/duet-modal.entry.js +2 -2
  427. package/lib/esm-es5/duet-multiselect.entry.js +2 -2
  428. package/lib/esm-es5/duet-nav.entry.js +1 -1
  429. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  430. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  431. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  432. package/lib/esm-es5/duet-progress.entry.js +1 -1
  433. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  434. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  435. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  436. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  437. package/lib/esm-es5/duet-select.entry.js +1 -1
  438. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  439. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  440. package/lib/esm-es5/duet-slideout-panel-dropdown-link.entry.js +1 -1
  441. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  442. package/lib/esm-es5/duet-slideout-panel-link.entry.js +1 -1
  443. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  444. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  445. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  446. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  447. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  448. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  449. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  450. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  451. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  452. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  453. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  454. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  455. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  456. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  457. package/lib/esm-es5/duet-tray.entry.js +1 -1
  458. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  459. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  460. package/lib/esm-es5/duet.js +1 -1
  461. package/lib/esm-es5/focus-utils-39aaa6cf.js +4 -0
  462. package/lib/esm-es5/{index-e20a2ed2.js → index-85a8b3af.js} +1 -1
  463. package/lib/esm-es5/loader.js +1 -1
  464. package/lib/types/components/duet-action-button/duet-action-button.d.ts +3 -3
  465. package/lib/types/components/duet-combobox/duet-combobox.d.ts +4 -0
  466. package/lib/types/components/duet-hero/duet-hero.d.ts +8 -2
  467. package/lib/types/components.d.ts +28 -12
  468. package/package.json +5 -5
  469. package/lib/duet/p-11fe5fcd.entry.js +0 -4
  470. package/lib/duet/p-1b9b7b83.entry.js +0 -4
  471. package/lib/duet/p-30ffcba0.system.entry.js +0 -4
  472. package/lib/duet/p-32e8cef0.entry.js +0 -4
  473. package/lib/duet/p-3aa8996c.system.js +0 -4
  474. package/lib/duet/p-5e0ff5ee.entry.js +0 -4
  475. package/lib/duet/p-9306806c.entry.js +0 -4
  476. package/lib/duet/p-a6680923.entry.js +0 -4
  477. package/lib/duet/p-db49aee8.system.entry.js +0 -4
  478. package/lib/duet/p-df257e8e.entry.js +0 -4
  479. package/lib/esm-es5/focus-utils-97bd2937.js +0 -4
package/hydrate/index.js CHANGED
@@ -6448,17 +6448,11 @@ class DuetActionButton {
6448
6448
  this.accessibleLabelledBy = undefined;
6449
6449
  this.accessibleDescription = undefined;
6450
6450
  this.accessibleLabelsDefaults = {
6451
- en: {
6452
- label: "Click to activate action",
6453
- },
6454
- fi: {
6455
- label: "Klikkaa toiminnon aktivointiin",
6456
- },
6457
- sv: {
6458
- label: "Klicka för att aktivera åtgärd",
6459
- },
6451
+ en: "Click to activate action",
6452
+ fi: "Klikkaa toiminnon aktivointiin",
6453
+ sv: "Klicka för att aktivera åtgärd",
6460
6454
  };
6461
- this.accessibleLabels = getLocaleString(this.accessibleLabelsDefaults);
6455
+ this.accessibleLabel = getLocaleString(this.accessibleLabelsDefaults);
6462
6456
  this.accessibleControls = "";
6463
6457
  }
6464
6458
  //handle a11y keyboard navigation events
@@ -6523,7 +6517,7 @@ class DuetActionButton {
6523
6517
  "duet-action-button": true,
6524
6518
  "duet-action-button--disabled": this.disabled,
6525
6519
  [`duet-action-button--${this.theme}`]: this.theme !== "",
6526
- }, type: "button", onClick: e => this.onMouseHandler(e), "aria-label": this.accessibleLabels.label, "aria-labelledby": this.accessibleLabelledBy, "aria-description": this.accessibleDescription, "aria-describedby": this.accessibleDescribedBy, "aria-details": this.accessibleDetails, "aria-controls": this.accessibleControls, title: this.getTitle() }, hAsync("duet-icon", { part: "icon", name: this.iconName, color: this.iconColor, margin: "none", size: this.iconSize }), hAsync("duet-visually-hidden", null, hAsync("slot", null)))));
6520
+ }, type: "button", onClick: e => this.onMouseHandler(e), "aria-label": this.accessibleLabel, "aria-labelledby": this.accessibleLabelledBy, "aria-description": this.accessibleDescription, "aria-describedby": this.accessibleDescribedBy, "aria-details": this.accessibleDetails, "aria-controls": this.accessibleControls, title: this.getTitle() }, hAsync("duet-icon", { part: "icon", name: this.iconName, color: this.iconColor, margin: "none", size: this.iconSize }), hAsync("duet-visually-hidden", null, hAsync("slot", null)))));
6527
6521
  }
6528
6522
  get element() { return getElement(this); }
6529
6523
  static get style() { return duetActionButtonCss; }
@@ -6547,7 +6541,7 @@ class DuetActionButton {
6547
6541
  "accessibleLabelledBy": [1, "accessible-labelled-by"],
6548
6542
  "accessibleDescription": [1, "accessible-description"],
6549
6543
  "accessibleLabelsDefaults": [16],
6550
- "accessibleLabels": [16],
6544
+ "accessibleLabel": [1, "accessible-label"],
6551
6545
  "accessibleControls": [1, "accessible-controls"],
6552
6546
  "numbersStore": [32]
6553
6547
  },
@@ -7468,7 +7462,8 @@ class DuetChoice {
7468
7462
  inheritGlobalTheme(this);
7469
7463
  this.hasInfo = !!this.element.querySelector("[slot='info']");
7470
7464
  this.hasHeader = !!this.element.querySelector('[slot="header"]');
7471
- this.hasAdditional = !!this.element.querySelector("[slot='additional']");
7465
+ this.hasAdditional = Array.from(this.element.children).filter(el => el.matches("[slot='additional']")).length > 0
7466
+ ;
7472
7467
  this.hasLabel = Array.from(this.element.children).filter(el => el.matches("[slot='label']")).length > 0
7473
7468
  ;
7474
7469
  this.hasBeforeText = !!this.element.querySelector("[slot='before-text']");
@@ -8441,6 +8436,7 @@ class DuetCombobox {
8441
8436
  this.items = undefined;
8442
8437
  this.formatter = (item) => item && item.name ? item.name : "";
8443
8438
  this.value = undefined;
8439
+ this.minCharacters = 1;
8444
8440
  }
8445
8441
  activeItemHandler(state) {
8446
8442
  this.input.accessibleActiveDescendant = this.listOpen && (state || state === 0) ? `active_item` : "";
@@ -8566,7 +8562,7 @@ class DuetCombobox {
8566
8562
  updateInputValue(e) {
8567
8563
  var _a;
8568
8564
  this.inputValue = e.detail.value;
8569
- this.listOpen = String(this.inputValue).length > 0 && ((_a = this.getFilteredItems()) === null || _a === void 0 ? void 0 : _a.length) > 0;
8565
+ this.listOpen = String(this.inputValue).length >= this.minCharacters && ((_a = this.getFilteredItems()) === null || _a === void 0 ? void 0 : _a.length) > 0;
8570
8566
  }
8571
8567
  handleInputKeyDownEvent(e) {
8572
8568
  //if selection is made, close the list and update internal and external values
@@ -8721,6 +8717,7 @@ class DuetCombobox {
8721
8717
  "items": [1032],
8722
8718
  "formatter": [16],
8723
8719
  "value": [1537],
8720
+ "minCharacters": [2, "min-characters"],
8724
8721
  "processedItems": [32],
8725
8722
  "inputWidth": [32],
8726
8723
  "inputValue": [32],
@@ -11094,7 +11091,7 @@ class DuetHeading {
11094
11091
  }; }
11095
11092
  }
11096
11093
 
11097
- const duetHeroCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-hero,*.sc-duet-hero::after,*.sc-duet-hero::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-hero-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-hero*/.duet-hero.sc-duet-hero{position:relative;display:block;width:100%;padding:48px 28px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;text-decoration:none;text-shadow:none;text-transform:none;background:#00294d}/*!@.duet-hero.duet-p-0*/.duet-hero.duet-p-0.sc-duet-hero{padding:0 !important}/*!@.duet-hero.duet-m-0*/.duet-hero.duet-m-0.sc-duet-hero{margin:0 !important}/*!@.duet-hero.duet-hero-text-center*/.duet-hero.duet-hero-text-center.sc-duet-hero{text-align:center !important}/*!@.duet-hero.duet-hero-light*/.duet-hero.duet-hero-light.sc-duet-hero{padding-bottom:0 !important}@media (min-width: 62em){/*!@.duet-hero.duet-hero-light*/.duet-hero.duet-hero-light.sc-duet-hero{padding-bottom:28px !important}}/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:20px !important;margin-bottom:-36px}@media (min-width: 48em){/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:28px !important}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:36px !important;margin-bottom:-20px}}/*!@.duet-hero.duet-hero-light, .duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-light.sc-duet-hero,.duet-hero.duet-hero-with-image.sc-duet-hero{color:#00294d;background-color:white;background-image:linear-gradient(#f3f9fc, #f9fcfe)}/*!@.duet-hero.duet-hero-light::before, .duet-hero.duet-hero-with-image::before*/.duet-hero.duet-hero-light.sc-duet-hero::before,.duet-hero.duet-hero-with-image.sc-duet-hero::before{position:absolute;top:100%;left:0;z-index:-1;width:100%;height:400px;content:\"\";background-image:linear-gradient(#f9fcfe, white)}/*!@.duet-hero.duet-hero-light.duet-theme-turva, .duet-hero.duet-hero-with-image.duet-theme-turva*/.duet-hero.duet-hero-light.duet-theme-turva.sc-duet-hero,.duet-hero.duet-hero-with-image.duet-theme-turva.sc-duet-hero{color:#171c3a;background-image:linear-gradient(#f5f5f7, #fafafb)}/*!@.duet-hero.duet-hero-light.duet-theme-turva::before, .duet-hero.duet-hero-with-image.duet-theme-turva::before*/.duet-hero.duet-hero-light.duet-theme-turva.sc-duet-hero::before,.duet-hero.duet-hero-with-image.duet-theme-turva.sc-duet-hero::before{background-image:linear-gradient(#fafafb, white)}/*!@.duet-hero.duet-hero-gray*/.duet-hero.duet-hero-gray.sc-duet-hero{color:#00294d;background:#f5f8fa}/*!@.duet-hero.duet-hero-gray.duet-theme-turva*/.duet-hero.duet-hero-gray.duet-theme-turva.sc-duet-hero{background:#f5f5f7}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray .duet-hero-text*/.duet-hero.duet-hero-gray.sc-duet-hero .duet-hero-text.sc-duet-hero{display:inline-block;vertical-align:top}/*!@.duet-hero.duet-hero-gray .duet-hero-icon + .duet-hero-text*/.duet-hero.duet-hero-gray.sc-duet-hero .duet-hero-icon.sc-duet-hero+.duet-hero-text.sc-duet-hero{margin-left:28px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray-with-actions*/.duet-hero.duet-hero-gray-with-actions.sc-duet-hero{padding-bottom:65.4545454545px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray-with-back*/.duet-hero.duet-hero-gray-with-back.sc-duet-hero{padding-top:72px}}/*!@.duet-hero.duet-theme-turva*/.duet-hero.duet-theme-turva.sc-duet-hero{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}@media (min-width: 62em){/*!@.duet-hero*/.duet-hero.sc-duet-hero{min-height:290px;padding:111.6px 56px;overflow:visible}}/*!@.duet-hero-icon*/.duet-hero-icon.sc-duet-hero{display:inline-block;vertical-align:top}@media (min-width: 62em){/*!@.duet-hero-icon*/.duet-hero-icon.sc-duet-hero{margin-top:-8px}}@media (min-width: 62em){/*!@.duet-hero-heading*/.duet-hero-heading.sc-duet-hero{margin-top:12px}}@media (min-width: 62em){/*!@.duet-hero-heading-has-pre*/.duet-hero-heading-has-pre.sc-duet-hero{margin-top:0}}/*!@.duet-hero-wrapper*/.duet-hero-wrapper.sc-duet-hero{position:relative;width:100%;max-width:1110px;margin:0 auto;text-align:center}/*!@.duet-hero-left-align .duet-hero-wrapper*/.duet-hero-left-align.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{text-align:left}/*!@.duet-hero-with-image .duet-hero-wrapper*/.duet-hero-with-image.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{position:static}@media (min-width: 62em){/*!@.duet-hero-wrapper*/.duet-hero-wrapper.sc-duet-hero{text-align:left}}/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{max-width:50rem;margin:0 auto}/*!@.duet-hero-text-center .duet-hero-text*/.duet-hero-text-center.sc-duet-hero .duet-hero-text.sc-duet-hero{text-align:center !important}@media (min-width: 48em){/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{width:80%}/*!@.duet-hero-left-align .duet-hero-text*/.duet-hero-left-align.sc-duet-hero .duet-hero-text.sc-duet-hero{margin:0}}@media (min-width: 62em){/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{width:52%;max-width:none;margin-top:-10px;margin-left:0}/*!@.duet-hero-text-center .duet-hero-text*/.duet-hero-text-center.sc-duet-hero .duet-hero-text.sc-duet-hero{margin-left:auto}}/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{width:100%;max-width:400px;height:0;padding-bottom:50%;margin:28px auto 0;background-repeat:no-repeat;background-position:50% 50%;background-size:contain}@media (min-width: 36em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{padding-bottom:40%}}@media (min-width: 48em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{max-width:420px;padding-bottom:34%}/*!@.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-light.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{max-width:540px}}@media (min-width: 62em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{position:absolute;top:50%;right:0;padding-bottom:30%;margin:0;transform:translateY(-50%)}/*!@.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-light.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-60px;padding-bottom:26%}/*!@.duet-hero-gray .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-gray.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-34px;padding-bottom:20%}}@media (min-width: 62em){/*!@.duet-hero-gray:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-gray.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-34px;padding-bottom:20%}}/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{position:relative;width:80%;height:0;padding-bottom:80%;margin:-30px auto 36px;overflow:hidden;border-radius:28%;box-shadow:0 0 20px rgba(255, 255, 255, 0.5);transform:rotate(10deg)}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{padding-bottom:68%;border-radius:44% 47% 38% 54%;transform:none}@media screen and (min-width: 440px){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{width:300px;padding-bottom:300px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{width:80%;padding-bottom:68%}}@media (min-width: 62em){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{position:absolute;top:-60px;right:-50px;width:470px;padding-bottom:470px;margin:0}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{top:-40px;right:-80px;width:536px;padding-bottom:470px}}@media (min-width: 76.25em){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:-60px;width:600px;padding-bottom:600px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:-60px;width:650px;padding-bottom:600px}}@media screen and (min-width: 1450px){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:25px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{right:0}}/*!@.duet-hero-image-wrapper .duet-hero-image*/.duet-hero-image-wrapper.sc-duet-hero .duet-hero-image.sc-duet-hero{position:absolute;top:-5%;left:-5%;width:110%;height:110%;background-repeat:no-repeat;background-position:50% 50%;background-size:cover;transform:rotate(-10deg)}/*!@.duet-theme-turva .duet-hero-image-wrapper .duet-hero-image*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero .duet-hero-image.sc-duet-hero{top:0;left:0;width:100%;height:100%;transform:none}/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{position:relative;margin:-48px auto 0;overflow:hidden}@media (min-width: 62em){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{position:absolute;top:0;right:0;width:470px;height:460px;margin:0}}@media (min-width: 76.25em){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{width:650px;height:580px}}@media screen and (min-width: 1450px){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{right:50%;transform:translateX(110%)}/*!@.duet-theme-turva .duet-hero-image-mask*/.duet-theme-turva.sc-duet-hero .duet-hero-image-mask.sc-duet-hero{transform:translateX(108%)}}/*!@duet-heading + duet-button*/duet-heading.sc-duet-hero+duet-button.sc-duet-hero{margin-top:12px !important}/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{width:calc(100% + 56px);margin-top:48px;margin-left:-28px}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}@media (min-width: 36em){/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{margin-top:72px}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}}@media (min-width: 62em){/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{width:auto;margin:36px 0 0}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}}/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{display:flex;align-items:center;width:100%;padding:16px 16px 8px;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.25;color:#0077b3;text-align:left;text-decoration:none;border-bottom:1px solid #e1e3e6;transition:background-color 300ms ease}/*!@.duet-hero-link:focus*/.duet-hero-link.sc-duet-hero:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-theme-turva .duet-hero-link:focus, .duet-hero-link:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:focus,.duet-hero-link.sc-duet-hero:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-hero-link:hover, .duet-hero-link:hover .duet-hero-action-arrow*/.duet-hero-link.sc-duet-hero:hover,.duet-hero-link.sc-duet-hero:hover .duet-hero-action-arrow.sc-duet-hero{color:#004d80 !important;background:transparent !important}/*!@.duet-theme-turva .duet-hero-link:hover, .duet-theme-turva .duet-hero-link:hover .duet-hero-action-arrow*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:hover,.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:hover .duet-hero-action-arrow.sc-duet-hero{color:#940925 !important}/*!@.duet-theme-turva .duet-hero-link*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero{color:#c60c30}@media (min-width: 36em){/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{padding:16px 16px 16px 28px}}@media (min-width: 62em){/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{display:inline-flex;width:auto;max-width:350px;padding:0;margin:0 28px 16px 0;border:0;border-radius:4px}}/*!@.duet-hero-link:hover*/.duet-hero-link.sc-duet-hero:hover{background:rgba(0, 0, 0, 0.02)}@media (min-width: 62em){/*!@.duet-hero-link:hover*/.duet-hero-link.sc-duet-hero:hover{background:transparent}}/*!@.duet-hero-link:first-of-type*/.duet-hero-link.sc-duet-hero:first-of-type{border-top:1px solid #e1e3e6}@media (min-width: 62em){/*!@.duet-hero-link:first-of-type*/.duet-hero-link.sc-duet-hero:first-of-type{margin-top:0;border:0}}/*!@.duet-hero-link:last-of-type*/.duet-hero-link.sc-duet-hero:last-of-type{margin-bottom:-48px}@media (min-width: 62em){/*!@.duet-hero-link:last-of-type*/.duet-hero-link.sc-duet-hero:last-of-type{margin-right:0;margin-bottom:0}}/*!@.duet-hero-link span*/.duet-hero-link.sc-duet-hero span.sc-duet-hero{margin-top:-8px}@media (min-width: 36em){/*!@.duet-hero-link span*/.duet-hero-link.sc-duet-hero span.sc-duet-hero{margin:0}}/*!@.duet-hero-action-icon*/.duet-hero-action-icon.sc-duet-hero{margin-right:8px}@media (min-width: 36em){/*!@.duet-hero-action-icon*/.duet-hero-action-icon.sc-duet-hero{margin-right:12px}}/*!@.duet-hero-action-arrow*/.duet-hero-action-arrow.sc-duet-hero{margin:0 0 0 8px;color:#0077b3}@media (max-width: 35.9375em){/*!@.duet-hero-action-arrow*/.duet-hero-action-arrow.sc-duet-hero{margin-top:-9px}}/*!@.duet-theme-turva .duet-hero-action-arrow*/.duet-theme-turva.sc-duet-hero .duet-hero-action-arrow.sc-duet-hero{color:#c60c30}/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{margin-bottom:28px !important;display:flex;align-items:center;justify-content:center}/*!@.duet-hero-left-align .duet-hero-back*/.duet-hero-left-align.sc-duet-hero .duet-hero-back.sc-duet-hero{align-items:self-start;justify-content:flex-start}@media (min-width: 36em){/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{margin-bottom:36px !important}/*!@.duet-hero-minimal .duet-hero-back*/.duet-hero-minimal.sc-duet-hero .duet-hero-back.sc-duet-hero{margin-bottom:28px !important}}@media (min-width: 62em){/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{display:block}}/*!@.duet-hero-pre*/.duet-hero-pre.sc-duet-hero{display:inline-block;width:auto;margin-right:8px}/*!@.duet-hero-pre + duet-heading*/.duet-hero-pre.sc-duet-hero+duet-heading.sc-duet-hero{margin-top:0 !important}";
11094
+ const duetHeroCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-hero,*.sc-duet-hero::after,*.sc-duet-hero::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-hero-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-hero*/.duet-hero.sc-duet-hero{position:relative;display:block;width:100%;padding:48px 28px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;text-decoration:none;text-shadow:none;text-transform:none;background:#00294d}/*!@.duet-hero.duet-p-0*/.duet-hero.duet-p-0.sc-duet-hero{padding:0 !important}/*!@.duet-hero.duet-m-0*/.duet-hero.duet-m-0.sc-duet-hero{margin:0 !important}/*!@.duet-hero.duet-hero-text-center*/.duet-hero.duet-hero-text-center.sc-duet-hero{text-align:center !important}/*!@.duet-hero.duet-hero-light*/.duet-hero.duet-hero-light.sc-duet-hero{padding-bottom:0 !important}@media (min-width: 62em){/*!@.duet-hero.duet-hero-light*/.duet-hero.duet-hero-light.sc-duet-hero{padding-bottom:28px !important}}/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:20px !important;margin-bottom:-36px}@media (min-width: 48em){/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:28px !important}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:36px !important;margin-bottom:-20px}}/*!@.duet-hero.duet-hero-light, .duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-light.sc-duet-hero,.duet-hero.duet-hero-with-image.sc-duet-hero{color:#00294d;background-color:white;background-image:linear-gradient(#f3f9fc, #f9fcfe)}/*!@.duet-hero.duet-hero-light::before, .duet-hero.duet-hero-with-image::before*/.duet-hero.duet-hero-light.sc-duet-hero::before,.duet-hero.duet-hero-with-image.sc-duet-hero::before{position:absolute;top:100%;left:0;z-index:-1;width:100%;height:400px;content:\"\";background-image:linear-gradient(#f9fcfe, white)}/*!@.duet-hero.duet-hero-light.duet-theme-turva, .duet-hero.duet-hero-with-image.duet-theme-turva*/.duet-hero.duet-hero-light.duet-theme-turva.sc-duet-hero,.duet-hero.duet-hero-with-image.duet-theme-turva.sc-duet-hero{color:#171c3a;background-image:linear-gradient(#f5f5f7, #fafafb)}/*!@.duet-hero.duet-hero-light.duet-theme-turva::before, .duet-hero.duet-hero-with-image.duet-theme-turva::before*/.duet-hero.duet-hero-light.duet-theme-turva.sc-duet-hero::before,.duet-hero.duet-hero-with-image.duet-theme-turva.sc-duet-hero::before{background-image:linear-gradient(#fafafb, white)}/*!@.duet-hero.duet-hero-gray*/.duet-hero.duet-hero-gray.sc-duet-hero{color:#00294d;background:#f5f8fa}/*!@.duet-hero.duet-hero-gray.duet-theme-turva*/.duet-hero.duet-hero-gray.duet-theme-turva.sc-duet-hero{background:#f5f5f7}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray .duet-hero-text*/.duet-hero.duet-hero-gray.sc-duet-hero .duet-hero-text.sc-duet-hero{display:inline-block;vertical-align:top}/*!@.duet-hero.duet-hero-gray .duet-hero-icon + .duet-hero-text*/.duet-hero.duet-hero-gray.sc-duet-hero .duet-hero-icon.sc-duet-hero+.duet-hero-text.sc-duet-hero{margin-left:28px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray-with-actions*/.duet-hero.duet-hero-gray-with-actions.sc-duet-hero{padding-bottom:65.4545454545px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray-with-back*/.duet-hero.duet-hero-gray-with-back.sc-duet-hero{padding-top:72px}}/*!@.duet-hero.duet-hero-campaign, .duet-hero.duet-hero-section*/.duet-hero.duet-hero-campaign.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero{padding:0;margin:0 0 72px;overflow:hidden;background:none}/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{position:absolute;width:100%;min-height:580px;background-repeat:no-repeat;background-position:left top;background-size:cover}/*!@.duet-hero.duet-hero-campaign .background .brand-shape, .duet-hero.duet-hero-section .background .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{position:absolute;top:270px;right:0;left:-100px;width:712.18px;height:712.18px;margin-right:auto;margin-left:auto;background:white;border-radius:152.214px;mix-blend-mode:normal;transform:rotate(8deg)}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .background .brand-shape, .duet-hero.duet-hero-section .background .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{left:-50px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .background .brand-shape, .duet-hero.duet-hero-section .background .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{top:300px;left:0}}/*!@.duet-hero.duet-hero-campaign .duet-hero-text, .duet-hero.duet-hero-section .duet-hero-text*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero{width:100%}/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{margin:0 auto}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:70%}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:52%}}/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{display:flex;align-items:center;height:17.875rem;margin-bottom:2rem}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{height:17.875rem;margin-bottom:6.25rem}}/*!@.duet-hero.duet-hero-campaign.duet-theme-turva, .duet-hero.duet-hero-section.duet-theme-turva*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:none}/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{background:white}/*!@.duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{min-height:520px}/*!@.duet-hero.duet-hero-product*/.duet-hero.duet-hero-product.sc-duet-hero{position:relative;padding:0;overflow:hidden;background:white}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product*/.duet-hero.duet-hero-product.sc-duet-hero{min-height:544px;padding:111.6px 56px}}/*!@.duet-hero.duet-hero-product .background*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero{position:relative;width:100%;height:236px;margin:0 0 28px}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero{position:absolute;top:0;left:0;height:544px;margin:0}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-image*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{position:absolute;top:-10px;right:0;width:100%;max-width:95%;height:100%;background-repeat:no-repeat;background-position:right top;background-size:contain;mix-blend-mode:normal}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{position:absolute;top:0;right:0;width:50%;max-width:735px;height:100%;background-position:left top}}/*!@.duet-hero.duet-hero-product .background .brand-shape*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{position:absolute;bottom:0;left:calc(50% - 120.305px - 129.2px);width:240.61px;height:240.61px;background:#e6f2f8;border-radius:60.1517px;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shape*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{top:auto;right:414.01px;bottom:50px;left:auto;width:400px;height:400px;border-radius:100px}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{position:absolute;right:20px;bottom:0;display:flex;align-items:center;justify-content:center;width:85.98px;height:85.98px;background:rgba(0, 119, 179, 0.75);border-radius:21.4952px;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{right:223.61px;bottom:50px;width:186.64px;height:186.64px;border-radius:46.6612px}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{width:80px;height:80px;transform:rotate(-7deg)}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{width:120px;height:120px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .duet-hero-text*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-text.sc-duet-hero{width:50%}}/*!@.duet-hero.duet-hero-product.duet-theme-turva*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero{background:white}/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{background:rgba(198, 12, 48, 0.75)}/*!@.duet-hero.duet-theme-turva*/.duet-hero.duet-theme-turva.sc-duet-hero{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}@media (min-width: 62em){/*!@.duet-hero*/.duet-hero.sc-duet-hero{min-height:290px;padding:111.6px 56px;overflow:visible}}/*!@.duet-hero-icon*/.duet-hero-icon.sc-duet-hero{display:inline-block;vertical-align:top}@media (min-width: 62em){/*!@.duet-hero-icon*/.duet-hero-icon.sc-duet-hero{margin-top:-8px}}@media (min-width: 62em){/*!@.duet-hero-heading*/.duet-hero-heading.sc-duet-hero{margin-top:12px}}@media (min-width: 62em){/*!@.duet-hero-heading-has-pre*/.duet-hero-heading-has-pre.sc-duet-hero{margin-top:0}}/*!@.duet-hero-wrapper*/.duet-hero-wrapper.sc-duet-hero{position:relative;width:100%;max-width:1110px;margin:0 auto;text-align:center}/*!@.duet-hero-left-align .duet-hero-wrapper*/.duet-hero-left-align.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{text-align:left}/*!@.duet-hero-with-image .duet-hero-wrapper*/.duet-hero-with-image.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{position:static}@media (min-width: 62em){/*!@.duet-hero-wrapper*/.duet-hero-wrapper.sc-duet-hero{text-align:left}}/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{max-width:50rem;margin:0 auto}/*!@.duet-hero-text-center .duet-hero-text*/.duet-hero-text-center.sc-duet-hero .duet-hero-text.sc-duet-hero{text-align:center !important}@media (min-width: 48em){/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{width:80%}/*!@.duet-hero-left-align .duet-hero-text*/.duet-hero-left-align.sc-duet-hero .duet-hero-text.sc-duet-hero{margin:0}}@media (min-width: 62em){/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{width:52%;max-width:none;margin-top:-10px;margin-left:0}/*!@.duet-hero-text-center .duet-hero-text*/.duet-hero-text-center.sc-duet-hero .duet-hero-text.sc-duet-hero{margin-left:auto}}/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{width:100%;max-width:400px;height:0;padding-bottom:50%;margin:28px auto 0;background-repeat:no-repeat;background-position:50% 50%;background-size:contain}@media (min-width: 36em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{padding-bottom:40%}}@media (min-width: 48em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{max-width:420px;padding-bottom:34%}/*!@.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-light.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{max-width:540px}}@media (min-width: 62em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{position:absolute;top:50%;right:0;padding-bottom:30%;margin:0;transform:translateY(-50%)}/*!@.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-light.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-60px;padding-bottom:26%}/*!@.duet-hero-gray .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-gray.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-34px;padding-bottom:20%}}@media (min-width: 62em){/*!@.duet-hero-gray:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-gray.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-34px;padding-bottom:20%}}/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{position:relative;width:80%;height:0;padding-bottom:80%;margin:-30px auto 36px;overflow:hidden;border-radius:28%;box-shadow:0 0 20px rgba(255, 255, 255, 0.5);transform:rotate(10deg)}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{padding-bottom:68%;border-radius:44% 47% 38% 54%;transform:none}@media screen and (min-width: 440px){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{width:300px;padding-bottom:300px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{width:80%;padding-bottom:68%}}@media (min-width: 62em){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{position:absolute;top:-60px;right:-50px;width:470px;padding-bottom:470px;margin:0}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{top:-40px;right:-80px;width:536px;padding-bottom:470px}}@media (min-width: 76.25em){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:-60px;width:600px;padding-bottom:600px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:-60px;width:650px;padding-bottom:600px}}@media screen and (min-width: 1450px){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:25px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{right:0}}/*!@.duet-hero-image-wrapper .duet-hero-image*/.duet-hero-image-wrapper.sc-duet-hero .duet-hero-image.sc-duet-hero{position:absolute;top:-5%;left:-5%;width:110%;height:110%;background-repeat:no-repeat;background-position:50% 50%;background-size:cover;transform:rotate(-10deg)}/*!@.duet-theme-turva .duet-hero-image-wrapper .duet-hero-image*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero .duet-hero-image.sc-duet-hero{top:0;left:0;width:100%;height:100%;transform:none}/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{position:relative;margin:-48px auto 0;overflow:hidden}@media (min-width: 62em){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{position:absolute;top:0;right:0;width:470px;height:460px;margin:0}}@media (min-width: 76.25em){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{width:650px;height:580px}}@media screen and (min-width: 1450px){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{right:50%;transform:translateX(110%)}/*!@.duet-theme-turva .duet-hero-image-mask*/.duet-theme-turva.sc-duet-hero .duet-hero-image-mask.sc-duet-hero{transform:translateX(108%)}}/*!@duet-heading + duet-button*/duet-heading.sc-duet-hero+duet-button.sc-duet-hero{margin-top:12px !important}/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{width:calc(100% + 56px);margin-top:48px;margin-left:-28px}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}@media (min-width: 36em){/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{margin-top:72px}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}}@media (min-width: 62em){/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{width:auto;margin:36px 0 0}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}}/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{display:flex;align-items:center;width:100%;padding:16px 16px 8px;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.25;color:#0077b3;text-align:left;text-decoration:none;border-bottom:1px solid #e1e3e6;transition:background-color 300ms ease}/*!@.duet-hero-link:focus*/.duet-hero-link.sc-duet-hero:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-theme-turva .duet-hero-link:focus, .duet-hero-link:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:focus,.duet-hero-link.sc-duet-hero:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-hero-link:hover, .duet-hero-link:hover .duet-hero-action-arrow*/.duet-hero-link.sc-duet-hero:hover,.duet-hero-link.sc-duet-hero:hover .duet-hero-action-arrow.sc-duet-hero{color:#004d80 !important;background:transparent !important}/*!@.duet-theme-turva .duet-hero-link:hover, .duet-theme-turva .duet-hero-link:hover .duet-hero-action-arrow*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:hover,.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:hover .duet-hero-action-arrow.sc-duet-hero{color:#940925 !important}/*!@.duet-theme-turva .duet-hero-link*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero{color:#c60c30}@media (min-width: 36em){/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{padding:16px 16px 16px 28px}}@media (min-width: 62em){/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{display:inline-flex;width:auto;max-width:350px;padding:0;margin:0 28px 16px 0;border:0;border-radius:4px}}/*!@.duet-hero-link:hover*/.duet-hero-link.sc-duet-hero:hover{background:rgba(0, 0, 0, 0.02)}@media (min-width: 62em){/*!@.duet-hero-link:hover*/.duet-hero-link.sc-duet-hero:hover{background:transparent}}/*!@.duet-hero-link:first-of-type*/.duet-hero-link.sc-duet-hero:first-of-type{border-top:1px solid #e1e3e6}@media (min-width: 62em){/*!@.duet-hero-link:first-of-type*/.duet-hero-link.sc-duet-hero:first-of-type{margin-top:0;border:0}}/*!@.duet-hero-link:last-of-type*/.duet-hero-link.sc-duet-hero:last-of-type{margin-bottom:-48px}@media (min-width: 62em){/*!@.duet-hero-link:last-of-type*/.duet-hero-link.sc-duet-hero:last-of-type{margin-right:0;margin-bottom:0}}/*!@.duet-hero-link span*/.duet-hero-link.sc-duet-hero span.sc-duet-hero{margin-top:-8px}@media (min-width: 36em){/*!@.duet-hero-link span*/.duet-hero-link.sc-duet-hero span.sc-duet-hero{margin:0}}/*!@.duet-hero-action-icon*/.duet-hero-action-icon.sc-duet-hero{margin-right:8px}@media (min-width: 36em){/*!@.duet-hero-action-icon*/.duet-hero-action-icon.sc-duet-hero{margin-right:12px}}/*!@.duet-hero-action-arrow*/.duet-hero-action-arrow.sc-duet-hero{margin:0 0 0 8px;color:#0077b3}@media (max-width: 35.9375em){/*!@.duet-hero-action-arrow*/.duet-hero-action-arrow.sc-duet-hero{margin-top:-9px}}/*!@.duet-theme-turva .duet-hero-action-arrow*/.duet-theme-turva.sc-duet-hero .duet-hero-action-arrow.sc-duet-hero{color:#c60c30}/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{margin-bottom:28px !important;display:flex;align-items:center;justify-content:center}/*!@.duet-hero-left-align .duet-hero-back*/.duet-hero-left-align.sc-duet-hero .duet-hero-back.sc-duet-hero{align-items:self-start;justify-content:flex-start}@media (min-width: 36em){/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{margin-bottom:36px !important}/*!@.duet-hero-minimal .duet-hero-back*/.duet-hero-minimal.sc-duet-hero .duet-hero-back.sc-duet-hero{margin-bottom:28px !important}}@media (min-width: 62em){/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{display:block}}/*!@.duet-hero-pre*/.duet-hero-pre.sc-duet-hero{display:inline-block;width:auto;margin-right:8px}/*!@.duet-hero-pre + duet-heading*/.duet-hero-pre.sc-duet-hero+duet-heading.sc-duet-hero{margin-top:0 !important}";
11098
11095
 
11099
11096
  /**
11100
11097
  * @part duet-hero - piercing selector for styling the hero container
@@ -11103,6 +11100,7 @@ const duetHeroCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-hero,*.sc-duet-hero
11103
11100
  * @slot badge - This is a slot for a status badge that sits next to pre-heading inside the hero component.
11104
11101
  * @slot bottom - This is a slot for content under the main hero content.
11105
11102
  * @slot heading - This is a slot for heading content inside the hero component.
11103
+ * @slot subheading - This is a slot for heading content inside the hero component. Only usable with campaign, section variations.
11106
11104
  */
11107
11105
  class DuetHero {
11108
11106
  constructor(hostRef) {
@@ -11128,6 +11126,7 @@ class DuetHero {
11128
11126
  this.heading = "";
11129
11127
  this.preHeading = "";
11130
11128
  this.level = "h1";
11129
+ this.subHeadingLevel = "h2";
11131
11130
  this.description = "";
11132
11131
  this.icon = "";
11133
11132
  this.iconSize = "medium";
@@ -11155,6 +11154,7 @@ class DuetHero {
11155
11154
  componentWillLoad() {
11156
11155
  inheritGlobalTheme(this);
11157
11156
  this.hasHeadingSlot = !!this.element.querySelector('[slot="heading"]');
11157
+ this.hasSubHeadingSlot = !!this.element.querySelector('[slot="subheading"]');
11158
11158
  this.refresh();
11159
11159
  }
11160
11160
  /**
@@ -11185,12 +11185,24 @@ class DuetHero {
11185
11185
  * Always the last one in the class.
11186
11186
  */
11187
11187
  render() {
11188
+ const campaignOrSection = this.variation === "campaign" || this.variation === "section";
11188
11189
  const styles = {
11189
11190
  backgroundImage: `url(${this.image})`,
11190
11191
  };
11191
11192
  const buttonStyles = {
11192
11193
  transform: "translateX(-8px)",
11193
11194
  };
11195
+ let headingVisualLevel = this.variation === "gray" || this.variation === "minimal" ? "h2" : "h1";
11196
+ if (campaignOrSection || this.variation === "product") {
11197
+ headingVisualLevel = "h0";
11198
+ }
11199
+ let headingColor = this.variation === "default" ? "gray-lightest" : "";
11200
+ if (campaignOrSection) {
11201
+ headingColor = "color-gray-lightest";
11202
+ if (this.theme === "turva") {
11203
+ headingColor = "color-gray-lightest-turva";
11204
+ }
11205
+ }
11194
11206
  let buttonVariation = this.theme === "turva" ? "negative" : "primary";
11195
11207
  let outlineColor = "primary-blue";
11196
11208
  let textColor = "gray-lightest";
@@ -11198,7 +11210,9 @@ class DuetHero {
11198
11210
  if (this.variation === "light" ||
11199
11211
  this.variation === "image" ||
11200
11212
  this.variation === "gray" ||
11201
- this.variation === "minimal") {
11213
+ this.variation === "minimal" ||
11214
+ campaignOrSection ||
11215
+ this.variation === "product") {
11202
11216
  textColor = "secondary";
11203
11217
  if (this.theme === "turva") {
11204
11218
  textColor = "secondary-turva";
@@ -11215,17 +11229,20 @@ class DuetHero {
11215
11229
  "duet-hero-gray": this.variation === "gray" || this.variation === "minimal",
11216
11230
  "duet-hero-minimal": this.variation === "minimal",
11217
11231
  "duet-hero-with-image": this.variation === "image",
11232
+ "duet-hero-campaign": this.variation === "campaign",
11233
+ "duet-hero-section": this.variation === "section",
11234
+ "duet-hero-product": this.variation === "product",
11218
11235
  "duet-hero-gray-with-actions": !!this.processedActions,
11219
11236
  "duet-hero-gray-with-back": !!this.processedBack,
11220
- "duet-hero-text-center": this.textCenter && !this.leftAlign,
11221
- "duet-hero-left-align": this.leftAlign,
11222
- }, part: "duet-hero" }, hAsync("div", { class: "duet-hero-wrapper" }, this.image && this.variation === "image" && (hAsync("div", { class: "duet-hero-image-mask" }, hAsync("div", { class: "duet-hero-image-wrapper" }, hAsync("div", { class: "duet-hero-image", style: styles })))), (this.variation === "gray" || this.variation === "light" || this.variation === "minimal") &&
11237
+ "duet-hero-text-center": (this.textCenter && !this.leftAlign) || campaignOrSection,
11238
+ "duet-hero-left-align": this.leftAlign && !campaignOrSection,
11239
+ }, part: "duet-hero" }, campaignOrSection && this.image && (hAsync("div", { class: "background", style: styles }, hAsync("div", { class: "brand-shape" }))), this.variation === "product" && this.image && (hAsync("div", { class: "background" }, this.theme !== "turva" && hAsync("div", { class: "brand-shape" }), hAsync("div", { class: "brand-shaped-image", style: styles }), this.categoryIcon && (hAsync("div", { class: "brand-shaped-icon" }, hAsync("duet-icon", { background: "none", name: this.categoryIcon, margin: "none", size: "auto", responsive: false }))))), hAsync("div", { class: "duet-hero-wrapper" }, this.image && this.variation === "image" && (hAsync("div", { class: "duet-hero-image-mask" }, hAsync("div", { class: "duet-hero-image-wrapper" }, hAsync("div", { class: "duet-hero-image", style: styles })))), (this.variation === "gray" || this.variation === "light" || this.variation === "minimal") &&
11223
11240
  this.processedBack && (hAsync("div", { class: "duet-hero-back" }, hAsync("duet-button", { style: buttonStyles, variation: "plain", icon: "action-arrow-left-small", theme: this.theme, iconSize: "small", color: buttonColor, padding: "none", margin: "none", fixed: true, url: this.processedBack.href, identifier: this.processedBack.id, onClick: event => this.handleClick(event, {
11224
11241
  label: this.processedBack.label,
11225
11242
  href: this.processedBack.href,
11226
11243
  id: this.processedBack.id,
11227
11244
  analyticsId: this.processedBack.analyticsId,
11228
- }) }, this.processedBack.label))), (this.variation === "gray" || this.variation === "minimal") && this.categoryIcon && (hAsync("duet-icon", { class: { "duet-hero-icon": true, "duet-hero-icon-has-heading": this.preHeading !== "" }, size: "x-large", background: this.categoryIconColor, name: this.categoryIcon })), hAsync("div", { class: "duet-hero-text", part: "duet-hero-text" }, this.preHeading && (hAsync("duet-paragraph", { margin: "none", class: "duet-hero-pre" }, this.preHeading)), hAsync("slot", { name: "badge" }), (this.heading || this.hasHeadingSlot) && (hAsync("duet-heading", { theme: this.theme, level: this.level, class: { "duet-hero-heading": true, "duet-hero-heading-has-pre": this.preHeading !== "" }, color: this.variation === "default" ? "gray-lightest" : "", visualLevel: this.variation === "gray" || this.variation === "minimal" ? "h2" : "h1" }, this.heading ? this.heading : hAsync("slot", { name: "heading" }))), this.description && (hAsync("duet-paragraph", { theme: this.theme, color: textColor, variation: "intro" }, this.description)), (this.variation === "gray" || this.variation === "minimal") && this.processedListItems && (hAsync("duet-list", { theme: this.theme, "label-width": "30", breakpoint: "large", mobile: this.leftAlign ? undefined : "center" }, this.processedListItems.map(item => (hAsync("duet-list-item", null, hAsync("span", { slot: "label" }, item.label), hAsync("span", { slot: "value" }, item.value)))))), this.buttonLabel && (hAsync("duet-button", { url: this.buttonUrl, icon: this.icon, iconRight: this.iconRight, iconSize: this.iconSize, variation: buttonVariation, theme: this.theme, identifier: this.buttonId, onClick: event => this.handleClick(event, this.buttonData), fixed: true }, this.buttonLabel)), hAsync("span", { class: "duet-hero-slot-unnamed" }, hAsync("slot", null))), (this.variation === "gray" || this.variation === "minimal") && this.processedActions && (hAsync("div", { class: "duet-hero-links" }, this.processedActions.map(item => (hAsync("a", { class: "duet-hero-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleClick(event, item) }, hAsync("div", { class: "duet-hero-action-icon" }, hAsync("duet-icon", { size: "small", margin: "none", name: item.icon, color: "currentColor", outline: outlineColor })), hAsync("span", null, item.label), item.external && hAsync("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), item.external && (hAsync("div", { class: "duet-hero-action-arrow" }, hAsync("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))))))), this.image && this.variation !== "image" && hAsync("div", { class: "duet-hero-image", style: styles }), hAsync("slot", { name: "bottom" }))));
11245
+ }) }, this.processedBack.label))), (this.variation === "gray" || this.variation === "minimal") && this.categoryIcon && (hAsync("duet-icon", { class: { "duet-hero-icon": true, "duet-hero-icon-has-heading": this.preHeading !== "" }, size: "x-large", background: this.categoryIconColor, name: this.categoryIcon })), hAsync("div", { class: "duet-hero-text", part: "duet-hero-text" }, this.preHeading && (hAsync("duet-paragraph", { margin: "none", class: "duet-hero-pre" }, this.preHeading)), hAsync("slot", { name: "badge" }), (this.heading || this.hasHeadingSlot) && (hAsync("duet-heading", { theme: this.theme, level: this.level, class: { "duet-hero-heading": true, "duet-hero-heading-has-pre": this.preHeading !== "" }, color: headingColor, visualLevel: headingVisualLevel, margin: campaignOrSection ? "none" : "auto" }, this.heading ? this.heading : hAsync("slot", { name: "heading" }))), campaignOrSection && this.hasSubHeadingSlot && (hAsync("duet-heading", { theme: this.theme, level: this.subHeadingLevel, class: { "duet-hero-subheading": true }, color: this.theme === "turva" ? "secondary-turva" : "secondary", visualLevel: "h2" }, hAsync("slot", { name: "subheading" }))), this.description && (hAsync("duet-paragraph", { theme: this.theme, color: textColor, variation: "intro" }, this.description)), (this.variation === "gray" || this.variation === "minimal") && this.processedListItems && (hAsync("duet-list", { theme: this.theme, "label-width": "30", breakpoint: "large", mobile: this.leftAlign ? undefined : "center" }, this.processedListItems.map(item => (hAsync("duet-list-item", null, hAsync("span", { slot: "label" }, item.label), hAsync("span", { slot: "value" }, item.value)))))), this.buttonLabel && (hAsync("duet-button", { url: this.buttonUrl, icon: this.icon, iconRight: this.iconRight, iconSize: this.iconSize, variation: buttonVariation, theme: this.theme, identifier: this.buttonId, onClick: event => this.handleClick(event, this.buttonData), fixed: true }, this.buttonLabel)), hAsync("span", { class: "duet-hero-slot-unnamed" }, hAsync("slot", null))), (this.variation === "gray" || this.variation === "minimal") && this.processedActions && (hAsync("div", { class: "duet-hero-links" }, this.processedActions.map(item => (hAsync("a", { class: "duet-hero-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleClick(event, item) }, hAsync("div", { class: "duet-hero-action-icon" }, hAsync("duet-icon", { size: "small", margin: "none", name: item.icon, color: "currentColor", outline: outlineColor })), hAsync("span", null, item.label), item.external && hAsync("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), item.external && (hAsync("div", { class: "duet-hero-action-arrow" }, hAsync("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))))))), this.image && this.variation !== "image" && !campaignOrSection && this.variation !== "product" && (hAsync("div", { class: "duet-hero-image", style: styles })), hAsync("slot", { name: "bottom" }))));
11229
11246
  }
11230
11247
  get element() { return getElement(this); }
11231
11248
  static get watchers() { return {
@@ -11242,6 +11259,7 @@ class DuetHero {
11242
11259
  "heading": [1],
11243
11260
  "preHeading": [1, "pre-heading"],
11244
11261
  "level": [1],
11262
+ "subHeadingLevel": [1, "sub-heading-level"],
11245
11263
  "description": [1],
11246
11264
  "icon": [1],
11247
11265
  "iconSize": [1, "icon-size"],
@@ -11480,7 +11498,7 @@ class DuetInput {
11480
11498
  });
11481
11499
  };
11482
11500
  this.onClear = (ev) => {
11483
- this.duetFocus.emit({
11501
+ this.duetClear.emit({
11484
11502
  originalEvent: ev,
11485
11503
  value: this.value,
11486
11504
  component: "duet-input",
@@ -11616,6 +11634,7 @@ class DuetInput {
11616
11634
  async clearInput() {
11617
11635
  if (this.nativeInput) {
11618
11636
  this.nativeInput.value = "";
11637
+ this.nativeInput.focus();
11619
11638
  this.value = "";
11620
11639
  }
11621
11640
  }
@@ -13735,11 +13754,11 @@ class DuetPagination {
13735
13754
  }, role: "menubar", "aria-label": this.accessibleLabels.pagination_label, "aria-description": this.accessibleLabels.description }, hAsync("li", { class: {
13736
13755
  "duet-pagination-page-button": true,
13737
13756
  "duet-pagination-button-first": true,
13738
- }, role: "menuitem", part: "navigation-arrow" }, hAsync("duet-action-button", { disabled: this.internalSectionIndex === 0 && this.current <= 1, "data-direction": "back", onClick: e => this.onMouseHandler(e, -1), "aria-label": this.accessibleLabels.previous_page, "icon-name": "action-arrow-left-small" })), this.internalSectionIndex !== 0 && this.shouldDisplayNavigation() && (hAsync(Fragment, null, hAsync("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, hAsync("duet-button", { class: "duet-pagination-link duet-pagination-link-jump-back", "center-text": "true", variation: "plain", color: "secondary", margin: "none", accessibleLabel: this.accessibleLabels.first_page, onClick: e => this.jumpToStart(e) }, hAsync("div", { class: "duet-pagination-page-number" }, "1"))), hAsync("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, hAsync("duet-button", { class: "duet-pagination-link duet-pagination-link-dots-back", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.prev_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, -1) }, hAsync("div", { class: "duet-pagination-page-number", "aria-hidden": "true" }, "..."))))), this.renderPageNumbers(), this.internalSectionIndex * (this.visibleItems + 2) < this.totalPages && this.shouldDisplayNavigation() && (hAsync(Fragment, null, hAsync("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, hAsync("duet-button", { class: "duet-pagination-link duet-pagination-link-dots-forward", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.next_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, 1) }, hAsync("div", { class: "duet-pagination-page-number", "aria-hidden": "true" }, "..."))), hAsync("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, hAsync("duet-button", { class: "duet-pagination-link duet-pagination-link-jump-forward", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.last_page, onClick: e => this.jumpToEnd(e) }, hAsync("div", { class: "duet-pagination-page-number" }, this.totalPages))))), hAsync("li", { class: {
13757
+ }, role: "menuitem", part: "navigation-arrow" }, hAsync("duet-action-button", { disabled: this.internalSectionIndex === 0 && this.current <= 1, "data-direction": "back", onClick: e => this.onMouseHandler(e, -1), "accessible-label": this.accessibleLabels.previous_page, "icon-name": "action-arrow-left-small" })), this.internalSectionIndex !== 0 && this.shouldDisplayNavigation() && (hAsync(Fragment, null, hAsync("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, hAsync("duet-button", { class: "duet-pagination-link duet-pagination-link-jump-back", "center-text": "true", variation: "plain", color: "secondary", margin: "none", accessibleLabel: this.accessibleLabels.first_page, onClick: e => this.jumpToStart(e) }, hAsync("div", { class: "duet-pagination-page-number" }, "1"))), hAsync("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, hAsync("duet-button", { class: "duet-pagination-link duet-pagination-link-dots-back", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.prev_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, -1) }, hAsync("div", { class: "duet-pagination-page-number", "aria-hidden": "true" }, "..."))))), this.renderPageNumbers(), this.internalSectionIndex * (this.visibleItems + 2) < this.totalPages && this.shouldDisplayNavigation() && (hAsync(Fragment, null, hAsync("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, hAsync("duet-button", { class: "duet-pagination-link duet-pagination-link-dots-forward", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.next_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, 1) }, hAsync("div", { class: "duet-pagination-page-number", "aria-hidden": "true" }, "..."))), hAsync("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, hAsync("duet-button", { class: "duet-pagination-link duet-pagination-link-jump-forward", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.last_page, onClick: e => this.jumpToEnd(e) }, hAsync("div", { class: "duet-pagination-page-number" }, this.totalPages))))), hAsync("li", { class: {
13739
13758
  "duet-pagination-page-button": true,
13740
13759
  "duet-pagination-button-last": true,
13741
13760
  }, role: "menuitem", part: "navigation-arrow" }, hAsync("duet-action-button", { disabled: this.current === this.totalPages &&
13742
- this.internalSectionIndex === Math.ceil(this.totalPages / this.visibleItems) - 1, class: "duet-date-dialog-next", "aria-label": this.accessibleLabels.next_page, onClick: e => this.onMouseHandler(e, 1), "icon-name": "action-arrow-right-small" }))))));
13761
+ this.internalSectionIndex === Math.ceil(this.totalPages / this.visibleItems) - 1, class: "duet-date-dialog-next", "accessible-label": this.accessibleLabels.next_page, onClick: e => this.onMouseHandler(e, 1), "icon-name": "action-arrow-right-small" }))))));
13743
13762
  }
13744
13763
  get element() { return getElement(this); }
13745
13764
  static get watchers() { return {
@@ -14455,7 +14474,7 @@ class DuetRangeStepper {
14455
14474
  return (hAsync("div", { class: {
14456
14475
  "duet-range-stepper": true,
14457
14476
  "duet-theme-turva": this.theme === "turva",
14458
- }, onKeyDown: e => this.onKeyboardDown(e), "aria-controls": this.ariaControls }, hAsync("span", { class: "duet-range-step-counter", part: "range-numbers" }, this.generateStepSize()), hAsync("duet-action-button", { class: "duet-range-step-button duet-range-step-minus", onClick: e => this.handleClick(e, -1), id: this.leftBn, "aria-label": this.ariaLabels.previous_increment, ref: el => (this.leftBnRef = el), part: "navigation-arrow", iconName: "action-arrow-left-small" }), hAsync("duet-action-button", { class: "duet-range-step-button duet-range-step-plus", onClick: e => this.handleClick(e, 1), "aria-label": this.ariaLabels.next_increment, id: this.rightBn, ref: el => (this.rightBnRef = el), part: "navigation-arrow", iconName: "action-arrow-right-small" })));
14477
+ }, onKeyDown: e => this.onKeyboardDown(e), "aria-controls": this.ariaControls }, hAsync("span", { class: "duet-range-step-counter", part: "range-numbers" }, this.generateStepSize()), hAsync("duet-action-button", { class: "duet-range-step-button duet-range-step-minus", onClick: e => this.handleClick(e, -1), id: this.leftBn, "accessible-label": this.ariaLabels.previous_increment, ref: el => (this.leftBnRef = el), part: "navigation-arrow", iconName: "action-arrow-left-small" }), hAsync("duet-action-button", { class: "duet-range-step-button duet-range-step-plus", onClick: e => this.handleClick(e, 1), "accessible-label": this.ariaLabels.next_increment, id: this.rightBn, ref: el => (this.rightBnRef = el), part: "navigation-arrow", iconName: "action-arrow-right-small" })));
14459
14478
  }
14460
14479
  get element() { return getElement(this); }
14461
14480
  static get watchers() { return {
@@ -17995,17 +18014,18 @@ class DuetUpload {
17995
18014
  caption = caption.replace(/{maxbytes}/g, `${maxMegaBytesPrFile.toString()} MB`);
17996
18015
  caption = caption.replace(/{maxbytestotal}/g, `${maxMegaBytesTotal.toString()} MB`);
17997
18016
  caption = caption.replace(/{filetypes}/g, this.allowedExtensions.split(",").join(", "));
18017
+ // @ts-ignore
17998
18018
  return (hAsync(Host, { class: { "duet-m-0": this.margin === "none" } }, hAsync("duet-fieldset", { label: this.label, caption: caption }, hAsync("slot", { name: "header" }), !this.files.size && (hAsync("duet-label", { part: this.identifier ? `${this.identifier}-empty-state` : "duet-upload-empty-state", theme: this.theme === "turva" ? "turva" : "default", size: "small", class: {
17999
18019
  "duet-upload-filelist-empty": !this.files.size,
18000
18020
  "duet-upload-filelist": true,
18001
18021
  "duet-upload-filelist-filled": this.files.size,
18002
18022
  }, id: this.labelId, for: identifier }, hAsync("span", { class: {
18003
18023
  "duet-upload-filelist-empty-label": !this.files.size,
18004
- } }, this.fileListEmpty))), !!this.files.size && hAsync("slot", { name: "fileheader" }), !!this.files.size && (hAsync("duet-upload-aria-status", { invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && this.renderEditableTableGroups(), !!this.files.size && hAsync("slot", { name: "filefooter" }), hAsync("duet-spacer", { size: "large" }), !this.hideButton && (hAsync("duet-button", { id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel)), hAsync("duet-spacer", { size: "medium" }), (this.fileMaxReached || this.bytesMaxReached) && (hAsync("duet-alert", { part: this.identifier ? `${this.identifier}-error-notification` : "duet-upload-error-notification" }, this.fileMaxReached && getI18nError("duet-upload-301", this.errorCodes), this.bytesMaxReached && getI18nError("duet-upload-202", this.errorCodes))), hAsync("duet-spacer", { size: "medium" }), hAsync("duet-visually-hidden", null, hAsync("input", { ref: input => {
18024
+ } }, this.fileListEmpty))), !!this.files.size && hAsync("slot", { name: "fileheader" }), !!this.files.size && (hAsync("duet-upload-aria-status", { invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && this.renderEditableTableGroups(), !!this.files.size && hAsync("slot", { name: "filefooter" }), hAsync("duet-spacer", { size: "large" }), !this.hideButton && (hAsync("duet-button", { id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel)), hAsync("duet-spacer", { size: "medium" }), (this.fileMaxReached || this.bytesMaxReached) && (hAsync("duet-alert", { part: this.identifier ? `${this.identifier}-error-notification` : "duet-upload-error-notification" }, this.fileMaxReached && getI18nError("duet-upload-301", this.errorCodes), this.bytesMaxReached && getI18nError("duet-upload-202", this.errorCodes))), hAsync("duet-spacer", { size: "medium" }), hAsync("duet-visually-hidden", { "aria-hidden": "true" }, hAsync("input", { ref: input => {
18005
18025
  this.nativeInput = input;
18006
18026
  }, accept: !this.limitSelection ? undefined : `${this.allowedMimetypes},${this.allowedExtensions}`, onBlur: this.onBlur, onFocus: this.onFocus, onChange: e => this.onChange(e), type: "file", class: {
18007
18027
  "duet-upload": true,
18008
- }, disabled: this.disabled, "aria-hidden": "true", required: this.required, name: this.name, id: this.identifier, multiple: this.multiple })))));
18028
+ }, disabled: this.disabled, "aria-hidden": "true", required: this.required, name: this.name, id: this.identifier, multiple: this.multiple, tabIndex: -1 })))));
18009
18029
  }
18010
18030
  /**
18011
18031
  * XHR request utilities
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-5c182924.js');
8
+ const index = require('./index-f29ea71f.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const jsUtils = require('./js-utils-134e0318.js');
@@ -53,17 +53,11 @@ const DuetActionButton = class {
53
53
  this.accessibleLabelledBy = undefined;
54
54
  this.accessibleDescription = undefined;
55
55
  this.accessibleLabelsDefaults = {
56
- en: {
57
- label: "Click to activate action",
58
- },
59
- fi: {
60
- label: "Klikkaa toiminnon aktivointiin",
61
- },
62
- sv: {
63
- label: "Klicka för att aktivera åtgärd",
64
- },
56
+ en: "Click to activate action",
57
+ fi: "Klikkaa toiminnon aktivointiin",
58
+ sv: "Klicka för att aktivera åtgärd",
65
59
  };
66
- this.accessibleLabels = languageUtils.getLocaleString(this.accessibleLabelsDefaults);
60
+ this.accessibleLabel = languageUtils.getLocaleString(this.accessibleLabelsDefaults);
67
61
  this.accessibleControls = "";
68
62
  }
69
63
  //handle a11y keyboard navigation events
@@ -128,7 +122,7 @@ const DuetActionButton = class {
128
122
  "duet-action-button": true,
129
123
  "duet-action-button--disabled": this.disabled,
130
124
  [`duet-action-button--${this.theme}`]: this.theme !== "",
131
- }, type: "button", onClick: e => this.onMouseHandler(e), "aria-label": this.accessibleLabels.label, "aria-labelledby": this.accessibleLabelledBy, "aria-description": this.accessibleDescription, "aria-describedby": this.accessibleDescribedBy, "aria-details": this.accessibleDetails, "aria-controls": this.accessibleControls, title: this.getTitle() }, index.h("duet-icon", { part: "icon", name: this.iconName, color: this.iconColor, margin: "none", size: this.iconSize }), index.h("duet-visually-hidden", null, index.h("slot", null)))));
125
+ }, type: "button", onClick: e => this.onMouseHandler(e), "aria-label": this.accessibleLabel, "aria-labelledby": this.accessibleLabelledBy, "aria-description": this.accessibleDescription, "aria-describedby": this.accessibleDescribedBy, "aria-details": this.accessibleDetails, "aria-controls": this.accessibleControls, title: this.getTitle() }, index.h("duet-icon", { part: "icon", name: this.iconName, color: this.iconColor, margin: "none", size: this.iconSize }), index.h("duet-visually-hidden", null, index.h("slot", null)))));
132
126
  }
133
127
  get element() { return index.getElement(this); }
134
128
  };
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-5c182924.js');
8
+ const index = require('./index-f29ea71f.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const languageUtils = require('./language-utils-4f62a7db.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-5c182924.js');
8
+ const index = require('./index-f29ea71f.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
 
11
11
  const duetBadgeCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:4px !important;margin-bottom:2px !important;display:inline-block;width:auto;vertical-align:middle}:host:last-child,:host:last-of-type{margin-right:0 !important}:host(.duet-m-0){margin:0 !important}.duet-badge{width:100%;padding:4.4444444444px 12px 5.4444444444px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.75rem;font-style:normal;font-weight:600;line-height:1.25;color:#00294d;text-align:center;word-break:break-word;vertical-align:middle;background:#e6f1f7;border-radius:20rem}.duet-badge.duet-p-0{padding:0 !important}.duet-badge.duet-m-0{margin:0 !important}.duet-badge.duet-theme-turva{padding:5.4444444444px 12px 4.4444444444px;font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-weight:700;color:#171c3a;background:#e8e8eb}.duet-badge.warning{background:#fef3df}.duet-badge.warning.duet-theme-turva{background:#fef1db}.duet-badge.danger{background:#fce9ef}.duet-badge.danger.duet-theme-turva{background:#fceae7}.duet-badge.success{background:#e6f3ef}.duet-badge.success.duet-theme-turva{background:#e6f3ed}";
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-5c182924.js');
8
+ const index = require('./index-f29ea71f.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
 
11
11
  const duetBreadcrumbCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-breadcrumb{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;height:100%;font-size:0.875rem;color:#00294d;text-decoration:none}.duet-breadcrumb:hover{color:#004d80}.duet-breadcrumb.duet-theme-turva{color:#171c3a}.duet-breadcrumb.duet-theme-turva:hover{color:#940925}.duet-breadcrumb:focus{outline:0}.duet-breadcrumb:active{opacity:0.75}:host(.user-is-tabbing) .duet-breadcrumb:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-breadcrumb.duet-theme-turva:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}";
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-5c182924.js');
8
+ const index = require('./index-f29ea71f.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const languageUtils = require('./language-utils-4f62a7db.js');
11
11
  require('./string-utils-5cadd058.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-5c182924.js');
8
+ const index = require('./index-f29ea71f.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const commonStrings = require('./common-strings-de17f887.js');
11
11
  const languageUtils = require('./language-utils-4f62a7db.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-5c182924.js');
8
+ const index = require('./index-f29ea71f.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const stringUtils = require('./string-utils-5cadd058.js');
11
11
  const tokenUtils = require('./token-utils-2e10264d.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-5c182924.js');
8
+ const index = require('./index-f29ea71f.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-5c182924.js');
8
+ const index = require('./index-f29ea71f.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-5c182924.js');
8
+ const index = require('./index-f29ea71f.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const commonStrings = require('./common-strings-de17f887.js');
11
11
  const createId = require('./create-id-c3b984b1.js');
12
- const focusUtils = require('./focus-utils-1024552d.js');
12
+ const focusUtils = require('./focus-utils-1690e8b7.js');
13
13
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
14
14
  const languageUtils = require('./language-utils-4f62a7db.js');
15
15
  const watchOptions = require('./watch-options-d88afac0.js');
@@ -141,7 +141,7 @@ const DuetChoice = class {
141
141
  themeableComponent.inheritGlobalTheme(this);
142
142
  this.hasInfo = !!this.element.querySelector("[slot='info']");
143
143
  this.hasHeader = !!this.element.querySelector('[slot="header"]');
144
- this.hasAdditional = !!this.element.querySelector("[slot='additional']");
144
+ this.hasAdditional = !!this.element.querySelector(":scope > [slot='additional']");
145
145
  this.hasLabel = !!this.element.querySelector(":scope > [slot='label']");
146
146
  this.hasBeforeText = !!this.element.querySelector("[slot='before-text']");
147
147
  }
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-5c182924.js');
8
+ const index = require('./index-f29ea71f.js');
9
9
  const actionArrowDownSmall = require('./action-arrow-down-small-ef77a2d1.js');
10
10
  const tokens = require('./tokens-21b244ee.js');
11
11
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-5c182924.js');
8
+ const index = require('./index-f29ea71f.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const jsUtils = require('./js-utils-134e0318.js');
11
11
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
@@ -81,6 +81,7 @@ const DuetCombobox = class {
81
81
  this.items = undefined;
82
82
  this.formatter = (item) => item && item.name ? item.name : "";
83
83
  this.value = undefined;
84
+ this.minCharacters = 1;
84
85
  }
85
86
  activeItemHandler(state) {
86
87
  this.input.accessibleActiveDescendant = this.listOpen && (state || state === 0) ? `active_item` : "";
@@ -112,7 +113,7 @@ const DuetCombobox = class {
112
113
  this.input = this.element.querySelector("duet-input");
113
114
  this.input.addEventListener("duetChange", this.updateInputValue.bind(this));
114
115
  this.input.addEventListener("click", () => {
115
- this.inputValue.length ? (this.listOpen = true) : (this.listOpen = false);
116
+ this.inputValue.length >= this.minCharacters ? (this.listOpen = true) : (this.listOpen = false);
116
117
  });
117
118
  this.element.addEventListener("keydown", this.handleInputKeyDownEvent.bind(this));
118
119
  //add correct aria attributes to the input element
@@ -217,7 +218,7 @@ const DuetCombobox = class {
217
218
  updateInputValue(e) {
218
219
  var _a;
219
220
  this.inputValue = e.detail.value;
220
- this.listOpen = String(this.inputValue).length > 0 && ((_a = this.getFilteredItems()) === null || _a === void 0 ? void 0 : _a.length) > 0;
221
+ this.listOpen = String(this.inputValue).length >= this.minCharacters && ((_a = this.getFilteredItems()) === null || _a === void 0 ? void 0 : _a.length) > 0;
221
222
  }
222
223
  handleInputKeyDownEvent(e) {
223
224
  //if selection is made, close the list and update internal and external values
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-5c182924.js');
8
+ const index = require('./index-f29ea71f.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
 
11
11
  const duetCookieConsentCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:fixed;right:0;bottom:0;left:0;z-index:950;display:block;width:100%;box-shadow:0 2px 20px 0 rgba(0, 0, 0, 0.2)}@media (min-width: 48em){:host{right:28px;bottom:28px;left:auto;width:25rem}}:host(:focus){outline:0}:host(.user-is-tabbing:focus){border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing.duet-theme-turva:focus){box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-cookie-consent{padding:20px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;color:white !important;background-color:rgba(0, 21, 39, 0.9)}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){.duet-cookie-consent{background:rgba(0, 21, 39, 0.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.duet-cookie-consent.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background-color:rgba(12, 14, 29, 0.9)}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){.duet-cookie-consent.duet-theme-turva{background:rgba(12, 14, 29, 0.8)}}@media (min-width: 48em){.duet-cookie-consent{padding:20px;border-radius:4px}}.duet-cookie-consent-content{display:flex;align-items:center;max-width:1110px;margin:0 auto}.duet-cookie-consent-content .expand{flex:1}::slotted(a){font-weight:600;color:white !important;text-decoration:underline;white-space:nowrap}::slotted(a[target=_blank]){padding-right:16px;background:url(\"data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZmZmIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwLjUgMmExLjUgMS41IDAgMDEuMTQgM0gzLjc1Yy0uMzggMC0uNy4yOC0uNzQuNjVsLS4wMS4xdjE0LjVjMCAuMzguMjguNy42NS43NGwuMS4wMWgxNC41Yy4zOCAwIC43LS4yOC43NC0uNjVsLjAxLS4xdi02Ljg5YTEuNSAxLjUgMCAwMTMgMHY2Ljg5QTMuNzUgMy43NSAwIDAxMTguMjUgMjRIMy43NUEzLjc1IDMuNzUgMCAwMTAgMjAuMjVWNS43NUEzLjc1IDMuNzUgMCAwMTMuNzUgMnptMTItMmMuNzggMCAxLjQyLjYgMS41IDEuMzZWNy41YTEuNSAxLjUgMCAwMS0zIC4xNFY1LjEybC01LjQ0IDUuNDRhMS41IDEuNSAwIDAxLTIuMjItMmwuMS0uMTJMMTguODggM0gxNi41QTEuNSAxLjUgMCAwMTE1IDEuNjRWMS41YzAtLjc4LjYtMS40MiAxLjM2LTEuNWguMTR6Ii8+PC9zdmc+\") no-repeat right 50%;background-size:12px 10px}::slotted(a:focus){outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva ::slotted(a:focus){outline:0;box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}";
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-5c182924.js');
8
+ const index = require('./index-f29ea71f.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
- const focusUtils = require('./focus-utils-1024552d.js');
11
+ const focusUtils = require('./focus-utils-1690e8b7.js');
12
12
  const languageUtils = require('./language-utils-4f62a7db.js');
13
13
  require('./string-utils-5cadd058.js');
14
14
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-5c182924.js');
8
+ const index = require('./index-f29ea71f.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const tokenUtils = require('./token-utils-2e10264d.js');
11
11
  require('./tokens.module-69170ddd.js');