@duetds/components 8.6.5 → 8.6.6

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 (624) hide show
  1. package/hydrate/index.js +35 -6
  2. package/lib/cjs/duet-action-button.cjs.entry.js +1 -1
  3. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  4. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-banner.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
  7. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  8. package/lib/cjs/duet-button_2.cjs.entry.js +1 -1
  9. package/lib/cjs/duet-callout.cjs.entry.js +1 -1
  10. package/lib/cjs/duet-caption_4.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-card.cjs.entry.js +1 -1
  12. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  13. package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-chip.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-choice_2.cjs.entry.js +1 -1
  16. package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
  17. package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
  18. package/lib/cjs/duet-contact-card.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  21. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  22. package/lib/cjs/duet-editable-table_3.cjs.entry.js +1 -1
  23. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-file-chooser.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-footer.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-header_2.cjs.entry.js +1 -1
  29. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  30. package/lib/cjs/duet-icon.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
  32. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-menu-bar.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  41. package/lib/cjs/duet-multiselect.cjs.entry.js +33 -6
  42. package/lib/cjs/duet-nav.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  45. package/lib/cjs/duet-overlay.cjs.entry.js +1 -1
  46. package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
  47. package/lib/cjs/duet-pagination_2.cjs.entry.js +1 -1
  48. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +1 -1
  49. package/lib/cjs/duet-popup-menu.cjs.entry.js +2 -2
  50. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  51. package/lib/cjs/duet-promo-card.cjs.entry.js +1 -1
  52. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  53. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  54. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  55. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  56. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  57. package/lib/cjs/duet-shaped-image.cjs.entry.js +1 -1
  58. package/lib/cjs/duet-show-more.cjs.entry.js +1 -1
  59. package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
  60. package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
  61. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
  62. package/lib/cjs/duet-slideout-panel.cjs.entry.js +2 -2
  63. package/lib/cjs/duet-slideout.cjs.entry.js +2 -2
  64. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  65. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +1 -1
  66. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +1 -1
  67. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +1 -1
  68. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +1 -1
  69. package/lib/cjs/duet-submenu-bar.cjs.entry.js +1 -1
  70. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  71. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  72. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -1
  73. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +1 -1
  74. package/lib/cjs/duet-toolbar-item.cjs.entry.js +1 -1
  75. package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -1
  76. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
  77. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +2 -2
  78. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  79. package/lib/cjs/duet-tray.cjs.entry.js +1 -1
  80. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  81. package/lib/cjs/duet-upload-item.cjs.entry.js +1 -1
  82. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  83. package/lib/cjs/duet.cjs.js +2 -2
  84. package/lib/cjs/{focus-utils-56f2d983.js → focus-utils-042be20b.js} +1 -1
  85. package/lib/cjs/{index-b77ebc31.js → index-23e333f6.js} +1 -1
  86. package/lib/cjs/loader.cjs.js +2 -2
  87. package/lib/collection/components/duet-action-button/duet-action-button.js +2 -2
  88. package/lib/collection/components/duet-alert/duet-alert.js +1 -1
  89. package/lib/collection/components/duet-banner/duet-banner.js +1 -1
  90. package/lib/collection/components/duet-button/duet-button.js +5 -5
  91. package/lib/collection/components/duet-caption/duet-caption.js +1 -1
  92. package/lib/collection/components/duet-card/duet-card.js +3 -3
  93. package/lib/collection/components/duet-checkbox/duet-checkbox.js +3 -3
  94. package/lib/collection/components/duet-chip/duet-chip.js +6 -6
  95. package/lib/collection/components/duet-choice/duet-choice.js +3 -3
  96. package/lib/collection/components/duet-collapsible/duet-collapsible.js +3 -3
  97. package/lib/collection/components/duet-combobox/duet-combobox.js +3 -3
  98. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  99. package/lib/collection/components/duet-date-picker/duet-date-picker.js +4 -4
  100. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  101. package/lib/collection/components/duet-editable-table/duet-editable-table.js +5 -5
  102. package/lib/collection/components/duet-empty-state/duet-empty-state.js +1 -1
  103. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +1 -1
  104. package/lib/collection/components/duet-footer/duet-footer.js +7 -7
  105. package/lib/collection/components/duet-grid/duet-grid.js +3 -3
  106. package/lib/collection/components/duet-header/duet-header.js +15 -15
  107. package/lib/collection/components/duet-heading/duet-heading.js +1 -1
  108. package/lib/collection/components/duet-hero/duet-hero.js +5 -5
  109. package/lib/collection/components/duet-input/duet-input.js +8 -8
  110. package/lib/collection/components/duet-label/duet-label.js +2 -2
  111. package/lib/collection/components/duet-layout/duet-layout.js +1 -1
  112. package/lib/collection/components/duet-list/duet-list.js +3 -3
  113. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  114. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +1 -1
  115. package/lib/collection/components/duet-modal/duet-modal.js +4 -4
  116. package/lib/collection/components/duet-multiselect/duet-multiselect.css +12 -0
  117. package/lib/collection/components/duet-multiselect/duet-multiselect.e2e.js +39 -0
  118. package/lib/collection/components/duet-multiselect/duet-multiselect.js +65 -11
  119. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +1 -1
  120. package/lib/collection/components/duet-number-input/duet-number-input.js +4 -4
  121. package/lib/collection/components/duet-overlay/duet-overlay.js +1 -1
  122. package/lib/collection/components/duet-pagination/duet-pagination.js +2 -2
  123. package/lib/collection/components/duet-paragraph/duet-paragraph.js +3 -3
  124. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +1 -1
  125. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  126. package/lib/collection/components/duet-radio/duet-radio.js +3 -3
  127. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  128. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +1 -1
  129. package/lib/collection/components/duet-select/duet-select.js +5 -5
  130. package/lib/collection/components/duet-show-more/duet-show-more.js +1 -1
  131. package/lib/collection/components/duet-slideout/duet-slideout.js +1 -1
  132. package/lib/collection/components/duet-spacer/duet-spacer.js +2 -2
  133. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  134. package/lib/collection/components/duet-step/duet-step.js +2 -2
  135. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  136. package/lib/collection/components/duet-tab-group/duet-tab-group.js +5 -5
  137. package/lib/collection/components/duet-textarea/duet-textarea.js +4 -4
  138. package/lib/collection/components/duet-toggle/duet-toggle.js +1 -1
  139. package/lib/collection/components/duet-tooltip/duet-tooltip.js +1 -1
  140. package/lib/collection/components/duet-upload/duet-upload.js +14 -14
  141. package/lib/collection/components/duet-upload-item/duet-upload-item.js +2 -2
  142. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  143. package/lib/dist-custom-elements/duet-alert.js +1 -1
  144. package/lib/dist-custom-elements/duet-badge.js +1 -1
  145. package/lib/dist-custom-elements/duet-banner.js +3 -3
  146. package/lib/dist-custom-elements/duet-breadcrumb.js +3 -3
  147. package/lib/dist-custom-elements/duet-breadcrumbs.js +1 -1
  148. package/lib/dist-custom-elements/duet-button.js +1 -1
  149. package/lib/dist-custom-elements/duet-callout.js +2 -2
  150. package/lib/dist-custom-elements/duet-caption.js +1 -1
  151. package/lib/dist-custom-elements/duet-card.js +3 -3
  152. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  153. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  154. package/lib/dist-custom-elements/duet-chip.js +1 -1
  155. package/lib/dist-custom-elements/duet-choice-group.js +8 -8
  156. package/lib/dist-custom-elements/duet-choice.js +4 -4
  157. package/lib/dist-custom-elements/duet-collapsible.js +2 -2
  158. package/lib/dist-custom-elements/duet-combobox.js +12 -12
  159. package/lib/dist-custom-elements/duet-contact-card.js +8 -8
  160. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  161. package/lib/dist-custom-elements/duet-date-picker.js +13 -13
  162. package/lib/dist-custom-elements/duet-divider.js +1 -1
  163. package/lib/dist-custom-elements/duet-editable-table.js +7 -7
  164. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  165. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  166. package/lib/dist-custom-elements/duet-file-chooser.js +2 -2
  167. package/lib/dist-custom-elements/duet-footer.js +7 -7
  168. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  169. package/lib/dist-custom-elements/duet-grid.js +1 -1
  170. package/lib/dist-custom-elements/duet-header.js +8 -8
  171. package/lib/dist-custom-elements/duet-heading.js +1 -1
  172. package/lib/dist-custom-elements/duet-hero.js +9 -9
  173. package/lib/dist-custom-elements/duet-icon.js +1 -1
  174. package/lib/dist-custom-elements/duet-input.js +1 -1
  175. package/lib/dist-custom-elements/duet-label.js +1 -1
  176. package/lib/dist-custom-elements/duet-layout.js +1 -1
  177. package/lib/dist-custom-elements/duet-link.js +1 -1
  178. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  179. package/lib/dist-custom-elements/duet-list.js +1 -1
  180. package/lib/dist-custom-elements/duet-logo.js +1 -1
  181. package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -2
  182. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
  183. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -2
  184. package/lib/dist-custom-elements/duet-menu-bar-item.js +2 -2
  185. package/lib/dist-custom-elements/duet-menu-bar-link.js +2 -2
  186. package/lib/dist-custom-elements/duet-menu-bar.js +2 -2
  187. package/lib/dist-custom-elements/duet-modal.js +8 -8
  188. package/lib/dist-custom-elements/duet-multiselect.js +44 -15
  189. package/lib/dist-custom-elements/duet-nav.js +1 -1
  190. package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
  191. package/lib/dist-custom-elements/duet-notification.js +2 -2
  192. package/lib/dist-custom-elements/duet-number-input.js +11 -11
  193. package/lib/dist-custom-elements/duet-overlay.js +1 -1
  194. package/lib/dist-custom-elements/duet-page-heading.js +2 -2
  195. package/lib/dist-custom-elements/duet-pagination.js +13 -13
  196. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  197. package/lib/dist-custom-elements/duet-popup-menu-item.js +2 -2
  198. package/lib/dist-custom-elements/duet-popup-menu.js +1 -1
  199. package/lib/dist-custom-elements/duet-progress.js +1 -1
  200. package/lib/dist-custom-elements/duet-promo-card.js +3 -3
  201. package/lib/dist-custom-elements/duet-radio-group.js +8 -8
  202. package/lib/dist-custom-elements/duet-radio.js +1 -1
  203. package/lib/dist-custom-elements/duet-range-slider.js +2 -2
  204. package/lib/dist-custom-elements/duet-range-stepper.js +4 -4
  205. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  206. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  207. package/lib/dist-custom-elements/duet-select.js +1 -1
  208. package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
  209. package/lib/dist-custom-elements/duet-show-more.js +1 -1
  210. package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
  211. package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
  212. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
  213. package/lib/dist-custom-elements/duet-slideout-panel.js +2 -2
  214. package/lib/dist-custom-elements/duet-slideout.js +3 -3
  215. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  216. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  217. package/lib/dist-custom-elements/duet-step.js +4 -4
  218. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  219. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +2 -2
  220. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +2 -2
  221. package/lib/dist-custom-elements/duet-submenu-bar-item.js +2 -2
  222. package/lib/dist-custom-elements/duet-submenu-bar-link.js +2 -2
  223. package/lib/dist-custom-elements/duet-submenu-bar.js +3 -3
  224. package/lib/dist-custom-elements/duet-tab-group.js +13 -13
  225. package/lib/dist-custom-elements/duet-tab.js +1 -1
  226. package/lib/dist-custom-elements/duet-table.js +1 -1
  227. package/lib/dist-custom-elements/duet-textarea.js +10 -10
  228. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  229. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
  230. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +2 -2
  231. package/lib/dist-custom-elements/duet-toolbar-item.js +2 -2
  232. package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
  233. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  234. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  235. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  236. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  237. package/lib/dist-custom-elements/duet-tray.js +3 -3
  238. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  239. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  240. package/lib/dist-custom-elements/duet-upload.js +19 -19
  241. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  242. package/lib/dist-custom-elements/index.js +1 -1
  243. package/lib/dist-custom-elements/{p-449019b6.js → p-09fed0c7.js} +1 -1
  244. package/lib/dist-custom-elements/{p-6ac13d84.js → p-0df3de19.js} +1 -1
  245. package/lib/dist-custom-elements/{p-7b97ad08.js → p-10cfa2a0.js} +10 -10
  246. package/lib/dist-custom-elements/{p-e98f9bb0.js → p-12b8938d.js} +1 -1
  247. package/lib/dist-custom-elements/{p-a4a10570.js → p-16f48cf0.js} +2 -2
  248. package/lib/dist-custom-elements/{p-5ac0e140.js → p-1bab7558.js} +10 -10
  249. package/lib/dist-custom-elements/{p-1e9f6125.js → p-1c4ec089.js} +1 -1
  250. package/lib/dist-custom-elements/{p-29926f8a.js → p-296aa9f5.js} +1 -1
  251. package/lib/dist-custom-elements/{p-9ca3437c.js → p-45469b60.js} +1 -1
  252. package/lib/dist-custom-elements/{p-1a8d1a11.js → p-4fc377f6.js} +1 -1
  253. package/lib/dist-custom-elements/{p-d1815d2a.js → p-6c3fb452.js} +1 -1
  254. package/lib/dist-custom-elements/{p-b6322d8d.js → p-6ccb6291.js} +1 -1
  255. package/lib/dist-custom-elements/{p-45fd4d84.js → p-6d05127a.js} +2 -2
  256. package/lib/dist-custom-elements/{p-d72fa71c.js → p-6e2cb1f7.js} +1 -1
  257. package/lib/dist-custom-elements/{p-b29a25ab.js → p-7042df06.js} +1 -1
  258. package/lib/dist-custom-elements/{p-01c62feb.js → p-74045091.js} +1 -1
  259. package/lib/dist-custom-elements/{p-27b6f57b.js → p-7aecc5f8.js} +2 -2
  260. package/lib/dist-custom-elements/{p-c8415e2f.js → p-8718ac36.js} +2 -2
  261. package/lib/dist-custom-elements/{p-18552e4e.js → p-9333ad1f.js} +5 -5
  262. package/lib/dist-custom-elements/{p-ef51ec63.js → p-97bc8883.js} +2 -2
  263. package/lib/dist-custom-elements/{p-b676c88c.js → p-a6ca6837.js} +1 -1
  264. package/lib/dist-custom-elements/{p-c76bd205.js → p-b056943d.js} +1 -1
  265. package/lib/dist-custom-elements/{p-43967022.js → p-b29a4ecf.js} +1 -1
  266. package/lib/dist-custom-elements/{p-4779e8e0.js → p-b5c8a564.js} +1 -1
  267. package/lib/dist-custom-elements/{p-82302a93.js → p-c12ad8fe.js} +5 -5
  268. package/lib/dist-custom-elements/{p-4b31300c.js → p-c1f7645d.js} +2 -2
  269. package/lib/dist-custom-elements/{p-f47e755d.js → p-c59e4377.js} +5 -5
  270. package/lib/dist-custom-elements/{p-23e23ced.js → p-cf59c4d9.js} +1 -1
  271. package/lib/dist-custom-elements/{p-ce969139.js → p-d2ec2399.js} +1 -1
  272. package/lib/dist-custom-elements/{p-d8932b2b.js → p-d389686a.js} +8 -8
  273. package/lib/dist-custom-elements/{p-3f85f7b8.js → p-d8d5aa01.js} +6 -6
  274. package/lib/dist-custom-elements/{p-20b3fa1e.js → p-dcb28cc1.js} +4 -4
  275. package/lib/dist-custom-elements/{p-9490b060.js → p-dee2eee3.js} +1 -1
  276. package/lib/dist-custom-elements/{p-ecaba4be.js → p-ea821fd6.js} +3 -3
  277. package/lib/dist-custom-elements/{p-971b25c0.js → p-eb5db5c3.js} +1 -1
  278. package/lib/dist-custom-elements/{p-f40596e9.js → p-ec2e63c1.js} +3 -3
  279. package/lib/dist-custom-elements/{p-f0225a59.js → p-f8fcb31f.js} +2 -2
  280. package/lib/duet/duet.esm.js +1 -1
  281. package/lib/duet/duet.js +1 -1
  282. package/lib/duet/{p-51e3af7b.system.entry.js → p-00035e73.system.entry.js} +1 -1
  283. package/lib/duet/{p-f42f7738.system.entry.js → p-0081e9cc.system.entry.js} +1 -1
  284. package/lib/duet/{p-84b95df0.system.entry.js → p-011fffe0.system.entry.js} +1 -1
  285. package/lib/duet/{p-c493cd2e.entry.js → p-0176f77a.entry.js} +1 -1
  286. package/lib/duet/{p-01e99d98.entry.js → p-040e28f6.entry.js} +1 -1
  287. package/lib/duet/{p-54c848f2.system.entry.js → p-05743cd3.system.entry.js} +1 -1
  288. package/lib/duet/{p-25048bf8.system.entry.js → p-09124c74.system.entry.js} +1 -1
  289. package/lib/duet/{p-7de614df.system.entry.js → p-0aaeda13.system.entry.js} +1 -1
  290. package/lib/duet/{p-ce6892d9.system.entry.js → p-0ad58c69.system.entry.js} +1 -1
  291. package/lib/duet/{p-15e24bf0.entry.js → p-0c4fb3b5.entry.js} +1 -1
  292. package/lib/duet/{p-4cb5943c.entry.js → p-0e1ef69e.entry.js} +1 -1
  293. package/lib/duet/{p-5383553b.entry.js → p-10b7bb7a.entry.js} +1 -1
  294. package/lib/duet/{p-e12b461b.entry.js → p-10e06174.entry.js} +1 -1
  295. package/lib/duet/{p-8a4ba903.system.entry.js → p-1202510c.system.entry.js} +1 -1
  296. package/lib/duet/{p-f52f44d6.system.entry.js → p-131966c2.system.entry.js} +1 -1
  297. package/lib/duet/{p-d5721f0d.system.entry.js → p-13a19719.system.entry.js} +1 -1
  298. package/lib/duet/{p-afc89c50.system.entry.js → p-142124b2.system.entry.js} +1 -1
  299. package/lib/duet/{p-5dd177d8.entry.js → p-15deb1d4.entry.js} +1 -1
  300. package/lib/duet/{p-70b705ad.entry.js → p-165d0b26.entry.js} +1 -1
  301. package/lib/duet/{p-f48deed8.entry.js → p-178ed588.entry.js} +1 -1
  302. package/lib/duet/{p-60fbf60b.system.entry.js → p-1acab3d9.system.entry.js} +1 -1
  303. package/lib/duet/{p-bd0e5e20.system.entry.js → p-1ae793a6.system.entry.js} +1 -1
  304. package/lib/duet/{p-da0e9110.system.entry.js → p-1cb306c5.system.entry.js} +1 -1
  305. package/lib/duet/{p-050ffaf5.entry.js → p-1e541353.entry.js} +1 -1
  306. package/lib/duet/{p-40375e30.entry.js → p-1ff43531.entry.js} +1 -1
  307. package/lib/duet/{p-166ee660.system.entry.js → p-21206c75.system.entry.js} +1 -1
  308. package/lib/duet/{p-ee4075c2.entry.js → p-22f07cc3.entry.js} +1 -1
  309. package/lib/duet/{p-1bc74805.system.entry.js → p-27183888.system.entry.js} +1 -1
  310. package/lib/duet/{p-bca7ed02.system.entry.js → p-2904f896.system.entry.js} +1 -1
  311. package/lib/duet/{p-d72b94d2.system.entry.js → p-29bc3c02.system.entry.js} +1 -1
  312. package/lib/duet/{p-fa72c79b.system.entry.js → p-2e7d3144.system.entry.js} +1 -1
  313. package/lib/duet/{p-e4595aa7.system.entry.js → p-2f762fb3.system.entry.js} +1 -1
  314. package/lib/duet/{p-64afb6ad.system.entry.js → p-31add5c9.system.entry.js} +1 -1
  315. package/lib/duet/{p-6a1bd4d9.entry.js → p-33ce8509.entry.js} +1 -1
  316. package/lib/duet/{p-60f12cac.system.entry.js → p-358235ff.system.entry.js} +1 -1
  317. package/lib/duet/{p-257800b7.system.entry.js → p-3a112577.system.entry.js} +1 -1
  318. package/lib/duet/{p-d624e990.js → p-3add1161.js} +1 -1
  319. package/lib/duet/{p-ce01f793.system.entry.js → p-3ba657dc.system.entry.js} +1 -1
  320. package/lib/duet/{p-427b81f9.entry.js → p-3c99eda8.entry.js} +1 -1
  321. package/lib/duet/{p-a5981a39.entry.js → p-3dfa5d3d.entry.js} +1 -1
  322. package/lib/duet/{p-ec2e1d5e.entry.js → p-3e7f45ff.entry.js} +1 -1
  323. package/lib/duet/{p-3f5a19f5.entry.js → p-3f798c3c.entry.js} +1 -1
  324. package/lib/duet/{p-ee4af632.entry.js → p-3f7fbc1e.entry.js} +1 -1
  325. package/lib/duet/{p-805a3314.entry.js → p-3f8f502e.entry.js} +1 -1
  326. package/lib/duet/{p-f2279e1e.entry.js → p-3f907346.entry.js} +1 -1
  327. package/lib/duet/{p-6e3a7d3f.system.entry.js → p-406b8c7b.system.entry.js} +1 -1
  328. package/lib/duet/{p-1fc21d0d.system.entry.js → p-408e106d.system.entry.js} +1 -1
  329. package/lib/duet/{p-1f8ae410.entry.js → p-42bd1c5f.entry.js} +1 -1
  330. package/lib/duet/{p-aaf99cb9.entry.js → p-436f5706.entry.js} +1 -1
  331. package/lib/duet/{p-fa311641.system.entry.js → p-44b751db.system.entry.js} +1 -1
  332. package/lib/duet/{p-aedb1d02.entry.js → p-4875b405.entry.js} +1 -1
  333. package/lib/duet/{p-025cfc0c.entry.js → p-48ad73dd.entry.js} +1 -1
  334. package/lib/duet/{p-08379332.entry.js → p-48f1d953.entry.js} +1 -1
  335. package/lib/duet/{p-23cecf9f.entry.js → p-4b6c159b.entry.js} +1 -1
  336. package/lib/duet/{p-21f4713b.system.entry.js → p-4c45eaf2.system.entry.js} +1 -1
  337. package/lib/duet/{p-49add367.entry.js → p-4f657376.entry.js} +1 -1
  338. package/lib/duet/{p-787520f2.entry.js → p-506c6579.entry.js} +1 -1
  339. package/lib/duet/{p-a476a851.system.entry.js → p-50b5b0de.system.entry.js} +1 -1
  340. package/lib/duet/{p-a3e90064.system.entry.js → p-51d7c128.system.entry.js} +1 -1
  341. package/lib/duet/{p-67958acc.system.entry.js → p-520c2a43.system.entry.js} +2 -2
  342. package/lib/duet/{p-413838af.entry.js → p-52746bee.entry.js} +1 -1
  343. package/lib/duet/{p-7203b196.system.entry.js → p-541ce554.system.entry.js} +1 -1
  344. package/lib/duet/{p-1dc6e751.system.entry.js → p-5646ba3e.system.entry.js} +1 -1
  345. package/lib/duet/{p-b2bd0b07.entry.js → p-56f9b9ae.entry.js} +1 -1
  346. package/lib/duet/{p-ce69866c.entry.js → p-586b653b.entry.js} +1 -1
  347. package/lib/duet/{p-dd95c9fb.system.entry.js → p-59c57b3f.system.entry.js} +1 -1
  348. package/lib/duet/{p-52fb459a.system.entry.js → p-5ae98754.system.entry.js} +1 -1
  349. package/lib/duet/{p-08efced6.entry.js → p-5c0875c6.entry.js} +1 -1
  350. package/lib/duet/{p-7f7a7a71.entry.js → p-5c8c2bfa.entry.js} +1 -1
  351. package/lib/duet/{p-9180b8be.entry.js → p-5dd144b7.entry.js} +1 -1
  352. package/lib/duet/{p-c30b6ad6.system.entry.js → p-5e0efc8d.system.entry.js} +1 -1
  353. package/lib/duet/{p-690a8348.system.entry.js → p-5e89fbc0.system.entry.js} +1 -1
  354. package/lib/duet/{p-9644775c.system.js → p-5ffaa443.system.js} +1 -1
  355. package/lib/duet/{p-62512c7e.system.entry.js → p-6016389e.system.entry.js} +1 -1
  356. package/lib/duet/{p-fa3801ea.system.entry.js → p-6345e5b3.system.entry.js} +1 -1
  357. package/lib/duet/{p-bba9682d.system.entry.js → p-66499aef.system.entry.js} +1 -1
  358. package/lib/duet/{p-2f966c7e.entry.js → p-666529e7.entry.js} +1 -1
  359. package/lib/duet/{p-43887017.system.js → p-66970e56.system.js} +1 -1
  360. package/lib/duet/{p-ffab115e.entry.js → p-6abcbe7b.entry.js} +1 -1
  361. package/lib/duet/{p-e4f6002c.system.entry.js → p-6b56757e.system.entry.js} +1 -1
  362. package/lib/duet/{p-9b4a8098.system.entry.js → p-6c169c2b.system.entry.js} +1 -1
  363. package/lib/duet/{p-ff4969cc.entry.js → p-6cb486a0.entry.js} +1 -1
  364. package/lib/duet/{p-4d959a3f.system.entry.js → p-6faa8f52.system.entry.js} +1 -1
  365. package/lib/duet/{p-96ca57c0.entry.js → p-6fee4508.entry.js} +1 -1
  366. package/lib/duet/{p-1ab80c29.system.entry.js → p-70d31599.system.entry.js} +1 -1
  367. package/lib/duet/{p-9540e0a7.system.entry.js → p-73b1c053.system.entry.js} +1 -1
  368. package/lib/duet/{p-49a25bf5.entry.js → p-75b7a5cc.entry.js} +1 -1
  369. package/lib/duet/{p-de6e4f28.system.entry.js → p-7740f52d.system.entry.js} +1 -1
  370. package/lib/duet/{p-427eec46.system.entry.js → p-7a0d1b1d.system.entry.js} +1 -1
  371. package/lib/duet/{p-907787c5.system.entry.js → p-7a99b81e.system.entry.js} +1 -1
  372. package/lib/duet/{p-df345202.entry.js → p-7aa66c0d.entry.js} +1 -1
  373. package/lib/duet/{p-7bc20355.entry.js → p-7b0383ef.entry.js} +1 -1
  374. package/lib/duet/p-7d0e5e04.entry.js +4 -0
  375. package/lib/duet/{p-dc133655.entry.js → p-7e7d7e2a.entry.js} +1 -1
  376. package/lib/duet/{p-cc18e40b.system.entry.js → p-7e82df08.system.entry.js} +1 -1
  377. package/lib/duet/{p-33e25171.system.entry.js → p-7f3874bd.system.entry.js} +1 -1
  378. package/lib/duet/{p-a0954730.system.entry.js → p-7f692a32.system.entry.js} +1 -1
  379. package/lib/duet/{p-cc78a011.entry.js → p-824ffa69.entry.js} +1 -1
  380. package/lib/duet/{p-0778ccde.system.entry.js → p-85d9c410.system.entry.js} +1 -1
  381. package/lib/duet/{p-be4b69a8.system.entry.js → p-85e58a63.system.entry.js} +1 -1
  382. package/lib/duet/{p-c12d34fd.system.entry.js → p-87d9c908.system.entry.js} +1 -1
  383. package/lib/duet/{p-f1b5656c.entry.js → p-8827bd50.entry.js} +1 -1
  384. package/lib/duet/{p-622f89ff.entry.js → p-88f4f75a.entry.js} +1 -1
  385. package/lib/duet/{p-c0793903.entry.js → p-8cf2df1e.entry.js} +1 -1
  386. package/lib/duet/{p-a5bb0b7f.entry.js → p-8d391c0a.entry.js} +1 -1
  387. package/lib/duet/{p-40a7a9b0.system.entry.js → p-8dd2d2eb.system.entry.js} +1 -1
  388. package/lib/duet/{p-032e2711.entry.js → p-8eeb708e.entry.js} +1 -1
  389. package/lib/duet/{p-547bba59.entry.js → p-9328bd91.entry.js} +1 -1
  390. package/lib/duet/{p-b5595969.entry.js → p-938a8293.entry.js} +1 -1
  391. package/lib/duet/{p-8f7c7961.entry.js → p-94971206.entry.js} +1 -1
  392. package/lib/duet/p-996702da.system.js +4 -0
  393. package/lib/duet/{p-c3bda242.system.entry.js → p-99e5e103.system.entry.js} +1 -1
  394. package/lib/duet/{p-82d1fd63.system.entry.js → p-9acdb7c6.system.entry.js} +1 -1
  395. package/lib/duet/{p-71900b7d.entry.js → p-a0fff4ab.entry.js} +1 -1
  396. package/lib/duet/{p-31ad4690.system.entry.js → p-a2213fad.system.entry.js} +1 -1
  397. package/lib/duet/{p-d067ebb8.entry.js → p-a2ddc388.entry.js} +1 -1
  398. package/lib/duet/{p-6623f965.entry.js → p-a42de2c8.entry.js} +1 -1
  399. package/lib/duet/{p-20914caa.entry.js → p-a479570d.entry.js} +1 -1
  400. package/lib/duet/{p-d1d79e0c.entry.js → p-a6a5cd0d.entry.js} +1 -1
  401. package/lib/duet/{p-91677c21.entry.js → p-a7b80def.entry.js} +1 -1
  402. package/lib/duet/{p-c2c2e797.entry.js → p-a90963f2.entry.js} +1 -1
  403. package/lib/duet/{p-6d4c6665.system.entry.js → p-ad842721.system.entry.js} +1 -1
  404. package/lib/duet/{p-b781e27f.system.entry.js → p-adc701d3.system.entry.js} +1 -1
  405. package/lib/duet/{p-884dd3a0.entry.js → p-afd2b7f1.entry.js} +1 -1
  406. package/lib/duet/{p-27363096.system.entry.js → p-b32b138c.system.entry.js} +1 -1
  407. package/lib/duet/{p-9065a864.entry.js → p-b342036c.entry.js} +1 -1
  408. package/lib/duet/{p-0b7eacfc.system.entry.js → p-b417c57c.system.entry.js} +2 -2
  409. package/lib/duet/{p-f07cbc38.entry.js → p-b454e119.entry.js} +1 -1
  410. package/lib/duet/{p-2084a65f.entry.js → p-b6897920.entry.js} +1 -1
  411. package/lib/duet/{p-4c9725a9.entry.js → p-b7a1d923.entry.js} +1 -1
  412. package/lib/duet/{p-4605197f.entry.js → p-b7cae73a.entry.js} +1 -1
  413. package/lib/duet/{p-436fcaf7.entry.js → p-bbc72076.entry.js} +1 -1
  414. package/lib/duet/{p-5e59c38c.system.entry.js → p-bc3cc227.system.entry.js} +1 -1
  415. package/lib/duet/{p-1af72e95.entry.js → p-bc60fa58.entry.js} +1 -1
  416. package/lib/duet/{p-f252a415.entry.js → p-bd650916.entry.js} +1 -1
  417. package/lib/duet/{p-6f24a09e.entry.js → p-bebc0345.entry.js} +1 -1
  418. package/lib/duet/{p-2faba2ba.entry.js → p-c13b73ce.entry.js} +1 -1
  419. package/lib/duet/{p-2208faac.system.entry.js → p-c31a9505.system.entry.js} +1 -1
  420. package/lib/duet/{p-b3c41b77.system.entry.js → p-c40c350d.system.entry.js} +1 -1
  421. package/lib/duet/{p-4dfb4bf2.entry.js → p-c4539805.entry.js} +1 -1
  422. package/lib/duet/{p-080d1309.system.entry.js → p-c63faa6c.system.entry.js} +1 -1
  423. package/lib/duet/{p-b3774ea3.entry.js → p-c755eb91.entry.js} +1 -1
  424. package/lib/duet/{p-b1985704.entry.js → p-c9c6b3cb.entry.js} +1 -1
  425. package/lib/duet/{p-51adcace.system.entry.js → p-cb40eace.system.entry.js} +1 -1
  426. package/lib/duet/{p-af751e6f.entry.js → p-d6ae391a.entry.js} +1 -1
  427. package/lib/duet/{p-98ffa852.system.entry.js → p-d8cef4da.system.entry.js} +1 -1
  428. package/lib/duet/{p-6eab3859.system.entry.js → p-d95d5454.system.entry.js} +1 -1
  429. package/lib/duet/{p-43d4b538.system.entry.js → p-dce0a876.system.entry.js} +1 -1
  430. package/lib/duet/{p-0bd322cf.system.entry.js → p-de6a45f8.system.entry.js} +1 -1
  431. package/lib/duet/{p-49f79189.system.entry.js → p-dfd1ab31.system.entry.js} +1 -1
  432. package/lib/duet/{p-76a419f1.system.entry.js → p-e08d2854.system.entry.js} +1 -1
  433. package/lib/duet/{p-a7e9bc31.system.entry.js → p-e1cc5bd7.system.entry.js} +1 -1
  434. package/lib/duet/{p-de5054b6.system.entry.js → p-e2265b53.system.entry.js} +1 -1
  435. package/lib/duet/{p-83e9058b.js → p-e2d05479.js} +1 -1
  436. package/lib/duet/{p-c5f48c1c.system.entry.js → p-e44854e3.system.entry.js} +1 -1
  437. package/lib/duet/{p-e333b9fc.system.entry.js → p-e4af4d67.system.entry.js} +1 -1
  438. package/lib/duet/{p-26c5cd6f.entry.js → p-e630e96a.entry.js} +1 -1
  439. package/lib/duet/{p-5063685a.entry.js → p-e9aa4934.entry.js} +1 -1
  440. package/lib/duet/{p-62c34a4d.system.entry.js → p-eb6b85ab.system.entry.js} +1 -1
  441. package/lib/duet/{p-e7d32eaa.entry.js → p-ee604f8c.entry.js} +1 -1
  442. package/lib/duet/{p-9ad40682.entry.js → p-ef2575b8.entry.js} +1 -1
  443. package/lib/duet/{p-a64b72f5.entry.js → p-efb1ed37.entry.js} +1 -1
  444. package/lib/duet/{p-584ab25c.entry.js → p-f0085bde.entry.js} +1 -1
  445. package/lib/duet/{p-85d58c2d.system.entry.js → p-f2549ac7.system.entry.js} +1 -1
  446. package/lib/duet/{p-c94f3167.system.entry.js → p-f6f03ed2.system.entry.js} +1 -1
  447. package/lib/duet/{p-53c64c6f.entry.js → p-f859ee68.entry.js} +1 -1
  448. package/lib/duet/{p-f0209c14.system.entry.js → p-f8e14dfe.system.entry.js} +2 -2
  449. package/lib/esm/duet-action-button.entry.js +1 -1
  450. package/lib/esm/duet-alert.entry.js +1 -1
  451. package/lib/esm/duet-badge.entry.js +1 -1
  452. package/lib/esm/duet-banner.entry.js +1 -1
  453. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  454. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  455. package/lib/esm/duet-button_2.entry.js +1 -1
  456. package/lib/esm/duet-callout.entry.js +1 -1
  457. package/lib/esm/duet-caption_4.entry.js +1 -1
  458. package/lib/esm/duet-card.entry.js +1 -1
  459. package/lib/esm/duet-checkbox.entry.js +1 -1
  460. package/lib/esm/duet-checkmark.entry.js +1 -1
  461. package/lib/esm/duet-chip.entry.js +1 -1
  462. package/lib/esm/duet-choice_2.entry.js +1 -1
  463. package/lib/esm/duet-collapsible.entry.js +1 -1
  464. package/lib/esm/duet-combobox.entry.js +1 -1
  465. package/lib/esm/duet-contact-card.entry.js +1 -1
  466. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  467. package/lib/esm/duet-date-picker.entry.js +2 -2
  468. package/lib/esm/duet-divider_2.entry.js +1 -1
  469. package/lib/esm/duet-editable-table_3.entry.js +1 -1
  470. package/lib/esm/duet-empty-state.entry.js +1 -1
  471. package/lib/esm/duet-fieldset.entry.js +1 -1
  472. package/lib/esm/duet-file-chooser.entry.js +1 -1
  473. package/lib/esm/duet-footer.entry.js +1 -1
  474. package/lib/esm/duet-grid_2.entry.js +1 -1
  475. package/lib/esm/duet-header_2.entry.js +1 -1
  476. package/lib/esm/duet-hero.entry.js +1 -1
  477. package/lib/esm/duet-icon.entry.js +1 -1
  478. package/lib/esm/duet-input_2.entry.js +1 -1
  479. package/lib/esm/duet-layout.entry.js +1 -1
  480. package/lib/esm/duet-list_2.entry.js +1 -1
  481. package/lib/esm/duet-menu-bar-button.entry.js +1 -1
  482. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -1
  483. package/lib/esm/duet-menu-bar-dropdown.entry.js +1 -1
  484. package/lib/esm/duet-menu-bar-item.entry.js +1 -1
  485. package/lib/esm/duet-menu-bar-link.entry.js +1 -1
  486. package/lib/esm/duet-menu-bar.entry.js +1 -1
  487. package/lib/esm/duet-modal.entry.js +2 -2
  488. package/lib/esm/duet-multiselect.entry.js +33 -6
  489. package/lib/esm/duet-nav.entry.js +1 -1
  490. package/lib/esm/duet-notification_2.entry.js +1 -1
  491. package/lib/esm/duet-number-input.entry.js +1 -1
  492. package/lib/esm/duet-overlay.entry.js +1 -1
  493. package/lib/esm/duet-page-heading.entry.js +1 -1
  494. package/lib/esm/duet-pagination_2.entry.js +1 -1
  495. package/lib/esm/duet-popup-menu-item.entry.js +1 -1
  496. package/lib/esm/duet-popup-menu.entry.js +2 -2
  497. package/lib/esm/duet-progress.entry.js +1 -1
  498. package/lib/esm/duet-promo-card.entry.js +1 -1
  499. package/lib/esm/duet-radio_2.entry.js +1 -1
  500. package/lib/esm/duet-range-slider.entry.js +1 -1
  501. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  502. package/lib/esm/duet-section-layout.entry.js +1 -1
  503. package/lib/esm/duet-select.entry.js +1 -1
  504. package/lib/esm/duet-shaped-image.entry.js +1 -1
  505. package/lib/esm/duet-show-more.entry.js +1 -1
  506. package/lib/esm/duet-slideout-lang.entry.js +1 -1
  507. package/lib/esm/duet-slideout-link.entry.js +1 -1
  508. package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
  509. package/lib/esm/duet-slideout-panel.entry.js +2 -2
  510. package/lib/esm/duet-slideout.entry.js +2 -2
  511. package/lib/esm/duet-step_2.entry.js +1 -1
  512. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +1 -1
  513. package/lib/esm/duet-submenu-bar-dropdown.entry.js +1 -1
  514. package/lib/esm/duet-submenu-bar-item.entry.js +1 -1
  515. package/lib/esm/duet-submenu-bar-link.entry.js +1 -1
  516. package/lib/esm/duet-submenu-bar.entry.js +1 -1
  517. package/lib/esm/duet-textarea.entry.js +1 -1
  518. package/lib/esm/duet-toggle.entry.js +1 -1
  519. package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
  520. package/lib/esm/duet-toolbar-dropdown.entry.js +1 -1
  521. package/lib/esm/duet-toolbar-item.entry.js +1 -1
  522. package/lib/esm/duet-toolbar-link.entry.js +1 -1
  523. package/lib/esm/duet-toolbar.entry.js +1 -1
  524. package/lib/esm/duet-tooltip-button_2.entry.js +2 -2
  525. package/lib/esm/duet-tooltip.entry.js +1 -1
  526. package/lib/esm/duet-tray.entry.js +1 -1
  527. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  528. package/lib/esm/duet-upload-item.entry.js +1 -1
  529. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  530. package/lib/esm/duet.js +3 -3
  531. package/lib/esm/{focus-utils-ef611bf3.js → focus-utils-707070f5.js} +1 -1
  532. package/lib/esm/{index-356c0666.js → index-b7e7a6a1.js} +1 -1
  533. package/lib/esm/loader.js +3 -3
  534. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  535. package/lib/esm-es5/duet-alert.entry.js +1 -1
  536. package/lib/esm-es5/duet-badge.entry.js +1 -1
  537. package/lib/esm-es5/duet-banner.entry.js +1 -1
  538. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  539. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  540. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  541. package/lib/esm-es5/duet-callout.entry.js +1 -1
  542. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  543. package/lib/esm-es5/duet-card.entry.js +1 -1
  544. package/lib/esm-es5/duet-checkbox.entry.js +2 -2
  545. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  546. package/lib/esm-es5/duet-chip.entry.js +1 -1
  547. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  548. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  549. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  550. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  551. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  552. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  553. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  554. package/lib/esm-es5/duet-editable-table_3.entry.js +2 -2
  555. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  556. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  557. package/lib/esm-es5/duet-file-chooser.entry.js +1 -1
  558. package/lib/esm-es5/duet-footer.entry.js +1 -1
  559. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  560. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  561. package/lib/esm-es5/duet-hero.entry.js +1 -1
  562. package/lib/esm-es5/duet-icon.entry.js +1 -1
  563. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  564. package/lib/esm-es5/duet-layout.entry.js +1 -1
  565. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  566. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  567. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  568. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  569. package/lib/esm-es5/duet-menu-bar-item.entry.js +1 -1
  570. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  571. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  572. package/lib/esm-es5/duet-modal.entry.js +1 -1
  573. package/lib/esm-es5/duet-multiselect.entry.js +2 -2
  574. package/lib/esm-es5/duet-nav.entry.js +1 -1
  575. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  576. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  577. package/lib/esm-es5/duet-overlay.entry.js +1 -1
  578. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  579. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  580. package/lib/esm-es5/duet-popup-menu-item.entry.js +1 -1
  581. package/lib/esm-es5/duet-popup-menu.entry.js +1 -1
  582. package/lib/esm-es5/duet-progress.entry.js +1 -1
  583. package/lib/esm-es5/duet-promo-card.entry.js +1 -1
  584. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  585. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  586. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  587. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  588. package/lib/esm-es5/duet-select.entry.js +1 -1
  589. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  590. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  591. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  592. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  593. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  594. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  595. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  596. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  597. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  598. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  599. package/lib/esm-es5/duet-submenu-bar-item.entry.js +1 -1
  600. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  601. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  602. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  603. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  604. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  605. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  606. package/lib/esm-es5/duet-toolbar-item.entry.js +1 -1
  607. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  608. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  609. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  610. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  611. package/lib/esm-es5/duet-tray.entry.js +1 -1
  612. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  613. package/lib/esm-es5/duet-upload-item.entry.js +1 -1
  614. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  615. package/lib/esm-es5/duet.js +1 -1
  616. package/lib/esm-es5/focus-utils-707070f5.js +4 -0
  617. package/lib/esm-es5/{index-356c0666.js → index-b7e7a6a1.js} +1 -1
  618. package/lib/esm-es5/loader.js +1 -1
  619. package/lib/types/components/duet-multiselect/duet-multiselect.d.ts +11 -1
  620. package/lib/types/components.d.ts +8 -4
  621. package/package.json +4 -4
  622. package/lib/duet/p-6151635f.system.js +0 -4
  623. package/lib/duet/p-67382632.entry.js +0 -4
  624. package/lib/esm-es5/focus-utils-ef611bf3.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 s,F as d}from"./p-83e9058b.js";import{i as l}from"./p-a58bd561.js";import{f as o,d as n}from"./p-9e371678.js";import{i as r}from"./p-a1b7f2a0.js";import{a as h,c as u,d as b,g as p,s as m}from"./p-2e36d5bf.js";import{p as c,s as g}from"./p-4a901bfc.js";import{b as f,a as y}from"./p-1784b1d2.js";import{c as v}from"./p-5e59e970.js";import{p as x}from"./p-0e052642.js";import{g as w,a as k}from"./p-fabb616b.js";const T=({data:e,groupId:i,alignment:a})=>{const s=`duet-editable-table duet-editable-table-content-${i}`;return"string"==typeof e?t("td",{innerHTML:e,class:s,part:`${i}content`,style:{verticalAlign:a}}):t("td",{class:s,part:`${i}content`,style:{verticalAlign:a}},e)},L=class{constructor(t){e(this,t),this.duetTableToggle=i(this,"duetTableToggle",7),this.duetMenuClick=i(this,"duetMenuClick",7),this.hasHeadSlotFirst=!1,this.hasHeadSlotLast=!1,this.hasFootSlot=!1,this.sortableDefaultLabel={fi:"Järjestä",en:"Click to sort",sv:"Klicka för att sortera"},this.actionColumnLabel={en:"Actions for rows",fi:"Toiminnot rivillä",sv:"Åtgärder för rader"},this.toggleColumn=(t,e)=>{e.preventDefault();const{sort_order:i,direction:a,index:s,key:d}=t;this.duetTableToggle.emit({sort_order:i,index:s,direction:a,key:d,component:"duet-editable-table",originalEvent:e})},this.handleKeyDown=(t,e)=>{r(e)&&this.toggleColumn(t,e)},this.language=h(),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.actions=void 0,this.columns=void 0,this.rows=void 0,this.sortable=!1,this.groupId="",this.theme="",this.accessibleRole=void 0,this.hideHeadVisually=!1}componentWillLoad(){l(this),this.hasHeadSlotFirst=!!this.element.querySelector("[slot='thead-first']"),this.hasHeadSlotLast=!!this.element.querySelector("[slot='thead-last']"),this.hasFootSlot=!!this.element.querySelector("[slot='tfoot']")}connectedCallback(){u(this)}disconnectedCallback(){b(this)}createLabel(e){const{sort_order:i,direction:a,index:s,label:d}=e,l=p(d);return this.sortable?t("span",{class:"duet-table-label","data-index":s},t("duet-button",{size:"small",icon:i&&1===a?"action-arrow-down-small":i&&-1===a?"action-arrow-up-small":"action-subtract-small","icon-size":"medium-small","accessible-label":this.sortableDefaultLabel[this.language],variation:"plain",margin:"none","icon-right":!0,onClick:t=>this.toggleColumn(e,t),onKeyDown:t=>this.handleKeyDown(e,t)},l)):l}getSortedColumns(){return[...this.columns].sort(o(["index"]))}getRowSortOrder(){return[...this.columns].sort(o(["sort_order"])).filter((t=>t.sort_order)).map((t=>-1===t.direction?`-${t.key}`:t.key))}renderTableHeader(){if(!this.columns)return;const e=this.getSortedColumns();return t("tr",{class:{"duet-table-action-header":!!this.actions}},e.map((e=>{if(!1!==e.display){const i=this.createLabel(e);return""!==i?t("th",{scope:"col"},i):t("td",null)}})),this.actions&&t("th",{scope:"col",class:"duet-table-action-header-heading"},this.actions&&t("duet-visually-hidden",null,this.actionColumnLabel[this.language])))}renderActions(e,i){if(this.actions)return t("td",{class:"duet-text-right"},this.actions.map((a=>t("duet-action-button",{actionMeta:Object.assign({},(null==e?void 0:e.meta)||{},{index:i}),actionId:(null==e?void 0:e.uid)||(null==e?void 0:e.id)||null,actionName:a.name,theme:this.theme,iconName:a.icon,iconColor:a.color,iconSize:a.size,background:a.background,"accessible-label":`${e.actionDescription||""} ${p(a.label)} `}))))}renderTableBody(){const e=this.getSortedColumns(),i=this.getRowSortOrder();return[...this.rows].sort(o(i)).map(((i,a)=>t("tr",{class:{"duet-table-action-row":!!this.actions,"duet-editable-table-row":!0,[`duet-editable-table-row-${this.groupId}`]:!0},"data-meta":JSON.stringify(i.meta)},e.map((e=>{if(!1!==e.display)return t(T,{data:i[e.key]?i[e.key]:i.item,groupId:this.groupId})})),this.actions&&this.renderActions(i,a))))}render(){return t(a,{class:{[`duet-editable-table-${this.variation}`]:!0,"duet-editable-table":!0,[`duet-editable-table-${this.theme}`]:!0,"duet-editable-table-scrollable":"none-scrollable"===this.breakpoint,"duet-editable-table-sortable":this.sortable,"duet-editable-table-actions":!!this.actions,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme}},t("duet-table",{class:"duet-editable-table-table",sticky:this.sticky,stickyDistance:this.stickyDistance,margin:this.margin,theme:this.theme,variation:this.variation,breakpoint:this.breakpoint,"hide-head-visually":this.hideHeadVisually},t("table",{role:this.accessibleRole},t("caption",null,t("slot",{name:"tcaption"})),t("thead",null,this.hasHeadSlotFirst&&t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-first"}))),this.renderTableHeader(),this.hasHeadSlotLast&&t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-last"})))),t("tbody",null,this.renderTableBody()),this.hasFootSlot&&t("tfoot",null,t("tr",null,t("td",{class:"duet-editable-table-footer-menu",colSpan:99},t("slot",{name:"tfoot"})))))))}get element(){return s(this)}};L.style=".sc-duet-editable-table-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-editable-table-actions-menu.sc-duet-editable-table{position:relative;padding:0 !important;margin:0}.duet-editable-table-actions-menu-button.sc-duet-editable-table{position:relative;right:-16px;float:right;padding:0}.duet-editable-table-actions-menu-icon.sc-duet-editable-table .duet-icon.sc-duet-editable-table{max-width:16px;max-height:16px}.duet-editable-table-row.duet-table-action-row.sc-duet-editable-table .duet-text-right.sc-duet-editable-table{text-align:right}.duet-editable-table-header.sc-duet-editable-table tr.sc-duet-editable-table .duet-editable-table-header-hidden.sc-duet-editable-table{padding:0 !important;font-size:0;border-bottom:0}";const S={none:0,"with-links":16*parseFloat(c),"without-links":16*parseFloat(g)},E=class{constructor(t){e(this,t),this.headingSelector="thead tr > :not(*.duet-editable-table-actions-menu)",this.handleMediaQueryChange=t=>{this.matchesBreakpoint=f.includes(this.breakpoint)?!t.matches:t.matches},this.matchesBreakpoint=!0,this.language=h(),this.theme=void 0,this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.hideHeadVisually=!1}watchLanguageStateHandler(t,e){t!==e&&setTimeout((()=>this.copyHeadingsToCells()),50)}connectedCallback(){this.mq=matchMedia("none"===this.breakpoint||"none-scrollable"===this.breakpoint?"all":y[this.breakpoint]),this.mq.addEventListener("change",n(this.handleMediaQueryChange,50)),this.handleMediaQueryChange(this.mq),this.observer=new MutationObserver((()=>n(this.copyHeadingsToCells(),50))),this.observer.observe(this.element,{childList:!0,subtree:!0})}componentWillLoad(){if(l(this),this.copyHeadingsToCells(),this.sticky&&"none-scrollable"===this.breakpoint&&console.warn('[DUET WARNING]: sticky and breakpoint="none-scrollable" are incompatible. Scrollable takes precedence'),this.sticky){const t=S[this.stickyDistance];this.element.querySelectorAll(this.headingSelector).forEach((e=>e.style.top=`${t}px`))}}componentDidLoad(){this.observer&&this.observer.takeRecords(),u(this)}disconnectedCallback(){this.observer.disconnect(),this.observer=null,this.mq.removeListener(this.handleMediaQueryChange),this.mq=null,this.matchesBreakpoint=!0,b(this)}copyHeadingsToCells(){const t=this.element.querySelectorAll(this.headingSelector),e=this.element.querySelectorAll("tbody tr"),i=Array.from(t).map((t=>t.textContent.trim()));e.forEach((t=>{t.querySelectorAll("td").forEach(((t,e)=>{if(i[e]){const a=t.querySelector(".duet-table-cell-heading");if(!a||a.textContent!==i[e]){null==a||a.remove();const s=document.createElement("span");s.textContent=i[e],s.classList.add("duet-table-cell-heading"),s.setAttribute("aria-hidden","true"),s.inert=!0,t.prepend(s)}}}))}))}render(){return t(a,{class:{[`duet-table-${this.variation}`]:!0,"duet-table-flattened":!this.matchesBreakpoint,"duet-table-sticky":this.matchesBreakpoint&&this.sticky,"duet-table-scrollable":"none-scrollable"===this.breakpoint,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme,"duet-table-hide-head-visually":this.hideHeadVisually}},t("slot",null))}get element(){return s(this)}static get watchers(){return{language:["watchLanguageStateHandler"]}}};E.style='duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-table-hide-head-visually.duet-table-hide-head-visually thead,duet-table.duet-table-hide-head-visually.duet-table-hide-head-visually thead *{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}duet-table.duet-theme-turva table{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}duet-table td{-webkit-hyphens:auto;hyphens:auto;color:rgb(0, 41, 77)}duet-table.duet-theme-turva td{color:rgb(23, 28, 58)}duet-table th{font-weight:600;line-height:1.25;color:rgb(101, 119, 135);text-align:left}duet-table.duet-theme-turva th{color:rgb(116, 116, 117)}duet-table tbody th{font-weight:600;color:rgb(0, 41, 77)}duet-table.duet-theme-turva tbody th{color:rgb(23, 28, 58)}duet-table .duet-table-action-row td:last-child{justify-self:end;padding-right:20px !important;white-space:nowrap}duet-table span.duet-table-cell-heading{display:none}.duet-table-flattened table,.duet-table-flattened thead,.duet-table-flattened tbody,.duet-table-flattened tfoot,.duet-table-flattened th,.duet-table-flattened td,.duet-table-flattened tr{display:block}.duet-table-flattened thead tr{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-table-flattened td{line-height:1.25}.duet-table-flattened td:not(:last-child){margin-bottom:16px !important}.duet-table-flattened td span.duet-table-cell-heading{margin-bottom:4px !important;display:block;font-size:1rem;font-weight:600;color:rgb(0, 41, 77)}.duet-table-flattened.duet-theme-turva td span.duet-table-cell-heading{color:rgb(23, 28, 58)}.duet-table-flattened tbody td,.duet-table-flattened tbody th,.duet-table-flattened tfoot td{padding:0 !important;text-align:left !important}.duet-table-flattened tbody th{font-weight:600;line-height:1.25;color:rgb(101, 119, 135);text-align:left}.duet-table-sticky thead th{position:sticky;top:0;background:rgb(255, 255, 255)}.duet-table-striped td,.duet-table-striped th{padding:20px !important}@media (max-width: 35.9375em){.duet-table-striped td,.duet-table-striped th{padding:20px 12px !important}}.duet-table-striped tbody th{background:rgb(255, 255, 255)}.duet-table-striped.duet-table-sticky thead th{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-table-sticky.duet-theme-turva thead th{border-bottom-color:rgb(228, 228, 230)}.duet-table-striped tbody:not(:first-of-type) th{padding-top:40px !important}.duet-table-striped tbody:only-of-type tr:nth-of-type(odd){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tfoot td{border-top:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-theme-turva tfoot td{border-top-color:rgb(228, 228, 230)}.duet-table-striped.duet-table-flattened tbody:not(:first-of-type) th{padding-top:20px !important}.duet-table-striped.duet-table-flattened tr{padding:20px !important}.duet-table-striped.duet-table-flattened tfoot td{border-top:0}.duet-table-striped.duet-table-flattened tfoot tr{border-top:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr{border-top-color:rgb(228, 228, 230)}.duet-table-fixed th,.duet-table-minimal th,.duet-table-plain th{padding:16px !important;border-bottom:1px solid rgb(101, 119, 135)}.duet-table-fixed th:first-child,.duet-table-minimal th:first-child,.duet-table-plain th:first-child{padding-left:0 !important}.duet-table-fixed th:last-child,.duet-table-minimal th:last-child,.duet-table-plain th:last-child{padding-right:0 !important}.duet-theme-turva.duet-table-fixed th,.duet-theme-turva.duet-table-minimal th,.duet-theme-turva.duet-table-plain th{border-bottom-color:rgb(68, 68, 69)}.duet-table-fixed tbody th,.duet-table-minimal tbody th,.duet-table-plain tbody th{padding-top:40px !important;border-bottom-color:rgb(225, 227, 230)}.duet-theme-turva.duet-table-fixed tbody th,.duet-theme-turva.duet-table-minimal tbody th,.duet-theme-turva.duet-table-plain tbody th{border-bottom-color:rgb(228, 228, 230)}.duet-table-fixed td,.duet-table-minimal td,.duet-table-plain td{padding:16px !important}.duet-table-fixed td:first-child,.duet-table-minimal td:first-child,.duet-table-plain td:first-child{padding-left:0 !important}.duet-table-fixed td:last-child,.duet-table-minimal td:last-child,.duet-table-plain td:last-child{padding-right:0 !important}.duet-table-fixed tbody td,.duet-table-minimal tbody td,.duet-table-plain tbody td{border-bottom:1px solid rgb(225, 227, 230)}.duet-theme-turva.duet-table-fixed tbody td,.duet-theme-turva.duet-table-minimal tbody td,.duet-theme-turva.duet-table-plain tbody td{border-bottom-color:rgb(228, 228, 230)}.duet-table-flattened.duet-table-fixed tbody:first-of-type th,.duet-table-flattened.duet-table-minimal tbody:first-of-type th,.duet-table-flattened.duet-table-plain tbody:first-of-type th{padding-top:0 !important}.duet-table-flattened.duet-table-fixed td,.duet-table-flattened.duet-table-minimal td,.duet-table-flattened.duet-table-plain td,.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{border-bottom:0}.duet-table-flattened.duet-table-fixed tr,.duet-table-flattened.duet-table-minimal tr,.duet-table-flattened.duet-table-plain tr{padding:20px 0 !important}.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{padding-top:20px !important}.duet-table-flattened.duet-table-fixed tfoot td,.duet-table-flattened.duet-table-minimal tfoot td,.duet-table-flattened.duet-table-plain tfoot td{margin-bottom:4px !important}.duet-table-flattened.duet-table-fixed tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-minimal tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-plain tbody:not(:only-of-type) tr:first-child{border-bottom:0}.duet-table-plain.duet-table-flattened tbody tr{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr{border-bottom-color:rgb(228, 228, 230)}.duet-table-minimal tbody tr,.duet-table-minimal tbody tr td{vertical-align:top;border-bottom:0 none}.duet-table-minimal tbody tr:last-of-type,.duet-table-minimal tbody tr:last-of-type td{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-minimal.duet-table-flattened tbody tr,.duet-table-minimal.duet-table-flattened tbody tr td{border-bottom:0 none}.duet-table-minimal.duet-table-flattened tbody tr td[data-heading]::before{display:none}.duet-table-minimal.duet-table-flattened tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-fixed table{table-layout:fixed}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td,.duet-table-fixed tbody tr td:first-child{padding:4px !important;vertical-align:text-bottom;border-bottom:0 none}.duet-table-fixed thead{display:none}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td{border-bottom:0 none}.duet-table-fixed:not(.duet-table-flattened) tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-fixed:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-scrollable{position:relative;width:100%;overflow-x:auto;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;background-repeat:no-repeat;background-attachment:local, local, scroll, scroll;background-size:100px 100%, 100px 100%, 12px 100%, 12px 100%}.duet-table-selected-column{background:rgba(0, 119, 179, 0.08)}.duet-theme-turva .duet-table-selected-column{background:rgba(68, 68, 69, 0.08)}.duet-table-sortable tbody tr td:first-child,.duet-table-sortable thead tr th:first-child{padding:20px}.duet-table-sortable:not(.duet-table-flattened) tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-sortable:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-actions table{table-layout:auto}.duet-table-actions thead th:last-child{width:1px;white-space:nowrap}.duet-editable-table-table.duet-table-flattened tr{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:auto;gap:10px}.duet-editable-table-table.duet-table-flattened tr.duet-table-action-row td:last-child::before{padding:0;content:""}.duet-editable-table-table.duet-table-flattened td{grid-column:1/2}.duet-editable-table-table.duet-table-flattened td:first-child{grid-row:1;grid-column:1}.duet-editable-table-table.duet-table-flattened td:last-child{grid-row:1;grid-column:2}';const 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."}}],M={fi:"Liiteluettelo",sv:"Lista över bilagor",en:"Attachments list"},z=({label:e,categoryLabel:i})=>t("div",{class:"items-header",tabindex:"-1","aria-label":p(M)},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))),$=(t,e,i)=>{const{allowedMimetypes:a,allowedExtensions:s,maxBytes:d}=e;let l=!1,o=w("default",i);if(t){const{name:e,type:n,size:r}=t,h=((t,e)=>{if(!e||!t)return!0;const i=e.split(",");let a=!1;return i.forEach((e=>{const i=e.split("/"),s=t.split("/");i[0]!==s[0]||i[1]!==s[1]&&"*"!==i[1]||(a=!0)})),a})(n,a),u="all"===s||""===s||" "===s||void 0===s||((t,e)=>{if(!e)return!0;const i=t.split(".");return e.split(",").includes(i[i.length-1])})(e.toLowerCase(),s),b=((t,e)=>!e||!t||e>=t)(r,d);h||(o=w("duet-upload-101",i)),u||(o=w("duet-upload-100",i)),b||(o=w("duet-upload-201",i)),l=h&&u&&b}else l=!1;return{valid:l,errorMessage:l?void 0:p(o.message),errorSystem:l?void 0:o.system_message,errorType:l?void 0:o.type}},F=({payload:t,options:e,onFailure:i,onSuccess:a,onProgress:s})=>{const{type:d="POST",xhr:l,uri:o,argument:n=null,headers:r=null}=e;l.open(d,`${o}${n||""}`,!0);const{data:h,name:u}=t;return r&&Object.keys(r).forEach((t=>{l.setRequestHeader(t,r[t])})),"POST"===d&&(l.onreadystatechange=()=>{l.readyState===XMLHttpRequest.DONE&&l.status>=200&&l.status<300&&a(l,u,l.status),l.readyState===XMLHttpRequest.DONE&&l.status>=300&&l.status<999&&i(l,u,l.status)},s(u)),l.send(h),l},C=class{constructor(a){e(this,a),this.duetChange=i(this,"duetChange",3),this.duetBlur=i(this,"duetBlur",7),this.duetFocus=i(this,"duetFocus",7),this.duetReady=i(this,"duetReady",7),this.duetDone=i(this,"duetDone",3),this.duetState=i(this,"duetState",3),this.duetDelete=i(this,"duetDelete",3),this.duetCancel=i(this,"duetCancel",3),this.duetProgress=i(this,"duetProgress",3),this.duetUpload=i(this,"duetUpload",3),this.linkClick=i(this,"linkClick",3),this.buttonId=v("DuetButton"),this.labelId=v("DuetLabel"),this.uploadId=v("DuetUpload"),this.filesInProgress=new Map,this.fileMaxReached=!1,this.bytesMaxReached=!1,this.filesToUploadExceedsLimit=!1,this.filesToUploadTotalSizeIsAboveMax=!1,this.internalStatusMessageLabel=void 0,this.itemRefs=new Map,this.DefaultGroups={inprogress:"inprogress",success:"success",pending:"pending",failure:"failure"},this.kick=n((()=>{this.tick=Date.now()}),30),this.categoryLabel={en:"Category",sv:"Filtyp",fi:"Tiedostotyyppi"},this.listenForActionEvents=()=>{this.element.addEventListener("duetActionEvent",(t=>{const e=t.detail,{action:i,id:a,originalEvent:s}=e;switch(i){case"delete":this.onDelete(a,s);break;case"cancel":this.onCancel(a,s)}}))},this.verifyValidity=()=>{const{invalid:t,valid:e}=this.getFilesAsArray(),i=this.valid;this.valid=0===t.length&&0!==e.length,this.valid!==i&&this.duetState.emit({originalEvent:void 0,data:{valid:this.valid,from:"componentWillRender"},component:"duet-upload"})},this.getGroupFromItemData=t=>t.valid&&100===t.progress?this.DefaultGroups.success:t.progress>0&&100!==t.progress?this.DefaultGroups.inprogress:t.valid?t.pending?this.DefaultGroups.pending:t.group?t.group:"none":this.DefaultGroups.failure,this.mapFilesToUploadItems=(e,i,a,s)=>i===this.DefaultGroups.success?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,s),type:"success",data:e,showLinks:this.showLinks,linkClickEvent:this.emitEvent?this.linkClick:void 0,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,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,s),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,s),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,s),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",k("duet-upload-001",this.errorCodes))},this.transferCanceled=t=>{this.files.delete(t),this.validateTotals(t),this.kick()},this.validateTotals=t=>{const e=((t,e)=>{let i=0;return!!(e&&(this.files.forEach((t=>{t.valid&&t.size&&(i+=t.size)})),i>=e))})(0,this.maxBytesTotal),i=((t,e)=>{let i=0;return!!(e&&(this.files.forEach((t=>{t.valid&&i++})),i>=e))})(0,this.maxFiles);return e&&t&&this.updateValueInMap(t,"error",k("duet-upload-202",this.errorCodes),!1),i&&t&&this.updateValueInMap(t,"error",k("duet-upload-301",this.errorCodes),!1),this.bytesMaxReached=e,this.fileMaxReached=i,{bytesMaxReached:e,fileMaxReached:i}},this.uploadFile=async(t,e=!1,i)=>{!e&&this.deferUpload?(this.updateValueInMap(t.item.name,"pending",!0,!1),this.updateValueInMap(t.item.name,"group","pending",!0)):e&&(this.updateValueInMap(t.item.name,"pending",!1,!1),this.updateValueInMap(t.item.name,"group",void 0,!0));try{if(!this.deferUpload||e){const e=new FormData;e.append("file",t.item),i&&e.append("key",i),e.append("uid",t.uid),e.append("name",t.item.name),e.append("metadata",JSON.stringify({uid:t.uid,url:this.uri,size:t.item.size,meta:t.meta})),t.xhr=await this.makeXHRPostRequest(e)}}catch(e){this.updateValueInMap(t.item.name,"valid",!1,!1)}},this.uploadPendingFiles=()=>{for(const[t,e]of Array.from(this.files.entries()))"pending"===e.group&&!0===e.pending&&this.uploadFile(e,!0,t)},this.getItemFromUID=t=>{for(const[e,i]of Array.from(this.files.entries()))if(i.uid===t)return{value:i,key:e};return null},this.handleExternalUploadButton=(t,e)=>{this.externalUploadButton&&(this.externalUploadButton.disabled=!(!t&&!e))},this.onDelete=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:s,fileMaxReached:d}=this.validateTotals();this.handleExternalUploadButton(s,d),this.kick(),this.duetDelete.emit({originalEvent:e,data:{deletion:a},component:"duet-upload"}),this.external||a.pending||this.makeXHRDeleteRequest(a),this.resetFormFields()},this.onCancel=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:s,fileMaxReached:d}=this.validateTotals();if(this.handleExternalUploadButton(s,d),!this.external){const{xhr:t}=a;t&&t.abort()}this.kick(),this.resetFormFields(),this.duetCancel.emit({originalEvent:e,data:{cancelled:a},component:"duet-upload"})},this.onUpload=(t,e)=>{this.duetUpload.emit({originalEvent:t,metaData:e,component:"duet-upload"})},this.onBlur=t=>{this.duetBlur.emit({originalEvent:t,component:"duet-upload"})},this.onProgress=(t,e,i)=>{this.duetChange.emit({originalEvent:i,data:{key:t,percentComplete:e},component:"duet-upload"})},this.onFocus=t=>{this.duetFocus.emit({originalEvent:t,component:"duet-upload"})},this.onReady=()=>{this.duetReady.emit({component:"duet-upload"})},this.onDone=()=>{this.duetDone.emit({component:"duet-upload",data:{files:this.files}})},this.filterMap=()=>{const t=Array.from(this.files.values()),e=[],i=[],a=[],s=[];let d=!1;return t.forEach((t=>{const l=this.getGroupFromItemData(t);t.meta&&t.meta.badges&&(d=!0),l===this.DefaultGroups.success?s.push({uid:t.uid,data:t}):l===this.DefaultGroups.inprogress?e.push({uid:t.uid,data:t}):l===this.DefaultGroups.pending?a.push({uid:t.uid,data:t}):l===this.DefaultGroups.failure?i.push({uid:t.uid,data:t}):t.group&&e.push({uid:t.uid,data:t})})),{pending:a,failure:i,success:s,inprogress:e,hasCategory:d}},this.getActions=(t,e)=>e.filter((e=>e.map.includes(t))),this.renderUploadedItems=()=>{this.itemRefs.clear();const e=this.filterMap(),i=e.hasCategory,a=this.hideCancelButton?this.actions.filter((t=>"cancel"!==t.name)):this.actions,s=this.groups.map((s=>{const l=e[s.id];if(null==l?void 0:l.length)return t(d,null,!this.hideGroups&&t(z,{categoryLabel:i?this.categoryLabel:void 0,label:s.label}),l.map((t=>this.mapFilesToUploadItems(t.data,s.id,i,a))))}));return t(d,null,this.showUploadedItemsHeader&&t(z,{categoryLabel:i?this.categoryLabel:void 0,label:this.uploadedItemsHeaderLabel}),s)},this.tick=Date.now(),this.accessibleActiveDescendant=void 0,this.accessibleDescribedBy=void 0,this.accessibleControls=void 0,this.accessibleOwns=void 0,this.external=!1,this.middleware=null,this.deferUpload=!1,this.hideButton=!1,this.actions=[{icon:"action-delete",color:"color-danger",size:"x-small",background:"gray-lightest",name:"delete",map:["success","failure"],label:{fi:"Poista tiedosto",en:"Delete the file",sv:"Ta bort filen"}},{icon:"navigation-close",color:"primary",size:"x-small",background:"gray-lightest",name:"cancel",map:["inprogress","pending"],label:{fi:"Keskeytä lähetys",en:"Cancel the upload",sv:"Stop överföringen"}}],this.uri=void 0,this.showLinks=!1,this.caption=void 0,this.statusLabelDefaults={fi:{inProgress:"Lähetetään {filesUploaded}, yhteensä lähetettävänä {filesTotal}.",inProgressWithErrors:"Lähetetään {filesInProgress}, lähetetty {filesUploaded}, yhteensä lähetettävänä {filesTotal}, {filesWithErrors} epäonnistui",done:"Lähetys valmis, {filesTotal} lisätty onnistuneesti",doneWithErrors:"Lähetys valmis, {filesUploaded} lisätty onnistuneesti, {filesWithErrors} epäonnistui",files:"tiedostoa",file:"tiedosto"},sv:{inProgress:"Laddar upp {filesUploaded} av {filesTotal}",inProgressWithErrors:"Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",done:"Uppladdningen slutförd, {filesTotal} har lagts till",doneWithErrors:"Uppladdningen slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",files:"filer",file:"fil"},en:{inProgress:"Uploading {filesUploaded} of {filesTotal}",inProgressWithErrors:"Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",done:"Upload completed, {filesTotal} added successfully",doneWithErrors:"Upload completed, {filesUploaded} added successfully, {filesWithErrors} failed.",files:"files",file:"file"}},this.statusMessageLabel=p(this.statusLabelDefaults),this.buttonLabelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add an attachment"},this.buttonLabel=p(this.buttonLabelDefaults),this.accessibleButtonLabel=void 0,this.theme="",this.disabled=!1,this.identifier=void 0,this.margin="auto",this.required=!1,this.alignment="middle",this.hideGroups=!1,this.files=new Map,this.valid=!this.required,this.labelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add attachments"},this.label=p(this.labelDefaults),this.descriptionDefaults={en:"You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytestotal} of files at a time, and add up to {maxfiles} attachments at a time each no larger than {maxbytes}.",sv:"Du kan bifoga följande filtyper: {filetypes} - samt de vanligaste videofilerna. Du kan ladda upp {maxbytestotal} av filer åt gången, och lägga till upp till {maxfiles} bilagor åt gången varje inte större än {maxbytes}.",fi:"Voit liittää seuraavat tiedostotyypit: {filetypes} - sekä yleisimmät videotiedostot. Voit lähettää {maxbytestotal} tiedostoa kerrallaan, ja lisätä enintään {maxfiles} liitettä kerrallaan, jokainen enintään {maxbytes} kokoisena."},this.description=p(this.descriptionDefaults),this.fileListEmptyDefaults={fi:"Ei vielä lisättyjä tiedostoja.",sv:"Inga filer har lagts till ännu.",en:"No files added yet."},this.fileListEmpty=p(this.fileListEmptyDefaults),this.error="",this.errorCodes=j,this.name=void 0,this.maxBytes=2e8,this.maxBytesTotal=void 0,this.maxFiles=99,this.allowedExtensions="all",this.allowedMimetypes="",this.multiple=!0,this.limitSelection=!1,this.hideCancelButton=!1,this.value=void 0,this.externalUploadButtonId=void 0,this.captionOnBottom=!1,this.showUploadedItemsHeader=!1,this.uploadedItemsHeaderLabel={fi:"Ladattu tiedosto",sv:"Lägg till en bilaga",en:"Uploaded file"},this.headerHeadingLevel="h3",this.hideHeader=!1,this.emitEvent=!1,this.actionButtonTitles={cancel:!1,delete:!1},this.renameDuplicates=!1,this.groups=[{id:this.DefaultGroups.success,label:{fi:"Valmiit tiedostot",sv:"Files success",en:"Files success"}},{id:this.DefaultGroups.failure,label:{fi:"Tiedostot, joissa on virheitä",sv:"Filer med fel",en:"Files with errors"}},{id:this.DefaultGroups.inprogress,label:{fi:"Kesken olevat tiedostot",sv:"Filer inprogress",en:"Files inprogress"}},{id:this.DefaultGroups.pending,label:{en:"Files to upload",sv:"Filer att ladda",fi:"Ladattavat tiedostot"}}]}watchValidHandler(t,e){t!==e&&this.kick()}componentWillLoad(){this.internalStatusMessageLabel="string"==typeof this.statusMessageLabel?m(this.groups):this.statusMessageLabel,l(this),this.listenForActionEvents(),this.onReady(),this.externalUploadButton=document.querySelector(`#${this.externalUploadButtonId}`),this.processedButtonTitles=x(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),s=Math.round(this.maxBytes/1024/1024);let l=this.description.replace(/{maxfiles}/g,this.maxFiles.toString());return l=l.replace(/{maxbytes}/g,`${s.toString()} MB`),l=l.replace(/{maxbytestotal}/g,`${i.toString()} MB`),l=l.replace(/{filetypes}/g,this.allowedExtensions.split(",").join(", ")),this.externalUploadButton&&(this.externalUploadButton.accessibleLabel=l),t(a,{class:{"duet-m-0":"none"===this.margin}},t("duet-fieldset",{"label-heading-level":this.headerHeadingLevel,"label-hidden":this.hideHeader,label:this.label,caption:this.captionOnBottom?void 0:l},t("slot",{name:"header"}),!this.files.size&&t("duet-empty-state",{id:this.labelId,part:this.identifier?`${this.identifier}-empty-state`:"duet-upload-empty-state",icon:"messaging-attachment"},t("duet-paragraph",{margin:"none"},this.fileListEmpty)),!!this.files.size&&t("slot",{name:"fileheader"}),!!this.files.size&&t("duet-upload-aria-status",{invalid:this.getFilesAsArray().invalid.length,valid:this.getFilesAsArray().valid.length,inprogress:this.filesInProgress.size,total:this.files.size,statusMessageLabel:this.internalStatusMessageLabel}),!!this.files.size&&this.renderUploadedItems(),!!this.files.size&&t("slot",{name:"filefooter"}),t("slot",{name:"uploadfooter"}),this.captionOnBottom&&t("duet-caption",{margin:"none",size:"small"},t("div",{class:"upload-bottom-caption"},l)),t("slot",{name:"afterfooter"}),!this.hideButton&&t(d,null,t("duet-spacer",{size:"large"}),t("duet-button",{id:this.buttonId,onClick:this.startUpload,"accessible-controls":e,disabled:this.fileMaxReached,"accessible-label":this.accessibleButtonLabel,"accessible-owns":e,size:"small",variation:"secondary",fixed:!0,icon:"action-add-circle",part:this.identifier?`${this.identifier}-button-upload`:"duet-upload-button-upload"},this.buttonLabel)),(this.fileMaxReached||this.bytesMaxReached||this.filesToUploadExceedsLimit||this.filesToUploadTotalSizeIsAboveMax)&&t(d,null,t("duet-spacer",{size:"medium"}),t("duet-alert",{part:this.identifier?`${this.identifier}-error-notification`:"duet-upload-error-notification"},this.fileMaxReached&&k("duet-upload-301",this.errorCodes),this.bytesMaxReached&&k("duet-upload-202",this.errorCodes),this.filesToUploadExceedsLimit&&k("duet-upload-302",this.errorCodes),this.filesToUploadTotalSizeIsAboveMax&&k("duet-upload-203",this.errorCodes))),t("duet-visually-hidden",{"aria-hidden":"true"},t("input",{ref:t=>{this.nativeInput=t},accept:this.limitSelection?`${this.allowedMimetypes},${this.allowedExtensions}`:void 0,onBlur:this.onBlur,onFocus:this.onFocus,onChange:t=>this.onChange(t),type:"file",class:{"duet-upload":!0},disabled:this.disabled,"aria-hidden":"true",required:this.required,name:this.name,id:this.identifier,multiple:this.multiple,tabIndex:-1}))))}makeXHRPostRequest(t){const e=new XMLHttpRequest,i=t.get("name");e.upload.addEventListener("progress",(t=>{this.updateProgress(t,i)})),e.upload.addEventListener("load",(()=>{this.transferComplete(i)})),e.upload.addEventListener("error",(()=>{this.transferFailed(i)})),e.upload.addEventListener("abort",(()=>{this.transferCanceled(i)}));let a={payload:{data:t,name:i},options:{type:"POST",uri:this.uri,xhr:e,argument:null,headers:void 0},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(a=this.middleware(a)),F(a)}makeXHRDeleteRequest(t){const{uid:e,item:i}=t,a=new XMLHttpRequest;let s={payload:{data:null,name},options:{type:"DELETE",xhr:a,uri:this.uri,argument:`?key=${e}&name=${i.name}`,headers:{"x-fileuid":e,"x-filename":i.name}},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(s=this.middleware(s)),F(s)}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 s=parseInt(a.split("(").pop().slice(0,-1));return`${t} (${s+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("."),s=this.getRenamedFileName(a,i);return new File([t],s,{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:s}=$(t,{maxBytes:this.maxBytes,allowedExtensions:this.allowedExtensions,allowedMimetypes:this.allowedMimetypes},this.errorCodes),d={uid:this.genHashName(),item:t,size:t.size,meta:this.metaData,uploaded:!1,valid:e,error:{type:e?void 0:a,message:e?void 0:i,system_message:e?void 0:s},progress:0,deleted:!1,xhr:!1,url:!1};this.files.set(t.name,d),e&&!this.external?await this.uploadFile(d):e&&this.external?(this.updateValueInMap(d.item.name,"pending",!0,!1),this.updateValueInMap(d.item.name,"group","pending",!0)):e||this.updateValueInMap(t.name,"valid",!1,!0),this.kick()}}this.resetFormFields(),this.metaData=void 0,this.duetChange.emit({originalEvent:t,data:{files:this.files},component:"duet-upload"})}get element(){return s(this)}static get watchers(){return{valid:["watchValidHandler"]}}};C.style="*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}::slotted([slot=header]){margin-bottom:16px}::slotted([slot=fileheader]){margin:16px 0 0 0}::slotted([slot=filefooter]){margin-top:16px}::slotted([slot=uploadfooter]){margin-top:20px}.duet-upload{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-upload-item-size{font-size:0.75rem;font-weight:400}.duet-upload-filelist{margin-bottom:25px}.duet-upload-filelist-empty{display:flex;align-items:center;justify-content:center;width:100%;height:75px;margin:0 auto;font-size:1rem;font-weight:400;background-color:rgb(245, 248, 250)}.duet-upload-filelist-empty-label{font-size:1rem;font-weight:400}.duet-upload-editable-table-header-hidden{display:none}.duet-upload-editable-table tbody .duet-upload-editable-table-data{padding:0 !important;border:0}.duet-upload-editable-table duet-editable-table tfoot,.duet-upload-editable-table duet-editable-table thead{display:none}.duet-upload-editable-table duet-editable-table .duet-editable-table-content{padding-right:0 !important;padding-left:0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td{padding:1rem 0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td:last-child{padding-right:0 !important}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending{position:relative}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-progress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-progress{position:absolute;bottom:0;width:100%}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-action-button::part(button),.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-action-button::part(button){border:0}duet-paragraph::part(duet-paragraph){word-break:break-word}duet-editable-table tfoot{display:none}.upload-bottom-caption{margin-top:12px;margin-bottom:16px;line-height:1.4rem}.items-header{display:none;flex-direction:row;margin-bottom:0}@media (min-width: 36em){.items-header{display:flex}}.items-header:not(:last-child),.items-header:not(:first-child){margin-top:12px}.items-header .category-header{width:35%}.items-header .filename-header{width:65%}.items-header .filename-header.no-category{width:100%}.upload-item-row{display:flex;flex-direction:column;gap:16px;align-content:center;align-items:center;padding:16px 0 16px 0;border-bottom:1px solid rgb(225, 227, 230)}@media (min-width: 36em){.upload-item-row{flex-direction:row;gap:10px}}.upload-item-row .item-categories{width:100%}@media (min-width: 36em){.upload-item-row .item-categories{width:35%}}.upload-item-row .item-name{position:relative;bottom:2px;width:100%;text-align:left}@media (min-width: 36em){.upload-item-row .item-name{width:50%}.upload-item-row .item-name.no-category{width:85%}}.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:block}@media (min-width: 36em){.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:none}}.upload-item-row .item-actions{width:100%;margin-left:-8px;text-align:left}@media (min-width: 36em){.upload-item-row .item-actions{width:15%;padding-top:0;margin-left:auto;text-align:right}}.upload-item-row .duet-upload-item-name duet-icon{position:relative;top:4px}.upload-item-row .duet-upload-item-name duet-progress{display:block;margin-top:16px}";export{L as duet_editable_table,E as duet_table,C as duet_upload}
4
+ import{h as t,r as e,c as i,H as a,g as s,F as d}from"./p-e2d05479.js";import{i as l}from"./p-a58bd561.js";import{f as o,d as n}from"./p-9e371678.js";import{i as r}from"./p-a1b7f2a0.js";import{a as h,c as u,d as b,g as p,s as m}from"./p-2e36d5bf.js";import{p as c,s as g}from"./p-4a901bfc.js";import{b as f,a as y}from"./p-1784b1d2.js";import{c as v}from"./p-5e59e970.js";import{p as x}from"./p-0e052642.js";import{g as w,a as k}from"./p-fabb616b.js";const T=({data:e,groupId:i,alignment:a})=>{const s=`duet-editable-table duet-editable-table-content-${i}`;return"string"==typeof e?t("td",{innerHTML:e,class:s,part:`${i}content`,style:{verticalAlign:a}}):t("td",{class:s,part:`${i}content`,style:{verticalAlign:a}},e)},L=class{constructor(t){e(this,t),this.duetTableToggle=i(this,"duetTableToggle",7),this.duetMenuClick=i(this,"duetMenuClick",7),this.hasHeadSlotFirst=!1,this.hasHeadSlotLast=!1,this.hasFootSlot=!1,this.sortableDefaultLabel={fi:"Järjestä",en:"Click to sort",sv:"Klicka för att sortera"},this.actionColumnLabel={en:"Actions for rows",fi:"Toiminnot rivillä",sv:"Åtgärder för rader"},this.toggleColumn=(t,e)=>{e.preventDefault();const{sort_order:i,direction:a,index:s,key:d}=t;this.duetTableToggle.emit({sort_order:i,index:s,direction:a,key:d,component:"duet-editable-table",originalEvent:e})},this.handleKeyDown=(t,e)=>{r(e)&&this.toggleColumn(t,e)},this.language=h(),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.actions=void 0,this.columns=void 0,this.rows=void 0,this.sortable=!1,this.groupId="",this.theme="",this.accessibleRole=void 0,this.hideHeadVisually=!1}componentWillLoad(){l(this),this.hasHeadSlotFirst=!!this.element.querySelector("[slot='thead-first']"),this.hasHeadSlotLast=!!this.element.querySelector("[slot='thead-last']"),this.hasFootSlot=!!this.element.querySelector("[slot='tfoot']")}connectedCallback(){u(this)}disconnectedCallback(){b(this)}createLabel(e){const{sort_order:i,direction:a,index:s,label:d}=e,l=p(d);return this.sortable?t("span",{class:"duet-table-label","data-index":s},t("duet-button",{size:"small",icon:i&&1===a?"action-arrow-down-small":i&&-1===a?"action-arrow-up-small":"action-subtract-small","icon-size":"medium-small","accessible-label":this.sortableDefaultLabel[this.language],variation:"plain",margin:"none","icon-right":!0,onClick:t=>this.toggleColumn(e,t),onKeyDown:t=>this.handleKeyDown(e,t)},l)):l}getSortedColumns(){return[...this.columns].sort(o(["index"]))}getRowSortOrder(){return[...this.columns].sort(o(["sort_order"])).filter((t=>t.sort_order)).map((t=>-1===t.direction?`-${t.key}`:t.key))}renderTableHeader(){if(!this.columns)return;const e=this.getSortedColumns();return t("tr",{class:{"duet-table-action-header":!!this.actions}},e.map((e=>{if(!1!==e.display){const i=this.createLabel(e);return""!==i?t("th",{scope:"col"},i):t("td",null)}})),this.actions&&t("th",{scope:"col",class:"duet-table-action-header-heading"},this.actions&&t("duet-visually-hidden",null,this.actionColumnLabel[this.language])))}renderActions(e,i){if(this.actions)return t("td",{class:"duet-text-right"},this.actions.map((a=>t("duet-action-button",{actionMeta:Object.assign({},(null==e?void 0:e.meta)||{},{index:i}),actionId:(null==e?void 0:e.uid)||(null==e?void 0:e.id)||null,actionName:a.name,theme:this.theme,iconName:a.icon,iconColor:a.color,iconSize:a.size,background:a.background,"accessible-label":`${e.actionDescription||""} ${p(a.label)} `}))))}renderTableBody(){const e=this.getSortedColumns(),i=this.getRowSortOrder();return[...this.rows].sort(o(i)).map(((i,a)=>t("tr",{class:{"duet-table-action-row":!!this.actions,"duet-editable-table-row":!0,[`duet-editable-table-row-${this.groupId}`]:!0},"data-meta":JSON.stringify(i.meta)},e.map((e=>{if(!1!==e.display)return t(T,{data:i[e.key]?i[e.key]:i.item,groupId:this.groupId})})),this.actions&&this.renderActions(i,a))))}render(){return t(a,{class:{[`duet-editable-table-${this.variation}`]:!0,"duet-editable-table":!0,[`duet-editable-table-${this.theme}`]:!0,"duet-editable-table-scrollable":"none-scrollable"===this.breakpoint,"duet-editable-table-sortable":this.sortable,"duet-editable-table-actions":!!this.actions,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme}},t("duet-table",{class:"duet-editable-table-table",sticky:this.sticky,stickyDistance:this.stickyDistance,margin:this.margin,theme:this.theme,variation:this.variation,breakpoint:this.breakpoint,"hide-head-visually":this.hideHeadVisually},t("table",{role:this.accessibleRole},t("caption",null,t("slot",{name:"tcaption"})),t("thead",null,this.hasHeadSlotFirst&&t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-first"}))),this.renderTableHeader(),this.hasHeadSlotLast&&t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-last"})))),t("tbody",null,this.renderTableBody()),this.hasFootSlot&&t("tfoot",null,t("tr",null,t("td",{class:"duet-editable-table-footer-menu",colSpan:99},t("slot",{name:"tfoot"})))))))}get element(){return s(this)}};L.style=".sc-duet-editable-table-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-editable-table-actions-menu.sc-duet-editable-table{position:relative;padding:0 !important;margin:0}.duet-editable-table-actions-menu-button.sc-duet-editable-table{position:relative;right:-16px;float:right;padding:0}.duet-editable-table-actions-menu-icon.sc-duet-editable-table .duet-icon.sc-duet-editable-table{max-width:16px;max-height:16px}.duet-editable-table-row.duet-table-action-row.sc-duet-editable-table .duet-text-right.sc-duet-editable-table{text-align:right}.duet-editable-table-header.sc-duet-editable-table tr.sc-duet-editable-table .duet-editable-table-header-hidden.sc-duet-editable-table{padding:0 !important;font-size:0;border-bottom:0}";const S={none:0,"with-links":16*parseFloat(c),"without-links":16*parseFloat(g)},E=class{constructor(t){e(this,t),this.headingSelector="thead tr > :not(*.duet-editable-table-actions-menu)",this.handleMediaQueryChange=t=>{this.matchesBreakpoint=f.includes(this.breakpoint)?!t.matches:t.matches},this.matchesBreakpoint=!0,this.language=h(),this.theme=void 0,this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.hideHeadVisually=!1}watchLanguageStateHandler(t,e){t!==e&&setTimeout((()=>this.copyHeadingsToCells()),50)}connectedCallback(){this.mq=matchMedia("none"===this.breakpoint||"none-scrollable"===this.breakpoint?"all":y[this.breakpoint]),this.mq.addEventListener("change",n(this.handleMediaQueryChange,50)),this.handleMediaQueryChange(this.mq),this.observer=new MutationObserver((()=>n(this.copyHeadingsToCells(),50))),this.observer.observe(this.element,{childList:!0,subtree:!0})}componentWillLoad(){if(l(this),this.copyHeadingsToCells(),this.sticky&&"none-scrollable"===this.breakpoint&&console.warn('[DUET WARNING]: sticky and breakpoint="none-scrollable" are incompatible. Scrollable takes precedence'),this.sticky){const t=S[this.stickyDistance];this.element.querySelectorAll(this.headingSelector).forEach((e=>e.style.top=`${t}px`))}}componentDidLoad(){this.observer&&this.observer.takeRecords(),u(this)}disconnectedCallback(){this.observer.disconnect(),this.observer=null,this.mq.removeListener(this.handleMediaQueryChange),this.mq=null,this.matchesBreakpoint=!0,b(this)}copyHeadingsToCells(){const t=this.element.querySelectorAll(this.headingSelector),e=this.element.querySelectorAll("tbody tr"),i=Array.from(t).map((t=>t.textContent.trim()));e.forEach((t=>{t.querySelectorAll("td").forEach(((t,e)=>{if(i[e]){const a=t.querySelector(".duet-table-cell-heading");if(!a||a.textContent!==i[e]){null==a||a.remove();const s=document.createElement("span");s.textContent=i[e],s.classList.add("duet-table-cell-heading"),s.setAttribute("aria-hidden","true"),s.inert=!0,t.prepend(s)}}}))}))}render(){return t(a,{class:{[`duet-table-${this.variation}`]:!0,"duet-table-flattened":!this.matchesBreakpoint,"duet-table-sticky":this.matchesBreakpoint&&this.sticky,"duet-table-scrollable":"none-scrollable"===this.breakpoint,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme,"duet-table-hide-head-visually":this.hideHeadVisually}},t("slot",null))}get element(){return s(this)}static get watchers(){return{language:["watchLanguageStateHandler"]}}};E.style='duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-table-hide-head-visually.duet-table-hide-head-visually thead,duet-table.duet-table-hide-head-visually.duet-table-hide-head-visually thead *{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}duet-table.duet-theme-turva table{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}duet-table td{-webkit-hyphens:auto;hyphens:auto;color:rgb(0, 41, 77)}duet-table.duet-theme-turva td{color:rgb(23, 28, 58)}duet-table th{font-weight:600;line-height:1.25;color:rgb(101, 119, 135);text-align:left}duet-table.duet-theme-turva th{color:rgb(116, 116, 117)}duet-table tbody th{font-weight:600;color:rgb(0, 41, 77)}duet-table.duet-theme-turva tbody th{color:rgb(23, 28, 58)}duet-table .duet-table-action-row td:last-child{justify-self:end;padding-right:20px !important;white-space:nowrap}duet-table span.duet-table-cell-heading{display:none}.duet-table-flattened table,.duet-table-flattened thead,.duet-table-flattened tbody,.duet-table-flattened tfoot,.duet-table-flattened th,.duet-table-flattened td,.duet-table-flattened tr{display:block}.duet-table-flattened thead tr{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-table-flattened td{line-height:1.25}.duet-table-flattened td:not(:last-child){margin-bottom:16px !important}.duet-table-flattened td span.duet-table-cell-heading{margin-bottom:4px !important;display:block;font-size:1rem;font-weight:600;color:rgb(0, 41, 77)}.duet-table-flattened.duet-theme-turva td span.duet-table-cell-heading{color:rgb(23, 28, 58)}.duet-table-flattened tbody td,.duet-table-flattened tbody th,.duet-table-flattened tfoot td{padding:0 !important;text-align:left !important}.duet-table-flattened tbody th{font-weight:600;line-height:1.25;color:rgb(101, 119, 135);text-align:left}.duet-table-sticky thead th{position:sticky;top:0;background:rgb(255, 255, 255)}.duet-table-striped td,.duet-table-striped th{padding:20px !important}@media (max-width: 35.9375em){.duet-table-striped td,.duet-table-striped th{padding:20px 12px !important}}.duet-table-striped tbody th{background:rgb(255, 255, 255)}.duet-table-striped.duet-table-sticky thead th{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-table-sticky.duet-theme-turva thead th{border-bottom-color:rgb(228, 228, 230)}.duet-table-striped tbody:not(:first-of-type) th{padding-top:40px !important}.duet-table-striped tbody:only-of-type tr:nth-of-type(odd){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tfoot td{border-top:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-theme-turva tfoot td{border-top-color:rgb(228, 228, 230)}.duet-table-striped.duet-table-flattened tbody:not(:first-of-type) th{padding-top:20px !important}.duet-table-striped.duet-table-flattened tr{padding:20px !important}.duet-table-striped.duet-table-flattened tfoot td{border-top:0}.duet-table-striped.duet-table-flattened tfoot tr{border-top:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr{border-top-color:rgb(228, 228, 230)}.duet-table-fixed th,.duet-table-minimal th,.duet-table-plain th{padding:16px !important;border-bottom:1px solid rgb(101, 119, 135)}.duet-table-fixed th:first-child,.duet-table-minimal th:first-child,.duet-table-plain th:first-child{padding-left:0 !important}.duet-table-fixed th:last-child,.duet-table-minimal th:last-child,.duet-table-plain th:last-child{padding-right:0 !important}.duet-theme-turva.duet-table-fixed th,.duet-theme-turva.duet-table-minimal th,.duet-theme-turva.duet-table-plain th{border-bottom-color:rgb(68, 68, 69)}.duet-table-fixed tbody th,.duet-table-minimal tbody th,.duet-table-plain tbody th{padding-top:40px !important;border-bottom-color:rgb(225, 227, 230)}.duet-theme-turva.duet-table-fixed tbody th,.duet-theme-turva.duet-table-minimal tbody th,.duet-theme-turva.duet-table-plain tbody th{border-bottom-color:rgb(228, 228, 230)}.duet-table-fixed td,.duet-table-minimal td,.duet-table-plain td{padding:16px !important}.duet-table-fixed td:first-child,.duet-table-minimal td:first-child,.duet-table-plain td:first-child{padding-left:0 !important}.duet-table-fixed td:last-child,.duet-table-minimal td:last-child,.duet-table-plain td:last-child{padding-right:0 !important}.duet-table-fixed tbody td,.duet-table-minimal tbody td,.duet-table-plain tbody td{border-bottom:1px solid rgb(225, 227, 230)}.duet-theme-turva.duet-table-fixed tbody td,.duet-theme-turva.duet-table-minimal tbody td,.duet-theme-turva.duet-table-plain tbody td{border-bottom-color:rgb(228, 228, 230)}.duet-table-flattened.duet-table-fixed tbody:first-of-type th,.duet-table-flattened.duet-table-minimal tbody:first-of-type th,.duet-table-flattened.duet-table-plain tbody:first-of-type th{padding-top:0 !important}.duet-table-flattened.duet-table-fixed td,.duet-table-flattened.duet-table-minimal td,.duet-table-flattened.duet-table-plain td,.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{border-bottom:0}.duet-table-flattened.duet-table-fixed tr,.duet-table-flattened.duet-table-minimal tr,.duet-table-flattened.duet-table-plain tr{padding:20px 0 !important}.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{padding-top:20px !important}.duet-table-flattened.duet-table-fixed tfoot td,.duet-table-flattened.duet-table-minimal tfoot td,.duet-table-flattened.duet-table-plain tfoot td{margin-bottom:4px !important}.duet-table-flattened.duet-table-fixed tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-minimal tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-plain tbody:not(:only-of-type) tr:first-child{border-bottom:0}.duet-table-plain.duet-table-flattened tbody tr{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr{border-bottom-color:rgb(228, 228, 230)}.duet-table-minimal tbody tr,.duet-table-minimal tbody tr td{vertical-align:top;border-bottom:0 none}.duet-table-minimal tbody tr:last-of-type,.duet-table-minimal tbody tr:last-of-type td{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-minimal.duet-table-flattened tbody tr,.duet-table-minimal.duet-table-flattened tbody tr td{border-bottom:0 none}.duet-table-minimal.duet-table-flattened tbody tr td[data-heading]::before{display:none}.duet-table-minimal.duet-table-flattened tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-fixed table{table-layout:fixed}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td,.duet-table-fixed tbody tr td:first-child{padding:4px !important;vertical-align:text-bottom;border-bottom:0 none}.duet-table-fixed thead{display:none}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td{border-bottom:0 none}.duet-table-fixed:not(.duet-table-flattened) tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-fixed:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-scrollable{position:relative;width:100%;overflow-x:auto;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;background-repeat:no-repeat;background-attachment:local, local, scroll, scroll;background-size:100px 100%, 100px 100%, 12px 100%, 12px 100%}.duet-table-selected-column{background:rgba(0, 119, 179, 0.08)}.duet-theme-turva .duet-table-selected-column{background:rgba(68, 68, 69, 0.08)}.duet-table-sortable tbody tr td:first-child,.duet-table-sortable thead tr th:first-child{padding:20px}.duet-table-sortable:not(.duet-table-flattened) tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-sortable:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-actions table{table-layout:auto}.duet-table-actions thead th:last-child{width:1px;white-space:nowrap}.duet-editable-table-table.duet-table-flattened tr{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:auto;gap:10px}.duet-editable-table-table.duet-table-flattened tr.duet-table-action-row td:last-child::before{padding:0;content:""}.duet-editable-table-table.duet-table-flattened td{grid-column:1/2}.duet-editable-table-table.duet-table-flattened td:first-child{grid-row:1;grid-column:1}.duet-editable-table-table.duet-table-flattened td:last-child{grid-row:1;grid-column:2}';const 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."}}],M={fi:"Liiteluettelo",sv:"Lista över bilagor",en:"Attachments list"},z=({label:e,categoryLabel:i})=>t("div",{class:"items-header",tabindex:"-1","aria-label":p(M)},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))),$=(t,e,i)=>{const{allowedMimetypes:a,allowedExtensions:s,maxBytes:d}=e;let l=!1,o=w("default",i);if(t){const{name:e,type:n,size:r}=t,h=((t,e)=>{if(!e||!t)return!0;const i=e.split(",");let a=!1;return i.forEach((e=>{const i=e.split("/"),s=t.split("/");i[0]!==s[0]||i[1]!==s[1]&&"*"!==i[1]||(a=!0)})),a})(n,a),u="all"===s||""===s||" "===s||void 0===s||((t,e)=>{if(!e)return!0;const i=t.split(".");return e.split(",").includes(i[i.length-1])})(e.toLowerCase(),s),b=((t,e)=>!e||!t||e>=t)(r,d);h||(o=w("duet-upload-101",i)),u||(o=w("duet-upload-100",i)),b||(o=w("duet-upload-201",i)),l=h&&u&&b}else l=!1;return{valid:l,errorMessage:l?void 0:p(o.message),errorSystem:l?void 0:o.system_message,errorType:l?void 0:o.type}},F=({payload:t,options:e,onFailure:i,onSuccess:a,onProgress:s})=>{const{type:d="POST",xhr:l,uri:o,argument:n=null,headers:r=null}=e;l.open(d,`${o}${n||""}`,!0);const{data:h,name:u}=t;return r&&Object.keys(r).forEach((t=>{l.setRequestHeader(t,r[t])})),"POST"===d&&(l.onreadystatechange=()=>{l.readyState===XMLHttpRequest.DONE&&l.status>=200&&l.status<300&&a(l,u,l.status),l.readyState===XMLHttpRequest.DONE&&l.status>=300&&l.status<999&&i(l,u,l.status)},s(u)),l.send(h),l},C=class{constructor(a){e(this,a),this.duetChange=i(this,"duetChange",3),this.duetBlur=i(this,"duetBlur",7),this.duetFocus=i(this,"duetFocus",7),this.duetReady=i(this,"duetReady",7),this.duetDone=i(this,"duetDone",3),this.duetState=i(this,"duetState",3),this.duetDelete=i(this,"duetDelete",3),this.duetCancel=i(this,"duetCancel",3),this.duetProgress=i(this,"duetProgress",3),this.duetUpload=i(this,"duetUpload",3),this.linkClick=i(this,"linkClick",3),this.buttonId=v("DuetButton"),this.labelId=v("DuetLabel"),this.uploadId=v("DuetUpload"),this.filesInProgress=new Map,this.fileMaxReached=!1,this.bytesMaxReached=!1,this.filesToUploadExceedsLimit=!1,this.filesToUploadTotalSizeIsAboveMax=!1,this.internalStatusMessageLabel=void 0,this.itemRefs=new Map,this.DefaultGroups={inprogress:"inprogress",success:"success",pending:"pending",failure:"failure"},this.kick=n((()=>{this.tick=Date.now()}),30),this.categoryLabel={en:"Category",sv:"Filtyp",fi:"Tiedostotyyppi"},this.listenForActionEvents=()=>{this.element.addEventListener("duetActionEvent",(t=>{const e=t.detail,{action:i,id:a,originalEvent:s}=e;switch(i){case"delete":this.onDelete(a,s);break;case"cancel":this.onCancel(a,s)}}))},this.verifyValidity=()=>{const{invalid:t,valid:e}=this.getFilesAsArray(),i=this.valid;this.valid=0===t.length&&0!==e.length,this.valid!==i&&this.duetState.emit({originalEvent:void 0,data:{valid:this.valid,from:"componentWillRender"},component:"duet-upload"})},this.getGroupFromItemData=t=>t.valid&&100===t.progress?this.DefaultGroups.success:t.progress>0&&100!==t.progress?this.DefaultGroups.inprogress:t.valid?t.pending?this.DefaultGroups.pending:t.group?t.group:"none":this.DefaultGroups.failure,this.mapFilesToUploadItems=(e,i,a,s)=>i===this.DefaultGroups.success?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,s),type:"success",data:e,showLinks:this.showLinks,linkClickEvent:this.emitEvent?this.linkClick:void 0,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,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,s),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,s),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,s),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",k("duet-upload-001",this.errorCodes))},this.transferCanceled=t=>{this.files.delete(t),this.validateTotals(t),this.kick()},this.validateTotals=t=>{const e=((t,e)=>{let i=0;return!!(e&&(this.files.forEach((t=>{t.valid&&t.size&&(i+=t.size)})),i>=e))})(0,this.maxBytesTotal),i=((t,e)=>{let i=0;return!!(e&&(this.files.forEach((t=>{t.valid&&i++})),i>=e))})(0,this.maxFiles);return e&&t&&this.updateValueInMap(t,"error",k("duet-upload-202",this.errorCodes),!1),i&&t&&this.updateValueInMap(t,"error",k("duet-upload-301",this.errorCodes),!1),this.bytesMaxReached=e,this.fileMaxReached=i,{bytesMaxReached:e,fileMaxReached:i}},this.uploadFile=async(t,e=!1,i)=>{!e&&this.deferUpload?(this.updateValueInMap(t.item.name,"pending",!0,!1),this.updateValueInMap(t.item.name,"group","pending",!0)):e&&(this.updateValueInMap(t.item.name,"pending",!1,!1),this.updateValueInMap(t.item.name,"group",void 0,!0));try{if(!this.deferUpload||e){const e=new FormData;e.append("file",t.item),i&&e.append("key",i),e.append("uid",t.uid),e.append("name",t.item.name),e.append("metadata",JSON.stringify({uid:t.uid,url:this.uri,size:t.item.size,meta:t.meta})),t.xhr=await this.makeXHRPostRequest(e)}}catch(e){this.updateValueInMap(t.item.name,"valid",!1,!1)}},this.uploadPendingFiles=()=>{for(const[t,e]of Array.from(this.files.entries()))"pending"===e.group&&!0===e.pending&&this.uploadFile(e,!0,t)},this.getItemFromUID=t=>{for(const[e,i]of Array.from(this.files.entries()))if(i.uid===t)return{value:i,key:e};return null},this.handleExternalUploadButton=(t,e)=>{this.externalUploadButton&&(this.externalUploadButton.disabled=!(!t&&!e))},this.onDelete=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:s,fileMaxReached:d}=this.validateTotals();this.handleExternalUploadButton(s,d),this.kick(),this.duetDelete.emit({originalEvent:e,data:{deletion:a},component:"duet-upload"}),this.external||a.pending||this.makeXHRDeleteRequest(a),this.resetFormFields()},this.onCancel=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:s,fileMaxReached:d}=this.validateTotals();if(this.handleExternalUploadButton(s,d),!this.external){const{xhr:t}=a;t&&t.abort()}this.kick(),this.resetFormFields(),this.duetCancel.emit({originalEvent:e,data:{cancelled:a},component:"duet-upload"})},this.onUpload=(t,e)=>{this.duetUpload.emit({originalEvent:t,metaData:e,component:"duet-upload"})},this.onBlur=t=>{this.duetBlur.emit({originalEvent:t,component:"duet-upload"})},this.onProgress=(t,e,i)=>{this.duetChange.emit({originalEvent:i,data:{key:t,percentComplete:e},component:"duet-upload"})},this.onFocus=t=>{this.duetFocus.emit({originalEvent:t,component:"duet-upload"})},this.onReady=()=>{this.duetReady.emit({component:"duet-upload"})},this.onDone=()=>{this.duetDone.emit({component:"duet-upload",data:{files:this.files}})},this.filterMap=()=>{const t=Array.from(this.files.values()),e=[],i=[],a=[],s=[];let d=!1;return t.forEach((t=>{const l=this.getGroupFromItemData(t);t.meta&&t.meta.badges&&(d=!0),l===this.DefaultGroups.success?s.push({uid:t.uid,data:t}):l===this.DefaultGroups.inprogress?e.push({uid:t.uid,data:t}):l===this.DefaultGroups.pending?a.push({uid:t.uid,data:t}):l===this.DefaultGroups.failure?i.push({uid:t.uid,data:t}):t.group&&e.push({uid:t.uid,data:t})})),{pending:a,failure:i,success:s,inprogress:e,hasCategory:d}},this.getActions=(t,e)=>e.filter((e=>e.map.includes(t))),this.renderUploadedItems=()=>{this.itemRefs.clear();const e=this.filterMap(),i=e.hasCategory,a=this.hideCancelButton?this.actions.filter((t=>"cancel"!==t.name)):this.actions,s=this.groups.map((s=>{const l=e[s.id];if(null==l?void 0:l.length)return t(d,null,!this.hideGroups&&t(z,{categoryLabel:i?this.categoryLabel:void 0,label:s.label}),l.map((t=>this.mapFilesToUploadItems(t.data,s.id,i,a))))}));return t(d,null,this.showUploadedItemsHeader&&t(z,{categoryLabel:i?this.categoryLabel:void 0,label:this.uploadedItemsHeaderLabel}),s)},this.tick=Date.now(),this.accessibleActiveDescendant=void 0,this.accessibleDescribedBy=void 0,this.accessibleControls=void 0,this.accessibleOwns=void 0,this.external=!1,this.middleware=null,this.deferUpload=!1,this.hideButton=!1,this.actions=[{icon:"action-delete",color:"color-danger",size:"x-small",background:"gray-lightest",name:"delete",map:["success","failure"],label:{fi:"Poista tiedosto",en:"Delete the file",sv:"Ta bort filen"}},{icon:"navigation-close",color:"primary",size:"x-small",background:"gray-lightest",name:"cancel",map:["inprogress","pending"],label:{fi:"Keskeytä lähetys",en:"Cancel the upload",sv:"Stop överföringen"}}],this.uri=void 0,this.showLinks=!1,this.caption=void 0,this.statusLabelDefaults={fi:{inProgress:"Lähetetään {filesUploaded}, yhteensä lähetettävänä {filesTotal}.",inProgressWithErrors:"Lähetetään {filesInProgress}, lähetetty {filesUploaded}, yhteensä lähetettävänä {filesTotal}, {filesWithErrors} epäonnistui",done:"Lähetys valmis, {filesTotal} lisätty onnistuneesti",doneWithErrors:"Lähetys valmis, {filesUploaded} lisätty onnistuneesti, {filesWithErrors} epäonnistui",files:"tiedostoa",file:"tiedosto"},sv:{inProgress:"Laddar upp {filesUploaded} av {filesTotal}",inProgressWithErrors:"Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",done:"Uppladdningen slutförd, {filesTotal} har lagts till",doneWithErrors:"Uppladdningen slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",files:"filer",file:"fil"},en:{inProgress:"Uploading {filesUploaded} of {filesTotal}",inProgressWithErrors:"Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",done:"Upload completed, {filesTotal} added successfully",doneWithErrors:"Upload completed, {filesUploaded} added successfully, {filesWithErrors} failed.",files:"files",file:"file"}},this.statusMessageLabel=p(this.statusLabelDefaults),this.buttonLabelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add an attachment"},this.buttonLabel=p(this.buttonLabelDefaults),this.accessibleButtonLabel=void 0,this.theme="",this.disabled=!1,this.identifier=void 0,this.margin="auto",this.required=!1,this.alignment="middle",this.hideGroups=!1,this.files=new Map,this.valid=!this.required,this.labelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add attachments"},this.label=p(this.labelDefaults),this.descriptionDefaults={en:"You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytestotal} of files at a time, and add up to {maxfiles} attachments at a time each no larger than {maxbytes}.",sv:"Du kan bifoga följande filtyper: {filetypes} - samt de vanligaste videofilerna. Du kan ladda upp {maxbytestotal} av filer åt gången, och lägga till upp till {maxfiles} bilagor åt gången varje inte större än {maxbytes}.",fi:"Voit liittää seuraavat tiedostotyypit: {filetypes} - sekä yleisimmät videotiedostot. Voit lähettää {maxbytestotal} tiedostoa kerrallaan, ja lisätä enintään {maxfiles} liitettä kerrallaan, jokainen enintään {maxbytes} kokoisena."},this.description=p(this.descriptionDefaults),this.fileListEmptyDefaults={fi:"Ei vielä lisättyjä tiedostoja.",sv:"Inga filer har lagts till ännu.",en:"No files added yet."},this.fileListEmpty=p(this.fileListEmptyDefaults),this.error="",this.errorCodes=j,this.name=void 0,this.maxBytes=2e8,this.maxBytesTotal=void 0,this.maxFiles=99,this.allowedExtensions="all",this.allowedMimetypes="",this.multiple=!0,this.limitSelection=!1,this.hideCancelButton=!1,this.value=void 0,this.externalUploadButtonId=void 0,this.captionOnBottom=!1,this.showUploadedItemsHeader=!1,this.uploadedItemsHeaderLabel={fi:"Ladattu tiedosto",sv:"Lägg till en bilaga",en:"Uploaded file"},this.headerHeadingLevel="h3",this.hideHeader=!1,this.emitEvent=!1,this.actionButtonTitles={cancel:!1,delete:!1},this.renameDuplicates=!1,this.groups=[{id:this.DefaultGroups.success,label:{fi:"Valmiit tiedostot",sv:"Files success",en:"Files success"}},{id:this.DefaultGroups.failure,label:{fi:"Tiedostot, joissa on virheitä",sv:"Filer med fel",en:"Files with errors"}},{id:this.DefaultGroups.inprogress,label:{fi:"Kesken olevat tiedostot",sv:"Filer inprogress",en:"Files inprogress"}},{id:this.DefaultGroups.pending,label:{en:"Files to upload",sv:"Filer att ladda",fi:"Ladattavat tiedostot"}}]}watchValidHandler(t,e){t!==e&&this.kick()}componentWillLoad(){this.internalStatusMessageLabel="string"==typeof this.statusMessageLabel?m(this.groups):this.statusMessageLabel,l(this),this.listenForActionEvents(),this.onReady(),this.externalUploadButton=document.querySelector(`#${this.externalUploadButtonId}`),this.processedButtonTitles=x(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),s=Math.round(this.maxBytes/1024/1024);let l=this.description.replace(/{maxfiles}/g,this.maxFiles.toString());return l=l.replace(/{maxbytes}/g,`${s.toString()} MB`),l=l.replace(/{maxbytestotal}/g,`${i.toString()} MB`),l=l.replace(/{filetypes}/g,this.allowedExtensions.split(",").join(", ")),this.externalUploadButton&&(this.externalUploadButton.accessibleLabel=l),t(a,{class:{"duet-m-0":"none"===this.margin}},t("duet-fieldset",{"label-heading-level":this.headerHeadingLevel,"label-hidden":this.hideHeader,label:this.label,caption:this.captionOnBottom?void 0:l},t("slot",{name:"header"}),!this.files.size&&t("duet-empty-state",{id:this.labelId,part:this.identifier?`${this.identifier}-empty-state`:"duet-upload-empty-state",icon:"messaging-attachment"},t("duet-paragraph",{margin:"none"},this.fileListEmpty)),!!this.files.size&&t("slot",{name:"fileheader"}),!!this.files.size&&t("duet-upload-aria-status",{invalid:this.getFilesAsArray().invalid.length,valid:this.getFilesAsArray().valid.length,inprogress:this.filesInProgress.size,total:this.files.size,statusMessageLabel:this.internalStatusMessageLabel}),!!this.files.size&&this.renderUploadedItems(),!!this.files.size&&t("slot",{name:"filefooter"}),t("slot",{name:"uploadfooter"}),this.captionOnBottom&&t("duet-caption",{margin:"none",size:"small"},t("div",{class:"upload-bottom-caption"},l)),t("slot",{name:"afterfooter"}),!this.hideButton&&t(d,null,t("duet-spacer",{size:"large"}),t("duet-button",{id:this.buttonId,onClick:this.startUpload,"accessible-controls":e,disabled:this.fileMaxReached,"accessible-label":this.accessibleButtonLabel,"accessible-owns":e,size:"small",variation:"secondary",fixed:!0,icon:"action-add-circle",part:this.identifier?`${this.identifier}-button-upload`:"duet-upload-button-upload"},this.buttonLabel)),(this.fileMaxReached||this.bytesMaxReached||this.filesToUploadExceedsLimit||this.filesToUploadTotalSizeIsAboveMax)&&t(d,null,t("duet-spacer",{size:"medium"}),t("duet-alert",{part:this.identifier?`${this.identifier}-error-notification`:"duet-upload-error-notification"},this.fileMaxReached&&k("duet-upload-301",this.errorCodes),this.bytesMaxReached&&k("duet-upload-202",this.errorCodes),this.filesToUploadExceedsLimit&&k("duet-upload-302",this.errorCodes),this.filesToUploadTotalSizeIsAboveMax&&k("duet-upload-203",this.errorCodes))),t("duet-visually-hidden",{"aria-hidden":"true"},t("input",{ref:t=>{this.nativeInput=t},accept:this.limitSelection?`${this.allowedMimetypes},${this.allowedExtensions}`:void 0,onBlur:this.onBlur,onFocus:this.onFocus,onChange:t=>this.onChange(t),type:"file",class:{"duet-upload":!0},disabled:this.disabled,"aria-hidden":"true",required:this.required,name:this.name,id:this.identifier,multiple:this.multiple,tabIndex:-1}))))}makeXHRPostRequest(t){const e=new XMLHttpRequest,i=t.get("name");e.upload.addEventListener("progress",(t=>{this.updateProgress(t,i)})),e.upload.addEventListener("load",(()=>{this.transferComplete(i)})),e.upload.addEventListener("error",(()=>{this.transferFailed(i)})),e.upload.addEventListener("abort",(()=>{this.transferCanceled(i)}));let a={payload:{data:t,name:i},options:{type:"POST",uri:this.uri,xhr:e,argument:null,headers:void 0},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(a=this.middleware(a)),F(a)}makeXHRDeleteRequest(t){const{uid:e,item:i}=t,a=new XMLHttpRequest;let s={payload:{data:null,name},options:{type:"DELETE",xhr:a,uri:this.uri,argument:`?key=${e}&name=${i.name}`,headers:{"x-fileuid":e,"x-filename":i.name}},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(s=this.middleware(s)),F(s)}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 s=parseInt(a.split("(").pop().slice(0,-1));return`${t} (${s+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("."),s=this.getRenamedFileName(a,i);return new File([t],s,{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:s}=$(t,{maxBytes:this.maxBytes,allowedExtensions:this.allowedExtensions,allowedMimetypes:this.allowedMimetypes},this.errorCodes),d={uid:this.genHashName(),item:t,size:t.size,meta:this.metaData,uploaded:!1,valid:e,error:{type:e?void 0:a,message:e?void 0:i,system_message:e?void 0:s},progress:0,deleted:!1,xhr:!1,url:!1};this.files.set(t.name,d),e&&!this.external?await this.uploadFile(d):e&&this.external?(this.updateValueInMap(d.item.name,"pending",!0,!1),this.updateValueInMap(d.item.name,"group","pending",!0)):e||this.updateValueInMap(t.name,"valid",!1,!0),this.kick()}}this.resetFormFields(),this.metaData=void 0,this.duetChange.emit({originalEvent:t,data:{files:this.files},component:"duet-upload"})}get element(){return s(this)}static get watchers(){return{valid:["watchValidHandler"]}}};C.style="*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}::slotted([slot=header]){margin-bottom:16px}::slotted([slot=fileheader]){margin:16px 0 0 0}::slotted([slot=filefooter]){margin-top:16px}::slotted([slot=uploadfooter]){margin-top:20px}.duet-upload{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-upload-item-size{font-size:0.75rem;font-weight:400}.duet-upload-filelist{margin-bottom:25px}.duet-upload-filelist-empty{display:flex;align-items:center;justify-content:center;width:100%;height:75px;margin:0 auto;font-size:1rem;font-weight:400;background-color:rgb(245, 248, 250)}.duet-upload-filelist-empty-label{font-size:1rem;font-weight:400}.duet-upload-editable-table-header-hidden{display:none}.duet-upload-editable-table tbody .duet-upload-editable-table-data{padding:0 !important;border:0}.duet-upload-editable-table duet-editable-table tfoot,.duet-upload-editable-table duet-editable-table thead{display:none}.duet-upload-editable-table duet-editable-table .duet-editable-table-content{padding-right:0 !important;padding-left:0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td{padding:1rem 0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td:last-child{padding-right:0 !important}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending{position:relative}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-progress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-progress{position:absolute;bottom:0;width:100%}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-action-button::part(button),.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-action-button::part(button){border:0}duet-paragraph::part(duet-paragraph){word-break:break-word}duet-editable-table tfoot{display:none}.upload-bottom-caption{margin-top:12px;margin-bottom:16px;line-height:1.4rem}.items-header{display:none;flex-direction:row;margin-bottom:0}@media (min-width: 36em){.items-header{display:flex}}.items-header:not(:last-child),.items-header:not(:first-child){margin-top:12px}.items-header .category-header{width:35%}.items-header .filename-header{width:65%}.items-header .filename-header.no-category{width:100%}.upload-item-row{display:flex;flex-direction:column;gap:16px;align-content:center;align-items:center;padding:16px 0 16px 0;border-bottom:1px solid rgb(225, 227, 230)}@media (min-width: 36em){.upload-item-row{flex-direction:row;gap:10px}}.upload-item-row .item-categories{width:100%}@media (min-width: 36em){.upload-item-row .item-categories{width:35%}}.upload-item-row .item-name{position:relative;bottom:2px;width:100%;text-align:left}@media (min-width: 36em){.upload-item-row .item-name{width:50%}.upload-item-row .item-name.no-category{width:85%}}.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:block}@media (min-width: 36em){.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:none}}.upload-item-row .item-actions{width:100%;margin-left:-8px;text-align:left}@media (min-width: 36em){.upload-item-row .item-actions{width:15%;padding-top:0;margin-left:auto;text-align:right}}.upload-item-row .duet-upload-item-name duet-icon{position:relative;top:4px}.upload-item-row .duet-upload-item-name duet-progress{display:block;margin-top:16px}";export{L as duet_editable_table,E as duet_table,C as duet_upload}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- System.register(["./p-9644775c.system.js","./p-50f4bca2.system.js"],(function(e){"use strict";var t,n,r,a,o;return{setters:[function(e){t=e.r;n=e.h;r=e.H;a=e.g},function(e){o=e.i}],execute:function(){var i="*,*::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-toolbar{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;background:rgb(255, 255, 255)}.duet-toolbar .container{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1384px;height:36px;margin:0 28px;border-bottom:1px solid rgb(225, 227, 230)}.duet-toolbar .list{display:flex;align-items:center;justify-content:space-between;height:100%;list-style-type:none}.duet-toolbar ::slotted(*){display:flex;align-items:center;justify-content:center;height:100%}.duet-toolbar.negative{background:rgb(0, 119, 179)}.duet-toolbar.negative .container{border-bottom:0}.duet-toolbar.duet-theme-turva{background:rgb(255, 255, 255)}.duet-toolbar.duet-theme-turva .container{border-bottom:1px solid rgb(228, 228, 230)}.duet-toolbar.duet-theme-turva.negative{background:rgb(198, 12, 48)}.duet-toolbar.duet-theme-turva.negative .container{border-bottom:0}";var s=e("duet_toolbar",function(){function e(e){t(this,e);this.theme="";this.variation="default";this.accessibleLabel=undefined}e.prototype.componentWillLoad=function(){o(this)};e.prototype.render=function(){var e;var t=this.variation==="negative"?"negative":"default";return n(r,null,n("nav",{class:(e={"duet-toolbar":true,"duet-theme-turva":this.theme==="turva"},e[t]=true,e),"aria-label":this.accessibleLabel},n("div",{class:"container"},n("div",{class:"list",role:"list"},n("slot",{name:"left"})),n("div",{class:"list",role:"list"},n("slot",{name:"right"})))))};Object.defineProperty(e.prototype,"element",{get:function(){return a(this)},enumerable:false,configurable:true});return e}());s.style=i}}}));
4
+ System.register(["./p-5ffaa443.system.js","./p-50f4bca2.system.js"],(function(e){"use strict";var t,n,a,r,o;return{setters:[function(e){t=e.r;n=e.h;a=e.H;r=e.g},function(e){o=e.i}],execute:function(){var i="*,*::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-toolbar{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;background:rgb(255, 255, 255)}.duet-toolbar .container{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1384px;height:36px;margin:0 28px;border-bottom:1px solid rgb(225, 227, 230)}.duet-toolbar .list{display:flex;align-items:center;justify-content:space-between;height:100%;list-style-type:none}.duet-toolbar ::slotted(*){display:flex;align-items:center;justify-content:center;height:100%}.duet-toolbar.negative{background:rgb(0, 119, 179)}.duet-toolbar.negative .container{border-bottom:0}.duet-toolbar.duet-theme-turva{background:rgb(255, 255, 255)}.duet-toolbar.duet-theme-turva .container{border-bottom:1px solid rgb(228, 228, 230)}.duet-toolbar.duet-theme-turva.negative{background:rgb(198, 12, 48)}.duet-toolbar.duet-theme-turva.negative .container{border-bottom:0}";var s=e("duet_toolbar",function(){function e(e){t(this,e);this.theme="";this.variation="default";this.accessibleLabel=undefined}e.prototype.componentWillLoad=function(){o(this)};e.prototype.render=function(){var e;var t=this.variation==="negative"?"negative":"default";return n(a,null,n("nav",{class:(e={"duet-toolbar":true,"duet-theme-turva":this.theme==="turva"},e[t]=true,e),"aria-label":this.accessibleLabel},n("div",{class:"container"},n("div",{class:"list",role:"list"},n("slot",{name:"left"})),n("div",{class:"list",role:"list"},n("slot",{name:"right"})))))};Object.defineProperty(e.prototype,"element",{get:function(){return r(this)},enumerable:false,configurable:true});return e}());s.style=i}}}));
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{r as t,h as e,H as i,g as o,c as a}from"./p-83e9058b.js";import{i as s}from"./p-a58bd561.js";import{h as n,g as r}from"./p-06e608ae.js";import{s as d,u as l,o as b,p as c,d as u,b as h,a as p,c as g}from"./p-a1b7f2a0.js";import{g as m,c as f,d as k,a as v}from"./p-2e36d5bf.js";import{d as x}from"./p-1784b1d2.js";import{c as w}from"./p-5e59e970.js";import"./p-0e052642.js";import"./p-4a901bfc.js";const y=class{constructor(e){t(this,e),this.currentIndex=0,this.scrollPaneElement=void 0,this.hasCollapseButtonLabelSlot=!1,this.resizeObserver=new ResizeObserver((t=>{var e,i,o,a;if(1===(null==t?void 0:t.length)){const s=null===(i=null===(e=t[0])||void 0===e?void 0:e.target)||void 0===i?void 0:i.getBoundingClientRect().width,n=null===(a=null===(o=t[0])||void 0===o?void 0:o.target)||void 0===a?void 0:a.scrollWidth;this.isScrollPaneContentSmallerThanWrapper=n>s+5}})),this.collapsedOnClick=()=>{this.collapsed=!this.collapsed},this.scrollPaneAtStart=!0,this.isScrollPaneContentSmallerThanWrapper=!0,this.scrollPaneAtEnd=!1,this.childrenData={},this.theme="",this.identifier="",this.collapsed=!1,this.buttons=!0,this.buttonAlignment="center",this.center=!1,this.selected=0}watchPropHandler(t){this.scrollToElement(t,"center")}componentWillLoad(){s(this),this.hasCollapseButtonLabelSlot=n(this.element,"collapse-button-label")}componentDidLoad(){this.resizeObserver.observe(this.scrollPaneElement)}disconnectedCallback(){this.resizeObserver.disconnect()}getScrollPaneElemnets(){return r(this.element)}getLastVisibleElement(){const t=this.scrollPaneElement.clientWidth;return this.getScrollPaneElemnets().findIndex((e=>e.getBoundingClientRect().x>t))}getFirstVisibleElement(){return this.getScrollPaneElemnets().map((t=>t.getBoundingClientRect().x-t.getBoundingClientRect().width)).findIndex((t=>t>0))}updateScrollButtons(t=this.scrollPaneElement){this.buttons&&(t.scrollLeft<=0?this.scrollPaneAtStart=!0:t.scrollLeft>0&&(this.scrollPaneAtStart=!1),t.clientWidth+t.scrollLeft+10>=t.scrollWidth?this.scrollPaneAtEnd=!0:t.clientWidth+t.scrollLeft+10<t.scrollWidth&&(this.scrollPaneAtEnd=!1))}scrollToElement(t=this.currentIndex,e){const i=this.getScrollPaneElemnets();if(!i||0===i.length)return;t+1>=i.length&&(t=i.length-1),t<0&&(t=0);let o=i[0].getBoundingClientRect().x,a=5;const s=()=>{if(i[0].getBoundingClientRect().x===o){if(a--,0!==a)return void window.requestAnimationFrame(s);this.updateScrollButtons()}else window.requestAnimationFrame(s),o=i[0].getBoundingClientRect().x};i[t].scrollIntoView({behavior:"smooth",block:"nearest",inline:e}),window.requestAnimationFrame(s)}scrollLeft(){this.scrollPaneAtEnd=!1;const t=this.getFirstVisibleElement()-1;this.scrollToElement(t,"center")}scrollRight(){this.scrollPaneAtStart=!1;const t=this.getLastVisibleElement()+1;this.scrollToElement(t,"center")}render(){return e(i,{class:{"duet-theme-turva":"turva"===this.theme,"duet-theme-default":"default"===this.theme}},this.hasCollapseButtonLabelSlot&&e("div",{class:{collapse:!0,hide:!this.isScrollPaneContentSmallerThanWrapper&&!this.collapsed}},e("duet-button",{variation:"plain",margin:"none","center-text":!0,onClick:()=>this.collapsedOnClick()},e("slot",{name:"collapse-button-label"}))),e("div",{class:{"duet-scrollable-items":!0,buttons:this.buttons,center:this.center}},e("button",{part:`${this.identifier}-button-left`,"aria-hidden":"true",class:{"duet-scrollable-button":!0,[`duet-scrollable-button--${this.buttonAlignment}`]:!0,"duet-scrollable-button--left":!0,"duet-scrollable-button--occluded":!this.isScrollPaneContentSmallerThanWrapper},onClick:()=>this.scrollLeft(),disabled:this.scrollPaneAtStart,tabindex:"-1",hidden:!this.buttons},e("duet-icon",{name:"action-arrow-left-small",size:"small",margin:"none"})),e("div",{class:{"duet-scrollable-list":!0,collapsed:this.collapsed},onScroll:()=>this.updateScrollButtons(),ref:t=>this.scrollPaneElement=t},e("slot",null)),e("button",{part:`${this.identifier}-button-right`,"aria-hidden":"true",class:{"duet-scrollable-button":!0,[`duet-scrollable-button--${this.buttonAlignment}`]:!0,"duet-scrollable-button--right":!0,"duet-scrollable-button--occluded":!this.isScrollPaneContentSmallerThanWrapper},onClick:()=>this.scrollRight(),disabled:this.scrollPaneAtEnd,tabindex:"-1",hidden:!this.buttons},e("duet-icon",{name:"action-arrow-right-small",size:"small",margin:"none"}))))}get element(){return o(this)}static get watchers(){return{selected:["watchPropHandler"]}}};y.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;-webkit-tap-highlight-color:transparent}:host{position:relative !important}:host .duet-scrollable-items{display:flex}:host .duet-scrollable-items .duet-scrollable-button{position:relative;flex:0 0 auto;flex-basis:40px;padding:10px;cursor:pointer;transition:all 300ms ease}:host .duet-scrollable-items .duet-scrollable-button:active{transform:scale(0.8)}:host .duet-scrollable-items .duet-scrollable-button--left{left:-12px}:host .duet-scrollable-items .duet-scrollable-button--right{right:-12px}:host .duet-scrollable-items .duet-scrollable-button--top{align-self:flex-start}:host .duet-scrollable-items .duet-scrollable-button--bottom{align-self:flex-end}:host .duet-scrollable-items .duet-scrollable-button--occluded{flex-basis:0;flex-shrink:1;width:0;padding:10px 0;overflow:hidden;visibility:hidden}:host .duet-scrollable-items .duet-scrollable-list{display:flex;flex-wrap:nowrap;gap:20px;padding-top:2px;padding-right:5px;padding-left:5px;margin:0 -5px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scroll-snap-type:x mandatory;scroll-behavior:smooth;scroll-margin:0 20px;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch;}:host .duet-scrollable-items .duet-scrollable-list:not(.buttons){white-space:normal}:host .duet-scrollable-items .duet-scrollable-list::-webkit-scrollbar{display:none}:host .duet-scrollable-items .duet-scrollable-list.collapsed{flex-wrap:wrap}:host .duet-scrollable-items.center{justify-content:center}:host .duet-scrollable-items.center .duet-scrollable-list.collapsed{justify-content:center}.collapse{width:100%;text-align:center}.collapse.hide{visibility:hidden}::slotted(*){flex-shrink:0;margin-left:0;-webkit-transition:-webkit-transform 0.2s ease-in-out;transition:-webkit-transform 0.2s ease-in-out;transition:transform 0.2s ease-in-out;transition:transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;scroll-snap-align:center}";const S=class{constructor(e){t(this,e),this.setupContentElement=()=>{this.contentId&&(this.tabpanelElement=document.getElementById(this.contentId),this.tabpanelElement&&(this.tabpanelElement.setAttribute("role","tabpanel"),this.tabpanelElement.setAttribute("tabindex","-1"),this.tabpanelElement.removeEventListener("focus",this.tabpanelElementFocusListener),this.tabpanelElement.removeEventListener("blur",this.tabpanelElementBlurListener),this.tabpanelElement.addEventListener("focus",this.tabpanelElementFocusListener),this.tabpanelElement.addEventListener("blur",this.tabpanelElementBlurListener),this.accessibleDescription&&this.tabpanelElement.setAttribute("aria-description",this.accessibleDescription),this.accessibleLabelledBy&&this.tabpanelElement.setAttribute("aria-labelledby",this.accessibleLabelledBy),this.tabpanelElement.toggleAttribute("hidden",!this.selected)))},this.tabpanelElementFocusListener=()=>{this.element.classList.contains("user-is-tabbing")&&(this.tabpanelElement.style.outline="0",this.tabpanelElement.style.boxShadow=x("turva"===this.theme?"focus-turva":"focus"))},this.tabpanelElementBlurListener=()=>{this.tabpanelElement.style.outline=null,this.tabpanelElement.style.boxShadow=null},this.theme="",this.label=void 0,this.caption=void 0,this.selected=void 0,this.accessibleDescriptionDefault=null,this.accessibleDescription=this.accessibleDescriptionDefault?m(this.accessibleDescriptionDefault):null,this.accessibleLabelledBy=void 0,this.contentId=void 0}componentWillLoad(){s(this)}connectedCallback(){f(this,{prop:"accessibleDescription",defaults:"accessibleDescriptionDefault"}),d(this),this.setupContentElement()}disconnectedCallback(){k(this),l(this),this.tabpanelElement&&(this.tabpanelElement.removeAttribute("role"),this.tabpanelElement.removeAttribute("tabindex"),this.tabpanelElement.removeAttribute("aria-description"),this.tabpanelElement.removeAttribute("aria-labelledby"),this.tabpanelElement.removeAttribute("hidden"),this.tabpanelElement.removeEventListener("focus",this.tabpanelElementFocusListener.bind(this)),this.tabpanelElement.removeEventListener("blur",this.tabpanelElementBlurListener.bind(this)),this.tabpanelElement=void 0)}setupSelected(t,e){!!t!=!!e&&this.setupContentElement()}async setFocus(t){this.tabpanelElement.focus(t)}render(){return e("div",{ref:t=>{this.contentId||(this.tabpanelElement=t)},role:"tabpanel",class:{"duet-theme-turva":"turva"===this.theme,"duet-tab":!0,selected:this.selected,"has-content-id":!!this.contentId},"aria-description":this.accessibleDescription,"aria-labelledby":this.accessibleLabelledBy,tabindex:"-1"},e("slot",null))}get element(){return o(this)}static get watchers(){return{selected:["setupSelected"]}}};S.style=".sc-duet-tab-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-tab.sc-duet-tab{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:none;width:100%}.duet-tab.selected.sc-duet-tab{display:block}.duet-tab.has-content-id.sc-duet-tab,.duet-tab.has-content-id.selected.sc-duet-tab{display:none}.user-is-tabbing.sc-duet-tab-h .duet-tab.sc-duet-tab:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.user-is-tabbing.sc-duet-tab-h .duet-tab.duet-theme-turva.sc-duet-tab:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}";const z=class{constructor(i){t(this,i),this.duetChange=a(this,"duetChange",3),this.duetTabChange=a(this,"duetTabChange",7),this.duetTabChangeRequested=a(this,"duetTabChangeRequested",7),this.id=w("DuetTabGroup"),this.handleKeyDown=t=>{let e;u(t)||h(t)?e=t.target.previousElementSibling:(p(t)||g(t))&&(e=t.target.nextElementSibling),b(t)&&!c(t)&&(t.preventDefault(),this.element.querySelector("duet-tab[selected]").setFocus()),e&&(t.preventDefault(),e.click(),e.focus())},this.onTabSelect=t=>{this.tabChangeConfirm?t!==this.selected&&this.duetTabChangeRequested.emit({value:t,component:"duet-tab-group"}):this.openTab(t)},this.scrollToActive=()=>{"checked"!==this.variation&&"plain-scrolling"!==this.variation||setTimeout((()=>{const t=this.tabsContainer.querySelector(".selected");t&&t.scrollIntoView({behavior:"smooth",inline:"center",block:"nearest"})}),50)},this.renderTab=()=>{const t=this.tabs.map(((t,i)=>e("button",{role:"tab",id:this.getButtonId(i),"aria-selected":t.selected?"true":"false","aria-description":this.getAccessibleDescription(i),tabindex:t.selected?"0":"-1",part:`${this.identifier}-button ${t.selected?`${this.identifier}-button--selected`:""}`,type:"button",class:{"duet-p-0":"none"===this.padding,"duet-tab-button":!0,"stackable-tab":"checked"===this.variation&&this.tabs.length<=3,selected:t.selected},onClick:()=>this.onTabSelect(i),onKeyDown:t=>this.handleKeyDown(t)},"checked"===this.variation?e("div",{class:{"checked-tab-content":!0,"stackable-checked-tab-content":this.tabs.length<=3}},e("div",{class:{"checked-tab-description":!0,"stackable-description":this.tabs.length<=3}},e("p",null,t.label),e("p",{class:{"tab-caption":!0,selected:t.selected}},t.caption)),e("div",{class:{"stackable-checkmark":this.tabs.length<=3}},e("duet-checkmark",{theme:this.theme,checked:t.selected,type:"radio","presentation-only":!0,center:!0}))):t.label)));return this.scrolls?e("duet-scrollable",{selected:this.selected,identifier:this.identifier},t):t},this.tabs=[],this.selected=void 0,this.theme="",this.scrolls=!1,this.collapses=!0,this.accessibleLabel=void 0,this.variation="default",this.language=v(),this.labelDefaults={fi:"Valitse",en:"Choose",sv:"Välj"},this.label=m(this.labelDefaults,this.language),this.labelHidden=!0,this.identifier=this.id,this.margin="auto",this.padding="auto",this.setTabIndex=!0,this.tabChangeConfirm=!1}async connectedCallback(){"undefined"!=typeof MutationObserver&&(this.mutationO=new MutationObserver((()=>{this.updateTabs()})),this.mutationO.observe(this.element,{attributes:!0,attributeFilter:["label"],childList:!0,characterData:!0,subtree:!0})),await this.updateTabs(),d(this)}disconnectedCallback(){this.mutationO&&(this.mutationO.disconnect(),this.mutationO=void 0),l(this)}componentWillLoad(){s(this)}componentDidLoad(){this.scrollToActive()}async openTab(t){if(t>=this.tabs.length)throw new Error(`[duet-tabs] Index ${t} is out of bounds of tabs length`);this.selected=t,this.tabs.forEach(((e,i)=>{e.selected=i===t})),this.scrollToActive();const e={value:t,component:"duet-tab-group"};this.duetChange.emit(e),this.duetTabChange.emit(e)}async refresh(){console.log("[duet-tabs] Refresh method is deprecated and will be removed in the future version.")}getTabs(){const t=Array.from(this.element.querySelectorAll("duet-tab")).filter((t=>t.closest("duet-tab-group")===this.element));if(0===t.length)throw new Error("[duet-tabs] Must have at least one tab");return t}getButtonId(t){return`${this.id}-button-${t}`}getTabId(t){return`${this.id}-tab-${t}`}getAccessibleDescription(t){return this.tabs[t].getAttribute("accessible-description")||null}async updateTabs(){this.selected=void 0,this.tabs=this.getTabs(),this.tabs.forEach(((t,e)=>{t.id=this.getTabId(e),t.selected&&(void 0===this.selected?this.selected=e:t.selected=!1)})),void 0===this.selected&&(this.selected=0,this.tabs[0].selected=!0)}render(){const t="checked"===this.variation||"plain-scrolling"===this.variation;return e("div",{class:{"duet-tab-group":!0,"duet-theme-turva":"turva"===this.theme,["plain-scrolling"===this.variation?"duet-tab-variation-plain":`duet-tab-variation-${this.variation}`]:!0,"duet-tab-plain-scrolling":"plain-scrolling"===this.variation,"duet-tab-group-scrolls":this.scrolls,"duet-tab-group-collapses":this.collapses},"aria-label":this.accessibleLabel},!t&&this.tabs.length>3&&this.collapses&&e("duet-select",{value:this.selected.toString(),expand:!0,label:this.label,labelHidden:this.labelHidden,theme:this.theme,onDuetChange:t=>this.onTabSelect(Number(t.detail.value)),items:this.tabs.map(((t,e)=>({label:t.label,value:e.toString()})))}),e("div",{role:"tablist",class:{"duet-m-0":"none"===this.margin||"checked"===this.variation,"duet-tab-group-tabs":!0,"duet-tab-group-hidden":this.tabs.length>3&&!t,"duet-tab-group-collapses":this.collapses},ref:t=>{this.tabsContainer=t}},this.renderTab()),e("div",{class:{"duet-tab-group-content":!0,"duet-m-0":"none"===this.margin,"checked-group-content":"checked"===this.variation}},e("slot",null)))}get element(){return o(this)}};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;-webkit-tap-highlight-color:transparent;display:block;width:100%}.duet-tab-group-tabs{margin-bottom:28px !important;display:block;width:100%;max-width:100%;padding-top:2px;list-style:none}.duet-tab-group-tabs.duet-m-0{margin:0 !important}.duet-tab-group-tabs.duet-tab-group-collapses.duet-tab-group-hidden{display:none}@media (min-width: 36em){.duet-tab-group-tabs.duet-tab-group-collapses.duet-tab-group-hidden{display:block}}.duet-tab-variation-plain .duet-tab-group-tabs{border-bottom:1px solid rgb(225, 227, 230)}.duet-theme-turva.duet-tab-variation-plain .duet-tab-group-tabs{border-bottom-color:rgb(228, 228, 230)}.duet-tab-variation-checked .duet-tab-group-tabs{display:flex;gap:4px;padding-right:12px;padding-left:12px;overflow-x:scroll;-ms-overflow-style:none;scrollbar-width:none;}.duet-tab-variation-checked .duet-tab-group-tabs::-webkit-scrollbar{display:none}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-group-tabs{gap:8px;padding-right:16px;padding-left:16px;overflow:visible}}.duet-tab-plain-scrolling .duet-tab-group-tabs{display:flex;overflow-x:scroll;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;}.duet-tab-plain-scrolling .duet-tab-group-tabs::-webkit-scrollbar{display:none}@media (min-width: 36em){.duet-tab-plain-scrolling .duet-tab-group-tabs{display:block;overflow:auto}}@media (min-width: 36em){duet-select{display:none !important}}.duet-tab-button{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;padding:20px;margin-top:-2px;overflow:visible;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:600;line-height:1.1;color:rgb(0, 41, 77);text-align:left;text-decoration:none;cursor:pointer;background:rgb(255, 255, 255);border:2px solid rgb(225, 227, 230);border-radius:0;transition:150ms ease}.duet-tab-button.duet-p-0{padding:0 !important}.duet-tab-button.duet-m-0{margin:0 !important}.duet-theme-turva .duet-tab-button{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 28, 58);border-color:rgb(228, 228, 230)}.duet-tab-button.duet-p-0{padding:0 !important}@media (min-width: 36em){.duet-tab-button{display:inline-block;width:auto;margin-left:-2px;border-right:2px solid rgb(225, 227, 230);border-radius:0}}.duet-tab-button:hover{z-index:200;border-color:rgb(144, 149, 153)}.duet-theme-turva .duet-tab-button:hover{border-color:rgb(116, 116, 117)}.duet-tab-button:active{opacity:0.75;transition:none}.duet-tab-button.selected{z-index:201;color:rgb(255, 255, 255);background:rgb(0, 41, 77);border-color:rgb(0, 41, 77);outline:0;box-shadow:none !important}.duet-theme-turva .duet-tab-button.selected{color:rgb(255, 255, 255);background-color:rgb(23, 28, 58);border-color:rgb(23, 28, 58)}.duet-tab-button:focus{z-index:200;outline:0}:host(.user-is-tabbing) .duet-tab-button:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3 !important}:host(.user-is-tabbing) .duet-theme-turva .duet-tab-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a !important}.duet-tab-button:first-child{border-top-left-radius:4px;border-top-right-radius:4px}@media (min-width: 36em){.duet-tab-button:first-child{border-top-right-radius:0;border-bottom-left-radius:4px}}.duet-tab-button:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}@media (min-width: 36em){.duet-tab-button:last-child{border-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px}}.duet-tab-variation-plain .duet-tab-button{display:inline-block;width:auto;padding-right:0;padding-left:0;margin-left:0;border:0;border-radius:0;transition:none}.duet-tab-variation-plain .duet-tab-button+.duet-tab-button{margin-left:36px}.duet-tab-variation-plain .duet-tab-button.selected{color:rgb(0, 119, 179);background:rgb(255, 255, 255);border-bottom:3px solid rgb(0, 119, 179)}.duet-theme-turva.duet-tab-variation-plain .duet-tab-button.selected{color:rgb(198, 12, 48);border-bottom-color:rgb(198, 12, 48)}.duet-tab-variation-checked .duet-tab-button{position:relative;display:inline-block;flex-basis:0;flex-grow:1;width:200px;min-width:200px;padding:8px 4px;border-color:rgb(207, 210, 212);border-bottom-color:rgb(0, 119, 179);border-radius:4px 4px 0 0;transition:none}.duet-theme-turva.duet-tab-variation-checked .duet-tab-button{border-color:rgb(207, 210, 212);border-bottom-color:rgb(68, 68, 69)}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button{min-width:0;padding:16px}}.duet-tab-variation-checked .duet-tab-button.stackable-tab{min-width:0}.duet-tab-variation-checked .duet-tab-button:first-child{margin-left:auto}.duet-tab-variation-checked .duet-tab-button:last-child{margin-right:auto}.duet-tab-variation-checked .duet-tab-button:active{opacity:1;transition:none}.duet-tab-variation-checked .duet-tab-button.selected{color:rgb(0, 119, 179);background:linear-gradient(180deg, rgb(243, 249, 252) 0%, rgb(255, 255, 255) 100%);border-color:rgb(0, 119, 179);border-bottom-color:#fff}.duet-theme-turva.duet-tab-variation-checked .duet-tab-button.selected{color:rgb(23, 28, 58);background:linear-gradient(180deg, rgb(245, 245, 247) 0%, rgb(255, 255, 255) 100%);border-color:rgb(68, 68, 69);border-bottom-color:#fff}.duet-tab-variation-checked .duet-tab-button .checked-tab-content{display:flex;flex-direction:row;justify-content:space-between}.duet-tab-variation-checked .duet-tab-button .checked-tab-content.stackable-checked-tab-content{flex-direction:column;height:100%}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button .checked-tab-content.stackable-checked-tab-content{flex-direction:row}}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description{display:flex;flex-direction:column;overflow:hidden;overflow-wrap:break-word}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description.stackable-description{text-align:center}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description.stackable-description{text-align:left}}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption{margin-top:4px;font-size:0.875rem;font-weight:400;color:rgb(101, 119, 135)}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption{font-size:1rem;text-align:left}}.duet-theme-turva.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption{color:rgb(68, 68, 69)}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption.selected{color:rgb(0, 119, 179)}.duet-theme-turva.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption.selected{color:rgb(68, 68, 69)}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .stackable-checkmark{order:-1;margin-top:8px;margin-bottom:8px}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button .checked-tab-content .stackable-checkmark{order:1}}.duet-tab-group-content{position:relative;width:100%;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:rgb(0, 41, 77);text-align:left}.duet-tab-group-content:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3 !important}.duet-theme-turva .duet-tab-group-content:focus,.duet-tab-group-content:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a !important}.duet-tab-group-content.checked-group-content{padding:28px 0 28px 0}.duet-tab-group-content.checked-group-content::after{position:absolute;top:-2px;left:0;width:100%;height:2px;content:" ";background-color:rgb(0, 119, 179)}.duet-theme-turva .duet-tab-group-content{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-theme-turva .duet-tab-group-content.checked-group-content::after{background-color:rgb(68, 68, 69)}';export{y as duet_scrollable,S as duet_tab,z as duet_tab_group}
4
+ import{r as t,h as e,H as i,g as o,c as a}from"./p-e2d05479.js";import{i as s}from"./p-a58bd561.js";import{h as n,g as r}from"./p-06e608ae.js";import{s as d,u as l,o as b,p as c,d as u,b as h,a as p,c as g}from"./p-a1b7f2a0.js";import{g as m,c as f,d as k,a as v}from"./p-2e36d5bf.js";import{d as x}from"./p-1784b1d2.js";import{c as w}from"./p-5e59e970.js";import"./p-0e052642.js";import"./p-4a901bfc.js";const y=class{constructor(e){t(this,e),this.currentIndex=0,this.scrollPaneElement=void 0,this.hasCollapseButtonLabelSlot=!1,this.resizeObserver=new ResizeObserver((t=>{var e,i,o,a;if(1===(null==t?void 0:t.length)){const s=null===(i=null===(e=t[0])||void 0===e?void 0:e.target)||void 0===i?void 0:i.getBoundingClientRect().width,n=null===(a=null===(o=t[0])||void 0===o?void 0:o.target)||void 0===a?void 0:a.scrollWidth;this.isScrollPaneContentSmallerThanWrapper=n>s+5}})),this.collapsedOnClick=()=>{this.collapsed=!this.collapsed},this.scrollPaneAtStart=!0,this.isScrollPaneContentSmallerThanWrapper=!0,this.scrollPaneAtEnd=!1,this.childrenData={},this.theme="",this.identifier="",this.collapsed=!1,this.buttons=!0,this.buttonAlignment="center",this.center=!1,this.selected=0}watchPropHandler(t){this.scrollToElement(t,"center")}componentWillLoad(){s(this),this.hasCollapseButtonLabelSlot=n(this.element,"collapse-button-label")}componentDidLoad(){this.resizeObserver.observe(this.scrollPaneElement)}disconnectedCallback(){this.resizeObserver.disconnect()}getScrollPaneElemnets(){return r(this.element)}getLastVisibleElement(){const t=this.scrollPaneElement.clientWidth;return this.getScrollPaneElemnets().findIndex((e=>e.getBoundingClientRect().x>t))}getFirstVisibleElement(){return this.getScrollPaneElemnets().map((t=>t.getBoundingClientRect().x-t.getBoundingClientRect().width)).findIndex((t=>t>0))}updateScrollButtons(t=this.scrollPaneElement){this.buttons&&(t.scrollLeft<=0?this.scrollPaneAtStart=!0:t.scrollLeft>0&&(this.scrollPaneAtStart=!1),t.clientWidth+t.scrollLeft+10>=t.scrollWidth?this.scrollPaneAtEnd=!0:t.clientWidth+t.scrollLeft+10<t.scrollWidth&&(this.scrollPaneAtEnd=!1))}scrollToElement(t=this.currentIndex,e){const i=this.getScrollPaneElemnets();if(!i||0===i.length)return;t+1>=i.length&&(t=i.length-1),t<0&&(t=0);let o=i[0].getBoundingClientRect().x,a=5;const s=()=>{if(i[0].getBoundingClientRect().x===o){if(a--,0!==a)return void window.requestAnimationFrame(s);this.updateScrollButtons()}else window.requestAnimationFrame(s),o=i[0].getBoundingClientRect().x};i[t].scrollIntoView({behavior:"smooth",block:"nearest",inline:e}),window.requestAnimationFrame(s)}scrollLeft(){this.scrollPaneAtEnd=!1;const t=this.getFirstVisibleElement()-1;this.scrollToElement(t,"center")}scrollRight(){this.scrollPaneAtStart=!1;const t=this.getLastVisibleElement()+1;this.scrollToElement(t,"center")}render(){return e(i,{class:{"duet-theme-turva":"turva"===this.theme,"duet-theme-default":"default"===this.theme}},this.hasCollapseButtonLabelSlot&&e("div",{class:{collapse:!0,hide:!this.isScrollPaneContentSmallerThanWrapper&&!this.collapsed}},e("duet-button",{variation:"plain",margin:"none","center-text":!0,onClick:()=>this.collapsedOnClick()},e("slot",{name:"collapse-button-label"}))),e("div",{class:{"duet-scrollable-items":!0,buttons:this.buttons,center:this.center}},e("button",{part:`${this.identifier}-button-left`,"aria-hidden":"true",class:{"duet-scrollable-button":!0,[`duet-scrollable-button--${this.buttonAlignment}`]:!0,"duet-scrollable-button--left":!0,"duet-scrollable-button--occluded":!this.isScrollPaneContentSmallerThanWrapper},onClick:()=>this.scrollLeft(),disabled:this.scrollPaneAtStart,tabindex:"-1",hidden:!this.buttons},e("duet-icon",{name:"action-arrow-left-small",size:"small",margin:"none"})),e("div",{class:{"duet-scrollable-list":!0,collapsed:this.collapsed},onScroll:()=>this.updateScrollButtons(),ref:t=>this.scrollPaneElement=t},e("slot",null)),e("button",{part:`${this.identifier}-button-right`,"aria-hidden":"true",class:{"duet-scrollable-button":!0,[`duet-scrollable-button--${this.buttonAlignment}`]:!0,"duet-scrollable-button--right":!0,"duet-scrollable-button--occluded":!this.isScrollPaneContentSmallerThanWrapper},onClick:()=>this.scrollRight(),disabled:this.scrollPaneAtEnd,tabindex:"-1",hidden:!this.buttons},e("duet-icon",{name:"action-arrow-right-small",size:"small",margin:"none"}))))}get element(){return o(this)}static get watchers(){return{selected:["watchPropHandler"]}}};y.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;-webkit-tap-highlight-color:transparent}:host{position:relative !important}:host .duet-scrollable-items{display:flex}:host .duet-scrollable-items .duet-scrollable-button{position:relative;flex:0 0 auto;flex-basis:40px;padding:10px;cursor:pointer;transition:all 300ms ease}:host .duet-scrollable-items .duet-scrollable-button:active{transform:scale(0.8)}:host .duet-scrollable-items .duet-scrollable-button--left{left:-12px}:host .duet-scrollable-items .duet-scrollable-button--right{right:-12px}:host .duet-scrollable-items .duet-scrollable-button--top{align-self:flex-start}:host .duet-scrollable-items .duet-scrollable-button--bottom{align-self:flex-end}:host .duet-scrollable-items .duet-scrollable-button--occluded{flex-basis:0;flex-shrink:1;width:0;padding:10px 0;overflow:hidden;visibility:hidden}:host .duet-scrollable-items .duet-scrollable-list{display:flex;flex-wrap:nowrap;gap:20px;padding-top:2px;padding-right:5px;padding-left:5px;margin:0 -5px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scroll-snap-type:x mandatory;scroll-behavior:smooth;scroll-margin:0 20px;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch;}:host .duet-scrollable-items .duet-scrollable-list:not(.buttons){white-space:normal}:host .duet-scrollable-items .duet-scrollable-list::-webkit-scrollbar{display:none}:host .duet-scrollable-items .duet-scrollable-list.collapsed{flex-wrap:wrap}:host .duet-scrollable-items.center{justify-content:center}:host .duet-scrollable-items.center .duet-scrollable-list.collapsed{justify-content:center}.collapse{width:100%;text-align:center}.collapse.hide{visibility:hidden}::slotted(*){flex-shrink:0;margin-left:0;-webkit-transition:-webkit-transform 0.2s ease-in-out;transition:-webkit-transform 0.2s ease-in-out;transition:transform 0.2s ease-in-out;transition:transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;scroll-snap-align:center}";const S=class{constructor(e){t(this,e),this.setupContentElement=()=>{this.contentId&&(this.tabpanelElement=document.getElementById(this.contentId),this.tabpanelElement&&(this.tabpanelElement.setAttribute("role","tabpanel"),this.tabpanelElement.setAttribute("tabindex","-1"),this.tabpanelElement.removeEventListener("focus",this.tabpanelElementFocusListener),this.tabpanelElement.removeEventListener("blur",this.tabpanelElementBlurListener),this.tabpanelElement.addEventListener("focus",this.tabpanelElementFocusListener),this.tabpanelElement.addEventListener("blur",this.tabpanelElementBlurListener),this.accessibleDescription&&this.tabpanelElement.setAttribute("aria-description",this.accessibleDescription),this.accessibleLabelledBy&&this.tabpanelElement.setAttribute("aria-labelledby",this.accessibleLabelledBy),this.tabpanelElement.toggleAttribute("hidden",!this.selected)))},this.tabpanelElementFocusListener=()=>{this.element.classList.contains("user-is-tabbing")&&(this.tabpanelElement.style.outline="0",this.tabpanelElement.style.boxShadow=x("turva"===this.theme?"focus-turva":"focus"))},this.tabpanelElementBlurListener=()=>{this.tabpanelElement.style.outline=null,this.tabpanelElement.style.boxShadow=null},this.theme="",this.label=void 0,this.caption=void 0,this.selected=void 0,this.accessibleDescriptionDefault=null,this.accessibleDescription=this.accessibleDescriptionDefault?m(this.accessibleDescriptionDefault):null,this.accessibleLabelledBy=void 0,this.contentId=void 0}componentWillLoad(){s(this)}connectedCallback(){f(this,{prop:"accessibleDescription",defaults:"accessibleDescriptionDefault"}),d(this),this.setupContentElement()}disconnectedCallback(){k(this),l(this),this.tabpanelElement&&(this.tabpanelElement.removeAttribute("role"),this.tabpanelElement.removeAttribute("tabindex"),this.tabpanelElement.removeAttribute("aria-description"),this.tabpanelElement.removeAttribute("aria-labelledby"),this.tabpanelElement.removeAttribute("hidden"),this.tabpanelElement.removeEventListener("focus",this.tabpanelElementFocusListener.bind(this)),this.tabpanelElement.removeEventListener("blur",this.tabpanelElementBlurListener.bind(this)),this.tabpanelElement=void 0)}setupSelected(t,e){!!t!=!!e&&this.setupContentElement()}async setFocus(t){this.tabpanelElement.focus(t)}render(){return e("div",{ref:t=>{this.contentId||(this.tabpanelElement=t)},role:"tabpanel",class:{"duet-theme-turva":"turva"===this.theme,"duet-tab":!0,selected:this.selected,"has-content-id":!!this.contentId},"aria-description":this.accessibleDescription,"aria-labelledby":this.accessibleLabelledBy,tabindex:"-1"},e("slot",null))}get element(){return o(this)}static get watchers(){return{selected:["setupSelected"]}}};S.style=".sc-duet-tab-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-tab.sc-duet-tab{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:none;width:100%}.duet-tab.selected.sc-duet-tab{display:block}.duet-tab.has-content-id.sc-duet-tab,.duet-tab.has-content-id.selected.sc-duet-tab{display:none}.user-is-tabbing.sc-duet-tab-h .duet-tab.sc-duet-tab:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.user-is-tabbing.sc-duet-tab-h .duet-tab.duet-theme-turva.sc-duet-tab:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}";const z=class{constructor(i){t(this,i),this.duetChange=a(this,"duetChange",3),this.duetTabChange=a(this,"duetTabChange",7),this.duetTabChangeRequested=a(this,"duetTabChangeRequested",7),this.id=w("DuetTabGroup"),this.handleKeyDown=t=>{let e;u(t)||h(t)?e=t.target.previousElementSibling:(p(t)||g(t))&&(e=t.target.nextElementSibling),b(t)&&!c(t)&&(t.preventDefault(),this.element.querySelector("duet-tab[selected]").setFocus()),e&&(t.preventDefault(),e.click(),e.focus())},this.onTabSelect=t=>{this.tabChangeConfirm?t!==this.selected&&this.duetTabChangeRequested.emit({value:t,component:"duet-tab-group"}):this.openTab(t)},this.scrollToActive=()=>{"checked"!==this.variation&&"plain-scrolling"!==this.variation||setTimeout((()=>{const t=this.tabsContainer.querySelector(".selected");t&&t.scrollIntoView({behavior:"smooth",inline:"center",block:"nearest"})}),50)},this.renderTab=()=>{const t=this.tabs.map(((t,i)=>e("button",{role:"tab",id:this.getButtonId(i),"aria-selected":t.selected?"true":"false","aria-description":this.getAccessibleDescription(i),tabindex:t.selected?"0":"-1",part:`${this.identifier}-button ${t.selected?`${this.identifier}-button--selected`:""}`,type:"button",class:{"duet-p-0":"none"===this.padding,"duet-tab-button":!0,"stackable-tab":"checked"===this.variation&&this.tabs.length<=3,selected:t.selected},onClick:()=>this.onTabSelect(i),onKeyDown:t=>this.handleKeyDown(t)},"checked"===this.variation?e("div",{class:{"checked-tab-content":!0,"stackable-checked-tab-content":this.tabs.length<=3}},e("div",{class:{"checked-tab-description":!0,"stackable-description":this.tabs.length<=3}},e("p",null,t.label),e("p",{class:{"tab-caption":!0,selected:t.selected}},t.caption)),e("div",{class:{"stackable-checkmark":this.tabs.length<=3}},e("duet-checkmark",{theme:this.theme,checked:t.selected,type:"radio","presentation-only":!0,center:!0}))):t.label)));return this.scrolls?e("duet-scrollable",{selected:this.selected,identifier:this.identifier},t):t},this.tabs=[],this.selected=void 0,this.theme="",this.scrolls=!1,this.collapses=!0,this.accessibleLabel=void 0,this.variation="default",this.language=v(),this.labelDefaults={fi:"Valitse",en:"Choose",sv:"Välj"},this.label=m(this.labelDefaults,this.language),this.labelHidden=!0,this.identifier=this.id,this.margin="auto",this.padding="auto",this.setTabIndex=!0,this.tabChangeConfirm=!1}async connectedCallback(){"undefined"!=typeof MutationObserver&&(this.mutationO=new MutationObserver((()=>{this.updateTabs()})),this.mutationO.observe(this.element,{attributes:!0,attributeFilter:["label"],childList:!0,characterData:!0,subtree:!0})),await this.updateTabs(),d(this)}disconnectedCallback(){this.mutationO&&(this.mutationO.disconnect(),this.mutationO=void 0),l(this)}componentWillLoad(){s(this)}componentDidLoad(){this.scrollToActive()}async openTab(t){if(t>=this.tabs.length)throw new Error(`[duet-tabs] Index ${t} is out of bounds of tabs length`);this.selected=t,this.tabs.forEach(((e,i)=>{e.selected=i===t})),this.scrollToActive();const e={value:t,component:"duet-tab-group"};this.duetChange.emit(e),this.duetTabChange.emit(e)}async refresh(){console.log("[duet-tabs] Refresh method is deprecated and will be removed in the future version.")}getTabs(){const t=Array.from(this.element.querySelectorAll("duet-tab")).filter((t=>t.closest("duet-tab-group")===this.element));if(0===t.length)throw new Error("[duet-tabs] Must have at least one tab");return t}getButtonId(t){return`${this.id}-button-${t}`}getTabId(t){return`${this.id}-tab-${t}`}getAccessibleDescription(t){return this.tabs[t].getAttribute("accessible-description")||null}async updateTabs(){this.selected=void 0,this.tabs=this.getTabs(),this.tabs.forEach(((t,e)=>{t.id=this.getTabId(e),t.selected&&(void 0===this.selected?this.selected=e:t.selected=!1)})),void 0===this.selected&&(this.selected=0,this.tabs[0].selected=!0)}render(){const t="checked"===this.variation||"plain-scrolling"===this.variation;return e("div",{class:{"duet-tab-group":!0,"duet-theme-turva":"turva"===this.theme,["plain-scrolling"===this.variation?"duet-tab-variation-plain":`duet-tab-variation-${this.variation}`]:!0,"duet-tab-plain-scrolling":"plain-scrolling"===this.variation,"duet-tab-group-scrolls":this.scrolls,"duet-tab-group-collapses":this.collapses},"aria-label":this.accessibleLabel},!t&&this.tabs.length>3&&this.collapses&&e("duet-select",{value:this.selected.toString(),expand:!0,label:this.label,labelHidden:this.labelHidden,theme:this.theme,onDuetChange:t=>this.onTabSelect(Number(t.detail.value)),items:this.tabs.map(((t,e)=>({label:t.label,value:e.toString()})))}),e("div",{role:"tablist",class:{"duet-m-0":"none"===this.margin||"checked"===this.variation,"duet-tab-group-tabs":!0,"duet-tab-group-hidden":this.tabs.length>3&&!t,"duet-tab-group-collapses":this.collapses},ref:t=>{this.tabsContainer=t}},this.renderTab()),e("div",{class:{"duet-tab-group-content":!0,"duet-m-0":"none"===this.margin,"checked-group-content":"checked"===this.variation}},e("slot",null)))}get element(){return o(this)}};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;-webkit-tap-highlight-color:transparent;display:block;width:100%}.duet-tab-group-tabs{margin-bottom:28px !important;display:block;width:100%;max-width:100%;padding-top:2px;list-style:none}.duet-tab-group-tabs.duet-m-0{margin:0 !important}.duet-tab-group-tabs.duet-tab-group-collapses.duet-tab-group-hidden{display:none}@media (min-width: 36em){.duet-tab-group-tabs.duet-tab-group-collapses.duet-tab-group-hidden{display:block}}.duet-tab-variation-plain .duet-tab-group-tabs{border-bottom:1px solid rgb(225, 227, 230)}.duet-theme-turva.duet-tab-variation-plain .duet-tab-group-tabs{border-bottom-color:rgb(228, 228, 230)}.duet-tab-variation-checked .duet-tab-group-tabs{display:flex;gap:4px;padding-right:12px;padding-left:12px;overflow-x:scroll;-ms-overflow-style:none;scrollbar-width:none;}.duet-tab-variation-checked .duet-tab-group-tabs::-webkit-scrollbar{display:none}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-group-tabs{gap:8px;padding-right:16px;padding-left:16px;overflow:visible}}.duet-tab-plain-scrolling .duet-tab-group-tabs{display:flex;overflow-x:scroll;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;}.duet-tab-plain-scrolling .duet-tab-group-tabs::-webkit-scrollbar{display:none}@media (min-width: 36em){.duet-tab-plain-scrolling .duet-tab-group-tabs{display:block;overflow:auto}}@media (min-width: 36em){duet-select{display:none !important}}.duet-tab-button{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;padding:20px;margin-top:-2px;overflow:visible;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:600;line-height:1.1;color:rgb(0, 41, 77);text-align:left;text-decoration:none;cursor:pointer;background:rgb(255, 255, 255);border:2px solid rgb(225, 227, 230);border-radius:0;transition:150ms ease}.duet-tab-button.duet-p-0{padding:0 !important}.duet-tab-button.duet-m-0{margin:0 !important}.duet-theme-turva .duet-tab-button{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 28, 58);border-color:rgb(228, 228, 230)}.duet-tab-button.duet-p-0{padding:0 !important}@media (min-width: 36em){.duet-tab-button{display:inline-block;width:auto;margin-left:-2px;border-right:2px solid rgb(225, 227, 230);border-radius:0}}.duet-tab-button:hover{z-index:200;border-color:rgb(144, 149, 153)}.duet-theme-turva .duet-tab-button:hover{border-color:rgb(116, 116, 117)}.duet-tab-button:active{opacity:0.75;transition:none}.duet-tab-button.selected{z-index:201;color:rgb(255, 255, 255);background:rgb(0, 41, 77);border-color:rgb(0, 41, 77);outline:0;box-shadow:none !important}.duet-theme-turva .duet-tab-button.selected{color:rgb(255, 255, 255);background-color:rgb(23, 28, 58);border-color:rgb(23, 28, 58)}.duet-tab-button:focus{z-index:200;outline:0}:host(.user-is-tabbing) .duet-tab-button:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3 !important}:host(.user-is-tabbing) .duet-theme-turva .duet-tab-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a !important}.duet-tab-button:first-child{border-top-left-radius:4px;border-top-right-radius:4px}@media (min-width: 36em){.duet-tab-button:first-child{border-top-right-radius:0;border-bottom-left-radius:4px}}.duet-tab-button:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}@media (min-width: 36em){.duet-tab-button:last-child{border-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px}}.duet-tab-variation-plain .duet-tab-button{display:inline-block;width:auto;padding-right:0;padding-left:0;margin-left:0;border:0;border-radius:0;transition:none}.duet-tab-variation-plain .duet-tab-button+.duet-tab-button{margin-left:36px}.duet-tab-variation-plain .duet-tab-button.selected{color:rgb(0, 119, 179);background:rgb(255, 255, 255);border-bottom:3px solid rgb(0, 119, 179)}.duet-theme-turva.duet-tab-variation-plain .duet-tab-button.selected{color:rgb(198, 12, 48);border-bottom-color:rgb(198, 12, 48)}.duet-tab-variation-checked .duet-tab-button{position:relative;display:inline-block;flex-basis:0;flex-grow:1;width:200px;min-width:200px;padding:8px 4px;border-color:rgb(207, 210, 212);border-bottom-color:rgb(0, 119, 179);border-radius:4px 4px 0 0;transition:none}.duet-theme-turva.duet-tab-variation-checked .duet-tab-button{border-color:rgb(207, 210, 212);border-bottom-color:rgb(68, 68, 69)}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button{min-width:0;padding:16px}}.duet-tab-variation-checked .duet-tab-button.stackable-tab{min-width:0}.duet-tab-variation-checked .duet-tab-button:first-child{margin-left:auto}.duet-tab-variation-checked .duet-tab-button:last-child{margin-right:auto}.duet-tab-variation-checked .duet-tab-button:active{opacity:1;transition:none}.duet-tab-variation-checked .duet-tab-button.selected{color:rgb(0, 119, 179);background:linear-gradient(180deg, rgb(243, 249, 252) 0%, rgb(255, 255, 255) 100%);border-color:rgb(0, 119, 179);border-bottom-color:#fff}.duet-theme-turva.duet-tab-variation-checked .duet-tab-button.selected{color:rgb(23, 28, 58);background:linear-gradient(180deg, rgb(245, 245, 247) 0%, rgb(255, 255, 255) 100%);border-color:rgb(68, 68, 69);border-bottom-color:#fff}.duet-tab-variation-checked .duet-tab-button .checked-tab-content{display:flex;flex-direction:row;justify-content:space-between}.duet-tab-variation-checked .duet-tab-button .checked-tab-content.stackable-checked-tab-content{flex-direction:column;height:100%}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button .checked-tab-content.stackable-checked-tab-content{flex-direction:row}}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description{display:flex;flex-direction:column;overflow:hidden;overflow-wrap:break-word}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description.stackable-description{text-align:center}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description.stackable-description{text-align:left}}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption{margin-top:4px;font-size:0.875rem;font-weight:400;color:rgb(101, 119, 135)}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption{font-size:1rem;text-align:left}}.duet-theme-turva.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption{color:rgb(68, 68, 69)}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption.selected{color:rgb(0, 119, 179)}.duet-theme-turva.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption.selected{color:rgb(68, 68, 69)}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .stackable-checkmark{order:-1;margin-top:8px;margin-bottom:8px}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button .checked-tab-content .stackable-checkmark{order:1}}.duet-tab-group-content{position:relative;width:100%;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:rgb(0, 41, 77);text-align:left}.duet-tab-group-content:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3 !important}.duet-theme-turva .duet-tab-group-content:focus,.duet-tab-group-content:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a !important}.duet-tab-group-content.checked-group-content{padding:28px 0 28px 0}.duet-tab-group-content.checked-group-content::after{position:absolute;top:-2px;left:0;width:100%;height:2px;content:" ";background-color:rgb(0, 119, 179)}.duet-theme-turva .duet-tab-group-content{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-theme-turva .duet-tab-group-content.checked-group-content::after{background-color:rgb(68, 68, 69)}';export{y as duet_scrollable,S as duet_tab,z as duet_tab_group}