@duetds/components 10.0.0-alpha.23 → 10.0.0-alpha.25

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 (418) hide show
  1. package/hydrate/index.js +414 -261
  2. package/hydrate/index.mjs +414 -261
  3. package/lib/cjs/{a11y-utils-aMJTxbM9.js → a11y-utils-BeS3x4Hg.js} +1 -1
  4. package/lib/cjs/{app-globals-DN9e0v8L.js → app-globals-BvljEFtV.js} +1 -1
  5. package/lib/cjs/duet-action-button.cjs.entry.js +4 -4
  6. package/lib/cjs/duet-alert.cjs.entry.js +4 -4
  7. package/lib/cjs/duet-badge.cjs.entry.js +4 -4
  8. package/lib/cjs/duet-banner.cjs.entry.js +7 -7
  9. package/lib/cjs/duet-breadcrumb.cjs.entry.js +7 -7
  10. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +6 -6
  11. package/lib/cjs/duet-button_2.cjs.entry.js +12 -12
  12. package/lib/cjs/duet-callout.cjs.entry.js +5 -5
  13. package/lib/cjs/duet-caption_4.cjs.entry.js +13 -12
  14. package/lib/cjs/duet-card.cjs.entry.js +4 -4
  15. package/lib/cjs/duet-checkbox.cjs.entry.js +2 -2
  16. package/lib/cjs/duet-checkmark.cjs.entry.js +4 -4
  17. package/lib/cjs/duet-chip.cjs.entry.js +3 -3
  18. package/lib/cjs/duet-choice_2.cjs.entry.js +6 -6
  19. package/lib/cjs/duet-collapsible.cjs.entry.js +4 -4
  20. package/lib/cjs/duet-combobox.cjs.entry.js +4 -4
  21. package/lib/cjs/duet-contact-card.cjs.entry.js +5 -5
  22. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  23. package/lib/cjs/duet-date-picker.cjs.entry.js +6 -6
  24. package/lib/cjs/duet-divider_2.cjs.entry.js +4 -4
  25. package/lib/cjs/duet-editable-table_3.cjs.entry.js +9 -9
  26. package/lib/cjs/duet-empty-state.cjs.entry.js +2 -2
  27. package/lib/cjs/duet-fieldset.cjs.entry.js +6 -6
  28. package/lib/cjs/duet-file-chooser.cjs.entry.js +2 -2
  29. package/lib/cjs/duet-footer.cjs.entry.js +4 -4
  30. package/lib/cjs/duet-grid_2.cjs.entry.js +4 -4
  31. package/lib/cjs/duet-header_2.cjs.entry.js +54 -12
  32. package/lib/cjs/duet-hero.cjs.entry.js +4 -4
  33. package/lib/cjs/duet-icon.cjs.entry.js +7 -7
  34. package/lib/cjs/duet-input_2.cjs.entry.js +7 -7
  35. package/lib/cjs/duet-layout.cjs.entry.js +2 -2
  36. package/lib/cjs/duet-list_2.cjs.entry.js +4 -4
  37. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +4 -4
  38. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +4 -4
  39. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +6 -6
  40. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +7 -7
  41. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +4 -4
  42. package/lib/cjs/duet-menu-bar.cjs.entry.js +10 -42
  43. package/lib/cjs/duet-modal.cjs.entry.js +37 -20
  44. package/lib/cjs/duet-multiselect.cjs.entry.js +10 -10
  45. package/lib/cjs/duet-nav.cjs.entry.js +3 -3
  46. package/lib/cjs/duet-notification_2.cjs.entry.js +7 -7
  47. package/lib/cjs/duet-number-input.cjs.entry.js +14 -9
  48. package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
  49. package/lib/cjs/duet-page-heading.cjs.entry.js +5 -5
  50. package/lib/cjs/duet-pagination_2.cjs.entry.js +17 -17
  51. package/lib/cjs/duet-panel.cjs.entry.js +53 -0
  52. package/lib/cjs/duet-phone-input.cjs.entry.js +4 -4
  53. package/lib/cjs/duet-popup-menu_2.cjs.entry.js +6 -6
  54. package/lib/cjs/duet-progress.cjs.entry.js +3 -3
  55. package/lib/cjs/duet-promo-card.cjs.entry.js +6 -6
  56. package/lib/cjs/duet-radio_2.cjs.entry.js +7 -7
  57. package/lib/cjs/duet-range-slider.cjs.entry.js +6 -6
  58. package/lib/cjs/duet-scrollable_3.cjs.entry.js +16 -16
  59. package/lib/cjs/duet-section-layout.cjs.entry.js +4 -4
  60. package/lib/cjs/duet-select.cjs.entry.js +9 -9
  61. package/lib/cjs/duet-shaped-image.cjs.entry.js +4 -4
  62. package/lib/cjs/duet-share-chart-item.cjs.entry.js +2 -2
  63. package/lib/cjs/duet-share-chart.cjs.entry.js +7 -7
  64. package/lib/cjs/duet-show-more.cjs.entry.js +5 -5
  65. package/lib/cjs/duet-slideout-lang.cjs.entry.js +4 -4
  66. package/lib/cjs/duet-slideout-link.cjs.entry.js +7 -7
  67. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +6 -6
  68. package/lib/cjs/duet-slideout-panel.cjs.entry.js +12 -12
  69. package/lib/cjs/duet-slideout.cjs.entry.js +10 -10
  70. package/lib/cjs/duet-status-icon.cjs.entry.js +4 -4
  71. package/lib/cjs/duet-step_2.cjs.entry.js +6 -6
  72. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +4 -4
  73. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +7 -7
  74. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +6 -6
  75. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +3 -3
  76. package/lib/cjs/duet-submenu-bar.cjs.entry.js +8 -8
  77. package/lib/cjs/duet-textarea.cjs.entry.js +8 -8
  78. package/lib/cjs/duet-toggle.cjs.entry.js +6 -6
  79. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +4 -4
  80. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +6 -6
  81. package/lib/cjs/duet-toolbar-item.cjs.entry.js +8 -8
  82. package/lib/cjs/duet-toolbar-link.cjs.entry.js +4 -4
  83. package/lib/cjs/duet-toolbar.cjs.entry.js +4 -4
  84. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +8 -8
  85. package/lib/cjs/duet-tooltip.cjs.entry.js +5 -5
  86. package/lib/cjs/duet-tray.cjs.entry.js +5 -5
  87. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
  88. package/lib/cjs/duet-upload-item.cjs.entry.js +6 -6
  89. package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
  90. package/lib/cjs/duet.cjs.js +3 -3
  91. package/lib/cjs/{errorcodes.utils-CSxc4txc.js → errorcodes.utils-CwTzu57-.js} +1 -1
  92. package/lib/cjs/{focus-utils-R3gIGr8k.js → focus-utils-Dh4b8BiX.js} +1 -1
  93. package/lib/cjs/{index-cypK_uRu.js → index-D3O_5Hr7.js} +5 -1
  94. package/lib/cjs/{label-61f_b8fi.js → label-8AXhdqJy.js} +1 -1
  95. package/lib/cjs/{language-utils-DIDyCgUk.js → language-utils-CMK9eR4Q.js} +1 -1
  96. package/lib/cjs/loader.cjs.js +3 -3
  97. package/lib/cjs/{slot-utils-BC5Q3UDm.js → slot-utils-BIdgEejh.js} +1 -1
  98. package/lib/cjs/{themeable-component-BWW4XmUY.js → themeable-component-B3llZmjN.js} +14 -2
  99. package/lib/cjs/{token-utils-CHLLcMzU.js → token-utils-DsVwGXGM.js} +75 -7
  100. package/lib/cjs/{tokens-DYbf8HFV.js → tokens-D7zqZKjQ.js} +0 -1
  101. package/lib/collection/collection-manifest.json +1 -0
  102. package/lib/collection/common/themeable-component.js +13 -1
  103. package/lib/collection/components/duet-badge/duet-badge.js +2 -2
  104. package/lib/collection/components/duet-banner/duet-banner.css +1 -0
  105. package/lib/collection/components/duet-banner/duet-banner.js +3 -3
  106. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
  107. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
  108. package/lib/collection/components/duet-button/duet-button.css +19 -4
  109. package/lib/collection/components/duet-button/duet-button.js +5 -5
  110. package/lib/collection/components/duet-callout/duet-callout.js +2 -2
  111. package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
  112. package/lib/collection/components/duet-choice-group/duet-choice-group.js +2 -2
  113. package/lib/collection/components/duet-contact-card/duet-contact-card.js +2 -2
  114. package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
  115. package/lib/collection/components/duet-grid-item/duet-grid-item.js +2 -2
  116. package/lib/collection/components/duet-header/duet-header.css +3 -0
  117. package/lib/collection/components/duet-header/duet-header.js +3 -2
  118. package/lib/collection/components/duet-icon/duet-icon.css +5 -0
  119. package/lib/collection/components/duet-icon/duet-icon.js +3 -3
  120. package/lib/collection/components/duet-label/duet-label.js +1 -1
  121. package/lib/collection/components/duet-link/duet-link.js +5 -4
  122. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
  123. package/lib/collection/components/duet-logo/duet-logo.css +8 -0
  124. package/lib/collection/components/duet-logo/duet-logo.js +74 -5
  125. package/lib/collection/components/duet-menu-bar/duet-menu-bar.css +91 -0
  126. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +27 -39
  127. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
  128. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
  129. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
  130. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +2 -2
  131. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
  132. package/lib/collection/components/duet-modal/duet-modal.js +96 -15
  133. package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
  134. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  135. package/lib/collection/components/duet-notification/duet-notification.js +2 -2
  136. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +2 -2
  137. package/lib/collection/components/duet-number-input/duet-number-input.js +11 -6
  138. package/lib/collection/components/duet-overlay/duet-overlay.js +1 -1
  139. package/lib/collection/components/duet-page-heading/duet-page-heading.css +12 -1
  140. package/lib/collection/components/duet-page-heading/duet-page-heading.js +2 -2
  141. package/lib/collection/components/duet-pagination/duet-pagination.js +11 -11
  142. package/lib/collection/components/duet-panel/duet-panel.css +98 -0
  143. package/lib/collection/components/duet-panel/duet-panel.js +234 -0
  144. package/lib/collection/components/duet-paragraph/duet-paragraph.js +2 -2
  145. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  146. package/lib/collection/components/duet-promo-card/duet-promo-card.js +3 -3
  147. package/lib/collection/components/duet-radio/duet-radio.js +3 -3
  148. package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
  149. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  150. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -2
  151. package/lib/collection/components/duet-scrollable/duet-scrollable.js +5 -5
  152. package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -3
  153. package/lib/collection/components/duet-select/duet-select.js +5 -5
  154. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
  155. package/lib/collection/components/duet-share-chart/duet-share-chart.js +2 -2
  156. package/lib/collection/components/duet-share-chart-item/duet-share-chart-item.js +1 -1
  157. package/lib/collection/components/duet-show-more/duet-show-more.js +2 -2
  158. package/lib/collection/components/duet-slideout/duet-slideout.js +4 -4
  159. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
  160. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -2
  161. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
  162. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
  163. package/lib/collection/components/duet-spacer/duet-spacer.js +1 -1
  164. package/lib/collection/components/duet-spinner/duet-spinner.js +2 -2
  165. package/lib/collection/components/duet-status-icon/duet-status-icon.js +2 -2
  166. package/lib/collection/components/duet-step/duet-step.js +2 -2
  167. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  168. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +5 -5
  169. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
  170. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
  171. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +1 -1
  172. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
  173. package/lib/collection/components/duet-tab/duet-tab.js +2 -2
  174. package/lib/collection/components/duet-tab-group/duet-tab-group.js +4 -4
  175. package/lib/collection/components/duet-table/duet-table.js +2 -2
  176. package/lib/collection/components/duet-textarea/duet-textarea.js +3 -3
  177. package/lib/collection/components/duet-toggle/duet-toggle.js +2 -2
  178. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
  179. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
  180. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
  181. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +3 -3
  182. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
  183. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +3 -3
  184. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +2 -2
  185. package/lib/collection/components/duet-tray/duet-tray.js +2 -2
  186. package/lib/collection/components/duet-upload/duet-upload.js +2 -2
  187. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
  188. package/lib/collection/components/duet-upload-item/duet-upload-item.js +2 -2
  189. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  190. package/lib/collection/utils/token-utils.js +59 -7
  191. package/lib/collection/utils/turva2-color-tokens.js +42 -0
  192. package/lib/duet/duet.esm.js +1 -1
  193. package/lib/duet/{p-2de0e6b5.entry.js → p-04ce95ba.entry.js} +1 -1
  194. package/lib/duet/{p-eafab2a1.entry.js → p-05766552.entry.js} +1 -1
  195. package/lib/duet/{p-3ea842ba.entry.js → p-065f7e81.entry.js} +1 -1
  196. package/lib/duet/{p-95dd811d.entry.js → p-06ed84cb.entry.js} +1 -1
  197. package/lib/duet/{p-625a23c2.entry.js → p-08ed76c2.entry.js} +1 -1
  198. package/lib/duet/{p-f3d5e40a.entry.js → p-0a448068.entry.js} +1 -1
  199. package/lib/duet/{p-44786477.entry.js → p-0dc4fe1d.entry.js} +1 -1
  200. package/lib/duet/{p-626e92a9.entry.js → p-0ebeee02.entry.js} +1 -1
  201. package/lib/duet/{p-9b9031cf.entry.js → p-106d3089.entry.js} +1 -1
  202. package/lib/duet/{p-32352972.entry.js → p-15593e3e.entry.js} +1 -1
  203. package/lib/duet/{p-54b978c0.entry.js → p-2057cc55.entry.js} +1 -1
  204. package/lib/duet/{p-061f484f.entry.js → p-2792ec0b.entry.js} +1 -1
  205. package/lib/duet/p-28a998f9.entry.js +4 -0
  206. package/lib/duet/{p-8057c9e5.entry.js → p-2d3d11db.entry.js} +1 -1
  207. package/lib/duet/{p-9d5be586.entry.js → p-2e34dd28.entry.js} +1 -1
  208. package/lib/duet/{p-f7782ce5.entry.js → p-30ade10d.entry.js} +1 -1
  209. package/lib/duet/{p-d5270614.entry.js → p-35ac072d.entry.js} +1 -1
  210. package/lib/duet/{p-70fd5cb5.entry.js → p-37222c50.entry.js} +1 -1
  211. package/lib/duet/{p-80f567c7.entry.js → p-39169420.entry.js} +1 -1
  212. package/lib/duet/{p-a544dcb2.entry.js → p-3dd4fbf1.entry.js} +1 -1
  213. package/lib/duet/{p-8ae3ba95.entry.js → p-402c8cd9.entry.js} +1 -1
  214. package/lib/duet/{p-2b2be1ce.entry.js → p-4628e002.entry.js} +1 -1
  215. package/lib/duet/{p-07cd31d4.entry.js → p-466ef37c.entry.js} +1 -1
  216. package/lib/duet/{p-f2e88086.entry.js → p-4aece4f9.entry.js} +1 -1
  217. package/lib/duet/{p-1b4e4213.entry.js → p-4ee576a2.entry.js} +1 -1
  218. package/lib/duet/p-500d799b.entry.js +4 -0
  219. package/lib/duet/{p-e8bf81e8.entry.js → p-5564a39c.entry.js} +1 -1
  220. package/lib/duet/p-5848a34c.entry.js +4 -0
  221. package/lib/duet/{p-1662ddb0.entry.js → p-5ab64521.entry.js} +1 -1
  222. package/lib/duet/{p-b3547427.entry.js → p-60be3836.entry.js} +1 -1
  223. package/lib/duet/p-625347d3.entry.js +4 -0
  224. package/lib/duet/{p-779380f8.entry.js → p-64ebf5e9.entry.js} +1 -1
  225. package/lib/duet/{p-48bcf197.entry.js → p-64f8d654.entry.js} +1 -1
  226. package/lib/duet/{p-73f38d13.entry.js → p-652eefa8.entry.js} +1 -1
  227. package/lib/duet/{p-85ddf215.entry.js → p-65a8dd89.entry.js} +1 -1
  228. package/lib/duet/{p-05cb3ef2.entry.js → p-66c7af01.entry.js} +1 -1
  229. package/lib/duet/{p-e8668d1a.entry.js → p-67290546.entry.js} +1 -1
  230. package/lib/duet/p-693fda6b.entry.js +4 -0
  231. package/lib/duet/{p-6fa05aeb.entry.js → p-6a6e4d82.entry.js} +1 -1
  232. package/lib/duet/{p-5c749aae.entry.js → p-6aa6ce7d.entry.js} +1 -1
  233. package/lib/duet/{p-e6a5676c.entry.js → p-71603edd.entry.js} +1 -1
  234. package/lib/duet/{p-c0721ad9.entry.js → p-71a6b137.entry.js} +1 -1
  235. package/lib/duet/{p-a40fbcac.entry.js → p-72c2ba6b.entry.js} +1 -1
  236. package/lib/duet/p-73290da8.entry.js +4 -0
  237. package/lib/duet/{p-2c2a8a28.entry.js → p-73ce0ef8.entry.js} +1 -1
  238. package/lib/duet/p-767afcf4.entry.js +4 -0
  239. package/lib/duet/{p-7ac87fc1.entry.js → p-774cf9f5.entry.js} +1 -1
  240. package/lib/duet/{p-89e9badf.entry.js → p-7a9f3475.entry.js} +1 -1
  241. package/lib/duet/{p-61da8d25.entry.js → p-7c814d9a.entry.js} +1 -1
  242. package/lib/duet/{p-1cc69291.entry.js → p-7f1fb1a9.entry.js} +1 -1
  243. package/lib/duet/{p-d154fb42.entry.js → p-83f6beb5.entry.js} +1 -1
  244. package/lib/duet/{p-5b2e8342.entry.js → p-8596c993.entry.js} +1 -1
  245. package/lib/duet/{p-e72e498d.entry.js → p-867aab83.entry.js} +1 -1
  246. package/lib/duet/{p-a854a83c.entry.js → p-86b74914.entry.js} +1 -1
  247. package/lib/duet/{p-11b6b71d.entry.js → p-8ed6f7c7.entry.js} +1 -1
  248. package/lib/duet/{p-b5cdfd48.entry.js → p-94e33308.entry.js} +1 -1
  249. package/lib/duet/p-960f95b4.entry.js +4 -0
  250. package/lib/duet/{p-5f437262.entry.js → p-9973c0dc.entry.js} +1 -1
  251. package/lib/duet/{p-e89f59fe.entry.js → p-9a1f29ac.entry.js} +1 -1
  252. package/lib/duet/{p-e3c9a33a.entry.js → p-9fade6a0.entry.js} +1 -1
  253. package/lib/duet/{p-0710ad83.entry.js → p-9fff2189.entry.js} +1 -1
  254. package/lib/duet/{p-CUNSbdt4.js → p-B_VBeM3r.js} +1 -1
  255. package/lib/duet/{p-B_RHZ7jo.js → p-BaR6ufr4.js} +1 -1
  256. package/lib/duet/p-BdUQgQFn.js +4 -0
  257. package/lib/duet/p-DdwVwK5C.js +4 -0
  258. package/lib/duet/p-Dr2j33H2.js +4 -0
  259. package/lib/duet/{p-Dvk6bntS.js → p-DxV3RbmM.js} +1 -1
  260. package/lib/duet/{p-fwfCVW-k.js → p-DyXNfxdT.js} +1 -1
  261. package/lib/duet/p-DzerL_yn.js +4 -0
  262. package/lib/duet/p-KocOARXM.js +4 -0
  263. package/lib/duet/p-OdY4DjJa.js +4 -0
  264. package/lib/duet/p-T5kkooky.js +4 -0
  265. package/lib/duet/{p-D5_4M8f7.js → p-Z0D6Gy9e.js} +1 -1
  266. package/lib/duet/{p-bd6f7e7b.entry.js → p-a09c6e42.entry.js} +1 -1
  267. package/lib/duet/{p-5956c71f.entry.js → p-a3a2e89e.entry.js} +1 -1
  268. package/lib/duet/{p-a94d6219.entry.js → p-a440c5b3.entry.js} +1 -1
  269. package/lib/duet/{p-835874ed.entry.js → p-a4a768bf.entry.js} +1 -1
  270. package/lib/duet/{p-e1715e1f.entry.js → p-a72b8cf4.entry.js} +1 -1
  271. package/lib/duet/{p-24f39c08.entry.js → p-ab0cd4e5.entry.js} +1 -1
  272. package/lib/duet/{p-a9353027.entry.js → p-aefcd222.entry.js} +1 -1
  273. package/lib/duet/p-b84ac47b.entry.js +4 -0
  274. package/lib/duet/{p-7cfcd244.entry.js → p-ba0fcce1.entry.js} +1 -1
  275. package/lib/duet/p-ba2b47d3.entry.js +4 -0
  276. package/lib/duet/{p-3d266d49.entry.js → p-baeb1090.entry.js} +1 -1
  277. package/lib/duet/{p-828a4e8b.entry.js → p-bcbe4d11.entry.js} +1 -1
  278. package/lib/duet/{p-fcb87d86.entry.js → p-bf5fae27.entry.js} +1 -1
  279. package/lib/duet/p-c6479694.entry.js +4 -0
  280. package/lib/duet/{p-c037858f.entry.js → p-c8308bec.entry.js} +1 -1
  281. package/lib/duet/p-d0f3a2e6.entry.js +4 -0
  282. package/lib/duet/{p-d29c6c90.entry.js → p-d28a8bc4.entry.js} +1 -1
  283. package/lib/duet/p-d2ceafd6.entry.js +4 -0
  284. package/lib/duet/{p-26ef0a2c.entry.js → p-d96af9c9.entry.js} +1 -1
  285. package/lib/duet/{p-a930cc2b.entry.js → p-dee8ff90.entry.js} +1 -1
  286. package/lib/duet/p-e9421a0e.entry.js +4 -0
  287. package/lib/duet/p-ec6e097b.entry.js +4 -0
  288. package/lib/duet/{p-b52c9aed.entry.js → p-effefdec.entry.js} +1 -1
  289. package/lib/duet/{p-9d16f09d.entry.js → p-fb3b8e0f.entry.js} +1 -1
  290. package/lib/esm/{a11y-utils-Do8wJ0uc.js → a11y-utils-CXqm1pj1.js} +1 -1
  291. package/lib/esm/{app-globals-CM7s1rys.js → app-globals-s-_CGo5t.js} +1 -1
  292. package/lib/esm/duet-action-button.entry.js +5 -5
  293. package/lib/esm/duet-alert.entry.js +4 -4
  294. package/lib/esm/duet-badge.entry.js +4 -4
  295. package/lib/esm/duet-banner.entry.js +8 -8
  296. package/lib/esm/duet-breadcrumb.entry.js +7 -7
  297. package/lib/esm/duet-breadcrumbs.entry.js +7 -7
  298. package/lib/esm/duet-button_2.entry.js +13 -13
  299. package/lib/esm/duet-callout.entry.js +5 -5
  300. package/lib/esm/duet-caption_4.entry.js +14 -13
  301. package/lib/esm/duet-card.entry.js +5 -5
  302. package/lib/esm/duet-checkbox.entry.js +2 -2
  303. package/lib/esm/duet-checkmark.entry.js +4 -4
  304. package/lib/esm/duet-chip.entry.js +3 -3
  305. package/lib/esm/duet-choice_2.entry.js +6 -6
  306. package/lib/esm/duet-collapsible.entry.js +4 -4
  307. package/lib/esm/duet-combobox.entry.js +4 -4
  308. package/lib/esm/duet-contact-card.entry.js +5 -5
  309. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  310. package/lib/esm/duet-date-picker.entry.js +6 -6
  311. package/lib/esm/duet-divider_2.entry.js +5 -5
  312. package/lib/esm/duet-editable-table_3.entry.js +10 -10
  313. package/lib/esm/duet-empty-state.entry.js +2 -2
  314. package/lib/esm/duet-fieldset.entry.js +6 -6
  315. package/lib/esm/duet-file-chooser.entry.js +2 -2
  316. package/lib/esm/duet-footer.entry.js +4 -4
  317. package/lib/esm/duet-grid_2.entry.js +4 -4
  318. package/lib/esm/duet-header_2.entry.js +55 -13
  319. package/lib/esm/duet-hero.entry.js +4 -4
  320. package/lib/esm/duet-icon.entry.js +8 -8
  321. package/lib/esm/duet-input_2.entry.js +8 -8
  322. package/lib/esm/duet-layout.entry.js +2 -2
  323. package/lib/esm/duet-list_2.entry.js +4 -4
  324. package/lib/esm/duet-menu-bar-button.entry.js +4 -4
  325. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +4 -4
  326. package/lib/esm/duet-menu-bar-dropdown.entry.js +6 -6
  327. package/lib/esm/duet-menu-bar-item.entry.js +7 -7
  328. package/lib/esm/duet-menu-bar-link.entry.js +4 -4
  329. package/lib/esm/duet-menu-bar.entry.js +10 -42
  330. package/lib/esm/duet-modal.entry.js +37 -20
  331. package/lib/esm/duet-multiselect.entry.js +10 -10
  332. package/lib/esm/duet-nav.entry.js +3 -3
  333. package/lib/esm/duet-notification_2.entry.js +7 -7
  334. package/lib/esm/duet-number-input.entry.js +14 -9
  335. package/lib/esm/duet-overlay.entry.js +3 -3
  336. package/lib/esm/duet-page-heading.entry.js +5 -5
  337. package/lib/esm/duet-pagination_2.entry.js +18 -18
  338. package/lib/esm/duet-panel.entry.js +51 -0
  339. package/lib/esm/duet-phone-input.entry.js +4 -4
  340. package/lib/esm/duet-popup-menu_2.entry.js +7 -7
  341. package/lib/esm/duet-progress.entry.js +3 -3
  342. package/lib/esm/duet-promo-card.entry.js +7 -7
  343. package/lib/esm/duet-radio_2.entry.js +7 -7
  344. package/lib/esm/duet-range-slider.entry.js +7 -7
  345. package/lib/esm/duet-scrollable_3.entry.js +17 -17
  346. package/lib/esm/duet-section-layout.entry.js +4 -4
  347. package/lib/esm/duet-select.entry.js +9 -9
  348. package/lib/esm/duet-shaped-image.entry.js +4 -4
  349. package/lib/esm/duet-share-chart-item.entry.js +2 -2
  350. package/lib/esm/duet-share-chart.entry.js +8 -8
  351. package/lib/esm/duet-show-more.entry.js +5 -5
  352. package/lib/esm/duet-slideout-lang.entry.js +4 -4
  353. package/lib/esm/duet-slideout-link.entry.js +7 -7
  354. package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -6
  355. package/lib/esm/duet-slideout-panel.entry.js +13 -13
  356. package/lib/esm/duet-slideout.entry.js +11 -11
  357. package/lib/esm/duet-status-icon.entry.js +4 -4
  358. package/lib/esm/duet-step_2.entry.js +6 -6
  359. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +4 -4
  360. package/lib/esm/duet-submenu-bar-dropdown.entry.js +7 -7
  361. package/lib/esm/duet-submenu-bar-item.entry.js +6 -6
  362. package/lib/esm/duet-submenu-bar-link.entry.js +3 -3
  363. package/lib/esm/duet-submenu-bar.entry.js +8 -8
  364. package/lib/esm/duet-textarea.entry.js +8 -8
  365. package/lib/esm/duet-toggle.entry.js +6 -6
  366. package/lib/esm/duet-toolbar-dropdown-link.entry.js +4 -4
  367. package/lib/esm/duet-toolbar-dropdown.entry.js +6 -6
  368. package/lib/esm/duet-toolbar-item.entry.js +8 -8
  369. package/lib/esm/duet-toolbar-link.entry.js +4 -4
  370. package/lib/esm/duet-toolbar.entry.js +4 -4
  371. package/lib/esm/duet-tooltip-button_2.entry.js +8 -8
  372. package/lib/esm/duet-tooltip.entry.js +5 -5
  373. package/lib/esm/duet-tray.entry.js +6 -6
  374. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  375. package/lib/esm/duet-upload-item.entry.js +6 -6
  376. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  377. package/lib/esm/duet.js +4 -4
  378. package/lib/esm/{errorcodes.utils-jdmUflM5.js → errorcodes.utils-Bre55Njd.js} +1 -1
  379. package/lib/esm/{focus-utils-Fb4Hjq5k.js → focus-utils-vvgYykmM.js} +1 -1
  380. package/lib/esm/{index-CUNSbdt4.js → index-B_VBeM3r.js} +5 -1
  381. package/lib/esm/{label-CSouuUKb.js → label-l-Eza5H3.js} +1 -1
  382. package/lib/esm/{language-utils-fAqNRSrI.js → language-utils-B7PXWqpg.js} +1 -1
  383. package/lib/esm/loader.js +4 -4
  384. package/lib/esm/{slot-utils-CgXzS75x.js → slot-utils-aDCRCdc4.js} +1 -1
  385. package/lib/esm/{themeable-component-EVqsr6Ut.js → themeable-component-DPqozkF4.js} +14 -2
  386. package/lib/esm/{token-utils-orOLyKQw.js → token-utils-BGFYWQ6j.js} +76 -9
  387. package/lib/esm/{tokens-Dvk6bntS.js → tokens-DxV3RbmM.js} +1 -1
  388. package/lib/esm/{tokens.module-D5_4M8f7.js → tokens.module-Z0D6Gy9e.js} +1 -1
  389. package/lib/types/components/duet-logo/duet-logo.d.ts +8 -0
  390. package/lib/types/components/duet-menu-bar/duet-menu-bar.d.ts +5 -4
  391. package/lib/types/components/duet-modal/duet-modal.d.ts +17 -1
  392. package/lib/types/components/duet-number-input/duet-number-input.d.ts +3 -1
  393. package/lib/types/components/duet-panel/duet-panel.d.ts +47 -0
  394. package/lib/types/components.d.ts +123 -4
  395. package/lib/types/utils/token-utils.d.ts +4 -0
  396. package/lib/types/utils/turva2-color-tokens.d.ts +39 -0
  397. package/package.json +3 -3
  398. package/lib/duet/p-2354e2c1.entry.js +0 -4
  399. package/lib/duet/p-50Jw5Ir2.js +0 -4
  400. package/lib/duet/p-5432f24c.entry.js +0 -4
  401. package/lib/duet/p-710ae64d.entry.js +0 -4
  402. package/lib/duet/p-7a9e6423.entry.js +0 -4
  403. package/lib/duet/p-7c4f010e.entry.js +0 -4
  404. package/lib/duet/p-88773ebf.entry.js +0 -4
  405. package/lib/duet/p-89e6b8d0.entry.js +0 -4
  406. package/lib/duet/p-9d501c34.entry.js +0 -4
  407. package/lib/duet/p-BI7G8d3Z.js +0 -4
  408. package/lib/duet/p-Be6-farU.js +0 -4
  409. package/lib/duet/p-CF5Kkdym.js +0 -4
  410. package/lib/duet/p-DyjhCDQL.js +0 -4
  411. package/lib/duet/p-M3ljdQX1.js +0 -4
  412. package/lib/duet/p-b2c2a24e.entry.js +0 -4
  413. package/lib/duet/p-b314a75a.entry.js +0 -4
  414. package/lib/duet/p-b4569b01.entry.js +0 -4
  415. package/lib/duet/p-d2e1cef2.entry.js +0 -4
  416. package/lib/duet/p-e89e940b.entry.js +0 -4
  417. package/lib/duet/p-ekdrapBY.js +0 -4
  418. package/lib/duet/p-fc319c57.entry.js +0 -4
