@duetds/components 7.1.0 → 7.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (875) hide show
  1. package/hydrate/index.d.ts +6 -6
  2. package/hydrate/index.js +404 -243
  3. package/lib/cjs/duet-action-button.cjs.entry.js +29 -13
  4. package/lib/cjs/duet-alert.cjs.entry.js +6 -6
  5. package/lib/cjs/duet-badge.cjs.entry.js +3 -3
  6. package/lib/cjs/duet-banner.cjs.entry.js +4 -4
  7. package/lib/cjs/duet-breadcrumb.cjs.entry.js +5 -5
  8. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +4 -4
  9. package/lib/cjs/duet-button_2.cjs.entry.js +7 -7
  10. package/lib/cjs/duet-callout.cjs.entry.js +3 -3
  11. package/lib/cjs/duet-caption_4.cjs.entry.js +26 -9
  12. package/lib/cjs/duet-card.cjs.entry.js +7 -7
  13. package/lib/cjs/duet-checkbox.cjs.entry.js +4 -4
  14. package/lib/cjs/duet-checkmark.cjs.entry.js +2 -2
  15. package/lib/cjs/duet-chip.cjs.entry.js +4 -4
  16. package/lib/cjs/duet-choice_2.cjs.entry.js +11 -11
  17. package/lib/cjs/duet-collapsible.cjs.entry.js +7 -7
  18. package/lib/cjs/duet-combobox.cjs.entry.js +6 -6
  19. package/lib/cjs/duet-contact-card.cjs.entry.js +5 -5
  20. package/lib/cjs/duet-cookie-consent.cjs.entry.js +3 -3
  21. package/lib/cjs/duet-date-picker.cjs.entry.js +7 -7
  22. package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
  23. package/lib/cjs/duet-editable-table_3.cjs.entry.js +10 -10
  24. package/lib/cjs/duet-empty-state.cjs.entry.js +3 -3
  25. package/lib/cjs/duet-fieldset.cjs.entry.js +5 -5
  26. package/lib/cjs/duet-footer.cjs.entry.js +6 -6
  27. package/lib/cjs/duet-grid_2.cjs.entry.js +3 -3
  28. package/lib/cjs/duet-header_2.cjs.entry.js +9 -9
  29. package/lib/cjs/duet-hero.cjs.entry.js +14 -8
  30. package/lib/cjs/duet-icon.cjs.entry.js +4 -4
  31. package/lib/cjs/duet-input_2.cjs.entry.js +8 -8
  32. package/lib/cjs/duet-layout.cjs.entry.js +2 -2
  33. package/lib/cjs/duet-list_2.cjs.entry.js +3 -3
  34. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +3 -3
  35. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +4 -4
  36. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +4 -4
  37. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +3 -3
  38. package/lib/cjs/duet-menu-bar.cjs.entry.js +3 -3
  39. package/lib/cjs/duet-modal.cjs.entry.js +10 -10
  40. package/lib/cjs/duet-multiselect.cjs.entry.js +7 -7
  41. package/lib/cjs/duet-nav.cjs.entry.js +2 -2
  42. package/lib/cjs/duet-notification_2.cjs.entry.js +5 -5
  43. package/lib/cjs/duet-number-input.cjs.entry.js +7 -7
  44. package/lib/cjs/duet-page-heading.cjs.entry.js +3 -3
  45. package/lib/cjs/duet-pagination_2.cjs.entry.js +79 -45
  46. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +3 -3
  47. package/lib/cjs/duet-popup-menu.cjs.entry.js +5 -5
  48. package/lib/cjs/duet-progress.cjs.entry.js +6 -6
  49. package/lib/cjs/duet-promo-card.cjs.entry.js +4 -4
  50. package/lib/cjs/duet-radio_2.cjs.entry.js +5 -5
  51. package/lib/cjs/duet-range-slider.cjs.entry.js +5 -5
  52. package/lib/cjs/duet-scrollable_3.cjs.entry.js +7 -7
  53. package/lib/cjs/duet-section-layout.cjs.entry.js +2 -2
  54. package/lib/cjs/duet-select.cjs.entry.js +5 -5
  55. package/lib/cjs/duet-shaped-image.cjs.entry.js +2 -2
  56. package/lib/cjs/duet-show-more.cjs.entry.js +7 -7
  57. package/lib/cjs/duet-slideout-lang.cjs.entry.js +5 -5
  58. package/lib/cjs/duet-slideout-link.cjs.entry.js +3 -3
  59. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +3 -3
  60. package/lib/cjs/duet-slideout-panel.cjs.entry.js +7 -7
  61. package/lib/cjs/duet-slideout.cjs.entry.js +9 -9
  62. package/lib/cjs/duet-step_2.cjs.entry.js +5 -5
  63. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +4 -4
  64. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +4 -4
  65. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +4 -4
  66. package/lib/cjs/duet-submenu-bar.cjs.entry.js +4 -4
  67. package/lib/cjs/duet-textarea.cjs.entry.js +5 -5
  68. package/lib/cjs/duet-toggle.cjs.entry.js +4 -4
  69. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +4 -4
  70. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +4 -4
  71. package/lib/cjs/duet-toolbar-link.cjs.entry.js +3 -3
  72. package/lib/cjs/duet-toolbar.cjs.entry.js +2 -2
  73. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +5 -5
  74. package/lib/cjs/duet-tooltip.cjs.entry.js +8 -8
  75. package/lib/cjs/duet-tray.cjs.entry.js +6 -6
  76. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
  77. package/lib/cjs/duet-upload-item.cjs.entry.js +6 -6
  78. package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
  79. package/lib/cjs/duet.cjs.js +4 -11
  80. package/lib/cjs/{errorcodes.utils-c85ef728.js → errorcodes.utils-8e928de5.js} +2 -2
  81. package/lib/cjs/{focus-utils-09463cf4.js → focus-utils-c58cda6e.js} +1 -1
  82. package/lib/cjs/{index-e43540c9.js → index-690ed579.js} +505 -183
  83. package/lib/cjs/{language-utils-6f1ce5d7.js → language-utils-dc19e8b6.js} +1 -1
  84. package/lib/cjs/loader.cjs.js +3 -12
  85. package/lib/collection/collection-manifest.json +98 -98
  86. package/lib/collection/components/duet-action-button/duet-action-button.css +12 -12
  87. package/lib/collection/components/duet-action-button/duet-action-button.js +54 -12
  88. package/lib/collection/components/duet-alert/duet-alert.e2e.js +53 -0
  89. package/lib/collection/components/duet-alert/duet-alert.js +23 -12
  90. package/lib/collection/components/duet-badge/duet-badge.e2e.js +28 -0
  91. package/lib/collection/components/duet-badge/duet-badge.js +6 -3
  92. package/lib/collection/components/duet-banner/duet-banner.e2e.js +23 -0
  93. package/lib/collection/components/duet-banner/duet-banner.js +16 -8
  94. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -2
  95. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.e2e.js +18 -0
  96. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -1
  97. package/lib/collection/components/duet-button/duet-button.e2e.js +210 -0
  98. package/lib/collection/components/duet-button/duet-button.js +29 -15
  99. package/lib/collection/components/duet-callout/duet-callout.e2e.js +21 -0
  100. package/lib/collection/components/duet-callout/duet-callout.js +4 -2
  101. package/lib/collection/components/duet-caption/duet-caption.e2e.js +26 -0
  102. package/lib/collection/components/duet-caption/duet-caption.js +6 -3
  103. package/lib/collection/components/duet-card/duet-card.e2e.js +91 -0
  104. package/lib/collection/components/duet-card/duet-card.js +24 -12
  105. package/lib/collection/components/duet-checkbox/duet-checkbox.e2e.js +112 -0
  106. package/lib/collection/components/duet-checkbox/duet-checkbox.js +14 -7
  107. package/lib/collection/components/duet-chip/duet-chip.e2e.js +46 -0
  108. package/lib/collection/components/duet-chip/duet-chip.js +16 -8
  109. package/lib/collection/components/duet-choice/duet-checkmark.js +4 -2
  110. package/lib/collection/components/duet-choice/duet-choice.e2e.js +181 -0
  111. package/lib/collection/components/duet-choice/duet-choice.js +27 -14
  112. package/lib/collection/components/duet-choice-group/duet-choice-group.e2e.js +88 -0
  113. package/lib/collection/components/duet-choice-group/duet-choice-group.js +10 -5
  114. package/lib/collection/components/duet-collapsible/duet-collapsible.e2e.js +125 -0
  115. package/lib/collection/components/duet-collapsible/duet-collapsible.js +16 -8
  116. package/lib/collection/components/duet-combobox/duet-combobox.e2e.js +110 -0
  117. package/lib/collection/components/duet-combobox/duet-combobox.js +14 -7
  118. package/lib/collection/components/duet-contact-card/duet-contact-card.js +6 -3
  119. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.e2e.js +31 -0
  120. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +4 -2
  121. package/lib/collection/components/duet-date-picker/date-utils.spec.js +330 -0
  122. package/lib/collection/components/duet-date-picker/duet-date-picker.e2e.js +694 -0
  123. package/lib/collection/components/duet-date-picker/duet-date-picker.js +28 -14
  124. package/lib/collection/components/duet-divider/duet-divider.e2e.js +32 -0
  125. package/lib/collection/components/duet-divider/duet-divider.js +6 -3
  126. package/lib/collection/components/duet-editable-table/duet-editable-table.e2e.js +29 -0
  127. package/lib/collection/components/duet-editable-table/duet-editable-table.js +20 -10
  128. package/lib/collection/components/duet-empty-state/duet-empty-state.e2e.js +16 -0
  129. package/lib/collection/components/duet-empty-state/duet-empty-state.js +6 -3
  130. package/lib/collection/components/duet-fieldset/duet-fieldset.e2e.js +13 -0
  131. package/lib/collection/components/duet-fieldset/duet-fieldset.js +6 -3
  132. package/lib/collection/components/duet-footer/duet-footer.e2e.js +186 -0
  133. package/lib/collection/components/duet-footer/duet-footer.js +23 -12
  134. package/lib/collection/components/duet-grid/duet-grid.e2e.js +42 -0
  135. package/lib/collection/components/duet-grid/duet-grid.js +10 -5
  136. package/lib/collection/components/duet-grid-item/duet-grid-item.js +8 -4
  137. package/lib/collection/components/duet-header/duet-header.e2e.js +468 -0
  138. package/lib/collection/components/duet-header/duet-header.js +50 -26
  139. package/lib/collection/components/duet-heading/duet-heading.e2e.js +27 -0
  140. package/lib/collection/components/duet-heading/duet-heading.js +12 -6
  141. package/lib/collection/components/duet-hero/duet-hero.css +6 -0
  142. package/lib/collection/components/duet-hero/duet-hero.e2e.js +172 -0
  143. package/lib/collection/components/duet-hero/duet-hero.js +69 -14
  144. package/lib/collection/components/duet-icon/duet-icon.e2e.js +32 -0
  145. package/lib/collection/components/duet-icon/duet-icon.js +14 -7
  146. package/lib/collection/components/duet-icon/icon-utils.spec.js +84 -0
  147. package/lib/collection/components/duet-input/duet-input.e2e.js +201 -0
  148. package/lib/collection/components/duet-input/duet-input.js +32 -16
  149. package/lib/collection/components/duet-label/duet-label.e2e.js +32 -0
  150. package/lib/collection/components/duet-label/duet-label.js +6 -3
  151. package/lib/collection/components/duet-layout/duet-layout.e2e.js +32 -0
  152. package/lib/collection/components/duet-layout/duet-layout.js +6 -3
  153. package/lib/collection/components/duet-link/duet-link.css +4 -1
  154. package/lib/collection/components/duet-link/duet-link.e2e.js +53 -0
  155. package/lib/collection/components/duet-link/duet-link.js +90 -11
  156. package/lib/collection/components/duet-list/duet-list.e2e.js +105 -0
  157. package/lib/collection/components/duet-list/duet-list.js +14 -7
  158. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -1
  159. package/lib/collection/components/duet-logo/duet-logo.e2e.js +42 -0
  160. package/lib/collection/components/duet-logo/duet-logo.js +14 -7
  161. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +4 -2
  162. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +6 -3
  163. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +6 -3
  164. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -1
  165. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -1
  166. package/lib/collection/components/duet-modal/duet-modal.e2e.js +125 -0
  167. package/lib/collection/components/duet-modal/duet-modal.js +24 -12
  168. package/lib/collection/components/duet-multiselect/duet-multiselect.e2e.js +96 -0
  169. package/lib/collection/components/duet-multiselect/duet-multiselect.js +20 -10
  170. package/lib/collection/components/duet-nav/duet-nav.js +2 -1
  171. package/lib/collection/components/duet-notification/duet-notification.e2e.js +12 -0
  172. package/lib/collection/components/duet-notification/duet-notification.js +11 -6
  173. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.e2e.js +177 -0
  174. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +18 -9
  175. package/lib/collection/components/duet-number-input/duet-number-input-negative.e2e.js +32 -0
  176. package/lib/collection/components/duet-number-input/duet-number-input.e2e.js +242 -0
  177. package/lib/collection/components/duet-number-input/duet-number-input.js +30 -15
  178. package/lib/collection/components/duet-page-heading/duet-page-heading.js +4 -2
  179. package/lib/collection/components/duet-pagination/duet-pagination.e2e.js +101 -0
  180. package/lib/collection/components/duet-pagination/duet-pagination.js +102 -41
  181. package/lib/collection/components/duet-paragraph/duet-paragraph.e2e.js +27 -0
  182. package/lib/collection/components/duet-paragraph/duet-paragraph.js +12 -6
  183. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +14 -7
  184. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +16 -8
  185. package/lib/collection/components/duet-progress/duet-progress.e2e.js +12 -0
  186. package/lib/collection/components/duet-progress/duet-progress.js +4 -2
  187. package/lib/collection/components/duet-promo-card/duet-promo-card.e2e.js +23 -0
  188. package/lib/collection/components/duet-promo-card/duet-promo-card.js +10 -5
  189. package/lib/collection/components/duet-radio/duet-radio.e2e.js +135 -0
  190. package/lib/collection/components/duet-radio/duet-radio.js +16 -8
  191. package/lib/collection/components/duet-radio-group/duet-radio-group.e2e.js +57 -0
  192. package/lib/collection/components/duet-radio-group/duet-radio-group.js +8 -4
  193. package/lib/collection/components/duet-range-slider/duet-range-slider.e2e.js +57 -0
  194. package/lib/collection/components/duet-range-slider/duet-range-slider.js +14 -7
  195. package/lib/collection/components/duet-range-stepper/duet-range-stepper.e2e.js +51 -0
  196. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +8 -4
  197. package/lib/collection/components/duet-range-stepper/duet-range-stepper.spec.js +23 -0
  198. package/lib/collection/components/duet-scrollable/duet-scrollable.e2e.js +12 -0
  199. package/lib/collection/components/duet-scrollable/duet-scrollable.js +2 -1
  200. package/lib/collection/components/duet-section-layout/duet-section-layout.e2e.js +22 -0
  201. package/lib/collection/components/duet-section-layout/duet-section-layout.js +2 -1
  202. package/lib/collection/components/duet-select/duet-select.e2e.js +211 -0
  203. package/lib/collection/components/duet-select/duet-select.js +20 -10
  204. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +4 -2
  205. package/lib/collection/components/duet-show-more/duet-show-more.js +16 -8
  206. package/lib/collection/components/duet-slideout/duet-slideout.js +12 -6
  207. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +2 -1
  208. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -1
  209. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +8 -4
  210. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +6 -3
  211. package/lib/collection/components/duet-spacer/duet-spacer.e2e.js +27 -0
  212. package/lib/collection/components/duet-spacer/duet-spacer.js +6 -3
  213. package/lib/collection/components/duet-spinner/duet-spinner.e2e.js +30 -0
  214. package/lib/collection/components/duet-spinner/duet-spinner.js +6 -3
  215. package/lib/collection/components/duet-step/duet-step.e2e.js +92 -0
  216. package/lib/collection/components/duet-step/duet-step.js +12 -6
  217. package/lib/collection/components/duet-stepper/duet-stepper.e2e.js +85 -0
  218. package/lib/collection/components/duet-stepper/duet-stepper.js +6 -3
  219. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +6 -3
  220. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +6 -3
  221. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -1
  222. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +2 -1
  223. package/lib/collection/components/duet-tab/duet-tab.e2e.js +16 -0
  224. package/lib/collection/components/duet-tab/duet-tab.js +2 -1
  225. package/lib/collection/components/duet-tab-group/duet-tab-group.e2e.js +108 -0
  226. package/lib/collection/components/duet-tab-group/duet-tab-group.js +24 -12
  227. package/lib/collection/components/duet-table/duet-table.e2e.js +95 -0
  228. package/lib/collection/components/duet-table/duet-table.js +10 -5
  229. package/lib/collection/components/duet-textarea/duet-textarea.e2e.js +199 -0
  230. package/lib/collection/components/duet-textarea/duet-textarea.js +18 -9
  231. package/lib/collection/components/duet-toggle/duet-toggle.e2e.js +73 -0
  232. package/lib/collection/components/duet-toggle/duet-toggle.js +10 -5
  233. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -1
  234. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +6 -3
  235. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -1
  236. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -1
  237. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +6 -3
  238. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +14 -7
  239. package/lib/collection/components/duet-tooltip/duet-tooltip.e2e.js +99 -0
  240. package/lib/collection/components/duet-tooltip/duet-tooltip.js +12 -6
  241. package/lib/collection/components/duet-tray/duet-tray.e2e.js +103 -0
  242. package/lib/collection/components/duet-tray/duet-tray.js +8 -4
  243. package/lib/collection/components/duet-upload/duet-upload.e2e.js +49 -0
  244. package/lib/collection/components/duet-upload/duet-upload.js +69 -35
  245. package/lib/collection/components/duet-upload/upload-validators.spec.js +41 -0
  246. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +2 -1
  247. package/lib/collection/components/duet-upload-item/duet-upload-item.js +18 -9
  248. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.e2e.js +12 -0
  249. package/lib/collection/utils/create-id.spec.js +12 -0
  250. package/lib/collection/utils/js-utils.spec.js +22 -0
  251. package/lib/collection/utils/language-utils.spec.js +159 -0
  252. package/lib/collection/utils/math.utils.spec.js +140 -0
  253. package/lib/collection/utils/string-utils.spec.js +39 -0
  254. package/lib/collection/utils/template-utils.spec.js +39 -0
  255. package/lib/collection/utils/token-utils.spec.js +178 -0
  256. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  257. package/lib/dist-custom-elements/duet-alert.js +1 -1
  258. package/lib/dist-custom-elements/duet-badge.js +1 -1
  259. package/lib/dist-custom-elements/duet-banner.js +8 -8
  260. package/lib/dist-custom-elements/duet-breadcrumb.js +6 -6
  261. package/lib/dist-custom-elements/duet-breadcrumbs.js +4 -4
  262. package/lib/dist-custom-elements/duet-button.js +1 -1
  263. package/lib/dist-custom-elements/duet-callout.js +6 -6
  264. package/lib/dist-custom-elements/duet-caption.js +1 -1
  265. package/lib/dist-custom-elements/duet-card.js +10 -10
  266. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  267. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  268. package/lib/dist-custom-elements/duet-chip.js +8 -6
  269. package/lib/dist-custom-elements/duet-choice-group.js +18 -12
  270. package/lib/dist-custom-elements/duet-choice.js +14 -14
  271. package/lib/dist-custom-elements/duet-collapsible.js +9 -9
  272. package/lib/dist-custom-elements/duet-combobox.js +15 -10
  273. package/lib/dist-custom-elements/duet-contact-card.js +12 -12
  274. package/lib/dist-custom-elements/duet-cookie-consent.js +9 -9
  275. package/lib/dist-custom-elements/duet-date-picker.js +25 -20
  276. package/lib/dist-custom-elements/duet-divider.js +1 -1
  277. package/lib/dist-custom-elements/duet-editable-table.js +14 -14
  278. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  279. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  280. package/lib/dist-custom-elements/duet-footer.js +13 -10
  281. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  282. package/lib/dist-custom-elements/duet-grid.js +1 -1
  283. package/lib/dist-custom-elements/duet-header.js +25 -18
  284. package/lib/dist-custom-elements/duet-heading.js +1 -1
  285. package/lib/dist-custom-elements/duet-hero.js +29 -17
  286. package/lib/dist-custom-elements/duet-icon.js +1 -1
  287. package/lib/dist-custom-elements/duet-input.js +1 -1
  288. package/lib/dist-custom-elements/duet-label.js +1 -1
  289. package/lib/dist-custom-elements/duet-layout.js +3 -3
  290. package/lib/dist-custom-elements/duet-link.js +1 -1
  291. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  292. package/lib/dist-custom-elements/duet-list.js +1 -1
  293. package/lib/dist-custom-elements/duet-logo.js +1 -1
  294. package/lib/dist-custom-elements/duet-menu-bar-button.js +5 -5
  295. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +6 -6
  296. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +6 -6
  297. package/lib/dist-custom-elements/duet-menu-bar-link.js +5 -5
  298. package/lib/dist-custom-elements/duet-menu-bar.js +5 -5
  299. package/lib/dist-custom-elements/duet-modal.js +20 -17
  300. package/lib/dist-custom-elements/duet-multiselect.js +20 -18
  301. package/lib/dist-custom-elements/duet-nav.js +3 -3
  302. package/lib/dist-custom-elements/duet-notification-drawer.js +8 -8
  303. package/lib/dist-custom-elements/duet-notification.js +6 -6
  304. package/lib/dist-custom-elements/duet-number-input.js +17 -17
  305. package/lib/dist-custom-elements/duet-page-heading.js +5 -5
  306. package/lib/dist-custom-elements/duet-pagination.js +98 -57
  307. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  308. package/lib/dist-custom-elements/duet-popup-menu-item.js +5 -5
  309. package/lib/dist-custom-elements/duet-popup-menu.js +6 -6
  310. package/lib/dist-custom-elements/duet-progress.js +1 -1
  311. package/lib/dist-custom-elements/duet-promo-card.js +7 -7
  312. package/lib/dist-custom-elements/duet-radio-group.js +18 -12
  313. package/lib/dist-custom-elements/duet-radio.js +4 -4
  314. package/lib/dist-custom-elements/duet-range-slider.js +7 -7
  315. package/lib/dist-custom-elements/duet-range-stepper.js +13 -10
  316. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  317. package/lib/dist-custom-elements/duet-section-layout.js +3 -3
  318. package/lib/dist-custom-elements/duet-select.js +1 -1
  319. package/lib/dist-custom-elements/duet-shaped-image.js +3 -3
  320. package/lib/dist-custom-elements/duet-show-more.js +11 -11
  321. package/lib/dist-custom-elements/duet-slideout-lang.js +6 -6
  322. package/lib/dist-custom-elements/duet-slideout-link.js +5 -5
  323. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +5 -5
  324. package/lib/dist-custom-elements/duet-slideout-panel.js +8 -8
  325. package/lib/dist-custom-elements/duet-slideout.js +10 -10
  326. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  327. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  328. package/lib/dist-custom-elements/duet-step.js +9 -9
  329. package/lib/dist-custom-elements/duet-stepper.js +9 -6
  330. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +6 -6
  331. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +6 -6
  332. package/lib/dist-custom-elements/duet-submenu-bar-link.js +6 -6
  333. package/lib/dist-custom-elements/duet-submenu-bar.js +8 -6
  334. package/lib/dist-custom-elements/duet-tab-group.js +19 -19
  335. package/lib/dist-custom-elements/duet-tab.js +4 -4
  336. package/lib/dist-custom-elements/duet-table.js +1 -1
  337. package/lib/dist-custom-elements/duet-textarea.js +17 -15
  338. package/lib/dist-custom-elements/duet-toggle.js +8 -6
  339. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +6 -6
  340. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +6 -6
  341. package/lib/dist-custom-elements/duet-toolbar-link.js +5 -5
  342. package/lib/dist-custom-elements/duet-toolbar.js +3 -3
  343. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  344. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  345. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  346. package/lib/dist-custom-elements/duet-tray.js +8 -8
  347. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  348. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  349. package/lib/dist-custom-elements/duet-upload.js +27 -25
  350. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  351. package/lib/dist-custom-elements/index.d.ts +6 -0
  352. package/lib/dist-custom-elements/index.js +1 -1
  353. package/lib/dist-custom-elements/{p-fcc738df.js → p-0b57c524.js} +3 -3
  354. package/lib/dist-custom-elements/{p-53148470.js → p-0ba124b9.js} +5 -5
  355. package/lib/dist-custom-elements/{p-4d9d4c43.js → p-1486b0c1.js} +9 -4
  356. package/lib/dist-custom-elements/{p-67b279fa.js → p-1e4076af.js} +5 -5
  357. package/lib/dist-custom-elements/{p-a5b5343b.js → p-2641fc0a.js} +16 -13
  358. package/lib/dist-custom-elements/{p-fc3ae836.js → p-2c71a27f.js} +7 -3
  359. package/lib/dist-custom-elements/{p-99ec82e5.js → p-35de375b.js} +6 -6
  360. package/lib/dist-custom-elements/{p-03baceb5.js → p-4883df66.js} +1 -1
  361. package/lib/dist-custom-elements/{p-6958bba3.js → p-493cc4fa.js} +15 -15
  362. package/lib/dist-custom-elements/{p-1a8cb0ad.js → p-58de13d4.js} +8 -6
  363. package/lib/dist-custom-elements/{p-ec4d603d.js → p-62c7d9d4.js} +1 -1
  364. package/lib/dist-custom-elements/{p-d8859df9.js → p-630ecbb3.js} +4 -4
  365. package/lib/dist-custom-elements/{p-479fa83d.js → p-67c36e47.js} +32 -15
  366. package/lib/dist-custom-elements/{p-87cf7266.js → p-6d492269.js} +10 -8
  367. package/lib/dist-custom-elements/{p-77c93063.js → p-88eed3e1.js} +4 -4
  368. package/lib/dist-custom-elements/{p-d6e49c93.js → p-8ad6dca9.js} +7 -7
  369. package/lib/dist-custom-elements/{p-c2533c03.js → p-8bf1f4a8.js} +3 -3
  370. package/lib/dist-custom-elements/{p-cedaa97e.js → p-912094d4.js} +2 -2
  371. package/lib/dist-custom-elements/{p-6a66573f.js → p-948bdce9.js} +15 -10
  372. package/lib/dist-custom-elements/{p-d8c53f43.js → p-9c86efb4.js} +2 -2
  373. package/lib/dist-custom-elements/{p-6816fd1b.js → p-9f8e1aca.js} +10 -10
  374. package/lib/dist-custom-elements/{p-ad704699.js → p-a1becc63.js} +10 -8
  375. package/lib/dist-custom-elements/{p-f7337164.js → p-a25a0c57.js} +4 -4
  376. package/lib/dist-custom-elements/{p-dd33aa4e.js → p-a83ac481.js} +5 -5
  377. package/lib/dist-custom-elements/{p-decdd69c.js → p-acba25ec.js} +5 -5
  378. package/lib/dist-custom-elements/{p-72c9e944.js → p-b0e6db65.js} +4 -4
  379. package/lib/dist-custom-elements/{p-85087518.js → p-b3d7f37b.js} +5 -5
  380. package/lib/dist-custom-elements/{p-21dd956e.js → p-c0599d67.js} +31 -10
  381. package/lib/dist-custom-elements/{p-e611a3df.js → p-c4dd0df2.js} +9 -5
  382. package/lib/dist-custom-elements/{p-061830ef.js → p-c5032d3a.js} +1 -1
  383. package/lib/dist-custom-elements/{p-7c6ee265.js → p-c9e95a9c.js} +15 -13
  384. package/lib/dist-custom-elements/{p-53fba128.js → p-d10ecec6.js} +4 -4
  385. package/lib/dist-custom-elements/{p-89dec98e.js → p-d9120001.js} +7 -7
  386. package/lib/dist-custom-elements/{p-12a46182.js → p-dca02738.js} +12 -4
  387. package/lib/dist-custom-elements/{p-03e72a70.js → p-e19d1e27.js} +1 -1
  388. package/lib/dist-custom-elements/{p-e90b70ac.js → p-e81b7043.js} +3 -3
  389. package/lib/dist-custom-elements/{p-954d4096.js → p-f99ec481.js} +20 -17
  390. package/lib/dist-custom-elements/{p-1d90b10e.js → p-ff199982.js} +507 -166
  391. package/lib/duet/duet.esm.js +1 -1
  392. package/lib/duet/duet.js +2 -6
  393. package/lib/duet/{p-0c203d28.entry.js → p-002b8f41.entry.js} +1 -1
  394. package/lib/duet/{p-1c8634b1.entry.js → p-02baa949.entry.js} +1 -1
  395. package/lib/duet/{p-0f2664ed.entry.js → p-0528e2a7.entry.js} +1 -1
  396. package/lib/duet/p-053b71e6.system.js +1 -1
  397. package/lib/duet/{p-cc48a8a0.system.entry.js → p-06352a34.system.entry.js} +2 -2
  398. package/lib/duet/{p-b42b2676.entry.js → p-09bade4b.entry.js} +1 -1
  399. package/lib/duet/{p-e52631b1.entry.js → p-0a33ef8e.entry.js} +1 -1
  400. package/lib/duet/p-0c4bbd65.system.js +1 -1
  401. package/lib/duet/{p-acfae908.system.entry.js → p-0eb0c8c0.system.entry.js} +2 -2
  402. package/lib/duet/p-0ee95a64.entry.js +4 -0
  403. package/lib/duet/{p-84ebe175.entry.js → p-11bd9a89.entry.js} +1 -1
  404. package/lib/duet/p-11e2303e.system.entry.js +4 -0
  405. package/lib/duet/{p-250745c0.system.entry.js → p-16d4371a.system.entry.js} +2 -2
  406. package/lib/duet/{p-469892f4.system.entry.js → p-17e15242.system.entry.js} +1 -1
  407. package/lib/duet/{p-5ab4d5d4.entry.js → p-18a31510.entry.js} +1 -1
  408. package/lib/duet/p-1a91e22a.system.js +4 -0
  409. package/lib/duet/{p-9b992ce9.entry.js → p-1b6fb905.entry.js} +1 -1
  410. package/lib/duet/{p-9f65b014.system.entry.js → p-1bdc4a34.system.entry.js} +1 -1
  411. package/lib/duet/{p-c655b7d1.system.entry.js → p-1d053237.system.entry.js} +1 -1
  412. package/lib/duet/p-1f65b60f.entry.js +4 -0
  413. package/lib/duet/{p-7ee29cc1.system.entry.js → p-1fcbfb23.system.entry.js} +2 -2
  414. package/lib/duet/p-215eda28.system.entry.js +4 -0
  415. package/lib/duet/p-21f3a17a.system.js +1 -1
  416. package/lib/duet/{p-84390ead.entry.js → p-23134d90.entry.js} +1 -1
  417. package/lib/duet/p-232940fa.system.js +4 -0
  418. package/lib/duet/{p-d79fa6a4.system.entry.js → p-245fb629.system.entry.js} +2 -2
  419. package/lib/duet/p-26095a08.system.js +4 -0
  420. package/lib/duet/{p-3878572f.entry.js → p-2748aa50.entry.js} +1 -1
  421. package/lib/duet/{p-b41ed3c4.entry.js → p-28960e09.entry.js} +1 -1
  422. package/lib/duet/{p-f7793f52.entry.js → p-2906fe6c.entry.js} +1 -1
  423. package/lib/duet/{p-fb238069.entry.js → p-2a830ee9.entry.js} +1 -1
  424. package/lib/duet/{p-5fb428c8.system.entry.js → p-2cacedde.system.entry.js} +2 -2
  425. package/lib/duet/{p-5f2fc4bd.entry.js → p-2d4c6724.entry.js} +1 -1
  426. package/lib/duet/p-2da624a5.system.entry.js +4 -0
  427. package/lib/duet/{p-b6c212f5.system.entry.js → p-2eab12b7.system.entry.js} +1 -1
  428. package/lib/duet/{p-a322b729.entry.js → p-2fb0a3de.entry.js} +1 -1
  429. package/lib/duet/{p-e62f72a3.entry.js → p-32d74eb9.entry.js} +1 -1
  430. package/lib/duet/{p-0bb83776.system.entry.js → p-334112ab.system.entry.js} +2 -2
  431. package/lib/duet/{p-6d71214f.entry.js → p-34249a02.entry.js} +1 -1
  432. package/lib/duet/{p-42c64bb8.system.entry.js → p-34b3855f.system.entry.js} +2 -2
  433. package/lib/duet/{p-3768dda7.system.entry.js → p-35a932ab.system.entry.js} +2 -2
  434. package/lib/duet/{p-70c7a137.system.entry.js → p-35c6f8ce.system.entry.js} +1 -1
  435. package/lib/duet/{p-3092d696.system.entry.js → p-3b82aa9e.system.entry.js} +2 -2
  436. package/lib/duet/p-3cd4a72e.system.entry.js +4 -0
  437. package/lib/duet/{p-73c9436a.entry.js → p-3e39b66d.entry.js} +1 -1
  438. package/lib/duet/{p-e4fd145a.entry.js → p-43587827.entry.js} +1 -1
  439. package/lib/duet/p-43f99432.entry.js +4 -0
  440. package/lib/duet/{p-e91385fb.js → p-4669b0af.js} +1 -1
  441. package/lib/duet/{p-79266582.system.entry.js → p-46b4ef6c.system.entry.js} +1 -1
  442. package/lib/duet/{p-15a77012.system.entry.js → p-48361f6f.system.entry.js} +1 -1
  443. package/lib/duet/{p-03baceb5.js → p-4883df66.js} +1 -1
  444. package/lib/duet/{p-9f975819.system.entry.js → p-48da4668.system.entry.js} +2 -2
  445. package/lib/duet/{p-7be35e53.system.entry.js → p-4a497c15.system.entry.js} +2 -2
  446. package/lib/duet/{p-729f35d8.system.entry.js → p-4a4dbe4e.system.entry.js} +2 -2
  447. package/lib/duet/{p-529dc6fe.entry.js → p-4b79c0dc.entry.js} +1 -1
  448. package/lib/duet/{p-86b83b73.system.entry.js → p-4c3b19ec.system.entry.js} +2 -2
  449. package/lib/duet/p-4f1c6cc0.system.entry.js +4 -0
  450. package/lib/duet/p-52b57add.system.entry.js +4 -0
  451. package/lib/duet/p-54e6e82f.system.js +5 -0
  452. package/lib/duet/{p-a276bfbd.entry.js → p-55759777.entry.js} +1 -1
  453. package/lib/duet/{p-014edbda.system.entry.js → p-5664dbfc.system.entry.js} +2 -2
  454. package/lib/duet/p-58dc5c7f.entry.js +4 -0
  455. package/lib/duet/{p-f702fd53.entry.js → p-5bdc3d08.entry.js} +1 -1
  456. package/lib/duet/{p-c8836a67.system.entry.js → p-5e56ebad.system.entry.js} +1 -1
  457. package/lib/duet/{p-73242991.entry.js → p-5eb72773.entry.js} +1 -1
  458. package/lib/duet/p-63707d67.system.entry.js +4 -0
  459. package/lib/duet/{p-30d1b2b5.entry.js → p-65d39961.entry.js} +1 -1
  460. package/lib/duet/{p-7a7da6cf.system.entry.js → p-6779c17b.system.entry.js} +2 -2
  461. package/lib/duet/{p-0dfe14d3.entry.js → p-67819e2b.entry.js} +1 -1
  462. package/lib/duet/{p-dde971f6.system.entry.js → p-6a26a5c9.system.entry.js} +2 -2
  463. package/lib/duet/{p-b529eb0c.system.entry.js → p-6a8c7ad8.system.entry.js} +2 -2
  464. package/lib/duet/{p-2d7d1ff7.entry.js → p-6b02135b.entry.js} +1 -1
  465. package/lib/duet/{p-fc26d56a.entry.js → p-6b9bcd66.entry.js} +1 -1
  466. package/lib/duet/{p-baef301c.system.entry.js → p-6c1bb847.system.entry.js} +2 -2
  467. package/lib/duet/{p-6b2c127a.entry.js → p-6cca1a56.entry.js} +1 -1
  468. package/lib/duet/{p-c8536d3f.entry.js → p-6cf633e0.entry.js} +1 -1
  469. package/lib/duet/{p-bb5d22df.entry.js → p-6f399f72.entry.js} +1 -1
  470. package/lib/duet/{p-e2daed97.entry.js → p-701d90ff.entry.js} +1 -1
  471. package/lib/duet/{p-a620d583.system.entry.js → p-70dcc782.system.entry.js} +1 -1
  472. package/lib/duet/p-719b38fe.system.js +4 -0
  473. package/lib/duet/p-72887f8e.system.entry.js +4 -0
  474. package/lib/duet/p-75daef16.system.js +4 -0
  475. package/lib/duet/p-7671b7b7.system.js +4 -0
  476. package/lib/duet/{p-33b3aba4.system.js → p-77b6e4ba.system.js} +1 -1
  477. package/lib/duet/{p-37ee4ceb.system.entry.js → p-78f8e483.system.entry.js} +2 -2
  478. package/lib/duet/{p-3344fca3.entry.js → p-7becefd3.entry.js} +1 -1
  479. package/lib/duet/{p-85605193.system.entry.js → p-7bfb912d.system.entry.js} +2 -2
  480. package/lib/duet/p-7c29d36a.system.js +4 -0
  481. package/lib/duet/{p-bdb50607.system.entry.js → p-7c672283.system.entry.js} +2 -2
  482. package/lib/duet/p-7cd149d5.system.entry.js +4 -0
  483. package/lib/duet/{p-edbc2774.entry.js → p-7cefb9c8.entry.js} +1 -1
  484. package/lib/duet/{p-90f97748.entry.js → p-7d5d6371.entry.js} +1 -1
  485. package/lib/duet/{p-792cbd42.system.entry.js → p-80157d8f.system.entry.js} +2 -2
  486. package/lib/duet/{p-1e3f0d63.system.entry.js → p-824841b9.system.entry.js} +1 -1
  487. package/lib/duet/{p-f5c2ccce.entry.js → p-82ed0c1e.entry.js} +1 -1
  488. package/lib/duet/{p-fc1fee5c.system.js → p-83c33ce1.system.js} +1 -1
  489. package/lib/duet/{p-9601bad5.entry.js → p-852393bd.entry.js} +1 -1
  490. package/lib/duet/{p-9bdf6ce2.entry.js → p-861e2ba5.entry.js} +1 -1
  491. package/lib/duet/p-87dd7bf3.system.js +4 -0
  492. package/lib/duet/{p-51328149.entry.js → p-893682f2.entry.js} +1 -1
  493. package/lib/duet/p-8972381a.system.js +4 -0
  494. package/lib/duet/{p-a922b309.system.entry.js → p-8c2eb2f4.system.entry.js} +2 -2
  495. package/lib/duet/p-8d0d6e06.system.js +4 -0
  496. package/lib/duet/p-8e1da663.system.js +4 -0
  497. package/lib/duet/{p-2bec5be2.entry.js → p-8e2ddb69.entry.js} +1 -1
  498. package/lib/duet/{p-285b2d7b.system.entry.js → p-8f2a8dfd.system.entry.js} +1 -1
  499. package/lib/duet/p-8f477bd6.system.js +1 -1
  500. package/lib/duet/{p-5ac682b3.system.entry.js → p-90133074.system.entry.js} +1 -1
  501. package/lib/duet/{p-0b38374b.system.entry.js → p-9170537f.system.entry.js} +1 -1
  502. package/lib/duet/{p-da7cc3d1.entry.js → p-921c430e.entry.js} +1 -1
  503. package/lib/duet/{p-b6e50064.entry.js → p-9281ad1f.entry.js} +1 -1
  504. package/lib/duet/{p-34aa54e1.entry.js → p-929f96e6.entry.js} +1 -1
  505. package/lib/duet/p-94a9fe8f.system.entry.js +4 -0
  506. package/lib/duet/{p-4903f5c4.system.entry.js → p-959c412f.system.entry.js} +1 -1
  507. package/lib/duet/{p-b3a1ea89.system.entry.js → p-97af94e6.system.entry.js} +2 -2
  508. package/lib/duet/{p-1853e4e5.system.entry.js → p-983ffcca.system.entry.js} +2 -2
  509. package/lib/duet/{p-92c7c0ba.entry.js → p-9a5b6324.entry.js} +1 -1
  510. package/lib/duet/p-9d033a04.system.js +1 -1
  511. package/lib/duet/{p-ee0ca0fd.entry.js → p-9e2fc97b.entry.js} +1 -1
  512. package/lib/duet/p-a1dadf5f.entry.js +4 -0
  513. package/lib/duet/{p-8ac518e1.system.entry.js → p-a27749fc.system.entry.js} +1 -1
  514. package/lib/duet/{p-ad70248d.entry.js → p-a4262e9e.entry.js} +1 -1
  515. package/lib/duet/p-a44381d5.js +5 -0
  516. package/lib/duet/{p-ab2d8091.entry.js → p-a77d6daa.entry.js} +1 -1
  517. package/lib/duet/{p-4b71c8e9.entry.js → p-a8c0eab5.entry.js} +1 -1
  518. package/lib/duet/{p-97076e02.entry.js → p-ad97d7c8.entry.js} +1 -1
  519. package/lib/duet/{p-c52e0917.entry.js → p-af9efdf9.entry.js} +1 -1
  520. package/lib/duet/{p-f5e12c14.system.entry.js → p-b0552213.system.entry.js} +1 -1
  521. package/lib/duet/{p-e96bed1e.system.entry.js → p-b177abe2.system.entry.js} +1 -1
  522. package/lib/duet/p-b1db3006.js +1 -1
  523. package/lib/duet/{p-64710156.entry.js → p-b43c3844.entry.js} +1 -1
  524. package/lib/duet/{p-8156e5a5.system.entry.js → p-b4da4477.system.entry.js} +1 -1
  525. package/lib/duet/{p-cfe09501.system.entry.js → p-b4f0714b.system.entry.js} +1 -1
  526. package/lib/duet/{p-d86480ea.system.entry.js → p-b6969c2e.system.entry.js} +1 -1
  527. package/lib/duet/{p-54c07ffa.system.entry.js → p-b7746ffa.system.entry.js} +1 -1
  528. package/lib/duet/{p-9d317471.entry.js → p-b8e1051f.entry.js} +1 -1
  529. package/lib/duet/{p-f9f1c707.system.entry.js → p-b9743891.system.entry.js} +2 -2
  530. package/lib/duet/p-b99c00fa.system.js +4 -0
  531. package/lib/duet/{p-0414004a.entry.js → p-ba7e2b46.entry.js} +1 -1
  532. package/lib/duet/{p-c135039c.entry.js → p-bb197ad9.entry.js} +1 -1
  533. package/lib/duet/{p-2556c6f0.system.entry.js → p-c0cd5815.system.entry.js} +2 -2
  534. package/lib/duet/p-c30a5f7c.system.js +4 -0
  535. package/lib/duet/p-c3148fb5.entry.js +4 -0
  536. package/lib/duet/{p-a64cf9f8.system.entry.js → p-c45cca40.system.entry.js} +1 -1
  537. package/lib/duet/{p-22acfa83.entry.js → p-c486b82a.entry.js} +1 -1
  538. package/lib/duet/{p-b52f8ce1.entry.js → p-c689a5a2.entry.js} +1 -1
  539. package/lib/duet/{p-fc6d2bf4.entry.js → p-c69dd504.entry.js} +1 -1
  540. package/lib/duet/{p-0ea3453c.system.entry.js → p-c8153914.system.entry.js} +1 -1
  541. package/lib/duet/{p-3a9779ee.entry.js → p-c9302dda.entry.js} +1 -1
  542. package/lib/duet/p-c97109b5.system.js +4 -0
  543. package/lib/duet/{p-29a6d3b3.entry.js → p-c9d0296f.entry.js} +1 -1
  544. package/lib/duet/{p-24bc0b8c.entry.js → p-ccd1c1da.entry.js} +1 -1
  545. package/lib/duet/{p-9c5860a3.entry.js → p-ce0dbe46.entry.js} +1 -1
  546. package/lib/duet/p-ce60ea36.entry.js +4 -0
  547. package/lib/duet/{p-39c72a24.system.entry.js → p-cf78c0e7.system.entry.js} +2 -2
  548. package/lib/duet/{p-2e54c214.entry.js → p-d3b8295e.entry.js} +1 -1
  549. package/lib/duet/p-d79067a9.entry.js +4 -0
  550. package/lib/duet/{p-2e54c1f8.system.entry.js → p-db932add.system.entry.js} +2 -2
  551. package/lib/duet/{p-20767b15.system.entry.js → p-de466d61.system.entry.js} +1 -1
  552. package/lib/duet/{p-3c2f1fd0.entry.js → p-dfaea3f3.entry.js} +1 -1
  553. package/lib/duet/{p-ea4f5d13.system.entry.js → p-e00b3992.system.entry.js} +1 -1
  554. package/lib/duet/{p-bc7c47f4.system.entry.js → p-e04bf7e7.system.entry.js} +2 -2
  555. package/lib/duet/{p-ebf4a629.entry.js → p-e6d1abab.entry.js} +1 -1
  556. package/lib/duet/{p-3b85f649.system.entry.js → p-e72b91d4.system.entry.js} +1 -1
  557. package/lib/duet/{p-f30d3b09.system.entry.js → p-e7389f0d.system.entry.js} +1 -1
  558. package/lib/duet/{p-457ae87b.system.entry.js → p-e81603e4.system.entry.js} +1 -1
  559. package/lib/duet/{p-651d430e.system.entry.js → p-e86a0e7f.system.entry.js} +2 -2
  560. package/lib/duet/{p-1e88edec.entry.js → p-e888b133.entry.js} +1 -1
  561. package/lib/duet/{p-5f46f02e.system.entry.js → p-e949b01f.system.entry.js} +1 -1
  562. package/lib/duet/{p-fb7d7222.entry.js → p-ea17a879.entry.js} +1 -1
  563. package/lib/duet/{p-ca112a3f.system.entry.js → p-eaa27d39.system.entry.js} +2 -2
  564. package/lib/duet/{p-00a893c1.js → p-ec99ae64.js} +1 -1
  565. package/lib/duet/p-ecf1f6cd.system.js +4 -0
  566. package/lib/duet/{p-a095c36f.system.entry.js → p-ecff7157.system.entry.js} +2 -2
  567. package/lib/duet/p-ed5a5071.system.js +4 -0
  568. package/lib/duet/{p-b6cf05c0.system.entry.js → p-f07e9544.system.entry.js} +1 -1
  569. package/lib/duet/{p-00743d6c.system.entry.js → p-f45d7795.system.entry.js} +1 -1
  570. package/lib/duet/{p-096d7724.entry.js → p-f46d2985.entry.js} +1 -1
  571. package/lib/duet/{p-db2865b5.entry.js → p-fbeab44b.entry.js} +1 -1
  572. package/lib/duet/{p-88c01d1c.entry.js → p-fe21ca0a.entry.js} +1 -1
  573. package/lib/duet/{p-31d63beb.system.entry.js → p-feece078.system.entry.js} +1 -1
  574. package/lib/esm/duet-action-button.entry.js +29 -13
  575. package/lib/esm/duet-alert.entry.js +6 -6
  576. package/lib/esm/duet-badge.entry.js +3 -3
  577. package/lib/esm/duet-banner.entry.js +4 -4
  578. package/lib/esm/duet-breadcrumb.entry.js +5 -5
  579. package/lib/esm/duet-breadcrumbs.entry.js +4 -4
  580. package/lib/esm/duet-button_2.entry.js +7 -7
  581. package/lib/esm/duet-callout.entry.js +3 -3
  582. package/lib/esm/duet-caption_4.entry.js +26 -9
  583. package/lib/esm/duet-card.entry.js +7 -7
  584. package/lib/esm/duet-checkbox.entry.js +4 -4
  585. package/lib/esm/duet-checkmark.entry.js +2 -2
  586. package/lib/esm/duet-chip.entry.js +4 -4
  587. package/lib/esm/duet-choice_2.entry.js +11 -11
  588. package/lib/esm/duet-collapsible.entry.js +7 -7
  589. package/lib/esm/duet-combobox.entry.js +6 -6
  590. package/lib/esm/duet-contact-card.entry.js +5 -5
  591. package/lib/esm/duet-cookie-consent.entry.js +3 -3
  592. package/lib/esm/duet-date-picker.entry.js +7 -7
  593. package/lib/esm/duet-divider_2.entry.js +3 -3
  594. package/lib/esm/duet-editable-table_3.entry.js +10 -10
  595. package/lib/esm/duet-empty-state.entry.js +3 -3
  596. package/lib/esm/duet-fieldset.entry.js +5 -5
  597. package/lib/esm/duet-footer.entry.js +6 -6
  598. package/lib/esm/duet-grid_2.entry.js +3 -3
  599. package/lib/esm/duet-header_2.entry.js +9 -9
  600. package/lib/esm/duet-hero.entry.js +14 -8
  601. package/lib/esm/duet-icon.entry.js +4 -4
  602. package/lib/esm/duet-input_2.entry.js +8 -8
  603. package/lib/esm/duet-layout.entry.js +2 -2
  604. package/lib/esm/duet-list_2.entry.js +3 -3
  605. package/lib/esm/duet-menu-bar-button.entry.js +3 -3
  606. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +4 -4
  607. package/lib/esm/duet-menu-bar-dropdown.entry.js +4 -4
  608. package/lib/esm/duet-menu-bar-link.entry.js +3 -3
  609. package/lib/esm/duet-menu-bar.entry.js +3 -3
  610. package/lib/esm/duet-modal.entry.js +10 -10
  611. package/lib/esm/duet-multiselect.entry.js +7 -7
  612. package/lib/esm/duet-nav.entry.js +2 -2
  613. package/lib/esm/duet-notification_2.entry.js +5 -5
  614. package/lib/esm/duet-number-input.entry.js +7 -7
  615. package/lib/esm/duet-page-heading.entry.js +3 -3
  616. package/lib/esm/duet-pagination_2.entry.js +79 -45
  617. package/lib/esm/duet-popup-menu-item.entry.js +3 -3
  618. package/lib/esm/duet-popup-menu.entry.js +5 -5
  619. package/lib/esm/duet-progress.entry.js +6 -6
  620. package/lib/esm/duet-promo-card.entry.js +4 -4
  621. package/lib/esm/duet-radio_2.entry.js +5 -5
  622. package/lib/esm/duet-range-slider.entry.js +5 -5
  623. package/lib/esm/duet-scrollable_3.entry.js +7 -7
  624. package/lib/esm/duet-section-layout.entry.js +2 -2
  625. package/lib/esm/duet-select.entry.js +5 -5
  626. package/lib/esm/duet-shaped-image.entry.js +2 -2
  627. package/lib/esm/duet-show-more.entry.js +7 -7
  628. package/lib/esm/duet-slideout-lang.entry.js +5 -5
  629. package/lib/esm/duet-slideout-link.entry.js +3 -3
  630. package/lib/esm/duet-slideout-panel-dropdown.entry.js +3 -3
  631. package/lib/esm/duet-slideout-panel.entry.js +7 -7
  632. package/lib/esm/duet-slideout.entry.js +9 -9
  633. package/lib/esm/duet-step_2.entry.js +5 -5
  634. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +4 -4
  635. package/lib/esm/duet-submenu-bar-dropdown.entry.js +4 -4
  636. package/lib/esm/duet-submenu-bar-link.entry.js +4 -4
  637. package/lib/esm/duet-submenu-bar.entry.js +4 -4
  638. package/lib/esm/duet-textarea.entry.js +5 -5
  639. package/lib/esm/duet-toggle.entry.js +4 -4
  640. package/lib/esm/duet-toolbar-dropdown-link.entry.js +4 -4
  641. package/lib/esm/duet-toolbar-dropdown.entry.js +4 -4
  642. package/lib/esm/duet-toolbar-link.entry.js +3 -3
  643. package/lib/esm/duet-toolbar.entry.js +2 -2
  644. package/lib/esm/duet-tooltip-button_2.entry.js +5 -5
  645. package/lib/esm/duet-tooltip.entry.js +8 -8
  646. package/lib/esm/duet-tray.entry.js +6 -6
  647. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  648. package/lib/esm/duet-upload-item.entry.js +6 -6
  649. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  650. package/lib/esm/duet.js +5 -12
  651. package/lib/esm/{errorcodes.utils-47fc5d49.js → errorcodes.utils-424b1197.js} +2 -2
  652. package/lib/esm/{focus-utils-8fc4feb5.js → focus-utils-a669bad3.js} +1 -1
  653. package/lib/esm/{index-b1b085ac.js → index-4b92be25.js} +505 -183
  654. package/lib/esm/{language-utils-9d850f6c.js → language-utils-9ff76444.js} +1 -1
  655. package/lib/esm/loader.js +4 -13
  656. package/lib/esm-es5/app-globals-de2a5510.js +1 -1
  657. package/lib/esm-es5/{bodyScrollLock.es6-61b5e9a4.js → bodyScrollLock.es6-8dc7cca7.js} +1 -1
  658. package/lib/esm-es5/{create-id-981107da.js → create-id-2b0cd46d.js} +1 -1
  659. package/lib/esm-es5/duet-action-button.entry.js +2 -2
  660. package/lib/esm-es5/duet-alert.entry.js +2 -2
  661. package/lib/esm-es5/duet-badge.entry.js +1 -1
  662. package/lib/esm-es5/duet-banner.entry.js +1 -1
  663. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  664. package/lib/esm-es5/duet-breadcrumbs.entry.js +2 -2
  665. package/lib/esm-es5/duet-button_2.entry.js +2 -2
  666. package/lib/esm-es5/duet-callout.entry.js +1 -1
  667. package/lib/esm-es5/duet-caption_4.entry.js +2 -2
  668. package/lib/esm-es5/duet-card.entry.js +1 -1
  669. package/lib/esm-es5/duet-checkbox.entry.js +2 -2
  670. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  671. package/lib/esm-es5/duet-chip.entry.js +2 -2
  672. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  673. package/lib/esm-es5/duet-collapsible.entry.js +2 -2
  674. package/lib/esm-es5/duet-combobox.entry.js +2 -2
  675. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  676. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  677. package/lib/esm-es5/duet-date-picker.entry.js +2 -2
  678. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  679. package/lib/esm-es5/duet-editable-table_3.entry.js +2 -2
  680. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  681. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  682. package/lib/esm-es5/duet-footer.entry.js +2 -2
  683. package/lib/esm-es5/duet-grid_2.entry.js +2 -2
  684. package/lib/esm-es5/duet-header_2.entry.js +2 -2
  685. package/lib/esm-es5/duet-hero.entry.js +2 -2
  686. package/lib/esm-es5/duet-icon.entry.js +2 -2
  687. package/lib/esm-es5/duet-input_2.entry.js +2 -2
  688. package/lib/esm-es5/duet-layout.entry.js +1 -1
  689. package/lib/esm-es5/duet-list_2.entry.js +2 -2
  690. package/lib/esm-es5/duet-menu-bar-button.entry.js +2 -2
  691. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  692. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +2 -2
  693. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  694. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  695. package/lib/esm-es5/duet-modal.entry.js +2 -2
  696. package/lib/esm-es5/duet-multiselect.entry.js +2 -2
  697. package/lib/esm-es5/duet-nav.entry.js +1 -1
  698. package/lib/esm-es5/duet-notification_2.entry.js +2 -2
  699. package/lib/esm-es5/duet-number-input.entry.js +2 -2
  700. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  701. package/lib/esm-es5/duet-pagination_2.entry.js +2 -2
  702. package/lib/esm-es5/duet-popup-menu-item.entry.js +2 -2
  703. package/lib/esm-es5/duet-popup-menu.entry.js +2 -2
  704. package/lib/esm-es5/duet-progress.entry.js +1 -1
  705. package/lib/esm-es5/duet-promo-card.entry.js +1 -1
  706. package/lib/esm-es5/duet-radio_2.entry.js +2 -2
  707. package/lib/esm-es5/duet-range-slider.entry.js +2 -2
  708. package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
  709. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  710. package/lib/esm-es5/duet-select.entry.js +2 -2
  711. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  712. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  713. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  714. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  715. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +2 -2
  716. package/lib/esm-es5/duet-slideout-panel.entry.js +2 -2
  717. package/lib/esm-es5/duet-slideout.entry.js +2 -2
  718. package/lib/esm-es5/duet-step_2.entry.js +2 -2
  719. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  720. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  721. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  722. package/lib/esm-es5/duet-submenu-bar.entry.js +2 -2
  723. package/lib/esm-es5/duet-textarea.entry.js +2 -2
  724. package/lib/esm-es5/duet-toggle.entry.js +2 -2
  725. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  726. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +2 -2
  727. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  728. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  729. package/lib/esm-es5/duet-tooltip-button_2.entry.js +2 -2
  730. package/lib/esm-es5/duet-tooltip.entry.js +2 -2
  731. package/lib/esm-es5/duet-tray.entry.js +1 -1
  732. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  733. package/lib/esm-es5/duet-upload-item.entry.js +2 -2
  734. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  735. package/lib/esm-es5/duet.js +1 -1
  736. package/lib/esm-es5/errorcodes.utils-424b1197.js +4 -0
  737. package/lib/esm-es5/{floating-ui.dom.esm-6025c98f.js → floating-ui.dom.esm-efad5c89.js} +2 -2
  738. package/lib/esm-es5/focus-utils-a669bad3.js +4 -0
  739. package/lib/esm-es5/index-4b92be25.js +5 -0
  740. package/lib/esm-es5/input-utils-a0225b92.js +4 -0
  741. package/lib/esm-es5/keyboard-utils-5746e126.js +4 -0
  742. package/lib/esm-es5/{language-utils-9d850f6c.js → language-utils-9ff76444.js} +1 -1
  743. package/lib/esm-es5/loader.js +1 -1
  744. package/lib/esm-es5/string-utils-59ad4cb2.js +4 -0
  745. package/lib/esm-es5/teleport-15747328.js +4 -0
  746. package/lib/esm-es5/token-utils-46c8fe31.js +4 -0
  747. package/lib/esm-es5/watch-options-f189118b.js +4 -0
  748. package/lib/loader/index.d.ts +2 -2
  749. package/lib/types/common-types.d.ts +1 -0
  750. package/lib/types/components/duet-action-button/duet-action-button.d.ts +4 -0
  751. package/lib/types/components/duet-alert/duet-alert.d.ts +1 -1
  752. package/lib/types/components/duet-button/duet-button.d.ts +1 -1
  753. package/lib/types/components/duet-choice/duet-choice.d.ts +1 -1
  754. package/lib/types/components/duet-footer/duet-footer.d.ts +1 -1
  755. package/lib/types/components/duet-header/duet-header.d.ts +2 -2
  756. package/lib/types/components/duet-hero/duet-hero.d.ts +8 -0
  757. package/lib/types/components/duet-link/duet-link.d.ts +20 -3
  758. package/lib/types/components/duet-notification/duet-notification.d.ts +1 -1
  759. package/lib/types/components/duet-pagination/duet-pagination.d.ts +8 -1
  760. package/lib/types/components/duet-upload/duet-upload.d.ts +1 -1
  761. package/lib/types/components.d.ts +526 -22
  762. package/lib/types/stencil-public-runtime.d.ts +41 -5
  763. package/package.json +6 -6
  764. package/lib/duet/p-0762d0ce.system.entry.js +0 -4
  765. package/lib/duet/p-1e709927.system.entry.js +0 -4
  766. package/lib/duet/p-34ea0849.system.js +0 -4
  767. package/lib/duet/p-3538b0af.entry.js +0 -4
  768. package/lib/duet/p-43660fa9.system.js +0 -4
  769. package/lib/duet/p-4c04b1c6.entry.js +0 -4
  770. package/lib/duet/p-51721695.system.js +0 -4
  771. package/lib/duet/p-5c8e5f29.system.js +0 -4
  772. package/lib/duet/p-5f6bd5db.system.js +0 -4
  773. package/lib/duet/p-60b4b7c1.system.js +0 -4
  774. package/lib/duet/p-673a726a.entry.js +0 -4
  775. package/lib/duet/p-6aa821df.system.js +0 -4
  776. package/lib/duet/p-6d09651a.entry.js +0 -4
  777. package/lib/duet/p-6d620156.system.entry.js +0 -4
  778. package/lib/duet/p-703c3662.system.entry.js +0 -4
  779. package/lib/duet/p-733bb740.js +0 -5
  780. package/lib/duet/p-737167be.system.js +0 -4
  781. package/lib/duet/p-7966dc5b.system.entry.js +0 -4
  782. package/lib/duet/p-8304e300.system.entry.js +0 -4
  783. package/lib/duet/p-962a83ef.entry.js +0 -4
  784. package/lib/duet/p-9f97eb07.system.js +0 -5
  785. package/lib/duet/p-a659351d.system.js +0 -4
  786. package/lib/duet/p-a6f6f073.system.entry.js +0 -4
  787. package/lib/duet/p-a7915b7d.entry.js +0 -4
  788. package/lib/duet/p-aa634481.entry.js +0 -4
  789. package/lib/duet/p-acb9ba1b.system.entry.js +0 -4
  790. package/lib/duet/p-b6d51921.system.js +0 -4
  791. package/lib/duet/p-b760c72b.system.js +0 -4
  792. package/lib/duet/p-c466bad9.system.js +0 -4
  793. package/lib/duet/p-d863e150.system.js +0 -4
  794. package/lib/duet/p-e30d6bee.system.entry.js +0 -4
  795. package/lib/duet/p-e566ff11.system.js +0 -4
  796. package/lib/duet/p-e58f4a37.entry.js +0 -4
  797. package/lib/duet/p-eb55ccd2.system.js +0 -4
  798. package/lib/duet/p-fa5bcc42.system.js +0 -4
  799. package/lib/duet/p-ff9ef21e.system.entry.js +0 -4
  800. package/lib/esm/polyfills/css-shim.js +0 -1
  801. package/lib/esm-es5/errorcodes.utils-47fc5d49.js +0 -4
  802. package/lib/esm-es5/focus-utils-8fc4feb5.js +0 -4
  803. package/lib/esm-es5/index-b1b085ac.js +0 -5
  804. package/lib/esm-es5/input-utils-de45e099.js +0 -4
  805. package/lib/esm-es5/keyboard-utils-d237bd5a.js +0 -4
  806. package/lib/esm-es5/string-utils-5954f458.js +0 -4
  807. package/lib/esm-es5/teleport-467626fe.js +0 -4
  808. package/lib/esm-es5/token-utils-2d3af0db.js +0 -4
  809. package/lib/esm-es5/watch-options-dd55bce8.js +0 -4
  810. /package/lib/cjs/{bodyScrollLock.es6-6ef1142a.js → bodyScrollLock.es6-83f334d1.js} +0 -0
  811. /package/lib/cjs/{common-strings-de17f887.js → common-strings-17770d7a.js} +0 -0
  812. /package/lib/cjs/{create-id-c3b984b1.js → create-id-167cd350.js} +0 -0
  813. /package/lib/cjs/{floating-ui.dom.esm-d537b048.js → floating-ui.dom.esm-a7d59d53.js} +0 -0
  814. /package/lib/cjs/{input-utils-b5e8f524.js → input-utils-b4615782.js} +0 -0
  815. /package/lib/cjs/{is-internet-explorer-91361c56.js → is-internet-explorer-76c3b538.js} +0 -0
  816. /package/lib/cjs/{js-utils-134e0318.js → js-utils-b20cfc79.js} +0 -0
  817. /package/lib/cjs/{keyboard-utils-bb32119b.js → keyboard-utils-02441bc5.js} +0 -0
  818. /package/lib/cjs/{nudge-82021e4f.js → nudge-ee03ce2e.js} +0 -0
  819. /package/lib/cjs/{slot-query-1624497e.js → slot-query-b7555763.js} +0 -0
  820. /package/lib/cjs/{string-utils-5cadd058.js → string-utils-51a2f59f.js} +0 -0
  821. /package/lib/cjs/{teleport-3166d264.js → teleport-af825e04.js} +0 -0
  822. /package/lib/cjs/{themeable-component-fdeaef9f.js → themeable-component-0be6d1f4.js} +0 -0
  823. /package/lib/cjs/{token-utils-71db4785.js → token-utils-dbfeff2e.js} +0 -0
  824. /package/lib/cjs/{watch-options-d88afac0.js → watch-options-1773d69f.js} +0 -0
  825. /package/lib/dist-custom-elements/{p-8adb9463.js → p-00c8a755.js} +0 -0
  826. /package/lib/dist-custom-elements/{p-3ae39071.js → p-040f8831.js} +0 -0
  827. /package/lib/dist-custom-elements/{p-bd779757.js → p-141e14d0.js} +0 -0
  828. /package/lib/dist-custom-elements/{p-5a9d75e1.js → p-1a395a8d.js} +0 -0
  829. /package/lib/dist-custom-elements/{p-9c1b089a.js → p-24853ebf.js} +0 -0
  830. /package/lib/dist-custom-elements/{p-704245ef.js → p-268171f7.js} +0 -0
  831. /package/lib/dist-custom-elements/{p-0b3f675e.js → p-3d8d557b.js} +0 -0
  832. /package/lib/dist-custom-elements/{p-c1325e35.js → p-45f71a69.js} +0 -0
  833. /package/lib/dist-custom-elements/{p-d8549efe.js → p-56ac3289.js} +0 -0
  834. /package/lib/dist-custom-elements/{p-56118313.js → p-77f2dbee.js} +0 -0
  835. /package/lib/dist-custom-elements/{p-12721178.js → p-a1371eee.js} +0 -0
  836. /package/lib/dist-custom-elements/{p-4ebf1618.js → p-d48735b6.js} +0 -0
  837. /package/lib/dist-custom-elements/{p-76f00bd5.js → p-dade978b.js} +0 -0
  838. /package/lib/dist-custom-elements/{p-9d915d45.js → p-f8c76b25.js} +0 -0
  839. /package/lib/duet/{p-8adb9463.js → p-00c8a755.js} +0 -0
  840. /package/lib/duet/{p-3ae39071.js → p-040f8831.js} +0 -0
  841. /package/lib/duet/{p-2bb34e3d.js → p-0b31864f.js} +0 -0
  842. /package/lib/duet/{p-bd779757.js → p-141e14d0.js} +0 -0
  843. /package/lib/duet/{p-5a9d75e1.js → p-1a395a8d.js} +0 -0
  844. /package/lib/duet/{p-9c1b089a.js → p-24853ebf.js} +0 -0
  845. /package/lib/duet/{p-704245ef.js → p-268171f7.js} +0 -0
  846. /package/lib/duet/{p-c7ae95bd.system.js → p-36b36a8e.system.js} +0 -0
  847. /package/lib/duet/{p-0b3f675e.js → p-3d8d557b.js} +0 -0
  848. /package/lib/duet/{p-c1325e35.js → p-45f71a69.js} +0 -0
  849. /package/lib/duet/{p-56118313.js → p-77f2dbee.js} +0 -0
  850. /package/lib/duet/{p-12721178.js → p-a1371eee.js} +0 -0
  851. /package/lib/duet/{p-f077c646.js → p-cc1909de.js} +0 -0
  852. /package/lib/duet/{p-4ebf1618.js → p-d48735b6.js} +0 -0
  853. /package/lib/duet/{p-76f00bd5.js → p-dade978b.js} +0 -0
  854. /package/lib/duet/{p-9d915d45.js → p-f8c76b25.js} +0 -0
  855. /package/lib/esm/{bodyScrollLock.es6-61b5e9a4.js → bodyScrollLock.es6-8dc7cca7.js} +0 -0
  856. /package/lib/esm/{common-strings-97e04e4b.js → common-strings-71f2aabd.js} +0 -0
  857. /package/lib/esm/{create-id-981107da.js → create-id-2b0cd46d.js} +0 -0
  858. /package/lib/esm/{floating-ui.dom.esm-6025c98f.js → floating-ui.dom.esm-efad5c89.js} +0 -0
  859. /package/lib/esm/{input-utils-de45e099.js → input-utils-a0225b92.js} +0 -0
  860. /package/lib/esm/{is-internet-explorer-62b3bdbd.js → is-internet-explorer-032d4dae.js} +0 -0
  861. /package/lib/esm/{js-utils-fa98b8cd.js → js-utils-a35dcc8c.js} +0 -0
  862. /package/lib/esm/{keyboard-utils-d237bd5a.js → keyboard-utils-5746e126.js} +0 -0
  863. /package/lib/esm/{nudge-a828c525.js → nudge-560904c3.js} +0 -0
  864. /package/lib/esm/{slot-query-8c7dce21.js → slot-query-7877f18f.js} +0 -0
  865. /package/lib/esm/{string-utils-5954f458.js → string-utils-59ad4cb2.js} +0 -0
  866. /package/lib/esm/{teleport-467626fe.js → teleport-15747328.js} +0 -0
  867. /package/lib/esm/{themeable-component-cb76be7c.js → themeable-component-fdce4fd7.js} +0 -0
  868. /package/lib/esm/{token-utils-2d3af0db.js → token-utils-46c8fe31.js} +0 -0
  869. /package/lib/esm/{watch-options-dd55bce8.js → watch-options-f189118b.js} +0 -0
  870. /package/lib/esm-es5/{common-strings-97e04e4b.js → common-strings-71f2aabd.js} +0 -0
  871. /package/lib/esm-es5/{is-internet-explorer-62b3bdbd.js → is-internet-explorer-032d4dae.js} +0 -0
  872. /package/lib/esm-es5/{js-utils-fa98b8cd.js → js-utils-a35dcc8c.js} +0 -0
  873. /package/lib/esm-es5/{nudge-a828c525.js → nudge-560904c3.js} +0 -0
  874. /package/lib/esm-es5/{slot-query-8c7dce21.js → slot-query-7877f18f.js} +0 -0
  875. /package/lib/esm-es5/{themeable-component-cb76be7c.js → themeable-component-fdce4fd7.js} +0 -0
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{h as t,r as e,c as i,H as a,g as s,F as d}from"./p-733bb740.js";import{i as l}from"./p-4ebf1618.js";import{f as o,d as n}from"./p-0b3f675e.js";import{i as r}from"./p-f077c646.js";import{a as h,c as u,d as b,g as p,s as m}from"./p-03baceb5.js";import{n as c}from"./p-3ae39071.js";import{p as g,s as f}from"./p-f1d51e20.js";import{b as y,a as v}from"./p-2bb34e3d.js";import{c as x}from"./p-c1325e35.js";import{g as w,a as k}from"./p-e91385fb.js";import"./p-5a9d75e1.js";const T=({data:e,groupId:i,alignment:a})=>{const s=`duet-editable-table duet-editable-table-content-${i}`;return"string"==typeof e?t("td",{innerHTML:e,class:s,part:`${i}content`,style:{verticalAlign:a}}):t("td",{class:s,part:`${i}content`,style:{verticalAlign:a}},e)},L=class{constructor(t){e(this,t),this.duetTableToggle=i(this,"duetTableToggle",7),this.duetMenuClick=i(this,"duetMenuClick",7),this.hasHeadSlotFirst=!1,this.hasHeadSlotLast=!1,this.hasFootSlot=!1,this.sortableDefaultLabel={fi:"Järjestä",en:"Click to sort",sv:"Klicka för att sortera"},this.actionColumnLabel={en:"Actions for rows",fi:"Toiminnot rivillä",sv:"Åtgärder för rader"},this.toggleColumn=(t,e)=>{e.preventDefault();const{sort_order:i,direction:a,index:s,key:d}=t;this.duetTableToggle.emit({sort_order:i,index:s,direction:a,key:d,component:"duet-editable-table",originalEvent:e})},this.handleKeyDown=(t,e)=>{r(e)&&this.toggleColumn(t,e)},this.language=h(),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.actions=void 0,this.columns=void 0,this.rows=void 0,this.sortable=!1,this.groupId="",this.theme="",this.accessibleRole=void 0,this.hideHeadVisually=!1}componentWillLoad(){l(this),this.hasHeadSlotFirst=!!this.element.querySelector("[slot='thead-first']"),this.hasHeadSlotLast=!!this.element.querySelector("[slot='thead-last']"),this.hasFootSlot=!!this.element.querySelector("[slot='tfoot']")}componentDidLoad(){c(this)}connectedCallback(){u(this)}disconnectedCallback(){b(this)}createLabel(e){const{sort_order:i,direction:a,index:s,label:d}=e,l=p(d);return this.sortable?t("span",{class:"duet-table-label","data-index":s},t("duet-button",{size:"small",icon:i&&1===a?"action-arrow-down-small":i&&-1===a?"action-arrow-up-small":"action-subtract-small","icon-size":"medium-small","accessible-label":this.sortableDefaultLabel[this.language],variation:"plain",margin:"none","icon-right":!0,onClick:t=>this.toggleColumn(e,t),onKeyDown:t=>this.handleKeyDown(e,t)},l)):l}getSortedColumns(){return[...this.columns].sort(o(["index"]))}getRowSortOrder(){return[...this.columns].sort(o(["sort_order"])).filter((t=>t.sort_order)).map((t=>-1===t.direction?`-${t.key}`:t.key))}renderTableHeader(){if(!this.columns)return;const e=this.getSortedColumns();return t("tr",{class:{"duet-table-action-header":!!this.actions}},e.map((e=>{if(!1!==e.display){const i=this.createLabel(e);return""!==i?t("th",{scope:"col"},i):t("td",null)}})),this.actions&&t("th",{scope:"col",class:"duet-table-action-header-heading"},this.actions&&t("duet-visually-hidden",null,this.actionColumnLabel[this.language])))}renderActions(e,i){if(this.actions)return t("td",{class:"duet-text-right"},this.actions.map((a=>t("duet-action-button",{actionMeta:Object.assign({},(null==e?void 0:e.meta)||{},{index:i}),actionId:(null==e?void 0:e.uid)||(null==e?void 0:e.id)||null,actionName:a.name,theme:this.theme,iconName:a.icon,iconColor:a.color,iconSize:a.size,background:a.background,"accessible-label":`${e.actionDescription||""} ${p(a.label)} `}))))}renderTableBody(){const e=this.getSortedColumns(),i=this.getRowSortOrder();return[...this.rows].sort(o(i)).map(((i,a)=>t("tr",{class:{"duet-table-action-row":!!this.actions,"duet-editable-table-row":!0,[`duet-editable-table-row-${this.groupId}`]:!0},"data-meta":JSON.stringify(i.meta)},e.map((e=>{if(!1!==e.display)return t(T,{data:i[e.key]?i[e.key]:i.item,groupId:this.groupId})})),this.actions&&this.renderActions(i,a))))}render(){return t(a,{class:{[`duet-editable-table-${this.variation}`]:!0,"duet-editable-table":!0,[`duet-editable-table-${this.theme}`]:!0,"duet-editable-table-scrollable":"none-scrollable"===this.breakpoint,"duet-editable-table-sortable":this.sortable,"duet-editable-table-actions":!!this.actions,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme}},t("duet-table",{class:"duet-editable-table-table",sticky:this.sticky,stickyDistance:this.stickyDistance,margin:this.margin,theme:this.theme,variation:this.variation,breakpoint:this.breakpoint,"hide-head-visually":this.hideHeadVisually},t("table",{role:this.accessibleRole},t("caption",null,t("slot",{name:"tcaption"})),t("thead",null,this.hasHeadSlotFirst&&t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-first"}))),this.renderTableHeader(),this.hasHeadSlotLast&&t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-last"})))),t("tbody",null,this.renderTableBody()),this.hasFootSlot&&t("tfoot",null,t("tr",null,t("td",{class:"duet-editable-table-footer-menu",colSpan:99},t("slot",{name:"tfoot"})))))))}get element(){return s(this)}};L.style=".sc-duet-editable-table-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-editable-table-actions-menu.sc-duet-editable-table{position:relative;padding:0 !important;margin:0}.duet-editable-table-actions-menu-button.sc-duet-editable-table{position:relative;right:-16px;float:right;padding:0}.duet-editable-table-actions-menu-icon.sc-duet-editable-table .duet-icon.sc-duet-editable-table{max-width:16px;max-height:16px}.duet-editable-table-row.duet-table-action-row.sc-duet-editable-table .duet-text-right.sc-duet-editable-table{text-align:right}.duet-editable-table-header.sc-duet-editable-table tr.sc-duet-editable-table .duet-editable-table-header-hidden.sc-duet-editable-table{padding:0 !important;font-size:0;border-bottom:0}";const j={none:0,"with-links":16*parseFloat(g),"without-links":16*parseFloat(f)},S=class{constructor(t){e(this,t),this.headingSelector="thead tr > :not(*.duet-editable-table-actions-menu)",this.handleMediaQueryChange=t=>{this.matchesBreakpoint=y.includes(this.breakpoint)?!t.matches:t.matches},this.matchesBreakpoint=!0,this.language=h(),this.theme=void 0,this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.hideHeadVisually=!1}watchLanguageStateHandler(t,e){t!==e&&setTimeout((()=>this.copyHeadingsToCells()),50)}connectedCallback(){this.mq=matchMedia("none"===this.breakpoint||"none-scrollable"===this.breakpoint?"all":v[this.breakpoint]),this.mq.addEventListener("change",n(this.handleMediaQueryChange,50)),this.handleMediaQueryChange(this.mq),this.observer=new MutationObserver((()=>n(this.copyHeadingsToCells(),50))),this.observer.observe(this.element,{childList:!0,subtree:!0})}componentWillLoad(){if(l(this),this.copyHeadingsToCells(),this.sticky&&"none-scrollable"===this.breakpoint&&console.warn('[DUET WARNING]: sticky and breakpoint="none-scrollable" are incompatible. Scrollable takes precedence'),this.sticky){const t=j[this.stickyDistance];this.element.querySelectorAll(this.headingSelector).forEach((e=>e.style.top=`${t}px`))}}componentDidLoad(){this.observer&&this.observer.takeRecords(),u(this)}disconnectedCallback(){this.observer.disconnect(),this.observer=null,this.mq.removeListener(this.handleMediaQueryChange),this.mq=null,this.matchesBreakpoint=!0,b(this)}copyHeadingsToCells(){const t=this.element.querySelectorAll(this.headingSelector),e=this.element.querySelectorAll("tbody tr"),i=Array.from(t).map((t=>t.textContent.trim()));e.forEach((t=>{t.querySelectorAll("td").forEach(((t,e)=>{if(i[e]){const a=t.querySelector(".duet-table-cell-heading");if(!a||a.textContent!==i[e]){null==a||a.remove();const s=document.createElement("span");s.textContent=i[e],s.classList.add("duet-table-cell-heading"),s.setAttribute("aria-hidden","true"),s.inert=!0,t.prepend(s)}}}))}))}render(){return t(a,{class:{[`duet-table-${this.variation}`]:!0,"duet-table-flattened":!this.matchesBreakpoint,"duet-table-sticky":this.matchesBreakpoint&&this.sticky,"duet-table-scrollable":"none-scrollable"===this.breakpoint,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme,"duet-table-hide-head-visually":this.hideHeadVisually}},t("slot",null))}get element(){return s(this)}static get watchers(){return{language:["watchLanguageStateHandler"]}}};S.style='duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-table-hide-head-visually.duet-table-hide-head-visually thead,duet-table.duet-table-hide-head-visually.duet-table-hide-head-visually thead *{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}duet-table.duet-theme-turva table{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}duet-table td{-webkit-hyphens:auto;hyphens:auto;color:rgb(0, 41, 77)}duet-table.duet-theme-turva td{color:rgb(23, 28, 58)}duet-table th{font-weight:600;line-height:1.25;color:rgb(101, 119, 135);text-align:left}duet-table.duet-theme-turva th{color:rgb(116, 116, 117)}duet-table tbody th{font-weight:600;color:rgb(0, 41, 77)}duet-table.duet-theme-turva tbody th{color:rgb(23, 28, 58)}duet-table .duet-table-action-row td:last-child{justify-self:end;padding-right:20px !important;white-space:nowrap}duet-table span.duet-table-cell-heading{display:none}.duet-table-flattened table,.duet-table-flattened thead,.duet-table-flattened tbody,.duet-table-flattened tfoot,.duet-table-flattened th,.duet-table-flattened td,.duet-table-flattened tr{display:block}.duet-table-flattened thead tr{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-table-flattened td{line-height:1.25}.duet-table-flattened td:not(:last-child){margin-bottom:16px !important}.duet-table-flattened td span.duet-table-cell-heading{margin-bottom:4px !important;display:block;font-size:1rem;font-weight:600;color:rgb(0, 41, 77)}.duet-table-flattened.duet-theme-turva td span.duet-table-cell-heading{color:rgb(23, 28, 58)}.duet-table-flattened tbody td,.duet-table-flattened tbody th,.duet-table-flattened tfoot td{padding:0 !important;text-align:left !important}.duet-table-flattened tbody th{font-weight:600;line-height:1.25;color:rgb(101, 119, 135);text-align:left}.duet-table-sticky thead th{position:sticky;top:0;background:rgb(255, 255, 255)}.duet-table-striped td,.duet-table-striped th{padding:20px !important}@media (max-width: 35.9375em){.duet-table-striped td,.duet-table-striped th{padding:20px 12px !important}}.duet-table-striped tbody th{background:rgb(255, 255, 255)}.duet-table-striped.duet-table-sticky thead th{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-table-sticky.duet-theme-turva thead th{border-bottom-color:rgb(228, 228, 230)}.duet-table-striped tbody:not(:first-of-type) th{padding-top:40px !important}.duet-table-striped tbody:only-of-type tr:nth-of-type(odd){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tfoot td{border-top:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-theme-turva tfoot td{border-top-color:rgb(228, 228, 230)}.duet-table-striped.duet-table-flattened tbody:not(:first-of-type) th{padding-top:20px !important}.duet-table-striped.duet-table-flattened tr{padding:20px !important}.duet-table-striped.duet-table-flattened tfoot td{border-top:0}.duet-table-striped.duet-table-flattened tfoot tr{border-top:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr{border-top-color:rgb(228, 228, 230)}.duet-table-fixed th,.duet-table-minimal th,.duet-table-plain th{padding:16px !important;border-bottom:1px solid rgb(101, 119, 135)}.duet-table-fixed th:first-child,.duet-table-minimal th:first-child,.duet-table-plain th:first-child{padding-left:0 !important}.duet-table-fixed th:last-child,.duet-table-minimal th:last-child,.duet-table-plain th:last-child{padding-right:0 !important}.duet-theme-turva.duet-table-fixed th,.duet-theme-turva.duet-table-minimal th,.duet-theme-turva.duet-table-plain th{border-bottom-color:rgb(68, 68, 69)}.duet-table-fixed tbody th,.duet-table-minimal tbody th,.duet-table-plain tbody th{padding-top:40px !important;border-bottom-color:rgb(225, 227, 230)}.duet-theme-turva.duet-table-fixed tbody th,.duet-theme-turva.duet-table-minimal tbody th,.duet-theme-turva.duet-table-plain tbody th{border-bottom-color:rgb(228, 228, 230)}.duet-table-fixed td,.duet-table-minimal td,.duet-table-plain td{padding:16px !important}.duet-table-fixed td:first-child,.duet-table-minimal td:first-child,.duet-table-plain td:first-child{padding-left:0 !important}.duet-table-fixed td:last-child,.duet-table-minimal td:last-child,.duet-table-plain td:last-child{padding-right:0 !important}.duet-table-fixed tbody td,.duet-table-minimal tbody td,.duet-table-plain tbody td{border-bottom:1px solid rgb(225, 227, 230)}.duet-theme-turva.duet-table-fixed tbody td,.duet-theme-turva.duet-table-minimal tbody td,.duet-theme-turva.duet-table-plain tbody td{border-bottom-color:rgb(228, 228, 230)}.duet-table-flattened.duet-table-fixed tbody:first-of-type th,.duet-table-flattened.duet-table-minimal tbody:first-of-type th,.duet-table-flattened.duet-table-plain tbody:first-of-type th{padding-top:0 !important}.duet-table-flattened.duet-table-fixed td,.duet-table-flattened.duet-table-minimal td,.duet-table-flattened.duet-table-plain td,.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{border-bottom:0}.duet-table-flattened.duet-table-fixed tr,.duet-table-flattened.duet-table-minimal tr,.duet-table-flattened.duet-table-plain tr{padding:20px 0 !important}.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{padding-top:20px !important}.duet-table-flattened.duet-table-fixed tfoot td,.duet-table-flattened.duet-table-minimal tfoot td,.duet-table-flattened.duet-table-plain tfoot td{margin-bottom:4px !important}.duet-table-flattened.duet-table-fixed tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-minimal tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-plain tbody:not(:only-of-type) tr:first-child{border-bottom:0}.duet-table-plain.duet-table-flattened tbody tr{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr{border-bottom-color:rgb(228, 228, 230)}.duet-table-minimal tbody tr,.duet-table-minimal tbody tr td{vertical-align:top;border-bottom:0 none}.duet-table-minimal tbody tr:last-of-type,.duet-table-minimal tbody tr:last-of-type td{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-minimal.duet-table-flattened tbody tr,.duet-table-minimal.duet-table-flattened tbody tr td{border-bottom:0 none}.duet-table-minimal.duet-table-flattened tbody tr td[data-heading]::before{display:none}.duet-table-minimal.duet-table-flattened tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-fixed table{table-layout:fixed}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td,.duet-table-fixed tbody tr td:first-child{padding:4px !important;vertical-align:text-bottom;border-bottom:0 none}.duet-table-fixed thead{display:none}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td{border-bottom:0 none}.duet-table-fixed:not(.duet-table-flattened) tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-fixed:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-scrollable{position:relative;width:100%;overflow-x:auto;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;background-repeat:no-repeat;background-attachment:local, local, scroll, scroll;background-size:100px 100%, 100px 100%, 12px 100%, 12px 100%}.duet-table-selected-column{background:rgba(0, 119, 179, 0.08)}.duet-theme-turva .duet-table-selected-column{background:rgba(68, 68, 69, 0.08)}.duet-table-sortable tbody tr td:first-child,.duet-table-sortable thead tr th:first-child{padding:20px}.duet-table-sortable:not(.duet-table-flattened) tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-sortable:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-actions table{table-layout:auto}.duet-table-actions thead th:last-child{width:1px;white-space:nowrap}.duet-editable-table-table.duet-table-flattened tr{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:auto;gap:10px}.duet-editable-table-table.duet-table-flattened tr.duet-table-action-row td:last-child::before{padding:0;content:""}.duet-editable-table-table.duet-table-flattened td{grid-column:1/2}.duet-editable-table-table.duet-table-flattened td:first-child{grid-row:1;grid-column:1}.duet-editable-table-table.duet-table-flattened td:last-child{grid-row:1;grid-column:2}';const E=[{type:"default",system_message:"unknown error",message:{fi:"Tapahtui tuntematon virhe, ole hyvä ja yritä uudelleen.",sv:"Ett okänt fel uppstod, försök igen.",en:"An unknown error occured, please try again."}},{type:"400",system_message:"Bad Request: The server could not understand the request due to invalid syntax.",message:{fi:"Tiedostoa ei hyväksytty.",sv:"Servern avvisade din fil.",en:"The server rejected your file."}},{type:"401",system_message:"Not Authenticated: The client must authenticate itself to get the requested response...",message:{fi:"Vain kirjautunut käyttäjä voi lähettää tiedostoja.",sv:"Du måste vara inloggad för att ladda upp filer.",en:"You need to be logged in to upload files."}},{type:"403",system_message:"No Access: The client does not have access rights to the content.",message:{fi:"Ei oikeuksia lähettää tiedostoja.",sv:"Du har inte rätt åtkomsträttigheter för att ladda upp filer.",en:"You do not have the correct access rights to upload files."}},{type:"413",system_message:"Payload too large",message:{fi:"Tiedosto oli liian vastaanotettavaksi.",sv:"Filen var för stor för servern att hantera.",en:"The file was to large for the server to handle."}},{type:"415",system_message:"Unsupported media type",message:{fi:"Tiedoston tyyppi oli väärä.",sv:"Servern avvisade filen eftersom den hade fel typ.",en:"The server rejected the file because it had the wrong type."}},{type:"429",system_message:"Too many request from same address",message:{fi:"Liian monta yritystä, ole hyvä ja yritä myöhemmin uudelleen.",sv:"Servern har fått många förfrågningar från dig, försök igen senare.",en:"The server has received to many request from you, please try again later."}},{type:"500",system_message:"Internal Server Error",message:{fi:"Palvelin ilmoitti tuntemattomasta virheestä ja lataus epäonnistui.",sv:"Servern rapporterade ett okänt fel och uppladdningen misslyckades.",en:"The server reported an unknown error and the upload failed."}},{type:"duet-upload-100",system_message:"File extension not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den type.",en:"You cannot upload files with that extension."}},{type:"duet-upload-001",system_message:"File transfer failed",message:{fi:"Tiedoston lähetys keskeytyi, ole hyvä ja yritä uudelleen.",sv:"Din anslutning till servern avbröts, försök igen.",en:"Your connection to the server was interrupted, try again."}},{type:"duet-upload-101",system_message:"File mimetype not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den typ.",en:"You cannot upload files of that type."}},{type:"duet-upload-201",system_message:"File is too large",message:{fi:"Tiedosto on liian iso.",sv:"Filen är större än tillåtet.",en:"The file is larger than permitted."}},{type:"duet-upload-202",system_message:"The combined size of all files is too large",message:{fi:"Tiedostojen yhteenlaskettu koko on liian iso.",sv:"Du har nått den maximala kombinerade filstorleken.",en:"You have reached the maximum combined filesize."}},{type:"duet-upload-203",system_message:"Files to upload exceed total byte size limit",message:{fi:"Yritit lisätä tiedostoja, jotka ylittäisivät suurimman sallitun yhteenlasketun koon.",sv:"Du försökte lägga till filer som skulle överskrida den maximala kombinerade storleken.",en:"You tried to add files that would exceed the maximum combined size."}},{type:"duet-upload-301",system_message:"The maximum file limit has been reached",message:{fi:"Liitteiden maksimimäärä saavutettu.",sv:"Maximalt antal bilagor har uppnåtts.",en:"Maximum number of attachments reached."}},{type:"duet-upload-302",system_message:"Files to upload exceeds limits",message:{fi:"Et voi lähettää enempää kuin enimmäismäärän liitteitä.",sv:"Du kan inte ladda upp fler än det maximala antalet bilagor.",en:"You can't upload more than maximum number of attachments."}}],z={fi:"Liiteluettelo",sv:"Lista över bilagor",en:"Attachments list"},M=({label:e,categoryLabel:i})=>t("div",{class:"items-header",tabindex:"0","aria-label":p(z)},i&&t("duet-heading",{class:"category-header",border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none","aria-hidden":"true"},p(i)),t("duet-heading",{class:{"filename-header":!0,"no-category":!i},border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none","aria-hidden":"true"},p(e))),F=(t,e,i)=>{const{allowedMimetypes:a,allowedExtensions:s,maxBytes:d}=e;let l=!1,o=w("default",i);if(t){const{name:e,type:n,size:r}=t,h=((t,e)=>{if(!e||!t)return!0;const i=e.split(",");let a=!1;return i.forEach((e=>{const i=e.split("/"),s=t.split("/");i[0]!==s[0]||i[1]!==s[1]&&"*"!==i[1]||(a=!0)})),a})(n,a),u="all"===s||""===s||" "===s||void 0===s||((t,e)=>{if(!e)return!0;const i=t.split(".");return e.split(",").includes(i[i.length-1])})(e.toLowerCase(),s),b=((t,e)=>!e||!t||e>=t)(r,d);h||(o=w("duet-upload-101",i)),u||(o=w("duet-upload-100",i)),b||(o=w("duet-upload-201",i)),l=h&&u&&b}else l=!1;return{valid:l,errorMessage:l?void 0:p(o.message),errorSystem:l?void 0:o.system_message,errorType:l?void 0:o.type}},D=({payload:t,options:e,onFailure:i,onSuccess:a,onProgress:s})=>{const{type:d="POST",xhr:l,uri:o,argument:n=null,headers:r=null}=e;l.open(d,`${o}${n||""}`,!0);const{data:h,name:u}=t;return r&&Object.keys(r).forEach((t=>{l.setRequestHeader(t,r[t])})),"POST"===d&&(l.onreadystatechange=()=>{l.readyState===XMLHttpRequest.DONE&&l.status>=200&&l.status<300&&a(l,u,l.status),l.readyState===XMLHttpRequest.DONE&&l.status>=300&&l.status<999&&i(l,u,l.status)},s(u)),l.send(h),l},C=class{constructor(a){e(this,a),this.duetChange=i(this,"duetChange",3),this.duetBlur=i(this,"duetBlur",7),this.duetFocus=i(this,"duetFocus",7),this.duetReady=i(this,"duetReady",7),this.duetDone=i(this,"duetDone",3),this.duetState=i(this,"duetState",3),this.duetDelete=i(this,"duetDelete",3),this.duetCancel=i(this,"duetCancel",3),this.duetProgress=i(this,"duetProgress",3),this.duetUpload=i(this,"duetUpload",3),this.linkClick=i(this,"linkClick",3),this.buttonId=x("DuetButton"),this.labelId=x("DuetLabel"),this.uploadId=x("DuetUpload"),this.filesInProgress=new Map,this.fileMaxReached=!1,this.bytesMaxReached=!1,this.filesToUploadExceedsLimit=!1,this.filesToUploadTotalSizeIsAboveMax=!1,this.internalStatusMessageLabel=void 0,this.itemRefs=new Map,this.DefaultGroups={inprogress:"inprogress",success:"success",pending:"pending",failure:"failure"},this.kick=n((()=>{this.tick=Date.now()}),30),this.categoryLabel={en:"Category",sv:"Filtyp",fi:"Tiedostotyyppi"},this.listenForActionEvents=()=>{this.element.addEventListener("duetActionEvent",(t=>{const e=t.detail,{action:i,id:a,originalEvent:s}=e;switch(i){case"delete":this.onDelete(a,s);break;case"cancel":this.onCancel(a,s)}}))},this.verifyValidity=()=>{const{invalid:t,valid:e}=this.getFilesAsArray(),i=this.valid;this.valid=0===t.length&&0!==e.length,this.valid!==i&&this.duetState.emit({originalEvent:void 0,data:{valid:this.valid,from:"componentWillRender"},component:"duet-upload"})},this.getGroupFromItemData=t=>t.valid&&100===t.progress?this.DefaultGroups.success:t.progress>0&&100!==t.progress?this.DefaultGroups.inprogress:t.valid?t.pending?this.DefaultGroups.pending:t.group?t.group:"none":this.DefaultGroups.failure,this.mapFilesToUploadItems=(e,i,a,s)=>i===this.DefaultGroups.success?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,s),type:"success",data:e,showLinks:this.showLinks,linkClickEvent:this.emitEvent?this.linkClick:void 0,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.inprogress?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,s),type:"inprogress",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.pending?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,s),type:"pending",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.failure?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,s),type:"failure",data:e,showLinks:this.showLinks,errorCodes:this.errorCodes,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,ref:t=>{this.itemRefs.set(e.uid,t)}}):e.group?e.html:"none",this.genHashName=()=>Date.now().toString(36)+Math.random(),this.updateValueInMap=(t,e,i,a=!0)=>{try{const a=this.files.get(t);a[e]=i,this.files.set(t,a),this.external&&"url"!==e&&this.trackProgress(t,"uploaded"===e)}catch(t){}a&&this.kick()},this.updateProgress=(t,e)=>{t.lengthComputable?(i=>{this.updateValueInMap(e,"progress",i),this.onProgress(e,i,t)})(t.loaded/t.total*100):console.log("cant read progress")},this.trackProgress=(t,e=!1)=>{e?this.filesInProgress.delete(t):this.filesInProgress.set(t,"inprogress"),0===this.filesInProgress.size&&this.onDone()},this.getFilesAsArray=()=>{const t=[],e=[];return this.files.forEach((i=>{i.valid&&!i.deleted?t.push(i):i.valid||i.deleted||e.push(i)})),{valid:t,invalid:e}},this.resetFormFields=()=>{this.nativeInput.value=""},this.startUpload=async(t,e)=>{const{bytesMaxReached:i,fileMaxReached:a}=this.validateTotals();i||a?this.kick():(this.metaData=e,this.nativeInput.click(),this.onUpload(t,e),t.stopPropagation(),t.preventDefault())},this.transferComplete=t=>{this.updateValueInMap(t,"progress",100,!1),this.trackProgress(t,!0)},this.transferDone=(t,e,i)=>{this.updateValueInMap(e,"status",i,!1),this.updateValueInMap(e,"uploaded",!0,!1);try{const i=JSON.parse(t.response);this.updateValueInMap(e,"url",i.url)}catch(t){this.updateValueInMap(e,"url",null),console.error("Server did not respond with expected response {url: string}")}},this.transferDoneWithFailure=(t,e,i)=>{try{const{error:i}=JSON.parse(t.response);this.updateValueInMap(e,"error",{message:i.message,type:i.type},!1)}catch(t){console.error("Server did not respond with expected response error:{message: string, type: int}"),this.updateValueInMap(e,"error",{type:i},!1)}this.updateValueInMap(e,"valid",!1,!0)},this.transferFailed=t=>{this.updateValueInMap(t,"error",k("duet-upload-001",this.errorCodes))},this.transferCanceled=t=>{this.files.delete(t),this.validateTotals(t),this.kick()},this.validateTotals=t=>{const e=((t,e)=>{let i=0;return!!(e&&(this.files.forEach((t=>{t.valid&&t.size&&(i+=t.size)})),i>=e))})(0,this.maxBytesTotal),i=((t,e)=>{let i=0;return!!(e&&(this.files.forEach((t=>{t.valid&&i++})),i>=e))})(0,this.maxFiles);return e&&t&&this.updateValueInMap(t,"error",k("duet-upload-202",this.errorCodes),!1),i&&t&&this.updateValueInMap(t,"error",k("duet-upload-301",this.errorCodes),!1),this.bytesMaxReached=e,this.fileMaxReached=i,{bytesMaxReached:e,fileMaxReached:i}},this.uploadFile=async(t,e=!1,i)=>{!e&&this.deferUpload?(this.updateValueInMap(t.item.name,"pending",!0,!1),this.updateValueInMap(t.item.name,"group","pending",!0)):e&&(this.updateValueInMap(t.item.name,"pending",!1,!1),this.updateValueInMap(t.item.name,"group",void 0,!0));try{if(!this.deferUpload||e){const e=new FormData;e.append("file",t.item),i&&e.append("key",i),e.append("uid",t.uid),e.append("name",t.item.name),e.append("metadata",JSON.stringify({uid:t.uid,url:this.uri,size:t.item.size,meta:t.meta})),t.xhr=await this.makeXHRPostRequest(e)}}catch(e){this.updateValueInMap(t.item.name,"valid",!1,!1)}},this.uploadPendingFiles=()=>{for(const[t,e]of Array.from(this.files.entries()))"pending"===e.group&&!0===e.pending&&this.uploadFile(e,!0,t)},this.getItemFromUID=t=>{for(const[e,i]of Array.from(this.files.entries()))if(i.uid===t)return{value:i,key:e};return null},this.handleExternalUploadButton=(t,e)=>{this.externalUploadButton&&(this.externalUploadButton.disabled=!(!t&&!e))},this.onDelete=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:s,fileMaxReached:d}=this.validateTotals();this.handleExternalUploadButton(s,d),this.kick(),this.duetDelete.emit({originalEvent:e,data:{deletion:a},component:"duet-upload"}),this.external||a.pending||this.makeXHRDeleteRequest(a),this.resetFormFields()},this.onCancel=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:s,fileMaxReached:d}=this.validateTotals();if(this.handleExternalUploadButton(s,d),!this.external){const{xhr:t}=a;t&&t.abort()}this.kick(),this.resetFormFields(),this.duetCancel.emit({originalEvent:e,data:{cancelled:a},component:"duet-upload"})},this.onUpload=(t,e)=>{this.duetUpload.emit({originalEvent:t,metaData:e,component:"duet-upload"})},this.onBlur=t=>{this.duetBlur.emit({originalEvent:t,component:"duet-upload"})},this.onProgress=(t,e,i)=>{this.duetChange.emit({originalEvent:i,data:{key:t,percentComplete:e},component:"duet-upload"})},this.onFocus=t=>{this.duetFocus.emit({originalEvent:t,component:"duet-upload"})},this.onReady=()=>{this.duetReady.emit({component:"duet-upload"})},this.onDone=()=>{this.duetDone.emit({component:"duet-upload",data:{files:this.files}})},this.filterMap=()=>{const t=Array.from(this.files.values()),e=[],i=[],a=[],s=[];let d=!1;return t.forEach((t=>{const l=this.getGroupFromItemData(t);t.meta&&t.meta.badges&&(d=!0),l===this.DefaultGroups.success?s.push({uid:t.uid,data:t}):l===this.DefaultGroups.inprogress?e.push({uid:t.uid,data:t}):l===this.DefaultGroups.pending?a.push({uid:t.uid,data:t}):l===this.DefaultGroups.failure?i.push({uid:t.uid,data:t}):t.group&&e.push({uid:t.uid,data:t})})),{pending:a,failure:i,success:s,inprogress:e,hasCategory:d}},this.getActions=(t,e)=>e.filter((e=>e.map.includes(t))),this.renderUploadedItems=()=>{this.itemRefs.clear();const e=this.filterMap(),i=e.hasCategory,a=this.hideCancelButton?this.actions.filter((t=>"cancel"!==t.name)):this.actions,s=this.groups.map((s=>{const l=e[s.id];if(null==l?void 0:l.length)return t(d,null,!this.hideGroups&&t(M,{categoryLabel:i?this.categoryLabel:void 0,label:s.label}),l.map((t=>this.mapFilesToUploadItems(t.data,s.id,i,a))))}));return t(d,null,this.showUploadedItemsHeader&&t(M,{categoryLabel:i?this.categoryLabel:void 0,label:this.uploadedItemsHeaderLabel}),s)},this.tick=Date.now(),this.accessibleActiveDescendant=void 0,this.accessibleDescribedBy=void 0,this.accessibleControls=void 0,this.accessibleOwns=void 0,this.external=!1,this.middleware=null,this.deferUpload=!1,this.hideButton=!1,this.actions=[{icon:"action-delete",color:"color-danger",size:"x-small",background:"gray-lightest",name:"delete",map:["success","failure"],label:{fi:"Poista tiedosto",en:"Delete the file",sv:"Ta bort filen"}},{icon:"navigation-close",color:"primary",size:"x-small",background:"gray-lightest",name:"cancel",map:["inprogress","pending"],label:{fi:"Keskeytä lähetys",en:"Cancel the upload",sv:"Stop överföringen"}}],this.uri=void 0,this.showLinks=!1,this.caption=void 0,this.statusLabelDefaults={fi:{inProgress:"Lähetetään {filesUploaded}, yhteensä lähetettävänä {filesTotal}.",inProgressWithErrors:"Lähetetään {filesInProgress}, lähetetty {filesUploaded}, yhteensä lähetettävänä {filesTotal}, {filesWithErrors} epäonnistui",done:"Lähetys valmis, {filesTotal} lisätty onnistuneesti",doneWithErrors:"Lähetys valmis, {filesUploaded} lisätty onnistuneesti, {filesWithErrors} epäonnistui",files:"tiedostoa",file:"tiedosto"},sv:{inProgress:"Laddar upp {filesUploaded} av {filesTotal}",inProgressWithErrors:"Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",done:"Uppladdningen slutförd, {filesTotal} har lagts till",doneWithErrors:"Uppladdningen slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",files:"filer",file:"fil"},en:{inProgress:"Uploading {filesUploaded} of {filesTotal}",inProgressWithErrors:"Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",done:"Upload completed, {filesTotal} added successfully",doneWithErrors:"Upload completed, {filesUploaded} added successfully, {filesWithErrors} failed.",files:"files",file:"file"}},this.statusMessageLabel=p(this.statusLabelDefaults),this.buttonLabelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add an attachment"},this.buttonLabel=p(this.buttonLabelDefaults),this.accessibleButtonLabel=void 0,this.theme="",this.disabled=!1,this.identifier=void 0,this.margin="auto",this.required=!1,this.alignment="middle",this.hideGroups=!1,this.files=new Map,this.valid=!this.required,this.labelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add attachments"},this.label=p(this.labelDefaults),this.descriptionDefaults={en:"You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytestotal} of files at a time, and add up to {maxfiles} attachments at a time each no larger than {maxbytes}.",sv:"Du kan bifoga följande filtyper: {filetypes} - samt de vanligaste videofilerna. Du kan ladda upp {maxbytestotal} av filer åt gången, och lägga till upp till {maxfiles} bilagor åt gången varje inte större än {maxbytes}.",fi:"Voit liittää seuraavat tiedostotyypit: {filetypes} - sekä yleisimmät videotiedostot. Voit lähettää {maxbytestotal} tiedostoa kerrallaan, ja lisätä enintään {maxfiles} liitettä kerrallaan, jokainen enintään {maxbytes} kokoisena."},this.description=p(this.descriptionDefaults),this.fileListEmptyDefaults={fi:"Ei vielä lisättyjä tiedostoja.",sv:"Inga filer har lagts till ännu.",en:"No files added yet."},this.fileListEmpty=p(this.fileListEmptyDefaults),this.error="",this.errorCodes=E,this.name=void 0,this.maxBytes=2e8,this.maxBytesTotal=void 0,this.maxFiles=99,this.allowedExtensions="all",this.allowedMimetypes="",this.multiple=!0,this.limitSelection=!1,this.hideCancelButton=!1,this.value=void 0,this.externalUploadButtonId=void 0,this.captionOnBottom=!1,this.showUploadedItemsHeader=!1,this.uploadedItemsHeaderLabel={fi:"Ladattu tiedosto",sv:"Lägg till en bilaga",en:"Uploaded file"},this.headerHeadingLevel="h3",this.hideHeader=!1,this.emitEvent=!1,this.groups=[{id:this.DefaultGroups.success,label:{fi:"Valmiit tiedostot",sv:"Files success",en:"Files success"}},{id:this.DefaultGroups.failure,label:{fi:"Tiedostot, joissa on virheitä",sv:"Filer med fel",en:"Files with errors"}},{id:this.DefaultGroups.inprogress,label:{fi:"Kesken olevat tiedostot",sv:"Filer inprogress",en:"Files inprogress"}},{id:this.DefaultGroups.pending,label:{en:"Files to upload",sv:"Filer att ladda",fi:"Ladattavat tiedostot"}}]}watchValidHandler(t,e){t!==e&&this.kick()}componentWillLoad(){this.internalStatusMessageLabel="string"==typeof this.statusMessageLabel?m(this.groups):this.statusMessageLabel,l(this),this.listenForActionEvents(),this.onReady(),this.externalUploadButton=document.querySelector(`#${this.externalUploadButtonId}`)}componentDidLoad(){c(this)}componentWillRender(){this.verifyValidity()}async setFocus(t){this.nativeInput&&this.nativeInput.focus(t)}async upload(t){const{bytesMaxReached:e,fileMaxReached:i}=this.validateTotals();if(e||i)return this.handleExternalUploadButton(e,i),void this.kick();this.metaData=t,this.nativeInput.click()}async uploadPending(){this.uploadPendingFiles()}async refresh(){this.kick(),await this.setFocus()}async getFiles(){return!(!this.files||0===this.files.size)&&this.getFilesAsArray()}async updateValue(t,e,i){this.updateValueInMap(t,e,i)}async focusActionButton(t){var e;await(null===(e=this.itemRefs.get(t))||void 0===e?void 0:e.focusActionButton())}render(){const e=this.identifier||this.uploadId,i=Math.round((this.maxBytesTotal?this.maxBytesTotal:this.maxBytes*this.maxFiles)/1024/1024),s=Math.round(this.maxBytes/1024/1024);let l=this.description.replace(/{maxfiles}/g,this.maxFiles.toString());return l=l.replace(/{maxbytes}/g,`${s.toString()} MB`),l=l.replace(/{maxbytestotal}/g,`${i.toString()} MB`),l=l.replace(/{filetypes}/g,this.allowedExtensions.split(",").join(", ")),this.externalUploadButton&&(this.externalUploadButton.ariaLabel=l),t(a,{class:{"duet-m-0":"none"===this.margin}},t("duet-fieldset",{"label-heading-level":this.headerHeadingLevel,"label-hidden":this.hideHeader,label:this.label,caption:this.captionOnBottom?void 0:l},t("slot",{name:"header"}),!this.files.size&&t("duet-empty-state",{id:this.labelId,part:this.identifier?`${this.identifier}-empty-state`:"duet-upload-empty-state",icon:"messaging-attachment"},t("duet-paragraph",{margin:"none"},this.fileListEmpty)),!!this.files.size&&t("slot",{name:"fileheader"}),!!this.files.size&&t("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.renderUploadedItems(),!!this.files.size&&t("slot",{name:"filefooter"}),t("slot",{name:"uploadfooter"}),this.captionOnBottom&&t("duet-caption",{margin:"none",size:"small"},t("div",{class:"upload-bottom-caption"},l)),t("slot",{name:"afterfooter"}),!this.hideButton&&t(d,null,t("duet-spacer",{size:"large"}),t("duet-button",{id:this.buttonId,onClick:this.startUpload,"accessible-controls":e,disabled:this.fileMaxReached,"accessible-label":this.accessibleButtonLabel,"accessible-owns":e,size:"small",variation:"secondary",fixed:!0,icon:"action-add-circle",part:this.identifier?`${this.identifier}-button-upload`:"duet-upload-button-upload"},this.buttonLabel)),(this.fileMaxReached||this.bytesMaxReached||this.filesToUploadExceedsLimit||this.filesToUploadTotalSizeIsAboveMax)&&t(d,null,t("duet-spacer",{size:"medium"}),t("duet-alert",{part:this.identifier?`${this.identifier}-error-notification`:"duet-upload-error-notification"},this.fileMaxReached&&k("duet-upload-301",this.errorCodes),this.bytesMaxReached&&k("duet-upload-202",this.errorCodes),this.filesToUploadExceedsLimit&&k("duet-upload-302",this.errorCodes),this.filesToUploadTotalSizeIsAboveMax&&k("duet-upload-203",this.errorCodes))),t("duet-visually-hidden",{"aria-hidden":"true"},t("input",{ref:t=>{this.nativeInput=t},accept:this.limitSelection?`${this.allowedMimetypes},${this.allowedExtensions}`:void 0,onBlur:this.onBlur,onFocus:this.onFocus,onChange:t=>this.onChange(t),type:"file",class:{"duet-upload":!0},disabled:this.disabled,"aria-hidden":"true",required:this.required,name:this.name,id:this.identifier,multiple:this.multiple,tabIndex:-1}))))}makeXHRPostRequest(t){const e=new XMLHttpRequest,i=t.get("name");e.upload.addEventListener("progress",(t=>{this.updateProgress(t,i)})),e.upload.addEventListener("load",(()=>{this.transferComplete(i)})),e.upload.addEventListener("error",(()=>{this.transferFailed(i)})),e.upload.addEventListener("abort",(()=>{this.transferCanceled(i)}));let a={payload:{data:t,name:i},options:{type:"POST",uri:this.uri,xhr:e,argument:null,headers:void 0},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(a=this.middleware(a)),D(a)}makeXHRDeleteRequest(t){const{uid:e,item:i}=t,a=new XMLHttpRequest;let s={payload:{data:null,name},options:{type:"DELETE",xhr:a,uri:this.uri,argument:`?key=${e}&name=${i.name}`,headers:{"x-fileuid":e,"x-filename":i.name}},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(s=this.middleware(s)),D(s)}async onChange(t){var e;const i=Array.from(null===(e=this.nativeInput)||void 0===e?void 0:e.files);if(this.filesToUploadExceedsLimit=!1,this.files.size+i.length>this.maxFiles)return this.filesToUploadExceedsLimit=!0,void this.kick();if(this.filesToUploadTotalSizeIsAboveMax=!1,((t,e,i)=>{let a=0;return!!(i&&(this.files.forEach((t=>{t.valid&&t.size&&(a+=t.size)})),e.forEach((t=>{t.size&&(a+=t.size)})),a>=i))})(0,i,this.maxBytesTotal))return this.filesToUploadTotalSizeIsAboveMax=!0,void this.kick();if(i)for(const t of i){const{valid:e,errorMessage:i,errorType:a,errorSystem:s}=F(t,{maxBytes:this.maxBytes,allowedExtensions:this.allowedExtensions,allowedMimetypes:this.allowedMimetypes},this.errorCodes),d={uid:this.genHashName(),item:t,size:t.size,meta:this.metaData,uploaded:!1,valid:e,error:{type:e?void 0:a,message:e?void 0:i,system_message:e?void 0:s},progress:0,deleted:!1,xhr:!1,url:!1};this.files.set(t.name,d),e&&!this.external?await this.uploadFile(d):e&&this.external?(this.updateValueInMap(d.item.name,"pending",!0,!1),this.updateValueInMap(d.item.name,"group","pending",!0)):e||this.updateValueInMap(t.name,"valid",!1,!0),this.kick()}this.resetFormFields(),this.metaData=void 0,this.duetChange.emit({originalEvent:t,data:{files:this.files},component:"duet-upload"})}get element(){return s(this)}static get watchers(){return{valid:["watchValidHandler"]}}};C.style="*,*::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}::slotted([slot=header]){margin-bottom:16px}::slotted([slot=fileheader]){margin:16px 0 0 0}::slotted([slot=filefooter]){margin-top:16px}::slotted([slot=uploadfooter]){margin-top:20px}.duet-upload{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-upload-item-size{font-size:0.75rem;font-weight:400}.duet-upload-filelist{margin-bottom:25px}.duet-upload-filelist-empty{display:flex;align-items:center;justify-content:center;width:100%;height:75px;margin:0 auto;font-size:1rem;font-weight:400;background-color:rgb(245, 248, 250)}.duet-upload-filelist-empty-label{font-size:1rem;font-weight:400}.duet-upload-editable-table-header-hidden{display:none}.duet-upload-editable-table tbody .duet-upload-editable-table-data{padding:0 !important;border:0}.duet-upload-editable-table duet-editable-table tfoot,.duet-upload-editable-table duet-editable-table thead{display:none}.duet-upload-editable-table duet-editable-table .duet-editable-table-content{padding-right:0 !important;padding-left:0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td{padding:1rem 0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td:last-child{padding-right:0 !important}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending{position:relative}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-progress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-progress{position:absolute;bottom:0;width:100%}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-action-button::part(button),.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-action-button::part(button){border:0}duet-paragraph::part(duet-paragraph){word-break:break-word}duet-editable-table tfoot{display:none}.upload-bottom-caption{margin-top:12px;margin-bottom:16px;line-height:1.4rem}.items-header{display:none;flex-direction:row;margin-bottom:0}@media (min-width: 36em){.items-header{display:flex}}.items-header:not(:last-child),.items-header:not(:first-child){margin-top:12px}.items-header .category-header{width:35%}.items-header .filename-header{width:65%}.items-header .filename-header.no-category{width:100%}.upload-item-row{display:flex;flex-direction:column;gap:16px;align-content:center;align-items:center;padding:16px 0 16px 0;border-bottom:1px solid rgb(225, 227, 230)}@media (min-width: 36em){.upload-item-row{flex-direction:row;gap:10px}}.upload-item-row .item-categories{width:100%}@media (min-width: 36em){.upload-item-row .item-categories{width:35%}}.upload-item-row .item-name{position:relative;bottom:2px;width:100%;text-align:left}@media (min-width: 36em){.upload-item-row .item-name{width:50%}.upload-item-row .item-name.no-category{width:85%}}.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:block}@media (min-width: 36em){.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:none}}.upload-item-row .item-actions{width:100%;margin-left:-8px;text-align:left}@media (min-width: 36em){.upload-item-row .item-actions{width:15%;padding-top:0;margin-left:auto;text-align:right}}.upload-item-row .duet-upload-item-name duet-icon{position:relative;top:4px}.upload-item-row .duet-upload-item-name duet-progress{display:block;margin-top:16px}";export{L as duet_editable_table,S as duet_table,C as duet_upload}
4
+ import{h as t,r as e,c as i,H as a,g as s,F as d}from"./p-a44381d5.js";import{i as l}from"./p-d48735b6.js";import{f as o,d as n}from"./p-3d8d557b.js";import{i as r}from"./p-cc1909de.js";import{a as h,c as u,d as b,g as p,s as m}from"./p-4883df66.js";import{n as c}from"./p-040f8831.js";import{p as g,s as f}from"./p-f1d51e20.js";import{b as y,a as v}from"./p-0b31864f.js";import{c as x}from"./p-45f71a69.js";import{g as w,a as k}from"./p-4669b0af.js";import"./p-1a395a8d.js";const T=({data:e,groupId:i,alignment:a})=>{const s=`duet-editable-table duet-editable-table-content-${i}`;return"string"==typeof e?t("td",{innerHTML:e,class:s,part:`${i}content`,style:{verticalAlign:a}}):t("td",{class:s,part:`${i}content`,style:{verticalAlign:a}},e)},L=class{constructor(t){e(this,t),this.duetTableToggle=i(this,"duetTableToggle",7),this.duetMenuClick=i(this,"duetMenuClick",7),this.hasHeadSlotFirst=!1,this.hasHeadSlotLast=!1,this.hasFootSlot=!1,this.sortableDefaultLabel={fi:"Järjestä",en:"Click to sort",sv:"Klicka för att sortera"},this.actionColumnLabel={en:"Actions for rows",fi:"Toiminnot rivillä",sv:"Åtgärder för rader"},this.toggleColumn=(t,e)=>{e.preventDefault();const{sort_order:i,direction:a,index:s,key:d}=t;this.duetTableToggle.emit({sort_order:i,index:s,direction:a,key:d,component:"duet-editable-table",originalEvent:e})},this.handleKeyDown=(t,e)=>{r(e)&&this.toggleColumn(t,e)},this.language=h(),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.actions=void 0,this.columns=void 0,this.rows=void 0,this.sortable=!1,this.groupId="",this.theme="",this.accessibleRole=void 0,this.hideHeadVisually=!1}componentWillLoad(){l(this),this.hasHeadSlotFirst=!!this.element.querySelector("[slot='thead-first']"),this.hasHeadSlotLast=!!this.element.querySelector("[slot='thead-last']"),this.hasFootSlot=!!this.element.querySelector("[slot='tfoot']")}componentDidLoad(){c(this)}connectedCallback(){u(this)}disconnectedCallback(){b(this)}createLabel(e){const{sort_order:i,direction:a,index:s,label:d}=e,l=p(d);return this.sortable?t("span",{class:"duet-table-label","data-index":s},t("duet-button",{size:"small",icon:i&&1===a?"action-arrow-down-small":i&&-1===a?"action-arrow-up-small":"action-subtract-small","icon-size":"medium-small","accessible-label":this.sortableDefaultLabel[this.language],variation:"plain",margin:"none","icon-right":!0,onClick:t=>this.toggleColumn(e,t),onKeyDown:t=>this.handleKeyDown(e,t)},l)):l}getSortedColumns(){return[...this.columns].sort(o(["index"]))}getRowSortOrder(){return[...this.columns].sort(o(["sort_order"])).filter((t=>t.sort_order)).map((t=>-1===t.direction?`-${t.key}`:t.key))}renderTableHeader(){if(!this.columns)return;const e=this.getSortedColumns();return t("tr",{class:{"duet-table-action-header":!!this.actions}},e.map((e=>{if(!1!==e.display){const i=this.createLabel(e);return""!==i?t("th",{scope:"col"},i):t("td",null)}})),this.actions&&t("th",{scope:"col",class:"duet-table-action-header-heading"},this.actions&&t("duet-visually-hidden",null,this.actionColumnLabel[this.language])))}renderActions(e,i){if(this.actions)return t("td",{class:"duet-text-right"},this.actions.map((a=>t("duet-action-button",{actionMeta:Object.assign({},(null==e?void 0:e.meta)||{},{index:i}),actionId:(null==e?void 0:e.uid)||(null==e?void 0:e.id)||null,actionName:a.name,theme:this.theme,iconName:a.icon,iconColor:a.color,iconSize:a.size,background:a.background,"accessible-label":`${e.actionDescription||""} ${p(a.label)} `}))))}renderTableBody(){const e=this.getSortedColumns(),i=this.getRowSortOrder();return[...this.rows].sort(o(i)).map(((i,a)=>t("tr",{class:{"duet-table-action-row":!!this.actions,"duet-editable-table-row":!0,[`duet-editable-table-row-${this.groupId}`]:!0},"data-meta":JSON.stringify(i.meta)},e.map((e=>{if(!1!==e.display)return t(T,{data:i[e.key]?i[e.key]:i.item,groupId:this.groupId})})),this.actions&&this.renderActions(i,a))))}render(){return t(a,{class:{[`duet-editable-table-${this.variation}`]:!0,"duet-editable-table":!0,[`duet-editable-table-${this.theme}`]:!0,"duet-editable-table-scrollable":"none-scrollable"===this.breakpoint,"duet-editable-table-sortable":this.sortable,"duet-editable-table-actions":!!this.actions,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme}},t("duet-table",{class:"duet-editable-table-table",sticky:this.sticky,stickyDistance:this.stickyDistance,margin:this.margin,theme:this.theme,variation:this.variation,breakpoint:this.breakpoint,"hide-head-visually":this.hideHeadVisually},t("table",{role:this.accessibleRole},t("caption",null,t("slot",{name:"tcaption"})),t("thead",null,this.hasHeadSlotFirst&&t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-first"}))),this.renderTableHeader(),this.hasHeadSlotLast&&t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-last"})))),t("tbody",null,this.renderTableBody()),this.hasFootSlot&&t("tfoot",null,t("tr",null,t("td",{class:"duet-editable-table-footer-menu",colSpan:99},t("slot",{name:"tfoot"})))))))}get element(){return s(this)}};L.style=".sc-duet-editable-table-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-editable-table-actions-menu.sc-duet-editable-table{position:relative;padding:0 !important;margin:0}.duet-editable-table-actions-menu-button.sc-duet-editable-table{position:relative;right:-16px;float:right;padding:0}.duet-editable-table-actions-menu-icon.sc-duet-editable-table .duet-icon.sc-duet-editable-table{max-width:16px;max-height:16px}.duet-editable-table-row.duet-table-action-row.sc-duet-editable-table .duet-text-right.sc-duet-editable-table{text-align:right}.duet-editable-table-header.sc-duet-editable-table tr.sc-duet-editable-table .duet-editable-table-header-hidden.sc-duet-editable-table{padding:0 !important;font-size:0;border-bottom:0}";const j={none:0,"with-links":16*parseFloat(g),"without-links":16*parseFloat(f)},S=class{constructor(t){e(this,t),this.headingSelector="thead tr > :not(*.duet-editable-table-actions-menu)",this.handleMediaQueryChange=t=>{this.matchesBreakpoint=y.includes(this.breakpoint)?!t.matches:t.matches},this.matchesBreakpoint=!0,this.language=h(),this.theme=void 0,this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.hideHeadVisually=!1}watchLanguageStateHandler(t,e){t!==e&&setTimeout((()=>this.copyHeadingsToCells()),50)}connectedCallback(){this.mq=matchMedia("none"===this.breakpoint||"none-scrollable"===this.breakpoint?"all":v[this.breakpoint]),this.mq.addEventListener("change",n(this.handleMediaQueryChange,50)),this.handleMediaQueryChange(this.mq),this.observer=new MutationObserver((()=>n(this.copyHeadingsToCells(),50))),this.observer.observe(this.element,{childList:!0,subtree:!0})}componentWillLoad(){if(l(this),this.copyHeadingsToCells(),this.sticky&&"none-scrollable"===this.breakpoint&&console.warn('[DUET WARNING]: sticky and breakpoint="none-scrollable" are incompatible. Scrollable takes precedence'),this.sticky){const t=j[this.stickyDistance];this.element.querySelectorAll(this.headingSelector).forEach((e=>e.style.top=`${t}px`))}}componentDidLoad(){this.observer&&this.observer.takeRecords(),u(this)}disconnectedCallback(){this.observer.disconnect(),this.observer=null,this.mq.removeListener(this.handleMediaQueryChange),this.mq=null,this.matchesBreakpoint=!0,b(this)}copyHeadingsToCells(){const t=this.element.querySelectorAll(this.headingSelector),e=this.element.querySelectorAll("tbody tr"),i=Array.from(t).map((t=>t.textContent.trim()));e.forEach((t=>{t.querySelectorAll("td").forEach(((t,e)=>{if(i[e]){const a=t.querySelector(".duet-table-cell-heading");if(!a||a.textContent!==i[e]){null==a||a.remove();const s=document.createElement("span");s.textContent=i[e],s.classList.add("duet-table-cell-heading"),s.setAttribute("aria-hidden","true"),s.inert=!0,t.prepend(s)}}}))}))}render(){return t(a,{class:{[`duet-table-${this.variation}`]:!0,"duet-table-flattened":!this.matchesBreakpoint,"duet-table-sticky":this.matchesBreakpoint&&this.sticky,"duet-table-scrollable":"none-scrollable"===this.breakpoint,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme,"duet-table-hide-head-visually":this.hideHeadVisually}},t("slot",null))}get element(){return s(this)}static get watchers(){return{language:["watchLanguageStateHandler"]}}};S.style='duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-table-hide-head-visually.duet-table-hide-head-visually thead,duet-table.duet-table-hide-head-visually.duet-table-hide-head-visually thead *{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}duet-table.duet-theme-turva table{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}duet-table td{-webkit-hyphens:auto;hyphens:auto;color:rgb(0, 41, 77)}duet-table.duet-theme-turva td{color:rgb(23, 28, 58)}duet-table th{font-weight:600;line-height:1.25;color:rgb(101, 119, 135);text-align:left}duet-table.duet-theme-turva th{color:rgb(116, 116, 117)}duet-table tbody th{font-weight:600;color:rgb(0, 41, 77)}duet-table.duet-theme-turva tbody th{color:rgb(23, 28, 58)}duet-table .duet-table-action-row td:last-child{justify-self:end;padding-right:20px !important;white-space:nowrap}duet-table span.duet-table-cell-heading{display:none}.duet-table-flattened table,.duet-table-flattened thead,.duet-table-flattened tbody,.duet-table-flattened tfoot,.duet-table-flattened th,.duet-table-flattened td,.duet-table-flattened tr{display:block}.duet-table-flattened thead tr{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-table-flattened td{line-height:1.25}.duet-table-flattened td:not(:last-child){margin-bottom:16px !important}.duet-table-flattened td span.duet-table-cell-heading{margin-bottom:4px !important;display:block;font-size:1rem;font-weight:600;color:rgb(0, 41, 77)}.duet-table-flattened.duet-theme-turva td span.duet-table-cell-heading{color:rgb(23, 28, 58)}.duet-table-flattened tbody td,.duet-table-flattened tbody th,.duet-table-flattened tfoot td{padding:0 !important;text-align:left !important}.duet-table-flattened tbody th{font-weight:600;line-height:1.25;color:rgb(101, 119, 135);text-align:left}.duet-table-sticky thead th{position:sticky;top:0;background:rgb(255, 255, 255)}.duet-table-striped td,.duet-table-striped th{padding:20px !important}@media (max-width: 35.9375em){.duet-table-striped td,.duet-table-striped th{padding:20px 12px !important}}.duet-table-striped tbody th{background:rgb(255, 255, 255)}.duet-table-striped.duet-table-sticky thead th{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-table-sticky.duet-theme-turva thead th{border-bottom-color:rgb(228, 228, 230)}.duet-table-striped tbody:not(:first-of-type) th{padding-top:40px !important}.duet-table-striped tbody:only-of-type tr:nth-of-type(odd){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tfoot td{border-top:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-theme-turva tfoot td{border-top-color:rgb(228, 228, 230)}.duet-table-striped.duet-table-flattened tbody:not(:first-of-type) th{padding-top:20px !important}.duet-table-striped.duet-table-flattened tr{padding:20px !important}.duet-table-striped.duet-table-flattened tfoot td{border-top:0}.duet-table-striped.duet-table-flattened tfoot tr{border-top:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr{border-top-color:rgb(228, 228, 230)}.duet-table-fixed th,.duet-table-minimal th,.duet-table-plain th{padding:16px !important;border-bottom:1px solid rgb(101, 119, 135)}.duet-table-fixed th:first-child,.duet-table-minimal th:first-child,.duet-table-plain th:first-child{padding-left:0 !important}.duet-table-fixed th:last-child,.duet-table-minimal th:last-child,.duet-table-plain th:last-child{padding-right:0 !important}.duet-theme-turva.duet-table-fixed th,.duet-theme-turva.duet-table-minimal th,.duet-theme-turva.duet-table-plain th{border-bottom-color:rgb(68, 68, 69)}.duet-table-fixed tbody th,.duet-table-minimal tbody th,.duet-table-plain tbody th{padding-top:40px !important;border-bottom-color:rgb(225, 227, 230)}.duet-theme-turva.duet-table-fixed tbody th,.duet-theme-turva.duet-table-minimal tbody th,.duet-theme-turva.duet-table-plain tbody th{border-bottom-color:rgb(228, 228, 230)}.duet-table-fixed td,.duet-table-minimal td,.duet-table-plain td{padding:16px !important}.duet-table-fixed td:first-child,.duet-table-minimal td:first-child,.duet-table-plain td:first-child{padding-left:0 !important}.duet-table-fixed td:last-child,.duet-table-minimal td:last-child,.duet-table-plain td:last-child{padding-right:0 !important}.duet-table-fixed tbody td,.duet-table-minimal tbody td,.duet-table-plain tbody td{border-bottom:1px solid rgb(225, 227, 230)}.duet-theme-turva.duet-table-fixed tbody td,.duet-theme-turva.duet-table-minimal tbody td,.duet-theme-turva.duet-table-plain tbody td{border-bottom-color:rgb(228, 228, 230)}.duet-table-flattened.duet-table-fixed tbody:first-of-type th,.duet-table-flattened.duet-table-minimal tbody:first-of-type th,.duet-table-flattened.duet-table-plain tbody:first-of-type th{padding-top:0 !important}.duet-table-flattened.duet-table-fixed td,.duet-table-flattened.duet-table-minimal td,.duet-table-flattened.duet-table-plain td,.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{border-bottom:0}.duet-table-flattened.duet-table-fixed tr,.duet-table-flattened.duet-table-minimal tr,.duet-table-flattened.duet-table-plain tr{padding:20px 0 !important}.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{padding-top:20px !important}.duet-table-flattened.duet-table-fixed tfoot td,.duet-table-flattened.duet-table-minimal tfoot td,.duet-table-flattened.duet-table-plain tfoot td{margin-bottom:4px !important}.duet-table-flattened.duet-table-fixed tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-minimal tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-plain tbody:not(:only-of-type) tr:first-child{border-bottom:0}.duet-table-plain.duet-table-flattened tbody tr{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr{border-bottom-color:rgb(228, 228, 230)}.duet-table-minimal tbody tr,.duet-table-minimal tbody tr td{vertical-align:top;border-bottom:0 none}.duet-table-minimal tbody tr:last-of-type,.duet-table-minimal tbody tr:last-of-type td{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-minimal.duet-table-flattened tbody tr,.duet-table-minimal.duet-table-flattened tbody tr td{border-bottom:0 none}.duet-table-minimal.duet-table-flattened tbody tr td[data-heading]::before{display:none}.duet-table-minimal.duet-table-flattened tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-fixed table{table-layout:fixed}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td,.duet-table-fixed tbody tr td:first-child{padding:4px !important;vertical-align:text-bottom;border-bottom:0 none}.duet-table-fixed thead{display:none}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td{border-bottom:0 none}.duet-table-fixed:not(.duet-table-flattened) tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-fixed:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-scrollable{position:relative;width:100%;overflow-x:auto;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;background-repeat:no-repeat;background-attachment:local, local, scroll, scroll;background-size:100px 100%, 100px 100%, 12px 100%, 12px 100%}.duet-table-selected-column{background:rgba(0, 119, 179, 0.08)}.duet-theme-turva .duet-table-selected-column{background:rgba(68, 68, 69, 0.08)}.duet-table-sortable tbody tr td:first-child,.duet-table-sortable thead tr th:first-child{padding:20px}.duet-table-sortable:not(.duet-table-flattened) tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-sortable:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-actions table{table-layout:auto}.duet-table-actions thead th:last-child{width:1px;white-space:nowrap}.duet-editable-table-table.duet-table-flattened tr{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:auto;gap:10px}.duet-editable-table-table.duet-table-flattened tr.duet-table-action-row td:last-child::before{padding:0;content:""}.duet-editable-table-table.duet-table-flattened td{grid-column:1/2}.duet-editable-table-table.duet-table-flattened td:first-child{grid-row:1;grid-column:1}.duet-editable-table-table.duet-table-flattened td:last-child{grid-row:1;grid-column:2}';const E=[{type:"default",system_message:"unknown error",message:{fi:"Tapahtui tuntematon virhe, ole hyvä ja yritä uudelleen.",sv:"Ett okänt fel uppstod, försök igen.",en:"An unknown error occured, please try again."}},{type:"400",system_message:"Bad Request: The server could not understand the request due to invalid syntax.",message:{fi:"Tiedostoa ei hyväksytty.",sv:"Servern avvisade din fil.",en:"The server rejected your file."}},{type:"401",system_message:"Not Authenticated: The client must authenticate itself to get the requested response...",message:{fi:"Vain kirjautunut käyttäjä voi lähettää tiedostoja.",sv:"Du måste vara inloggad för att ladda upp filer.",en:"You need to be logged in to upload files."}},{type:"403",system_message:"No Access: The client does not have access rights to the content.",message:{fi:"Ei oikeuksia lähettää tiedostoja.",sv:"Du har inte rätt åtkomsträttigheter för att ladda upp filer.",en:"You do not have the correct access rights to upload files."}},{type:"413",system_message:"Payload too large",message:{fi:"Tiedosto oli liian vastaanotettavaksi.",sv:"Filen var för stor för servern att hantera.",en:"The file was to large for the server to handle."}},{type:"415",system_message:"Unsupported media type",message:{fi:"Tiedoston tyyppi oli väärä.",sv:"Servern avvisade filen eftersom den hade fel typ.",en:"The server rejected the file because it had the wrong type."}},{type:"429",system_message:"Too many request from same address",message:{fi:"Liian monta yritystä, ole hyvä ja yritä myöhemmin uudelleen.",sv:"Servern har fått många förfrågningar från dig, försök igen senare.",en:"The server has received to many request from you, please try again later."}},{type:"500",system_message:"Internal Server Error",message:{fi:"Palvelin ilmoitti tuntemattomasta virheestä ja lataus epäonnistui.",sv:"Servern rapporterade ett okänt fel och uppladdningen misslyckades.",en:"The server reported an unknown error and the upload failed."}},{type:"duet-upload-100",system_message:"File extension not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den type.",en:"You cannot upload files with that extension."}},{type:"duet-upload-001",system_message:"File transfer failed",message:{fi:"Tiedoston lähetys keskeytyi, ole hyvä ja yritä uudelleen.",sv:"Din anslutning till servern avbröts, försök igen.",en:"Your connection to the server was interrupted, try again."}},{type:"duet-upload-101",system_message:"File mimetype not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den typ.",en:"You cannot upload files of that type."}},{type:"duet-upload-201",system_message:"File is too large",message:{fi:"Tiedosto on liian iso.",sv:"Filen är större än tillåtet.",en:"The file is larger than permitted."}},{type:"duet-upload-202",system_message:"The combined size of all files is too large",message:{fi:"Tiedostojen yhteenlaskettu koko on liian iso.",sv:"Du har nått den maximala kombinerade filstorleken.",en:"You have reached the maximum combined filesize."}},{type:"duet-upload-203",system_message:"Files to upload exceed total byte size limit",message:{fi:"Yritit lisätä tiedostoja, jotka ylittäisivät suurimman sallitun yhteenlasketun koon.",sv:"Du försökte lägga till filer som skulle överskrida den maximala kombinerade storleken.",en:"You tried to add files that would exceed the maximum combined size."}},{type:"duet-upload-301",system_message:"The maximum file limit has been reached",message:{fi:"Liitteiden maksimimäärä saavutettu.",sv:"Maximalt antal bilagor har uppnåtts.",en:"Maximum number of attachments reached."}},{type:"duet-upload-302",system_message:"Files to upload exceeds limits",message:{fi:"Et voi lähettää enempää kuin enimmäismäärän liitteitä.",sv:"Du kan inte ladda upp fler än det maximala antalet bilagor.",en:"You can't upload more than maximum number of attachments."}}],z={fi:"Liiteluettelo",sv:"Lista över bilagor",en:"Attachments list"},M=({label:e,categoryLabel:i})=>t("div",{class:"items-header",tabindex:"0","aria-label":p(z)},i&&t("duet-heading",{class:"category-header",border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none","aria-hidden":"true"},p(i)),t("duet-heading",{class:{"filename-header":!0,"no-category":!i},border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none","aria-hidden":"true"},p(e))),F=(t,e,i)=>{const{allowedMimetypes:a,allowedExtensions:s,maxBytes:d}=e;let l=!1,o=w("default",i);if(t){const{name:e,type:n,size:r}=t,h=((t,e)=>{if(!e||!t)return!0;const i=e.split(",");let a=!1;return i.forEach((e=>{const i=e.split("/"),s=t.split("/");i[0]!==s[0]||i[1]!==s[1]&&"*"!==i[1]||(a=!0)})),a})(n,a),u="all"===s||""===s||" "===s||void 0===s||((t,e)=>{if(!e)return!0;const i=t.split(".");return e.split(",").includes(i[i.length-1])})(e.toLowerCase(),s),b=((t,e)=>!e||!t||e>=t)(r,d);h||(o=w("duet-upload-101",i)),u||(o=w("duet-upload-100",i)),b||(o=w("duet-upload-201",i)),l=h&&u&&b}else l=!1;return{valid:l,errorMessage:l?void 0:p(o.message),errorSystem:l?void 0:o.system_message,errorType:l?void 0:o.type}},D=({payload:t,options:e,onFailure:i,onSuccess:a,onProgress:s})=>{const{type:d="POST",xhr:l,uri:o,argument:n=null,headers:r=null}=e;l.open(d,`${o}${n||""}`,!0);const{data:h,name:u}=t;return r&&Object.keys(r).forEach((t=>{l.setRequestHeader(t,r[t])})),"POST"===d&&(l.onreadystatechange=()=>{l.readyState===XMLHttpRequest.DONE&&l.status>=200&&l.status<300&&a(l,u,l.status),l.readyState===XMLHttpRequest.DONE&&l.status>=300&&l.status<999&&i(l,u,l.status)},s(u)),l.send(h),l},C=class{constructor(a){e(this,a),this.duetChange=i(this,"duetChange",3),this.duetBlur=i(this,"duetBlur",7),this.duetFocus=i(this,"duetFocus",7),this.duetReady=i(this,"duetReady",7),this.duetDone=i(this,"duetDone",3),this.duetState=i(this,"duetState",3),this.duetDelete=i(this,"duetDelete",3),this.duetCancel=i(this,"duetCancel",3),this.duetProgress=i(this,"duetProgress",3),this.duetUpload=i(this,"duetUpload",3),this.linkClick=i(this,"linkClick",3),this.buttonId=x("DuetButton"),this.labelId=x("DuetLabel"),this.uploadId=x("DuetUpload"),this.filesInProgress=new Map,this.fileMaxReached=!1,this.bytesMaxReached=!1,this.filesToUploadExceedsLimit=!1,this.filesToUploadTotalSizeIsAboveMax=!1,this.internalStatusMessageLabel=void 0,this.itemRefs=new Map,this.DefaultGroups={inprogress:"inprogress",success:"success",pending:"pending",failure:"failure"},this.kick=n((()=>{this.tick=Date.now()}),30),this.categoryLabel={en:"Category",sv:"Filtyp",fi:"Tiedostotyyppi"},this.listenForActionEvents=()=>{this.element.addEventListener("duetActionEvent",(t=>{const e=t.detail,{action:i,id:a,originalEvent:s}=e;switch(i){case"delete":this.onDelete(a,s);break;case"cancel":this.onCancel(a,s)}}))},this.verifyValidity=()=>{const{invalid:t,valid:e}=this.getFilesAsArray(),i=this.valid;this.valid=0===t.length&&0!==e.length,this.valid!==i&&this.duetState.emit({originalEvent:void 0,data:{valid:this.valid,from:"componentWillRender"},component:"duet-upload"})},this.getGroupFromItemData=t=>t.valid&&100===t.progress?this.DefaultGroups.success:t.progress>0&&100!==t.progress?this.DefaultGroups.inprogress:t.valid?t.pending?this.DefaultGroups.pending:t.group?t.group:"none":this.DefaultGroups.failure,this.mapFilesToUploadItems=(e,i,a,s)=>i===this.DefaultGroups.success?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,s),type:"success",data:e,showLinks:this.showLinks,linkClickEvent:this.emitEvent?this.linkClick:void 0,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.inprogress?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,s),type:"inprogress",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.pending?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,s),type:"pending",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.failure?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,s),type:"failure",data:e,showLinks:this.showLinks,errorCodes:this.errorCodes,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,ref:t=>{this.itemRefs.set(e.uid,t)}}):e.group?e.html:"none",this.genHashName=()=>Date.now().toString(36)+Math.random(),this.updateValueInMap=(t,e,i,a=!0)=>{try{const a=this.files.get(t);a[e]=i,this.files.set(t,a),this.external&&"url"!==e&&this.trackProgress(t,"uploaded"===e)}catch(t){}a&&this.kick()},this.updateProgress=(t,e)=>{t.lengthComputable?(i=>{this.updateValueInMap(e,"progress",i),this.onProgress(e,i,t)})(t.loaded/t.total*100):console.log("cant read progress")},this.trackProgress=(t,e=!1)=>{e?this.filesInProgress.delete(t):this.filesInProgress.set(t,"inprogress"),0===this.filesInProgress.size&&this.onDone()},this.getFilesAsArray=()=>{const t=[],e=[];return this.files.forEach((i=>{i.valid&&!i.deleted?t.push(i):i.valid||i.deleted||e.push(i)})),{valid:t,invalid:e}},this.resetFormFields=()=>{this.nativeInput.value=""},this.startUpload=async(t,e)=>{const{bytesMaxReached:i,fileMaxReached:a}=this.validateTotals();i||a?this.kick():(this.metaData=e,this.nativeInput.click(),this.onUpload(t,e),t.stopPropagation(),t.preventDefault())},this.transferComplete=t=>{this.updateValueInMap(t,"progress",100,!1),this.trackProgress(t,!0)},this.transferDone=(t,e,i)=>{this.updateValueInMap(e,"status",i,!1),this.updateValueInMap(e,"uploaded",!0,!1);try{const i=JSON.parse(t.response);this.updateValueInMap(e,"url",i.url)}catch(t){this.updateValueInMap(e,"url",null),console.error("Server did not respond with expected response {url: string}")}},this.transferDoneWithFailure=(t,e,i)=>{try{const{error:i}=JSON.parse(t.response);this.updateValueInMap(e,"error",{message:i.message,type:i.type},!1)}catch(t){console.error("Server did not respond with expected response error:{message: string, type: int}"),this.updateValueInMap(e,"error",{type:i},!1)}this.updateValueInMap(e,"valid",!1,!0)},this.transferFailed=t=>{this.updateValueInMap(t,"error",k("duet-upload-001",this.errorCodes))},this.transferCanceled=t=>{this.files.delete(t),this.validateTotals(t),this.kick()},this.validateTotals=t=>{const e=((t,e)=>{let i=0;return!!(e&&(this.files.forEach((t=>{t.valid&&t.size&&(i+=t.size)})),i>=e))})(0,this.maxBytesTotal),i=((t,e)=>{let i=0;return!!(e&&(this.files.forEach((t=>{t.valid&&i++})),i>=e))})(0,this.maxFiles);return e&&t&&this.updateValueInMap(t,"error",k("duet-upload-202",this.errorCodes),!1),i&&t&&this.updateValueInMap(t,"error",k("duet-upload-301",this.errorCodes),!1),this.bytesMaxReached=e,this.fileMaxReached=i,{bytesMaxReached:e,fileMaxReached:i}},this.uploadFile=async(t,e=!1,i)=>{!e&&this.deferUpload?(this.updateValueInMap(t.item.name,"pending",!0,!1),this.updateValueInMap(t.item.name,"group","pending",!0)):e&&(this.updateValueInMap(t.item.name,"pending",!1,!1),this.updateValueInMap(t.item.name,"group",void 0,!0));try{if(!this.deferUpload||e){const e=new FormData;e.append("file",t.item),i&&e.append("key",i),e.append("uid",t.uid),e.append("name",t.item.name),e.append("metadata",JSON.stringify({uid:t.uid,url:this.uri,size:t.item.size,meta:t.meta})),t.xhr=await this.makeXHRPostRequest(e)}}catch(e){this.updateValueInMap(t.item.name,"valid",!1,!1)}},this.uploadPendingFiles=()=>{for(const[t,e]of Array.from(this.files.entries()))"pending"===e.group&&!0===e.pending&&this.uploadFile(e,!0,t)},this.getItemFromUID=t=>{for(const[e,i]of Array.from(this.files.entries()))if(i.uid===t)return{value:i,key:e};return null},this.handleExternalUploadButton=(t,e)=>{this.externalUploadButton&&(this.externalUploadButton.disabled=!(!t&&!e))},this.onDelete=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:s,fileMaxReached:d}=this.validateTotals();this.handleExternalUploadButton(s,d),this.kick(),this.duetDelete.emit({originalEvent:e,data:{deletion:a},component:"duet-upload"}),this.external||a.pending||this.makeXHRDeleteRequest(a),this.resetFormFields()},this.onCancel=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:s,fileMaxReached:d}=this.validateTotals();if(this.handleExternalUploadButton(s,d),!this.external){const{xhr:t}=a;t&&t.abort()}this.kick(),this.resetFormFields(),this.duetCancel.emit({originalEvent:e,data:{cancelled:a},component:"duet-upload"})},this.onUpload=(t,e)=>{this.duetUpload.emit({originalEvent:t,metaData:e,component:"duet-upload"})},this.onBlur=t=>{this.duetBlur.emit({originalEvent:t,component:"duet-upload"})},this.onProgress=(t,e,i)=>{this.duetChange.emit({originalEvent:i,data:{key:t,percentComplete:e},component:"duet-upload"})},this.onFocus=t=>{this.duetFocus.emit({originalEvent:t,component:"duet-upload"})},this.onReady=()=>{this.duetReady.emit({component:"duet-upload"})},this.onDone=()=>{this.duetDone.emit({component:"duet-upload",data:{files:this.files}})},this.filterMap=()=>{const t=Array.from(this.files.values()),e=[],i=[],a=[],s=[];let d=!1;return t.forEach((t=>{const l=this.getGroupFromItemData(t);t.meta&&t.meta.badges&&(d=!0),l===this.DefaultGroups.success?s.push({uid:t.uid,data:t}):l===this.DefaultGroups.inprogress?e.push({uid:t.uid,data:t}):l===this.DefaultGroups.pending?a.push({uid:t.uid,data:t}):l===this.DefaultGroups.failure?i.push({uid:t.uid,data:t}):t.group&&e.push({uid:t.uid,data:t})})),{pending:a,failure:i,success:s,inprogress:e,hasCategory:d}},this.getActions=(t,e)=>e.filter((e=>e.map.includes(t))),this.renderUploadedItems=()=>{this.itemRefs.clear();const e=this.filterMap(),i=e.hasCategory,a=this.hideCancelButton?this.actions.filter((t=>"cancel"!==t.name)):this.actions,s=this.groups.map((s=>{const l=e[s.id];if(null==l?void 0:l.length)return t(d,null,!this.hideGroups&&t(M,{categoryLabel:i?this.categoryLabel:void 0,label:s.label}),l.map((t=>this.mapFilesToUploadItems(t.data,s.id,i,a))))}));return t(d,null,this.showUploadedItemsHeader&&t(M,{categoryLabel:i?this.categoryLabel:void 0,label:this.uploadedItemsHeaderLabel}),s)},this.tick=Date.now(),this.accessibleActiveDescendant=void 0,this.accessibleDescribedBy=void 0,this.accessibleControls=void 0,this.accessibleOwns=void 0,this.external=!1,this.middleware=null,this.deferUpload=!1,this.hideButton=!1,this.actions=[{icon:"action-delete",color:"color-danger",size:"x-small",background:"gray-lightest",name:"delete",map:["success","failure"],label:{fi:"Poista tiedosto",en:"Delete the file",sv:"Ta bort filen"}},{icon:"navigation-close",color:"primary",size:"x-small",background:"gray-lightest",name:"cancel",map:["inprogress","pending"],label:{fi:"Keskeytä lähetys",en:"Cancel the upload",sv:"Stop överföringen"}}],this.uri=void 0,this.showLinks=!1,this.caption=void 0,this.statusLabelDefaults={fi:{inProgress:"Lähetetään {filesUploaded}, yhteensä lähetettävänä {filesTotal}.",inProgressWithErrors:"Lähetetään {filesInProgress}, lähetetty {filesUploaded}, yhteensä lähetettävänä {filesTotal}, {filesWithErrors} epäonnistui",done:"Lähetys valmis, {filesTotal} lisätty onnistuneesti",doneWithErrors:"Lähetys valmis, {filesUploaded} lisätty onnistuneesti, {filesWithErrors} epäonnistui",files:"tiedostoa",file:"tiedosto"},sv:{inProgress:"Laddar upp {filesUploaded} av {filesTotal}",inProgressWithErrors:"Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",done:"Uppladdningen slutförd, {filesTotal} har lagts till",doneWithErrors:"Uppladdningen slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",files:"filer",file:"fil"},en:{inProgress:"Uploading {filesUploaded} of {filesTotal}",inProgressWithErrors:"Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",done:"Upload completed, {filesTotal} added successfully",doneWithErrors:"Upload completed, {filesUploaded} added successfully, {filesWithErrors} failed.",files:"files",file:"file"}},this.statusMessageLabel=p(this.statusLabelDefaults),this.buttonLabelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add an attachment"},this.buttonLabel=p(this.buttonLabelDefaults),this.accessibleButtonLabel=void 0,this.theme="",this.disabled=!1,this.identifier=void 0,this.margin="auto",this.required=!1,this.alignment="middle",this.hideGroups=!1,this.files=new Map,this.valid=!this.required,this.labelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add attachments"},this.label=p(this.labelDefaults),this.descriptionDefaults={en:"You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytestotal} of files at a time, and add up to {maxfiles} attachments at a time each no larger than {maxbytes}.",sv:"Du kan bifoga följande filtyper: {filetypes} - samt de vanligaste videofilerna. Du kan ladda upp {maxbytestotal} av filer åt gången, och lägga till upp till {maxfiles} bilagor åt gången varje inte större än {maxbytes}.",fi:"Voit liittää seuraavat tiedostotyypit: {filetypes} - sekä yleisimmät videotiedostot. Voit lähettää {maxbytestotal} tiedostoa kerrallaan, ja lisätä enintään {maxfiles} liitettä kerrallaan, jokainen enintään {maxbytes} kokoisena."},this.description=p(this.descriptionDefaults),this.fileListEmptyDefaults={fi:"Ei vielä lisättyjä tiedostoja.",sv:"Inga filer har lagts till ännu.",en:"No files added yet."},this.fileListEmpty=p(this.fileListEmptyDefaults),this.error="",this.errorCodes=E,this.name=void 0,this.maxBytes=2e8,this.maxBytesTotal=void 0,this.maxFiles=99,this.allowedExtensions="all",this.allowedMimetypes="",this.multiple=!0,this.limitSelection=!1,this.hideCancelButton=!1,this.value=void 0,this.externalUploadButtonId=void 0,this.captionOnBottom=!1,this.showUploadedItemsHeader=!1,this.uploadedItemsHeaderLabel={fi:"Ladattu tiedosto",sv:"Lägg till en bilaga",en:"Uploaded file"},this.headerHeadingLevel="h3",this.hideHeader=!1,this.emitEvent=!1,this.groups=[{id:this.DefaultGroups.success,label:{fi:"Valmiit tiedostot",sv:"Files success",en:"Files success"}},{id:this.DefaultGroups.failure,label:{fi:"Tiedostot, joissa on virheitä",sv:"Filer med fel",en:"Files with errors"}},{id:this.DefaultGroups.inprogress,label:{fi:"Kesken olevat tiedostot",sv:"Filer inprogress",en:"Files inprogress"}},{id:this.DefaultGroups.pending,label:{en:"Files to upload",sv:"Filer att ladda",fi:"Ladattavat tiedostot"}}]}watchValidHandler(t,e){t!==e&&this.kick()}componentWillLoad(){this.internalStatusMessageLabel="string"==typeof this.statusMessageLabel?m(this.groups):this.statusMessageLabel,l(this),this.listenForActionEvents(),this.onReady(),this.externalUploadButton=document.querySelector(`#${this.externalUploadButtonId}`)}componentDidLoad(){c(this)}componentWillRender(){this.verifyValidity()}async setFocus(t){this.nativeInput&&this.nativeInput.focus(t)}async upload(t){const{bytesMaxReached:e,fileMaxReached:i}=this.validateTotals();if(e||i)return this.handleExternalUploadButton(e,i),void this.kick();this.metaData=t,this.nativeInput.click()}async uploadPending(){this.uploadPendingFiles()}async refresh(){this.kick(),await this.setFocus()}async getFiles(){return!(!this.files||0===this.files.size)&&this.getFilesAsArray()}async updateValue(t,e,i){this.updateValueInMap(t,e,i)}async focusActionButton(t){var e;await(null===(e=this.itemRefs.get(t))||void 0===e?void 0:e.focusActionButton())}render(){const e=this.identifier||this.uploadId,i=Math.round((this.maxBytesTotal?this.maxBytesTotal:this.maxBytes*this.maxFiles)/1024/1024),s=Math.round(this.maxBytes/1024/1024);let l=this.description.replace(/{maxfiles}/g,this.maxFiles.toString());return l=l.replace(/{maxbytes}/g,`${s.toString()} MB`),l=l.replace(/{maxbytestotal}/g,`${i.toString()} MB`),l=l.replace(/{filetypes}/g,this.allowedExtensions.split(",").join(", ")),this.externalUploadButton&&(this.externalUploadButton.ariaLabel=l),t(a,{class:{"duet-m-0":"none"===this.margin}},t("duet-fieldset",{"label-heading-level":this.headerHeadingLevel,"label-hidden":this.hideHeader,label:this.label,caption:this.captionOnBottom?void 0:l},t("slot",{name:"header"}),!this.files.size&&t("duet-empty-state",{id:this.labelId,part:this.identifier?`${this.identifier}-empty-state`:"duet-upload-empty-state",icon:"messaging-attachment"},t("duet-paragraph",{margin:"none"},this.fileListEmpty)),!!this.files.size&&t("slot",{name:"fileheader"}),!!this.files.size&&t("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.renderUploadedItems(),!!this.files.size&&t("slot",{name:"filefooter"}),t("slot",{name:"uploadfooter"}),this.captionOnBottom&&t("duet-caption",{margin:"none",size:"small"},t("div",{class:"upload-bottom-caption"},l)),t("slot",{name:"afterfooter"}),!this.hideButton&&t(d,null,t("duet-spacer",{size:"large"}),t("duet-button",{id:this.buttonId,onClick:this.startUpload,"accessible-controls":e,disabled:this.fileMaxReached,"accessible-label":this.accessibleButtonLabel,"accessible-owns":e,size:"small",variation:"secondary",fixed:!0,icon:"action-add-circle",part:this.identifier?`${this.identifier}-button-upload`:"duet-upload-button-upload"},this.buttonLabel)),(this.fileMaxReached||this.bytesMaxReached||this.filesToUploadExceedsLimit||this.filesToUploadTotalSizeIsAboveMax)&&t(d,null,t("duet-spacer",{size:"medium"}),t("duet-alert",{part:this.identifier?`${this.identifier}-error-notification`:"duet-upload-error-notification"},this.fileMaxReached&&k("duet-upload-301",this.errorCodes),this.bytesMaxReached&&k("duet-upload-202",this.errorCodes),this.filesToUploadExceedsLimit&&k("duet-upload-302",this.errorCodes),this.filesToUploadTotalSizeIsAboveMax&&k("duet-upload-203",this.errorCodes))),t("duet-visually-hidden",{"aria-hidden":"true"},t("input",{ref:t=>{this.nativeInput=t},accept:this.limitSelection?`${this.allowedMimetypes},${this.allowedExtensions}`:void 0,onBlur:this.onBlur,onFocus:this.onFocus,onChange:t=>this.onChange(t),type:"file",class:{"duet-upload":!0},disabled:this.disabled,"aria-hidden":"true",required:this.required,name:this.name,id:this.identifier,multiple:this.multiple,tabIndex:-1}))))}makeXHRPostRequest(t){const e=new XMLHttpRequest,i=t.get("name");e.upload.addEventListener("progress",(t=>{this.updateProgress(t,i)})),e.upload.addEventListener("load",(()=>{this.transferComplete(i)})),e.upload.addEventListener("error",(()=>{this.transferFailed(i)})),e.upload.addEventListener("abort",(()=>{this.transferCanceled(i)}));let a={payload:{data:t,name:i},options:{type:"POST",uri:this.uri,xhr:e,argument:null,headers:void 0},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(a=this.middleware(a)),D(a)}makeXHRDeleteRequest(t){const{uid:e,item:i}=t,a=new XMLHttpRequest;let s={payload:{data:null,name},options:{type:"DELETE",xhr:a,uri:this.uri,argument:`?key=${e}&name=${i.name}`,headers:{"x-fileuid":e,"x-filename":i.name}},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(s=this.middleware(s)),D(s)}async onChange(t){var e;const i=Array.from(null===(e=this.nativeInput)||void 0===e?void 0:e.files);if(this.filesToUploadExceedsLimit=!1,this.files.size+i.length>this.maxFiles)return this.filesToUploadExceedsLimit=!0,void this.kick();if(this.filesToUploadTotalSizeIsAboveMax=!1,((t,e,i)=>{let a=0;return!!(i&&(this.files.forEach((t=>{t.valid&&t.size&&(a+=t.size)})),e.forEach((t=>{t.size&&(a+=t.size)})),a>=i))})(0,i,this.maxBytesTotal))return this.filesToUploadTotalSizeIsAboveMax=!0,void this.kick();if(i)for(const t of i){const{valid:e,errorMessage:i,errorType:a,errorSystem:s}=F(t,{maxBytes:this.maxBytes,allowedExtensions:this.allowedExtensions,allowedMimetypes:this.allowedMimetypes},this.errorCodes),d={uid:this.genHashName(),item:t,size:t.size,meta:this.metaData,uploaded:!1,valid:e,error:{type:e?void 0:a,message:e?void 0:i,system_message:e?void 0:s},progress:0,deleted:!1,xhr:!1,url:!1};this.files.set(t.name,d),e&&!this.external?await this.uploadFile(d):e&&this.external?(this.updateValueInMap(d.item.name,"pending",!0,!1),this.updateValueInMap(d.item.name,"group","pending",!0)):e||this.updateValueInMap(t.name,"valid",!1,!0),this.kick()}this.resetFormFields(),this.metaData=void 0,this.duetChange.emit({originalEvent:t,data:{files:this.files},component:"duet-upload"})}get element(){return s(this)}static get watchers(){return{valid:["watchValidHandler"]}}};C.style="*,*::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}::slotted([slot=header]){margin-bottom:16px}::slotted([slot=fileheader]){margin:16px 0 0 0}::slotted([slot=filefooter]){margin-top:16px}::slotted([slot=uploadfooter]){margin-top:20px}.duet-upload{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-upload-item-size{font-size:0.75rem;font-weight:400}.duet-upload-filelist{margin-bottom:25px}.duet-upload-filelist-empty{display:flex;align-items:center;justify-content:center;width:100%;height:75px;margin:0 auto;font-size:1rem;font-weight:400;background-color:rgb(245, 248, 250)}.duet-upload-filelist-empty-label{font-size:1rem;font-weight:400}.duet-upload-editable-table-header-hidden{display:none}.duet-upload-editable-table tbody .duet-upload-editable-table-data{padding:0 !important;border:0}.duet-upload-editable-table duet-editable-table tfoot,.duet-upload-editable-table duet-editable-table thead{display:none}.duet-upload-editable-table duet-editable-table .duet-editable-table-content{padding-right:0 !important;padding-left:0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td{padding:1rem 0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td:last-child{padding-right:0 !important}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending{position:relative}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-progress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-progress{position:absolute;bottom:0;width:100%}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-action-button::part(button),.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-action-button::part(button){border:0}duet-paragraph::part(duet-paragraph){word-break:break-word}duet-editable-table tfoot{display:none}.upload-bottom-caption{margin-top:12px;margin-bottom:16px;line-height:1.4rem}.items-header{display:none;flex-direction:row;margin-bottom:0}@media (min-width: 36em){.items-header{display:flex}}.items-header:not(:last-child),.items-header:not(:first-child){margin-top:12px}.items-header .category-header{width:35%}.items-header .filename-header{width:65%}.items-header .filename-header.no-category{width:100%}.upload-item-row{display:flex;flex-direction:column;gap:16px;align-content:center;align-items:center;padding:16px 0 16px 0;border-bottom:1px solid rgb(225, 227, 230)}@media (min-width: 36em){.upload-item-row{flex-direction:row;gap:10px}}.upload-item-row .item-categories{width:100%}@media (min-width: 36em){.upload-item-row .item-categories{width:35%}}.upload-item-row .item-name{position:relative;bottom:2px;width:100%;text-align:left}@media (min-width: 36em){.upload-item-row .item-name{width:50%}.upload-item-row .item-name.no-category{width:85%}}.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:block}@media (min-width: 36em){.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:none}}.upload-item-row .item-actions{width:100%;margin-left:-8px;text-align:left}@media (min-width: 36em){.upload-item-row .item-actions{width:15%;padding-top:0;margin-left:auto;text-align:right}}.upload-item-row .duet-upload-item-name duet-icon{position:relative;top:4px}.upload-item-row .duet-upload-item-name duet-progress{display:block;margin-top:16px}";export{L as duet_editable_table,S as duet_table,C as duet_upload}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import{r as e,c as t,h as d,g as r}from"./p-a44381d5.js";import{a as i}from"./p-f11208c3.js";import{D as o}from"./p-dade978b.js";import{i as u}from"./p-d48735b6.js";import{a,g as h,c as M,d as g}from"./p-4883df66.js";import{n}from"./p-040f8831.js";import{p as N}from"./p-1a395a8d.js";const m=class{constructor(d){e(this,d),this.duetClick=t(this,"duetClick",7),this.duetAnalytics=t(this,"duetAnalytics",7),this.handleClick=(e,t)=>{t&&t.analytics&&this.duetAnalytics.emit({component:"duet-hero",analyticsId:t.analytics}),this.emitChange(e,t)},this.processedListItems=null,this.processedActions=null,this.processedBack=null,this.theme="",this.heading="",this.preHeading="",this.level="h1",this.subHeadingLevel="h2",this.description="",this.icon="",this.iconSize="medium",this.iconRight=!1,this.categoryIcon="",this.categoryIconColor="category-pet",this.buttonLabel="",this.language=a(),this.accessibleLabelExternalDefaults=o,this.accessibleLabelExternal=h(this.accessibleLabelExternalDefaults),this.buttonUrl="#",this.buttonId="",this.buttonData=void 0,this.textCenter=!1,this.leftAlign=!1,this.image="",this.imageSize="auto",this.imagePosition="auto",this.variation="default",this.back=void 0,this.listItems=void 0,this.actions=void 0,this.layout="narrow"}componentWillLoad(){u(this),this.hasPreHeadingSlot=!!this.element.querySelector('[slot="pre-heading"]'),this.hasHeadingSlot=!!this.element.querySelector('[slot="heading"]'),this.hasSubHeadingSlot=!!this.element.querySelector('[slot="subheading"]'),this.refresh()}componentDidLoad(){n(this)}connectedCallback(){M(this,{prop:"accessibleLabelExternal",defaults:"accessibleLabelExternalDefaults"})}disconnectedCallback(){g(this)}async refresh(){this.processedListItems=N(this.listItems),this.processedActions=N(this.actions),this.processedBack=N(this.back)}emitChange(e,t){t||(t={}),this.buttonLabel&&(t.label=this.buttonLabel,t.href=this.buttonUrl,t.id=this.buttonId||"No ID defined via buttonId prop"),this.duetClick.emit({originalEvent:e,data:t,component:"duet-hero"})}render(){const e="campaign"===this.variation||"section"===this.variation,t="cover"===this.imageSize,r="center"===this.imagePosition,o={backgroundImage:`url(${this.image})`,backgroundSize:t?"cover":null,backgroundPosition:r?"center":null};let u="gray"===this.variation||"minimal"===this.variation?"h2":"h1";e?u="h0":"product"===this.variation&&(u="h1");let a="default"===this.variation?"gray-lightest":"";e&&(a="color-gray-lightest","turva"===this.theme&&(a="color-gray-lightest-turva"));let h="turva"===this.theme?"negative":"primary",M="primary-blue",g="gray-lightest",n="primary";return("light"===this.variation||"image"===this.variation||"gray"===this.variation||"minimal"===this.variation||e||"product"===this.variation||"content"===this.variation)&&(g="secondary","turva"===this.theme&&(g="secondary-turva",h="primary",n="color-primary-turva",M="color-primary-turva")),d("div",{role:"region",class:{"duet-hero":!0,"duet-theme-turva":"turva"===this.theme,"duet-has-category-icon":!!this.categoryIcon,"duet-hero-light":"light"===this.variation,"duet-hero-gray":"gray"===this.variation||"minimal"===this.variation,"duet-hero-minimal":"minimal"===this.variation,"duet-hero-with-image":"image"===this.variation,"duet-hero-has-image":!!this.image,"duet-hero-campaign":"campaign"===this.variation,"duet-hero-section":"section"===this.variation,"duet-hero-product":"product"===this.variation,"duet-hero-content":"content"===this.variation,"duet-hero-gray-with-actions":!!this.processedActions,"duet-hero-gray-with-back":!!this.processedBack,"duet-hero-text-center":this.textCenter&&!this.leftAlign||e,"duet-hero-left-align":this.leftAlign&&!e,"duet-hero-narrow":"narrow"===this.layout},part:"duet-hero"},e&&this.image&&d("div",{class:"background-area"},d("div",{class:"background-container"},d("div",{class:"background"},d("img",{class:`${t?"cover":""} ${r?"center":""}`,src:this.image,alt:"",role:"presentation"})),d("div",{class:"brand-shape"}))),"product"===this.variation&&this.image&&d("div",{class:{"background-area":!0,[this.layout]:!0}},d("div",{class:{"background-container":!0,[this.layout]:!0}},d("div",{class:{background:!0,[this.layout]:!0}},d("div",{class:{"background-mask":!0,[this.layout]:!0}}),"turva"!==this.theme&&d("div",{class:{"brand-shape":!0,[this.layout]:!0}}),d("div",{class:{"brand-shaped-image":!0,[this.layout]:!0}},d("div",{class:{"brand-shaped-image-wrapper":!0,[this.layout]:!0}},d("div",{class:{"brand-shaped-image-bg":!0,[this.layout]:!0},style:o}))),this.categoryIcon&&d("div",{class:{"brand-shaped-icon":!0,[this.layout]:!0}},d("duet-icon",{class:{[this.layout]:!0},background:"none",name:this.categoryIcon,margin:"none",size:"auto",responsive:!1}))))),"content"===this.variation&&this.image&&d("div",{class:"background-area"},d("div",{class:"background"},d("div",{class:"background-mask"}),"turva"!==this.theme&&d("div",{class:"brand-shape"}),d("div",{class:"brand-shaped-image"},d("div",{class:"brand-shaped-image-wrapper"},d("div",{class:"brand-shaped-image-bg",style:o}))))),d("div",{class:{"duet-hero-wrapper":!0,[this.layout]:!0}},this.image&&"image"===this.variation&&d("div",{class:"duet-hero-image-mask"},d("div",{class:"duet-hero-image-wrapper"},d("div",{class:"duet-hero-image",style:o}))),("gray"===this.variation||"light"===this.variation||"minimal"===this.variation)&&this.processedBack&&d("div",{class:"duet-hero-back"},d("duet-button",{style:{transform:"translateX(-8px)"},variation:"plain",icon:"action-arrow-left-small",theme:this.theme,iconSize:"small",color:n,padding:"none",margin:"none",fixed:!0,url:this.processedBack.href,identifier:this.processedBack.id,onClick:e=>this.handleClick(e,{label:this.processedBack.label,href:this.processedBack.href,id:this.processedBack.id,analyticsId:this.processedBack.analyticsId})},this.processedBack.label)),("gray"===this.variation||"minimal"===this.variation)&&this.categoryIcon&&d("duet-icon",{class:{"duet-hero-icon":!0,"duet-hero-icon-has-heading":""!==this.preHeading},size:"x-large",background:this.categoryIconColor,name:this.categoryIcon}),d("div",{class:{"duet-hero-text":!0},part:"duet-hero-text"},(this.preHeading||this.hasPreHeadingSlot)&&d("duet-paragraph",{margin:"none",class:"duet-hero-pre",size:"content"===this.variation?"small":"medium"},this.preHeading?this.preHeading:d("slot",{name:"pre-heading"})),d("slot",{name:"badge"}),(this.heading||this.hasHeadingSlot)&&d("duet-heading",{theme:this.theme,level:this.level,class:{"duet-hero-heading":!0,"duet-hero-heading-has-pre":""!==this.preHeading},color:a,visualLevel:u,margin:e?"none":"auto"},this.heading?this.heading:d("slot",{name:"heading"})),e&&this.hasSubHeadingSlot&&d("duet-heading",{theme:this.theme,level:this.subHeadingLevel,class:{"duet-hero-subheading":!0},color:"turva"===this.theme?"secondary-turva":"secondary",visualLevel:"h2"},d("slot",{name:"subheading"})),this.description&&d("duet-paragraph",{theme:this.theme,color:g,variation:"intro"},this.description),("gray"===this.variation||"minimal"===this.variation)&&this.processedListItems&&d("duet-list",{theme:this.theme,"label-width":"30",breakpoint:"large",mobile:this.leftAlign?void 0:"center"},this.processedListItems.map((e=>d("duet-list-item",null,d("span",{slot:"label"},e.label),d("span",{slot:"value"},e.value))))),this.buttonLabel&&d("duet-button",{url:this.buttonUrl,icon:this.icon,iconRight:this.iconRight,iconSize:this.iconSize,variation:h,theme:this.theme,identifier:this.buttonId,onClick:e=>this.handleClick(e,this.buttonData),fixed:!0},this.buttonLabel),d("span",{class:"duet-hero-slot-unnamed"},d("slot",null))),("gray"===this.variation||"minimal"===this.variation)&&this.processedActions&&d("div",{class:"duet-hero-links"},this.processedActions.map((e=>d("a",{class:"duet-hero-link",href:e.href,id:e.id,target:e.external?"_blank":"_self",onClick:t=>this.handleClick(t,e)},d("div",{class:"duet-hero-action-icon"},d("duet-icon",{size:"small",margin:"none",name:e.icon,color:"currentColor",outline:M})),d("span",null,e.label),e.external&&d("duet-visually-hidden",null,", ",this.accessibleLabelExternal),e.external&&d("div",{class:"duet-hero-action-arrow"},d("duet-icon",{icon:i.svg,size:"xx-small",margin:"none",color:"currentColor"})))))),this.image&&"image"!==this.variation&&!e&&"product"!==this.variation&&"content"!==this.variation&&d("div",{class:"duet-hero-image",style:o}),d("slot",{name:"bottom"})))}get element(){return r(this)}static get watchers(){return{back:["refresh"],listItems:["refresh"],actions:["refresh"]}}};m.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-hero{position:relative;display:block;width:100%;padding:48px 28px;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;text-decoration:none;text-shadow:none;text-transform:none;background:rgb(0, 41, 77)}.duet-hero.duet-p-0{padding:0 !important}.duet-hero.duet-m-0{margin:0 !important}.duet-hero.duet-hero-text-center{text-align:center !important}.duet-hero.duet-hero-light{padding-bottom:0 !important}@media (min-width: 62em){.duet-hero.duet-hero-light{padding-bottom:28px !important}}.duet-hero.duet-hero-with-image{padding-bottom:20px !important;margin-bottom:-36px}@media (min-width: 48em){.duet-hero.duet-hero-with-image{padding-bottom:28px !important}}@media (min-width: 62em){.duet-hero.duet-hero-with-image{padding-bottom:36px !important;margin-bottom:-20px}}.duet-hero.duet-hero-light,.duet-hero.duet-hero-with-image{color:rgb(0, 41, 77);background-color:rgb(255, 255, 255);background-image:linear-gradient(rgb(243, 249, 252), #f9fcfe)}.duet-hero.duet-hero-light::before,.duet-hero.duet-hero-with-image::before{position:absolute;top:100%;left:0;z-index:-1;width:100%;height:400px;content:"";background-image:linear-gradient(#f9fcfe, rgb(255, 255, 255))}.duet-hero.duet-hero-light.duet-theme-turva,.duet-hero.duet-hero-with-image.duet-theme-turva{color:rgb(23, 28, 58);background-image:linear-gradient(rgb(245, 245, 247), #fafafb)}.duet-hero.duet-hero-light.duet-theme-turva::before,.duet-hero.duet-hero-with-image.duet-theme-turva::before{background-image:linear-gradient(#fafafb, rgb(255, 255, 255))}.duet-hero.duet-hero-gray{color:rgb(0, 41, 77);background:rgb(245, 248, 250)}.duet-hero.duet-hero-gray.duet-theme-turva{background:rgb(245, 245, 247)}@media (min-width: 62em){.duet-hero.duet-hero-gray .duet-hero-text{display:inline-block;vertical-align:top}.duet-hero.duet-hero-gray .duet-hero-icon+.duet-hero-text{margin-left:28px}}@media (min-width: 62em){.duet-hero.duet-hero-gray-with-actions{padding-bottom:65.4545454545px}}@media (min-width: 62em){.duet-hero.duet-hero-gray-with-back{padding-top:72px}}.duet-hero.duet-hero-campaign,.duet-hero.duet-hero-section{padding:0 0 48px;margin:0;background:none}@media (min-width: 48em){.duet-hero.duet-hero-campaign,.duet-hero.duet-hero-section{min-height:490px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign,.duet-hero.duet-hero-section{min-height:540px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign,.duet-hero.duet-hero-section{min-height:620px}}.duet-hero.duet-hero-campaign .background-area,.duet-hero.duet-hero-section .background-area{height:1px;margin-bottom:-1px}.duet-hero.duet-hero-campaign .background-container,.duet-hero.duet-hero-section .background-container{position:absolute;right:0;left:0;display:grid;align-items:flex-start;justify-content:center;overflow:hidden}.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{display:flex;align-items:flex-start;justify-content:center;height:220px;margin:0 auto}.duet-hero.duet-hero-campaign .background img,.duet-hero.duet-hero-section .background img{height:100%}.duet-hero.duet-hero-campaign .background img.cover,.duet-hero.duet-hero-section .background img.cover{object-fit:cover}.duet-hero.duet-hero-campaign .background img.center,.duet-hero.duet-hero-section .background img.center{object-position:center}@media (min-width: 1440px){.duet-hero.duet-hero-campaign .background img,.duet-hero.duet-hero-section .background img{width:100%;height:auto}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:300px}}@media (min-width: 48em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:450px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:500px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:580px}}@media (min-width: 1600px){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{width:1600px;overflow:hidden}}.duet-hero.duet-hero-campaign .background .brand-container,.duet-hero.duet-hero-section .background .brand-container{position:relative;width:100%;height:100%;min-height:220px;overflow:hidden}.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{position:absolute;width:100%;height:220px;background-repeat:no-repeat;background-position:center center;background-size:cover}@media (min-width: 36em){.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{left:-200px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{left:auto;height:1100px;background-position:140% -200%}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{background-position:right -200%}}.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{position:absolute;top:143px;right:0;left:-30px;width:340px;height:340px;margin-right:auto;margin-left:auto;background:rgb(255, 255, 255);border-radius:20%;mix-blend-mode:normal;transform:rotate(8deg)}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:160px;width:450px;height:450px}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:215px;left:-50px;width:550px;height:550px}}@media (min-width: 48em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:250px;left:0;width:712.18px;height:712.18px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:240px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:280px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:310px}}.duet-hero.duet-hero-campaign .duet-hero-text,.duet-hero.duet-hero-section .duet-hero-text{width:100%}.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading),.duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading){font-size:36px}@media (min-width: 36em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading),.duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading){font-size:48px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading),.duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading){font-size:64px}}.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{margin:0 auto}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:90%}}@media (min-width: 25em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:80%}}@media (min-width: 30em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:70%}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:70%}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:52%}}.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{display:flex;align-items:center;height:6rem;padding:0 1rem;margin:1rem 0 4.5rem}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:2rem 0 4rem}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:3rem 0 8rem}}@media (min-width: 48em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:4rem 0 10rem}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:5rem 0 10rem}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:6rem 0 10rem}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:8rem 0 11rem}}.duet-hero.duet-hero-campaign .duet-hero-wrapper.fluid,.duet-hero.duet-hero-campaign .duet-hero-wrapper.narrow,.duet-hero.duet-hero-section .duet-hero-wrapper.fluid,.duet-hero.duet-hero-section .duet-hero-wrapper.narrow{padding:0 16px}.duet-hero.duet-hero-campaign.duet-theme-turva,.duet-hero.duet-hero-section.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";background:none}.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:125px;left:-10px;width:350px;height:350px;background:rgb(255, 255, 255);transform:none;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");mask-repeat:no-repeat}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:143px;left:-30px;width:450px;height:450px}}@media (min-width: 36em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:180px;left:0;width:550px;height:550px}}@media (min-width: 48em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:220px;width:712.18px;height:712.18px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:230px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:260px}}@media (min-width: 106.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:290px}}.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:98%}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:90%}}@media (min-width: 25em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:78%}}@media (min-width: 30em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:66%}}@media (min-width: 36em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:65%}}@media (min-width: 48em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:70%}}@media (min-width: 62em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:52%}}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:2rem 0 5rem}}@media (min-width: 36em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:3rem 0 8rem}}@media (min-width: 48em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:4rem 0 10rem}}@media (min-width: 62em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:5rem 0 10rem}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:6rem 0 12rem}}@media (min-width: 106.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:8rem 0 13rem}}@media (min-width: 48em){.duet-hero.duet-hero-section{min-height:490px}}@media (min-width: 62em){.duet-hero.duet-hero-section{min-height:auto}}@media (min-width: 76.25em){.duet-hero.duet-hero-section{min-height:560px}}@media (min-width: 62em){.duet-hero.duet-hero-section .background img{width:100%;height:auto}}@media (min-width: 62em){.duet-hero.duet-hero-section .background{width:1400px;height:436px;overflow:hidden}}@media (min-width: 76.25em){.duet-hero.duet-hero-section .background{width:1536px;height:516px}}@media (min-width: 106.25em){.duet-hero.duet-hero-section .background{width:1536px}}.duet-hero.duet-hero-product{position:relative;padding:0 0 48px;padding-top:236px;margin:0;background:rgb(255, 255, 255)}@media (min-width: 48em){.duet-hero.duet-hero-product{padding-top:250px}}@media (min-width: 62em){.duet-hero.duet-hero-product{min-height:375px;padding-top:0}.duet-hero.duet-hero-product.duet-hero-narrow{padding-top:200px}}.duet-hero.duet-hero-product .background-area{position:absolute;top:0;width:100%;height:600px;overflow:hidden}@media (min-width: 62em){.duet-hero.duet-hero-product .background-area{top:-112px}.duet-hero.duet-hero-product .background-area.narrow{top:0}}.duet-hero.duet-hero-product .background-container{position:absolute;top:-150px;width:100%;height:600px;overflow:hidden}@media (min-width: 62em){.duet-hero.duet-hero-product .background-container{top:-48px}.duet-hero.duet-hero-product .background-container.narrow{top:-160px}}.duet-hero.duet-hero-product .background{position:absolute;top:145px;width:100%;overflow:visible}.duet-hero.duet-hero-product .background .background-mask{display:none}@media (min-width: 48em){.duet-hero.duet-hero-product .background{top:130px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background{top:35px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background.narrow{top:140px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background:not(.narrow){position:absolute;right:0;left:0;max-width:1440px;height:100%;margin:0 auto}}.duet-hero.duet-hero-product .background .brand-shaped-image{position:absolute;top:-160px;right:-15%;z-index:0;width:375px;height:375px;overflow:hidden;border-radius:20%;transform:rotate(7deg)}@media (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shaped-image{right:15%}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-210px;width:485px;height:485px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-image:not(.narrow){top:-353px;right:-128.15px;width:520px;height:736px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-image:not(.narrow){width:736px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-image.narrow{right:30%}}.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-wrapper{position:relative;width:100%;height:100%}.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{position:absolute;bottom:0;left:50%;z-index:1;width:600px;height:256px;background-repeat:no-repeat;background-size:100%;transform:rotate(-7deg) translate(-50%, 0)}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:600px;height:320px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg:not(.narrow){width:800px;height:470px}}.duet-hero.duet-hero-product .background .brand-shape{position:absolute;top:-20px;right:50%;width:240px;height:240px;background:rgb(230, 242, 248);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shape{top:-60px;width:340px;height:340px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shape:not(.narrow){top:auto;top:79px;right:200px;width:380px;height:380px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shape:not(.narrow){right:414px;width:400px;height:400px}}.duet-hero.duet-hero-product .background .brand-shaped-icon{position:absolute;top:160px;right:15%;display:flex;align-items:center;justify-content:center;width:85px;height:85px;background:rgba(0, 119, 179, 0.75);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:180px;width:120px;height:120px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-icon:not(.narrow){top:292px;right:220px;width:150px;height:150px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-icon:not(.narrow){top:292px;right:220px;width:186px;height:186px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-icon.narrow{right:35%}}.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:80px;height:80px;transform:rotate(-7deg)}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon:not(.narrow){width:120px;height:120px}}.duet-hero.duet-hero-product .duet-hero-wrapper{max-width:100%;margin:0 auto}.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-text{margin-top:0}.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading{margin-top:1rem}@media (min-width: 48em){.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading{margin-top:2rem}}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading{margin-top:7rem}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading{margin-top:7rem}}.duet-hero.duet-hero-product .duet-hero-wrapper.fluid,.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{padding:0 16px}@media (min-width: 36em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid{padding:0 28px}}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid{padding:0 56px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid{max-width:1110px;padding:0}}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid .duet-hero-text{width:50%}}.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{max-width:888px}@media (min-width: 36em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{padding:0 48px}}@media (min-width: 48em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{padding:0 72px}}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow .duet-hero-text{width:80%}}.duet-hero.duet-hero-product.duet-theme-turva{background:rgb(255, 255, 255)}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva.duet-hero-narrow{padding-top:160px}}.duet-hero.duet-hero-product.duet-theme-turva .background .background-mask{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K");background-repeat:no-repeat}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background .background-mask{left:181px}}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-185px;right:0;left:0;width:485px;height:485px;margin:0 auto;border-radius:0;transform:none;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");mask-repeat:no-repeat}@media (min-width: 36em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{right:0}}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-165px;right:0}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image.narrow{right:40%;left:auto}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image:not(.narrow){top:-230px;right:-180px;left:auto;width:675px;height:675px;margin:0}}@media (min-width: 76.25em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image:not(.narrow){right:-120px;width:736px}}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image .brand-shaped-image-bg{width:600px;height:320px;transform:translate(-50%, 0)}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image .brand-shaped-image-bg{width:600px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image .brand-shaped-image-bg:not(.narrow){width:800px;height:470px}}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon{top:175px;background:rgba(198, 12, 48, 0.9);-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");mask-repeat:no-repeat;transform:rotate(0deg)}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon{position:relative;top:-10px;transform:rotate(0deg)}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon{top:-10px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon{top:-15px}}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon{top:180px;right:20%}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon{top:292px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon{top:292px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon.narrow{top:192px;right:35%}}@media (min-width: 76.25em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon.narrow{top:192px;right:40%}}@media (min-width: 76.25em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon:not(.narrow){right:340px}}.duet-hero.duet-hero-content{padding:0 0 48px;padding-top:236px;background:rgb(255, 255, 255)}@media (min-width: 48em){.duet-hero.duet-hero-content{padding-top:384px}}.duet-hero.duet-hero-content:not(.duet-hero-has-image){padding:72px 0 48px}.duet-hero.duet-hero-content .background-area{position:absolute;width:100%}.duet-hero.duet-hero-content .background{position:absolute;top:-236px;width:100%;height:600px;overflow:hidden}.duet-hero.duet-hero-content .background .background-mask{display:none}@media (min-width: 48em){.duet-hero.duet-hero-content .background{top:-384px}}.duet-hero.duet-hero-content .background .brand-shaped-image{position:absolute;top:-165px;right:0;left:30px;z-index:0;width:375px;height:375px;margin:0 auto;overflow:hidden;border-radius:20%;transform:rotate(7deg)}@media (min-width: 48em){.duet-hero.duet-hero-content .background .brand-shaped-image{top:-325px;left:250px;width:687px;height:687px}}.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-wrapper{position:relative;width:100%;height:100%}.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg{position:absolute;bottom:0;left:50%;z-index:1;width:600px;height:256px;background-repeat:no-repeat;background-size:100%;transform:rotate(-7deg) translate(-50%, 0)}@media (min-width: 48em){.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg{width:733px;height:413px}}.duet-hero.duet-hero-content .background .brand-shape{position:absolute;top:-25px;right:0;left:-300px;width:240px;height:240px;margin-right:auto;margin-left:auto;background:rgb(0, 119, 179);border-radius:20%;mix-blend-mode:normal;opacity:0.07;transform:rotate(7deg)}@media (min-width: 48em){.duet-hero.duet-hero-content .background .brand-shape{top:80px;left:-400px;width:373px;height:373px}}.duet-hero.duet-hero-content .duet-hero-wrapper{max-width:100%;margin:0 auto}.duet-hero.duet-hero-content .duet-hero-wrapper.fluid,.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{padding:0 16px}@media (min-width: 36em){.duet-hero.duet-hero-content .duet-hero-wrapper.fluid{padding:0 28px}}@media (min-width: 62em){.duet-hero.duet-hero-content .duet-hero-wrapper.fluid{padding:0 56px}}@media (min-width: 76.25em){.duet-hero.duet-hero-content .duet-hero-wrapper.fluid{max-width:1110px;padding:0}}.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{max-width:888px}@media (min-width: 36em){.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{padding:0 48px}}@media (min-width: 48em){.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{padding:0 72px}}.duet-hero.duet-hero-content .duet-hero-text{max-width:100%}@media (min-width: 62em){.duet-hero.duet-hero-content .duet-hero-text{width:80%}}.duet-hero.duet-hero-content .duet-hero-text .duet-hero-pre{margin-top:1rem;margin-bottom:0.5rem}@media (min-width: 62em){.duet-hero.duet-hero-content .duet-hero-text .duet-hero-pre{margin-top:1.5rem;margin-bottom:0}}.duet-hero.duet-hero-content.duet-theme-turva{background:rgb(255, 255, 255)}.duet-hero.duet-hero-content.duet-theme-turva .background-mask{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K");background-repeat:no-repeat}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .background-mask{left:181px}}.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image{top:-155px;right:0;left:0;width:420px;height:420px;margin:0 auto;border-radius:0;transform:none;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");mask-repeat:no-repeat}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image{top:-230px;width:687px;height:637px}}.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg{width:600px;height:280px;transform:translate(-50%, 0)}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg{width:733px;height:413px}}.duet-hero.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";background:rgb(198, 12, 48)}@media (min-width: 62em){.duet-hero{min-height:290px;padding:111.6px 56px;overflow:visible}}.duet-hero-icon{display:inline-block;vertical-align:top}@media (min-width: 62em){.duet-hero-icon{margin-top:-8px}}@media (min-width: 62em){.duet-hero-heading{margin-top:12px}}@media (min-width: 62em){.duet-hero-heading-has-pre{margin-top:0}}.duet-hero-wrapper{position:relative;width:100%;max-width:1110px;margin:0 auto;text-align:center}.duet-hero-left-align .duet-hero-wrapper{text-align:left}.duet-hero-with-image .duet-hero-wrapper{position:static}@media (min-width: 62em){.duet-hero-wrapper{text-align:left}}.duet-hero-text{max-width:50rem;margin:0 auto}.duet-hero-text-center .duet-hero-text{text-align:center !important}@media (min-width: 48em){.duet-hero-text{width:80%}.duet-hero-left-align .duet-hero-text{margin:0}}@media (min-width: 62em){.duet-hero-text{width:52%;max-width:none;margin-top:-10px;margin-left:0}.duet-hero-text-center .duet-hero-text{margin-left:auto}}.duet-hero:not(.duet-hero-with-image) .duet-hero-image{width:100%;max-width:400px;height:0;padding-bottom:50%;margin:28px auto 0;background-repeat:no-repeat;background-position:50% 50%;background-size:contain}@media (min-width: 36em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{padding-bottom:40%}}@media (min-width: 48em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{max-width:420px;padding-bottom:34%}.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image{max-width:540px}}@media (min-width: 62em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{position:absolute;top:50%;right:0;padding-bottom:30%;margin:0;transform:translateY(-50%)}.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image{right:-60px;padding-bottom:26%}.duet-hero-gray .duet-hero:not(.duet-hero-with-image) .duet-hero-image{right:-34px;padding-bottom:20%}}@media (min-width: 62em){.duet-hero-gray:not(.duet-hero-with-image) .duet-hero-image{right:-34px;padding-bottom:20%}}.duet-hero-image-wrapper{position:relative;width:80%;height:0;padding-bottom:80%;margin:-30px auto 36px;overflow:hidden;border-radius:28%;box-shadow:0 0 20px rgba(255, 255, 255, 0.5);transform:rotate(10deg)}.duet-theme-turva .duet-hero-image-wrapper{padding-bottom:68%;border-radius:44% 47% 38% 54%;transform:none}@media screen and (min-width: 440px){.duet-hero-image-wrapper{width:300px;padding-bottom:300px}.duet-theme-turva .duet-hero-image-wrapper{width:80%;padding-bottom:68%}}@media (min-width: 62em){.duet-hero-image-wrapper{position:absolute;top:-60px;right:-50px;width:470px;padding-bottom:470px;margin:0}.duet-theme-turva .duet-hero-image-wrapper{top:-40px;right:-80px;width:536px;padding-bottom:470px}}@media (min-width: 76.25em){.duet-hero-image-wrapper{top:-70px;right:-60px;width:600px;padding-bottom:600px}.duet-theme-turva .duet-hero-image-wrapper{top:-70px;right:-60px;width:650px;padding-bottom:600px}}@media screen and (min-width: 1450px){.duet-hero-image-wrapper{top:-70px;right:25px}.duet-theme-turva .duet-hero-image-wrapper{right:0}}.duet-hero-image-wrapper .duet-hero-image{position:absolute;top:-5%;left:-5%;width:110%;height:110%;background-repeat:no-repeat;background-position:50% 50%;background-size:cover;transform:rotate(-10deg)}.duet-theme-turva .duet-hero-image-wrapper .duet-hero-image{top:0;left:0;width:100%;height:100%;transform:none}.duet-hero-image-mask{position:relative;margin:-48px auto 0;overflow:hidden}@media (min-width: 62em){.duet-hero-image-mask{position:absolute;top:0;right:0;width:470px;height:460px;margin:0}}@media (min-width: 76.25em){.duet-hero-image-mask{width:650px;height:580px}}@media screen and (min-width: 1450px){.duet-hero-image-mask{right:50%;transform:translateX(110%)}.duet-theme-turva .duet-hero-image-mask{transform:translateX(108%)}}duet-heading+duet-button{margin-top:12px !important}.duet-hero-links{width:calc(100% + 56px);margin-top:48px;margin-left:-28px}.duet-hero-minimal .duet-hero-links{margin-top:28px}@media (min-width: 36em){.duet-hero-links{margin-top:72px}.duet-hero-minimal .duet-hero-links{margin-top:28px}}@media (min-width: 62em){.duet-hero-links{width:auto;margin:36px 0 0}.duet-hero-minimal .duet-hero-links{margin-top:28px}}.duet-hero-link{display:flex;align-items:center;width:100%;padding:16px 16px 8px;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.25;color:rgb(0, 119, 179);text-align:left;text-decoration:none;border-bottom:1px solid rgb(225, 227, 230);transition:background-color 300ms ease}.duet-hero-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-hero-link:focus,.duet-hero-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-hero-link:hover,.duet-hero-link:hover .duet-hero-action-arrow{color:rgb(0, 77, 128) !important;background:transparent !important}.duet-theme-turva .duet-hero-link:hover,.duet-theme-turva .duet-hero-link:hover .duet-hero-action-arrow{color:rgb(148, 9, 37) !important}.duet-theme-turva .duet-hero-link{color:rgb(198, 12, 48)}@media (min-width: 36em){.duet-hero-link{padding:16px 16px 16px 28px}}@media (min-width: 62em){.duet-hero-link{display:inline-flex;width:auto;max-width:350px;padding:0;margin:0 28px 16px 0;border:0;border-radius:4px}}.duet-hero-link:hover{background:rgba(0, 0, 0, 0.02)}@media (min-width: 62em){.duet-hero-link:hover{background:transparent}}.duet-hero-link:first-of-type{border-top:1px solid rgb(225, 227, 230)}@media (min-width: 62em){.duet-hero-link:first-of-type{margin-top:0;border:0}}.duet-hero-link:last-of-type{margin-bottom:-48px}@media (min-width: 62em){.duet-hero-link:last-of-type{margin-right:0;margin-bottom:0}}.duet-hero-link span{margin-top:-8px}@media (min-width: 36em){.duet-hero-link span{margin:0}}.duet-hero-action-icon{margin-right:8px}@media (min-width: 36em){.duet-hero-action-icon{margin-right:12px}}.duet-hero-action-arrow{margin:0 0 0 8px;color:rgb(0, 119, 179)}@media (max-width: 35.9375em){.duet-hero-action-arrow{margin-top:-9px}}.duet-theme-turva .duet-hero-action-arrow{color:rgb(198, 12, 48)}.duet-hero-back{margin-bottom:28px !important;display:flex;align-items:center;justify-content:center}.duet-hero-left-align .duet-hero-back{align-items:self-start;justify-content:flex-start}@media (min-width: 36em){.duet-hero-back{margin-bottom:36px !important}.duet-hero-minimal .duet-hero-back{margin-bottom:28px !important}}@media (min-width: 62em){.duet-hero-back{display:block}}.duet-hero-pre{display:inline-block;width:auto;margin-right:8px}.duet-hero-pre+duet-heading{margin-top:0 !important}';export{m as duet_hero}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{g as s}from"./p-03baceb5.js";import{p as e}from"./p-5a9d75e1.js";const t=(s,t)=>{let a={type:void 0,system_message:void 0,message:void 0};return a=(t=e(t)).filter((e=>e.type==s))[0],a||(a=t.filter((s=>"default"===s.type))[0]),a},a=(e,a)=>{const o=t(e,a),r=s(o.message);return""!==r&&r?r:o.system_message};export{a,t as g}
4
+ import{g as s}from"./p-4883df66.js";import{p as e}from"./p-1a395a8d.js";const t=(s,t)=>{let a={type:void 0,system_message:void 0,message:void 0};return a=(t=e(t)).filter((e=>e.type==s))[0],a||(a=t.filter((s=>"default"===s.type))[0]),a},a=(e,a)=>{const o=t(e,a),r=s(o.message);return""!==r&&r?r:o.system_message};export{a,t as g}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- System.register(["./p-9f97eb07.system.js","./p-33b3aba4.system.js","./p-fa5bcc42.system.js"],(function(e){"use strict";var t,r,o,a,n,d;return{setters:[function(e){t=e.r;r=e.h;o=e.H;a=e.g},function(e){n=e.i},function(e){d=e.n}],execute:function(){var g='*,*::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:rgb(0, 41, 77);text-align:center;word-break:break-word;vertical-align:middle;background:#d9ebf4;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:rgb(23, 28, 58);background:#e8e8eb}.duet-badge.warning{background:#fdecc9}.duet-badge.warning.duet-theme-turva{background:#fee8c3}.duet-badge.danger{background:#f8d3e0}.duet-badge.danger.duet-theme-turva{background:#f9d4cf}.duet-badge.success{background:#cce7de}.duet-badge.success.duet-theme-turva{background:#cee7dc}.duet-badge.subtle{color:rgb(101, 119, 135);background:none;outline:1px solid rgb(225, 227, 230);outline-offset:-1px}.duet-badge.subtle.duet-theme-turva{color:rgb(68, 68, 69);background:none;outline-color:rgb(228, 228, 230)}.duet-badge.background-strong.default{color:rgb(255, 255, 255);background:rgb(0, 119, 179)}.duet-badge.background-strong.default.duet-theme-turva{color:rgb(255, 255, 255);background:rgb(23, 28, 58)}.duet-badge.background-strong.warning{background:#f9c153}.duet-badge.background-strong.warning.duet-theme-turva{background:#fbb63f}.duet-badge.background-strong.danger{color:rgb(255, 255, 255);background:rgb(222, 35, 98)}.duet-badge.background-strong.danger.duet-theme-turva{color:rgb(255, 255, 255);background:rgb(224, 42, 13)}.duet-badge.background-strong.success{color:rgb(255, 255, 255);background:rgb(0, 135, 90)}.duet-badge.background-strong.success.duet-theme-turva{color:rgb(255, 255, 255);background:rgb(8, 135, 78)}.duet-badge.background-strong.subtle{border-color:rgb(207, 210, 212);outline-color:rgb(0, 41, 77)}.duet-badge.background-strong.subtle.duet-theme-turva{border-color:rgb(207, 207, 209);outline-color:rgb(23, 28, 58)}';var u=e("duet_badge",function(){function e(e){t(this,e);this.theme="";this.variation="default";this.background="normal";this.margin="auto"}e.prototype.componentWillLoad=function(){n(this)};e.prototype.componentDidLoad=function(){d(this)};e.prototype.render=function(){var e;var t="background-".concat(this.background);return r(o,{class:{"duet-m-0":this.margin==="none"}},r("div",{class:(e={"duet-badge":true},e[this.variation]=true,e[t]=true,e["duet-theme-turva"]=this.theme==="turva",e)},r("slot",null)))};Object.defineProperty(e.prototype,"element",{get:function(){return a(this)},enumerable:false,configurable:true});return e}());u.style=g}}}));
4
+ System.register(["./p-54e6e82f.system.js","./p-77b6e4ba.system.js","./p-c97109b5.system.js"],(function(e){"use strict";var t,r,o,a,n,d;return{setters:[function(e){t=e.r;r=e.h;o=e.H;a=e.g},function(e){n=e.i},function(e){d=e.n}],execute:function(){var g='*,*::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:rgb(0, 41, 77);text-align:center;word-break:break-word;vertical-align:middle;background:#d9ebf4;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:rgb(23, 28, 58);background:#e8e8eb}.duet-badge.warning{background:#fdecc9}.duet-badge.warning.duet-theme-turva{background:#fee8c3}.duet-badge.danger{background:#f8d3e0}.duet-badge.danger.duet-theme-turva{background:#f9d4cf}.duet-badge.success{background:#cce7de}.duet-badge.success.duet-theme-turva{background:#cee7dc}.duet-badge.subtle{color:rgb(101, 119, 135);background:none;outline:1px solid rgb(225, 227, 230);outline-offset:-1px}.duet-badge.subtle.duet-theme-turva{color:rgb(68, 68, 69);background:none;outline-color:rgb(228, 228, 230)}.duet-badge.background-strong.default{color:rgb(255, 255, 255);background:rgb(0, 119, 179)}.duet-badge.background-strong.default.duet-theme-turva{color:rgb(255, 255, 255);background:rgb(23, 28, 58)}.duet-badge.background-strong.warning{background:#f9c153}.duet-badge.background-strong.warning.duet-theme-turva{background:#fbb63f}.duet-badge.background-strong.danger{color:rgb(255, 255, 255);background:rgb(222, 35, 98)}.duet-badge.background-strong.danger.duet-theme-turva{color:rgb(255, 255, 255);background:rgb(224, 42, 13)}.duet-badge.background-strong.success{color:rgb(255, 255, 255);background:rgb(0, 135, 90)}.duet-badge.background-strong.success.duet-theme-turva{color:rgb(255, 255, 255);background:rgb(8, 135, 78)}.duet-badge.background-strong.subtle{border-color:rgb(207, 210, 212);outline-color:rgb(0, 41, 77)}.duet-badge.background-strong.subtle.duet-theme-turva{border-color:rgb(207, 207, 209);outline-color:rgb(23, 28, 58)}';var u=e("duet_badge",function(){function e(e){t(this,e);this.theme="";this.variation="default";this.background="normal";this.margin="auto"}e.prototype.componentWillLoad=function(){n(this)};e.prototype.componentDidLoad=function(){d(this)};e.prototype.render=function(){var e;var t="background-".concat(this.background);return r(o,{class:{"duet-m-0":this.margin==="none"}},r("div",{class:(e={"duet-badge":true},e[this.variation]=true,e[t]=true,e["duet-theme-turva"]=this.theme==="turva",e)},r("slot",null)))};Object.defineProperty(e.prototype,"element",{get:function(){return a(this)},enumerable:false,configurable:true});return e}());u.style=g}}}));
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- System.register(["./p-9f97eb07.system.js","./p-33b3aba4.system.js"],(function(e){"use strict";var a,t,r,i;return{setters:[function(e){a=e.r;t=e.h;r=e.H},function(e){i=e.i}],execute:function(){var n='*,*::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:inline-block;width:100%;height:100%;margin:5%}:host(.duet-theme-turva){margin:3%}:host(.duet-m-0){margin:0}.shaped-image{position:relative;display:inline-block;width:100%;height:100%}.shaped-image .shaped-image-mask{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:25%;transform:rotate(var(--rotation))}.shaped-image .shaped-image-mask .shaped-image-img{position:relative;display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:center;background-size:cover;transform:scale(1.07) rotate(calc(-1 * var(--rotation)));transform-origin:center}:host(.duet-theme-turva) .shaped-image .shaped-image-mask{transform:none;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");mask-repeat:no-repeat}:host(.duet-theme-turva) .shaped-image .shaped-image-mask .shaped-image-img{transform:none}';var s=e("duet_shaped_image",function(){function e(e){a(this,e);this.theme="";this.accessibleLabel=undefined;this.margin="auto";this.src=undefined;this.rotation=7}e.prototype.componentWillLoad=function(){i(this)};e.prototype.render=function(){var e={"--rotation":"".concat(this.rotation,"deg")};return t(r,{class:{"duet-theme-turva":this.theme==="turva","duet-m-0":this.margin==="none"}},t("span",{class:{"shaped-image":true},role:"img","aria-label":this.accessibleLabel,style:e},t("span",{class:"shaped-image-mask",role:"presentation"},t("span",{class:"shaped-image-img",role:"presentation",style:{backgroundImage:'url("'.concat(this.src,'")')}}))))};return e}());s.style=n}}}));
4
+ System.register(["./p-54e6e82f.system.js","./p-77b6e4ba.system.js"],(function(e){"use strict";var a,t,i,n;return{setters:[function(e){a=e.r;t=e.h;i=e.H},function(e){n=e.i}],execute:function(){var r='*,*::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:inline-block;width:100%;height:100%;margin:5%}:host(.duet-theme-turva){margin:3%}:host(.duet-m-0){margin:0}.shaped-image{position:relative;display:inline-block;width:100%;height:100%}.shaped-image .shaped-image-mask{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:25%;transform:rotate(var(--rotation))}.shaped-image .shaped-image-mask .shaped-image-img{position:relative;display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:center;background-size:cover;transform:scale(1.07) rotate(calc(-1 * var(--rotation)));transform-origin:center}:host(.duet-theme-turva) .shaped-image .shaped-image-mask{transform:none;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");mask-repeat:no-repeat}:host(.duet-theme-turva) .shaped-image .shaped-image-mask .shaped-image-img{transform:none}';var s=e("duet_shaped_image",function(){function e(e){a(this,e);this.theme="";this.accessibleLabel=undefined;this.margin="auto";this.src=undefined;this.rotation=7}e.prototype.componentWillLoad=function(){n(this)};e.prototype.render=function(){var e={"--rotation":"".concat(this.rotation,"deg")};return t(i,{class:{"duet-theme-turva":this.theme==="turva","duet-m-0":this.margin==="none"}},t("span",{class:{"shaped-image":true},role:"img","aria-label":this.accessibleLabel,style:e},t("span",{class:"shaped-image-mask",role:"presentation"},t("span",{class:"shaped-image-img",role:"presentation",style:{backgroundImage:'url("'.concat(this.src,'")')}}))))};return e}());s.style=r}}}));
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{c as e}from"./p-5a9d75e1.js";const t={fi:"fi-FI",en:"en-GB",us:"en-US",sv:"sv-SE"},n={fi:"€",en:"£",us:"$",sv:"€"},r=["fi","en","sv"],o="fi",a=()=>document.documentElement.lang?document.documentElement.lang.toLowerCase():o,s=(e=a())=>r.includes(e)?e:o,i=(e=a())=>s(e),c=e=>{const r={locale:t[e],money:n[e]};if(r.locale&&r.money)return r;throw new Error(`Locale for "${e}" not found`)},u=t=>{if("string"==typeof t)try{return JSON.parse(e(t))}catch(e){console.log("sanitizeString received a string, that didnt parse to json object",t,e)}return t},f=(e,t)=>{const n=u(e);return t?n[s(t)]:n[i()]},d=new Set,l=new WeakMap;new MutationObserver((e=>{let t=o;for(const n of e)if("attributes"===n.type&&"lang"===n.attributeName){t=n.oldValue;break}document.documentElement.dataset.duetLangObserve&&d.forEach((e=>{e.language&&(e.language=i()),l.has(e)&&l.get(e).forEach((n=>{e[n.defaults]&&e[n.prop]===e[n.defaults][t]&&(e[n.prop]=f(e[n.defaults]))}))}))})).observe(document.documentElement,{attributeFilter:["lang"],attributeOldValue:!0});const g=(e,t)=>{d.add(e),t&&(Array.isArray(t)||(t=[t]),t.some((t=>!(t.prop in e)||!(t.defaults in e)))&&(console.error("connectLanguageChangeObserver: component must have target.prop and target.defaults properties"),t=t.filter((t=>t.prop in e&&t.defaults in e))),l.set(e,t))},p=e=>{d.delete(e),l.delete(e)};export{i as a,c as b,g as c,p as d,f as g,u as s}
4
+ import{c as e}from"./p-1a395a8d.js";const t={fi:"fi-FI",en:"en-GB",us:"en-US",sv:"sv-SE"},n={fi:"€",en:"£",us:"$",sv:"€"},r=["fi","en","sv"],a="fi",o=()=>document.documentElement.lang?document.documentElement.lang.toLowerCase():a,s=(e=o())=>r.includes(e)?e:a,i=(e=o())=>s(e),c=e=>{const r={locale:t[e],money:n[e]};if(r.locale&&r.money)return r;throw new Error(`Locale for "${e}" not found`)},u=t=>{if("string"==typeof t)try{return JSON.parse(e(t))}catch(e){console.log("sanitizeString received a string, that didnt parse to json object",t,e)}return t},f=(e,t)=>{const n=u(e);return t?n[s(t)]:n[i()]},d=new Set,l=new WeakMap;new MutationObserver((e=>{let t=a;for(const n of e)if("attributes"===n.type&&"lang"===n.attributeName){t=n.oldValue;break}document.documentElement.dataset.duetLangObserve&&d.forEach((e=>{e.language&&(e.language=i()),l.has(e)&&l.get(e).forEach((n=>{e[n.defaults]&&e[n.prop]===e[n.defaults][t]&&(e[n.prop]=f(e[n.defaults]))}))}))})).observe(document.documentElement,{attributeFilter:["lang"],attributeOldValue:!0});const g=(e,t)=>{d.add(e),t&&(Array.isArray(t)||(t=[t]),t.some((t=>!(t.prop in e)||!(t.defaults in e)))&&(console.error("connectLanguageChangeObserver: component must have target.prop and target.defaults properties"),t=t.filter((t=>t.prop in e&&t.defaults in e))),l.set(e,t))},p=e=>{d.delete(e),l.delete(e)};export{i as a,c as b,g as c,p as d,f as g,u as s}
@@ -1,4 +1,4 @@
1
- var __awaiter=this&&this.__awaiter||function(t,e,o,r){function n(t){return t instanceof o?t:new o((function(e){e(t)}))}return new(o||(o=Promise))((function(o,i){function a(t){try{p(r.next(t))}catch(t){i(t)}}function l(t){try{p(r["throw"](t))}catch(t){i(t)}}function p(t){t.done?o(t.value):n(t.value).then(a,l)}p((r=r.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var o={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,n,i,a;return a={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function l(t){return function(e){return p([t,e])}}function p(l){if(r)throw new TypeError("Generator is already executing.");while(a&&(a=0,l[0]&&(o=0)),o)try{if(r=1,n&&(i=l[0]&2?n["return"]:l[0]?n["throw"]||((i=n["return"])&&i.call(n),0):n.next)&&!(i=i.call(n,l[1])).done)return i;if(n=0,i)l=[l[0]&2,i.value];switch(l[0]){case 0:case 1:i=l;break;case 4:o.label++;return{value:l[1],done:false};case 5:o.label++;n=l[1];l=[0];continue;case 7:l=o.ops.pop();o.trys.pop();continue;default:if(!(i=o.trys,i=i.length>0&&i[i.length-1])&&(l[0]===6||l[0]===2)){o=0;continue}if(l[0]===3&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(l[0]===6&&o.label<i[1]){o.label=i[1];i=l;break}if(i&&o.label<i[2]){o.label=i[2];o.ops.push(l);break}if(i[2])o.ops.pop();o.trys.pop();continue}l=e.call(t,o)}catch(t){l=[6,t];n=0}finally{r=i=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:true}}};
1
+ var __awaiter=this&&this.__awaiter||function(t,o,e,r){function n(t){return t instanceof e?t:new e((function(o){o(t)}))}return new(e||(e=Promise))((function(e,i){function a(t){try{s(r.next(t))}catch(t){i(t)}}function u(t){try{s(r["throw"](t))}catch(t){i(t)}}function s(t){t.done?e(t.value):n(t.value).then(a,u)}s((r=r.apply(t,o||[])).next())}))};var __generator=this&&this.__generator||function(t,o){var e={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,n,i,a;return a={next:u(0),throw:u(1),return:u(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function u(t){return function(o){return s([t,o])}}function s(u){if(r)throw new TypeError("Generator is already executing.");while(a&&(a=0,u[0]&&(e=0)),e)try{if(r=1,n&&(i=u[0]&2?n["return"]:u[0]?n["throw"]||((i=n["return"])&&i.call(n),0):n.next)&&!(i=i.call(n,u[1])).done)return i;if(n=0,i)u=[u[0]&2,i.value];switch(u[0]){case 0:case 1:i=u;break;case 4:e.label++;return{value:u[1],done:false};case 5:e.label++;n=u[1];u=[0];continue;case 7:u=e.ops.pop();e.trys.pop();continue;default:if(!(i=e.trys,i=i.length>0&&i[i.length-1])&&(u[0]===6||u[0]===2)){e=0;continue}if(u[0]===3&&(!i||u[1]>i[0]&&u[1]<i[3])){e.label=u[1];break}if(u[0]===6&&e.label<i[1]){e.label=i[1];i=u;break}if(i&&e.label<i[2]){e.label=i[2];e.ops.push(u);break}if(i[2])e.ops.pop();e.trys.pop();continue}u=o.call(t,e)}catch(t){u=[6,t];n=0}finally{r=i=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}};
2
2
  /*!
3
3
  * Built with Duet Design System
4
- */System.register(["./p-9f97eb07.system.js","./p-33b3aba4.system.js","./p-fa5bcc42.system.js","./p-fc1fee5c.system.js","./p-60b4b7c1.system.js"],(function(t){"use strict";var e,o,r,n,i,a,l,p,s;return{setters:[function(t){e=t.r;o=t.h;r=t.H;n=t.g;i=t.c},function(t){a=t.i},function(t){l=t.n},function(t){p=t.F},function(t){s=t.T}],execute:function(){var u='*,*::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}.duet-tooltip-button{z-index:100;display:inline-block;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 !important;margin-right:-12px;line-height:normal !important;color:rgb(0, 119, 179);white-space:nowrap;cursor:pointer;background:transparent !important;border-radius:4px}.duet-tooltip-button.duet-theme-turva{color:rgb(198, 12, 48)}.duet-tooltip-button:hover{color:rgb(0, 77, 128)}.duet-tooltip-button:hover.duet-theme-turva{color:rgb(148, 9, 37)}.duet-tooltip-button:focus{background:transparent !important;outline:0}:host(.user-is-tabbing) .duet-tooltip-button:focus{background:transparent !important;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3 !important}:host(.user-is-tabbing) .duet-tooltip-button.duet-theme-turva:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a !important}.duet-tooltip-button svg{width:20px;height:20px;pointer-events:none}.duet-tooltip-button-has-label{margin-right:0}.duet-tooltip-label{position:relative;z-index:100;display:inline-block;max-width:calc(100% - 30px);margin-left:12px !important;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:600;line-height:1.25;text-align:left;white-space:normal;vertical-align:top}.duet-theme-turva .duet-tooltip-label{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}';var c=t("duet_tooltip_button",function(){function t(t){e(this,t);this.label="";this.accessibleLabel=undefined;this.theme="";this.active=undefined;this.tooltipId=undefined}t.prototype.componentWillLoad=function(){a(this)};t.prototype.componentDidLoad=function(){l(this)};t.prototype.setFocus=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(this.buttonElement){this.buttonElement.focus(t)}return[2]}))}))};t.prototype.render=function(){var t=this;return o(r,null,o("button",{ref:function(e){return t.buttonElement=e},"aria-controls":this.tooltipId,"aria-expanded":this.active?"true":"false",type:"button",class:{"duet-tooltip-button":true,"duet-tooltip-button-has-label":!!this.label,"duet-theme-turva":this.theme==="turva"}},o("svg",{"aria-hidden":"true",role:"img",fill:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},o("path",{d:"m13.5 17.25c-1.241 0-2.25-1.009-2.25-2.25v-3.75h-.75c-.414 0-.75-.336-.75-.75s.336-.75.75-.75h.75c.827 0 1.5.673 1.5 1.5v3.75c0 .414.336.75.75.75h.75c.414 0 .75.336.75.75s-.336.75-.75.75z"}),o("circle",{cx:"11.625",cy:"7.125",r:"1.125"}),o("path",{d:"m12 24c-6.617 0-12-5.383-12-12s5.383-12 12-12 12 5.383 12 12-5.383 12-12 12zm0-22.5c-5.79 0-10.5 4.71-10.5 10.5s4.71 10.5 10.5 10.5 10.5-4.71 10.5-10.5-4.71-10.5-10.5-10.5z"})),this.label?o("span",{class:"duet-tooltip-label"},this.label):o("duet-visually-hidden",null,this.accessibleLabel)))};Object.defineProperty(t.prototype,"element",{get:function(){return n(this)},enumerable:false,configurable:true});return t}());c.style=u;var d='*,*::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:absolute;z-index:950}.duet-tooltip{position:relative;width:282px;min-height:48px;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 41, 77);visibility:hidden;background:rgb(255, 255, 255);border:1px solid rgb(225, 227, 230);border-radius:4px;box-shadow:0 2px 10px 0 rgba(0, 41, 77, 0.07);opacity:0;transition:300ms ease;transform-origin:100% 100%}.duet-tooltip.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 28, 58);border-color:rgb(228, 228, 230);box-shadow:0 2px 10px 0 rgba(117, 117, 117, 0.13)}.duet-tooltip .arrow{position:absolute;width:22px;height:22px;pointer-events:none}.duet-tooltip .arrow.bottom,.duet-tooltip .arrow.bottom-start,.duet-tooltip .arrow.bottom-end{top:-20px}.duet-tooltip .arrow-container{position:relative;left:4px;width:100%;height:100%;pointer-events:none}.duet-tooltip .arrow-container::after{position:absolute;z-index:200;width:0;height:0;pointer-events:none;content:""}.duet-tooltip .arrow-container::before{position:absolute;z-index:100;width:0;height:0;pointer-events:none;content:""}.duet-tooltip .arrow-container.top::after,.duet-tooltip .arrow-container.top-start::after,.duet-tooltip .arrow-container.top-end::after{bottom:2px;left:2px;border:10px solid transparent;border-top:10px solid rgb(255, 255, 255)}.duet-tooltip .arrow-container.top::before,.duet-tooltip .arrow-container.top-start::before,.duet-tooltip .arrow-container.top-end::before{bottom:-1px;left:1px;border:11px solid transparent;border-top:11px solid rgb(225, 227, 230)}.duet-theme-turva .duet-tooltip .arrow-container.top::before,.duet-theme-turva .duet-tooltip .arrow-container.top-start::before,.duet-theme-turva .duet-tooltip .arrow-container.top-end::before{border-top:11px solid rgb(228, 228, 230)}.duet-tooltip .arrow-container.bottom::after,.duet-tooltip .arrow-container.bottom-start::after,.duet-tooltip .arrow-container.bottom-end::after{bottom:1px;left:2px;border:10px solid transparent;border-bottom:10px solid rgb(255, 255, 255)}.duet-tooltip .arrow-container.bottom::before,.duet-tooltip .arrow-container.bottom-start::before,.duet-tooltip .arrow-container.bottom-end::before{bottom:1px;left:1px;border:11px solid transparent;border-bottom:11px solid rgb(225, 227, 230)}.duet-theme-turva .duet-tooltip .arrow-container.bottom::before,.duet-theme-turva .duet-tooltip .arrow-container.bottom-start::before,.duet-theme-turva .duet-tooltip .arrow-container.bottom-end::before{border-top:11px solid rgb(228, 228, 230)}.duet-tooltip.duet-tooltip-has-label{right:auto !important;left:0;width:282px !important;transform-origin:0 0 !important}.duet-tooltip.duet-tooltip-active{visibility:visible;opacity:1;transition-property:transform, opacity}.duet-tooltip-content-area{padding:20px !important;width:100%;padding-right:25px !important;overflow-y:auto;-webkit-hyphens:auto;hyphens:auto;border-radius:4px;-webkit-overflow-scrolling:touch}.duet-tooltip-content-area:focus{outline:none}:host(.user-is-tabbing) .duet-tooltip-content-area:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-tooltip-content-area:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-tooltip-content-area::-webkit-scrollbar{width:4px}.duet-tooltip-content-area::-webkit-scrollbar-track{border-radius:4px}.duet-tooltip-content-area::-webkit-scrollbar-thumb{background:rgb(225, 227, 230);border-radius:4px}.duet-theme-turva .duet-tooltip-content-area::-webkit-scrollbar-thumb{background:rgb(228, 228, 230)}.duet-tooltip-close{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:17px;height:17px;min-height:0 !important;padding:0 !important;margin:0 !important;line-height:normal;color:rgb(0, 41, 77);cursor:pointer;background:rgb(245, 248, 250);border-radius:50%;-webkit-appearance:none;appearance:none}.duet-tooltip-close:focus{outline:none;box-shadow:0 0 0 2px #0077b3 !important}.duet-theme-turva .duet-tooltip-close:focus{color:rgb(23, 28, 58);box-shadow:0 0 0 2px #171c3a !important}';var b=t("duet_tooltip_popup",function(){function t(t){var o=this;e(this,t);this.tooltipPopupClosed=i(this,"tooltipPopupClosed",7);this.handleCloseClick=function(){o.tooltipPopupClosed.emit()};this.theme="";this.active=undefined;this.tooltipId=undefined;this.arrowStyles=undefined;this.placement=undefined;this.accessibleCloseLabel=undefined}t.prototype.handleActiveChange=function(){if(this.active){this.teleport.go()}else{this.teleport.resume(200)}};t.prototype.componentWillLoad=function(){a(this);this.teleport=new s(this.element)};t.prototype.componentDidLoad=function(){l(this)};t.prototype.getArrowElement=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,this.arrowEl]}))}))};t.prototype.getContentElement=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,this.contentEl]}))}))};t.prototype.setFocusOnContentElement=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.contentEl.focus();return[2]}))}))};t.prototype.render=function(){var t,e;var n=this;return o(r,null,o("div",{class:{"duet-tooltip":true,"duet-theme-turva":this.theme==="turva","duet-tooltip-active":this.active===true}},o(p,{moveFocusTo:this.buttonEl}),o("div",{ref:function(t){return n.contentEl=t},class:"duet-tooltip-content-area",tabindex:0,id:this.tooltipId},o("slot",null)),o("div",{ref:function(t){return n.arrowEl=t},class:(t={arrow:true},t[this.placement]=true,t),style:this.arrowStyles},o("div",{class:(e={"arrow-container":true},e[this.placement]=true,e)})),o("button",{type:"button",class:"duet-tooltip-close",onClick:this.handleCloseClick,ref:function(t){return n.buttonEl=t}},o("duet-icon",{name:"navigation-close-small",margin:"none",color:"currentColor",size:"xxx-small"}),o("duet-visually-hidden",null,this.accessibleCloseLabel)),o(p,{moveFocusTo:this.contentEl})))};Object.defineProperty(t.prototype,"element",{get:function(){return n(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{active:["handleActiveChange"]}},enumerable:false,configurable:true});return t}());b.style=d}}}));
4
+ */System.register(["./p-54e6e82f.system.js","./p-77b6e4ba.system.js","./p-c97109b5.system.js","./p-83c33ce1.system.js","./p-ecf1f6cd.system.js"],(function(t){"use strict";var o,e,r,n,i,a,u,s,p;return{setters:[function(t){o=t.r;e=t.h;r=t.H;n=t.g;i=t.c},function(t){a=t.i},function(t){u=t.n},function(t){s=t.F},function(t){p=t.T}],execute:function(){var l='*,*::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}.duet-tooltip-button{z-index:100;display:inline-block;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 !important;margin-right:-12px;line-height:normal !important;color:rgb(0, 119, 179);white-space:nowrap;cursor:pointer;background:transparent !important;border-radius:4px}.duet-tooltip-button.duet-theme-turva{color:rgb(198, 12, 48)}.duet-tooltip-button:hover{color:rgb(0, 77, 128)}.duet-tooltip-button:hover.duet-theme-turva{color:rgb(148, 9, 37)}.duet-tooltip-button:focus{background:transparent !important;outline:0}:host(.user-is-tabbing) .duet-tooltip-button:focus{background:transparent !important;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3 !important}:host(.user-is-tabbing) .duet-tooltip-button.duet-theme-turva:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a !important}.duet-tooltip-button svg{width:20px;height:20px;pointer-events:none}.duet-tooltip-button-has-label{margin-right:0}.duet-tooltip-label{position:relative;z-index:100;display:inline-block;max-width:calc(100% - 30px);margin-left:12px !important;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:600;line-height:1.25;text-align:left;white-space:normal;vertical-align:top}.duet-theme-turva .duet-tooltip-label{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}';var d=t("duet_tooltip_button",function(){function t(t){o(this,t);this.label="";this.accessibleLabel=undefined;this.theme="";this.active=undefined;this.tooltipId=undefined}t.prototype.componentWillLoad=function(){a(this)};t.prototype.componentDidLoad=function(){u(this)};t.prototype.setFocus=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(o){if(this.buttonElement){this.buttonElement.focus(t)}return[2]}))}))};t.prototype.render=function(){var t=this;return e(r,null,e("button",{ref:function(o){return t.buttonElement=o},"aria-controls":this.tooltipId,"aria-expanded":this.active?"true":"false",type:"button",class:{"duet-tooltip-button":true,"duet-tooltip-button-has-label":!!this.label,"duet-theme-turva":this.theme==="turva"}},e("svg",{"aria-hidden":"true",role:"img",fill:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},e("path",{d:"m13.5 17.25c-1.241 0-2.25-1.009-2.25-2.25v-3.75h-.75c-.414 0-.75-.336-.75-.75s.336-.75.75-.75h.75c.827 0 1.5.673 1.5 1.5v3.75c0 .414.336.75.75.75h.75c.414 0 .75.336.75.75s-.336.75-.75.75z"}),e("circle",{cx:"11.625",cy:"7.125",r:"1.125"}),e("path",{d:"m12 24c-6.617 0-12-5.383-12-12s5.383-12 12-12 12 5.383 12 12-5.383 12-12 12zm0-22.5c-5.79 0-10.5 4.71-10.5 10.5s4.71 10.5 10.5 10.5 10.5-4.71 10.5-10.5-4.71-10.5-10.5-10.5z"})),this.label?e("span",{class:"duet-tooltip-label"},this.label):e("duet-visually-hidden",null,this.accessibleLabel)))};Object.defineProperty(t.prototype,"element",{get:function(){return n(this)},enumerable:false,configurable:true});return t}());d.style=l;var c='*,*::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:absolute;z-index:950}.duet-tooltip{position:relative;width:282px;min-height:48px;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 41, 77);visibility:hidden;background:rgb(255, 255, 255);border:1px solid rgb(225, 227, 230);border-radius:4px;box-shadow:0 2px 10px 0 rgba(0, 41, 77, 0.07);opacity:0;transition:300ms ease;transform-origin:100% 100%}.duet-tooltip.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 28, 58);border-color:rgb(228, 228, 230);box-shadow:0 2px 10px 0 rgba(117, 117, 117, 0.13)}.duet-tooltip .arrow{position:absolute;width:22px;height:22px;pointer-events:none}.duet-tooltip .arrow.bottom,.duet-tooltip .arrow.bottom-start,.duet-tooltip .arrow.bottom-end{top:-20px}.duet-tooltip .arrow-container{position:relative;left:4px;width:100%;height:100%;pointer-events:none}.duet-tooltip .arrow-container::after{position:absolute;z-index:200;width:0;height:0;pointer-events:none;content:""}.duet-tooltip .arrow-container::before{position:absolute;z-index:100;width:0;height:0;pointer-events:none;content:""}.duet-tooltip .arrow-container.top::after,.duet-tooltip .arrow-container.top-start::after,.duet-tooltip .arrow-container.top-end::after{bottom:2px;left:2px;border:10px solid transparent;border-top:10px solid rgb(255, 255, 255)}.duet-tooltip .arrow-container.top::before,.duet-tooltip .arrow-container.top-start::before,.duet-tooltip .arrow-container.top-end::before{bottom:-1px;left:1px;border:11px solid transparent;border-top:11px solid rgb(225, 227, 230)}.duet-theme-turva .duet-tooltip .arrow-container.top::before,.duet-theme-turva .duet-tooltip .arrow-container.top-start::before,.duet-theme-turva .duet-tooltip .arrow-container.top-end::before{border-top:11px solid rgb(228, 228, 230)}.duet-tooltip .arrow-container.bottom::after,.duet-tooltip .arrow-container.bottom-start::after,.duet-tooltip .arrow-container.bottom-end::after{bottom:1px;left:2px;border:10px solid transparent;border-bottom:10px solid rgb(255, 255, 255)}.duet-tooltip .arrow-container.bottom::before,.duet-tooltip .arrow-container.bottom-start::before,.duet-tooltip .arrow-container.bottom-end::before{bottom:1px;left:1px;border:11px solid transparent;border-bottom:11px solid rgb(225, 227, 230)}.duet-theme-turva .duet-tooltip .arrow-container.bottom::before,.duet-theme-turva .duet-tooltip .arrow-container.bottom-start::before,.duet-theme-turva .duet-tooltip .arrow-container.bottom-end::before{border-top:11px solid rgb(228, 228, 230)}.duet-tooltip.duet-tooltip-has-label{right:auto !important;left:0;width:282px !important;transform-origin:0 0 !important}.duet-tooltip.duet-tooltip-active{visibility:visible;opacity:1;transition-property:transform, opacity}.duet-tooltip-content-area{padding:20px !important;width:100%;padding-right:25px !important;overflow-y:auto;-webkit-hyphens:auto;hyphens:auto;border-radius:4px;-webkit-overflow-scrolling:touch}.duet-tooltip-content-area:focus{outline:none}:host(.user-is-tabbing) .duet-tooltip-content-area:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-tooltip-content-area:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-tooltip-content-area::-webkit-scrollbar{width:4px}.duet-tooltip-content-area::-webkit-scrollbar-track{border-radius:4px}.duet-tooltip-content-area::-webkit-scrollbar-thumb{background:rgb(225, 227, 230);border-radius:4px}.duet-theme-turva .duet-tooltip-content-area::-webkit-scrollbar-thumb{background:rgb(228, 228, 230)}.duet-tooltip-close{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:17px;height:17px;min-height:0 !important;padding:0 !important;margin:0 !important;line-height:normal;color:rgb(0, 41, 77);cursor:pointer;background:rgb(245, 248, 250);border-radius:50%;-webkit-appearance:none;appearance:none}.duet-tooltip-close:focus{outline:none;box-shadow:0 0 0 2px #0077b3 !important}.duet-theme-turva .duet-tooltip-close:focus{color:rgb(23, 28, 58);box-shadow:0 0 0 2px #171c3a !important}';var b=t("duet_tooltip_popup",function(){function t(t){var e=this;o(this,t);this.tooltipPopupClosed=i(this,"tooltipPopupClosed",7);this.handleCloseClick=function(){e.tooltipPopupClosed.emit()};this.theme="";this.active=undefined;this.tooltipId=undefined;this.arrowStyles=undefined;this.placement=undefined;this.accessibleCloseLabel=undefined}t.prototype.handleActiveChange=function(){if(this.active){this.teleport.go()}else{this.teleport.resume(200)}};t.prototype.componentWillLoad=function(){a(this);this.teleport=new p(this.element)};t.prototype.componentDidLoad=function(){u(this)};t.prototype.getArrowElement=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,this.arrowEl]}))}))};t.prototype.getContentElement=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,this.contentEl]}))}))};t.prototype.setFocusOnContentElement=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.contentEl.focus();return[2]}))}))};t.prototype.render=function(){var t,o;var n=this;return e(r,null,e("div",{class:{"duet-tooltip":true,"duet-theme-turva":this.theme==="turva","duet-tooltip-active":this.active===true}},e(s,{moveFocusTo:this.buttonEl}),e("div",{ref:function(t){return n.contentEl=t},class:"duet-tooltip-content-area",tabindex:0,id:this.tooltipId},e("slot",null)),e("div",{ref:function(t){return n.arrowEl=t},class:(t={arrow:true},t[this.placement]=true,t),style:this.arrowStyles},e("div",{class:(o={"arrow-container":true},o[this.placement]=true,o)})),e("button",{type:"button",class:"duet-tooltip-close",onClick:this.handleCloseClick,ref:function(t){return n.buttonEl=t}},e("duet-icon",{name:"navigation-close-small",margin:"none",color:"currentColor",size:"xxx-small"}),e("duet-visually-hidden",null,this.accessibleCloseLabel)),e(s,{moveFocusTo:this.contentEl})))};Object.defineProperty(t.prototype,"element",{get:function(){return n(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{active:["handleActiveChange"]}},enumerable:false,configurable:true});return t}());b.style=c}}}));