@@ -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 n,F as s}from"./p-CUNSbdt4.js";import{i as o}from"./p-BI7G8d3Z.js";import{f as d,d as r}from"./p-BlUsLmbQ.js";import{i as l}from"./p-Db8rvjPI.js";import{a as h,c as u,d as c,g as p,s as b}from"./p-B_RHZ7jo.js";import{o as m,p as f,q as g,r as y,u as v,v as k,w as x,x as w,y as $,z as T,A as L,B as j,C as E,f as z,D as S,E as M,F as C,G as F,j as D,s as R,H as _}from"./p-D5_4M8f7.js";import{b as U,a as P}from"./p-DyjhCDQL.js";import{c as A}from"./p-Cfr_DJqU.js";import{p as W}from"./p-C6E9F6QT.js";import{a as H,g as q}from"./p-CF5Kkdym.js";const B=({data:e,groupId:i,alignment:a})=>{const n=`duet-editable-table duet-editable-table-content-${i}`;return"string"==typeof e?t("td",{innerHTML:e,class:n,part:`${i}content`,style:{verticalAlign:a}}):t("td",{class:n,part:`${i}content`,style:{verticalAlign:a}},e)},I=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.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,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:n,key:s}=t;this.duetTableToggle.emit({sort_order:i,index:n,direction:a,key:s,component:"duet-editable-table",originalEvent:e})},this.handleKeyDown=(t,e)=>{l(e)&&this.toggleColumn(t,e)}}componentWillLoad(){o(this),this.hasHeadSlotFirst=!!this.element.querySelector("[slot='thead-first']"),this.hasHeadSlotLast=!!this.element.querySelector("[slot='thead-last']"),this.hasFootSlot=!!this.element.querySelector("[slot='tfoot']")}connectedCallback(){u(this)}disconnectedCallback(){c(this)}createLabel(e){const{sort_order:i,direction:a,index:n,label:s}=e,o=p(s);return this.sortable?t("span",{class:"duet-table-label","data-index":n},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)},o)):o}getSortedColumns(){return[...this.columns].sort(d(["index"]))}getRowSortOrder(){return[...this.columns].sort(d(["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(d(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(B,{data:i[e.key]?i[e.key]:i.item,groupId:this.groupId})})),this.actions&&this.renderActions(i,a))))}render(){return t(a,{key:"05720c6ef38164df71b02c23fb45d3d84808c2ac",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",{key:"52033d6f9c4e8ca460bacee6e2b8ea93da3b9eb8",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",{key:"7f0689d1e576d5f0c5324715feaf21ce21c42e97",role:this.accessibleRole},t("caption",{key:"4e18555d5513dde6724a449d12030cc666937367"},t("slot",{key:"df9bcd3bde75a2669a08eb2ff0c67720750e5450",name:"tcaption"})),t("thead",{key:"efbbe81840f6e9ae9e0cc91fee5653c43181f131"},this.hasHeadSlotFirst&&t("tr",{key:"36d1a860bf16229740501f3b076b02125d1b3d85"},t("td",{key:"24c22fca3cbfef4ab9e2582cf32bf967654b8b43",class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{key:"a02148a1d13dc8c3147b26da2f5aa84e3b359cdf",name:"thead-first"}))),this.renderTableHeader(),this.hasHeadSlotLast&&t("tr",{key:"7b7ab392f982f5f7ce4caa5e86f7a1062412aad2"},t("td",{key:"cd739dea8b81f3290bb86d7e977fa83d124fdd03",class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{key:"068a9f86388a25ca00944d8e9ecfbed6cf0e2cfe",name:"thead-last"})))),t("tbody",{key:"f65077b6dee57c962826c459ddb044d4230753c5"},this.renderTableBody()),this.hasFootSlot&&t("tfoot",{key:"eceeface4ad0a0bbb15dc188a343291cef04ec72"},t("tr",{key:"aff41dc81c24e09a03db4742bf6d51c17b8ce937"},t("td",{key:"5d332218393462356c02ca19ff9c3398fbeb89a7",class:"duet-editable-table-footer-menu",colSpan:99},t("slot",{key:"b438187cfa67ef90452783e9522d106ecf9ab9d3",name:"tfoot"})))))))}get element(){return n(this)}};I.style=":host{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,td.duet-editable-table-actions-menu{position:relative;padding:0 !important;margin:0}.duet-editable-table-actions-menu-button{position:relative;right:-16px;float:right;padding:0}.duet-editable-table-actions-menu-icon .duet-icon{max-width:16px;max-height:16px}.duet-editable-table-row.duet-table-action-row .duet-text-right{text-align:right}.duet-editable-table-header tr .duet-editable-table-header-hidden{padding:0 !important;font-size:0;border-bottom:0}";const N=t=>t.replace("rgb(","").replace(")",""),O=`\nduet-table {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n margin-bottom: ${m} !important;\n display: block;\n font-variant-numeric: tabular-nums;\n\n table,\n thead,\n tbody,\n tfoot,\n th,\n td,\n tr {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n }\n\n &.duet-m-0 {\n margin: 0 !important;\n }\n\n table {\n width: 100%;\n font-family: ${f};\n font-size: ${g};\n text-align: left;\n border-spacing: 0;\n border-collapse: separate;\n }\n\n &.duet-table-hide-head-visually.duet-table-hide-head-visually {\n thead,\n thead * {\n position: absolute !important;\n top: 0;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n border: 0 !important;\n }\n }\n\n &.duet-theme-turva table {\n font-family: ${y};\n }\n\n td {\n -webkit-hyphens: auto;\n hyphens: auto;\n color: ${v};\n }\n\n &.duet-theme-turva td {\n color: ${k};\n }\n\n th {\n font-weight: ${x};\n line-height: ${w};\n color: ${$};\n text-align: left;\n }\n\n &.duet-theme-turva th {\n color: ${T};\n }\n\n tbody th {\n font-weight: ${x};\n color: ${v};\n }\n\n &.duet-theme-turva tbody th {\n color: ${k};\n }\n\n & .duet-table-action-row {\n & td:last-child {\n justify-self: end;\n padding-right: ${m} !important;\n white-space: nowrap;\n }\n }\n\n span.duet-table-cell-heading {\n display: none;\n }\n}\n\n.duet-table-flattened {\n table,\n thead,\n tbody,\n tfoot,\n th,\n td,\n tr {\n display: block;\n }\n\n thead tr {\n position: absolute !important;\n top: 0;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n border: 0 !important;\n }\n\n td {\n line-height: ${w};\n\n &:not(:last-child) {\n margin-bottom: ${L};\n }\n\n span.duet-table-cell-heading {\n margin-bottom: ${j};\n display: block;\n font-size: ${g};\n font-weight: ${x};\n color: ${v};\n }\n }\n\n &.duet-theme-turva td span.duet-table-cell-heading {\n color: ${k};\n }\n\n tbody td,\n tbody th,\n tfoot td {\n padding: 0 !important;\n text-align: left !important;\n }\n\n tbody th {\n font-weight: ${x};\n line-height: ${w};\n color: ${$};\n text-align: left;\n }\n}\n\n.duet-table-sticky thead th {\n position: sticky;\n top: 0;\n background: ${E};\n}\n\n.duet-table-striped {\n td,\n th {\n padding: ${m} !important;\n @media ${z.replace("'","").replace("'","")} {\n padding: ${m} ${S} !important;\n }\n }\n\n tbody th {\n background: ${E};\n }\n\n &.duet-table-sticky {\n thead th {\n border-bottom: 1px solid ${M};\n }\n\n &.duet-theme-turva thead th {\n border-bottom-color: ${C};\n }\n }\n\n tbody:not(:first-of-type) th {\n padding-top: calc(${m} * 2) !important;\n }\n\n tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba(4, 81, 128, 0.04);\n }\n\n &.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba(${N(k)}, 0.04);\n }\n\n tbody:not(:only-of-type) tr:nth-of-type(even) {\n background: rgba(4, 81, 128, 0.04);\n }\n\n &.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even) {\n background: rgba(${N(k)}, 0.04);\n }\n\n tfoot td {\n border-top: 1px solid ${M};\n }\n\n &.duet-theme-turva tfoot td {\n border-top-color: ${C};\n }\n\n &.duet-table-flattened {\n tbody:not(:first-of-type) th {\n padding-top: ${m} !important;\n }\n\n tr {\n padding: ${m} !important;\n }\n\n tfoot {\n td {\n border-top: 0;\n }\n\n tr {\n border-top: 1px solid ${M};\n }\n }\n\n &.duet-theme-turva tfoot tr {\n border-top-color: ${C};\n }\n }\n}\n\n.duet-table-plain, .duet-table-fixed, .duet-table-minimal {\n th {\n padding: ${L} !important;\n border-bottom: 1px solid ${$};\n\n &:first-child {\n padding-left: 0 !important;\n }\n\n &:last-child {\n padding-right: 0 !important;\n }\n }\n\n &.duet-theme-turva th {\n border-bottom-color: ${F};\n }\n\n tbody th {\n padding-top: calc(${m} * 2) !important;\n border-bottom-color: ${M};\n }\n\n &.duet-theme-turva tbody th {\n border-bottom-color: ${C};\n }\n\n td {\n padding: ${L} !important;\n\n &:first-child {\n padding-left: 0 !important;\n }\n\n &:last-child {\n padding-right: 0 !important;\n }\n }\n\n tbody td {\n border-bottom: 1px solid ${M};\n }\n\n &.duet-theme-turva tbody td {\n border-bottom-color: ${C};\n }\n\n &.duet-table-flattened {\n tbody:first-of-type th {\n padding-top: 0 !important;\n }\n\n td,\n tbody th {\n border-bottom: 0;\n }\n\n tr {\n padding: ${m} 0 !important;\n }\n\n tbody th {\n padding-top: ${m} !important;\n }\n\n tfoot td {\n margin-bottom: ${j} !important;\n }\n\n tbody:not(:only-of-type) tr:first-child {\n border-bottom: 0;\n }\n }\n}\n\n.duet-table-plain {\n\n &.duet-table-flattened {\n tbody tr {\n border-bottom: 1px solid ${M};\n }\n\n &.duet-theme-turva tbody tr {\n border-bottom-color: ${C};\n }\n }\n}\n\n.duet-table-minimal {\n\n tbody tr,\n tbody tr td {\n vertical-align: top;\n border-bottom: 0 none;\n }\n\n tbody tr:last-of-type,\n tbody tr:last-of-type td {\n border-bottom: 1px solid ${M};\n }\n\n &.duet-table-flattened {\n tbody tr,\n tbody tr td {\n border-bottom: 0 none;\n }\n\n tbody tr td[data-heading]::before {\n display: none;\n }\n\n tfoot {\n border-top: 1px solid ${M};\n }\n\n &.duet-theme-turva tfoot {\n border-top-color: ${C};\n }\n }\n}\n\n.duet-table-fixed {\n\n table {\n table-layout: fixed;\n }\n\n tbody tr,\n tbody tr td,\n tbody tr td:first-child {\n padding: 4px !important;\n vertical-align: text-bottom;\n border-bottom: 0 none;\n }\n\n thead {\n display: none;\n }\n\n tbody tr,\n tbody tr td {\n border-bottom: 0 none;\n }\n\n &:not(.duet-table-flattened) {\n tfoot {\n border-top: 1px solid ${M};\n }\n\n &.duet-theme-turva tfoot {\n border-top-color: ${C};\n }\n }\n}\n.duet-table-scrollable {\n position: relative;\n width: 100%;\n overflow-x: auto;\n 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%;\n background-repeat: no-repeat;\n background-attachment: local, local, scroll, scroll;\n background-size: 100px 100%, 100px 100%, 12px 100%, 12px 100%;\n}\n\n.duet-table-selected-column {\n background: rgba(${N(D)}, 0.08);\n\n .duet-theme-turva & {\n background: rgba(${N(F)}, 0.08);\n }\n}\n\n.duet-table-sortable {\n tbody tr td:first-child,\n thead tr th:first-child {\n padding: ${m};\n }\n\n &:not(.duet-table-flattened) {\n tfoot {\n border-top: 1px solid ${M};\n }\n\n &.duet-theme-turva tfoot {\n border-top-color: ${C};\n }\n }\n}\n\n\n.duet-table-actions {\n table {\n table-layout: auto;\n }\n\n thead {\n & th:last-child {\n width: 1px;\n white-space: nowrap;\n }\n }\n}\n\n.duet-editable-table-table.duet-table-flattened {\n tr {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n grid-auto-rows: auto;\n gap: 10px;\n\n &.duet-table-action-row td:last-child::before {\n padding: 0;\n content: "";\n }\n }\n\n td {\n grid-column: 1 / 2;\n\n &:first-child {\n grid-row: 1;\n grid-column: 1;\n }\n\n &:last-child {\n grid-row: 1;\n grid-column: 2;\n }\n }\n\n duet-table.duet-theme-turva2 {\n &.duet-theme-turva td {\n color: $color-turva2-gray-900;\n }\n\n &.duet-theme-turva tbody th {\n color: $color-turva2-gray-900;\n }\n\n &.duet-table-striped.duet-theme-turva.duet-table-sticky thead {\n th,\n td {\n border-bottom-color: $color-turva-nude-100;\n }\n }\n\n &.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba($color-turva2-gray-900, 0.04);\n }\n\n &.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even) {\n background: rgba($color-turva2-gray-900, 0.04);\n }\n\n &.duet-table-striped.duet-theme-turva tfoot td {\n border-top-color: $color-turva-nude-100;\n }\n\n &.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr {\n border-top-color: $color-turva-nude-100;\n }\n\n &.duet-table-plain.duet-theme-turva tbody {\n th,\n td {\n border-bottom-color: $color-turva-nude-100;\n }\n }\n\n &.duet-table-plain.duet-theme-turva tbody td {\n border-bottom-color: $color-turva-nude-100;\n }\n\n &.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr {\n border-bottom-color: $color-turva-nude-100;\n }\n\n &.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot {\n border-top-color: $color-turva-nude-100;\n }\n\n &.duet-table-fixed.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: $color-turva-nude-100;\n }\n\n &.duet-table-sortable.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: $color-turva-nude-100;\n }\n }\n}\n`.replace(/[\n\r\t]/gm,""),Y={none:0,"with-links":16*parseFloat(_),"without-links":16*parseFloat(R)},V=class{constructor(t){e(this,t),this.headingSelector="thead tr > :not(*.duet-editable-table-actions-menu)",this.matchesBreakpoint=!0,this.language=h(),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.hideHeadVisually=!1,this.handleMediaQueryChange=t=>{this.matchesBreakpoint=U.includes(this.breakpoint)?!t.matches:t.matches}}watchLanguageStateHandler(t,e){t!==e&&setTimeout((()=>this.copyHeadingsToCells()),50)}connectedCallback(){!function(t){const e=t.getRootNode();if(e instanceof ShadowRoot){const t=new CSSStyleSheet;t.replace(O).then((()=>{e.adoptedStyleSheets.push(t)}))}else{if(document.querySelector("style#duet-table-styles"))return;const t=document.createElement("style");t.id="duet-table-styles",t.innerHTML=O,document.head.append(t)}}(this.element),this.mq=matchMedia("none"===this.breakpoint||"none-scrollable"===this.breakpoint?"all":P[this.breakpoint]),this.mq.addEventListener("change",r(this.handleMediaQueryChange,50)),this.handleMediaQueryChange(this.mq),this.observer=new MutationObserver((()=>r(this.copyHeadingsToCells(),50))),this.observer.observe(this.element,{childList:!0,subtree:!0})}componentWillLoad(){if(o(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=Y[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,c(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 n=document.createElement("span");n.textContent=i[e],n.classList.add("duet-table-cell-heading"),n.setAttribute("aria-hidden","true"),n.inert=!0,t.prepend(n)}}}))}))}render(){return t(a,{key:"52bdb799d5e83d8e2f38a51fb578a2c475b2e883",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",{key:"dda5e816d883214664bf28678a9be84297111dc0"}))}get element(){return n(this)}static get watchers(){return{language:["watchLanguageStateHandler"]}}};var J=[{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."}}];const X={fi:"Liiteluettelo",sv:"Lista över bilagor",en:"Attachments list"},K=({label:e,categoryLabel:i})=>t("div",{class:"items-header",tabindex:"-1","aria-label":p(X)},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))),G=(t,e,i)=>{const{allowedMimetypes:a,allowedExtensions:n,maxBytes:s}=e;let o=!1,d=H("default",i);if(t){const{name:e,type:r,size:l}=t,h=((t,e)=>{if(!e||!t)return!0;const i=e.split(",");let a=!1;return i.forEach((e=>{const i=e.split("/"),n=t.split("/");i[0]!==n[0]||i[1]!==n[1]&&"*"!==i[1]||(a=!0)})),a})(r,a),u="all"===n||""===n||" "===n||void 0===n||((t,e)=>{if(!e)return!0;const i=t.split(".");return e.split(",").includes(i[i.length-1])})(e.toLowerCase(),n),c=((t,e)=>!e||!t||e>=t)(l,s);h||(d=H("duet-upload-101",i)),u||(d=H("duet-upload-100",i)),c||(d=H("duet-upload-201",i)),o=h&&u&&c}else o=!1;return{valid:o,errorMessage:o?void 0:p(d.message),errorSystem:o?void 0:d.system_message,errorType:o?void 0:d.type}},Q=({payload:t,options:e,onFailure:i,onSuccess:a,onProgress:n})=>{const{type:s="POST",xhr:o,uri:d,argument:r=null,headers:l=null}=e;o.open(s,`${d}${r||""}`,!0);const{data:h,name:u}=t;return l&&Object.keys(l).forEach((t=>{o.setRequestHeader(t,l[t])})),"POST"===s&&(o.onreadystatechange=()=>{o.readyState===XMLHttpRequest.DONE&&o.status>=200&&o.status<300&&a(o,u,o.status),o.readyState===XMLHttpRequest.DONE&&o.status>=300&&o.status<999&&i(o,u,o.status)},n(u)),o.send(h),o},Z=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.tick=Date.now(),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.showLinks=!1,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.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=J,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.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.actionButtonTitles={cancel:!1,delete:!1},this.renameDuplicates=!1,this.buttonId=A("DuetButton"),this.labelId=A("DuetLabel"),this.uploadId=A("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.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"}}],this.kick=r((()=>{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:n}=e;switch(i){case"delete":this.onDelete(a,n);break;case"cancel":this.onCancel(a,n)}}))},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,n)=>i===this.DefaultGroups.success?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"success",data:e,showLinks:this.showLinks,linkClickEvent:this.emitEvent?this.linkClick:void 0,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.inprogress?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"inprogress",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.pending?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"pending",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.failure?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"failure",data:e,showLinks:this.showLinks,errorCodes:this.errorCodes,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,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",q("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",q("duet-upload-202",this.errorCodes),!1),i&&t&&this.updateValueInMap(t,"error",q("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:n,fileMaxReached:s}=this.validateTotals();this.handleExternalUploadButton(n,s),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:n,fileMaxReached:s}=this.validateTotals();if(this.handleExternalUploadButton(n,s),!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=[],n=[];let s=!1;return t.forEach((t=>{const o=this.getGroupFromItemData(t);t.meta&&t.meta.badges&&(s=!0),o===this.DefaultGroups.success?n.push({uid:t.uid,data:t}):o===this.DefaultGroups.inprogress?e.push({uid:t.uid,data:t}):o===this.DefaultGroups.pending?a.push({uid:t.uid,data:t}):o===this.DefaultGroups.failure?i.push({uid:t.uid,data:t}):t.group&&e.push({uid:t.uid,data:t})})),{pending:a,failure:i,success:n,inprogress:e,hasCategory:s}},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,n=this.groups.map((n=>{const o=e[n.id];if(null==o?void 0:o.length)return t(s,null,!this.hideGroups&&t(K,{categoryLabel:i?this.categoryLabel:void 0,label:n.label}),o.map((t=>this.mapFilesToUploadItems(t.data,n.id,i,a))))}));return t(s,null,this.showUploadedItemsHeader&&t(K,{categoryLabel:i?this.categoryLabel:void 0,label:this.uploadedItemsHeaderLabel}),n)}}watchValidHandler(t,e){t!==e&&this.kick()}componentWillLoad(){this.internalStatusMessageLabel="string"==typeof this.statusMessageLabel?b(this.groups):this.statusMessageLabel,o(this),this.listenForActionEvents(),this.onReady(),this.externalUploadButton=document.querySelector(`#${this.externalUploadButtonId}`),this.processedButtonTitles=W(this.actionButtonTitles)}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),n=Math.round(this.maxBytes/1024/1024);let o=this.description.replace(/{maxfiles}/g,this.maxFiles.toString());return o=o.replace(/{maxbytes}/g,`${n.toString()} MB`),o=o.replace(/{maxbytestotal}/g,`${i.toString()} MB`),o=o.replace(/{filetypes}/g,this.allowedExtensions.split(",").join(", ")),this.externalUploadButton&&(this.externalUploadButton.accessibleLabel=`${this.externalUploadButton.innerText}. ${o}`),t(a,{key:"67ce8650ccb26f83672ee2fb0979922345e249d8",class:{"duet-m-0":"none"===this.margin}},t("duet-fieldset",{key:"a66f32471d548c1594f3449f4161b6f1cc3fa234","label-heading-level":this.headerHeadingLevel,"label-hidden":this.hideHeader,label:this.label},t("slot",{key:"9963433f43a7bea142953a31fe6ce164c4e5efd9",name:"header"}),!this.files.size&&t("duet-empty-state",{key:"e0f03edb638ba54d5aed32a75e662211d3d28536",id:this.labelId,part:this.identifier?`${this.identifier}-empty-state`:"duet-upload-empty-state",icon:"messaging-attachment"},t("duet-paragraph",{key:"ee372985736bd818f9c0737dcff99be64400350b",margin:"none"},this.fileListEmpty)),!!this.files.size&&t("slot",{key:"643675366e8eb41765b17b55ef917923a461a5f0",name:"fileheader"}),!!this.files.size&&t("duet-upload-aria-status",{key:"f1c91849239849a81f2ca0dde5f212c92c37616d",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",{key:"96de7e0e22163d2ca2ae2b021e640106e5b106df",name:"filefooter"}),t("slot",{key:"a933faf918955b63fc45dce2f41e66273619ad2c",name:"uploadfooter"}),this.captionOnBottom&&t("duet-caption",{key:"0eb366857d00fa343ffc03932130074341dc31ed",margin:"none",size:"small"},t("div",{key:"4dc82344413749ac68ec2c7557d5b657a043e447",class:"upload-bottom-caption"},o)),t("slot",{key:"ad8ccf3d4dc404d433550064db9a0f205c8280cd",name:"afterfooter"}),!this.hideButton&&t(s,{key:"6e1cd511cd1da85e556615ab7a28838a10cf7d23"},t("duet-spacer",{key:"b7a07bd13eafacb3e2aad658755bc282affe7f81",size:"large"}),t("duet-button",{key:"44a60488620305572bbc9ea3ffda9e0b79fad785",id:this.buttonId,onClick:this.startUpload,"accessible-controls":e,disabled:this.fileMaxReached,"accessible-label":this.accessibleButtonLabel||`${this.buttonLabel}. ${o}`,"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(s,{key:"8f34a26b171ec21a97576f2b17e583f3e5a48483"},t("duet-spacer",{key:"36d4412df03357e5e5f7a524ee121ca4da542d8a",size:"medium"}),t("duet-alert",{key:"c474907bef968ec6c5e3b0be9ddd185d91681bec",part:this.identifier?`${this.identifier}-error-notification`:"duet-upload-error-notification"},this.fileMaxReached&&q("duet-upload-301",this.errorCodes),this.bytesMaxReached&&q("duet-upload-202",this.errorCodes),this.filesToUploadExceedsLimit&&q("duet-upload-302",this.errorCodes),this.filesToUploadTotalSizeIsAboveMax&&q("duet-upload-203",this.errorCodes))),t("duet-visually-hidden",{key:"72a6a7bb529c1c5779ff1757109a6c4c70bdf0c3","aria-hidden":"true"},t("input",{key:"6a516877ca4b9d6bce4aef70af3673f92f15150f",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)),Q(a)}makeXHRDeleteRequest(t){const{uid:e,item:i}=t,a=new XMLHttpRequest;let n={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&&(n=this.middleware(n)),Q(n)}escapeSpecialCharacters(t){return(t+"").replace(/[\\"'(){}\[\]*?$^+]/g,"\\$&").replace(/\u0000/g,"\\0")}getRenamedFileName(t,e){const i=new RegExp(`${this.escapeSpecialCharacters(t)} \\(\\d+\\).${e}`),a=Array.from(this.files.entries()).map((t=>{const[e,i]=t;return e})).filter((a=>i.test(a)||a===`${t}.${e}`)).sort(((t,e)=>t.split(".").slice(0,-1).join(".")>e.split(".").slice(0,-1).join(".")?1:-1)).pop().split(".").slice(0,-1).join(".");if(a===t)return`${t} (1).${e}`;const n=parseInt(a.split("(").pop().slice(0,-1));return`${t} (${n+1}).${e}`}renameFiles(t){return t.map((t=>{if(this.files.get(t.name)){const e=t.name.split("."),i=e.pop(),a=e.join("."),n=this.getRenamedFileName(a,i);return new File([t],n,{type:t.type,lastModified:t.lastModified})}return t}))}async onChange(t){var e;let 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){this.renameDuplicates&&(i=this.renameFiles(i));for(const t of i){const{valid:e,errorMessage:i,errorType:a,errorSystem:n}=G(t,{maxBytes:this.maxBytes,allowedExtensions:this.allowedExtensions,allowedMimetypes:this.allowedMimetypes},this.errorCodes),s={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:n},progress:0,deleted:!1,xhr:!1,url:!1};this.files.set(t.name,s),e&&!this.external?await this.uploadFile(s):e&&this.external?(this.updateValueInMap(s.item.name,"pending",!0,!1),this.updateValueInMap(s.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 n(this)}static get watchers(){return{valid:["watchValidHandler"]}}};Z.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(212, 223, 229)}@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{I as duet_editable_table,V as duet_table,Z as duet_upload}
4
+ import{h as t,r as e,c as i,H as a,g as n,F as s}from"./p-B_VBeM3r.js";import{i as o}from"./p-DdwVwK5C.js";import{f as d,d as r}from"./p-BlUsLmbQ.js";import{i as l}from"./p-Db8rvjPI.js";import{a as h,c as u,d as c,g as p,s as b}from"./p-BaR6ufr4.js";import{o as m,p as f,q as g,r as y,u as v,v as k,w as x,x as w,y as $,z as T,A as L,B as j,C as E,j as z,D as M,E as S,F as D,G as F,a as C,s as R,H as _}from"./p-Z0D6Gy9e.js";import{b as P,a as U}from"./p-Dr2j33H2.js";import{c as A}from"./p-Cfr_DJqU.js";import{p as W}from"./p-C6E9F6QT.js";import{a as H,g as B}from"./p-OdY4DjJa.js";const q=({data:e,groupId:i,alignment:a})=>{const n=`duet-editable-table duet-editable-table-content-${i}`;return"string"==typeof e?t("td",{innerHTML:e,class:n,part:`${i}content`,style:{verticalAlign:a}}):t("td",{class:n,part:`${i}content`,style:{verticalAlign:a}},e)},I=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.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,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:n,key:s}=t;this.duetTableToggle.emit({sort_order:i,index:n,direction:a,key:s,component:"duet-editable-table",originalEvent:e})},this.handleKeyDown=(t,e)=>{l(e)&&this.toggleColumn(t,e)}}componentWillLoad(){o(this),this.hasHeadSlotFirst=!!this.element.querySelector("[slot='thead-first']"),this.hasHeadSlotLast=!!this.element.querySelector("[slot='thead-last']"),this.hasFootSlot=!!this.element.querySelector("[slot='tfoot']")}connectedCallback(){u(this)}disconnectedCallback(){c(this)}createLabel(e){const{sort_order:i,direction:a,index:n,label:s}=e,o=p(s);return this.sortable?t("span",{class:"duet-table-label","data-index":n},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)},o)):o}getSortedColumns(){return[...this.columns].sort(d(["index"]))}getRowSortOrder(){return[...this.columns].sort(d(["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(d(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(q,{data:i[e.key]?i[e.key]:i.item,groupId:this.groupId})})),this.actions&&this.renderActions(i,a))))}render(){return t(a,{key:"05720c6ef38164df71b02c23fb45d3d84808c2ac",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",{key:"52033d6f9c4e8ca460bacee6e2b8ea93da3b9eb8",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",{key:"7f0689d1e576d5f0c5324715feaf21ce21c42e97",role:this.accessibleRole},t("caption",{key:"4e18555d5513dde6724a449d12030cc666937367"},t("slot",{key:"df9bcd3bde75a2669a08eb2ff0c67720750e5450",name:"tcaption"})),t("thead",{key:"efbbe81840f6e9ae9e0cc91fee5653c43181f131"},this.hasHeadSlotFirst&&t("tr",{key:"36d1a860bf16229740501f3b076b02125d1b3d85"},t("td",{key:"24c22fca3cbfef4ab9e2582cf32bf967654b8b43",class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{key:"a02148a1d13dc8c3147b26da2f5aa84e3b359cdf",name:"thead-first"}))),this.renderTableHeader(),this.hasHeadSlotLast&&t("tr",{key:"7b7ab392f982f5f7ce4caa5e86f7a1062412aad2"},t("td",{key:"cd739dea8b81f3290bb86d7e977fa83d124fdd03",class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{key:"068a9f86388a25ca00944d8e9ecfbed6cf0e2cfe",name:"thead-last"})))),t("tbody",{key:"f65077b6dee57c962826c459ddb044d4230753c5"},this.renderTableBody()),this.hasFootSlot&&t("tfoot",{key:"eceeface4ad0a0bbb15dc188a343291cef04ec72"},t("tr",{key:"aff41dc81c24e09a03db4742bf6d51c17b8ce937"},t("td",{key:"5d332218393462356c02ca19ff9c3398fbeb89a7",class:"duet-editable-table-footer-menu",colSpan:99},t("slot",{key:"b438187cfa67ef90452783e9522d106ecf9ab9d3",name:"tfoot"})))))))}get element(){return n(this)}};I.style=":host{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,td.duet-editable-table-actions-menu{position:relative;padding:0 !important;margin:0}.duet-editable-table-actions-menu-button{position:relative;right:-16px;float:right;padding:0}.duet-editable-table-actions-menu-icon .duet-icon{max-width:16px;max-height:16px}.duet-editable-table-row.duet-table-action-row .duet-text-right{text-align:right}.duet-editable-table-header tr .duet-editable-table-header-hidden{padding:0 !important;font-size:0;border-bottom:0}";const N=t=>t.replace("rgb(","").replace(")",""),O=`\nduet-table {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n margin-bottom: ${m} !important;\n display: block;\n font-variant-numeric: tabular-nums;\n\n table,\n thead,\n tbody,\n tfoot,\n th,\n td,\n tr {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n }\n\n &.duet-m-0 {\n margin: 0 !important;\n }\n\n table {\n width: 100%;\n font-family: ${f};\n font-size: ${g};\n text-align: left;\n border-spacing: 0;\n border-collapse: separate;\n }\n\n &.duet-table-hide-head-visually.duet-table-hide-head-visually {\n thead,\n thead * {\n position: absolute !important;\n top: 0;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n border: 0 !important;\n }\n }\n\n &.duet-theme-turva table {\n font-family: ${y};\n }\n\n td {\n -webkit-hyphens: auto;\n hyphens: auto;\n color: ${v};\n }\n\n &.duet-theme-turva td {\n color: ${k};\n }\n\n th {\n font-weight: ${x};\n line-height: ${w};\n color: ${$};\n text-align: left;\n }\n\n &.duet-theme-turva th {\n color: ${T};\n }\n\n tbody th {\n font-weight: ${x};\n color: ${v};\n }\n\n &.duet-theme-turva tbody th {\n color: ${k};\n }\n\n & .duet-table-action-row {\n & td:last-child {\n justify-self: end;\n padding-right: ${m} !important;\n white-space: nowrap;\n }\n }\n\n span.duet-table-cell-heading {\n display: none;\n }\n}\n\n.duet-table-flattened {\n table,\n thead,\n tbody,\n tfoot,\n th,\n td,\n tr {\n display: block;\n }\n\n thead tr {\n position: absolute !important;\n top: 0;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n border: 0 !important;\n }\n\n td {\n line-height: ${w};\n\n &:not(:last-child) {\n margin-bottom: ${L};\n }\n\n span.duet-table-cell-heading {\n margin-bottom: ${j};\n display: block;\n font-size: ${g};\n font-weight: ${x};\n color: ${v};\n }\n }\n\n &.duet-theme-turva td span.duet-table-cell-heading {\n color: ${k};\n }\n\n tbody td,\n tbody th,\n tfoot td {\n padding: 0 !important;\n text-align: left !important;\n }\n\n tbody th {\n font-weight: ${x};\n line-height: ${w};\n color: ${$};\n text-align: left;\n }\n}\n\n.duet-table-sticky thead th {\n position: sticky;\n top: 0;\n background: ${E};\n}\n\n.duet-table-striped {\n td,\n th {\n padding: ${m} !important;\n @media ${z.replace("'","").replace("'","")} {\n padding: ${m} ${M} !important;\n }\n }\n\n tbody th {\n background: ${E};\n }\n\n &.duet-table-sticky {\n thead th {\n border-bottom: 1px solid ${S};\n }\n\n &.duet-theme-turva thead th {\n border-bottom-color: ${D};\n }\n }\n\n tbody:not(:first-of-type) th {\n padding-top: calc(${m} * 2) !important;\n }\n\n tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba(4, 81, 128, 0.04);\n }\n\n &.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba(${N(k)}, 0.04);\n }\n\n tbody:not(:only-of-type) tr:nth-of-type(even) {\n background: rgba(4, 81, 128, 0.04);\n }\n\n &.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even) {\n background: rgba(${N(k)}, 0.04);\n }\n\n tfoot td {\n border-top: 1px solid ${S};\n }\n\n &.duet-theme-turva tfoot td {\n border-top-color: ${D};\n }\n\n &.duet-table-flattened {\n tbody:not(:first-of-type) th {\n padding-top: ${m} !important;\n }\n\n tr {\n padding: ${m} !important;\n }\n\n tfoot {\n td {\n border-top: 0;\n }\n\n tr {\n border-top: 1px solid ${S};\n }\n }\n\n &.duet-theme-turva tfoot tr {\n border-top-color: ${D};\n }\n }\n}\n\n.duet-table-plain, .duet-table-fixed, .duet-table-minimal {\n th {\n padding: ${L} !important;\n border-bottom: 1px solid ${$};\n\n &:first-child {\n padding-left: 0 !important;\n }\n\n &:last-child {\n padding-right: 0 !important;\n }\n }\n\n &.duet-theme-turva th {\n border-bottom-color: ${F};\n }\n\n tbody th {\n padding-top: calc(${m} * 2) !important;\n border-bottom-color: ${S};\n }\n\n &.duet-theme-turva tbody th {\n border-bottom-color: ${D};\n }\n\n td {\n padding: ${L} !important;\n\n &:first-child {\n padding-left: 0 !important;\n }\n\n &:last-child {\n padding-right: 0 !important;\n }\n }\n\n tbody td {\n border-bottom: 1px solid ${S};\n }\n\n &.duet-theme-turva tbody td {\n border-bottom-color: ${D};\n }\n\n &.duet-table-flattened {\n tbody:first-of-type th {\n padding-top: 0 !important;\n }\n\n td,\n tbody th {\n border-bottom: 0;\n }\n\n tr {\n padding: ${m} 0 !important;\n }\n\n tbody th {\n padding-top: ${m} !important;\n }\n\n tfoot td {\n margin-bottom: ${j} !important;\n }\n\n tbody:not(:only-of-type) tr:first-child {\n border-bottom: 0;\n }\n }\n}\n\n.duet-table-plain {\n\n &.duet-table-flattened {\n tbody tr {\n border-bottom: 1px solid ${S};\n }\n\n &.duet-theme-turva tbody tr {\n border-bottom-color: ${D};\n }\n }\n}\n\n.duet-table-minimal {\n\n tbody tr,\n tbody tr td {\n vertical-align: top;\n border-bottom: 0 none;\n }\n\n tbody tr:last-of-type,\n tbody tr:last-of-type td {\n border-bottom: 1px solid ${S};\n }\n\n &.duet-table-flattened {\n tbody tr,\n tbody tr td {\n border-bottom: 0 none;\n }\n\n tbody tr td[data-heading]::before {\n display: none;\n }\n\n tfoot {\n border-top: 1px solid ${S};\n }\n\n &.duet-theme-turva tfoot {\n border-top-color: ${D};\n }\n }\n}\n\n.duet-table-fixed {\n\n table {\n table-layout: fixed;\n }\n\n tbody tr,\n tbody tr td,\n tbody tr td:first-child {\n padding: 4px !important;\n vertical-align: text-bottom;\n border-bottom: 0 none;\n }\n\n thead {\n display: none;\n }\n\n tbody tr,\n tbody tr td {\n border-bottom: 0 none;\n }\n\n &:not(.duet-table-flattened) {\n tfoot {\n border-top: 1px solid ${S};\n }\n\n &.duet-theme-turva tfoot {\n border-top-color: ${D};\n }\n }\n}\n.duet-table-scrollable {\n position: relative;\n width: 100%;\n overflow-x: auto;\n 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%;\n background-repeat: no-repeat;\n background-attachment: local, local, scroll, scroll;\n background-size: 100px 100%, 100px 100%, 12px 100%, 12px 100%;\n}\n\n.duet-table-selected-column {\n background: rgba(${N(C)}, 0.08);\n\n .duet-theme-turva & {\n background: rgba(${N(F)}, 0.08);\n }\n}\n\n.duet-table-sortable {\n tbody tr td:first-child,\n thead tr th:first-child {\n padding: ${m};\n }\n\n &:not(.duet-table-flattened) {\n tfoot {\n border-top: 1px solid ${S};\n }\n\n &.duet-theme-turva tfoot {\n border-top-color: ${D};\n }\n }\n}\n\n\n.duet-table-actions {\n table {\n table-layout: auto;\n }\n\n thead {\n & th:last-child {\n width: 1px;\n white-space: nowrap;\n }\n }\n}\n\n.duet-editable-table-table.duet-table-flattened {\n tr {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n grid-auto-rows: auto;\n gap: 10px;\n\n &.duet-table-action-row td:last-child::before {\n padding: 0;\n content: "";\n }\n }\n\n td {\n grid-column: 1 / 2;\n\n &:first-child {\n grid-row: 1;\n grid-column: 1;\n }\n\n &:last-child {\n grid-row: 1;\n grid-column: 2;\n }\n }\n\n duet-table.duet-theme-turva2 {\n &.duet-theme-turva td {\n color: $color-turva2-gray-900;\n }\n\n &.duet-theme-turva tbody th {\n color: $color-turva2-gray-900;\n }\n\n &.duet-table-striped.duet-theme-turva.duet-table-sticky thead {\n th,\n td {\n border-bottom-color: $color-turva-nude-100;\n }\n }\n\n &.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba($color-turva2-gray-900, 0.04);\n }\n\n &.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even) {\n background: rgba($color-turva2-gray-900, 0.04);\n }\n\n &.duet-table-striped.duet-theme-turva tfoot td {\n border-top-color: $color-turva-nude-100;\n }\n\n &.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr {\n border-top-color: $color-turva-nude-100;\n }\n\n &.duet-table-plain.duet-theme-turva tbody {\n th,\n td {\n border-bottom-color: $color-turva-nude-100;\n }\n }\n\n &.duet-table-plain.duet-theme-turva tbody td {\n border-bottom-color: $color-turva-nude-100;\n }\n\n &.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr {\n border-bottom-color: $color-turva-nude-100;\n }\n\n &.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot {\n border-top-color: $color-turva-nude-100;\n }\n\n &.duet-table-fixed.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: $color-turva-nude-100;\n }\n\n &.duet-table-sortable.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: $color-turva-nude-100;\n }\n }\n}\n`.replace(/[\n\r\t]/gm,""),Y={none:0,"with-links":16*parseFloat(_),"without-links":16*parseFloat(R)},V=class{constructor(t){e(this,t),this.headingSelector="thead tr > :not(*.duet-editable-table-actions-menu)",this.matchesBreakpoint=!0,this.language=h(),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.hideHeadVisually=!1,this.handleMediaQueryChange=t=>{this.matchesBreakpoint=P.includes(this.breakpoint)?!t.matches:t.matches}}watchLanguageStateHandler(t,e){t!==e&&setTimeout((()=>this.copyHeadingsToCells()),50)}connectedCallback(){!function(t){const e=t.getRootNode();if(e instanceof ShadowRoot){const t=new CSSStyleSheet;t.replace(O).then((()=>{e.adoptedStyleSheets.push(t)}))}else{if(document.querySelector("style#duet-table-styles"))return;const t=document.createElement("style");t.id="duet-table-styles",t.innerHTML=O,document.head.append(t)}}(this.element),this.mq=matchMedia("none"===this.breakpoint||"none-scrollable"===this.breakpoint?"all":U[this.breakpoint]),this.mq.addEventListener("change",r(this.handleMediaQueryChange,50)),this.handleMediaQueryChange(this.mq),this.observer=new MutationObserver((()=>r(this.copyHeadingsToCells(),50))),this.observer.observe(this.element,{childList:!0,subtree:!0})}componentWillLoad(){if(o(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=Y[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,c(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 n=document.createElement("span");n.textContent=i[e],n.classList.add("duet-table-cell-heading"),n.setAttribute("aria-hidden","true"),n.inert=!0,t.prepend(n)}}}))}))}render(){return t(a,{key:"67be51f9c66e5e52789ede10d31aaa34da556e3b",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",{key:"f20fd89d6078307f21e60a3c772e0719e78a94f7"}))}get element(){return n(this)}static get watchers(){return{language:["watchLanguageStateHandler"]}}};var J=[{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."}}];const X={fi:"Liiteluettelo",sv:"Lista över bilagor",en:"Attachments list"},K=({label:e,categoryLabel:i})=>t("div",{class:"items-header",tabindex:"-1","aria-label":p(X)},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))),G=(t,e,i)=>{const{allowedMimetypes:a,allowedExtensions:n,maxBytes:s}=e;let o=!1,d=H("default",i);if(t){const{name:e,type:r,size:l}=t,h=((t,e)=>{if(!e||!t)return!0;const i=e.split(",");let a=!1;return i.forEach((e=>{const i=e.split("/"),n=t.split("/");i[0]!==n[0]||i[1]!==n[1]&&"*"!==i[1]||(a=!0)})),a})(r,a),u="all"===n||""===n||" "===n||void 0===n||((t,e)=>{if(!e)return!0;const i=t.split(".");return e.split(",").includes(i[i.length-1])})(e.toLowerCase(),n),c=((t,e)=>!e||!t||e>=t)(l,s);h||(d=H("duet-upload-101",i)),u||(d=H("duet-upload-100",i)),c||(d=H("duet-upload-201",i)),o=h&&u&&c}else o=!1;return{valid:o,errorMessage:o?void 0:p(d.message),errorSystem:o?void 0:d.system_message,errorType:o?void 0:d.type}},Q=({payload:t,options:e,onFailure:i,onSuccess:a,onProgress:n})=>{const{type:s="POST",xhr:o,uri:d,argument:r=null,headers:l=null}=e;o.open(s,`${d}${r||""}`,!0);const{data:h,name:u}=t;return l&&Object.keys(l).forEach((t=>{o.setRequestHeader(t,l[t])})),"POST"===s&&(o.onreadystatechange=()=>{o.readyState===XMLHttpRequest.DONE&&o.status>=200&&o.status<300&&a(o,u,o.status),o.readyState===XMLHttpRequest.DONE&&o.status>=300&&o.status<999&&i(o,u,o.status)},n(u)),o.send(h),o},Z=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.tick=Date.now(),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.showLinks=!1,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.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=J,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.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.actionButtonTitles={cancel:!1,delete:!1},this.renameDuplicates=!1,this.buttonId=A("DuetButton"),this.labelId=A("DuetLabel"),this.uploadId=A("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.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"}}],this.kick=r((()=>{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:n}=e;switch(i){case"delete":this.onDelete(a,n);break;case"cancel":this.onCancel(a,n)}}))},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,n)=>i===this.DefaultGroups.success?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"success",data:e,showLinks:this.showLinks,linkClickEvent:this.emitEvent?this.linkClick:void 0,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.inprogress?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"inprogress",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.pending?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"pending",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.failure?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"failure",data:e,showLinks:this.showLinks,errorCodes:this.errorCodes,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,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",B("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",B("duet-upload-202",this.errorCodes),!1),i&&t&&this.updateValueInMap(t,"error",B("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:n,fileMaxReached:s}=this.validateTotals();this.handleExternalUploadButton(n,s),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:n,fileMaxReached:s}=this.validateTotals();if(this.handleExternalUploadButton(n,s),!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=[],n=[];let s=!1;return t.forEach((t=>{const o=this.getGroupFromItemData(t);t.meta&&t.meta.badges&&(s=!0),o===this.DefaultGroups.success?n.push({uid:t.uid,data:t}):o===this.DefaultGroups.inprogress?e.push({uid:t.uid,data:t}):o===this.DefaultGroups.pending?a.push({uid:t.uid,data:t}):o===this.DefaultGroups.failure?i.push({uid:t.uid,data:t}):t.group&&e.push({uid:t.uid,data:t})})),{pending:a,failure:i,success:n,inprogress:e,hasCategory:s}},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,n=this.groups.map((n=>{const o=e[n.id];if(null==o?void 0:o.length)return t(s,null,!this.hideGroups&&t(K,{categoryLabel:i?this.categoryLabel:void 0,label:n.label}),o.map((t=>this.mapFilesToUploadItems(t.data,n.id,i,a))))}));return t(s,null,this.showUploadedItemsHeader&&t(K,{categoryLabel:i?this.categoryLabel:void 0,label:this.uploadedItemsHeaderLabel}),n)}}watchValidHandler(t,e){t!==e&&this.kick()}componentWillLoad(){this.internalStatusMessageLabel="string"==typeof this.statusMessageLabel?b(this.groups):this.statusMessageLabel,o(this),this.listenForActionEvents(),this.onReady(),this.externalUploadButton=document.querySelector(`#${this.externalUploadButtonId}`),this.processedButtonTitles=W(this.actionButtonTitles)}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),n=Math.round(this.maxBytes/1024/1024);let o=this.description.replace(/{maxfiles}/g,this.maxFiles.toString());return o=o.replace(/{maxbytes}/g,`${n.toString()} MB`),o=o.replace(/{maxbytestotal}/g,`${i.toString()} MB`),o=o.replace(/{filetypes}/g,this.allowedExtensions.split(",").join(", ")),this.externalUploadButton&&(this.externalUploadButton.accessibleLabel=`${this.externalUploadButton.innerText}. ${o}`),t(a,{key:"778bd75c9be94d65bb9722e49f919ebe96d0232d",class:{"duet-m-0":"none"===this.margin}},t("duet-fieldset",{key:"86cb01a83aaa8b07b30a0dea14df211cba69f3ab","label-heading-level":this.headerHeadingLevel,"label-hidden":this.hideHeader,label:this.label},t("slot",{key:"4bde3430f3d36cb1220fc12bbb801eafe70c4e91",name:"header"}),!this.files.size&&t("duet-empty-state",{key:"3427abd455392d8063bd85a3396a831efc5f099e",id:this.labelId,part:this.identifier?`${this.identifier}-empty-state`:"duet-upload-empty-state",icon:"messaging-attachment"},t("duet-paragraph",{key:"5c46fc6e79ad3427d705d237cbb7cbc271179c3f",margin:"none"},this.fileListEmpty)),!!this.files.size&&t("slot",{key:"bd7345b68ba7339c2163a07055bcd0195be06974",name:"fileheader"}),!!this.files.size&&t("duet-upload-aria-status",{key:"3d4316e1a725d9c76b077d6f7af8f7e555070aa3",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",{key:"37e2422249ea697845dc47e1e793feef29927186",name:"filefooter"}),t("slot",{key:"0056e0dd3847319978358fee188d82398c06c9a1",name:"uploadfooter"}),this.captionOnBottom&&t("duet-caption",{key:"962a0485219f6a4a0d983d362860aa9caaecdd9c",margin:"none",size:"small"},t("div",{key:"c0e53f5f8e508406eb2b79bc3aca2e6d9c91ac42",class:"upload-bottom-caption"},o)),t("slot",{key:"7476632f57f0516caff8967a08d7c011c4859c21",name:"afterfooter"}),!this.hideButton&&t(s,{key:"3f7e814dd7256beee8db3e8393b837be7da1f8a8"},t("duet-spacer",{key:"8ef3e7422cfa406c721cdc843ad2625c64dd4f7b",size:"large"}),t("duet-button",{key:"b3af8fa02fea6339f92b3e5fe46b4259392357fa",id:this.buttonId,onClick:this.startUpload,"accessible-controls":e,disabled:this.fileMaxReached,"accessible-label":this.accessibleButtonLabel||`${this.buttonLabel}. ${o}`,"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(s,{key:"51436c684d7830dac19f0cfac75b85b85945aaa9"},t("duet-spacer",{key:"5d32c83854ace51e13433bd001d936d61ffd2a3c",size:"medium"}),t("duet-alert",{key:"97960577cf5e708740f6b68d6a7e242b696e7378",part:this.identifier?`${this.identifier}-error-notification`:"duet-upload-error-notification"},this.fileMaxReached&&B("duet-upload-301",this.errorCodes),this.bytesMaxReached&&B("duet-upload-202",this.errorCodes),this.filesToUploadExceedsLimit&&B("duet-upload-302",this.errorCodes),this.filesToUploadTotalSizeIsAboveMax&&B("duet-upload-203",this.errorCodes))),t("duet-visually-hidden",{key:"d1063962b250be5515cf9e98738b0b2ddb437d80","aria-hidden":"true"},t("input",{key:"b7e46fbc27706de8c6159467c471c81834663b65",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)),Q(a)}makeXHRDeleteRequest(t){const{uid:e,item:i}=t,a=new XMLHttpRequest;let n={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&&(n=this.middleware(n)),Q(n)}escapeSpecialCharacters(t){return(t+"").replace(/[\\"'(){}\[\]*?$^+]/g,"\\$&").replace(/\u0000/g,"\\0")}getRenamedFileName(t,e){const i=new RegExp(`${this.escapeSpecialCharacters(t)} \\(\\d+\\).${e}`),a=Array.from(this.files.entries()).map((t=>{const[e,i]=t;return e})).filter((a=>i.test(a)||a===`${t}.${e}`)).sort(((t,e)=>t.split(".").slice(0,-1).join(".")>e.split(".").slice(0,-1).join(".")?1:-1)).pop().split(".").slice(0,-1).join(".");if(a===t)return`${t} (1).${e}`;const n=parseInt(a.split("(").pop().slice(0,-1));return`${t} (${n+1}).${e}`}renameFiles(t){return t.map((t=>{if(this.files.get(t.name)){const e=t.name.split("."),i=e.pop(),a=e.join("."),n=this.getRenamedFileName(a,i);return new File([t],n,{type:t.type,lastModified:t.lastModified})}return t}))}async onChange(t){var e;let 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){this.renameDuplicates&&(i=this.renameFiles(i));for(const t of i){const{valid:e,errorMessage:i,errorType:a,errorSystem:n}=G(t,{maxBytes:this.maxBytes,allowedExtensions:this.allowedExtensions,allowedMimetypes:this.allowedMimetypes},this.errorCodes),s={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:n},progress:0,deleted:!1,xhr:!1,url:!1};this.files.set(t.name,s),e&&!this.external?await this.uploadFile(s):e&&this.external?(this.updateValueInMap(s.item.name,"pending",!0,!1),this.updateValueInMap(s.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 n(this)}static get watchers(){return{valid:["watchValidHandler"]}}};Z.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(212, 223, 229)}@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{I as duet_editable_table,V as duet_table,Z as duet_upload}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{E as t,r as e,h as i,H as s,g as o}from"./p-CUNSbdt4.js";import{i as a}from"./p-BI7G8d3Z.js";import{g as n,r as d}from"./p-DyjhCDQL.js";import"./p-D5_4M8f7.js";const h=t=>{if("script"===t.nodeName.toLowerCase())return!1;for(let e=0;e<t.attributes.length;e++)if(0===t.attributes[e].name.toLowerCase().indexOf("on"))return!1;if(t.children)for(let e=0;e<t.children.length;e++)if(!h(t.children[e]))return!1;return!0},r={};const u=class{constructor(t){e(this,t),this.theme="",this.name="action-add",this.margin="auto",this.responsive=!0,this.color="",this.background="",this.backgroundOpacity=1,this.backgroundRotation=0,this.size="medium",this.outline="",this.shape="circle"}async componentWillLoad(){a(this),this.src&&this.icon&&console.warn("[DUET COMPONENTS]: <duet-icon> should have either have src or icon attributes, but not both. icon attribute will take precedence","icon:",this.icon,"src:",this.src),await this.loadIcon(null,null)}async loadIcon(e,i){if(this.icon)return void(this.svgContent=this.icon);if(this.element.shadowRoot.querySelector("svg")&&!this.svgContent){if(null===i&&null===e)return;if(this.element.shadowRoot.querySelector(`.duet-icon-svg[data-name="${e}"]`))return}const s=this.src?this.src:this.name?(e=>{const i=window.duetcdnuri?window.duetcdnuri:t.cdnURIProd;return i.includes("localhost")?`${i}/icons/lib/assets/${e}.svg`:`${i}/icons/${t.duetIconVersion}/lib/assets/${e}.svg`})(this.name):"";if(s)try{this.svgContent=await function(t){if(r[t])return r[t];const e=async function(){const e=await fetch(t);if(!e.ok)throw new Error(`SVG request failed: ${e.status} ${e.statusText}`);const i=(t=>{if("undefined"==typeof document||!t)return;const e=document.createElement("div");e.innerHTML=t;for(let t=e.childNodes.length-1;t>=0;t--)"svg"!==e.childNodes[t].nodeName.toLowerCase()&&e.removeChild(e.childNodes[t]);return e.firstElementChild})(await e.text());if(!h(i))throw new Error("SVG validation failed");const s=document.createElement("div");return s.appendChild(i),s.innerHTML}();return r[t]=e}(s)}catch(t){console.warn(`[DUET COMPONENTS]: <duet-icon> could not load SVG from URL: ${s}.`,t)}else this.svgContent=""}render(){const t="currentColor"===this.color?"currentColor":n(this.color,this.theme)||n(this.outline,this.theme),e=this.backgroundRotation?{transform:`rotate(${this.backgroundRotation}deg)`,"transform-origin":"center center"}:{},o=Object.assign({color:t,background:d(n(this.background,this.theme),this.backgroundOpacity),"border-color":n(this.outline,this.theme)},e),a=Object.assign({},this.backgroundRotation?{transform:`rotate(-${this.backgroundRotation}deg)`,"transform-origin":"center center"}:{}),h="brand-rotated"===this.shape?"duet-icon-shape-brand":`duet-icon-shape-${this.shape}`;return i(s,{key:"8c71cfdee48ff45d0e1bb65c133ed33cceb1a9f3",class:{"duet-m-0":"none"===this.margin,"duet-icon-has-outline":!!this.outline,"duet-icon-has-background":!!this.background}},i("span",{key:"109821efbfa23ed2d50c72bfb036f900eae08f01","aria-hidden":"true",style:o,class:{"duet-icon":!0,"duet-theme-turva":"turva"===this.theme,"duet-theme-default":"default"===this.theme,"duet-icon-has-outline":!!this.outline,"duet-icon-has-background":!!this.background,[h]:!0,rotated:"brand-rotated"===this.shape&&"turva"!==this.theme,"duet-icon-not-responsive":!this.responsive}},i("span",{key:"5c14e77686beeca052caed3777bab1e55676d010","aria-hidden":"true",class:{"duet-icon-svg":!0,rotated:"brand-rotated"===this.shape&&"turva"!==this.theme},"data-name":this.name,innerHTML:this.svgContent,style:a})))}get element(){return o(this)}static get watchers(){return{src:["loadIcon"],icon:["loadIcon"],name:["loadIcon"]}}};u.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;margin-bottom:16px !important;display:inline-block;width:auto;max-width:100%;color:inherit;-webkit-tap-highlight-color:transparent}@media (max-width: 35.9375em){:host(.duet-icon-has-outline){margin-bottom:0 !important}}@media (max-width: 35.9375em){:host(.duet-icon-has-background){margin-bottom:0 !important}}:host(.duet-m-0){margin:0 !important}@media (max-width: 35.9375em){:host(.duet-m-0){margin:0 !important}}.duet-icon{-webkit-user-select:none;user-select:none;display:block;width:100%;height:100%;transform-origin:top center}.duet-icon.duet-icon-has-outline{padding:12px;border-style:solid;border-width:1px}@media (max-width: 35.9375em){.duet-icon.duet-icon-has-outline{outline:1px solid transparent;transform:scale(0.8)}}.duet-icon.duet-icon-has-background{padding:16px;color:rgb(255, 255, 255)}@media (max-width: 35.9375em){.duet-icon.duet-icon-has-background{outline:1px solid transparent;transform:scale(0.8)}}.duet-icon.duet-icon-has-background.duet-theme-turva,.duet-icon.duet-icon-has-background.duet-theme-default{color:rgb(255, 255, 255)}.duet-icon.duet-icon-shape-circle{border-radius:50%}.duet-icon.duet-icon-shape-brand{border-radius:25%}@media (max-width: 35.9375em){.duet-icon.duet-icon-not-responsive{transform:scale(1) !important}}.duet-icon.duet-theme-default{color:rgb(0, 119, 179)}.duet-icon.duet-theme-turva{color:rgb(198, 12, 48)}.duet-icon.duet-icon-shape-brand.rotated{transform:rotate(7deg) scale(0.875);transform-origin:center}.duet-icon.duet-icon-shape-brand.duet-theme-turva{display:flex;align-items:center;justify-content:center;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 144 130' fill='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M67.4002 0.00277722C71.354 0.0260204 75.7751 0.261773 80.1626 0.90262C83.3916 1.37412 86.6046 1.97513 89.824 2.51802C91.5585 2.81022 93.3026 3.05925 95.0291 3.3996C102.623 4.89215 109.884 7.35924 116.592 11.4152C122.597 15.0478 127.726 19.7163 131.919 25.4756C135.024 29.7374 137.515 34.3662 139.4 39.3319C140.317 41.7459 141.075 44.2262 141.854 46.695C142.021 47.2196 141.984 47.8157 142.021 48.3801C142.354 53.5833 142.664 58.7864 143.018 63.9879C143.237 67.2021 143.528 70.4097 143.768 73.6206C144.067 77.5985 144.095 81.578 143.746 85.5576C143.501 88.3567 143.106 91.1293 142.437 93.8537C141.117 99.2395 138.941 104.207 135.603 108.58C132.414 112.759 128.49 116.036 123.975 118.561C120.429 120.544 116.702 122.058 112.824 123.175C109.121 124.241 105.361 125.011 101.548 125.493C100.916 125.572 100.351 125.768 99.783 126.074C98.1525 126.95 96.3956 127.47 94.6163 127.912C91.4225 128.705 88.1775 129.168 84.9149 129.495C83.0572 129.681 81.1978 129.838 79.3385 129.995C79.1337 130.012 78.9097 129.985 78.7161 129.916C76.2087 129.009 73.6566 128.255 71.0356 127.825C68.8547 127.467 66.6529 127.135 64.4512 127.047C58.4156 126.809 52.54 125.717 46.7989 123.809C40.8193 121.822 35.1245 119.181 29.8458 115.634C24.3911 111.97 19.5668 107.566 15.4705 102.313C10.9582 96.5267 7.406 90.1597 4.73864 83.2598C2.95772 78.6544 1.67604 73.8978 0.898394 68.9935C0.328759 65.3975 0.0183391 61.7798 0.000737963 58.1373C-0.0120628 55.3132 0.141547 52.4992 0.471168 49.6934C0.867992 46.3131 1.46643 42.9728 2.35449 39.6955C2.6121 38.7458 3.02813 37.8327 3.44735 36.9395C4.105 35.5366 4.70343 34.0773 5.54829 32.8006C7.15959 30.3683 8.51487 27.8182 9.53734 25.0705C9.60134 24.8962 9.71655 24.7302 9.84136 24.5957C12.1119 22.1535 14.5201 19.8674 17.0514 17.7191C23.9622 11.8551 31.6315 7.39743 40.0769 4.39076C44.0019 2.99285 48.023 1.97015 52.1144 1.24795C56.6011 0.45934 62.4495 -0.0420489 67.4002 0.00277722Z' /%3E%3C/svg%3E\");-webkit-mask-repeat:no-repeat;mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 144 130' fill='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M67.4002 0.00277722C71.354 0.0260204 75.7751 0.261773 80.1626 0.90262C83.3916 1.37412 86.6046 1.97513 89.824 2.51802C91.5585 2.81022 93.3026 3.05925 95.0291 3.3996C102.623 4.89215 109.884 7.35924 116.592 11.4152C122.597 15.0478 127.726 19.7163 131.919 25.4756C135.024 29.7374 137.515 34.3662 139.4 39.3319C140.317 41.7459 141.075 44.2262 141.854 46.695C142.021 47.2196 141.984 47.8157 142.021 48.3801C142.354 53.5833 142.664 58.7864 143.018 63.9879C143.237 67.2021 143.528 70.4097 143.768 73.6206C144.067 77.5985 144.095 81.578 143.746 85.5576C143.501 88.3567 143.106 91.1293 142.437 93.8537C141.117 99.2395 138.941 104.207 135.603 108.58C132.414 112.759 128.49 116.036 123.975 118.561C120.429 120.544 116.702 122.058 112.824 123.175C109.121 124.241 105.361 125.011 101.548 125.493C100.916 125.572 100.351 125.768 99.783 126.074C98.1525 126.95 96.3956 127.47 94.6163 127.912C91.4225 128.705 88.1775 129.168 84.9149 129.495C83.0572 129.681 81.1978 129.838 79.3385 129.995C79.1337 130.012 78.9097 129.985 78.7161 129.916C76.2087 129.009 73.6566 128.255 71.0356 127.825C68.8547 127.467 66.6529 127.135 64.4512 127.047C58.4156 126.809 52.54 125.717 46.7989 123.809C40.8193 121.822 35.1245 119.181 29.8458 115.634C24.3911 111.97 19.5668 107.566 15.4705 102.313C10.9582 96.5267 7.406 90.1597 4.73864 83.2598C2.95772 78.6544 1.67604 73.8978 0.898394 68.9935C0.328759 65.3975 0.0183391 61.7798 0.000737963 58.1373C-0.0120628 55.3132 0.141547 52.4992 0.471168 49.6934C0.867992 46.3131 1.46643 42.9728 2.35449 39.6955C2.6121 38.7458 3.02813 37.8327 3.44735 36.9395C4.105 35.5366 4.70343 34.0773 5.54829 32.8006C7.15959 30.3683 8.51487 27.8182 9.53734 25.0705C9.60134 24.8962 9.71655 24.7302 9.84136 24.5957C12.1119 22.1535 14.5201 19.8674 17.0514 17.7191C23.9622 11.8551 31.6315 7.39743 40.0769 4.39076C44.0019 2.99285 48.023 1.97015 52.1144 1.24795C56.6011 0.45934 62.4495 -0.0420489 67.4002 0.00277722Z' /%3E%3C/svg%3E\");mask-repeat:no-repeat;mask-position:center}.duet-icon.duet-icon-shape-brand.duet-theme-turva .duet-icon-svg{min-width:auto}.duet-icon .duet-icon-svg{display:block;width:24px;min-width:100%;height:24px;font-size:0}.duet-icon .duet-icon-svg.rotated{transform:rotate(-7deg) scale(1.14)}.duet-icon svg{width:100%;min-width:100%;overflow:clip;fill:currentColor;overflow-clip-margin:1px}:host([size=auto]) .duet-icon-svg{width:100%;height:100%}:host([size=xxx-small]) .duet-icon-svg{width:7px;height:7px}:host([size=xxx-small]) .duet-icon-has-background{padding:6px}:host([size=xxx-small]) .duet-icon-has-outline{padding:4px}:host([size=xxx-small]) .duet-icon-has-background .duet-icon-svg,:host([size=xxx-small]) .duet-icon-has-outline .duet-icon-svg{width:10px;height:10px}:host([size=xxx-small]) .duet-icon-shape-brand{padding:0}:host([size=xxx-small]) .duet-icon-shape-brand .duet-icon-svg{width:0;height:0}:host([size=xx-small]) .duet-icon-svg{width:10px;height:10px}:host([size=xx-small]) .duet-icon-has-background{padding:8px}:host([size=xx-small]) .duet-icon-has-outline{padding:7px}:host([size=xx-small]) .duet-icon-has-background .duet-icon-svg,:host([size=xx-small]) .duet-icon-has-outline .duet-icon-svg{width:16px;height:16px}:host([size=xx-small]) .duet-icon-shape-brand{padding:4px}:host([size=xx-small]) .duet-icon-shape-brand .duet-icon-svg{width:10px;height:10px}:host([size=xx-small]) .duet-theme-turva .duet-icon-shape-brand{width:18px;height:15px;padding:0}:host([size=x-small]) .duet-icon-svg{width:16px;height:16px}:host([size=x-small]) .duet-icon-has-outline{padding:10px}:host([size=x-small]) .duet-icon-has-background{padding:12px}:host([size=x-small]) .duet-icon-shape-brand{padding:8px}:host([size=x-small]) .duet-icon-shape-brand .duet-icon-svg{width:16px;height:16px}:host([size=x-small]) .duet-theme-turva .duet-icon-shape-brand{width:32px;height:30px;padding:0}:host([size=small]) .duet-icon-svg{width:20px;height:20px}:host([size=small]) .duet-icon-has-background{padding:14px}:host([size=small]) .duet-icon-shape-brand{padding:8px}:host([size=small]) .duet-icon-shape-brand .duet-icon-svg{width:20px;height:20px}:host([size=small]) .duet-theme-turva .duet-icon-shape-brand{width:36px;height:34px;padding:0}:host([size=medium]) .duet-icon-shape-brand{padding:12px}:host([size=medium]) .duet-icon-shape-brand .duet-icon-svg{width:24px;height:24px}:host([size=medium]) .duet-theme-turva .duet-icon-shape-brand{width:48px;height:44px;padding:0}:host([size=large]) .duet-icon-svg{width:30px;height:30px}:host([size=large]) .duet-icon-shape-brand{padding:16px}:host([size=large]) .duet-icon-shape-brand .duet-icon-svg{width:30px;height:30px}:host([size=large]) .duet-theme-turva .duet-icon-shape-brand{width:62px;height:56px;padding:0}:host([size=x-large]) .duet-icon-svg{width:36px;height:36px}:host([size=x-large]) .duet-icon-shape-brand{padding:20px}:host([size=x-large]) .duet-icon-shape-brand .duet-icon-svg{width:36px;height:36px}:host([size=x-large]) .duet-theme-turva .duet-icon-shape-brand{width:76px;height:68px;padding:0}:host([size=xx-large]) .duet-icon-svg{width:48px;height:48px}:host([size=xx-large]) .duet-icon-shape-brand{padding:24px}:host([size=xx-large]) .duet-icon-shape-brand .duet-icon-svg{width:48px;height:48px}:host([size=xx-large]) .duet-theme-turva .duet-icon-shape-brand{width:95px;height:86px;padding:0}:host([size=xxx-large]) .duet-icon-svg{width:48px;height:48px}@media (min-width: 48em){:host([size=xxx-large]) .duet-icon-svg{width:72px;height:72px}}:host([size=xxx-large]) .duet-icon-shape-brand{padding:36px}:host([size=xxx-large]) .duet-icon-shape-brand .duet-icon-svg{width:72px;height:72px}:host([size=xxx-large]) .duet-theme-turva .duet-icon-shape-brand{width:144px;height:130px;padding:0}:host(.duet-theme-turva2) .duet-icon.duet-theme-turva{color:#e61740}:host(.duet-theme-turva2) .duet-icon.duet-theme-turva.duet-icon-has-background{color:rgb(255, 255, 255)}";export{u as duet_icon}
4
+ import{E as t,r as e,h as i,H as s,g as a}from"./p-B_VBeM3r.js";import{i as o}from"./p-DdwVwK5C.js";import{g as n,r as d}from"./p-Dr2j33H2.js";import"./p-Z0D6Gy9e.js";const h=t=>{if("script"===t.nodeName.toLowerCase())return!1;for(let e=0;e<t.attributes.length;e++)if(0===t.attributes[e].name.toLowerCase().indexOf("on"))return!1;if(t.children)for(let e=0;e<t.children.length;e++)if(!h(t.children[e]))return!1;return!0},r={};const u=class{constructor(t){e(this,t),this.theme="",this.name="action-add",this.margin="auto",this.responsive=!0,this.color="",this.background="",this.backgroundOpacity=1,this.backgroundRotation=0,this.size="medium",this.outline="",this.shape="circle"}async componentWillLoad(){o(this),this.src&&this.icon&&console.warn("[DUET COMPONENTS]: <duet-icon> should have either have src or icon attributes, but not both. icon attribute will take precedence","icon:",this.icon,"src:",this.src),await this.loadIcon(null,null)}async loadIcon(e,i){if(this.icon)return void(this.svgContent=this.icon);if(this.element.shadowRoot.querySelector("svg")&&!this.svgContent){if(null===i&&null===e)return;if(this.element.shadowRoot.querySelector(`.duet-icon-svg[data-name="${e}"]`))return}const s=this.src?this.src:this.name?(e=>{const i=window.duetcdnuri?window.duetcdnuri:t.cdnURIProd;return i.includes("localhost")?`${i}/icons/lib/assets/${e}.svg`:`${i}/icons/${t.duetIconVersion}/lib/assets/${e}.svg`})(this.name):"";if(s)try{this.svgContent=await function(t){if(r[t])return r[t];const e=async function(){const e=await fetch(t);if(!e.ok)throw new Error(`SVG request failed: ${e.status} ${e.statusText}`);const i=(t=>{if("undefined"==typeof document||!t)return;const e=document.createElement("div");e.innerHTML=t;for(let t=e.childNodes.length-1;t>=0;t--)"svg"!==e.childNodes[t].nodeName.toLowerCase()&&e.removeChild(e.childNodes[t]);return e.firstElementChild})(await e.text());if(!h(i))throw new Error("SVG validation failed");const s=document.createElement("div");return s.appendChild(i),s.innerHTML}();return r[t]=e}(s)}catch(t){console.warn(`[DUET COMPONENTS]: <duet-icon> could not load SVG from URL: ${s}.`,t)}else this.svgContent=""}render(){const t="currentColor"===this.color?"currentColor":n(this.color,this.theme)||n(this.outline,this.theme),e=this.backgroundRotation?{transform:`rotate(${this.backgroundRotation}deg)`,"transform-origin":"center center"}:{},a=Object.assign({color:t,background:d(n(this.background,this.theme),this.backgroundOpacity),"border-color":n(this.outline,this.theme)},e),o=Object.assign({},this.backgroundRotation?{transform:`rotate(-${this.backgroundRotation}deg)`,"transform-origin":"center center"}:{}),h="brand-rotated"===this.shape?"duet-icon-shape-brand":`duet-icon-shape-${this.shape}`;return i(s,{key:"2f6837b926530cee2afc83a590aa1ccb0dfeca03",class:{"duet-m-0":"none"===this.margin,"duet-icon-has-outline":!!this.outline,"duet-icon-has-background":!!this.background}},i("span",{key:"6fa86044b5f3966537f38590bd12b28b698a080b","aria-hidden":"true",style:a,class:{"duet-icon":!0,"duet-theme-turva":"turva"===this.theme,"duet-theme-default":"default"===this.theme,"duet-icon-has-outline":!!this.outline,"duet-icon-has-background":!!this.background,[h]:!0,rotated:"brand-rotated"===this.shape&&"turva"!==this.theme,"duet-icon-not-responsive":!this.responsive}},i("span",{key:"4ba33bca7da0ccbc0f11b1b5693e7912d0a0d45d","aria-hidden":"true",class:{"duet-icon-svg":!0,rotated:"brand-rotated"===this.shape&&"turva"!==this.theme},"data-name":this.name,innerHTML:this.svgContent,style:o})))}get element(){return a(this)}static get watchers(){return{src:["loadIcon"],icon:["loadIcon"],name:["loadIcon"]}}};u.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;margin-bottom:16px !important;display:inline-block;width:auto;max-width:100%;color:inherit;-webkit-tap-highlight-color:transparent}@media (max-width: 35.9375em){:host(.duet-icon-has-outline){margin-bottom:0 !important}}@media (max-width: 35.9375em){:host(.duet-icon-has-background){margin-bottom:0 !important}}:host(.duet-m-0){margin:0 !important}@media (max-width: 35.9375em){:host(.duet-m-0){margin:0 !important}}.duet-icon{-webkit-user-select:none;user-select:none;display:block;width:100%;height:100%;transform-origin:top center}.duet-icon.duet-icon-has-outline{padding:12px;border-style:solid;border-width:1px}@media (max-width: 35.9375em){.duet-icon.duet-icon-has-outline{outline:1px solid transparent;transform:scale(0.8)}}.duet-icon.duet-icon-has-background{padding:16px;color:rgb(255, 255, 255)}@media (max-width: 35.9375em){.duet-icon.duet-icon-has-background{outline:1px solid transparent;transform:scale(0.8)}}.duet-icon.duet-icon-has-background.duet-theme-turva,.duet-icon.duet-icon-has-background.duet-theme-default{color:rgb(255, 255, 255)}.duet-icon.duet-icon-shape-circle{border-radius:50%}.duet-icon.duet-icon-shape-brand{border-radius:25%}@media (max-width: 35.9375em){.duet-icon.duet-icon-not-responsive{transform:scale(1) !important}}.duet-icon.duet-theme-default{color:rgb(0, 119, 179)}.duet-icon.duet-theme-turva{color:rgb(198, 12, 48)}.duet-icon.duet-icon-shape-brand.rotated{transform:rotate(7deg) scale(0.875);transform-origin:center}.duet-icon.duet-icon-shape-brand.duet-theme-turva{display:flex;align-items:center;justify-content:center;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 144 130' fill='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M67.4002 0.00277722C71.354 0.0260204 75.7751 0.261773 80.1626 0.90262C83.3916 1.37412 86.6046 1.97513 89.824 2.51802C91.5585 2.81022 93.3026 3.05925 95.0291 3.3996C102.623 4.89215 109.884 7.35924 116.592 11.4152C122.597 15.0478 127.726 19.7163 131.919 25.4756C135.024 29.7374 137.515 34.3662 139.4 39.3319C140.317 41.7459 141.075 44.2262 141.854 46.695C142.021 47.2196 141.984 47.8157 142.021 48.3801C142.354 53.5833 142.664 58.7864 143.018 63.9879C143.237 67.2021 143.528 70.4097 143.768 73.6206C144.067 77.5985 144.095 81.578 143.746 85.5576C143.501 88.3567 143.106 91.1293 142.437 93.8537C141.117 99.2395 138.941 104.207 135.603 108.58C132.414 112.759 128.49 116.036 123.975 118.561C120.429 120.544 116.702 122.058 112.824 123.175C109.121 124.241 105.361 125.011 101.548 125.493C100.916 125.572 100.351 125.768 99.783 126.074C98.1525 126.95 96.3956 127.47 94.6163 127.912C91.4225 128.705 88.1775 129.168 84.9149 129.495C83.0572 129.681 81.1978 129.838 79.3385 129.995C79.1337 130.012 78.9097 129.985 78.7161 129.916C76.2087 129.009 73.6566 128.255 71.0356 127.825C68.8547 127.467 66.6529 127.135 64.4512 127.047C58.4156 126.809 52.54 125.717 46.7989 123.809C40.8193 121.822 35.1245 119.181 29.8458 115.634C24.3911 111.97 19.5668 107.566 15.4705 102.313C10.9582 96.5267 7.406 90.1597 4.73864 83.2598C2.95772 78.6544 1.67604 73.8978 0.898394 68.9935C0.328759 65.3975 0.0183391 61.7798 0.000737963 58.1373C-0.0120628 55.3132 0.141547 52.4992 0.471168 49.6934C0.867992 46.3131 1.46643 42.9728 2.35449 39.6955C2.6121 38.7458 3.02813 37.8327 3.44735 36.9395C4.105 35.5366 4.70343 34.0773 5.54829 32.8006C7.15959 30.3683 8.51487 27.8182 9.53734 25.0705C9.60134 24.8962 9.71655 24.7302 9.84136 24.5957C12.1119 22.1535 14.5201 19.8674 17.0514 17.7191C23.9622 11.8551 31.6315 7.39743 40.0769 4.39076C44.0019 2.99285 48.023 1.97015 52.1144 1.24795C56.6011 0.45934 62.4495 -0.0420489 67.4002 0.00277722Z' /%3E%3C/svg%3E\");-webkit-mask-repeat:no-repeat;mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 144 130' fill='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M67.4002 0.00277722C71.354 0.0260204 75.7751 0.261773 80.1626 0.90262C83.3916 1.37412 86.6046 1.97513 89.824 2.51802C91.5585 2.81022 93.3026 3.05925 95.0291 3.3996C102.623 4.89215 109.884 7.35924 116.592 11.4152C122.597 15.0478 127.726 19.7163 131.919 25.4756C135.024 29.7374 137.515 34.3662 139.4 39.3319C140.317 41.7459 141.075 44.2262 141.854 46.695C142.021 47.2196 141.984 47.8157 142.021 48.3801C142.354 53.5833 142.664 58.7864 143.018 63.9879C143.237 67.2021 143.528 70.4097 143.768 73.6206C144.067 77.5985 144.095 81.578 143.746 85.5576C143.501 88.3567 143.106 91.1293 142.437 93.8537C141.117 99.2395 138.941 104.207 135.603 108.58C132.414 112.759 128.49 116.036 123.975 118.561C120.429 120.544 116.702 122.058 112.824 123.175C109.121 124.241 105.361 125.011 101.548 125.493C100.916 125.572 100.351 125.768 99.783 126.074C98.1525 126.95 96.3956 127.47 94.6163 127.912C91.4225 128.705 88.1775 129.168 84.9149 129.495C83.0572 129.681 81.1978 129.838 79.3385 129.995C79.1337 130.012 78.9097 129.985 78.7161 129.916C76.2087 129.009 73.6566 128.255 71.0356 127.825C68.8547 127.467 66.6529 127.135 64.4512 127.047C58.4156 126.809 52.54 125.717 46.7989 123.809C40.8193 121.822 35.1245 119.181 29.8458 115.634C24.3911 111.97 19.5668 107.566 15.4705 102.313C10.9582 96.5267 7.406 90.1597 4.73864 83.2598C2.95772 78.6544 1.67604 73.8978 0.898394 68.9935C0.328759 65.3975 0.0183391 61.7798 0.000737963 58.1373C-0.0120628 55.3132 0.141547 52.4992 0.471168 49.6934C0.867992 46.3131 1.46643 42.9728 2.35449 39.6955C2.6121 38.7458 3.02813 37.8327 3.44735 36.9395C4.105 35.5366 4.70343 34.0773 5.54829 32.8006C7.15959 30.3683 8.51487 27.8182 9.53734 25.0705C9.60134 24.8962 9.71655 24.7302 9.84136 24.5957C12.1119 22.1535 14.5201 19.8674 17.0514 17.7191C23.9622 11.8551 31.6315 7.39743 40.0769 4.39076C44.0019 2.99285 48.023 1.97015 52.1144 1.24795C56.6011 0.45934 62.4495 -0.0420489 67.4002 0.00277722Z' /%3E%3C/svg%3E\");mask-repeat:no-repeat;mask-position:center}.duet-icon.duet-icon-shape-brand.duet-theme-turva .duet-icon-svg{min-width:auto}.duet-icon .duet-icon-svg{display:block;width:24px;min-width:100%;height:24px;font-size:0}.duet-icon .duet-icon-svg.rotated{transform:rotate(-7deg) scale(1.14)}.duet-icon svg{width:100%;min-width:100%;overflow:clip;fill:currentColor;overflow-clip-margin:1px}:host([size=auto]) .duet-icon-svg{width:100%;height:100%}:host([size=xxx-small]) .duet-icon-svg{width:7px;height:7px}:host([size=xxx-small]) .duet-icon-has-background{padding:6px}:host([size=xxx-small]) .duet-icon-has-outline{padding:4px}:host([size=xxx-small]) .duet-icon-has-background .duet-icon-svg,:host([size=xxx-small]) .duet-icon-has-outline .duet-icon-svg{width:10px;height:10px}:host([size=xxx-small]) .duet-icon-shape-brand{padding:0}:host([size=xxx-small]) .duet-icon-shape-brand .duet-icon-svg{width:0;height:0}:host([size=xx-small]) .duet-icon-svg{width:10px;height:10px}:host([size=xx-small]) .duet-icon-has-background{padding:8px}:host([size=xx-small]) .duet-icon-has-outline{padding:7px}:host([size=xx-small]) .duet-icon-has-background .duet-icon-svg,:host([size=xx-small]) .duet-icon-has-outline .duet-icon-svg{width:16px;height:16px}:host([size=xx-small]) .duet-icon-shape-brand{padding:4px}:host([size=xx-small]) .duet-icon-shape-brand .duet-icon-svg{width:10px;height:10px}:host([size=xx-small]) .duet-theme-turva .duet-icon-shape-brand{width:18px;height:15px;padding:0}:host([size=x-small]) .duet-icon-svg{width:16px;height:16px}:host([size=x-small]) .duet-icon-has-outline{padding:10px}:host([size=x-small]) .duet-icon-has-background{padding:12px}:host([size=x-small]) .duet-icon-shape-brand{padding:8px}:host([size=x-small]) .duet-icon-shape-brand .duet-icon-svg{width:16px;height:16px}:host([size=x-small]) .duet-theme-turva .duet-icon-shape-brand{width:32px;height:30px;padding:0}:host([size=small]) .duet-icon-svg{width:20px;height:20px}:host([size=small]) .duet-icon-has-background{padding:14px}:host([size=small]) .duet-icon-shape-brand{padding:8px}:host([size=small]) .duet-icon-shape-brand .duet-icon-svg{width:20px;height:20px}:host([size=small]) .duet-theme-turva .duet-icon-shape-brand{width:36px;height:34px;padding:0}:host([size=medium]) .duet-icon-shape-brand{padding:12px}:host([size=medium]) .duet-icon-shape-brand .duet-icon-svg{width:24px;height:24px}:host([size=medium]) .duet-theme-turva .duet-icon-shape-brand{width:48px;height:44px;padding:0}:host([size=large]) .duet-icon-svg{width:30px;height:30px}:host([size=large]) .duet-icon-shape-brand{padding:16px}:host([size=large]) .duet-icon-shape-brand .duet-icon-svg{width:30px;height:30px}:host([size=large]) .duet-theme-turva .duet-icon-shape-brand{width:62px;height:56px;padding:0}:host([size=x-large]) .duet-icon-svg{width:36px;height:36px}:host([size=x-large]) .duet-icon-shape-brand{padding:20px}:host([size=x-large]) .duet-icon-shape-brand .duet-icon-svg{width:36px;height:36px}:host([size=x-large]) .duet-theme-turva .duet-icon-shape-brand{width:76px;height:68px;padding:0}:host([size=xx-large]) .duet-icon-svg{width:48px;height:48px}:host([size=xx-large]) .duet-icon-shape-brand{padding:24px}:host([size=xx-large]) .duet-icon-shape-brand .duet-icon-svg{width:48px;height:48px}:host([size=xx-large]) .duet-theme-turva .duet-icon-shape-brand{width:95px;height:86px;padding:0}:host([size=xxx-large]) .duet-icon-svg{width:48px;height:48px}@media (min-width: 48em){:host([size=xxx-large]) .duet-icon-svg{width:72px;height:72px}}:host([size=xxx-large]) .duet-icon-shape-brand{padding:36px}:host([size=xxx-large]) .duet-icon-shape-brand .duet-icon-svg{width:72px;height:72px}:host([size=xxx-large]) .duet-theme-turva .duet-icon-shape-brand{width:144px;height:130px;padding:0}:host(.duet-theme-turva2) .duet-icon.duet-theme-turva{color:#e61740}:host(.duet-theme-turva2) .duet-icon.duet-theme-turva.duet-icon-has-background{color:rgb(255, 255, 255)}:host(.duet-theme-turva2) .duet-icon.duet-theme-turva.duet-icon-shape-brand{-webkit-mask-image:none;mask-image:none;border-radius:16%}";export{u as duet_icon}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{r as t,h as s,H as r}from"./p-CUNSbdt4.js";import{t as e}from"./p-Dvk6bntS.js";const i=class{constructor(s){t(this,s),this.bg={default:{default:"color_lt_blue_200",success:"color_success_200",warning:"color_warning_200",danger:"color_danger_200"},strong:{default:"color_lt_blue_700",success:"color_success_700",warning:"color_warning_500",danger:"color_danger_600"}},this.color={default:{default:"color_lt_blue_800",success:"color_success_800",warning:"color_warning_800",danger:"color_danger_800"},strong:{default:"color_lt_blue_100",success:"color_gray_lightest",warning:"color_warning_900",danger:"color_gray_lightest"}},this.variation="default",this.size="medium",this.margin="auto",this.strong=!1}getVariation(){return["default","success","danger","warning"].includes(this.variation)?this.variation:"default"}getBg(){return e[this.bg[this.strong?"strong":"default"][this.getVariation()]]}getColor(){return e[this.color[this.strong?"strong":"default"][this.getVariation()]]}getIcon(){switch(this.getVariation()){case"default":return`\n <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img">\n <rect width="24" height="24" rx="12" fill="${this.getBg()}"/>\n <path fill="${this.getColor()}" d="M13.5 17.25A2.252 2.252 0 0 1 11.25 15v-3.75h-.75a.75.75 0 0 1 0-1.5h.75c.827 0 1.5.673 1.5 1.5V15c0 .414.336.75.75.75h.75a.75.75 0 0 1 0 1.5z"/>\n <circle fill="${this.getColor()}" cx="11.625" cy="7.125" r="1.125"/>\n </svg>`;case"success":return`\n <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img">\n <rect width="24" height="24" rx="12" fill="${this.getBg()}"/>\n <path fill="${this.getColor()}" d="M9.325 17.916a1.79 1.79 0 0 1-1.498-.799l-2.44-3.462a.75.75 0 0 1 1.227-.864l2.45 3.477a.306.306 0 0 0 .261.148.294.294 0 0 0 .236-.119l7.852-9.935a.75.75 0 1 1 1.175.93l-7.843 9.923a1.781 1.781 0 0 1-.423.396 1.78 1.78 0 0 1-.997.305z"/>\n </svg>`;case"warning":case"danger":return`\n <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img">\n <path fill="${this.getBg()}" d="M1.27,23.767C1.58,23.919 1.926,24 2.273,24L21.73,24C22.336,24 22.906,23.764 23.334,23.336C23.764,22.908 24.001,22.337 24.001,21.73C24.001,21.383 23.92,21.037 23.768,20.727L14.295,1.429C13.862,0.547 12.981,0 11.997,0C11.605,0 11.227,0.088 10.873,0.262C10.369,0.51 9.954,0.924 9.706,1.429L0.234,20.728C-0.034,21.271 -0.073,21.888 0.123,22.462C0.319,23.036 0.727,23.5 1.27,23.767Z"/>\n <rect fill="${this.getColor()}" x="11.1" y="7.2" width="1.8" height="8.4" rx="0.9"/>\n <rect fill="${this.getColor()}" x="10.8" y="18" width="2.4" height="2.4" rx="1.2"/>\n </svg>`}}render(){return s(r,{key:"eb6af948b50fbd878216feefdb5c7f243f2203fd",class:{[`duet-status-icon-${this.getVariation()}`]:!0,"duet-strong-bg":this.strong}},s("duet-icon",{key:"a324d35c8222930c6d66f1c6103e1db939a702ec",icon:this.getIcon(),size:this.size,margin:this.margin}))}};export{i as duet_status_icon}
4
+ import{r as t,h as s,H as r}from"./p-B_VBeM3r.js";import{t as e}from"./p-DxV3RbmM.js";const i=class{constructor(s){t(this,s),this.bg={default:{default:"color_lt_blue_200",success:"color_success_200",warning:"color_warning_200",danger:"color_danger_200"},strong:{default:"color_lt_blue_700",success:"color_success_700",warning:"color_warning_500",danger:"color_danger_600"}},this.color={default:{default:"color_lt_blue_800",success:"color_success_800",warning:"color_warning_800",danger:"color_danger_800"},strong:{default:"color_lt_blue_100",success:"color_gray_lightest",warning:"color_warning_900",danger:"color_gray_lightest"}},this.variation="default",this.size="medium",this.margin="auto",this.strong=!1}getVariation(){return["default","success","danger","warning"].includes(this.variation)?this.variation:"default"}getBg(){return e[this.bg[this.strong?"strong":"default"][this.getVariation()]]}getColor(){return e[this.color[this.strong?"strong":"default"][this.getVariation()]]}getIcon(){switch(this.getVariation()){case"default":return`\n <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img">\n <rect width="24" height="24" rx="12" fill="${this.getBg()}"/>\n <path fill="${this.getColor()}" d="M13.5 17.25A2.252 2.252 0 0 1 11.25 15v-3.75h-.75a.75.75 0 0 1 0-1.5h.75c.827 0 1.5.673 1.5 1.5V15c0 .414.336.75.75.75h.75a.75.75 0 0 1 0 1.5z"/>\n <circle fill="${this.getColor()}" cx="11.625" cy="7.125" r="1.125"/>\n </svg>`;case"success":return`\n <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img">\n <rect width="24" height="24" rx="12" fill="${this.getBg()}"/>\n <path fill="${this.getColor()}" d="M9.325 17.916a1.79 1.79 0 0 1-1.498-.799l-2.44-3.462a.75.75 0 0 1 1.227-.864l2.45 3.477a.306.306 0 0 0 .261.148.294.294 0 0 0 .236-.119l7.852-9.935a.75.75 0 1 1 1.175.93l-7.843 9.923a1.781 1.781 0 0 1-.423.396 1.78 1.78 0 0 1-.997.305z"/>\n </svg>`;case"warning":case"danger":return`\n <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img">\n <path fill="${this.getBg()}" d="M1.27,23.767C1.58,23.919 1.926,24 2.273,24L21.73,24C22.336,24 22.906,23.764 23.334,23.336C23.764,22.908 24.001,22.337 24.001,21.73C24.001,21.383 23.92,21.037 23.768,20.727L14.295,1.429C13.862,0.547 12.981,0 11.997,0C11.605,0 11.227,0.088 10.873,0.262C10.369,0.51 9.954,0.924 9.706,1.429L0.234,20.728C-0.034,21.271 -0.073,21.888 0.123,22.462C0.319,23.036 0.727,23.5 1.27,23.767Z"/>\n <rect fill="${this.getColor()}" x="11.1" y="7.2" width="1.8" height="8.4" rx="0.9"/>\n <rect fill="${this.getColor()}" x="10.8" y="18" width="2.4" height="2.4" rx="1.2"/>\n </svg>`}}render(){return s(r,{key:"d35995f352a518b4933f82071bba491062afa0e6",class:{[`duet-status-icon-${this.getVariation()}`]:!0,"duet-strong-bg":this.strong}},s("duet-icon",{key:"67a2d52e3cc7e6d2685de643130654f8031f643a",icon:this.getIcon(),size:this.size,margin:this.margin}))}};export{i as duet_status_icon}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{r as e,h as t,H as r,g as a}from"./p-CUNSbdt4.js";import{i as o}from"./p-BI7G8d3Z.js";import{g as d}from"./p-B_RHZ7jo.js";import{g as i}from"./p-DyjhCDQL.js";import"./p-C6E9F6QT.js";import"./p-D5_4M8f7.js";const s=class{constructor(t){e(this,t),this.observers=[],this.breadcrumbsAriaLabel=d({fi:"Murupolku",sv:"Ströbröd",en:"Breadcrumbs"}),this.theme="",this.variation="header",this.color=""}componentWillLoad(){o(this),this.children=Array.from(this.element.children)}connectedCallback(){Array.from(this.element.children).forEach((e=>{const t=new MutationObserver((()=>this.children=Array.from(this.element.children)));t.observe(e,{childList:!0,subtree:!0,attributes:!0,characterData:!0}),this.observers=[...this.observers,t]}))}disconnectedCallback(){this.observers.forEach((e=>e.disconnect())),this.observers=[]}render(){const e=i(this.color);return t(r,{key:"fcaa6da538d472de9ef49a1da0cbf32d85e5f558"},t("nav",{key:"54dfb6d38387be36de31194f85187dac77620c43","aria-label":this.breadcrumbsAriaLabel,class:{"duet-breadcrumbs":!0,"duet-theme-turva":"turva"===this.theme,[this.variation]:!0}},t("div",{key:"e0c10e3f3175cfe53baf88d3279785795394eb54",class:"container"},t("div",{key:"490c08445579f837599571654281c1ea0f336f80",role:"list",class:"list",style:{color:e}},t("slot",{key:"bda3d6a84edc3c372360a215d090ae9d902297a1"})),t("div",{key:"280b605ac1160140dde18540efcc18c04c7449c2",class:"bottom-border bottom-border--container"})),t("div",{key:"f4a30ee98a7540c7c8d260e8a3dae32a33a75b0a",class:"bottom-border bottom-border--nav"})))}get element(){return a(this)}};s.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%}::slotted(*){font-weight:400}::slotted(:last-child){font-weight:600}:host([variation=plain]) ::slotted(:last-child){font-weight:400}.duet-breadcrumbs{position:relative;display:flex;align-items:center;justify-content:center;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}.duet-breadcrumbs .container{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1384px;min-height:36px;margin:0 28px}.duet-breadcrumbs .list{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-start;padding:10px 0;color:inherit;list-style:none}.duet-breadcrumbs .bottom-border{position:absolute;bottom:0;display:none;width:100%;height:1px}.duet-breadcrumbs.header{color:rgb(8, 42, 77);background:rgb(240, 247, 250)}.duet-breadcrumbs.header .list duet-breadcrumb[href]:hover{color:rgb(0, 75, 129)}.duet-breadcrumbs.header .bottom-border--nav{display:block;background:rgb(212, 223, 229)}.duet-breadcrumbs.header.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(245, 247, 250)}.duet-breadcrumbs.header.duet-theme-turva ol duet-breadcrumb[href]:hover{color:rgb(126, 2, 35)}.duet-breadcrumbs.footer{color:rgb(255, 255, 255);background:rgb(8, 42, 77)}@media (min-width: 64.0625em){.duet-breadcrumbs.footer{justify-content:flex-start}}@media (min-width: 76.25em){.duet-breadcrumbs.footer{justify-content:center}}.duet-breadcrumbs.footer .container{max-width:1110px}@media (min-width: 62em){.duet-breadcrumbs.footer .container{margin:0 72px 0 48px}}.duet-breadcrumbs.footer .list{padding:20px 0}@media (min-width: 62em){.duet-breadcrumbs.footer .list{padding:20px 8px}}.duet-breadcrumbs.footer .list duet-breadcrumb[href]:hover{text-decoration:underline}.duet-breadcrumbs.footer .bottom-border--container{display:block;background:rgba(255, 255, 255, 0.2)}.duet-breadcrumbs.footer.duet-theme-turva{color:rgb(255, 255, 255);background:rgb(198, 12, 48)}.duet-breadcrumbs.plain .container{max-width:none;min-height:auto;margin:0}.duet-breadcrumbs.plain .list{padding:0}.duet-breadcrumbs.plain .bottom-border{display:none}:host(.duet-theme-turva2) .duet-breadcrumbs.duet-theme-turva.header{color:#172a3b;background:#fdf7f2}:host(.duet-theme-turva2) .duet-breadcrumbs.duet-theme-turva.header ol duet-breadcrumb[href]:hover{color:rgb(126, 2, 35)}:host(.duet-theme-turva2) .duet-breadcrumbs.duet-theme-turva.footer{background:#e61740}';export{s as duet_breadcrumbs}
4
+ import{r as e,h as t,H as r,g as a}from"./p-B_VBeM3r.js";import{i as o}from"./p-DdwVwK5C.js";import{g as d}from"./p-BaR6ufr4.js";import{g as i}from"./p-Dr2j33H2.js";import"./p-C6E9F6QT.js";import"./p-Z0D6Gy9e.js";const b=class{constructor(t){e(this,t),this.observers=[],this.breadcrumbsAriaLabel=d({fi:"Murupolku",sv:"Ströbröd",en:"Breadcrumbs"}),this.theme="",this.variation="header",this.color=""}componentWillLoad(){o(this),this.children=Array.from(this.element.children)}connectedCallback(){Array.from(this.element.children).forEach((e=>{const t=new MutationObserver((()=>this.children=Array.from(this.element.children)));t.observe(e,{childList:!0,subtree:!0,attributes:!0,characterData:!0}),this.observers=[...this.observers,t]}))}disconnectedCallback(){this.observers.forEach((e=>e.disconnect())),this.observers=[]}render(){const e=i(this.color);return t(r,{key:"a33196239b9b8f6933f6e8b46df005591cd7234c"},t("nav",{key:"e132c17465eefb28d91c1a2a98fb6fa6bf812c92","aria-label":this.breadcrumbsAriaLabel,class:{"duet-breadcrumbs":!0,"duet-theme-turva":"turva"===this.theme,[this.variation]:!0}},t("div",{key:"515e61b4523d016aeaf79f9785f335793f3fd8a7",class:"container"},t("div",{key:"5cc015e840532c3e5450d2f99ea6dbfe16da9e21",role:"list",class:"list",style:{color:e}},t("slot",{key:"712824b51a9798d5df687a5146e7564c32e3b192"})),t("div",{key:"6c669b82b4d9bebfec76cd852e422df64fc378f7",class:"bottom-border bottom-border--container"})),t("div",{key:"04cb09bd7682b668fd9ca24ddd91efea24da9bf6",class:"bottom-border bottom-border--nav"})))}get element(){return a(this)}};b.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%}::slotted(*){font-weight:400}::slotted(:last-child){font-weight:600}:host([variation=plain]) ::slotted(:last-child){font-weight:400}.duet-breadcrumbs{position:relative;display:flex;align-items:center;justify-content:center;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}.duet-breadcrumbs .container{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1384px;min-height:36px;margin:0 28px}.duet-breadcrumbs .list{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-start;padding:10px 0;color:inherit;list-style:none}.duet-breadcrumbs .bottom-border{position:absolute;bottom:0;display:none;width:100%;height:1px}.duet-breadcrumbs.header{color:rgb(8, 42, 77);background:rgb(240, 247, 250)}.duet-breadcrumbs.header .list duet-breadcrumb[href]:hover{color:rgb(0, 75, 129)}.duet-breadcrumbs.header .bottom-border--nav{display:block;background:rgb(212, 223, 229)}.duet-breadcrumbs.header.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(245, 247, 250)}.duet-breadcrumbs.header.duet-theme-turva ol duet-breadcrumb[href]:hover{color:rgb(126, 2, 35)}.duet-breadcrumbs.footer{color:rgb(255, 255, 255);background:rgb(8, 42, 77)}@media (min-width: 64.0625em){.duet-breadcrumbs.footer{justify-content:flex-start}}@media (min-width: 76.25em){.duet-breadcrumbs.footer{justify-content:center}}.duet-breadcrumbs.footer .container{max-width:1110px}@media (min-width: 62em){.duet-breadcrumbs.footer .container{margin:0 72px 0 48px}}.duet-breadcrumbs.footer .list{padding:20px 0}@media (min-width: 62em){.duet-breadcrumbs.footer .list{padding:20px 8px}}.duet-breadcrumbs.footer .list duet-breadcrumb[href]:hover{text-decoration:underline}.duet-breadcrumbs.footer .bottom-border--container{display:block;background:rgba(255, 255, 255, 0.2)}.duet-breadcrumbs.footer.duet-theme-turva{color:rgb(255, 255, 255);background:rgb(198, 12, 48)}.duet-breadcrumbs.plain .container{max-width:none;min-height:auto;margin:0}.duet-breadcrumbs.plain .list{padding:0}.duet-breadcrumbs.plain .bottom-border{display:none}:host(.duet-theme-turva2) .duet-breadcrumbs.duet-theme-turva.header{color:#172a3b;background:#fdf7f2}:host(.duet-theme-turva2) .duet-breadcrumbs.duet-theme-turva.header ol duet-breadcrumb[href]:hover{color:rgb(126, 2, 35)}:host(.duet-theme-turva2) .duet-breadcrumbs.duet-theme-turva.footer{background:#e61740}';export{b as duet_breadcrumbs}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import{r as e,c as t,h as i,H as o,g as n}from"./p-B_VBeM3r.js";import{i as a}from"./p-DdwVwK5C.js";import{a as r}from"./p-BaR6ufr4.js";import"./p-C6E9F6QT.js";const d=class{constructor(i){e(this,i),this.duetEvent=t(this,"duetEvent",7),this.previousYScroll=0,this.hidden=!1,this.onBottom=!1,this.logoSize="large",this.leftMoreVisible=!1,this.rightMoreVisible=!1,this.centerSlotUsed=!1,this.mediaQueryMediumMatches=!1,this.theme="",this.language=r(),this.logo=!0,this.hideOnScroll=!1,this.scrollbarCheck=()=>{this.leftMoreVisible=this.container.scrollLeft>0,this.rightMoreVisible=this.container.scrollLeft!==this.container.scrollWidth-this.container.clientWidth},this.scrollToActive=()=>{let e;this.element.querySelectorAll("[active]").forEach((t=>{t.active&&(e=t)})),e&&e.offsetLeft&&e.offsetLeft>50&&(this.container.scrollLeft=e.offsetLeft-this.element.getBoundingClientRect().width/2+e.offsetWidth/2)},this.checkCenterSlot=()=>{const e=this.element.querySelector('[slot="center"]');this.centerSlotUsed=!!e},this.handleLogoClick=e=>{this.duetEvent.emit({name:"logoClick",component:"duet-menu-bar",data:{logoHref:this.logoHref},originalEvent:e})}}checkScroll(){this.hideOnScroll&&(window.scrollY>this.previousYScroll?window.scrollY>100&&(this.hideOnScroll&&(clearTimeout(this.zindexTimer),this.onBottom=!0),this.hidden=!0):window.scrollY<150&&(this.hideOnScroll&&(this.zindexTimer=setTimeout((()=>{this.onBottom=!1}),300)),this.hidden=!1),this.previousYScroll=window.scrollY)}componentWillLoad(){a(this)}connectedCallback(){this.checkCenterSlot()}componentDidLoad(){setTimeout((()=>{this.scrollbarCheck(),this.scrollToActive(),this.checkCenterSlot()}),0)}onWindowResize(){clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout((()=>{this.scrollToActive()}),100)}render(){const e=document.querySelectorAll("duet-slideout").length>0;return i(o,{key:"da384aec934b8177658bc5b2ba9126dabe8b44cc"},i("nav",{key:"eb7dd8d958e964d1b0e5d2cf96a20a4d0c0c70dc",class:{"duet-menu-bar":!0,"duet-theme-turva":"turva"===this.theme,"horizontal-nav":e&&!this.logo,"duet-menu-bar-slim":!this.centerSlotUsed,hidden:this.hidden&&this.hideOnScroll,bottom:this.onBottom},"aria-label":this.accessibleLabel},i("div",{key:"4a8a38d9fd5457b716bff3252791d35eb8441aec",class:"top"}),i("div",{key:"dfe385565d075aba16005d29790111cc51b5a464",class:{container:!0,"with-info-text":!!this.logoInfoText&&!this.centerSlotUsed},ref:e=>this.container=e,onScroll:()=>this.scrollbarCheck()},this.logo&&i("div",{key:"d7fa21e1f8b0f3ea5eeb5eff037790a47c57be22"},i("duet-logo",{key:"081cd1b58c97e71196ff421dbb7b1ed4f2e2278e",class:"medium",size:"medium",margin:"none",theme:this.theme,href:this.logoHref,accessibleLabel:this.logoLinkAccessibleLabel,onClick:this.handleLogoClick,language:this.language}),i("duet-logo",{key:"41b6ffe971ec6c9ff78c2f79834df3c9dceb3482",class:"large",size:"large",margin:"none",theme:this.theme,href:this.logoHref,accessibleLabel:this.logoLinkAccessibleLabel,onClick:this.handleLogoClick,language:this.language}),i("duet-logo",{key:"16cc7621a8d50d64d63fd7b8af07f074e30a49d0",class:"only-symbol",onlySymbol:!0,margin:"none",theme:this.theme,href:this.logoHref,accessibleLabel:this.logoLinkAccessibleLabel,onClick:this.handleLogoClick,language:this.language}),this.logoInfoText&&!this.centerSlotUsed&&i("div",{key:"2f0bcec90b8c9f508d95fb31d8ad9904ea7bf652",class:{"duet-logo-info-text":!0,"duet-theme-turva":"turva"===this.theme}},this.logoInfoText)),i("div",{key:"0630a90a58cfcfdd4255c018db1ea172240b5611",class:"list center",role:"list"},i("div",{key:"6e9f9d06775216dfa9ec70b2c768d5957ba67f10",class:"more-left",hidden:!this.leftMoreVisible,role:"presentation"}),i("slot",{key:"03f6a07cf3633d2ba2c62b76d40d2f74bba6f366",name:"center"}),i("div",{key:"7baeb903a2656bb33129bac0cf6007fce4604bd1",class:"more-right",hidden:!this.rightMoreVisible,role:"presentation"})),i("div",{key:"8a183192d62d7040c1ab2a8a684d8a7678803436",class:"list right",role:"list"},i("slot",{key:"d2f48181bf06824a5901fdc37f7f9eb729460c68",name:"right"}))),i("div",{key:"3b1e931eb638ea04b5a0743d2ab03413ca220a33",class:"bottom"})))}get element(){return n(this)}};d.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;position:relative;width:100%}.duet-menu-bar{position:relative;top:0;z-index:2;display:flex;align-items:center;justify-content:center;background:rgb(255, 255, 255);box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07);transition:top 0.3s}.duet-menu-bar.hidden{top:-200px}.duet-menu-bar.bottom{z-index:1}@media (min-width: 62em){.duet-menu-bar{box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1)}}.duet-menu-bar .top{display:none}.duet-menu-bar .bottom{display:none}.duet-menu-bar.horizontal-nav{position:relative}.duet-menu-bar.horizontal-nav .top{position:absolute;top:0;left:3.5%;display:block;width:93%;height:1px;background:rgb(245, 248, 250)}.duet-menu-bar.horizontal-nav .bottom{position:absolute;bottom:0;left:0;display:block;width:100%;height:1px;background:rgb(212, 223, 229)}.duet-menu-bar.horizontal-nav .more-left{position:absolute;top:0;left:0;z-index:1;width:56px;height:49px;pointer-events:none;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0) 100%)}@media (min-width: 62em){.duet-menu-bar.horizontal-nav .more-left{display:none}}.duet-menu-bar.horizontal-nav .more-right{position:absolute;top:0;right:0;z-index:1;width:56px;height:49px;pointer-events:none;background:linear-gradient(270deg, #fff 0%, rgba(255, 255, 255, 0) 100%)}@media (min-width: 62em){.duet-menu-bar.horizontal-nav .more-right{display:none}}@media (pointer: fine){.duet-menu-bar.horizontal-nav{display:none}}@media (pointer: fine) and ((min-width: 62em)){.duet-menu-bar.horizontal-nav{display:flex}}.duet-menu-bar .container{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1440px;height:100%;height:3.25rem;padding:0 8px 0 20px;overflow-x:auto;scrollbar-width:none}.duet-menu-bar .container::-webkit-scrollbar{width:0;height:0}.duet-menu-bar .container duet-logo.large,.duet-menu-bar .container duet-logo.only-symbol{display:none}.duet-menu-bar .container.with-info-text duet-logo.medium{display:none}.duet-menu-bar .container.with-info-text duet-logo.only-symbol{display:block}@media (min-width: 48em){.duet-menu-bar .container.with-info-text duet-logo.medium{display:block}.duet-menu-bar .container.with-info-text duet-logo.only-symbol{display:none}}@media (min-width: 76.25em){.duet-menu-bar .container duet-logo.medium{display:none}.duet-menu-bar .container duet-logo.large{display:block}}@media (min-width: 62em){.duet-menu-bar .container{height:5rem;padding:0 28px;overflow-x:visible}}.duet-menu-bar .container .list{height:100%;list-style-type:none}.duet-menu-bar .container ::slotted(*){height:100%}.duet-menu-bar .container>*{display:flex;align-items:center;justify-content:center;height:100%}.duet-menu-bar .container>:first-child{flex-basis:0;flex-grow:1;justify-content:flex-start;width:auto;height:40px}@media (min-width: 76.25em){.duet-menu-bar .container>:first-child{height:48px}}.duet-menu-bar .container>:first-child:has(.duet-logo-info-text){flex-grow:8}.duet-menu-bar .container>:first-child:has(.duet-logo-info-text) duet-paragraph{max-height:100%}.duet-menu-bar .container>:last-child{flex-basis:0;flex-grow:1;justify-content:flex-end}.duet-menu-bar .container ::slotted(*){display:flex;align-items:center;justify-content:center;height:100%}.duet-menu-bar .container .duet-logo-info-text{max-height:2.8875rem;padding-left:16px;margin-left:16px;overflow:hidden;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:0.875rem;font-style:normal;font-weight:400;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;color:rgb(62, 84, 102);text-overflow:ellipsis;border-left:1px solid rgb(212, 223, 229)}.duet-menu-bar .container .duet-logo-info-text.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(71, 78, 101);border-left-color:rgb(222, 224, 228)}@media (min-width: 48em){.duet-menu-bar .container .duet-logo-info-text{max-height:3.3rem;font-size:1rem}}.duet-menu-bar.duet-theme-turva{background:rgb(255, 255, 255);box-shadow:0 2px 6px 0 rgba(23, 28, 58, 0.07)}@media (min-width: 62em){.duet-menu-bar.duet-theme-turva{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1)}}.duet-menu-bar.duet-menu-bar-slim .container duet-logo.medium{display:block}.duet-menu-bar.duet-menu-bar-slim .container duet-logo.large{display:none}.duet-menu-bar.duet-menu-bar-slim .container.with-info-text duet-logo.medium{display:none}.duet-menu-bar.duet-menu-bar-slim .container.with-info-text duet-logo.only-symbol{display:block}@media (min-width: 48em){.duet-menu-bar.duet-menu-bar-slim .container.with-info-text duet-logo.medium{display:block}.duet-menu-bar.duet-menu-bar-slim .container.with-info-text duet-logo.only-symbol{display:none}}@media (min-width: 62em){.duet-menu-bar.duet-menu-bar-slim .container{height:4rem}}.center{font-size:1rem;font-weight:600;line-height:1.25;color:rgb(8, 42, 77)}.duet-theme-turva .center{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)}.right{font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 75, 129)}.duet-theme-turva .right{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 28, 58)}:host(.duet-theme-turva2) .duet-theme-turva .center{color:#172a3b}:host(.duet-theme-turva2) .duet-theme-turva .right{color:#172a3b}:host(.duet-theme-turva2) .duet-theme-turva .duet-logo-info-text{color:#354f65;border-left-color:#d4dde2}';export{d as duet_menu_bar}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{r as M,h as N,g}from"./p-CUNSbdt4.js";import{i as j}from"./p-BI7G8d3Z.js";const D=class{constructor(N){M(this,N),this.theme="",this.icon="",this.layout="narrow"}componentWillLoad(){j(this)}progressIndicator(){return N("div",{class:"progress-indicator"},Array.from({length:Math.ceil(this.progressTotalSteps)},((M,g)=>N("div",{class:{"progress-step":!0,active:g+1<=this.progressCurrentStep}}))))}render(){const M="narrow"===this.layout?"narrow":"fluid"===this.layout?"fluid":"auto";return N("div",{key:"8f818b186229d038b98fac98c1ef02fc6bbbbd2d",class:{"duet-page-heading":!0,"duet-theme-turva":"turva"===this.theme,"has-icon":!!this.icon,[M]:!0}},N("div",{key:"6c42ddfcc4f65c95ccd4bceb1956b60e610e359c",class:"background"},"turva"===this.theme&&N("div",{key:"9184e6a6696c793a0060e0492c3b508c38f6afff",class:"background-mask"}),"turva"!==this.theme&&N("div",{key:"0c6f06c85f2f010bfa32f1867bc00f3f126c0304",class:"brand-shape"}),"turva"!==this.theme&&N("div",{key:"744abcada9154113142f7ab873d15a6b1526e8b4",class:"brand-shape second-shape"}),this.icon&&N("div",{key:"f83dae2fe07c0281b210f113cd79bd32b91862f4",class:"brand-shaped-icon"},N("duet-icon",{key:"3cd1eee3628ce5819928da75d29a2d67bfeb40aa",background:"none",name:this.icon,margin:"none",size:"auto",responsive:!1}))),N("div",{key:"af626d8cb5b1a075dd37a7431ec5bb343100d7e7",class:"heading"},N("slot",{key:"042d9bbc8fb8c1c5dd7fe5ec65b734276117629b",name:"heading"}),this.progressCurrentStep&&this.progressTotalSteps&&N("div",{key:"20ebc9e86f822c59513030d34a633f68f2a188de"},N("duet-spacer",{key:"f8e666d65264a949ba60d896b82b457638161fbd",size:"large"}),N("div",{key:"fe52a841e12dcf6145521a47d4349efd7f83878b",role:"presentation"},this.progressIndicator()))))}get element(){return g(this)}};D.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-page-heading{position:relative;display:block;width:100%;margin:0 auto;overflow:hidden;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(8, 42, 77)}.duet-page-heading.duet-p-0{padding:0 !important}.duet-page-heading.duet-m-0{margin:0 !important}.duet-page-heading.auto{overflow:visible}.duet-page-heading.auto .heading,.duet-page-heading.auto .background{max-width:none}.duet-page-heading.fluid,.duet-page-heading.narrow{padding:0 16px}@media (min-width: 36em){.duet-page-heading.fluid{padding:0 28px}}@media (min-width: 62em){.duet-page-heading.fluid{padding:0 56px}}@media (min-width: 76.25em){.duet-page-heading.fluid{max-width:1110px;padding:0}}.duet-page-heading.narrow{max-width:888px}@media (min-width: 36em){.duet-page-heading.narrow{padding:0 48px}}@media (min-width: 48em){.duet-page-heading.narrow{padding:0 72px}}.duet-page-heading .heading{max-width:744px;padding:48px 90px 16px 0}@media (min-width: 48em){.duet-page-heading .heading{padding:72px 150px 40px 0}}.duet-page-heading:not(.has-icon) .heading{padding-right:0}.duet-page-heading .background{position:absolute;top:0;right:0;left:0;width:100%;max-width:744px;height:104px;margin:0 auto;margin:0 auto}@media (min-width: 48em){.duet-page-heading .background{height:165px}}.duet-page-heading .background .background-mask{position:absolute;top:-20px;right:0;display:block;width:286px;height:331px;pointer-events:none;background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K");background-repeat:no-repeat;background-size:contain}@media (min-width: 48em){.duet-page-heading .background .background-mask{top:-40px;width:502px;height:577px}}.duet-page-heading .background .brand-shape{position:absolute;top:-157px;right:-20px;width:185px;height:185px;background:rgb(0, 119, 179);border-radius:20%;mix-blend-mode:normal;opacity:0.2;transform:rotate(7deg)}@media (min-width: 48em){.duet-page-heading .background .brand-shape{top:-280px;right:-40px;width:325px;height:325px}}.duet-page-heading .background .brand-shape.second-shape{top:-182px;right:100px;width:207px;height:207px;background:rgb(11, 114, 136);opacity:0.1}@media (min-width: 48em){.duet-page-heading .background .brand-shape.second-shape{top:-325px;right:200px;width:365px;height:365px}}.duet-page-heading .background .brand-shaped-icon{position:absolute;top:20px;right:16px;display:flex;align-items:center;justify-content:center;width:85px;width:60px;height:85px;height:60px;background:rgba(0, 119, 179, 0.75);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){.duet-page-heading .background .brand-shaped-icon{right:36px;width:93px;height:93px}}.duet-page-heading .background .brand-shaped-icon duet-icon{width:60px;height:60px;transform:rotate(-7deg)}@media (min-width: 48em){.duet-page-heading .background .brand-shaped-icon duet-icon{width:75px;height:75px}}.duet-page-heading .progress-indicator{display:flex;flex-direction:row;gap:4px}.duet-page-heading .progress-step{width:100%;height:4px;background-color:rgb(181, 198, 208);border-radius:2px}.duet-page-heading .progress-step.active{background-color:rgb(0, 119, 179)}.duet-page-heading.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(8, 42, 77)}.duet-page-heading.duet-theme-turva .brand-shaped-icon{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}.duet-page-heading.duet-theme-turva .brand-shaped-icon duet-icon{position:relative;top:-3px}.duet-page-heading.duet-theme-turva .progress-step{background-color:rgb(199, 202, 207)}.duet-page-heading.duet-theme-turva .progress-step.active{background-color:rgb(198, 12, 48)}:host(.duet-theme-turva2) .duet-page-heading.duet-theme-turva .brand-shaped-icon{background:rgba(230, 23, 64, 0.9)}:host(.duet-theme-turva2) .duet-page-heading.duet-theme-turva .progress-step{background-color:#b2c2cd}:host(.duet-theme-turva2) .duet-page-heading.duet-theme-turva .progress-step.active{background-color:#e61740}';export{D as duet_page_heading}
4
+ import{r as M,h as N,g}from"./p-B_VBeM3r.js";import{i as j}from"./p-DdwVwK5C.js";const D=class{constructor(N){M(this,N),this.theme="",this.icon="",this.layout="narrow"}componentWillLoad(){j(this)}progressIndicator(){return N("div",{class:"progress-indicator"},Array.from({length:Math.ceil(this.progressTotalSteps)},((M,g)=>N("div",{class:{"progress-step":!0,active:g+1<=this.progressCurrentStep}}))))}render(){const M="narrow"===this.layout?"narrow":"fluid"===this.layout?"fluid":"auto";return N("div",{key:"7580ec6ad47222aa71f87e9b030152fcbc230a6c",class:{"duet-page-heading":!0,"duet-theme-turva":"turva"===this.theme,"has-icon":!!this.icon,[M]:!0}},N("div",{key:"41d70adffe75142d1bb229064c284c6b6ce447e7",class:"background"},"turva"===this.theme&&N("div",{key:"44a17513b00dfec52ee689008fec882a083d467f",class:"background-mask"}),"turva"!==this.theme&&N("div",{key:"d9d50fca7431f9d49058030b51b5548e4db8af04",class:"brand-shape"}),"turva"!==this.theme&&N("div",{key:"1b93a6948bf23c1bc9bc7dafa64b6df7eea10a91",class:"brand-shape second-shape"}),this.icon&&N("div",{key:"4007f3e9d29cbfd246dc8ae43074ef7ea53fd694",class:"brand-shaped-icon"},N("duet-icon",{key:"efe66977b0559e745a17e6da691f8390af017c56",background:"none",name:this.icon,margin:"none",size:"auto",responsive:!1}))),N("div",{key:"50070a51cbd61ddcd380063f9635cfb9edbb8b24",class:"heading"},N("slot",{key:"1ae7e6e3261bb8dd1104bc47b1b87142a5f1cfdd",name:"heading"}),this.progressCurrentStep&&this.progressTotalSteps&&N("div",{key:"01bf2c3472defbd1a7fe6c0af2b9cb4cc99185db"},N("duet-spacer",{key:"723e327a2c3913b0e130d4326a163e326e57eaf4",size:"large"}),N("div",{key:"0bb28f56e6b92b7990467fcca1a16a0893380ce1",role:"presentation"},this.progressIndicator()))))}get element(){return g(this)}};D.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-page-heading{position:relative;display:block;width:100%;margin:0 auto;overflow:hidden;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(8, 42, 77)}.duet-page-heading.duet-p-0{padding:0 !important}.duet-page-heading.duet-m-0{margin:0 !important}.duet-page-heading.auto{overflow:visible}.duet-page-heading.auto .heading,.duet-page-heading.auto .background{max-width:none}.duet-page-heading.fluid,.duet-page-heading.narrow{padding:0 16px}@media (min-width: 36em){.duet-page-heading.fluid{padding:0 28px}}@media (min-width: 62em){.duet-page-heading.fluid{padding:0 56px}}@media (min-width: 76.25em){.duet-page-heading.fluid{max-width:1110px;padding:0}}.duet-page-heading.narrow{max-width:888px}@media (min-width: 36em){.duet-page-heading.narrow{padding:0 48px}}@media (min-width: 48em){.duet-page-heading.narrow{padding:0 72px}}.duet-page-heading .heading{max-width:744px;padding:48px 90px 16px 0}@media (min-width: 48em){.duet-page-heading .heading{padding:72px 150px 40px 0}}.duet-page-heading:not(.has-icon) .heading{padding-right:0}.duet-page-heading .background{position:absolute;top:0;right:0;left:0;width:100%;max-width:744px;height:104px;margin:0 auto;margin:0 auto}@media (min-width: 48em){.duet-page-heading .background{height:165px}}.duet-page-heading .background .background-mask{position:absolute;top:-20px;right:0;display:block;width:286px;height:331px;pointer-events:none;background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K");background-repeat:no-repeat;background-size:contain}@media (min-width: 48em){.duet-page-heading .background .background-mask{top:-40px;width:502px;height:577px}}.duet-page-heading .background .brand-shape{position:absolute;top:-157px;right:-20px;width:185px;height:185px;background:rgb(0, 119, 179);border-radius:20%;mix-blend-mode:normal;opacity:0.2;transform:rotate(7deg)}@media (min-width: 48em){.duet-page-heading .background .brand-shape{top:-280px;right:-40px;width:325px;height:325px}}.duet-page-heading .background .brand-shape.second-shape{top:-182px;right:100px;width:207px;height:207px;background:rgb(11, 114, 136);opacity:0.1}@media (min-width: 48em){.duet-page-heading .background .brand-shape.second-shape{top:-325px;right:200px;width:365px;height:365px}}.duet-page-heading .background .brand-shaped-icon{position:absolute;top:20px;right:16px;display:flex;align-items:center;justify-content:center;width:85px;width:60px;height:85px;height:60px;background:rgba(0, 119, 179, 0.75);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){.duet-page-heading .background .brand-shaped-icon{right:36px;width:93px;height:93px}}.duet-page-heading .background .brand-shaped-icon duet-icon{width:60px;height:60px;transform:rotate(-7deg)}@media (min-width: 48em){.duet-page-heading .background .brand-shaped-icon duet-icon{width:75px;height:75px}}.duet-page-heading .progress-indicator{display:flex;flex-direction:row;gap:4px}.duet-page-heading .progress-step{width:100%;height:4px;background-color:rgb(181, 198, 208);border-radius:2px}.duet-page-heading .progress-step.active{background-color:rgb(0, 119, 179)}.duet-page-heading.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(8, 42, 77)}.duet-page-heading.duet-theme-turva .brand-shaped-icon{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}.duet-page-heading.duet-theme-turva .brand-shaped-icon duet-icon{position:relative;top:-3px}.duet-page-heading.duet-theme-turva .progress-step{background-color:rgb(199, 202, 207)}.duet-page-heading.duet-theme-turva .progress-step.active{background-color:rgb(198, 12, 48)}:host(.duet-theme-turva2) .duet-page-heading.duet-theme-turva .background .background-mask{background-image:none}:host(.duet-theme-turva2) .duet-page-heading.duet-theme-turva .brand-shaped-icon{background:#172a3b;border-radius:16%;transform:rotate(0);-webkit-mask-image:none;mask-image:none}:host(.duet-theme-turva2) .duet-page-heading.duet-theme-turva .brand-shaped-icon duet-icon{top:0;transform:rotate(0)}:host(.duet-theme-turva2) .duet-page-heading.duet-theme-turva .progress-step{background-color:#b2c2cd}:host(.duet-theme-turva2) .duet-page-heading.duet-theme-turva .progress-step.active{background-color:#e61740}';export{D as duet_page_heading}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{r as e,h as t,H as a,g as r}from"./p-CUNSbdt4.js";import{i as n}from"./p-BI7G8d3Z.js";import{a as i}from"./p-Db8rvjPI.js";const o=class{constructor(t){e(this,t),this.theme="",this.active=!1,this.href="#",this.icon=void 0}componentWillLoad(){n(this)}handleEscape(e){if(i(e)){const e=this.element.closest("duet-submenu-bar");e.open=!1,e.setFocus()}}render(){return t(a,{key:"6385795614eb1364c0fa60bdc75e6e360f076720",role:"listitem"},t("a",{key:"53844d47a9a8590b6fc6f4ebc321307da9950de5",class:{"duet-submenu-bar-link":!0,"duet-theme-turva":"turva"===this.theme,active:this.active},href:this.href,onKeyUp:e=>this.handleEscape(e),"aria-current":this.active?"true":"false"},this.icon&&t("duet-icon",{key:"781cfe0cabb4d0ebf15e768217e085fe42c49f7d",class:"submenu-bar-link-icon",theme:this.theme,name:this.icon,size:"auto",margin:"none",color:"currentColor"}),t("span",{key:"a469317232bf609fb8fe855e78fadda444514dff",class:"label"},t("slot",{key:"55f29b27e0d380b9b4596e8e56796dc96df3520a"}))))}get element(){return r(this)}};o.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;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-link{display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;height:100%;padding:12px 1.5rem;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;color:rgb(8, 42, 77);text-align:center;text-decoration:none}.duet-submenu-bar-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-submenu-bar-link:focus,.duet-submenu-bar-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-submenu-bar-link .submenu-bar-link-icon{width:20px;height:20px}@media (min-width: 62em){.duet-submenu-bar-link .submenu-bar-link-icon{width:16px;height:16px}}@media (min-width: 62em){.duet-submenu-bar-link{flex-direction:column;gap:5px;align-items:center;justify-content:center;font-size:0.875rem;color:rgb(0, 75, 129)}}@media (min-width: 62em){.duet-submenu-bar-link.active{color:rgb(0, 119, 179)}.duet-submenu-bar-link.active.duet-theme-turva{color:rgb(126, 2, 35)}}.duet-submenu-bar-link.active .label{position:relative}.duet-submenu-bar-link.active .label::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:"";background:rgb(0, 119, 179);transform:1px}@media (min-width: 62em){.duet-submenu-bar-link.active .label::after{display:none}.duet-submenu-bar-link.active::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:"";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(1px)}}.duet-submenu-bar-link.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 28, 58)}.duet-submenu-bar-link.duet-theme-turva.active .label::after{background:rgb(126, 2, 35)}.duet-submenu-bar-link.duet-theme-turva.active::after{background:rgb(126, 2, 35)}@media (min-width: 62em){.duet-submenu-bar-link:hover{color:rgb(8, 42, 77);background:rgb(228, 241, 247)}.duet-submenu-bar-link:hover.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(222, 224, 228)}.duet-submenu-bar-link:hover.duet-theme-turva.active{color:rgb(126, 2, 35)}}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva{color:#172a3b}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva.active .label::after{background:#e61740}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva.active::after{background:#e61740}@media (min-width: 62em){:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva.active{color:#e61740}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva:hover{color:#172a3b;background:#fbe1d1}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva:hover.active{color:#e61740}}';export{o as duet_submenu_bar_link}
4
+ import{r as e,h as t,H as a,g as r}from"./p-B_VBeM3r.js";import{i as n}from"./p-DdwVwK5C.js";import{a as i}from"./p-Db8rvjPI.js";const o=class{constructor(t){e(this,t),this.theme="",this.active=!1,this.href="#",this.icon=void 0}componentWillLoad(){n(this)}handleEscape(e){if(i(e)){const e=this.element.closest("duet-submenu-bar");e.open=!1,e.setFocus()}}render(){return t(a,{key:"1690f55f331c933f9fb468a34dacd7ca59b4a6ec",role:"listitem"},t("a",{key:"bef17a08ede70f41666795b66295bde08809e350",class:{"duet-submenu-bar-link":!0,"duet-theme-turva":"turva"===this.theme,active:this.active},href:this.href,onKeyUp:e=>this.handleEscape(e),"aria-current":this.active?"true":"false"},this.icon&&t("duet-icon",{key:"b7cbc5a4b7747f3b151eded40adaa568a58abb56",class:"submenu-bar-link-icon",theme:this.theme,name:this.icon,size:"auto",margin:"none",color:"currentColor"}),t("span",{key:"7351aeba73af6d8f8606662ee3bc100dc4f8c513",class:"label"},t("slot",{key:"c56efc7a7ac3d5afeea81444f1c7ec0db3a6ce68"}))))}get element(){return r(this)}};o.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;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-link{display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;height:100%;padding:12px 1.5rem;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;color:rgb(8, 42, 77);text-align:center;text-decoration:none}.duet-submenu-bar-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-submenu-bar-link:focus,.duet-submenu-bar-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-submenu-bar-link .submenu-bar-link-icon{width:20px;height:20px}@media (min-width: 62em){.duet-submenu-bar-link .submenu-bar-link-icon{width:16px;height:16px}}@media (min-width: 62em){.duet-submenu-bar-link{flex-direction:column;gap:5px;align-items:center;justify-content:center;font-size:0.875rem;color:rgb(0, 75, 129)}}@media (min-width: 62em){.duet-submenu-bar-link.active{color:rgb(0, 119, 179)}.duet-submenu-bar-link.active.duet-theme-turva{color:rgb(126, 2, 35)}}.duet-submenu-bar-link.active .label{position:relative}.duet-submenu-bar-link.active .label::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:"";background:rgb(0, 119, 179);transform:1px}@media (min-width: 62em){.duet-submenu-bar-link.active .label::after{display:none}.duet-submenu-bar-link.active::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:"";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(1px)}}.duet-submenu-bar-link.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 28, 58)}.duet-submenu-bar-link.duet-theme-turva.active .label::after{background:rgb(126, 2, 35)}.duet-submenu-bar-link.duet-theme-turva.active::after{background:rgb(126, 2, 35)}@media (min-width: 62em){.duet-submenu-bar-link:hover{color:rgb(8, 42, 77);background:rgb(228, 241, 247)}.duet-submenu-bar-link:hover.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(222, 224, 228)}.duet-submenu-bar-link:hover.duet-theme-turva.active{color:rgb(126, 2, 35)}}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva{color:#172a3b}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva.active .label::after{background:#e61740}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva.active::after{background:#e61740}@media (min-width: 62em){:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva.active{color:#e61740}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva:hover{color:#172a3b;background:#fbe1d1}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva:hover.active{color:#e61740}}';export{o as duet_submenu_bar_link}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{r as t,h as i,H as s,g as e}from"./p-CUNSbdt4.js";import{m as h,a as o}from"./p-Dvk6bntS.js";import{M as a,z as n,f as r,s as l,a as p}from"./p-B_NkY9T0.js";import{i as d}from"./p-BI7G8d3Z.js";import{c}from"./p-Cfr_DJqU.js";import{a as m}from"./p-Db8rvjPI.js";import{a as b,g as u,c as f,d as g}from"./p-B_RHZ7jo.js";import{b as v}from"./p-Be6-farU.js";import"./p-C6E9F6QT.js";const w=class{constructor(i){t(this,i),this.firstRender=!0,this.mql=[window.matchMedia(h.replace(/'/g,"")),window.matchMedia(o.replace(/'/g,""))],this.tooltipId=c("DuetTooltip"),this.aboutString={fi:"aiheesta",en:"about",sv:"om"},this.placement="bottom",this.theme="",this.language=b(),this.accessibleLabelDefault={fi:"Näytä lisätietoja",en:"Show more information",sv:"Visa mer tilläggsuppgifter"},this.accessibleLabel=u(this.accessibleLabelDefault,this.language),this.accessibleCloseLabelDefault={fi:"Sulje lisätiedot",en:"Close details",sv:"Stäng tilläggsuppgifter"},this.accessibleCloseLabel=u(this.accessibleCloseLabelDefault,this.language),this.label="",this.breakpoint="medium",this.direction="auto",this.positionVertical="0",this.positionHorizontal="0",this.active=!1,this.negative=!1,this.openTooltip=()=>{this.active=!0,setTimeout((()=>{this.contentEl.focus({preventScroll:!0}),this.buttonActive=!0}),200)},this.closeTooltip=(t=!1)=>{this.active=!1,t&&setTimeout((()=>{this.buttonEl.setFocus({preventScroll:!0})}),200),setTimeout((()=>{this.buttonActive=!1})),setTimeout((()=>{this.updatePlacement()}),200)},this.toggleOpen=()=>{this.active?this.closeTooltip():this.openTooltip()},this.updatePlacement=async()=>{var t,i;let s=!0;("large"!==this.breakpoint||this.mql[1].matches)&&("medium"!==this.breakpoint||this.mql[0].matches)||(s=!1);let e=s?"top-start":"top-end";"left"===this.direction?e="top-end":"right"===this.direction&&(e="top-start"),this.active&&!this.buttonEl.offsetParent&&(this.active=!1);const h=await a(this.buttonEl,this.popupElement,{placement:e,middleware:[r(),l({padding:5}),p({element:this.arrowEl})]});this.tooltipY=h.y,this.tooltipX=h.x,this.placement=h.placement,this.arrowY=null===(t=h.middlewareData.arrow)||void 0===t?void 0:t.y,this.arrowX=null===(i=h.middlewareData.arrow)||void 0===i?void 0:i.x}}componentWillLoad(){d(this),this.buttonActive=this.active}async componentDidLoad(){this.arrowEl=await this.popupElement.getArrowElement(),this.contentEl=await this.popupElement.getContentElement(),this.updatePlacement(),this.active&&(this.openTooltip(),await this.handleActiveChange(this.active)),this.intersectionObserver=new IntersectionObserver(this.updatePlacement,{root:document.body}),this.intersectionObserver.observe(this.element)}connectedCallback(){f(this,[{prop:"accessibleLabel",defaults:"accessibleLabelDefault"},{prop:"accessibleCloseLabel",defaults:"accessibleCloseLabelDefault"}]),"undefined"!=typeof MutationObserver&&(this.mutationO=new MutationObserver((()=>{v(this.element,this.popupElement)})),this.mutationO.observe(this.element,{childList:!0,characterData:!0,subtree:!0}))}componentDidRender(){this.firstRender&&(v(this.element,this.popupElement),this.firstRender=!1)}disconnectedCallback(){g(this)}handleDocumentClick(t){this.active&&t.composedPath().every((t=>t!==this.element&&t!==this.contentEl))&&this.closeTooltip()}handleKeyDown(t){this.active&&m(t)&&this.closeTooltip(!0)}handlePopupClose(){this.active&&this.closeTooltip(!0)}async handleActiveChange(t){t?this.autoUpdateCleanup=n(this.buttonEl,this.popupElement,this.updatePlacement):this.autoUpdateCleanup()}render(){const t={position:"relative",overflow:this.active?"visible":"hidden"},e={top:`${this.tooltipY}px`,left:`${this.tooltipX}px`,display:"block","pointer-events":this.active?"auto":"none"},h={top:this.arrowY?`${this.arrowY}px`:void 0,left:this.arrowX?`${this.arrowX}px`:void 0};return i(s,{style:{transform:`translateY(${this.positionVertical}) translateX(${this.positionHorizontal})`,zIndex:this.active?"201":""}},i("duet-tooltip-button",{ref:t=>this.buttonEl=t,active:this.buttonActive,tooltipId:this.tooltipId,label:this.label,accessibleLabel:this.accessibleInputLabel&&`${this.accessibleInputLabel}, ${this.accessibleLabel}`||this.accessibleAboutLabel&&`${this.accessibleLabel} ${this.aboutString[this.language]} ${this.accessibleAboutLabel}`||this.accessibleLabel,onClick:this.toggleOpen,theme:this.theme,negative:this.negative}),i("div",{style:t},i("duet-tooltip-popup",{ref:t=>this.popupElement=t,active:this.active,tooltipId:this.tooltipId,arrowStyles:h,style:e,placement:this.placement,accessibleCloseLabel:this.accessibleCloseLabel,theme:this.theme},i("slot",null))))}get element(){return e(this)}static get watchers(){return{active:["handleActiveChange"]}}};w.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;z-index:200;display:inline-flex;width:auto;margin-top:-16px !important;margin-left:-3px !important;-webkit-tap-highlight-color:transparent}duet-tooltip-button{position:relative}duet-tooltip-popup{position:absolute}";export{w as duet_tooltip}
4
+ import{r as t,h as i,H as s,g as e}from"./p-B_VBeM3r.js";import{m as h,a as o}from"./p-DxV3RbmM.js";import{M as a,z as n,f as r,s as l,a as p}from"./p-B_NkY9T0.js";import{i as d}from"./p-DdwVwK5C.js";import{c}from"./p-Cfr_DJqU.js";import{a as m}from"./p-Db8rvjPI.js";import{a as u,g as b,c as f,d as g}from"./p-BaR6ufr4.js";import{b as v}from"./p-KocOARXM.js";import"./p-C6E9F6QT.js";const w=class{constructor(i){t(this,i),this.firstRender=!0,this.mql=[window.matchMedia(h.replace(/'/g,"")),window.matchMedia(o.replace(/'/g,""))],this.tooltipId=c("DuetTooltip"),this.aboutString={fi:"aiheesta",en:"about",sv:"om"},this.placement="bottom",this.theme="",this.language=u(),this.accessibleLabelDefault={fi:"Näytä lisätietoja",en:"Show more information",sv:"Visa mer tilläggsuppgifter"},this.accessibleLabel=b(this.accessibleLabelDefault,this.language),this.accessibleCloseLabelDefault={fi:"Sulje lisätiedot",en:"Close details",sv:"Stäng tilläggsuppgifter"},this.accessibleCloseLabel=b(this.accessibleCloseLabelDefault,this.language),this.label="",this.breakpoint="medium",this.direction="auto",this.positionVertical="0",this.positionHorizontal="0",this.active=!1,this.negative=!1,this.openTooltip=()=>{this.active=!0,setTimeout((()=>{this.contentEl.focus({preventScroll:!0}),this.buttonActive=!0}),200)},this.closeTooltip=(t=!1)=>{this.active=!1,t&&setTimeout((()=>{this.buttonEl.setFocus({preventScroll:!0})}),200),setTimeout((()=>{this.buttonActive=!1})),setTimeout((()=>{this.updatePlacement()}),200)},this.toggleOpen=()=>{this.active?this.closeTooltip():this.openTooltip()},this.updatePlacement=async()=>{var t,i;let s=!0;("large"!==this.breakpoint||this.mql[1].matches)&&("medium"!==this.breakpoint||this.mql[0].matches)||(s=!1);let e=s?"top-start":"top-end";"left"===this.direction?e="top-end":"right"===this.direction&&(e="top-start"),this.active&&!this.buttonEl.offsetParent&&(this.active=!1);const h=await a(this.buttonEl,this.popupElement,{placement:e,middleware:[r(),l({padding:5}),p({element:this.arrowEl})]});this.tooltipY=h.y,this.tooltipX=h.x,this.placement=h.placement,this.arrowY=null===(t=h.middlewareData.arrow)||void 0===t?void 0:t.y,this.arrowX=null===(i=h.middlewareData.arrow)||void 0===i?void 0:i.x}}componentWillLoad(){d(this),this.buttonActive=this.active}async componentDidLoad(){this.arrowEl=await this.popupElement.getArrowElement(),this.contentEl=await this.popupElement.getContentElement(),this.updatePlacement(),this.active&&(this.openTooltip(),await this.handleActiveChange(this.active)),this.intersectionObserver=new IntersectionObserver(this.updatePlacement,{root:document.body}),this.intersectionObserver.observe(this.element)}connectedCallback(){f(this,[{prop:"accessibleLabel",defaults:"accessibleLabelDefault"},{prop:"accessibleCloseLabel",defaults:"accessibleCloseLabelDefault"}]),"undefined"!=typeof MutationObserver&&(this.mutationO=new MutationObserver((()=>{v(this.element,this.popupElement)})),this.mutationO.observe(this.element,{childList:!0,characterData:!0,subtree:!0}))}componentDidRender(){this.firstRender&&(v(this.element,this.popupElement),this.firstRender=!1)}disconnectedCallback(){g(this)}handleDocumentClick(t){this.active&&t.composedPath().every((t=>t!==this.element&&t!==this.contentEl))&&this.closeTooltip()}handleKeyDown(t){this.active&&m(t)&&this.closeTooltip(!0)}handlePopupClose(){this.active&&this.closeTooltip(!0)}async handleActiveChange(t){t?this.autoUpdateCleanup=n(this.buttonEl,this.popupElement,this.updatePlacement):this.autoUpdateCleanup()}render(){const t={position:"relative",overflow:this.active?"visible":"hidden"},e={top:`${this.tooltipY}px`,left:`${this.tooltipX}px`,display:"block","pointer-events":this.active?"auto":"none"},h={top:this.arrowY?`${this.arrowY}px`:void 0,left:this.arrowX?`${this.arrowX}px`:void 0};return i(s,{style:{transform:`translateY(${this.positionVertical}) translateX(${this.positionHorizontal})`,zIndex:this.active?"201":""}},i("duet-tooltip-button",{ref:t=>this.buttonEl=t,active:this.buttonActive,tooltipId:this.tooltipId,label:this.label,accessibleLabel:this.accessibleInputLabel&&`${this.accessibleInputLabel}, ${this.accessibleLabel}`||this.accessibleAboutLabel&&`${this.accessibleLabel} ${this.aboutString[this.language]} ${this.accessibleAboutLabel}`||this.accessibleLabel,onClick:this.toggleOpen,theme:this.theme,negative:this.negative}),i("div",{style:t},i("duet-tooltip-popup",{ref:t=>this.popupElement=t,active:this.active,tooltipId:this.tooltipId,arrowStyles:h,style:e,placement:this.placement,accessibleCloseLabel:this.accessibleCloseLabel,theme:this.theme},i("slot",null))))}get element(){return e(this)}static get watchers(){return{active:["handleActiveChange"]}}};w.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;z-index:200;display:inline-flex;width:auto;margin-top:-16px !important;margin-left:-3px !important;-webkit-tap-highlight-color:transparent}duet-tooltip-button{position:relative}duet-tooltip-popup{position:absolute}";export{w as duet_tooltip}