@duetds/components 10.4.0 → 10.5.0

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 (426) hide show
  1. package/hydrate/index.js +405 -275
  2. package/hydrate/index.mjs +405 -275
  3. package/lib/cjs/{a11y-utils-BXDHn_nL.js → a11y-utils-DaAO4N9d.js} +1 -1
  4. package/lib/cjs/{app-globals-Bs3-XKhd.js → app-globals-CHNvdfQj.js} +1 -1
  5. package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
  6. package/lib/cjs/duet-alert.cjs.entry.js +4 -4
  7. package/lib/cjs/duet-badge.cjs.entry.js +29 -6
  8. package/lib/cjs/duet-banner.cjs.entry.js +3 -3
  9. package/lib/cjs/duet-breadcrumb.cjs.entry.js +6 -6
  10. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +5 -5
  11. package/lib/cjs/duet-button_2.cjs.entry.js +5 -5
  12. package/lib/cjs/duet-callout.cjs.entry.js +5 -5
  13. package/lib/cjs/duet-caption_4.cjs.entry.js +11 -11
  14. package/lib/cjs/duet-card.cjs.entry.js +3 -3
  15. package/lib/cjs/duet-checkbox.cjs.entry.js +3 -3
  16. package/lib/cjs/duet-checkmark.cjs.entry.js +4 -4
  17. package/lib/cjs/duet-chip.cjs.entry.js +5 -8
  18. package/lib/cjs/duet-choice_2.cjs.entry.js +19 -21
  19. package/lib/cjs/duet-collapsible.cjs.entry.js +3 -3
  20. package/lib/cjs/duet-combobox.cjs.entry.js +4 -5
  21. package/lib/cjs/duet-contact-card.cjs.entry.js +5 -5
  22. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  23. package/lib/cjs/duet-date-picker.cjs.entry.js +10 -9
  24. package/lib/cjs/duet-divider_2.cjs.entry.js +4 -4
  25. package/lib/cjs/duet-editable-table_3.cjs.entry.js +10 -10
  26. package/lib/cjs/duet-empty-state.cjs.entry.js +4 -4
  27. package/lib/cjs/duet-fieldset.cjs.entry.js +6 -6
  28. package/lib/cjs/duet-file-chooser.cjs.entry.js +3 -3
  29. package/lib/cjs/duet-footer.cjs.entry.js +8 -8
  30. package/lib/cjs/duet-grid_2.cjs.entry.js +7 -7
  31. package/lib/cjs/duet-header_2.cjs.entry.js +4 -4
  32. package/lib/cjs/duet-hero.cjs.entry.js +9 -9
  33. package/lib/cjs/duet-icon.cjs.entry.js +5 -5
  34. package/lib/cjs/duet-indicator.cjs.entry.js +5 -5
  35. package/lib/cjs/duet-input_2.cjs.entry.js +75 -18
  36. package/lib/cjs/duet-layout.cjs.entry.js +7 -7
  37. package/lib/cjs/duet-list_2.cjs.entry.js +5 -5
  38. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +4 -4
  39. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +4 -4
  40. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +6 -6
  41. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +7 -7
  42. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +4 -4
  43. package/lib/cjs/duet-menu-bar.cjs.entry.js +6 -6
  44. package/lib/cjs/duet-modal.cjs.entry.js +12 -12
  45. package/lib/cjs/duet-multiselect.cjs.entry.js +10 -10
  46. package/lib/cjs/duet-nav.cjs.entry.js +3 -3
  47. package/lib/cjs/duet-notification_2.cjs.entry.js +9 -9
  48. package/lib/cjs/duet-number-input.cjs.entry.js +13 -11
  49. package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
  50. package/lib/cjs/duet-page-heading.cjs.entry.js +20 -5
  51. package/lib/cjs/duet-pagination_2.cjs.entry.js +17 -18
  52. package/lib/cjs/duet-panel.cjs.entry.js +4 -4
  53. package/lib/cjs/duet-phone-input.cjs.entry.js +17 -5
  54. package/lib/cjs/duet-popup-menu_2.cjs.entry.js +8 -8
  55. package/lib/cjs/duet-progress.cjs.entry.js +3 -3
  56. package/lib/cjs/duet-promo-card.cjs.entry.js +5 -5
  57. package/lib/cjs/duet-radio_2.cjs.entry.js +7 -10
  58. package/lib/cjs/duet-range-slider.cjs.entry.js +6 -6
  59. package/lib/cjs/duet-scrollable_3.cjs.entry.js +15 -15
  60. package/lib/cjs/duet-section-layout.cjs.entry.js +4 -4
  61. package/lib/cjs/duet-select.cjs.entry.js +9 -9
  62. package/lib/cjs/duet-shaped-image.cjs.entry.js +4 -4
  63. package/lib/cjs/duet-share-chart-item.cjs.entry.js +2 -2
  64. package/lib/cjs/duet-share-chart.cjs.entry.js +6 -6
  65. package/lib/cjs/duet-show-more.cjs.entry.js +5 -5
  66. package/lib/cjs/duet-slideout-lang.cjs.entry.js +4 -4
  67. package/lib/cjs/duet-slideout-link.cjs.entry.js +7 -7
  68. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +6 -6
  69. package/lib/cjs/duet-slideout-panel.cjs.entry.js +11 -11
  70. package/lib/cjs/duet-slideout.cjs.entry.js +10 -10
  71. package/lib/cjs/duet-status-icon.cjs.entry.js +3 -3
  72. package/lib/cjs/duet-step_2.cjs.entry.js +6 -6
  73. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +4 -4
  74. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +6 -6
  75. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +6 -6
  76. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +3 -3
  77. package/lib/cjs/duet-submenu-bar.cjs.entry.js +7 -7
  78. package/lib/cjs/duet-textarea.cjs.entry.js +8 -8
  79. package/lib/cjs/duet-toggle.cjs.entry.js +8 -8
  80. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +4 -4
  81. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +6 -6
  82. package/lib/cjs/duet-toolbar-item.cjs.entry.js +8 -8
  83. package/lib/cjs/duet-toolbar-link.cjs.entry.js +4 -4
  84. package/lib/cjs/duet-toolbar.cjs.entry.js +4 -4
  85. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +13 -11
  86. package/lib/cjs/duet-tooltip.cjs.entry.js +24 -7
  87. package/lib/cjs/duet-tray.cjs.entry.js +5 -5
  88. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
  89. package/lib/cjs/duet-upload-item.cjs.entry.js +6 -6
  90. package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
  91. package/lib/cjs/duet.cjs.js +3 -3
  92. package/lib/cjs/{errorcodes.utils-W6UQ3hgy.js → errorcodes.utils-Dkf_MfrJ.js} +1 -1
  93. package/lib/cjs/{focus-utils-KTKpjKRi.js → focus-utils-BuGg0Oha.js} +1 -1
  94. package/lib/cjs/{index-C7Yvi8y8.js → index-ZxE6MB5V.js} +1 -1
  95. package/lib/cjs/{label-DZ63Z3SI.js → label-CpPOBfjS.js} +1 -1
  96. package/lib/cjs/{language-utils-BsevPDrN.js → language-utils-C7Z0KYg-.js} +1 -1
  97. package/lib/cjs/loader.cjs.js +3 -3
  98. package/lib/cjs/{slot-utils-DIDW777s.js → slot-utils-BXdHT3A1.js} +1 -1
  99. package/lib/cjs/{themeable-component-hQ83w5_A.js → themeable-component-CIDaln0Z.js} +1 -1
  100. package/lib/collection/components/duet-badge/duet-badge.css +66 -5
  101. package/lib/collection/components/duet-badge/duet-badge.js +49 -2
  102. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
  103. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
  104. package/lib/collection/components/duet-button/duet-button.css +5 -0
  105. package/lib/collection/components/duet-callout/duet-callout.js +2 -2
  106. package/lib/collection/components/duet-chip/duet-chip.js +2 -5
  107. package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
  108. package/lib/collection/components/duet-choice/duet-choice.js +9 -9
  109. package/lib/collection/components/duet-choice-group/duet-choice-group.js +6 -8
  110. package/lib/collection/components/duet-combobox/duet-combobox.js +0 -1
  111. package/lib/collection/components/duet-contact-card/duet-contact-card.js +2 -2
  112. package/lib/collection/components/duet-date-picker/duet-date-picker.js +5 -2
  113. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  114. package/lib/collection/components/duet-editable-table/duet-editable-table.js +2 -2
  115. package/lib/collection/components/duet-empty-state/duet-empty-state.js +2 -2
  116. package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
  117. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +1 -1
  118. package/lib/collection/components/duet-footer/duet-footer.js +4 -4
  119. package/lib/collection/components/duet-grid/duet-grid.js +2 -2
  120. package/lib/collection/components/duet-grid-item/duet-grid-item.css +5 -0
  121. package/lib/collection/components/duet-grid-item/duet-grid-item.js +2 -2
  122. package/lib/collection/components/duet-heading/duet-heading.js +2 -2
  123. package/lib/collection/components/duet-hero/duet-hero.js +5 -5
  124. package/lib/collection/components/duet-icon/duet-icon.js +3 -3
  125. package/lib/collection/components/duet-indicator/duet-indicator.js +2 -2
  126. package/lib/collection/components/duet-input/duet-input.css +38 -3
  127. package/lib/collection/components/duet-input/duet-input.js +148 -15
  128. package/lib/collection/components/duet-layout/duet-layout.js +5 -5
  129. package/lib/collection/components/duet-link/duet-link.js +2 -2
  130. package/lib/collection/components/duet-list/duet-list.js +1 -1
  131. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
  132. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  133. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +3 -3
  134. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
  135. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
  136. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
  137. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +2 -2
  138. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
  139. package/lib/collection/components/duet-modal/duet-modal.js +7 -7
  140. package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
  141. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  142. package/lib/collection/components/duet-notification/duet-notification.js +2 -2
  143. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +3 -3
  144. package/lib/collection/components/duet-number-input/duet-number-input.js +10 -9
  145. package/lib/collection/components/duet-overlay/duet-overlay.js +1 -1
  146. package/lib/collection/components/duet-page-heading/duet-page-heading.css +20 -1
  147. package/lib/collection/components/duet-page-heading/duet-page-heading.js +58 -2
  148. package/lib/collection/components/duet-pagination/duet-pagination.js +12 -13
  149. package/lib/collection/components/duet-panel/duet-panel.js +2 -2
  150. package/lib/collection/components/duet-paragraph/duet-paragraph.js +2 -2
  151. package/lib/collection/components/duet-phone-input/duet-phone-input.js +13 -1
  152. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  153. package/lib/collection/components/duet-promo-card/duet-promo-card.js +2 -2
  154. package/lib/collection/components/duet-radio/duet-radio.js +3 -6
  155. package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
  156. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  157. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -2
  158. package/lib/collection/components/duet-scrollable/duet-scrollable.js +5 -5
  159. package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -3
  160. package/lib/collection/components/duet-select/duet-select.js +5 -5
  161. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
  162. package/lib/collection/components/duet-share-chart/duet-share-chart.js +2 -2
  163. package/lib/collection/components/duet-share-chart-item/duet-share-chart-item.js +1 -1
  164. package/lib/collection/components/duet-show-more/duet-show-more.js +2 -2
  165. package/lib/collection/components/duet-slideout/duet-slideout.js +4 -4
  166. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
  167. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -2
  168. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
  169. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
  170. package/lib/collection/components/duet-spacer/duet-spacer.js +1 -1
  171. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  172. package/lib/collection/components/duet-status-icon/duet-status-icon.js +2 -2
  173. package/lib/collection/components/duet-step/duet-step.js +2 -2
  174. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  175. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +5 -5
  176. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
  177. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
  178. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +1 -1
  179. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
  180. package/lib/collection/components/duet-tab/duet-tab.js +2 -2
  181. package/lib/collection/components/duet-tab-group/duet-tab-group.js +4 -4
  182. package/lib/collection/components/duet-table/duet-table.js +2 -2
  183. package/lib/collection/components/duet-textarea/duet-textarea.js +3 -3
  184. package/lib/collection/components/duet-toggle/duet-toggle.js +3 -3
  185. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
  186. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
  187. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
  188. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +3 -3
  189. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
  190. package/lib/collection/components/duet-tooltip/duet-tooltip-button.css +18 -4
  191. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +25 -3
  192. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.css +1 -1
  193. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +3 -3
  194. package/lib/collection/components/duet-tooltip/duet-tooltip.js +47 -4
  195. package/lib/collection/components/duet-tray/duet-tray.js +2 -2
  196. package/lib/collection/components/duet-upload/duet-upload.js +2 -2
  197. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
  198. package/lib/collection/components/duet-upload-item/duet-upload-item.js +2 -2
  199. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  200. package/lib/collection/utils/math.utils.js +1 -0
  201. package/lib/duet/duet.esm.js +1 -1
  202. package/lib/duet/{p-14d4a45a.entry.js → p-02d8e844.entry.js} +1 -1
  203. package/lib/duet/p-06297bd8.entry.js +4 -0
  204. package/lib/duet/p-0c04f9f5.entry.js +4 -0
  205. package/lib/duet/p-110c7572.entry.js +4 -0
  206. package/lib/duet/{p-eab349f2.entry.js → p-18a8ea12.entry.js} +1 -1
  207. package/lib/duet/{p-1ee400e7.entry.js → p-19863cdf.entry.js} +1 -1
  208. package/lib/duet/p-1bca9931.entry.js +4 -0
  209. package/lib/duet/{p-a690a165.entry.js → p-1da7703d.entry.js} +1 -1
  210. package/lib/duet/{p-84420fbf.entry.js → p-20a8ef81.entry.js} +1 -1
  211. package/lib/duet/{p-526fa31c.entry.js → p-268b3066.entry.js} +1 -1
  212. package/lib/duet/{p-61b6962a.entry.js → p-2dd7d75e.entry.js} +1 -1
  213. package/lib/duet/{p-1666aeaf.entry.js → p-2f8a47e2.entry.js} +1 -1
  214. package/lib/duet/{p-c1d4542d.entry.js → p-30108edc.entry.js} +1 -1
  215. package/lib/duet/{p-b3ec9b98.entry.js → p-317a1fc0.entry.js} +1 -1
  216. package/lib/duet/{p-2e413951.entry.js → p-317e81f3.entry.js} +1 -1
  217. package/lib/duet/{p-81332db1.entry.js → p-3277233e.entry.js} +1 -1
  218. package/lib/duet/{p-6988c81c.entry.js → p-3690576a.entry.js} +1 -1
  219. package/lib/duet/{p-adecab91.entry.js → p-38973524.entry.js} +1 -1
  220. package/lib/duet/{p-2d43de54.entry.js → p-3b2fba0f.entry.js} +1 -1
  221. package/lib/duet/{p-01f3e30c.entry.js → p-3f35fce3.entry.js} +1 -1
  222. package/lib/duet/p-3f3c6e64.entry.js +4 -0
  223. package/lib/duet/{p-494755d0.entry.js → p-3f7afd87.entry.js} +1 -1
  224. package/lib/duet/p-407f7f03.entry.js +4 -0
  225. package/lib/duet/{p-d181c624.entry.js → p-40fa7371.entry.js} +1 -1
  226. package/lib/duet/p-42ec7305.entry.js +4 -0
  227. package/lib/duet/p-43e076b5.entry.js +4 -0
  228. package/lib/duet/p-443af533.entry.js +4 -0
  229. package/lib/duet/{p-a4a1b8e3.entry.js → p-461d4089.entry.js} +1 -1
  230. package/lib/duet/{p-7e640c8e.entry.js → p-4af6a8ed.entry.js} +1 -1
  231. package/lib/duet/{p-4d39941c.entry.js → p-4b7f1244.entry.js} +1 -1
  232. package/lib/duet/{p-a63327c3.entry.js → p-516397ba.entry.js} +1 -1
  233. package/lib/duet/{p-cd4f52a9.entry.js → p-5284c707.entry.js} +1 -1
  234. package/lib/duet/{p-d2c91ed0.entry.js → p-52beb436.entry.js} +1 -1
  235. package/lib/duet/p-5c9f443c.entry.js +4 -0
  236. package/lib/duet/{p-dc87f3f4.entry.js → p-5f5f72d4.entry.js} +1 -1
  237. package/lib/duet/{p--fmK3qPb.js → p-5lFzA17H.js} +1 -1
  238. package/lib/duet/{p-376f9d06.entry.js → p-61ec0e1c.entry.js} +1 -1
  239. package/lib/duet/{p-eebf150c.entry.js → p-6b469225.entry.js} +1 -1
  240. package/lib/duet/p-6ef683d5.entry.js +4 -0
  241. package/lib/duet/{p-d2c04a7e.entry.js → p-70612314.entry.js} +1 -1
  242. package/lib/duet/{p-5ffc4081.entry.js → p-70961edb.entry.js} +1 -1
  243. package/lib/duet/p-7294c37d.entry.js +4 -0
  244. package/lib/duet/p-72b504ef.entry.js +4 -0
  245. package/lib/duet/{p-5dde8fbb.entry.js → p-734249e0.entry.js} +1 -1
  246. package/lib/duet/{p-bcced6eb.entry.js → p-7353ee4c.entry.js} +1 -1
  247. package/lib/duet/p-74aac967.entry.js +4 -0
  248. package/lib/duet/{p-870dc953.entry.js → p-7c08fd87.entry.js} +1 -1
  249. package/lib/duet/{p-e8bd6dab.entry.js → p-7eea47d5.entry.js} +1 -1
  250. package/lib/duet/{p-3bd45b5b.entry.js → p-7fd39204.entry.js} +1 -1
  251. package/lib/duet/{p-816caa58.entry.js → p-8012c7bc.entry.js} +1 -1
  252. package/lib/duet/{p-46300680.entry.js → p-829db926.entry.js} +1 -1
  253. package/lib/duet/p-83238bf3.entry.js +4 -0
  254. package/lib/duet/{p-b64b3e2f.entry.js → p-833802f9.entry.js} +1 -1
  255. package/lib/duet/p-86ffd3cb.entry.js +4 -0
  256. package/lib/duet/{p-0eb0e582.entry.js → p-871620d3.entry.js} +1 -1
  257. package/lib/duet/{p-afd7d87a.entry.js → p-8ace1eb4.entry.js} +1 -1
  258. package/lib/duet/{p-3648404d.entry.js → p-8b0dfbd7.entry.js} +1 -1
  259. package/lib/duet/{p-1dcbbd67.entry.js → p-93ff8fe4.entry.js} +1 -1
  260. package/lib/duet/{p-428db44b.entry.js → p-9ae7aaef.entry.js} +1 -1
  261. package/lib/duet/{p-73ed0008.entry.js → p-9c9811ba.entry.js} +1 -1
  262. package/lib/duet/{p-1bdef0e0.entry.js → p-9e1a59d1.entry.js} +1 -1
  263. package/lib/duet/{p-Cwhi6_oZ.js → p-B2cboDWM.js} +1 -1
  264. package/lib/duet/{p-Chf7ZRmW.js → p-B8-N_qjs.js} +1 -1
  265. package/lib/duet/{p-D2EBd3cT.js → p-BzYmwX5_.js} +1 -1
  266. package/lib/duet/{p-2HU78SJ-.js → p-C5Yfx2kd.js} +1 -1
  267. package/lib/duet/{p-DWIjWGAD.js → p-CFqvB5PA.js} +1 -1
  268. package/lib/duet/{p-CtBx3Trd.js → p-Cg4m_WHe.js} +1 -1
  269. package/lib/duet/{p-BW3SZS4F.js → p-R3pTP2Oy.js} +1 -1
  270. package/lib/duet/{p-9d8027aa.entry.js → p-a068c086.entry.js} +1 -1
  271. package/lib/duet/p-a483117e.entry.js +4 -0
  272. package/lib/duet/{p-0395eb34.entry.js → p-a5177d32.entry.js} +1 -1
  273. package/lib/duet/{p-fbce84d5.entry.js → p-a8876b3d.entry.js} +1 -1
  274. package/lib/duet/{p-3361387d.entry.js → p-a9104184.entry.js} +1 -1
  275. package/lib/duet/{p-184d53a7.entry.js → p-b1326cbb.entry.js} +1 -1
  276. package/lib/duet/{p-fea479fd.entry.js → p-b747f6e9.entry.js} +1 -1
  277. package/lib/duet/{p-7a5066b8.entry.js → p-bdbf0fae.entry.js} +1 -1
  278. package/lib/duet/{p-3c26d300.entry.js → p-c1afac0d.entry.js} +1 -1
  279. package/lib/duet/p-c2026c6b.entry.js +4 -0
  280. package/lib/duet/{p-1ed82a27.entry.js → p-c216e746.entry.js} +1 -1
  281. package/lib/duet/{p-0453edd0.entry.js → p-c54be349.entry.js} +1 -1
  282. package/lib/duet/{p-13b7f4e0.entry.js → p-cb6c4158.entry.js} +1 -1
  283. package/lib/duet/{p-4c5a8ed3.entry.js → p-cbcee3e2.entry.js} +1 -1
  284. package/lib/duet/{p-12e4e9b6.entry.js → p-d3b5c997.entry.js} +1 -1
  285. package/lib/duet/{p-7a668cee.entry.js → p-d3baa815.entry.js} +1 -1
  286. package/lib/duet/{p-1705b6cf.entry.js → p-d5f90dbc.entry.js} +1 -1
  287. package/lib/duet/{p-07c4b435.entry.js → p-d6f0afa5.entry.js} +1 -1
  288. package/lib/duet/{p-dfd55180.entry.js → p-d779fe42.entry.js} +1 -1
  289. package/lib/duet/{p-f210e405.entry.js → p-dedf6a32.entry.js} +1 -1
  290. package/lib/duet/{p-d0a54e6d.entry.js → p-e08dce92.entry.js} +1 -1
  291. package/lib/duet/{p-c71f6942.entry.js → p-e7f2359a.entry.js} +1 -1
  292. package/lib/duet/p-efa4eecc.entry.js +4 -0
  293. package/lib/duet/p-f040706c.entry.js +4 -0
  294. package/lib/duet/{p-7eaa1fb5.entry.js → p-fa13ffe9.entry.js} +1 -1
  295. package/lib/duet/{p-87bb797c.entry.js → p-fe829b53.entry.js} +1 -1
  296. package/lib/duet/p-s8EL6NG5.js +4 -0
  297. package/lib/esm/{a11y-utils-sgAajRY0.js → a11y-utils-ChN5Nhxh.js} +1 -1
  298. package/lib/esm/{app-globals-NNQmI_gc.js → app-globals-4kCk2rkO.js} +1 -1
  299. package/lib/esm/duet-action-button.entry.js +3 -3
  300. package/lib/esm/duet-alert.entry.js +4 -4
  301. package/lib/esm/duet-badge.entry.js +29 -6
  302. package/lib/esm/duet-banner.entry.js +3 -3
  303. package/lib/esm/duet-breadcrumb.entry.js +6 -6
  304. package/lib/esm/duet-breadcrumbs.entry.js +5 -5
  305. package/lib/esm/duet-button_2.entry.js +5 -5
  306. package/lib/esm/duet-callout.entry.js +5 -5
  307. package/lib/esm/duet-caption_4.entry.js +11 -11
  308. package/lib/esm/duet-card.entry.js +3 -3
  309. package/lib/esm/duet-checkbox.entry.js +3 -3
  310. package/lib/esm/duet-checkmark.entry.js +4 -4
  311. package/lib/esm/duet-chip.entry.js +5 -8
  312. package/lib/esm/duet-choice_2.entry.js +19 -21
  313. package/lib/esm/duet-collapsible.entry.js +3 -3
  314. package/lib/esm/duet-combobox.entry.js +4 -5
  315. package/lib/esm/duet-contact-card.entry.js +5 -5
  316. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  317. package/lib/esm/duet-date-picker.entry.js +10 -9
  318. package/lib/esm/duet-divider_2.entry.js +4 -4
  319. package/lib/esm/duet-editable-table_3.entry.js +10 -10
  320. package/lib/esm/duet-empty-state.entry.js +4 -4
  321. package/lib/esm/duet-fieldset.entry.js +6 -6
  322. package/lib/esm/duet-file-chooser.entry.js +3 -3
  323. package/lib/esm/duet-footer.entry.js +8 -8
  324. package/lib/esm/duet-grid_2.entry.js +7 -7
  325. package/lib/esm/duet-header_2.entry.js +4 -4
  326. package/lib/esm/duet-hero.entry.js +9 -9
  327. package/lib/esm/duet-icon.entry.js +5 -5
  328. package/lib/esm/duet-indicator.entry.js +5 -5
  329. package/lib/esm/duet-input_2.entry.js +75 -18
  330. package/lib/esm/duet-layout.entry.js +7 -7
  331. package/lib/esm/duet-list_2.entry.js +5 -5
  332. package/lib/esm/duet-menu-bar-button.entry.js +4 -4
  333. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +4 -4
  334. package/lib/esm/duet-menu-bar-dropdown.entry.js +6 -6
  335. package/lib/esm/duet-menu-bar-item.entry.js +7 -7
  336. package/lib/esm/duet-menu-bar-link.entry.js +4 -4
  337. package/lib/esm/duet-menu-bar.entry.js +6 -6
  338. package/lib/esm/duet-modal.entry.js +12 -12
  339. package/lib/esm/duet-multiselect.entry.js +10 -10
  340. package/lib/esm/duet-nav.entry.js +3 -3
  341. package/lib/esm/duet-notification_2.entry.js +9 -9
  342. package/lib/esm/duet-number-input.entry.js +13 -11
  343. package/lib/esm/duet-overlay.entry.js +3 -3
  344. package/lib/esm/duet-page-heading.entry.js +20 -5
  345. package/lib/esm/duet-pagination_2.entry.js +17 -18
  346. package/lib/esm/duet-panel.entry.js +4 -4
  347. package/lib/esm/duet-phone-input.entry.js +17 -5
  348. package/lib/esm/duet-popup-menu_2.entry.js +8 -8
  349. package/lib/esm/duet-progress.entry.js +3 -3
  350. package/lib/esm/duet-promo-card.entry.js +5 -5
  351. package/lib/esm/duet-radio_2.entry.js +7 -10
  352. package/lib/esm/duet-range-slider.entry.js +6 -6
  353. package/lib/esm/duet-scrollable_3.entry.js +15 -15
  354. package/lib/esm/duet-section-layout.entry.js +4 -4
  355. package/lib/esm/duet-select.entry.js +9 -9
  356. package/lib/esm/duet-shaped-image.entry.js +4 -4
  357. package/lib/esm/duet-share-chart-item.entry.js +2 -2
  358. package/lib/esm/duet-share-chart.entry.js +6 -6
  359. package/lib/esm/duet-show-more.entry.js +5 -5
  360. package/lib/esm/duet-slideout-lang.entry.js +4 -4
  361. package/lib/esm/duet-slideout-link.entry.js +7 -7
  362. package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -6
  363. package/lib/esm/duet-slideout-panel.entry.js +11 -11
  364. package/lib/esm/duet-slideout.entry.js +10 -10
  365. package/lib/esm/duet-status-icon.entry.js +3 -3
  366. package/lib/esm/duet-step_2.entry.js +6 -6
  367. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +4 -4
  368. package/lib/esm/duet-submenu-bar-dropdown.entry.js +6 -6
  369. package/lib/esm/duet-submenu-bar-item.entry.js +6 -6
  370. package/lib/esm/duet-submenu-bar-link.entry.js +3 -3
  371. package/lib/esm/duet-submenu-bar.entry.js +7 -7
  372. package/lib/esm/duet-textarea.entry.js +8 -8
  373. package/lib/esm/duet-toggle.entry.js +8 -8
  374. package/lib/esm/duet-toolbar-dropdown-link.entry.js +4 -4
  375. package/lib/esm/duet-toolbar-dropdown.entry.js +6 -6
  376. package/lib/esm/duet-toolbar-item.entry.js +8 -8
  377. package/lib/esm/duet-toolbar-link.entry.js +4 -4
  378. package/lib/esm/duet-toolbar.entry.js +4 -4
  379. package/lib/esm/duet-tooltip-button_2.entry.js +13 -11
  380. package/lib/esm/duet-tooltip.entry.js +25 -8
  381. package/lib/esm/duet-tray.entry.js +5 -5
  382. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  383. package/lib/esm/duet-upload-item.entry.js +6 -6
  384. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  385. package/lib/esm/duet.js +4 -4
  386. package/lib/esm/{errorcodes.utils-CqW0-HM8.js → errorcodes.utils-DuFCu_27.js} +1 -1
  387. package/lib/esm/{focus-utils-Dokkd7xz.js → focus-utils-CFswdkeD.js} +1 -1
  388. package/lib/esm/{index-Cwhi6_oZ.js → index-B2cboDWM.js} +1 -1
  389. package/lib/esm/{label-CyQlly6Z.js → label-CJxIWUOT.js} +1 -1
  390. package/lib/esm/{language-utils-LZh-sc2s.js → language-utils-C4M4ASkT.js} +1 -1
  391. package/lib/esm/loader.js +4 -4
  392. package/lib/esm/{slot-utils-CEZnAp61.js → slot-utils--sNK1DNn.js} +1 -1
  393. package/lib/esm/{themeable-component-D_FVcjsD.js → themeable-component-BBi3552X.js} +1 -1
  394. package/lib/types/components/duet-badge/duet-badge.d.ts +14 -0
  395. package/lib/types/components/duet-chip/duet-chip.d.ts +1 -1
  396. package/lib/types/components/duet-input/duet-input.d.ts +31 -3
  397. package/lib/types/components/duet-number-input/duet-number-input.d.ts +2 -1
  398. package/lib/types/components/duet-page-heading/duet-page-heading.d.ts +10 -0
  399. package/lib/types/components/duet-phone-input/duet-phone-input.d.ts +2 -0
  400. package/lib/types/components/duet-radio/duet-radio.d.ts +0 -1
  401. package/lib/types/components/duet-tooltip/duet-tooltip-button.d.ts +1 -0
  402. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +6 -0
  403. package/lib/types/components.d.ts +79 -8
  404. package/lib/types/utils/math.utils.d.ts +1 -0
  405. package/package.json +5 -5
  406. package/lib/duet/p-07aa40df.entry.js +0 -4
  407. package/lib/duet/p-104ddbf2.entry.js +0 -4
  408. package/lib/duet/p-2168e431.entry.js +0 -4
  409. package/lib/duet/p-4420973e.entry.js +0 -4
  410. package/lib/duet/p-455e8ebe.entry.js +0 -4
  411. package/lib/duet/p-4f7b0699.entry.js +0 -4
  412. package/lib/duet/p-58496fb1.entry.js +0 -4
  413. package/lib/duet/p-58a70b3d.entry.js +0 -4
  414. package/lib/duet/p-592a6542.entry.js +0 -4
  415. package/lib/duet/p-5c8c691b.entry.js +0 -4
  416. package/lib/duet/p-7a2ca711.entry.js +0 -4
  417. package/lib/duet/p-DCDM41Ef.js +0 -4
  418. package/lib/duet/p-a4db8c29.entry.js +0 -4
  419. package/lib/duet/p-a7bb038a.entry.js +0 -4
  420. package/lib/duet/p-af9c8169.entry.js +0 -4
  421. package/lib/duet/p-c7851c15.entry.js +0 -4
  422. package/lib/duet/p-cbd1069e.entry.js +0 -4
  423. package/lib/duet/p-d3dac8af.entry.js +0 -4
  424. package/lib/duet/p-e9ed96cf.entry.js +0 -4
  425. package/lib/duet/p-f600e215.entry.js +0 -4
  426. package/lib/duet/p-f652a9c7.entry.js +0 -4
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{r as t,c as e,h as i,H as s,g as o}from"./p-Cwhi6_oZ.js";import{i as a}from"./p-D2EBd3cT.js";import{e as d,d as n}from"./p-C6CAT054.js";import{s as l}from"./p-Chf7ZRmW.js";import{f as r,F as h}from"./p-BW3SZS4F.js";import{a as u}from"./p-Db8rvjPI.js";import{a as c,c as p,d as b,g as m}from"./p-DWIjWGAD.js";import{h as g}from"./p--fmK3qPb.js";import{T as f}from"./p-CxwkvTlZ.js";import{g as y}from"./p-D2ly4TZR.js";import"./p-C6E9F6QT.js";import"./p-DEzE2U5T.js";const v=class{constructor(i){t(this,i),this.duetSlideoutEvent=e(this,"duetSlideoutEvent",7),this.exitLangObject={en:"Exit the menu",fi:"Poistu valikosta",sv:"Avsluta menyn"},this.topLevelOpenMenuBarLangObject={en:"Exit this menu to find top level items",fi:"Poistu tästä valikosta löytääksesi ylätason kohteet",sv:"Stäng den här menyn för att hitta objekt på toppnivå"},this.isSafariBrowser=/^((?!chrome|android).)*safari/i.test(null===navigator||void 0===navigator?void 0:navigator.userAgent),this.hasStickyHeaderSlot=!1,this.disconnectController=new AbortController,this.eventListenerController=new AbortController,this.language=c(),this.displaying=!1,this.openPanel=!1,this.theme="",this.accessibleRole="menubar",this.open=!1,this.backgroundColor="gray-lightest",this.modal=!0,this.setOpenButton=t=>{let e,i;if(t||null===t)e=t,i=!1;else{if(e="string"==typeof this.controller?document.getElementById(this.controller):this.controller,e&&this.openButton===e)return;i=!0}if(this.eventListenerController&&this.eventListenerController.abort(),e)try{const t=e;l(t,!1),this.openButton=t,i&&!this.disconnectController.signal.aborted&&(this.eventListenerController=new AbortController,this.openButton.addEventListener("click",this.openButtonEventListener,{signal:this.eventListenerController.signal}))}catch(t){console.error(t)}else this.openButton=void 0},this.setStickHeaderStyleMutations=(t=!1)=>{this.element.querySelectorAll('[slot="sticky-header"] duet-tab-group').forEach((e=>{e.style.position=t?null:"relative",e.style.top=t?null:"1px",e.switchLargeBreakpoint="always"}))},this.openButtonEventListener=t=>{this.onClick(t)},this.getOpenPanel=()=>this.element.querySelector("duet-slideout-panel[open]"),this.toggleMenu=t=>{this.open=!this.open,this.duetSlideoutEvent.emit({originalEvent:t,data:{element:this.element,open:this.open},component:"duet-slideout"})},this.onClick=t=>{this.toggleMenu(t)}}get controller(){return this.opener}set controller(t){this.opener=t}componentWillLoad(){a(this),this.hasStickyHeaderSlot=g(this.element,"sticky-header")}connectedCallback(){p(this),this.disconnectController&&this.disconnectController.signal.aborted&&(this.disconnectController=new AbortController),this.teleport||(this.teleport=new f(this.element)),this.teleport.isActive?(this.teleport.observeDeletion(),this.setStickHeaderStyleMutations(),this.mutationObserver||(this.mutationObserver=new MutationObserver((()=>{this.openPanel=!!this.getOpenPanel()}))),this.mutationObserver&&this.mutationObserver.observe(this.element,{childList:!0,attributeFilter:["open"],subtree:!0}),requestAnimationFrame((()=>{this.opener&&"string"!=typeof this.opener?this.setOpenButton(this.opener):this.setOpenButton()}))):this.teleport.activate()}disconnectedCallback(){b(this),this.dialog&&this.modal&&d(this.dialog),this.mutationObserver&&this.mutationObserver.disconnect(),this.disconnectController&&this.disconnectController.abort(),this.setOpenButton(null),this.setStickHeaderStyleMutations(!0)}handleOpenChange(t,e){if(!!t!=!!e)if(this.open&&!e){this.openButton&&l(this.openButton,!0);const t=this.getOpenPanel();this.teleport.makeSiblingsInert(),this.modal&&n(this.dialog,{reserveScrollBarGap:!0}),t?t.setFocus():setTimeout((()=>{this.closeButton.focus()}),200)}else!this.open&&e&&(this.openButton&&l(this.openButton,!1),setTimeout((()=>{r(this.openButton),this.modal&&d(this.dialog),this.teleport.removeInertFromSiblings()}),200))}handleOpenerChange(t,e){t!==e&&("string"==typeof t?this.setOpenButton():this.setOpenButton(t))}handleKeyUp(t){u(t)&&this.open&&this.toggleMenu(t)}handleDocumentClick(t){if(!this.open)return;const e=t.composedPath();e.includes(this.dialog)||e.includes(this.openButton)||this.toggleMenu(t)}async setFocus(t){var e;null===(e=this.openButton)||void 0===e||e.focus(t)}async toggle(){const t=new CustomEvent("toggle");this.toggleMenu(t),setTimeout((()=>{this.closeButton.focus()}),200)}async show(){this.open||(this.setOpenButton(document.activeElement),this.toggleMenu(new CustomEvent("toggle")))}async hide(){this.open&&this.toggleMenu(new CustomEvent("toggle"))}render(){const t={background:y(this.backgroundColor,this.theme)},e=m(this.topLevelOpenMenuBarLangObject),o=m(this.exitLangObject);return i(s,{key:"688c802695368111aeb4c7ce77fe79bf01386c65"},i("div",{key:"43fbd950e8cc9b7202640ec050473ad333053b21",class:{"duet-slideout":!0,"duet-theme-turva":"turva"===this.theme}},this.modal&&i("duet-overlay",{key:"91156175999730330e4acc54a771525321c5b181",visible:this.open,zIndex:"600"}),i("div",{key:"f319a1ebdf8063f906a73d7c9cf5f374ac5a0006",ref:t=>this.dialog=t,tabindex:"-1",role:"dialog",id:"dialog","aria-labelledby":"button","aria-modal":!this.isSafariBrowser,"aria-flowto":"slot-container",class:{dialog:!0,hidden:!this.open,modal:this.modal},style:t},i(h,{key:"4948808956e87089ea34a36fdb38d18dda0e344f",moveFocusTo:this.closeButton}),i("div",{key:"b92d3796bbfb8710a1caff98a651ae25a0200f70",class:{"top-container":!0,"has-sticky-header-slot":this.hasStickyHeaderSlot}},i("div",{key:"37d6a16746c2dcfddf692c6fea31eccac6dce80b",class:"top"},i("button",{key:"813ace204147dc026a6984dec194b30c6b65383b",ref:t=>this.closeButton=t,"aria-haspopup":"dialog","aria-controls":"dialog","aria-expanded":this.open?"true":"false","aria-label":`${o}`,type:"button",class:{"slideout-close":!0,active:this.open,"duet-theme-turva":"turva"===this.theme},onClick:this.onClick,inert:this.openPanel},i("duet-icon",{key:"93577566dd1ab3865aa1e822504020ac2ccea7b8",name:"navigation-close",size:"small",margin:"none",color:"secondary"}))),i("div",{key:"05fd3bd597b67cdb15940ab2ab7192d88039076d",class:"sticky-header"},i("slot",{key:"18aa41a6860b850a23413df91c17ab157812b074",name:"sticky-header"}))),i("div",{key:"c556058c1476e48980795e75714d9322d0a83397",id:"slot-container",role:this.accessibleRole,"aria-label":this.openPanel?e:null,class:{items:!0}},i("slot",{key:"b0b0551fa20865b54092c9dedbe416590bdb6344"})),i(h,{key:"3f650d271ea8bb3c029e9d75c7dfba1742a88d3e",moveFocusTo:this.closeButton}))))}get element(){return o(this)}static get watchers(){return{open:["handleOpenChange"],opener:["handleOpenerChange"]}}};v.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;position:absolute;height:100%}::slotted(*){position:relative;visibility:hidden;width:100%;opacity:0;transition:opacity 300ms ease;transition-delay:300ms}:host([open]:not([open=false])) ::slotted(*){visibility:visible;opacity:1}:host(:not([open])) ::slotted(duet-slideout-panel){display:none}.duet-slideout{display:flex;align-items:center;height: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(8, 42, 77)}.duet-slideout .dialog{position:fixed;top:0;right:0;bottom:0;left:auto;z-index:600;width:min(450px, 100%);padding-bottom:75px;overflow-y:auto;box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1) inset;transition:bottom 300ms ease;transition-delay:0s}.duet-slideout .dialog:not(.modal){box-shadow:0 2px 20px 0 rgba(0, 0, 0, 0.2)}.duet-slideout .dialog .top-container.has-sticky-header-slot{position:sticky;top:0;z-index:200}.duet-slideout .dialog .top-container.has-sticky-header-slot .top{background:rgb(255, 255, 255)}.duet-slideout .dialog .top-container.has-sticky-header-slot .sticky-header{display:block}.duet-slideout .dialog .top{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;padding:4px;opacity:1;transition:opacity 300ms ease}.duet-slideout .dialog .top button{cursor:pointer}.duet-slideout .dialog .top button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-slideout .dialog .top button:focus,.duet-slideout .dialog .top button:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-slideout .dialog .top duet-icon{padding:16px}.duet-slideout .dialog .sticky-header{display:none;width:100%;padding:0 20px 20px;margin-bottom:20px;background:rgb(255, 255, 255);border-bottom:1px solid rgb(212, 223, 229)}@media (min-width: 36em){.duet-slideout .dialog .sticky-header{padding:0 28px 28px}}.duet-slideout .dialog .items{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;padding:12px 20px;opacity:1;transition:padding 600ms ease, opacity 300ms ease;transition-delay:300ms}@media (min-width: 36em){.duet-slideout .dialog .items{padding:16px 28px}}.duet-slideout .dialog.hidden{bottom:100vh;visibility:hidden;pointer-events:none;transition:300ms ease}.duet-slideout .dialog.hidden .items{padding-top:28px;opacity:0}.duet-slideout .dialog.hidden .top{opacity:0}slot{color:rgb(8, 42, 77)}.duet-slideout.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 42, 59)}@media (min-width: 62em){.duet-slideout.duet-theme-turva .desktop-bg{background:rgb(23, 42, 59)}}.duet-slideout.duet-theme-turva .dialog{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1) inset}.duet-slideout.duet-theme-turva .dialog:not(.modal){box-shadow:0 2px 20px 0 rgba(0, 0, 0, 0.2)}.duet-slideout.duet-theme-turva 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, 42, 59)}.duet-slideout.duet-theme-turva button.active{color:rgb(230, 23, 64)}.duet-slideout.duet-theme-turva button.active::after{background:rgb(230, 23, 64)}.duet-slideout.duet-theme-turva .has-sticky-header-slot .sticky-header{border-bottom-color:rgb(212, 221, 226)}.duet-theme-turva slot{color:rgb(23, 42, 59)}';export{v as duet_slideout}
4
+ import{r as t,c as e,h as i,H as s,g as o}from"./p-B2cboDWM.js";import{i as a}from"./p-BzYmwX5_.js";import{e as d,d as n}from"./p-C6CAT054.js";import{s as l}from"./p-B8-N_qjs.js";import{f as r,F as h}from"./p-R3pTP2Oy.js";import{a as u}from"./p-Db8rvjPI.js";import{a as c,c as p,d as b,g as m}from"./p-CFqvB5PA.js";import{h as g}from"./p-5lFzA17H.js";import{T as f}from"./p-CxwkvTlZ.js";import{g as y}from"./p-D2ly4TZR.js";import"./p-C6E9F6QT.js";import"./p-DEzE2U5T.js";const v=class{constructor(i){t(this,i),this.duetSlideoutEvent=e(this,"duetSlideoutEvent",7),this.exitLangObject={en:"Exit the menu",fi:"Poistu valikosta",sv:"Avsluta menyn"},this.topLevelOpenMenuBarLangObject={en:"Exit this menu to find top level items",fi:"Poistu tästä valikosta löytääksesi ylätason kohteet",sv:"Stäng den här menyn för att hitta objekt på toppnivå"},this.isSafariBrowser=/^((?!chrome|android).)*safari/i.test(null===navigator||void 0===navigator?void 0:navigator.userAgent),this.hasStickyHeaderSlot=!1,this.disconnectController=new AbortController,this.eventListenerController=new AbortController,this.language=c(),this.displaying=!1,this.openPanel=!1,this.theme="",this.accessibleRole="menubar",this.open=!1,this.backgroundColor="gray-lightest",this.modal=!0,this.setOpenButton=t=>{let e,i;if(t||null===t)e=t,i=!1;else{if(e="string"==typeof this.controller?document.getElementById(this.controller):this.controller,e&&this.openButton===e)return;i=!0}if(this.eventListenerController&&this.eventListenerController.abort(),e)try{const t=e;l(t,!1),this.openButton=t,i&&!this.disconnectController.signal.aborted&&(this.eventListenerController=new AbortController,this.openButton.addEventListener("click",this.openButtonEventListener,{signal:this.eventListenerController.signal}))}catch(t){console.error(t)}else this.openButton=void 0},this.setStickHeaderStyleMutations=(t=!1)=>{this.element.querySelectorAll('[slot="sticky-header"] duet-tab-group').forEach((e=>{e.style.position=t?null:"relative",e.style.top=t?null:"1px",e.switchLargeBreakpoint="always"}))},this.openButtonEventListener=t=>{this.onClick(t)},this.getOpenPanel=()=>this.element.querySelector("duet-slideout-panel[open]"),this.toggleMenu=t=>{this.open=!this.open,this.duetSlideoutEvent.emit({originalEvent:t,data:{element:this.element,open:this.open},component:"duet-slideout"})},this.onClick=t=>{this.toggleMenu(t)}}get controller(){return this.opener}set controller(t){this.opener=t}componentWillLoad(){a(this),this.hasStickyHeaderSlot=g(this.element,"sticky-header")}connectedCallback(){p(this),this.disconnectController&&this.disconnectController.signal.aborted&&(this.disconnectController=new AbortController),this.teleport||(this.teleport=new f(this.element)),this.teleport.isActive?(this.teleport.observeDeletion(),this.setStickHeaderStyleMutations(),this.mutationObserver||(this.mutationObserver=new MutationObserver((()=>{this.openPanel=!!this.getOpenPanel()}))),this.mutationObserver&&this.mutationObserver.observe(this.element,{childList:!0,attributeFilter:["open"],subtree:!0}),requestAnimationFrame((()=>{this.opener&&"string"!=typeof this.opener?this.setOpenButton(this.opener):this.setOpenButton()}))):this.teleport.activate()}disconnectedCallback(){b(this),this.dialog&&this.modal&&d(this.dialog),this.mutationObserver&&this.mutationObserver.disconnect(),this.disconnectController&&this.disconnectController.abort(),this.setOpenButton(null),this.setStickHeaderStyleMutations(!0)}handleOpenChange(t,e){if(!!t!=!!e)if(this.open&&!e){this.openButton&&l(this.openButton,!0);const t=this.getOpenPanel();this.teleport.makeSiblingsInert(),this.modal&&n(this.dialog,{reserveScrollBarGap:!0}),t?t.setFocus():setTimeout((()=>{this.closeButton.focus()}),200)}else!this.open&&e&&(this.openButton&&l(this.openButton,!1),setTimeout((()=>{r(this.openButton),this.modal&&d(this.dialog),this.teleport.removeInertFromSiblings()}),200))}handleOpenerChange(t,e){t!==e&&("string"==typeof t?this.setOpenButton():this.setOpenButton(t))}handleKeyUp(t){u(t)&&this.open&&this.toggleMenu(t)}handleDocumentClick(t){if(!this.open)return;const e=t.composedPath();e.includes(this.dialog)||e.includes(this.openButton)||this.toggleMenu(t)}async setFocus(t){var e;null===(e=this.openButton)||void 0===e||e.focus(t)}async toggle(){const t=new CustomEvent("toggle");this.toggleMenu(t),setTimeout((()=>{this.closeButton.focus()}),200)}async show(){this.open||(this.setOpenButton(document.activeElement),this.toggleMenu(new CustomEvent("toggle")))}async hide(){this.open&&this.toggleMenu(new CustomEvent("toggle"))}render(){const t={background:y(this.backgroundColor,this.theme)},e=m(this.topLevelOpenMenuBarLangObject),o=m(this.exitLangObject);return i(s,{key:"4967e4765890d5a1fc428a6da2917e5423728b8f"},i("div",{key:"019469e0d6a0b7115a2739d19c4db7643912ed0d",class:{"duet-slideout":!0,"duet-theme-turva":"turva"===this.theme}},this.modal&&i("duet-overlay",{key:"1ab0ab05de7bef08b4f9907c3588c4ae1b27a1d6",visible:this.open,zIndex:"600"}),i("div",{key:"a36de0bbaa226512b8fc62ec92912b0d9ea48fbe",ref:t=>this.dialog=t,tabindex:"-1",role:"dialog",id:"dialog","aria-labelledby":"button","aria-modal":!this.isSafariBrowser,"aria-flowto":"slot-container",class:{dialog:!0,hidden:!this.open,modal:this.modal},style:t},i(h,{key:"f8cd5d6bf0a93a2ec39783b9660a7fe7d666f631",moveFocusTo:this.closeButton}),i("div",{key:"4599d8a89db4503856c93ae476044d0f8b58a6e8",class:{"top-container":!0,"has-sticky-header-slot":this.hasStickyHeaderSlot}},i("div",{key:"3b9e1c5b2de674864a0570a94eaccc0d2b1fd444",class:"top"},i("button",{key:"8c68434c8e735aee3a92cbd41dcdfdfdaabda9d3",ref:t=>this.closeButton=t,"aria-haspopup":"dialog","aria-controls":"dialog","aria-expanded":this.open?"true":"false","aria-label":`${o}`,type:"button",class:{"slideout-close":!0,active:this.open,"duet-theme-turva":"turva"===this.theme},onClick:this.onClick,inert:this.openPanel},i("duet-icon",{key:"a65c83b73256734cf30bb76d70a585f7396e91e7",name:"navigation-close",size:"small",margin:"none",color:"secondary"}))),i("div",{key:"2cd42bbba1aae10f8ea951af29fd111ffc145ecc",class:"sticky-header"},i("slot",{key:"c0c2c759bf1f9190a5bcb845d868210801792553",name:"sticky-header"}))),i("div",{key:"9da45e60847db54c0ed5baf6e87d8526c54db02c",id:"slot-container",role:this.accessibleRole,"aria-label":this.openPanel?e:null,class:{items:!0}},i("slot",{key:"812379a9042a1a79781f4378a0c2b256676d12d8"})),i(h,{key:"a2aeac2c61dbc0b9839144613d999de4dc8edb36",moveFocusTo:this.closeButton}))))}get element(){return o(this)}static get watchers(){return{open:["handleOpenChange"],opener:["handleOpenerChange"]}}};v.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;position:absolute;height:100%}::slotted(*){position:relative;visibility:hidden;width:100%;opacity:0;transition:opacity 300ms ease;transition-delay:300ms}:host([open]:not([open=false])) ::slotted(*){visibility:visible;opacity:1}:host(:not([open])) ::slotted(duet-slideout-panel){display:none}.duet-slideout{display:flex;align-items:center;height: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(8, 42, 77)}.duet-slideout .dialog{position:fixed;top:0;right:0;bottom:0;left:auto;z-index:600;width:min(450px, 100%);padding-bottom:75px;overflow-y:auto;box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1) inset;transition:bottom 300ms ease;transition-delay:0s}.duet-slideout .dialog:not(.modal){box-shadow:0 2px 20px 0 rgba(0, 0, 0, 0.2)}.duet-slideout .dialog .top-container.has-sticky-header-slot{position:sticky;top:0;z-index:200}.duet-slideout .dialog .top-container.has-sticky-header-slot .top{background:rgb(255, 255, 255)}.duet-slideout .dialog .top-container.has-sticky-header-slot .sticky-header{display:block}.duet-slideout .dialog .top{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;padding:4px;opacity:1;transition:opacity 300ms ease}.duet-slideout .dialog .top button{cursor:pointer}.duet-slideout .dialog .top button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-slideout .dialog .top button:focus,.duet-slideout .dialog .top button:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-slideout .dialog .top duet-icon{padding:16px}.duet-slideout .dialog .sticky-header{display:none;width:100%;padding:0 20px 20px;margin-bottom:20px;background:rgb(255, 255, 255);border-bottom:1px solid rgb(212, 223, 229)}@media (min-width: 36em){.duet-slideout .dialog .sticky-header{padding:0 28px 28px}}.duet-slideout .dialog .items{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;padding:12px 20px;opacity:1;transition:padding 600ms ease, opacity 300ms ease;transition-delay:300ms}@media (min-width: 36em){.duet-slideout .dialog .items{padding:16px 28px}}.duet-slideout .dialog.hidden{bottom:100vh;visibility:hidden;pointer-events:none;transition:300ms ease}.duet-slideout .dialog.hidden .items{padding-top:28px;opacity:0}.duet-slideout .dialog.hidden .top{opacity:0}slot{color:rgb(8, 42, 77)}.duet-slideout.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 42, 59)}@media (min-width: 62em){.duet-slideout.duet-theme-turva .desktop-bg{background:rgb(23, 42, 59)}}.duet-slideout.duet-theme-turva .dialog{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1) inset}.duet-slideout.duet-theme-turva .dialog:not(.modal){box-shadow:0 2px 20px 0 rgba(0, 0, 0, 0.2)}.duet-slideout.duet-theme-turva 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, 42, 59)}.duet-slideout.duet-theme-turva button.active{color:rgb(230, 23, 64)}.duet-slideout.duet-theme-turva button.active::after{background:rgb(230, 23, 64)}.duet-slideout.duet-theme-turva .has-sticky-header-slot .sticky-header{border-bottom-color:rgb(212, 221, 226)}.duet-theme-turva slot{color:rgb(23, 42, 59)}';export{v as duet_slideout}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{r as e,h as t,H as a,g as i}from"./p-Cwhi6_oZ.js";import{i as n}from"./p-D2EBd3cT.js";const o=class{constructor(t){e(this,t),this.theme="",this.active=!1,this.href="#",this.icon=void 0}componentWillLoad(){n(this)}render(){return t(a,{key:"997031f3159b6da185e25915d7241ba645b2b9d0",role:"listitem"},t("a",{key:"8ef71373a7c481ca8dc93506eb8957c470489c2b",class:{"duet-menu-bar-link":!0,"duet-theme-turva":"turva"===this.theme,active:this.active},href:this.href,"aria-current":this.active?"true":"false","aria-label":this.accessibleLabel},this.icon&&t("duet-icon",{key:"f0439bbfecdf854d05fa818663e7e7e93fffa404",class:"menu-bar-link-icon",theme:this.theme,size:"auto",name:this.icon,margin:"none",color:"currentColor"}),t("slot",{key:"426c1a3de2829a37aba8d4f30169d71425d81301"})))}get element(){return i(this)}};o.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;height:100%}.duet-menu-bar-link{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:inherit;text-align:center;white-space:nowrap;text-decoration:none}.duet-menu-bar-link:focus{outline:2px solid;outline-offset:-4px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-menu-bar-link:focus,.duet-menu-bar-link:focus.duet-theme-turva{outline:2px solid;outline-offset:-4px;outline-color:rgba(53, 79, 101, 0.8)}.duet-menu-bar-link .menu-bar-link-icon{width:20px;height:20px}@media (min-width: 62em){.duet-menu-bar-link .menu-bar-link-icon{width:16px;height:16px}}@media (min-width: 62em){.duet-menu-bar-link{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-link{padding:0 28px}}.duet-menu-bar-link.active{color:rgb(0, 119, 179)}.duet-menu-bar-link.active::after{position:absolute;top:auto;bottom:2px;left:0;z-index:1;display:block;width:100%;height:1px;content:"";background:rgb(0, 119, 179);transform:translateY(2px);transition:300ms ease}@media (min-width: 62em){.duet-menu-bar-link.active::after{z-index:auto;height:2px}}@media (min-width: 62em){.duet-menu-bar-link:hover{color:rgb(0, 119, 179)}}.duet-menu-bar-link.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}.duet-menu-bar-link.active.duet-theme-turva{color:rgb(230, 23, 64)}.duet-menu-bar-link.active.duet-theme-turva::after{background:rgb(230, 23, 64)}@media (min-width: 62em){.duet-menu-bar-link.duet-theme-turva:hover{color:rgb(230, 23, 64)}}';export{o as duet_menu_bar_link}
4
+ import{r as e,h as t,H as a,g as i}from"./p-B2cboDWM.js";import{i as n}from"./p-BzYmwX5_.js";const o=class{constructor(t){e(this,t),this.theme="",this.active=!1,this.href="#",this.icon=void 0}componentWillLoad(){n(this)}render(){return t(a,{key:"044fd632f4ea61ecd3bbbb77e3c2d0eda50f16a4",role:"listitem"},t("a",{key:"b910e6d15c696910ab231b49facb9cd3250d66c4",class:{"duet-menu-bar-link":!0,"duet-theme-turva":"turva"===this.theme,active:this.active},href:this.href,"aria-current":this.active?"true":"false","aria-label":this.accessibleLabel},this.icon&&t("duet-icon",{key:"46ede326e61111856df4318b018a4128b7743658",class:"menu-bar-link-icon",theme:this.theme,size:"auto",name:this.icon,margin:"none",color:"currentColor"}),t("slot",{key:"774a0d744c12e5d43783123c2d07d450a0ad0472"})))}get element(){return i(this)}};o.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;height:100%}.duet-menu-bar-link{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:inherit;text-align:center;white-space:nowrap;text-decoration:none}.duet-menu-bar-link:focus{outline:2px solid;outline-offset:-4px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-menu-bar-link:focus,.duet-menu-bar-link:focus.duet-theme-turva{outline:2px solid;outline-offset:-4px;outline-color:rgba(53, 79, 101, 0.8)}.duet-menu-bar-link .menu-bar-link-icon{width:20px;height:20px}@media (min-width: 62em){.duet-menu-bar-link .menu-bar-link-icon{width:16px;height:16px}}@media (min-width: 62em){.duet-menu-bar-link{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-link{padding:0 28px}}.duet-menu-bar-link.active{color:rgb(0, 119, 179)}.duet-menu-bar-link.active::after{position:absolute;top:auto;bottom:2px;left:0;z-index:1;display:block;width:100%;height:1px;content:"";background:rgb(0, 119, 179);transform:translateY(2px);transition:300ms ease}@media (min-width: 62em){.duet-menu-bar-link.active::after{z-index:auto;height:2px}}@media (min-width: 62em){.duet-menu-bar-link:hover{color:rgb(0, 119, 179)}}.duet-menu-bar-link.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}.duet-menu-bar-link.active.duet-theme-turva{color:rgb(230, 23, 64)}.duet-menu-bar-link.active.duet-theme-turva::after{background:rgb(230, 23, 64)}@media (min-width: 62em){.duet-menu-bar-link.duet-theme-turva:hover{color:rgb(230, 23, 64)}}';export{o as duet_menu_bar_link}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{r as t,c as e,h as i,H as a,g as o}from"./p-Cwhi6_oZ.js";import{i as r}from"./p-D2EBd3cT.js";import{b as d,c as s}from"./p-8RjiAqaE.js";import{a as n}from"./p-DWIjWGAD.js";import{D as l}from"./p-CtBx3Trd.js";import{c as u}from"./p-Cfr_DJqU.js";import{s as h,u as p}from"./p-Db8rvjPI.js";import{p as c}from"./p--fmK3qPb.js";import"./p-C6E9F6QT.js";const b=class{constructor(i){t(this,i),this.duetChange=e(this,"duetChange",3),this.toggleId=u("DuetToggle"),this.proxyId=u("DuetToggle"),this.theme="",this.margin="auto",this.accessibleDetails=void 0,this.accessibleLabelledBy=void 0,this.accessibleDescription=void 0,this.loading=!1,this.label="label",this.labelHidden=!1,this.labelPosition="top",this.required=!1,this.disabled=!1,this.checked=!1,this.onClick=t=>{t.preventDefault(),this.setFocus(),this.checked=!this.checked}}setLoadingState(){this.loadingComplete=!this.loading}checkedChanged(t){this.duetChange.emit({checked:t,value:this.value,component:"duet-toggle"})}componentWillLoad(){r(this),void 0===this.value&&(this.value=this.identifier)}connectedCallback(){h(this)}disconnectedCallback(){p(this)}componentDidRender(){c(this.element,this.proxyId,this.name,this.value,this.required,this.checked)}async setFocus(t){this.nativeInput.focus(t)}render(){const t=this.identifier||this.toggleId;return i(a,{key:"59feea89498c2b31bdeb767328bffb2d92c81856",onClick:this.disabled||this.loading?void 0:this.onClick,class:{"duet-m-0":"none"===this.margin,"duet-toggle-is-disabled":this.disabled,"duet-toggle-is-loading":this.loading}},i("div",{key:"7d66f262fd726f6552ccc0b4fcf7d65f79168bec",class:{"duet-toggle":!0,"duet-theme-turva":"turva"===this.theme,"duet-side-label":"top"!==this.labelPosition,"duet-reverse-label":"right"===this.labelPosition,"duet-label-hidden":this.labelHidden,"duet-toggle-is-disabled":this.disabled,"duet-toggle-is-loading":this.loading}},i(l,{key:"b51094e9ff80a2d2d38d62207031e882e22c6594",theme:this.theme,color:this.labelColor,weight:this.labelWeight,for:t,margin:"top"===this.labelPosition?"auto":"none"},this.label),i("div",{key:"e43214898c9e9db3cdbff5a9bebb6a4123a1f60a",class:"duet-switch"},i("input",{key:"e7c74dafd11c4afc1bee288239f0e7fd3a07259d",type:"checkbox",value:this.value,"aria-controls":this.accessibleControls,"aria-activedescendant":this.accessibleActiveDescendant,"aria-owns":this.accessibleOwns,"aria-describedby":this.accessibleDescribedBy,"aria-labelledby":this.accessibleLabelledBy,"aria-details":this.accessibleDetails,"aria-description":this.accessibleDescription,id:t,role:this.role,name:this.name,checked:this.checked,required:this.required,disabled:this.disabled||this.loading,ref:t=>this.nativeInput=t}),i("div",{key:"a44ada35c0d948eb093047aa5ebbfbdcd06d8da2",class:{"duet-slider":!0,"duet-theme-turva":"turva"===this.theme}}),this.loading&&i("duet-spinner",{key:"8e3400e0d490ca097597adb600b7a6560593c4f8",color:"primary"}))),this.loading&&i("duet-visually-hidden",{key:"8cf3c405c4765f07b0e96359f88e527d0070be46","aria-live":"polite"},this.accessibleLabelLoading||s[n()]),this.loadingComplete&&i("duet-visually-hidden",{key:"5738bb3897bc0b07ef73299a6d12901c8c8be40c","aria-live":"polite"},this.accessibleLabelComplete||d[n()]))}get element(){return o(this)}static get watchers(){return{loading:["setLoadingState"],checked:["checkedChanged"]}}};b.style='.duet-internal-label{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !important;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:600 !important;line-height:1.25;line-height:1.25;color:rgb(8, 42, 77);text-align:left;word-break:break-word;cursor:default}.duet-internal-label.duet-p-0{padding:0 !important}.duet-internal-label.duet-m-0{margin:0 !important}.duet-internal-label span{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-internal-label.duet-m-0{margin-bottom:0 !important}.duet-internal-label.duet-small-margin{margin-top:8px !important;margin-bottom:4px !important}.duet-internal-label.duet-has-tooltip{padding-right:48px}@media (min-width: 48em){.duet-internal-label.duet-has-tooltip{padding-right:0}}.duet-internal-label.duet-internal-label-small{font-size:0.875rem}.duet-internal-label.duet-internal-label-small span{font-size:0.875rem}.duet-internal-label.duet-weight-normal{font-weight:400 !important}.duet-internal-label.duet-weight-normal span{font-weight:400 !important}.duet-internal-label.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 42, 59)}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-right:8px !important;margin-bottom:12px !important;-webkit-user-select:none;user-select:none;display:inline-flex;width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent;cursor:pointer}:host:last-child,:host:last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host:last-of-type:not(:last-child){margin-right:8px !important}:host(.duet-m-0){margin:0 !important}:host(.duet-toggle-is-disabled){cursor:not-allowed}:host(.duet-toggle-is-loading){cursor:wait}.duet-side-label{display:flex;gap:12px;align-items:center}.duet-reverse-label{flex-direction:row-reverse}.duet-switch{position:relative;display:block;width:48px;height:28px}.duet-switch input{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important}.duet-switch input:checked+.duet-slider{background-color:rgb(0, 119, 179);box-shadow:none}.duet-switch input:checked+.duet-slider::before{background-color:rgb(255, 255, 255);box-shadow:-1px 0 2px #004467;transform:translateX(20px)}.duet-switch input:disabled+.duet-slider::before{box-shadow:none}.duet-switch input:disabled:not(:checked)+.duet-slider{background:#bfcbd2}.duet-switch input:disabled:not(:checked)+.duet-slider::before{background:rgb(255, 255, 255);box-shadow:none}.duet-switch input:disabled:checked+.duet-slider{background:#80bbd9}:host(.user-is-tabbing) .duet-switch input:focus+.duet-slider{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva :host(.user-is-tabbing) .duet-switch input:focus+.duet-slider,:host(.user-is-tabbing) .duet-switch input:focus+.duet-slider.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-slider{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background-color:rgb(127, 150, 165);border-radius:24px;transition:background-color 300ms ease}.duet-slider::before{position:absolute;bottom:2px;left:2px;width:24px;height:24px;content:"";background-color:rgb(255, 255, 255);border-radius:50%;box-shadow:1px 0 2px 0 #5d6266;transition:300ms ease}.duet-toggle-is-loading .duet-slider::before{transform:translateX(10px) !important}.duet-toggle-is-loading .duet-slider{cursor:wait}.duet-toggle-is-disabled .duet-slider{cursor:not-allowed}duet-spinner{margin:2px;cursor:wait;transform:translate(-2px, -2px) scale(80%)}.duet-label-hidden .duet-internal-label{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important}.duet-theme-turva .duet-switch input:checked+.duet-slider{background-color:rgb(230, 23, 64)}.duet-theme-turva .duet-switch input:checked+.duet-slider::before{box-shadow:-1px 0 2px #890e26;transform:translateX(20px)}.duet-theme-turva .duet-switch input:disabled:checked+.duet-slider{background:#f38ba0}.duet-theme-turva .duet-switch input:disabled+.duet-slider::before{box-shadow:none}.duet-theme-turva .duet-switch input:disabled:not(:checked)+.duet-slider{background:#bcc8d2}.duet-theme-turva .duet-switch input:disabled:not(:checked)+.duet-slider::before{background:rgb(255, 255, 255)}.duet-theme-turva .duet-switch input:disabled:checked+.duet-slider{background:#f38ba0}.duet-theme-turva .duet-slider{background-color:rgb(120, 145, 164)}.duet-theme-turva .duet-slider::before{background-color:rgb(255, 255, 255);box-shadow:1px 0 2px 0 #00334d}';export{b as duet_toggle}
4
+ import{r as t,c as e,h as i,H as a,g as o}from"./p-B2cboDWM.js";import{i as r}from"./p-BzYmwX5_.js";import{b as d,c as s}from"./p-8RjiAqaE.js";import{a as n}from"./p-CFqvB5PA.js";import{D as l}from"./p-Cg4m_WHe.js";import{c as u}from"./p-Cfr_DJqU.js";import{s as h,u as p}from"./p-Db8rvjPI.js";import{p as c}from"./p-5lFzA17H.js";import"./p-C6E9F6QT.js";const b=class{constructor(i){t(this,i),this.duetChange=e(this,"duetChange",3),this.toggleId=u("DuetToggle"),this.proxyId=u("DuetToggle"),this.theme="",this.margin="auto",this.accessibleDetails=void 0,this.accessibleLabelledBy=void 0,this.accessibleDescription=void 0,this.loading=!1,this.label="label",this.labelHidden=!1,this.labelPosition="top",this.required=!1,this.disabled=!1,this.checked=!1,this.onClick=t=>{t.preventDefault(),this.setFocus(),this.checked=!this.checked}}setLoadingState(){this.loadingComplete=!this.loading}checkedChanged(t){this.duetChange.emit({checked:t,value:this.value,component:"duet-toggle"})}componentWillLoad(){r(this),void 0===this.value&&(this.value=this.identifier)}connectedCallback(){h(this)}disconnectedCallback(){p(this)}componentDidRender(){c(this.element,this.proxyId,this.name,this.value,this.required,this.checked)}async setFocus(t){this.nativeInput.focus(t)}render(){const t=this.identifier||this.toggleId;return i(a,{key:"89f3936593f8ca70269c76f52de881f4de9cbf0a",onClick:this.disabled||this.loading?void 0:this.onClick,class:{"duet-m-0":"none"===this.margin,"duet-toggle-is-disabled":this.disabled,"duet-toggle-is-loading":this.loading}},i("div",{key:"601e3dae811479b1295d3c1ed6f83c03dba12540",class:{"duet-toggle":!0,"duet-theme-turva":"turva"===this.theme,"duet-side-label":"top"!==this.labelPosition,"duet-reverse-label":"right"===this.labelPosition,"duet-label-hidden":this.labelHidden,"duet-toggle-is-disabled":this.disabled,"duet-toggle-is-loading":this.loading}},i(l,{key:"be5948b0ebcadfc14210f34cca8eeb1fccb06502",theme:this.theme,color:this.labelColor,weight:this.labelWeight,for:t,margin:"top"===this.labelPosition?"auto":"none"},this.label),i("div",{key:"3f8647b2608163e46f15301079fcc8b122ac3c33",class:"duet-switch"},i("input",{key:"42a3b6cddb829fb45229d8369771656883036973",type:"checkbox",value:this.value,"aria-controls":this.accessibleControls,"aria-activedescendant":this.accessibleActiveDescendant,"aria-owns":this.accessibleOwns,"aria-describedby":this.accessibleDescribedBy,"aria-labelledby":this.accessibleLabelledBy,"aria-details":this.accessibleDetails,"aria-description":this.accessibleDescription,id:t,role:this.role,name:this.name,checked:this.checked,required:this.required,disabled:this.disabled||this.loading,ref:t=>this.nativeInput=t}),i("div",{key:"91479d3cf87e7a3740a50a79a79c1f677e6f8112",class:{"duet-slider":!0,"duet-theme-turva":"turva"===this.theme}}),this.loading&&i("duet-spinner",{key:"84e0a5c60ce9330f5e4f528e27071ffcd74d1663",color:"primary"}))),this.loading&&i("duet-visually-hidden",{key:"6899d3cb49f592f7fa15aa7b3878678f0c9a3225","aria-live":"polite"},this.accessibleLabelLoading||s[n()]),this.loadingComplete&&i("duet-visually-hidden",{key:"3ea3bee89470aae2c080774a208a8b47f90599d2","aria-live":"polite"},this.accessibleLabelComplete||d[n()]))}get element(){return o(this)}static get watchers(){return{loading:["setLoadingState"],checked:["checkedChanged"]}}};b.style='.duet-internal-label{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !important;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:600 !important;line-height:1.25;line-height:1.25;color:rgb(8, 42, 77);text-align:left;word-break:break-word;cursor:default}.duet-internal-label.duet-p-0{padding:0 !important}.duet-internal-label.duet-m-0{margin:0 !important}.duet-internal-label span{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-internal-label.duet-m-0{margin-bottom:0 !important}.duet-internal-label.duet-small-margin{margin-top:8px !important;margin-bottom:4px !important}.duet-internal-label.duet-has-tooltip{padding-right:48px}@media (min-width: 48em){.duet-internal-label.duet-has-tooltip{padding-right:0}}.duet-internal-label.duet-internal-label-small{font-size:0.875rem}.duet-internal-label.duet-internal-label-small span{font-size:0.875rem}.duet-internal-label.duet-weight-normal{font-weight:400 !important}.duet-internal-label.duet-weight-normal span{font-weight:400 !important}.duet-internal-label.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 42, 59)}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-right:8px !important;margin-bottom:12px !important;-webkit-user-select:none;user-select:none;display:inline-flex;width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent;cursor:pointer}:host:last-child,:host:last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host:last-of-type:not(:last-child){margin-right:8px !important}:host(.duet-m-0){margin:0 !important}:host(.duet-toggle-is-disabled){cursor:not-allowed}:host(.duet-toggle-is-loading){cursor:wait}.duet-side-label{display:flex;gap:12px;align-items:center}.duet-reverse-label{flex-direction:row-reverse}.duet-switch{position:relative;display:block;width:48px;height:28px}.duet-switch input{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important}.duet-switch input:checked+.duet-slider{background-color:rgb(0, 119, 179);box-shadow:none}.duet-switch input:checked+.duet-slider::before{background-color:rgb(255, 255, 255);box-shadow:-1px 0 2px #004467;transform:translateX(20px)}.duet-switch input:disabled+.duet-slider::before{box-shadow:none}.duet-switch input:disabled:not(:checked)+.duet-slider{background:#bfcbd2}.duet-switch input:disabled:not(:checked)+.duet-slider::before{background:rgb(255, 255, 255);box-shadow:none}.duet-switch input:disabled:checked+.duet-slider{background:#80bbd9}:host(.user-is-tabbing) .duet-switch input:focus+.duet-slider{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva :host(.user-is-tabbing) .duet-switch input:focus+.duet-slider,:host(.user-is-tabbing) .duet-switch input:focus+.duet-slider.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-slider{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background-color:rgb(127, 150, 165);border-radius:24px;transition:background-color 300ms ease}.duet-slider::before{position:absolute;bottom:2px;left:2px;width:24px;height:24px;content:"";background-color:rgb(255, 255, 255);border-radius:50%;box-shadow:1px 0 2px 0 #5d6266;transition:300ms ease}.duet-toggle-is-loading .duet-slider::before{transform:translateX(10px) !important}.duet-toggle-is-loading .duet-slider{cursor:wait}.duet-toggle-is-disabled .duet-slider{cursor:not-allowed}duet-spinner{margin:2px;cursor:wait;transform:translate(-2px, -2px) scale(80%)}.duet-label-hidden .duet-internal-label{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important}.duet-theme-turva .duet-switch input:checked+.duet-slider{background-color:rgb(230, 23, 64)}.duet-theme-turva .duet-switch input:checked+.duet-slider::before{box-shadow:-1px 0 2px #890e26;transform:translateX(20px)}.duet-theme-turva .duet-switch input:disabled:checked+.duet-slider{background:#f38ba0}.duet-theme-turva .duet-switch input:disabled+.duet-slider::before{box-shadow:none}.duet-theme-turva .duet-switch input:disabled:not(:checked)+.duet-slider{background:#bcc8d2}.duet-theme-turva .duet-switch input:disabled:not(:checked)+.duet-slider::before{background:rgb(255, 255, 255)}.duet-theme-turva .duet-switch input:disabled:checked+.duet-slider{background:#f38ba0}.duet-theme-turva .duet-slider{background-color:rgb(120, 145, 164)}.duet-theme-turva .duet-slider::before{background-color:rgb(255, 255, 255);box-shadow:1px 0 2px 0 #00334d}';export{b as duet_toggle}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{r as e,c as t,h as a,H as r,g as i}from"./p-Cwhi6_oZ.js";import{i as n,j as o,k as s,l as d}from"./p-DEzE2U5T.js";import{D as l}from"./p-CtBx3Trd.js";import{i as u}from"./p-D2EBd3cT.js";import{c as b}from"./p-Cfr_DJqU.js";import{i as g}from"./p-DxESMgwA.js";import{s as h,u as p}from"./p-Db8rvjPI.js";import{p as m}from"./p--fmK3qPb.js";const c={turva:{active:d,inactive:s},default:{active:o,inactive:n}},f=class{constructor(a){e(this,a),this.duetChange=t(this,"duetChange",3),this.duetInput=t(this,"duetInput",7),this.rangeId=b("DuetRange"),this.proxyId=b("DuetRange"),this.theme="",this.margin="auto",this.expand=!1,this.required=!1,this.disabled=!1,this.min=0,this.label="label",this.labelHidden=!1,this.unit="",this.max=100,this.step=1,this.locale="fi-FI",this.value=0,this.debounce=0,this.onInput=e=>{const t=e.target;t&&(this.value=parseFloat(t.value)||0),this.duetInput.emit({originalEvent:e,value:this.value,component:"duet-range-slider"})},this.onChange=e=>{const t=e.target;t&&(this.value=parseFloat(t.value)||0),clearTimeout(this.timeoutId),this.timeoutId=setTimeout((()=>{this.duetChange.emit({originalEvent:e,value:this.value,component:"duet-range-slider"})}),this.debounce)}}componentWillLoad(){u(this)}connectedCallback(){h(this)}disconnectedCallback(){p(this)}componentDidRender(){m(this.element,this.proxyId,this.name,this.value,this.required)}async setFocus(e){this.nativeInput.focus(e)}calculatePercentage(){return(this.value-this.min)/(this.max-this.min)*100}render(){const e=this.identifier||this.rangeId,t="turva"===this.theme?"turva":"default",{inactive:i,active:n}=c[t],o=this.calculatePercentage(),s={background:`-webkit-linear-gradient(left,${n} 0%,${n} ${o}%,${i} ${o}%)`};return a(r,{key:"8ae2f8b801002f2d7f36a1f6f2c5d9de5e52d480",class:{"duet-m-0":"none"===this.margin,"duet-expand":this.expand}},a("div",{key:"3faa6f6b699d012b9d6ff43f0f5255dee1842fe8",class:{"duet-range-container":!0,"duet-label-hidden":this.labelHidden,"duet-theme-turva":"turva"===this.theme,"duet-ie":g(),"duet-range-disabled":this.disabled}},a(l,{key:"330e765a6f42437f0ec80c8fd12f02aa9c8f564d",theme:t,color:this.labelColor,weight:this.labelWeight,margin:"small",for:e},this.label),a("output",{key:"91a85bd1d5816c694a32882bbe3bce178afe76ba","aria-hidden":"true",htmlFor:e,class:"duet-output"},this.value.toLocaleString(this.locale),this.unit),a("input",{key:"9ccf4115591954ca7123216d7fda90ca24a3a06d",onInput:this.onInput,onChange:this.onChange,ref:e=>this.nativeInput=e,type:"range",min:this.min,max:this.max,step:this.step,value:this.value,style:s,"aria-valuemin":this.min,"aria-valuemax":this.max,"aria-valuenow":this.value,"aria-valuetext":`${this.value} ${this.unit}`,"aria-controls":this.accessibleControls,"aria-activedescendant":this.accessibleActiveDescendant,"aria-owns":this.accessibleOwns,"aria-describedby":this.accessibleDescribedBy,id:e,name:this.name,disabled:this.disabled,required:this.required,class:"duet-range"})))}get element(){return i(this)}};f.style='.duet-internal-label{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !important;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:600 !important;line-height:1.25;line-height:1.25;color:rgb(8, 42, 77);text-align:left;word-break:break-word;cursor:default}.duet-internal-label.duet-p-0{padding:0 !important}.duet-internal-label.duet-m-0{margin:0 !important}.duet-internal-label span{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-internal-label.duet-m-0{margin-bottom:0 !important}.duet-internal-label.duet-small-margin{margin-top:8px !important;margin-bottom:4px !important}.duet-internal-label.duet-has-tooltip{padding-right:48px}@media (min-width: 48em){.duet-internal-label.duet-has-tooltip{padding-right:0}}.duet-internal-label.duet-internal-label-small{font-size:0.875rem}.duet-internal-label.duet-internal-label-small span{font-size:0.875rem}.duet-internal-label.duet-weight-normal{font-weight:400 !important}.duet-internal-label.duet-weight-normal span{font-weight:400 !important}.duet-internal-label.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 42, 59)}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;max-width:100%;vertical-align:bottom;text-align:left}:host:last-child,:host:last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host:last-of-type:not(:last-child){margin-right:16px !important}@media (min-width: 36em){:host{width:calc(50% - 16px - 3px)}:host.duet-expand{width:100% !important}}:host(.duet-m-0){margin:0 !important}.duet-range-container{position:relative;width:100%}.duet-output{position:absolute;top:12px;right:0;z-index:200;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:0.875rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25;color:rgb(8, 42, 77);background:rgb(255, 255, 255)}.duet-range-disabled .duet-output{color:rgb(127, 150, 165)}.duet-range{position:relative;z-index:100;width:100%;height:4px;background:rgb(181, 198, 208);border-radius:4px}.duet-range:focus{outline:0}:host(.user-is-tabbing) .duet-range:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva :host(.user-is-tabbing) .duet-range:focus,:host(.user-is-tabbing) .duet-range:focus.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-ie .duet-range{display:block;width:auto;height:26px;background:transparent !important}.duet-range::-moz-range-track{height:1px;-moz-appearance:none;background:transparent !important;border:0}.duet-range::-ms-track{color:transparent;background:transparent;border:0}.duet-range:active{outline:0}.duet-range::-webkit-slider-runnable-track{background:transparent}.duet-range::-webkit-slider-thumb{position:relative;width:24px;height:24px;-webkit-appearance:none;cursor:-webkit-grab;background:rgb(255, 255, 255);border:1px solid rgb(127, 150, 165);border-radius:50%;transition:box-shadow 300ms ease}.duet-range:active::-webkit-slider-thumb{cursor:-webkit-grabbing}.duet-range::-moz-range-thumb{position:relative;width:24px;height:24px;appearance:none;cursor:-moz-grab;background:rgb(255, 255, 255);border:1px solid rgb(127, 150, 165);border-radius:50%}.duet-range:active::-moz-range-thumb{cursor:-moz-grabbing}.duet-range::-ms-thumb{position:relative;width:24px;height:24px;overflow:visible;background:rgb(255, 255, 255);border:1px solid rgb(127, 150, 165);border-radius:50%}.duet-range:disabled{background:rgb(181, 198, 208) !important}.duet-range:disabled::-webkit-slider-thumb{cursor:default;background:rgb(181, 198, 208);border-color:transparent}.duet-range:disabled::-moz-range-thumb{cursor:default;background:rgb(181, 198, 208);border-color:transparent}.duet-range:disabled::-ms-thumb{cursor:default;background:rgb(181, 198, 208);border-color:transparent}.duet-range::-ms-fill-lower{height:4px;background:rgb(0, 119, 179)}.duet-range::-ms-fill-upper{height:4px;background:rgb(181, 198, 208)}.duet-label-hidden .duet-internal-label,.duet-label-hidden output{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;clip:rect(0 0 0 0)}.duet-theme-turva .duet-output{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, 42, 59)}.duet-range-disabled.duet-theme-turva .duet-output{color:rgb(120, 145, 164)}.duet-theme-turva .duet-range{background:rgb(178, 194, 205)}.duet-theme-turva .duet-range::-webkit-slider-thumb{border-color:rgb(120, 145, 164)}.duet-theme-turva .duet-range::-moz-range-thumb{border-color:rgb(120, 145, 164)}.duet-theme-turva .duet-range::-ms-thumb{border-color:rgb(120, 145, 164)}.duet-theme-turva .duet-range:disabled{background:rgb(178, 194, 205) !important}.duet-theme-turva .duet-range:disabled::-webkit-slider-thumb{background:rgb(178, 194, 205);border-color:transparent}.duet-theme-turva .duet-range:disabled::-moz-range-thumb{background:rgb(178, 194, 205);border-color:transparent}.duet-theme-turva .duet-range:disabled::-ms-thumb{background:rgb(178, 194, 205);border-color:transparent}.duet-theme-turva .duet-range::-ms-fill-lower{background:rgb(230, 23, 64)}.duet-theme-turva .duet-range::-ms-fill-upper{background:rgb(178, 194, 205)}';export{f as duet_range_slider}
4
+ import{r as e,c as t,h as a,H as r,g as i}from"./p-B2cboDWM.js";import{i as n,j as o,k as s,l as d}from"./p-DEzE2U5T.js";import{D as l}from"./p-Cg4m_WHe.js";import{i as u}from"./p-BzYmwX5_.js";import{c as b}from"./p-Cfr_DJqU.js";import{i as g}from"./p-DxESMgwA.js";import{s as h,u as p}from"./p-Db8rvjPI.js";import{p as m}from"./p-5lFzA17H.js";const c={turva:{active:d,inactive:s},default:{active:o,inactive:n}},f=class{constructor(a){e(this,a),this.duetChange=t(this,"duetChange",3),this.duetInput=t(this,"duetInput",7),this.rangeId=b("DuetRange"),this.proxyId=b("DuetRange"),this.theme="",this.margin="auto",this.expand=!1,this.required=!1,this.disabled=!1,this.min=0,this.label="label",this.labelHidden=!1,this.unit="",this.max=100,this.step=1,this.locale="fi-FI",this.value=0,this.debounce=0,this.onInput=e=>{const t=e.target;t&&(this.value=parseFloat(t.value)||0),this.duetInput.emit({originalEvent:e,value:this.value,component:"duet-range-slider"})},this.onChange=e=>{const t=e.target;t&&(this.value=parseFloat(t.value)||0),clearTimeout(this.timeoutId),this.timeoutId=setTimeout((()=>{this.duetChange.emit({originalEvent:e,value:this.value,component:"duet-range-slider"})}),this.debounce)}}componentWillLoad(){u(this)}connectedCallback(){h(this)}disconnectedCallback(){p(this)}componentDidRender(){m(this.element,this.proxyId,this.name,this.value,this.required)}async setFocus(e){this.nativeInput.focus(e)}calculatePercentage(){return(this.value-this.min)/(this.max-this.min)*100}render(){const e=this.identifier||this.rangeId,t="turva"===this.theme?"turva":"default",{inactive:i,active:n}=c[t],o=this.calculatePercentage(),s={background:`-webkit-linear-gradient(left,${n} 0%,${n} ${o}%,${i} ${o}%)`};return a(r,{key:"140a9aa52dabb7c79226006b962df8988b32d11a",class:{"duet-m-0":"none"===this.margin,"duet-expand":this.expand}},a("div",{key:"57c79380ecfdc00894e732406b9f461d673a7511",class:{"duet-range-container":!0,"duet-label-hidden":this.labelHidden,"duet-theme-turva":"turva"===this.theme,"duet-ie":g(),"duet-range-disabled":this.disabled}},a(l,{key:"0bd37479e4b671590fd4dd0b63cd3750ca08ebdc",theme:t,color:this.labelColor,weight:this.labelWeight,margin:"small",for:e},this.label),a("output",{key:"5e4d188ee952a06e3e25e06ec2d946563aed1ad8","aria-hidden":"true",htmlFor:e,class:"duet-output"},this.value.toLocaleString(this.locale),this.unit),a("input",{key:"5929028f235380be743b2937b400c4100b42640e",onInput:this.onInput,onChange:this.onChange,ref:e=>this.nativeInput=e,type:"range",min:this.min,max:this.max,step:this.step,value:this.value,style:s,"aria-valuemin":this.min,"aria-valuemax":this.max,"aria-valuenow":this.value,"aria-valuetext":`${this.value} ${this.unit}`,"aria-controls":this.accessibleControls,"aria-activedescendant":this.accessibleActiveDescendant,"aria-owns":this.accessibleOwns,"aria-describedby":this.accessibleDescribedBy,id:e,name:this.name,disabled:this.disabled,required:this.required,class:"duet-range"})))}get element(){return i(this)}};f.style='.duet-internal-label{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !important;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:600 !important;line-height:1.25;line-height:1.25;color:rgb(8, 42, 77);text-align:left;word-break:break-word;cursor:default}.duet-internal-label.duet-p-0{padding:0 !important}.duet-internal-label.duet-m-0{margin:0 !important}.duet-internal-label span{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-internal-label.duet-m-0{margin-bottom:0 !important}.duet-internal-label.duet-small-margin{margin-top:8px !important;margin-bottom:4px !important}.duet-internal-label.duet-has-tooltip{padding-right:48px}@media (min-width: 48em){.duet-internal-label.duet-has-tooltip{padding-right:0}}.duet-internal-label.duet-internal-label-small{font-size:0.875rem}.duet-internal-label.duet-internal-label-small span{font-size:0.875rem}.duet-internal-label.duet-weight-normal{font-weight:400 !important}.duet-internal-label.duet-weight-normal span{font-weight:400 !important}.duet-internal-label.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 42, 59)}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;max-width:100%;vertical-align:bottom;text-align:left}:host:last-child,:host:last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host:last-of-type:not(:last-child){margin-right:16px !important}@media (min-width: 36em){:host{width:calc(50% - 16px - 3px)}:host.duet-expand{width:100% !important}}:host(.duet-m-0){margin:0 !important}.duet-range-container{position:relative;width:100%}.duet-output{position:absolute;top:12px;right:0;z-index:200;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:0.875rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25;color:rgb(8, 42, 77);background:rgb(255, 255, 255)}.duet-range-disabled .duet-output{color:rgb(127, 150, 165)}.duet-range{position:relative;z-index:100;width:100%;height:4px;background:rgb(181, 198, 208);border-radius:4px}.duet-range:focus{outline:0}:host(.user-is-tabbing) .duet-range:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva :host(.user-is-tabbing) .duet-range:focus,:host(.user-is-tabbing) .duet-range:focus.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-ie .duet-range{display:block;width:auto;height:26px;background:transparent !important}.duet-range::-moz-range-track{height:1px;-moz-appearance:none;background:transparent !important;border:0}.duet-range::-ms-track{color:transparent;background:transparent;border:0}.duet-range:active{outline:0}.duet-range::-webkit-slider-runnable-track{background:transparent}.duet-range::-webkit-slider-thumb{position:relative;width:24px;height:24px;-webkit-appearance:none;cursor:-webkit-grab;background:rgb(255, 255, 255);border:1px solid rgb(127, 150, 165);border-radius:50%;transition:box-shadow 300ms ease}.duet-range:active::-webkit-slider-thumb{cursor:-webkit-grabbing}.duet-range::-moz-range-thumb{position:relative;width:24px;height:24px;appearance:none;cursor:-moz-grab;background:rgb(255, 255, 255);border:1px solid rgb(127, 150, 165);border-radius:50%}.duet-range:active::-moz-range-thumb{cursor:-moz-grabbing}.duet-range::-ms-thumb{position:relative;width:24px;height:24px;overflow:visible;background:rgb(255, 255, 255);border:1px solid rgb(127, 150, 165);border-radius:50%}.duet-range:disabled{background:rgb(181, 198, 208) !important}.duet-range:disabled::-webkit-slider-thumb{cursor:default;background:rgb(181, 198, 208);border-color:transparent}.duet-range:disabled::-moz-range-thumb{cursor:default;background:rgb(181, 198, 208);border-color:transparent}.duet-range:disabled::-ms-thumb{cursor:default;background:rgb(181, 198, 208);border-color:transparent}.duet-range::-ms-fill-lower{height:4px;background:rgb(0, 119, 179)}.duet-range::-ms-fill-upper{height:4px;background:rgb(181, 198, 208)}.duet-label-hidden .duet-internal-label,.duet-label-hidden output{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;clip:rect(0 0 0 0)}.duet-theme-turva .duet-output{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, 42, 59)}.duet-range-disabled.duet-theme-turva .duet-output{color:rgb(120, 145, 164)}.duet-theme-turva .duet-range{background:rgb(178, 194, 205)}.duet-theme-turva .duet-range::-webkit-slider-thumb{border-color:rgb(120, 145, 164)}.duet-theme-turva .duet-range::-moz-range-thumb{border-color:rgb(120, 145, 164)}.duet-theme-turva .duet-range::-ms-thumb{border-color:rgb(120, 145, 164)}.duet-theme-turva .duet-range:disabled{background:rgb(178, 194, 205) !important}.duet-theme-turva .duet-range:disabled::-webkit-slider-thumb{background:rgb(178, 194, 205);border-color:transparent}.duet-theme-turva .duet-range:disabled::-moz-range-thumb{background:rgb(178, 194, 205);border-color:transparent}.duet-theme-turva .duet-range:disabled::-ms-thumb{background:rgb(178, 194, 205);border-color:transparent}.duet-theme-turva .duet-range::-ms-fill-lower{background:rgb(230, 23, 64)}.duet-theme-turva .duet-range::-ms-fill-upper{background:rgb(178, 194, 205)}';export{f as duet_range_slider}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{r as e,h as t,H as o,g as a}from"./p-Cwhi6_oZ.js";import{i as r}from"./p-D2EBd3cT.js";const i=class{constructor(t){e(this,t),this.theme="",this.variation="default",this.active=!1,this.href="#",this.icon=void 0}componentWillLoad(){r(this)}render(){const e="negative"===this.variation?"negative":"white";return t(o,{key:"37bc6a6543039418aa1450349f23f7eba45adadb",role:"listitem"},t("a",{key:"55cc4a44d00c2d228ab14686063417d471beec5d",class:{"duet-toolbar-link":!0,"duet-theme-turva":"turva"===this.theme,active:this.active,[e]:!0},href:this.href,"aria-current":this.active?"true":"false","aria-label":this.accessibleLabel},this.icon&&t("duet-icon",{key:"363fec506c3668d762b5a706b720f4ab8efb0bb5",size:"x-small",name:this.icon,margin:"none",theme:this.theme,color:"currentColor"}),t("slot",{key:"086cbb4a926a01fcee0ce4d7ca417ad031c60110"})))}get element(){return a(this)}};i.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;height:100%}.duet-toolbar-link{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 16px;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 75, 129);text-align:center;white-space:nowrap;text-decoration:none}.duet-toolbar-link:focus{outline:2px solid;outline-offset:-4px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-toolbar-link:focus,.duet-toolbar-link:focus.duet-theme-turva{outline:2px solid;outline-offset:-4px;outline-color:rgba(53, 79, 101, 0.8)}.duet-toolbar-link.negative{color:rgb(255, 255, 255)}.duet-toolbar-link.negative:focus{outline:2px solid;outline-offset:-4px;outline-color:rgb(255, 255, 255)}.duet-toolbar-link.negative duet-icon{color:rgb(198, 225, 238)}.duet-toolbar-link:hover{color:rgb(8, 42, 77);background:rgb(240, 247, 250)}.duet-toolbar-link:hover.negative{color:rgb(255, 255, 255);background:rgba(8, 42, 77, 0.2)}.duet-toolbar-link.active{color:rgb(8, 42, 77)}.duet-toolbar-link.active.negative{font-weight:600;color:rgb(255, 255, 255);background:rgba(8, 42, 77, 0.2)}.duet-toolbar-link.active.negative::after{display:none}.duet-toolbar-link.active::after{position:absolute;top:auto;bottom:1px;left:0;display:block;width:100%;height:1px;content:"";background:rgb(0, 119, 179);transform:translateY(1px);transition:300ms ease}.duet-toolbar-link.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 42, 59);background:transparent}.duet-toolbar-link.duet-theme-turva.negative{color:rgb(255, 255, 255)}.duet-toolbar-link.duet-theme-turva.negative duet-icon{color:rgb(255, 229, 230)}.duet-toolbar-link.duet-theme-turva:hover{color:rgb(23, 42, 59);background:rgb(253, 247, 242)}.duet-toolbar-link.duet-theme-turva:hover.negative{color:rgb(255, 255, 255)}.duet-toolbar-link.duet-theme-turva:hover.negative duet-icon{color:rgb(255, 229, 230)}.duet-toolbar-link.duet-theme-turva:hover.negative{background:rgba(23, 42, 59, 0.2)}.duet-toolbar-link.active.duet-theme-turva{color:rgb(23, 42, 59)}.duet-toolbar-link.active.duet-theme-turva.negative{color:rgb(255, 255, 255)}.duet-toolbar-link.active.duet-theme-turva.negative duet-icon{color:rgb(255, 229, 230)}.duet-toolbar-link.active.duet-theme-turva::after{background:rgb(230, 23, 64)}.duet-toolbar-link.active.negative{background:rgba(23, 42, 59, 0.2)}.duet-toolbar-link.active.duet-theme-turva.negative{background:rgba(23, 42, 59, 0.2)}';export{i as duet_toolbar_link}
4
+ import{r as e,h as t,H as o,g as a}from"./p-B2cboDWM.js";import{i as r}from"./p-BzYmwX5_.js";const i=class{constructor(t){e(this,t),this.theme="",this.variation="default",this.active=!1,this.href="#",this.icon=void 0}componentWillLoad(){r(this)}render(){const e="negative"===this.variation?"negative":"white";return t(o,{key:"d5a11257db70c563cd2b15b062b11fc221b88c51",role:"listitem"},t("a",{key:"a104104ad8ad87083e0329f3c7c70d175b2b23c6",class:{"duet-toolbar-link":!0,"duet-theme-turva":"turva"===this.theme,active:this.active,[e]:!0},href:this.href,"aria-current":this.active?"true":"false","aria-label":this.accessibleLabel},this.icon&&t("duet-icon",{key:"592cc3e8546dfc89ed53a591c367c4f88d18abea",size:"x-small",name:this.icon,margin:"none",theme:this.theme,color:"currentColor"}),t("slot",{key:"2ce50e32cb75f09a50ca4dafdcbc7e94aea500c3"})))}get element(){return a(this)}};i.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;height:100%}.duet-toolbar-link{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 16px;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 75, 129);text-align:center;white-space:nowrap;text-decoration:none}.duet-toolbar-link:focus{outline:2px solid;outline-offset:-4px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-toolbar-link:focus,.duet-toolbar-link:focus.duet-theme-turva{outline:2px solid;outline-offset:-4px;outline-color:rgba(53, 79, 101, 0.8)}.duet-toolbar-link.negative{color:rgb(255, 255, 255)}.duet-toolbar-link.negative:focus{outline:2px solid;outline-offset:-4px;outline-color:rgb(255, 255, 255)}.duet-toolbar-link.negative duet-icon{color:rgb(198, 225, 238)}.duet-toolbar-link:hover{color:rgb(8, 42, 77);background:rgb(240, 247, 250)}.duet-toolbar-link:hover.negative{color:rgb(255, 255, 255);background:rgba(8, 42, 77, 0.2)}.duet-toolbar-link.active{color:rgb(8, 42, 77)}.duet-toolbar-link.active.negative{font-weight:600;color:rgb(255, 255, 255);background:rgba(8, 42, 77, 0.2)}.duet-toolbar-link.active.negative::after{display:none}.duet-toolbar-link.active::after{position:absolute;top:auto;bottom:1px;left:0;display:block;width:100%;height:1px;content:"";background:rgb(0, 119, 179);transform:translateY(1px);transition:300ms ease}.duet-toolbar-link.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 42, 59);background:transparent}.duet-toolbar-link.duet-theme-turva.negative{color:rgb(255, 255, 255)}.duet-toolbar-link.duet-theme-turva.negative duet-icon{color:rgb(255, 229, 230)}.duet-toolbar-link.duet-theme-turva:hover{color:rgb(23, 42, 59);background:rgb(253, 247, 242)}.duet-toolbar-link.duet-theme-turva:hover.negative{color:rgb(255, 255, 255)}.duet-toolbar-link.duet-theme-turva:hover.negative duet-icon{color:rgb(255, 229, 230)}.duet-toolbar-link.duet-theme-turva:hover.negative{background:rgba(23, 42, 59, 0.2)}.duet-toolbar-link.active.duet-theme-turva{color:rgb(23, 42, 59)}.duet-toolbar-link.active.duet-theme-turva.negative{color:rgb(255, 255, 255)}.duet-toolbar-link.active.duet-theme-turva.negative duet-icon{color:rgb(255, 229, 230)}.duet-toolbar-link.active.duet-theme-turva::after{background:rgb(230, 23, 64)}.duet-toolbar-link.active.negative{background:rgba(23, 42, 59, 0.2)}.duet-toolbar-link.active.duet-theme-turva.negative{background:rgba(23, 42, 59, 0.2)}';export{i as duet_toolbar_link}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import{h as n,r as e,H as t,g as a}from"./p-B2cboDWM.js";import{i}from"./p-BzYmwX5_.js";import{h as r,c as s,a as d}from"./p-5lFzA17H.js";import{p as o}from"./p-C6E9F6QT.js";import{g as l,p as u}from"./p-D2ly4TZR.js";import"./p-DEzE2U5T.js";const m=({img:e,sources:t})=>n("picture",null,t&&t.map((e=>n("source",{srcSet:e.srcset,media:e.media,type:e.type,sizes:e.sizes}))),n("img",Object.assign({},e))),p=class{constructor(n){e(this,n),this.theme="",this.margin="auto",this.backgroundColor="primary-lighter",this.iconColor="gray-lightest",this.iconBackgroundColor="primary",this.textColor="secondary",this.size="large",this.image="",this.icon="",this.headingLevel="h2",this.checkCurrentSize=()=>{const n=this.element.clientWidth;this.currentSize=n<500||"small"===this.size?"small":n<900||"medium"===this.size?"medium":"large",this.setButtonSize()},this.setButtonSize=()=>{if(this.hasActionSlot&&this.currentSize){const n=this.element.querySelectorAll("[slot='action'] duet-button, duet-button[slot='action']");for(const e of n)e&&null===e.getAttribute("size")&&"large"!==this.currentSize?e.size="small":e&&null===e.getAttribute("size")&&"large"===this.currentSize&&(e.size="medium")}},this.getBackgroundColor=()=>l("turva"===this.theme&&"primary-lighter"===this.backgroundColor?"turva-nude-50":this.backgroundColor,this.theme)}componentWillLoad(){const n=["h1","h2","h3","h4","h5","h6"];i(this),this.hasHeadingSlot=r(this.element,"heading"),this.hasDescriptionSlot=r(this.element,"description"),this.hasActionSlot=r(this.element,"action"),s(this.element,"heading",`span,${n.join(",")}`),this.hasHeadingSlot&&d(this.element,"heading")[0].matches(n.join(","))&&(this.hasHeadingSlotNative=!0),this.setButtonSize()}connectedCallback(){window.addEventListener("resize",this.checkCurrentSize)}disconnectedCallback(){window.removeEventListener("resize",this.checkCurrentSize)}componentDidRender(){this.checkCurrentSize()}render(){const e=this.getBackgroundColor(),a=l(this.textColor,this.theme),i={backgroundColor:e},r={img:{src:this.image,alt:this.imageAlt||"",loading:"lazy",class:"image",role:this.imageAlt?void 0:"presentation"},sources:o(this.sources)};return n(t,{key:"6c5c51b5270034eca60358d32acf69b0b87cfe37",class:{"duet-m-0":"none"===this.margin}},n("aside",{key:"d3357af952f4d21a284a3c07a4840be8c9d96671",class:{"duet-banner":!0,"duet-theme-turva":"turva"===this.theme,[this.currentSize]:!0,"size-medium":"medium"===this.size||"large"===this.size,"size-large":"large"===this.size,"no-image":!this.image},style:i},n("div",{key:"129fd9d09e47a09e8109741d832e6adbb254c2f7",class:"visual"},n("div",{key:"34a38d97f6591aa3cf06542ccc21d2be6526775e",class:"image-container"},this.image&&n(m,Object.assign({key:"4e74d10a68cbd875eafda59dff824d20f2259534"},r))),!1,n("div",{key:"527007e8b696a194e63cb513d32c8072e3900fa0",style:i,class:"brand-shape"})),n("div",{key:"6c2ce761c87965936e5a77764bd07c4068fc5af1",class:"content"},this.hasHeadingSlot&&n("div",{key:"f95cad851a8a235080682deabc5eb48f69f06090",class:"heading"},n("duet-heading",{key:"35d3d015a16e2f723d2afa61b46b44706239063f",theme:this.theme,level:this.hasHeadingSlotNative?"div":this.headingLevel,"visual-level":"large"===this.currentSize?"h2":"h3","fixed-size":!0,margin:"none",color:u(this.textColor,this.theme)},n("span",{key:"3968de3baeb3baca08829460f41c843df594c3a6"},n("slot",{key:"c19c73a90688fc2e2f45cd46215714cd0f23eee1",name:"heading"})))),this.hasDescriptionSlot&&n("div",{key:"77df4cc82d30c81bd36f73fa7db4bbfb59a491d6",class:"description",style:{color:a}},n("slot",{key:"21d38914241a35c9d5b8803d727abca2b8c7c249",name:"description"})),this.hasActionSlot&&n("div",{key:"aef144cc3dbb6453ed8e0b37337322da880f26d8",class:"action"},n("slot",{key:"613875d267d920e780afe93b3eb4c4fadbb3d73b",name:"action"})))))}get element(){return a(this)}};p.style='*,\n*::after,\n*::before {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n border: 0;\n}\n\n:host {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n border: 0;\n margin-right: 36px !important;\n margin-bottom: 36px !important;\n display: flex;\n justify-content: center;\n width: auto;\n container: duet-banner-container;\n container-type: inline-size;\n}\n:host:last-child, :host:last-of-type {\n margin-right: 0 !important;\n}\n[alignment=form-distribute] > :host:last-of-type:not(:last-child) {\n margin-right: 36px !important;\n}\n\n:host(.duet-m-0) {\n margin: 0 !important;\n}\n\n.duet-banner {\n display: grid;\n grid-template-rows: min-content 1fr;\n width: 100%;\n height: 100%;\n font-family: "localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";\n font-style: normal;\n text-align: left;\n border-radius: 16px;\n}\n.duet-banner.duet-p-0 {\n padding: 0 !important;\n}\n.duet-banner.duet-m-0 {\n margin: 0 !important;\n}\n.duet-banner .visual {\n position: relative;\n display: none;\n overflow: hidden;\n}\n@container duet-banner-container (min-width: 0) {\n .duet-banner .visual {\n display: block;\n }\n}\n.duet-banner .visual .image-container {\n position: relative;\n aspect-ratio: 2/1;\n overflow: hidden;\n}\n.duet-banner .visual .image {\n position: relative;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n}\n.duet-banner .visual .icon {\n position: absolute;\n}\n.duet-banner .visual .brand-shape {\n position: absolute;\n top: 0;\n left: 72%;\n display: none;\n width: 100%;\n height: 100%;\n mask-image: url("data:image/svg+xml,%3Csvg%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20344%22%20fill%3D%22none%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M2.72641e-07%2091.1902C0.000476976%2097.9034%200.626077%20104.726%201.92282%20111.592L42.7493%20327.771C43.8045%20333.358%2045.2667%20338.776%2047.0996%20344H160V0H51.1439C19.7799%2019.1253%200.00268143%2053.4178%202.72641e-07%2091.1749C-9.08807e-08%2091.18%20-9.08875e-08%2091.1851%202.72641e-07%2091.1902Z%22%20fill%3D%22%23E6F2F8%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E");\n transform: scale(101%);\n}\n.duet-banner .content {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 16px 20px 28px;\n}\n.duet-banner .content .description {\n hyphens: auto;\n}\n.duet-banner .action {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-end;\n padding-top: 16px;\n}\n.duet-banner .visual {\n border-top-left-radius: 16px;\n border-top-right-radius: 16px;\n}\n.duet-banner .visual .image-container {\n width: 100%;\n height: auto;\n border-radius: 0;\n}\n.duet-banner .visual .icon {\n bottom: 30px;\n left: 15px;\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner.size-medium, .duet-banner.size-large {\n grid-template-rows: none;\n grid-template-columns: 50% 50%;\n }\n .duet-banner.size-medium .visual, .duet-banner.size-large .visual {\n border-top-left-radius: 16px;\n border-top-right-radius: 0;\n border-bottom-left-radius: 16px;\n }\n .duet-banner.size-medium .visual .image-container, .duet-banner.size-large .visual .image-container {\n height: 100%;\n }\n .duet-banner.size-medium .visual .image, .duet-banner.size-large .visual .image {\n width: 100%;\n height: 100%;\n }\n .duet-banner.size-medium .visual .icon, .duet-banner.size-large .visual .icon {\n top: 36px;\n left: 168px;\n }\n .duet-banner.size-medium .visual .brand-shape, .duet-banner.size-large .visual .brand-shape {\n display: block;\n }\n .duet-banner.size-medium .content, .duet-banner.size-large .content {\n align-items: flex-start;\n justify-content: center;\n padding: 28px 28px 28px 0;\n }\n .duet-banner.size-medium .action, .duet-banner.size-large .action {\n flex-grow: 0;\n }\n}\n@container duet-banner-container (min-width: 586px) {\n .duet-banner.size-medium .visual .brand-shape, .duet-banner.size-large .visual .brand-shape {\n left: 80%;\n }\n}\n@container duet-banner-container (min-width: 900px) {\n .duet-banner.size-large {\n grid-template-rows: none;\n grid-template-columns: 50% 50%;\n }\n .duet-banner.size-large .visual {\n border-top-left-radius: 16px;\n border-bottom-left-radius: 16px;\n }\n .duet-banner.size-large .visual .image-container {\n height: 100%;\n }\n .duet-banner.size-large .visual .image {\n width: 100%;\n height: 100%;\n }\n .duet-banner.size-large .visual .icon {\n top: 40px;\n bottom: auto;\n left: 335px;\n }\n .duet-banner.size-large .visual .brand-shape {\n display: block;\n }\n .duet-banner.size-large .content {\n align-items: flex-start;\n justify-content: center;\n padding: 48px 48px 48px 0;\n }\n .duet-banner.size-large .action {\n flex-grow: 0;\n }\n}\n.duet-banner.no-image {\n display: flex;\n justify-content: center;\n padding: 36px 20px;\n}\n.duet-banner.no-image .visual {\n display: none;\n}\n.duet-banner.no-image .content {\n width: 100%;\n max-width: 720px;\n padding: 0;\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner.no-image.size-medium, .duet-banner.no-image.size-large {\n padding: 48px;\n }\n}\n\n::slotted(.duet-heading) {\n margin: inherit !important;\n font-size: inherit !important;\n line-height: inherit !important;\n color: inherit !important;\n}\n\n.duet-banner.duet-theme-turva {\n font-family: "turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";\n border-radius: 12px;\n}\n.duet-banner.duet-theme-turva .visual .brand-shape {\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%22540%22%20height%3D%2258%22%20viewBox%3D%220%200%20540%2058%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M540%2018.0729L540%2057.6749H0L0.000139455%2011.2563C0.000139455%202.85822%208.31858%20-2.59156%2015.3307%201.26796C33.6821%2011.3367%2055.6983%2020.0831%2080.3633%2027.3465C134.438%2043.276%20201.239%2052.0939%20270%2052.0939C338.761%2052.0939%20405.572%2043.276%20459.637%2027.3465C484.302%2020.0742%20506.318%2011.3277%20524.669%201.25902C531.682%20-2.59156%20540%202.85822%20540%2011.2563V18.0729Z%22%20fill%3D%22%23FBEBE1%22%2F%3E%0A%3C%2Fsvg%3E%0A");\n mask-repeat: no-repeat;\n mask-position: bottom;\n mask-size: contain;\n scale: 101%;\n}\n.duet-banner.duet-theme-turva.size-medium .visual, .duet-banner.duet-theme-turva.size-large .visual {\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner.duet-theme-turva.size-medium, .duet-banner.duet-theme-turva.size-large {\n grid-template-columns: 1fr 1fr;\n gap: 28px;\n border-radius: 12px;\n }\n .duet-banner.duet-theme-turva.size-medium .visual, .duet-banner.duet-theme-turva.size-large .visual {\n border-top-left-radius: 12px;\n border-top-right-radius: 0;\n border-bottom-left-radius: 12px;\n }\n .duet-banner.duet-theme-turva.size-medium .visual .image-container, .duet-banner.duet-theme-turva.size-large .visual .image-container {\n padding: 20px;\n padding-right: 0;\n }\n .duet-banner.duet-theme-turva.size-medium .visual .image, .duet-banner.duet-theme-turva.size-large .visual .image {\n border-radius: 12px;\n }\n .duet-banner.duet-theme-turva.size-medium .visual .brand-shape, .duet-banner.duet-theme-turva.size-large .visual .brand-shape {\n display: none;\n }\n}';export{p as duet_banner}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{r as e,h as t,H as o,g as n}from"./p-Cwhi6_oZ.js";import{a}from"./p-Ce9HQd35.js";import{i as r}from"./p-D2EBd3cT.js";import{a as i}from"./p-Db8rvjPI.js";const d=class{constructor(t){e(this,t),this.mql=[window.matchMedia(a.replace(/'/g,""))],this.boundMqlFunctions=[],this.isDesktop=!1,this.theme="",this.active=!1,this.open=!1,this.icon=void 0,this.checkIsDesktop=()=>{this.isDesktop=!!this.mql[0].matches},this.onClick=()=>{const e=this.open;if(!this.isDesktop){const e=Array.from(this.element.parentElement.querySelectorAll("duet-submenu-bar-dropdown"));for(const t of e)t.open=!1}this.open=!e}}handleFocus(e){e.composedPath().every((e=>e!==this.element))&&this.isDesktop&&(this.open=!1)}componentWillLoad(){r(this)}connectedCallback(){this.checkIsDesktop();for(let e=0;e<this.mql.length;e++)if(this.mql[e].addEventListener){const t=this.checkIsDesktop.bind(this);this.mql[e].addEventListener("change",t),this.boundMqlFunctions[e]=t}}disconnectedCallback(){for(let e=0;e<this.mql.length;e++)this.mql[e].removeEventListener&&this.mql[e].removeEventListener("change",this.boundMqlFunctions[e]);this.boundMqlFunctions=[]}handleEscape(e){if(i(e))if(this.open)this.open=!1;else{const e=this.element.closest("duet-submenu-bar");e.open=!1,e.setFocus()}}async setFocus(e){this.button.focus(e)}render(){return t(o,{key:"b08d71c303bbbb5dc488ccb9df3a6606cbcee45f",role:"listitem"},t("div",{key:"f27808ba704701f0857e90d8c4474f11f2bd284d",class:{"duet-submenu-bar-dropdown":!0,"duet-theme-turva":"turva"===this.theme,open:this.open,active:this.active}},t("button",{key:"da50cea3b3daea0da483dc01649345a9fcc27d55",ref:e=>this.button=e,"aria-haspopup":"menu","aria-controls":"menu","aria-expanded":this.open?"true":"false","aria-current":this.active?"true":"false",id:"button",type:"button",class:{open:this.open,active:this.active},onClick:this.onClick,onKeyUp:e=>this.handleEscape(e)},this.icon&&t("duet-icon",{key:"41562541f2cf4bbe9e8d6ccb3214b8fc5b44079f",class:"submenu-bar-dropdown-icon",theme:this.theme,name:this.icon,size:"auto",margin:"none",color:"currentColor"}),t("div",{key:"8b2782607b3478bc491ce2fa423257d4233968fa",class:"label"},t("span",{key:"5b22aff9852f284416e15d60b1a262e963ff228e",class:"label-text"},t("slot",{key:"aec50191a12adf0fbd6f9e388c2dc09954d21f83",name:"label"})),t("duet-icon",{key:"154795bda221d38ca73b47a86c97da4c6e4d573b",class:"caret",theme:this.theme,name:"action-arrow-down-small",margin:"none",size:"xxx-small",color:"currentColor"}))),t("div",{key:"574669c2280fa1e7e4d14666f95fbe912a068119",tabindex:"-1",role:"menu",id:"menu","aria-labelledby":"button",class:{items:!0,hidden:!this.open}},t("slot",{key:"9a69e63aae77e184049ed7d8f7f511d47eca642e"}))))}get element(){return n(this)}};d.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-dropdown{position:relative;height:100%}.duet-submenu-bar-dropdown button{position:relative;display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:12px 1.5rem;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:600;line-height:1.25;color:rgb(8, 42, 77);text-align:center;text-decoration:none;cursor:pointer}.duet-submenu-bar-dropdown button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-submenu-bar-dropdown button:focus,.duet-submenu-bar-dropdown button:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}@media (min-width: 62em){.duet-submenu-bar-dropdown button{flex-direction:column;gap:5px;align-items:center;justify-content:center;width:auto;font-size:0.875rem;color:rgb(0, 75, 129)}}.duet-submenu-bar-dropdown button .label{display:flex;gap:5px;align-items:center;justify-content:center}@media (min-width: 62em){.duet-submenu-bar-dropdown button.open{background:rgb(228, 241, 247)}}.duet-submenu-bar-dropdown button.open .caret{transform:rotate(180deg)}.duet-submenu-bar-dropdown button.active .label-text{position:relative}.duet-submenu-bar-dropdown button.active .label-text::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:"";background:rgb(0, 119, 179);transform:1px}@media (min-width: 62em){.duet-submenu-bar-dropdown button.active .label-text::after{display:none}}@media (min-width: 62em){.duet-submenu-bar-dropdown button .caret{position:absolute;right:12px}.duet-submenu-bar-dropdown button:hover{color:rgb(8, 42, 77);background:rgb(228, 241, 247)}.duet-submenu-bar-dropdown button:hover.active{color:rgb(8, 42, 77)}.duet-submenu-bar-dropdown button.active{color:rgb(0, 119, 179)}.duet-submenu-bar-dropdown button.active::after,.duet-submenu-bar-dropdown button.open::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:"";background:rgb(0, 119, 179);transform:translateY(1px);transition:300ms ease}}.duet-submenu-bar-dropdown .submenu-bar-dropdown-icon{width:20px;height:20px}@media (min-width: 62em){.duet-submenu-bar-dropdown .submenu-bar-dropdown-icon{width:16px;height:16px}}.duet-submenu-bar-dropdown .items{display:flex;visibility:visible;flex-direction:column;align-items:center;justify-content:center;max-height:1000px;padding:4px 0 16px;overflow-y:auto;color:rgb(8, 42, 77);scrollbar-width:none;transition:max-height 0.3s ease-in, padding 0.3s ease-in;-ms-overflow-style:none}.duet-submenu-bar-dropdown .items::-webkit-scrollbar{display:none}@media (min-width: 62em){.duet-submenu-bar-dropdown .items{position:absolute;top:93%;z-index:600;min-width:320px;padding:8px;background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15);transition:none}}.duet-submenu-bar-dropdown .items.hidden{visibility:hidden;max-height:0;padding:0;overflow:hidden;transition:max-height 0.3s ease-in, padding 0.3s ease-in}.duet-submenu-bar-dropdown.duet-theme-turva 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, 42, 59)}.duet-submenu-bar-dropdown.duet-theme-turva button.active{color:rgb(230, 23, 64)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button:hover{background:rgb(251, 225, 209)}}.duet-submenu-bar-dropdown.duet-theme-turva button.active .label-text::after,.duet-submenu-bar-dropdown.duet-theme-turva button.open .label-text::after{background:rgb(230, 23, 64)}.duet-submenu-bar-dropdown.duet-theme-turva button.active::after,.duet-submenu-bar-dropdown.duet-theme-turva button.open::after{background:rgb(230, 23, 64)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button.active,.duet-submenu-bar-dropdown.duet-theme-turva button.open{color:rgb(140, 0, 30)}.duet-submenu-bar-dropdown.duet-theme-turva button.open{background:rgb(251, 225, 209)}}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva .items{background:rgb(255, 255, 255)}}';export{d as duet_submenu_bar_dropdown}
4
+ import{r as e,h as t,H as o,g as n}from"./p-B2cboDWM.js";import{a}from"./p-Ce9HQd35.js";import{i as r}from"./p-BzYmwX5_.js";import{a as i}from"./p-Db8rvjPI.js";const d=class{constructor(t){e(this,t),this.mql=[window.matchMedia(a.replace(/'/g,""))],this.boundMqlFunctions=[],this.isDesktop=!1,this.theme="",this.active=!1,this.open=!1,this.icon=void 0,this.checkIsDesktop=()=>{this.isDesktop=!!this.mql[0].matches},this.onClick=()=>{const e=this.open;if(!this.isDesktop){const e=Array.from(this.element.parentElement.querySelectorAll("duet-submenu-bar-dropdown"));for(const t of e)t.open=!1}this.open=!e}}handleFocus(e){e.composedPath().every((e=>e!==this.element))&&this.isDesktop&&(this.open=!1)}componentWillLoad(){r(this)}connectedCallback(){this.checkIsDesktop();for(let e=0;e<this.mql.length;e++)if(this.mql[e].addEventListener){const t=this.checkIsDesktop.bind(this);this.mql[e].addEventListener("change",t),this.boundMqlFunctions[e]=t}}disconnectedCallback(){for(let e=0;e<this.mql.length;e++)this.mql[e].removeEventListener&&this.mql[e].removeEventListener("change",this.boundMqlFunctions[e]);this.boundMqlFunctions=[]}handleEscape(e){if(i(e))if(this.open)this.open=!1;else{const e=this.element.closest("duet-submenu-bar");e.open=!1,e.setFocus()}}async setFocus(e){this.button.focus(e)}render(){return t(o,{key:"b6cb68f4a7f9031d91d1ee24dd9d2c9362ac6725",role:"listitem"},t("div",{key:"7e96c76557c1d6e73b30ebca3306a894febcc82c",class:{"duet-submenu-bar-dropdown":!0,"duet-theme-turva":"turva"===this.theme,open:this.open,active:this.active}},t("button",{key:"7b67d1dcae40e2b849bd6510b40564232c0d5ef1",ref:e=>this.button=e,"aria-haspopup":"menu","aria-controls":"menu","aria-expanded":this.open?"true":"false","aria-current":this.active?"true":"false",id:"button",type:"button",class:{open:this.open,active:this.active},onClick:this.onClick,onKeyUp:e=>this.handleEscape(e)},this.icon&&t("duet-icon",{key:"7930a2bb5271755d5bef2033ab4d26e0a1066a3e",class:"submenu-bar-dropdown-icon",theme:this.theme,name:this.icon,size:"auto",margin:"none",color:"currentColor"}),t("div",{key:"421394660c70b14303e7a1ac02077fa2b738122c",class:"label"},t("span",{key:"0faf06b99e50e65a857da85c547a4faced3ca773",class:"label-text"},t("slot",{key:"b1d4f70cfb107ff5dd4babcd7d0da42d2e979f56",name:"label"})),t("duet-icon",{key:"e240873040259a28f6d5aa3a86600114627e2a97",class:"caret",theme:this.theme,name:"action-arrow-down-small",margin:"none",size:"xxx-small",color:"currentColor"}))),t("div",{key:"6336348bb6bc7f8cd5630bdbbd3f36920b6ebe5a",tabindex:"-1",role:"menu",id:"menu","aria-labelledby":"button",class:{items:!0,hidden:!this.open}},t("slot",{key:"1f3bd9f1dabf44b36839eb121c965ead3e3c66fa"}))))}get element(){return n(this)}};d.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-dropdown{position:relative;height:100%}.duet-submenu-bar-dropdown button{position:relative;display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:12px 1.5rem;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:600;line-height:1.25;color:rgb(8, 42, 77);text-align:center;text-decoration:none;cursor:pointer}.duet-submenu-bar-dropdown button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-submenu-bar-dropdown button:focus,.duet-submenu-bar-dropdown button:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}@media (min-width: 62em){.duet-submenu-bar-dropdown button{flex-direction:column;gap:5px;align-items:center;justify-content:center;width:auto;font-size:0.875rem;color:rgb(0, 75, 129)}}.duet-submenu-bar-dropdown button .label{display:flex;gap:5px;align-items:center;justify-content:center}@media (min-width: 62em){.duet-submenu-bar-dropdown button.open{background:rgb(228, 241, 247)}}.duet-submenu-bar-dropdown button.open .caret{transform:rotate(180deg)}.duet-submenu-bar-dropdown button.active .label-text{position:relative}.duet-submenu-bar-dropdown button.active .label-text::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:"";background:rgb(0, 119, 179);transform:1px}@media (min-width: 62em){.duet-submenu-bar-dropdown button.active .label-text::after{display:none}}@media (min-width: 62em){.duet-submenu-bar-dropdown button .caret{position:absolute;right:12px}.duet-submenu-bar-dropdown button:hover{color:rgb(8, 42, 77);background:rgb(228, 241, 247)}.duet-submenu-bar-dropdown button:hover.active{color:rgb(8, 42, 77)}.duet-submenu-bar-dropdown button.active{color:rgb(0, 119, 179)}.duet-submenu-bar-dropdown button.active::after,.duet-submenu-bar-dropdown button.open::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:"";background:rgb(0, 119, 179);transform:translateY(1px);transition:300ms ease}}.duet-submenu-bar-dropdown .submenu-bar-dropdown-icon{width:20px;height:20px}@media (min-width: 62em){.duet-submenu-bar-dropdown .submenu-bar-dropdown-icon{width:16px;height:16px}}.duet-submenu-bar-dropdown .items{display:flex;visibility:visible;flex-direction:column;align-items:center;justify-content:center;max-height:1000px;padding:4px 0 16px;overflow-y:auto;color:rgb(8, 42, 77);scrollbar-width:none;transition:max-height 0.3s ease-in, padding 0.3s ease-in;-ms-overflow-style:none}.duet-submenu-bar-dropdown .items::-webkit-scrollbar{display:none}@media (min-width: 62em){.duet-submenu-bar-dropdown .items{position:absolute;top:93%;z-index:600;min-width:320px;padding:8px;background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15);transition:none}}.duet-submenu-bar-dropdown .items.hidden{visibility:hidden;max-height:0;padding:0;overflow:hidden;transition:max-height 0.3s ease-in, padding 0.3s ease-in}.duet-submenu-bar-dropdown.duet-theme-turva 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, 42, 59)}.duet-submenu-bar-dropdown.duet-theme-turva button.active{color:rgb(230, 23, 64)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button:hover{background:rgb(251, 225, 209)}}.duet-submenu-bar-dropdown.duet-theme-turva button.active .label-text::after,.duet-submenu-bar-dropdown.duet-theme-turva button.open .label-text::after{background:rgb(230, 23, 64)}.duet-submenu-bar-dropdown.duet-theme-turva button.active::after,.duet-submenu-bar-dropdown.duet-theme-turva button.open::after{background:rgb(230, 23, 64)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button.active,.duet-submenu-bar-dropdown.duet-theme-turva button.open{color:rgb(140, 0, 30)}.duet-submenu-bar-dropdown.duet-theme-turva button.open{background:rgb(251, 225, 209)}}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva .items{background:rgb(255, 255, 255)}}';export{d as duet_submenu_bar_dropdown}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import{r as e,h as o,H as t,g as n}from"./p-B2cboDWM.js";import{i as r}from"./p-BzYmwX5_.js";import{a}from"./p-Db8rvjPI.js";const i=class{constructor(o){e(this,o),this.theme="",this.href="#",this.icon=void 0,this.getVariant=()=>(this.element.parentElement.parentElement.getAttribute("slot"),"right")}componentWillLoad(){r(this)}handleEscape(e){if(a(e)){const e=this.element.closest("duet-menu-bar-dropdown");e.open=!1,e.setFocus()}}render(){return o(t,{key:"44c02bb0c92ca03579e70dc6f79178099f38de61"},o("a",{key:"26b45ac19043800a070894afec67517d051b6ccc",class:{"duet-menu-bar-dropdown-link":!0,[`duet-menu-bar-dropdown-link--slot-${this.getVariant()}`]:!0,"duet-theme-turva":"turva"===this.theme},href:this.href,role:"menuitem",onKeyUp:e=>this.handleEscape(e),"aria-label":this.accessibleLabel},this.icon&&o("duet-icon",{key:"4d481450931bbf089d2f6d5ee7076aca7c3978f1",theme:this.theme,name:this.icon,size:"x-small",margin:"none",color:"currentColor"}),o("slot",{key:"b47043814429787c833949bac92bae95b2001419"})))}get element(){return n(this)}};i.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;width:100%;height:100%}.duet-menu-bar-dropdown-link{display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:flex-start;height:100%;padding:0.5rem 8px;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:rgb(8, 42, 77);text-align:left;text-decoration:none}.duet-menu-bar-dropdown-link:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-menu-bar-dropdown-link:focus,.duet-menu-bar-dropdown-link:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-menu-bar-dropdown-link:hover{background:rgb(228, 241, 247)}.duet-menu-bar-dropdown-link.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 42, 59)}.duet-menu-bar-dropdown-link.duet-theme-turva:hover{background:rgb(251, 235, 225)}';export{i as duet_menu_bar_dropdown_link}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{h as t,r as e,c as i,H as a,g as n,F as s}from"./p-Cwhi6_oZ.js";import{i as o}from"./p-D2EBd3cT.js";import{f as d,d as l}from"./p-BlUsLmbQ.js";import{i as r}from"./p-Db8rvjPI.js";import{a as h,c as u,d as p,g as b,s as c}from"./p-DWIjWGAD.js";import{q as m,r as f,p as g,u as y,v,w as k,x,y as w,z as $,A as T,f as L,B as E,C as z,D as j,E as S,F as D,G as M,H as F,I as C,j as R,s as _,J as U}from"./p-DEzE2U5T.js";import{b as P,a as A}from"./p-D2ly4TZR.js";import{c as W}from"./p-Cfr_DJqU.js";import{p as H}from"./p-C6E9F6QT.js";import{a as q,g as I}from"./p-2HU78SJ-.js";const B=({data:e,groupId:i,alignment:a})=>{const n=`duet-editable-table duet-editable-table-content-${i}`;return"string"==typeof e?t("td",{innerHTML:e,class:n,part:`${i}content`,style:{verticalAlign:a}}):t("td",{class:n,part:`${i}content`,style:{verticalAlign:a}},e)},N=class{constructor(t){e(this,t),this.duetTableToggle=i(this,"duetTableToggle",7),this.duetMenuClick=i(this,"duetMenuClick",7),this.hasHeadSlotFirst=!1,this.hasHeadSlotLast=!1,this.hasFootSlot=!1,this.language=h(),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.actions=void 0,this.columns=void 0,this.rows=void 0,this.sortable=!1,this.groupId="",this.theme="",this.accessibleRole=void 0,this.hideHeadVisually=!1,this.sortableDefaultLabel={fi:"Järjestä",en:"Click to sort",sv:"Klicka för att sortera"},this.actionColumnLabel={en:"Actions for rows",fi:"Toiminnot rivillä",sv:"Åtgärder för rader"},this.toggleColumn=(t,e)=>{e.preventDefault();const{sort_order:i,direction:a,index:n,key:s}=t;this.duetTableToggle.emit({sort_order:i,index:n,direction:a,key:s,component:"duet-editable-table",originalEvent:e})},this.handleKeyDown=(t,e)=>{r(e)&&this.toggleColumn(t,e)}}componentWillLoad(){o(this),this.hasHeadSlotFirst=!!this.element.querySelector("[slot='thead-first']"),this.hasHeadSlotLast=!!this.element.querySelector("[slot='thead-last']"),this.hasFootSlot=!!this.element.querySelector("[slot='tfoot']")}connectedCallback(){u(this)}disconnectedCallback(){p(this)}createLabel(e){const{sort_order:i,direction:a,index:n,label:s}=e,o=b(s);return this.sortable?t("span",{class:"duet-table-label","data-index":n},t("duet-button",{size:"small",icon:i&&1===a?"action-arrow-down-small":i&&-1===a?"action-arrow-up-small":"action-subtract-small","icon-size":"medium-small","accessible-label":this.sortableDefaultLabel[this.language],variation:"plain",margin:"none","icon-right":!0,onClick:t=>this.toggleColumn(e,t),onKeyDown:t=>this.handleKeyDown(e,t)},o)):o}getSortedColumns(){return[...this.columns].sort(d(["index"]))}getRowSortOrder(){return[...this.columns].sort(d(["sort_order"])).filter((t=>t.sort_order)).map((t=>-1===t.direction?`-${t.key}`:t.key))}renderTableHeader(){if(!this.columns)return;const e=this.getSortedColumns();return t("tr",{class:{"duet-table-action-header":!!this.actions}},e.map((e=>{if(!1!==e.display){const i=this.createLabel(e);return""!==i?t("th",{scope:"col"},i):t("td",null)}})),this.actions&&t("th",{scope:"col",class:"duet-table-action-header-heading"},this.actions&&t("duet-visually-hidden",null,this.actionColumnLabel[this.language])))}renderActions(e,i){if(this.actions)return t("td",{class:"duet-text-right"},this.actions.map((a=>t("duet-action-button",{actionMeta:Object.assign({},(null==e?void 0:e.meta)||{},{index:i}),actionId:(null==e?void 0:e.uid)||(null==e?void 0:e.id)||null,actionName:a.name,theme:this.theme,iconName:a.icon,iconColor:a.color,iconSize:a.size,background:a.background,"accessible-label":`${e.actionDescription||""} ${b(a.label)} `}))))}renderTableBody(){const e=this.getSortedColumns(),i=this.getRowSortOrder();return[...this.rows].sort(d(i)).map(((i,a)=>t("tr",{class:{"duet-table-action-row":!!this.actions,"duet-editable-table-row":!0,[`duet-editable-table-row-${this.groupId}`]:!0},"data-meta":JSON.stringify(i.meta)},e.map((e=>{if(!1!==e.display)return t(B,{data:i[e.key]?i[e.key]:i.item,groupId:this.groupId})})),this.actions&&this.renderActions(i,a))))}render(){return t(a,{key:"a0c3202194fcc3910b50193f2a4fcb3bd7d3a5d8",class:{[`duet-editable-table-${this.variation}`]:!0,"duet-editable-table":!0,[`duet-editable-table-${this.theme}`]:!0,"duet-editable-table-scrollable":"none-scrollable"===this.breakpoint,"duet-editable-table-sortable":this.sortable,"duet-editable-table-actions":!!this.actions,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme}},t("duet-table",{key:"6e53631c212527e8702f9e9c8a1b9bc2b390c830",class:"duet-editable-table-table",sticky:this.sticky,stickyDistance:this.stickyDistance,margin:this.margin,theme:this.theme,variation:this.variation,breakpoint:this.breakpoint,"hide-head-visually":this.hideHeadVisually},t("table",{key:"990481c1affeb11d6a6541a36a8f0118c961915c",role:this.accessibleRole},t("caption",{key:"f7b1bc44ab9fef0194485fdd6e49e11a306e365c"},t("slot",{key:"2caecec6e5c024bdde6fa6bf72917914e2626752",name:"tcaption"})),t("thead",{key:"c892dcd586814dcecddc46fbaf0319b04b6d9f16"},this.hasHeadSlotFirst&&t("tr",{key:"bfbac21dbab8afab7f34e952bd5803954be4991d"},t("td",{key:"0a491ed1c4855d55b4dbc493a52029d657a08cc5",class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{key:"87c033e72a1bd3b87a51a4981b1b4939de66578d",name:"thead-first"}))),this.renderTableHeader(),this.hasHeadSlotLast&&t("tr",{key:"2ab66f9b14fe592f7ee7e6293cdd56b3aed0190e"},t("td",{key:"edb3ae066371b6f5dc990f10f088246c0d9388d9",class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{key:"f57ebf07ee01c40cb47469b2fa07a706c4724dae",name:"thead-last"})))),t("tbody",{key:"538b2de606132fcb272e5af1650cafb947fc5b2a"},this.renderTableBody()),this.hasFootSlot&&t("tfoot",{key:"2f1a98dd550705933222f7179bc3ff4d6554d117"},t("tr",{key:"ecb9667d57ea85de7efa6fa0035fbfbb16c78a9e"},t("td",{key:"c78b25495de0621c55f70cce5131b1d192fc5e0e",class:"duet-editable-table-footer-menu",colSpan:99},t("slot",{key:"ed051b0e66c28fdbee565b33c1c394034a817a82",name:"tfoot"})))))))}get element(){return n(this)}};N.style=":host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}.duet-editable-table-actions-menu,td.duet-editable-table-actions-menu{position:relative;padding:0 !important;margin:0}.duet-editable-table-actions-menu-button{position:relative;right:-16px;float:right;padding:0}.duet-editable-table-actions-menu-icon .duet-icon{max-width:16px;max-height:16px}.duet-editable-table-row.duet-table-action-row .duet-text-right{text-align:right}.duet-editable-table-header tr .duet-editable-table-header-hidden{padding:0 !important;font-size:0;border-bottom:0}";const O=t=>t.replace("rgb(","").replace(")",""),Y=`\nduet-table {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n margin-bottom: ${m} !important;\n display: block;\n font-variant-numeric: tabular-nums;\n\n table,\n thead,\n tbody,\n tfoot,\n th,\n td,\n tr {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n }\n\n &.duet-m-0 {\n margin: 0 !important;\n }\n\n table {\n width: 100%;\n font-family: ${f};\n font-size: ${g};\n text-align: left;\n border-spacing: 0;\n border-collapse: separate;\n }\n\n &.duet-table-hide-head-visually.duet-table-hide-head-visually {\n thead,\n thead * {\n position: absolute !important;\n top: 0;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n border: 0 !important;\n }\n }\n\n td {\n -webkit-hyphens: auto;\n hyphens: auto;\n color: ${y};\n }\n\n th {\n font-weight: ${v};\n line-height: ${k};\n color: ${x};\n text-align: left;\n }\n\n tbody th {\n font-weight: ${v};\n color: ${y};\n }\n\n & .duet-table-action-row {\n & td:last-child {\n justify-self: end;\n padding-right: ${m} !important;\n white-space: nowrap;\n }\n }\n\n span.duet-table-cell-heading {\n display: none;\n }\n}\n\n.duet-table-flattened {\n table,\n thead,\n tbody,\n tfoot,\n th,\n td,\n tr {\n display: block;\n }\n\n thead tr {\n position: absolute !important;\n top: 0;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n border: 0 !important;\n }\n\n td {\n line-height: ${k};\n\n &:not(:last-child) {\n margin-bottom: ${w};\n }\n\n span.duet-table-cell-heading {\n margin-bottom: ${$};\n display: block;\n font-size: ${g};\n font-weight: ${v};\n color: ${y};\n }\n }\n\n tbody td,\n tbody th,\n tfoot td {\n padding: 0 !important;\n text-align: left !important;\n }\n\n tbody th {\n font-weight: ${v};\n line-height: ${k};\n color: ${x};\n text-align: left;\n }\n}\n\n.duet-table-sticky thead th {\n position: sticky;\n top: 0;\n z-index: $z-index-sticky;\n background: ${T};\n}\n\n.duet-table-striped {\n td,\n th {\n padding: ${m} !important;\n @media ${L.replace("'","").replace("'","")} {\n padding: ${m} ${E} !important;\n }\n }\n\n tbody th {\n background: ${T};\n }\n\n &.duet-table-sticky {\n thead th {\n border-bottom: 1px solid ${z};\n }\n }\n\n tbody:not(:first-of-type) th {\n padding-top: calc(${m} * 2) !important;\n }\n\n tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba(4, 81, 128, 0.04);\n }\n\n tbody:not(:only-of-type) tr:nth-of-type(even) {\n background: rgba(4, 81, 128, 0.04);\n }\n\n tfoot td {\n border-top: 1px solid ${z};\n }\n\n &.duet-table-flattened {\n tbody:not(:first-of-type) th {\n padding-top: ${m} !important;\n }\n\n tr {\n padding: ${m} !important;\n }\n\n tfoot {\n td {\n border-top: 0;\n }\n\n tr {\n border-top: 1px solid ${z};\n }\n }\n }\n}\n\n.duet-table-plain, .duet-table-fixed, .duet-table-minimal {\n th {\n padding: ${w} !important;\n border-bottom: 1px solid ${x};\n\n &:first-child {\n padding-left: 0 !important;\n }\n\n &:last-child {\n padding-right: 0 !important;\n }\n }\n\n \n\n tbody th {\n padding-top: calc(${m} * 2) !important;\n border-bottom-color: ${z};\n }\n\n td {\n padding: ${w} !important;\n\n &:first-child {\n padding-left: 0 !important;\n }\n\n &:last-child {\n padding-right: 0 !important;\n }\n }\n\n tbody td {\n border-bottom: 1px solid ${z};\n }\n\n &.duet-table-flattened {\n tbody:first-of-type th {\n padding-top: 0 !important;\n }\n\n td,\n tbody th {\n border-bottom: 0;\n }\n\n tr {\n padding: ${m} 0 !important;\n }\n\n tbody th {\n padding-top: ${m} !important;\n }\n\n tfoot td {\n margin-bottom: ${$} !important;\n }\n\n tbody:not(:only-of-type) tr:first-child {\n border-bottom: 0;\n }\n }\n}\n\n.duet-table-plain {\n\n &.duet-table-flattened {\n tbody tr {\n border-bottom: 1px solid ${z};\n }\n }\n}\n\n.duet-table-minimal {\n\n tbody tr,\n tbody tr td {\n vertical-align: top;\n border-bottom: 0 none;\n }\n\n tbody tr:last-of-type,\n tbody tr:last-of-type td {\n border-bottom: 1px solid ${z};\n }\n\n &.duet-table-flattened {\n tbody tr,\n tbody tr td {\n border-bottom: 0 none;\n }\n\n tbody tr td[data-heading]::before {\n display: none;\n }\n\n tfoot {\n border-top: 1px solid ${z};\n }\n }\n}\n\n.duet-table-fixed {\n\n table {\n table-layout: fixed;\n }\n\n tbody tr,\n tbody tr td,\n tbody tr td:first-child {\n padding: 4px !important;\n vertical-align: text-bottom;\n border-bottom: 0 none;\n }\n\n thead {\n display: none;\n }\n\n tbody tr,\n tbody tr td {\n border-bottom: 0 none;\n }\n\n &:not(.duet-table-flattened) {\n tfoot {\n border-top: 1px solid ${z};\n }\n }\n}\n.duet-table-scrollable {\n position: relative;\n width: 100%;\n overflow-x: auto;\n background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;\n background-repeat: no-repeat;\n background-attachment: local, local, scroll, scroll;\n background-size: 100px 100%, 100px 100%, 12px 100%, 12px 100%;\n}\n\n.duet-table-selected-column {\n background: rgba(${O(R)}, 0.08);\n}\n\n.duet-table-sortable {\n tbody tr td:first-child,\n thead tr th:first-child {\n padding: ${m};\n }\n\n &:not(.duet-table-flattened) {\n tfoot {\n border-top: 1px solid ${z};\n }\n }\n}\n\n\n.duet-table-actions {\n table {\n table-layout: auto;\n }\n\n thead {\n & th:last-child {\n width: 1px;\n white-space: nowrap;\n }\n }\n}\n\n.duet-editable-table-table.duet-table-flattened {\n tr {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n grid-auto-rows: auto;\n gap: 10px;\n\n &.duet-table-action-row td:last-child::before {\n padding: 0;\n content: "";\n }\n }\n\n td {\n grid-column: 1 / 2;\n\n &:first-child {\n grid-row: 1;\n grid-column: 1;\n }\n\n &:last-child {\n grid-row: 1;\n grid-column: 2;\n }\n }\n}\n \nduet-table.duet-theme-turva table {\n font-family: ${j};\n}\n\nduet-table.duet-theme-turva td {\n color: ${S};\n}\n\nduet-table.duet-theme-turva th {\n color: ${D};\n}\n\nduet-table.duet-theme-turva tbody th {\n color: ${S};\n}\n\nduet-table.duet-theme-turva td span.duet-table-cell-heading {\n color: ${M};\n}\n\nduet-table.duet-table-striped.duet-theme-turva.duet-table-sticky thead {\n th,\n td {\n border-bottom-color: ${F};\n }\n}\n\nduet-table.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba(${O(S)}, 0.04);\n}\n\nduet-table.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even) {\n background: rgba(${O(S)}, 0.04);\n}\n\nduet-table.duet-table-striped.duet-theme-turva tfoot td {\n border-top-color: ${F};\n}\n\nduet-table.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr {\n border-top-color: ${F};\n}\n\nduet-table.duet-table-plain.duet-theme-turva tbody {\n th,\n td {\n border-bottom-color: ${F};\n }\n}\n\nduet-table.duet-table-plain.duet-theme-turva tbody td {\n border-bottom-color: ${F};\n}\n\nduet-theme-turva.duet-table-plain th, duet-theme-turva.duet-table-fixed th, duet-theme-turva.duet-table-minimal th {\n border-bottom-color: ${C};\n}\n\nduet-theme-turva.duet-table-plain tbody th, duet-theme-turva.duet-table-fixed tbody th, duet-theme-turva.duet-table-minimal tbody th {\n border-bottom-color: ${F};\n}\n\n.duet-table-flattened.duet-table-plain.duet-theme-turva tbody tr {\n border-bottom-color: ${F};\n}\n\n.duet-theme-turva .duet-table-selected-column {\n background: rgba(${O(C)}, 0.08);\n}\n\nduet-table.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr {\n border-bottom-color: ${F};\n}\n\nduet-table.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot {\n border-top-color: ${F};\n}\n\nduet-table.duet-table-fixed.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: ${F};\n}\n\nduet-table.duet-table-sortable.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: ${F};\n}\n`.replace(/[\n\r\t]/gm,""),J={none:0,"with-links":16*parseFloat(U),"without-links":16*parseFloat(_)},V=class{constructor(t){e(this,t),this.headingSelector="thead tr > :not(*.duet-editable-table-actions-menu)",this.matchesBreakpoint=!0,this.language=h(),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.hideHeadVisually=!1,this.handleMediaQueryChange=t=>{this.matchesBreakpoint=P.includes(this.breakpoint)?!t.matches:t.matches}}watchLanguageStateHandler(t,e){t!==e&&setTimeout((()=>this.copyHeadingsToCells()),50)}connectedCallback(){!function(t){const e=t.getRootNode();if(e instanceof ShadowRoot){const t=new CSSStyleSheet;t.replace(Y).then((()=>{e.adoptedStyleSheets.push(t)}))}else{if(document.querySelector("style#duet-table-styles"))return;const t=document.createElement("style");t.id="duet-table-styles",t.innerHTML=Y,document.head.append(t)}}(this.element),this.mq=matchMedia("none"===this.breakpoint||"none-scrollable"===this.breakpoint?"all":A[this.breakpoint]),this.mq.addEventListener("change",l(this.handleMediaQueryChange,50)),this.handleMediaQueryChange(this.mq),this.observer=new MutationObserver((()=>l(this.copyHeadingsToCells(),50))),this.observer.observe(this.element,{childList:!0,subtree:!0})}componentWillLoad(){if(o(this),this.copyHeadingsToCells(),this.sticky&&"none-scrollable"===this.breakpoint&&console.warn('[DUET WARNING]: sticky and breakpoint="none-scrollable" are incompatible. Scrollable takes precedence'),this.sticky){const t=J[this.stickyDistance];this.element.querySelectorAll(this.headingSelector).forEach((e=>e.style.top=`${t}px`))}}componentDidLoad(){this.observer&&this.observer.takeRecords(),u(this)}disconnectedCallback(){this.observer.disconnect(),this.observer=null,this.mq.removeListener(this.handleMediaQueryChange),this.mq=null,this.matchesBreakpoint=!0,p(this)}copyHeadingsToCells(){if(["none","none-scrollable"].includes(this.breakpoint))return;const t=this.element.querySelectorAll(this.headingSelector),e=this.element.querySelectorAll("tbody tr"),i=Array.from(t).map((t=>t.textContent.trim()));e.forEach((t=>{t.querySelectorAll("td").forEach(((t,e)=>{if(i[e]){const a=t.querySelector(".duet-table-cell-heading");if(!a||a.textContent!==i[e]){null==a||a.remove();const n=document.createElement("span");n.textContent=i[e],n.classList.add("duet-table-cell-heading"),n.setAttribute("aria-hidden","true"),n.inert=!0,t.prepend(n)}}}))}))}render(){return t(a,{key:"02ed0a7f4b3c7504b0f6df2ee9e923f5afbca106",class:{[`duet-table-${this.variation}`]:!0,"duet-table-flattened":!this.matchesBreakpoint,"duet-table-sticky":this.matchesBreakpoint&&this.sticky,"duet-table-scrollable":"none-scrollable"===this.breakpoint,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme,"duet-table-hide-head-visually":this.hideHeadVisually}},t("slot",{key:"946a620f959caf19dc712844d81ebc345870757d"}))}get element(){return n(this)}static get watchers(){return{language:["watchLanguageStateHandler"]}}};var X=[{type:"default",system_message:"unknown error",message:{fi:"Tapahtui tuntematon virhe, ole hyvä ja yritä uudelleen.",sv:"Ett okänt fel uppstod, försök igen.",en:"An unknown error occured, please try again."}},{type:"400",system_message:"Bad Request: The server could not understand the request due to invalid syntax.",message:{fi:"Tiedostoa ei hyväksytty.",sv:"Servern avvisade din fil.",en:"The server rejected your file."}},{type:"401",system_message:"Not Authenticated: The client must authenticate itself to get the requested response...",message:{fi:"Vain kirjautunut käyttäjä voi lähettää tiedostoja.",sv:"Du måste vara inloggad för att ladda upp filer.",en:"You need to be logged in to upload files."}},{type:"403",system_message:"No Access: The client does not have access rights to the content.",message:{fi:"Ei oikeuksia lähettää tiedostoja.",sv:"Du har inte rätt åtkomsträttigheter för att ladda upp filer.",en:"You do not have the correct access rights to upload files."}},{type:"413",system_message:"Payload too large",message:{fi:"Tiedosto oli liian vastaanotettavaksi.",sv:"Filen var för stor för servern att hantera.",en:"The file was to large for the server to handle."}},{type:"415",system_message:"Unsupported media type",message:{fi:"Tiedoston tyyppi oli väärä.",sv:"Servern avvisade filen eftersom den hade fel typ.",en:"The server rejected the file because it had the wrong type."}},{type:"429",system_message:"Too many request from same address",message:{fi:"Liian monta yritystä, ole hyvä ja yritä myöhemmin uudelleen.",sv:"Servern har fått många förfrågningar från dig, försök igen senare.",en:"The server has received to many request from you, please try again later."}},{type:"500",system_message:"Internal Server Error",message:{fi:"Palvelin ilmoitti tuntemattomasta virheestä ja lataus epäonnistui.",sv:"Servern rapporterade ett okänt fel och uppladdningen misslyckades.",en:"The server reported an unknown error and the upload failed."}},{type:"duet-upload-100",system_message:"File extension not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den type.",en:"You cannot upload files with that extension."}},{type:"duet-upload-001",system_message:"File transfer failed",message:{fi:"Tiedoston lähetys keskeytyi, ole hyvä ja yritä uudelleen.",sv:"Din anslutning till servern avbröts, försök igen.",en:"Your connection to the server was interrupted, try again."}},{type:"duet-upload-101",system_message:"File mimetype not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den typ.",en:"You cannot upload files of that type."}},{type:"duet-upload-201",system_message:"File is too large",message:{fi:"Tiedosto on liian iso.",sv:"Filen är större än tillåtet.",en:"The file is larger than permitted."}},{type:"duet-upload-202",system_message:"The combined size of all files is too large",message:{fi:"Tiedostojen yhteenlaskettu koko on liian iso.",sv:"Du har nått den maximala kombinerade filstorleken.",en:"You have reached the maximum combined filesize."}},{type:"duet-upload-203",system_message:"Files to upload exceed total byte size limit",message:{fi:"Yritit lisätä tiedostoja, jotka ylittäisivät suurimman sallitun yhteenlasketun koon.",sv:"Du försökte lägga till filer som skulle överskrida den maximala kombinerade storleken.",en:"You tried to add files that would exceed the maximum combined size."}},{type:"duet-upload-301",system_message:"The maximum file limit has been reached",message:{fi:"Liitteiden maksimimäärä saavutettu.",sv:"Maximalt antal bilagor har uppnåtts.",en:"Maximum number of attachments reached."}},{type:"duet-upload-302",system_message:"Files to upload exceeds limits",message:{fi:"Et voi lähettää enempää kuin enimmäismäärän liitteitä.",sv:"Du kan inte ladda upp fler än det maximala antalet bilagor.",en:"You can't upload more than maximum number of attachments."}}];const K={fi:"Liiteluettelo",sv:"Lista över bilagor",en:"Attachments list"},G=({label:e,categoryLabel:i})=>t("div",{class:"items-header",tabindex:"-1","aria-label":b(K)},i&&t("duet-heading",{class:"category-header",border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none","aria-hidden":"true"},b(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"},b(e))),Q=(t,e,i)=>{const{allowedMimetypes:a,allowedExtensions:n,maxBytes:s}=e;let o=!1,d=q("default",i);if(t){const{name:e,type:l,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("/"),n=t.split("/");i[0]!==n[0]||i[1]!==n[1]&&"*"!==i[1]||(a=!0)})),a})(l,a),u="all"===n||""===n||" "===n||void 0===n||((t,e)=>{if(!e)return!0;const i=t.split(".");return e.split(",").includes(i[i.length-1])})(e.toLowerCase(),n),p=((t,e)=>!e||!t||e>=t)(r,s);h||(d=q("duet-upload-101",i)),u||(d=q("duet-upload-100",i)),p||(d=q("duet-upload-201",i)),o=h&&u&&p}else o=!1;return{valid:o,errorMessage:o?void 0:b(d.message),errorSystem:o?void 0:d.system_message,errorType:o?void 0:d.type}},Z=({payload:t,options:e,onFailure:i,onSuccess:a,onProgress:n})=>{const{type:s="POST",xhr:o,uri:d,argument:l=null,headers:r=null}=e;o.open(s,`${d}${l||""}`,!0);const{data:h,name:u}=t;return r&&Object.keys(r).forEach((t=>{o.setRequestHeader(t,r[t])})),"POST"===s&&(o.onreadystatechange=()=>{o.readyState===XMLHttpRequest.DONE&&o.status>=200&&o.status<300&&a(o,u,o.status),o.readyState===XMLHttpRequest.DONE&&o.status>=300&&o.status<999&&i(o,u,o.status)},n(u)),o.send(h),o},tt=class{constructor(a){e(this,a),this.duetChange=i(this,"duetChange",3),this.duetBlur=i(this,"duetBlur",7),this.duetFocus=i(this,"duetFocus",7),this.duetReady=i(this,"duetReady",7),this.duetDone=i(this,"duetDone",3),this.duetState=i(this,"duetState",3),this.duetDelete=i(this,"duetDelete",3),this.duetCancel=i(this,"duetCancel",3),this.duetProgress=i(this,"duetProgress",3),this.duetUpload=i(this,"duetUpload",3),this.linkClick=i(this,"linkClick",3),this.tick=Date.now(),this.external=!1,this.middleware=null,this.deferUpload=!1,this.hideButton=!1,this.actions=[{icon:"action-delete",color:"color-danger",size:"x-small",background:"gray-lightest",name:"delete",map:["success","failure"],label:{fi:"Poista tiedosto",en:"Delete the file",sv:"Ta bort filen"}},{icon:"navigation-close",color:"primary",size:"x-small",background:"gray-lightest",name:"cancel",map:["inprogress","pending"],label:{fi:"Keskeytä lähetys",en:"Cancel the upload",sv:"Stop överföringen"}}],this.showLinks=!1,this.statusLabelDefaults={fi:{inProgress:"Lähetetään {filesUploaded}, yhteensä lähetettävänä {filesTotal}.",inProgressWithErrors:"Lähetetään {filesInProgress}, lähetetty {filesUploaded}, yhteensä lähetettävänä {filesTotal}, {filesWithErrors} epäonnistui",done:"Lähetys valmis, {filesTotal} lisätty onnistuneesti",doneWithErrors:"Lähetys valmis, {filesUploaded} lisätty onnistuneesti, {filesWithErrors} epäonnistui",files:"tiedostoa",file:"tiedosto"},sv:{inProgress:"Laddar upp {filesUploaded} av {filesTotal}",inProgressWithErrors:"Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",done:"Uppladdningen slutförd, {filesTotal} har lagts till",doneWithErrors:"Uppladdningen slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",files:"filer",file:"fil"},en:{inProgress:"Uploading {filesUploaded} of {filesTotal}",inProgressWithErrors:"Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",done:"Upload completed, {filesTotal} added successfully",doneWithErrors:"Upload completed, {filesUploaded} added successfully, {filesWithErrors} failed.",files:"files",file:"file"}},this.statusMessageLabel=b(this.statusLabelDefaults),this.buttonLabelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add an attachment"},this.buttonLabel=b(this.buttonLabelDefaults),this.accessibleButtonLabel=void 0,this.theme="",this.disabled=!1,this.margin="auto",this.required=!1,this.alignment="middle",this.hideGroups=!1,this.files=new Map,this.valid=!this.required,this.labelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add attachments"},this.label=b(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=b(this.descriptionDefaults),this.fileListEmptyDefaults={fi:"Ei vielä lisättyjä tiedostoja.",sv:"Inga filer har lagts till ännu.",en:"No files added yet."},this.fileListEmpty=b(this.fileListEmptyDefaults),this.error="",this.errorCodes=X,this.maxBytes=2e8,this.maxBytesTotal=void 0,this.maxFiles=99,this.allowedExtensions="all",this.allowedMimetypes="",this.multiple=!0,this.limitSelection=!1,this.hideCancelButton=!1,this.captionOnBottom=!1,this.showUploadedItemsHeader=!1,this.uploadedItemsHeaderLabel={fi:"Ladattu tiedosto",sv:"Lägg till en bilaga",en:"Uploaded file"},this.headerHeadingLevel="h3",this.hideHeader=!1,this.emitEvent=!1,this.actionButtonTitles={cancel:!1,delete:!1},this.renameDuplicates=!1,this.buttonId=W("DuetButton"),this.labelId=W("DuetLabel"),this.uploadId=W("DuetUpload"),this.filesInProgress=new Map,this.fileMaxReached=!1,this.bytesMaxReached=!1,this.filesToUploadExceedsLimit=!1,this.filesToUploadTotalSizeIsAboveMax=!1,this.internalStatusMessageLabel=void 0,this.itemRefs=new Map,this.DefaultGroups={inprogress:"inprogress",success:"success",pending:"pending",failure:"failure"},this.groups=[{id:this.DefaultGroups.success,label:{fi:"Valmiit tiedostot",sv:"Files success",en:"Files success"}},{id:this.DefaultGroups.failure,label:{fi:"Tiedostot, joissa on virheitä",sv:"Filer med fel",en:"Files with errors"}},{id:this.DefaultGroups.inprogress,label:{fi:"Kesken olevat tiedostot",sv:"Filer inprogress",en:"Files inprogress"}},{id:this.DefaultGroups.pending,label:{en:"Files to upload",sv:"Filer att ladda",fi:"Ladattavat tiedostot"}}],this.kick=l((()=>{this.tick=Date.now()}),30),this.categoryLabel={en:"Category",sv:"Filtyp",fi:"Tiedostotyyppi"},this.listenForActionEvents=()=>{this.element.addEventListener("duetActionEvent",(t=>{const e=t.detail,{action:i,id:a,originalEvent:n}=e;switch(i){case"delete":this.onDelete(a,n);break;case"cancel":this.onCancel(a,n)}}))},this.verifyValidity=()=>{const{invalid:t,valid:e}=this.getFilesAsArray(),i=this.valid;this.valid=0===t.length&&0!==e.length,this.valid!==i&&this.duetState.emit({originalEvent:void 0,data:{valid:this.valid,from:"componentWillRender"},component:"duet-upload"})},this.getGroupFromItemData=t=>t.valid&&100===t.progress?this.DefaultGroups.success:t.progress>0&&100!==t.progress?this.DefaultGroups.inprogress:t.valid?t.pending?this.DefaultGroups.pending:t.group?t.group:"none":this.DefaultGroups.failure,this.mapFilesToUploadItems=(e,i,a,n)=>i===this.DefaultGroups.success?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"success",data:e,showLinks:this.showLinks,linkClickEvent:this.emitEvent?this.linkClick:void 0,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.inprogress?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"inprogress",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.pending?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"pending",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.failure?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"failure",data:e,showLinks:this.showLinks,errorCodes:this.errorCodes,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):e.group?e.html:"none",this.genHashName=()=>Date.now().toString(36)+Math.random(),this.updateValueInMap=(t,e,i,a=!0)=>{try{const a=this.files.get(t);a[e]=i,this.files.set(t,a),this.external&&"url"!==e&&this.trackProgress(t,"uploaded"===e)}catch(t){}a&&this.kick()},this.updateProgress=(t,e)=>{t.lengthComputable?(i=>{this.updateValueInMap(e,"progress",i),this.onProgress(e,i,t)})(t.loaded/t.total*100):console.log("cant read progress")},this.trackProgress=(t,e=!1)=>{e?this.filesInProgress.delete(t):this.filesInProgress.set(t,"inprogress"),0===this.filesInProgress.size&&this.onDone()},this.getFilesAsArray=()=>{const t=[],e=[];return this.files.forEach((i=>{i.valid&&!i.deleted?t.push(i):i.valid||i.deleted||e.push(i)})),{valid:t,invalid:e}},this.resetFormFields=()=>{this.nativeInput.value=""},this.startUpload=async(t,e)=>{const{bytesMaxReached:i,fileMaxReached:a}=this.validateTotals();i||a?this.kick():(this.metaData=e,this.nativeInput.click(),this.onUpload(t,e),t.stopPropagation(),t.preventDefault())},this.transferComplete=t=>{this.updateValueInMap(t,"progress",100,!1),this.trackProgress(t,!0)},this.transferDone=(t,e,i)=>{this.updateValueInMap(e,"status",i,!1),this.updateValueInMap(e,"uploaded",!0,!1);try{const i=JSON.parse(t.response);this.updateValueInMap(e,"url",i.url)}catch(t){this.updateValueInMap(e,"url",null),console.error("Server did not respond with expected response {url: string}")}},this.transferDoneWithFailure=(t,e,i)=>{try{const{error:i}=JSON.parse(t.response);this.updateValueInMap(e,"error",{message:i.message,type:i.type},!1)}catch(t){console.error("Server did not respond with expected response error:{message: string, type: int}"),this.updateValueInMap(e,"error",{type:i},!1)}this.updateValueInMap(e,"valid",!1,!0)},this.transferFailed=t=>{this.updateValueInMap(t,"error",I("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",I("duet-upload-202",this.errorCodes),!1),i&&t&&this.updateValueInMap(t,"error",I("duet-upload-301",this.errorCodes),!1),this.bytesMaxReached=e,this.fileMaxReached=i,{bytesMaxReached:e,fileMaxReached:i}},this.uploadFile=async(t,e=!1,i)=>{!e&&this.deferUpload?(this.updateValueInMap(t.item.name,"pending",!0,!1),this.updateValueInMap(t.item.name,"group","pending",!0)):e&&(this.updateValueInMap(t.item.name,"pending",!1,!1),this.updateValueInMap(t.item.name,"group",void 0,!0));try{if(!this.deferUpload||e){const e=new FormData;e.append("file",t.item),i&&e.append("key",i),e.append("uid",t.uid),e.append("name",t.item.name),e.append("metadata",JSON.stringify({uid:t.uid,url:this.uri,size:t.item.size,meta:t.meta})),t.xhr=await this.makeXHRPostRequest(e)}}catch(e){this.updateValueInMap(t.item.name,"valid",!1,!1)}},this.uploadPendingFiles=()=>{for(const[t,e]of Array.from(this.files.entries()))"pending"===e.group&&!0===e.pending&&this.uploadFile(e,!0,t)},this.getItemFromUID=t=>{for(const[e,i]of Array.from(this.files.entries()))if(i.uid===t)return{value:i,key:e};return null},this.handleExternalUploadButton=(t,e)=>{this.externalUploadButton&&(this.externalUploadButton.disabled=!(!t&&!e))},this.onDelete=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:n,fileMaxReached:s}=this.validateTotals();this.handleExternalUploadButton(n,s),this.kick(),this.duetDelete.emit({originalEvent:e,data:{deletion:a},component:"duet-upload"}),this.external||a.pending||this.makeXHRDeleteRequest(a),this.resetFormFields()},this.onCancel=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:n,fileMaxReached:s}=this.validateTotals();if(this.handleExternalUploadButton(n,s),!this.external){const{xhr:t}=a;t&&t.abort()}this.kick(),this.resetFormFields(),this.duetCancel.emit({originalEvent:e,data:{cancelled:a},component:"duet-upload"})},this.onUpload=(t,e)=>{this.duetUpload.emit({originalEvent:t,metaData:e,component:"duet-upload"})},this.onBlur=t=>{this.duetBlur.emit({originalEvent:t,component:"duet-upload"})},this.onProgress=(t,e,i)=>{this.duetChange.emit({originalEvent:i,data:{key:t,percentComplete:e},component:"duet-upload"})},this.onFocus=t=>{this.duetFocus.emit({originalEvent:t,component:"duet-upload"})},this.onReady=()=>{this.duetReady.emit({component:"duet-upload"})},this.onDone=()=>{this.duetDone.emit({component:"duet-upload",data:{files:this.files}})},this.filterMap=()=>{const t=Array.from(this.files.values()),e=[],i=[],a=[],n=[];let s=!1;return t.forEach((t=>{const o=this.getGroupFromItemData(t);t.meta&&t.meta.badges&&(s=!0),o===this.DefaultGroups.success?n.push({uid:t.uid,data:t}):o===this.DefaultGroups.inprogress?e.push({uid:t.uid,data:t}):o===this.DefaultGroups.pending?a.push({uid:t.uid,data:t}):o===this.DefaultGroups.failure?i.push({uid:t.uid,data:t}):t.group&&e.push({uid:t.uid,data:t})})),{pending:a,failure:i,success:n,inprogress:e,hasCategory:s}},this.getActions=(t,e)=>e.filter((e=>e.map.includes(t))),this.renderUploadedItems=()=>{this.itemRefs.clear();const e=this.filterMap(),i=e.hasCategory,a=this.hideCancelButton?this.actions.filter((t=>"cancel"!==t.name)):this.actions,n=this.groups.map((n=>{const o=e[n.id];if(null==o?void 0:o.length)return t(s,null,!this.hideGroups&&t(G,{categoryLabel:i?this.categoryLabel:void 0,label:n.label}),o.map((t=>this.mapFilesToUploadItems(t.data,n.id,i,a))))}));return t(s,null,this.showUploadedItemsHeader&&t(G,{categoryLabel:i?this.categoryLabel:void 0,label:this.uploadedItemsHeaderLabel}),n)}}watchValidHandler(t,e){t!==e&&this.kick()}componentWillLoad(){this.internalStatusMessageLabel="string"==typeof this.statusMessageLabel?c(this.groups):this.statusMessageLabel,o(this),this.listenForActionEvents(),this.onReady(),this.externalUploadButton=document.querySelector(`#${this.externalUploadButtonId}`),this.processedButtonTitles=H(this.actionButtonTitles)}componentWillRender(){this.verifyValidity()}async setFocus(t){this.nativeInput&&this.nativeInput.focus(t)}async upload(t){const{bytesMaxReached:e,fileMaxReached:i}=this.validateTotals();if(e||i)return this.handleExternalUploadButton(e,i),void this.kick();this.metaData=t,this.nativeInput.click()}async uploadPending(){this.uploadPendingFiles()}async refresh(){this.kick(),await this.setFocus()}async getFiles(){return!(!this.files||0===this.files.size)&&this.getFilesAsArray()}async updateValue(t,e,i){this.updateValueInMap(t,e,i)}async focusActionButton(t){var e;await(null===(e=this.itemRefs.get(t))||void 0===e?void 0:e.focusActionButton())}render(){const e=this.identifier||this.uploadId,i=Math.round((this.maxBytesTotal?this.maxBytesTotal:this.maxBytes*this.maxFiles)/1024/1024),n=Math.round(this.maxBytes/1024/1024);let o=this.description.replace(/{maxfiles}/g,this.maxFiles.toString());return o=o.replace(/{maxbytes}/g,`${n.toString()} MB`),o=o.replace(/{maxbytestotal}/g,`${i.toString()} MB`),o=o.replace(/{filetypes}/g,this.allowedExtensions.split(",").join(", ")),this.externalUploadButton&&(this.externalUploadButton.accessibleLabel=`${this.externalUploadButton.innerText}. ${o}`),t(a,{key:"855e27e55645747625669bf080e6f65423b9bbf0",class:{"duet-m-0":"none"===this.margin}},t("duet-fieldset",{key:"89d6b1b88260ccb7ffa2f4a3130fdf74d904e048","label-heading-level":this.headerHeadingLevel,"label-hidden":this.hideHeader,label:this.label},t("slot",{key:"10b9cdc44bd94871f538a9299ea6252f4375a864",name:"header"}),!this.files.size&&t("duet-empty-state",{key:"924905b1aafa76175b93f12dd6e7d7ac8ac5b5e3",id:this.labelId,part:this.identifier?`${this.identifier}-empty-state`:"duet-upload-empty-state",icon:"messaging-attachment"},t("duet-paragraph",{key:"f744c2afdb520cd0e69a15c0a942f6ecd8e30b75",margin:"none"},this.fileListEmpty)),!!this.files.size&&t("slot",{key:"da55dafcb732e24b895185995040decfe40382c6",name:"fileheader"}),!!this.files.size&&t("duet-upload-aria-status",{key:"199e78733f262f857124540bbd055e7c6cbcaf6a",invalid:this.getFilesAsArray().invalid.length,valid:this.getFilesAsArray().valid.length,inprogress:this.filesInProgress.size,total:this.files.size,statusMessageLabel:this.internalStatusMessageLabel}),!!this.files.size&&this.renderUploadedItems(),!!this.files.size&&t("slot",{key:"d6327694548a1ee39188af3935c67d0a6eaead79",name:"filefooter"}),t("slot",{key:"718e1e5d1f7041d2d596ada75a717942b74999f6",name:"uploadfooter"}),this.captionOnBottom&&t("duet-caption",{key:"d15f3fd09b07de11dc1f725bc9ee344889b6445f",margin:"none",size:"small"},t("div",{key:"1e4e1c3a29338fa3339cd2de701ba3c776c1166a",class:"upload-bottom-caption"},o)),t("slot",{key:"90f1e8de4c8359df2b8dded1bf5211857ce48a79",name:"afterfooter"}),!this.hideButton&&t(s,{key:"431fb04536068eefdf974fc34f89f56e712674c9"},t("duet-spacer",{key:"c98d3f3e0f06d17b1b86ab40486a663ef8c6a75e",size:"large"}),t("duet-button",{key:"1f057848bdacb5e69ef63e2bfdc81e216271f455",id:this.buttonId,onClick:this.startUpload,"accessible-controls":e,disabled:this.fileMaxReached,"accessible-label":this.accessibleButtonLabel||`${this.buttonLabel}. ${o}`,"accessible-owns":e,size:"small",variation:"secondary",fixed:!0,icon:"action-add-circle",part:this.identifier?`${this.identifier}-button-upload`:"duet-upload-button-upload"},this.buttonLabel)),(this.fileMaxReached||this.bytesMaxReached||this.filesToUploadExceedsLimit||this.filesToUploadTotalSizeIsAboveMax)&&t(s,{key:"8169162805d7ec3a093344e09a4bd9241c1b9c58"},t("duet-spacer",{key:"0f6500a4ada6c4b3c73f6524bf224ee1d79f0ae6",size:"medium"}),t("duet-alert",{key:"8bbc63eb777fa98ff0f797d970d66835ac6155a5",part:this.identifier?`${this.identifier}-error-notification`:"duet-upload-error-notification"},this.fileMaxReached&&I("duet-upload-301",this.errorCodes),this.bytesMaxReached&&I("duet-upload-202",this.errorCodes),this.filesToUploadExceedsLimit&&I("duet-upload-302",this.errorCodes),this.filesToUploadTotalSizeIsAboveMax&&I("duet-upload-203",this.errorCodes))),t("duet-visually-hidden",{key:"5fb70459ca757cc24041ce6e01414165ba6497b5","aria-hidden":"true"},t("input",{key:"808b15c23e12cf691f85e48e1a03106409b81565",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)),Z(a)}makeXHRDeleteRequest(t){const{uid:e,item:i}=t,a=new XMLHttpRequest;let n={payload:{data:null,name},options:{type:"DELETE",xhr:a,uri:this.uri,argument:`?key=${e}&name=${i.name}`,headers:{"x-fileuid":e,"x-filename":i.name}},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(n=this.middleware(n)),Z(n)}escapeSpecialCharacters(t){return(t+"").replace(/[\\"'(){}\[\]*?$^+]/g,"\\$&").replace(/\u0000/g,"\\0")}getRenamedFileName(t,e){const i=new RegExp(`${this.escapeSpecialCharacters(t)} \\(\\d+\\).${e}`),a=Array.from(this.files.entries()).map((t=>{const[e,i]=t;return e})).filter((a=>i.test(a)||a===`${t}.${e}`)).sort(((t,e)=>t.split(".").slice(0,-1).join(".")>e.split(".").slice(0,-1).join(".")?1:-1)).pop().split(".").slice(0,-1).join(".");if(a===t)return`${t} (1).${e}`;const n=parseInt(a.split("(").pop().slice(0,-1));return`${t} (${n+1}).${e}`}renameFiles(t){return t.map((t=>{if(this.files.get(t.name)){const e=t.name.split("."),i=e.pop(),a=e.join("."),n=this.getRenamedFileName(a,i);return new File([t],n,{type:t.type,lastModified:t.lastModified})}return t}))}async onChange(t){var e;let i=Array.from(null===(e=this.nativeInput)||void 0===e?void 0:e.files);if(this.filesToUploadExceedsLimit=!1,this.files.size+i.length>this.maxFiles)return this.filesToUploadExceedsLimit=!0,void this.kick();if(this.filesToUploadTotalSizeIsAboveMax=!1,((t,e,i)=>{let a=0;return!!(i&&(this.files.forEach((t=>{t.valid&&t.size&&(a+=t.size)})),e.forEach((t=>{t.size&&(a+=t.size)})),a>=i))})(0,i,this.maxBytesTotal))return this.filesToUploadTotalSizeIsAboveMax=!0,void this.kick();if(i){this.renameDuplicates&&(i=this.renameFiles(i));for(const t of i){const{valid:e,errorMessage:i,errorType:a,errorSystem:n}=Q(t,{maxBytes:this.maxBytes,allowedExtensions:this.allowedExtensions,allowedMimetypes:this.allowedMimetypes},this.errorCodes),s={uid:this.genHashName(),item:t,size:t.size,meta:this.metaData,uploaded:!1,valid:e,error:{type:e?void 0:a,message:e?void 0:i,system_message:e?void 0:n},progress:0,deleted:!1,xhr:!1,url:!1};this.files.set(t.name,s),e&&!this.external?await this.uploadFile(s):e&&this.external?(this.updateValueInMap(s.item.name,"pending",!0,!1),this.updateValueInMap(s.item.name,"group","pending",!0)):e||this.updateValueInMap(t.name,"valid",!1,!0),this.kick()}}this.resetFormFields(),this.metaData=void 0,this.duetChange.emit({originalEvent:t,data:{files:this.files},component:"duet-upload"})}get element(){return n(this)}static get watchers(){return{valid:["watchValidHandler"]}}};tt.style="*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}::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;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}.duet-upload-item-size{font-size:0.75rem;font-weight:400}.duet-upload-filelist{margin-bottom:25px}.duet-upload-filelist-empty{display:flex;align-items:center;justify-content:center;width:100%;height:75px;margin:0 auto;font-size:1rem;font-weight:400;background-color:rgb(245, 248, 250)}.duet-upload-filelist-empty-label{font-size:1rem;font-weight:400}.duet-upload-editable-table-header-hidden{display:none}.duet-upload-editable-table tbody .duet-upload-editable-table-data{padding:0 !important;border:0}.duet-upload-editable-table duet-editable-table tfoot,.duet-upload-editable-table duet-editable-table thead{display:none}.duet-upload-editable-table duet-editable-table .duet-editable-table-content{padding-right:0 !important;padding-left:0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td{padding:1rem 0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td:last-child{padding-right:0 !important}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending{position:relative}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-progress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-progress{position:absolute;bottom:0;width:100%}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-action-button::part(button),.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-action-button::part(button){border:0}duet-paragraph::part(duet-paragraph){word-break:break-word}duet-editable-table tfoot{display:none}.upload-bottom-caption{margin-top:12px;margin-bottom:16px;line-height:1.4rem}.items-header{display:none;flex-direction:row;margin-bottom:0}@media (min-width: 36em){.items-header{display:flex}}.items-header:not(:last-child),.items-header:not(:first-child){margin-top:12px}.items-header .category-header{width:35%}.items-header .filename-header{width:65%}.items-header .filename-header.no-category{width:100%}.upload-item-row{display:flex;flex-direction:column;gap:16px;align-content:center;align-items:center;padding:16px 0 16px 0;border-bottom:1px solid rgb(212, 223, 229)}@media (min-width: 36em){.upload-item-row{flex-direction:row;gap:10px}}.upload-item-row .item-categories{width:100%}@media (min-width: 36em){.upload-item-row .item-categories{width:35%}}.upload-item-row .item-name{position:relative;bottom:2px;width:100%;text-align:left}@media (min-width: 36em){.upload-item-row .item-name{width:50%}.upload-item-row .item-name.no-category{width:85%}}.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:block}@media (min-width: 36em){.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:none}}.upload-item-row .item-actions{width:100%;margin-left:-8px;text-align:left}@media (min-width: 36em){.upload-item-row .item-actions{width:15%;padding-top:0;margin-left:auto;text-align:right}}.upload-item-row .duet-upload-item-name duet-icon{position:relative;top:4px}.upload-item-row .duet-upload-item-name duet-progress{display:block;margin-top:16px}";export{N as duet_editable_table,V as duet_table,tt as duet_upload}
4
+ import{h as t,r as e,c as i,H as a,g as n,F as s}from"./p-B2cboDWM.js";import{i as o}from"./p-BzYmwX5_.js";import{f as d,d as l}from"./p-BlUsLmbQ.js";import{i as r}from"./p-Db8rvjPI.js";import{a as h,c as u,d as p,g as b,s as c}from"./p-CFqvB5PA.js";import{q as m,r as f,p as g,u as y,v,w as k,x,y as w,z as $,A as T,f as L,B as z,C as E,D as j,E as M,F as S,G as F,H as C,I as D,j as R,s as _,J as P}from"./p-DEzE2U5T.js";import{b as U,a as A}from"./p-D2ly4TZR.js";import{c as W}from"./p-Cfr_DJqU.js";import{p as q}from"./p-C6E9F6QT.js";import{a as B,g as H}from"./p-C5Yfx2kd.js";const I=({data:e,groupId:i,alignment:a})=>{const n=`duet-editable-table duet-editable-table-content-${i}`;return"string"==typeof e?t("td",{innerHTML:e,class:n,part:`${i}content`,style:{verticalAlign:a}}):t("td",{class:n,part:`${i}content`,style:{verticalAlign:a}},e)},Y=class{constructor(t){e(this,t),this.duetTableToggle=i(this,"duetTableToggle",7),this.duetMenuClick=i(this,"duetMenuClick",7),this.hasHeadSlotFirst=!1,this.hasHeadSlotLast=!1,this.hasFootSlot=!1,this.language=h(),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.actions=void 0,this.columns=void 0,this.rows=void 0,this.sortable=!1,this.groupId="",this.theme="",this.accessibleRole=void 0,this.hideHeadVisually=!1,this.sortableDefaultLabel={fi:"Järjestä",en:"Click to sort",sv:"Klicka för att sortera"},this.actionColumnLabel={en:"Actions for rows",fi:"Toiminnot rivillä",sv:"Åtgärder för rader"},this.toggleColumn=(t,e)=>{e.preventDefault();const{sort_order:i,direction:a,index:n,key:s}=t;this.duetTableToggle.emit({sort_order:i,index:n,direction:a,key:s,component:"duet-editable-table",originalEvent:e})},this.handleKeyDown=(t,e)=>{r(e)&&this.toggleColumn(t,e)}}componentWillLoad(){o(this),this.hasHeadSlotFirst=!!this.element.querySelector("[slot='thead-first']"),this.hasHeadSlotLast=!!this.element.querySelector("[slot='thead-last']"),this.hasFootSlot=!!this.element.querySelector("[slot='tfoot']")}connectedCallback(){u(this)}disconnectedCallback(){p(this)}createLabel(e){const{sort_order:i,direction:a,index:n,label:s}=e,o=b(s);return this.sortable?t("span",{class:"duet-table-label","data-index":n},t("duet-button",{size:"small",icon:i&&1===a?"action-arrow-down-small":i&&-1===a?"action-arrow-up-small":"action-subtract-small","icon-size":"medium-small","accessible-label":this.sortableDefaultLabel[this.language],variation:"plain",margin:"none","icon-right":!0,onClick:t=>this.toggleColumn(e,t),onKeyDown:t=>this.handleKeyDown(e,t)},o)):o}getSortedColumns(){return[...this.columns].sort(d(["index"]))}getRowSortOrder(){return[...this.columns].sort(d(["sort_order"])).filter((t=>t.sort_order)).map((t=>-1===t.direction?`-${t.key}`:t.key))}renderTableHeader(){if(!this.columns)return;const e=this.getSortedColumns();return t("tr",{class:{"duet-table-action-header":!!this.actions}},e.map((e=>{if(!1!==e.display){const i=this.createLabel(e);return""!==i?t("th",{scope:"col"},i):t("td",null)}})),this.actions&&t("th",{scope:"col",class:"duet-table-action-header-heading"},this.actions&&t("duet-visually-hidden",null,this.actionColumnLabel[this.language])))}renderActions(e,i){if(this.actions)return t("td",{class:"duet-text-right"},this.actions.map((a=>t("duet-action-button",{actionMeta:Object.assign({},(null==e?void 0:e.meta)||{},{index:i}),actionId:(null==e?void 0:e.uid)||(null==e?void 0:e.id)||null,actionName:a.name,theme:this.theme,iconName:a.icon,iconColor:a.color,iconSize:a.size,background:a.background,"accessible-label":`${e.actionDescription||""} ${b(a.label)} `}))))}renderTableBody(){const e=this.getSortedColumns(),i=this.getRowSortOrder();return[...this.rows].sort(d(i)).map(((i,a)=>t("tr",{class:{"duet-table-action-row":!!this.actions,"duet-editable-table-row":!0,[`duet-editable-table-row-${this.groupId}`]:!0},"data-meta":JSON.stringify(i.meta)},e.map((e=>{if(!1!==e.display)return t(I,{data:i[e.key]?i[e.key]:i.item,groupId:this.groupId})})),this.actions&&this.renderActions(i,a))))}render(){return t(a,{key:"e8047048590b1dfac635e5a94a46fb1d61e4030b",class:{[`duet-editable-table-${this.variation}`]:!0,"duet-editable-table":!0,[`duet-editable-table-${this.theme}`]:!0,"duet-editable-table-scrollable":"none-scrollable"===this.breakpoint,"duet-editable-table-sortable":this.sortable,"duet-editable-table-actions":!!this.actions,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme}},t("duet-table",{key:"abcb5c0dc22830d840bbf18144e66605207849d0",class:"duet-editable-table-table",sticky:this.sticky,stickyDistance:this.stickyDistance,margin:this.margin,theme:this.theme,variation:this.variation,breakpoint:this.breakpoint,"hide-head-visually":this.hideHeadVisually},t("table",{key:"269ab86ebe745cfcf2e208e174e0914ea7b4fed8",role:this.accessibleRole},t("caption",{key:"2753e748db0c5264c994a41b002e52a5641d2971"},t("slot",{key:"567de210690137ae00e2ad40e2e2c1e1c733f3d7",name:"tcaption"})),t("thead",{key:"ea6b829d344cd19619f667d75304614cbf60cc9d"},this.hasHeadSlotFirst&&t("tr",{key:"84c66d116690df93737670dbbd0fc2b0e5c9f80b"},t("td",{key:"3ab4954300f48b65cdc48f612045ef4296f3561d",class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{key:"9f32c90606e46036a34ca037bdfd61d4eae70fb2",name:"thead-first"}))),this.renderTableHeader(),this.hasHeadSlotLast&&t("tr",{key:"8be7b6223bd2ba7109db839efde2baab0f04c40f"},t("td",{key:"1d6b0626d4b9dfdedc24f1118b53558e3ad80a54",class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{key:"247e4a043cc716d504a4827c415a3d73e8285046",name:"thead-last"})))),t("tbody",{key:"778fd5a880190cffa0f9649b37839b2a0abedbe5"},this.renderTableBody()),this.hasFootSlot&&t("tfoot",{key:"8c5e4045377ec3547c5005836f389cac2221dc62"},t("tr",{key:"71959adb135cbcd6b7e19c9c9d4dcd3e799e8720"},t("td",{key:"ff1dc8216a9c918c1d9dec4aaf77454fd728a9ff",class:"duet-editable-table-footer-menu",colSpan:99},t("slot",{key:"450238c070a9f72a326737a26b1f6ede2f9606d2",name:"tfoot"})))))))}get element(){return n(this)}};Y.style=":host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}.duet-editable-table-actions-menu,td.duet-editable-table-actions-menu{position:relative;padding:0 !important;margin:0}.duet-editable-table-actions-menu-button{position:relative;right:-16px;float:right;padding:0}.duet-editable-table-actions-menu-icon .duet-icon{max-width:16px;max-height:16px}.duet-editable-table-row.duet-table-action-row .duet-text-right{text-align:right}.duet-editable-table-header tr .duet-editable-table-header-hidden{padding:0 !important;font-size:0;border-bottom:0}";const N=t=>t.replace("rgb(","").replace(")",""),O=`\nduet-table {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n margin-bottom: ${m} !important;\n display: block;\n font-variant-numeric: tabular-nums;\n\n table,\n thead,\n tbody,\n tfoot,\n th,\n td,\n tr {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n }\n\n &.duet-m-0 {\n margin: 0 !important;\n }\n\n table {\n width: 100%;\n font-family: ${f};\n font-size: ${g};\n text-align: left;\n border-spacing: 0;\n border-collapse: separate;\n }\n\n &.duet-table-hide-head-visually.duet-table-hide-head-visually {\n thead,\n thead * {\n position: absolute !important;\n top: 0;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n border: 0 !important;\n }\n }\n\n td {\n -webkit-hyphens: auto;\n hyphens: auto;\n color: ${y};\n }\n\n th {\n font-weight: ${v};\n line-height: ${k};\n color: ${x};\n text-align: left;\n }\n\n tbody th {\n font-weight: ${v};\n color: ${y};\n }\n\n & .duet-table-action-row {\n & td:last-child {\n justify-self: end;\n padding-right: ${m} !important;\n white-space: nowrap;\n }\n }\n\n span.duet-table-cell-heading {\n display: none;\n }\n}\n\n.duet-table-flattened {\n table,\n thead,\n tbody,\n tfoot,\n th,\n td,\n tr {\n display: block;\n }\n\n thead tr {\n position: absolute !important;\n top: 0;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n border: 0 !important;\n }\n\n td {\n line-height: ${k};\n\n &:not(:last-child) {\n margin-bottom: ${w};\n }\n\n span.duet-table-cell-heading {\n margin-bottom: ${$};\n display: block;\n font-size: ${g};\n font-weight: ${v};\n color: ${y};\n }\n }\n\n tbody td,\n tbody th,\n tfoot td {\n padding: 0 !important;\n text-align: left !important;\n }\n\n tbody th {\n font-weight: ${v};\n line-height: ${k};\n color: ${x};\n text-align: left;\n }\n}\n\n.duet-table-sticky thead th {\n position: sticky;\n top: 0;\n z-index: $z-index-sticky;\n background: ${T};\n}\n\n.duet-table-striped {\n td,\n th {\n padding: ${m} !important;\n @media ${L.replace("'","").replace("'","")} {\n padding: ${m} ${z} !important;\n }\n }\n\n tbody th {\n background: ${T};\n }\n\n &.duet-table-sticky {\n thead th {\n border-bottom: 1px solid ${E};\n }\n }\n\n tbody:not(:first-of-type) th {\n padding-top: calc(${m} * 2) !important;\n }\n\n tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba(4, 81, 128, 0.04);\n }\n\n tbody:not(:only-of-type) tr:nth-of-type(even) {\n background: rgba(4, 81, 128, 0.04);\n }\n\n tfoot td {\n border-top: 1px solid ${E};\n }\n\n &.duet-table-flattened {\n tbody:not(:first-of-type) th {\n padding-top: ${m} !important;\n }\n\n tr {\n padding: ${m} !important;\n }\n\n tfoot {\n td {\n border-top: 0;\n }\n\n tr {\n border-top: 1px solid ${E};\n }\n }\n }\n}\n\n.duet-table-plain, .duet-table-fixed, .duet-table-minimal {\n th {\n padding: ${w} !important;\n border-bottom: 1px solid ${x};\n\n &:first-child {\n padding-left: 0 !important;\n }\n\n &:last-child {\n padding-right: 0 !important;\n }\n }\n\n \n\n tbody th {\n padding-top: calc(${m} * 2) !important;\n border-bottom-color: ${E};\n }\n\n td {\n padding: ${w} !important;\n\n &:first-child {\n padding-left: 0 !important;\n }\n\n &:last-child {\n padding-right: 0 !important;\n }\n }\n\n tbody td {\n border-bottom: 1px solid ${E};\n }\n\n &.duet-table-flattened {\n tbody:first-of-type th {\n padding-top: 0 !important;\n }\n\n td,\n tbody th {\n border-bottom: 0;\n }\n\n tr {\n padding: ${m} 0 !important;\n }\n\n tbody th {\n padding-top: ${m} !important;\n }\n\n tfoot td {\n margin-bottom: ${$} !important;\n }\n\n tbody:not(:only-of-type) tr:first-child {\n border-bottom: 0;\n }\n }\n}\n\n.duet-table-plain {\n\n &.duet-table-flattened {\n tbody tr {\n border-bottom: 1px solid ${E};\n }\n }\n}\n\n.duet-table-minimal {\n\n tbody tr,\n tbody tr td {\n vertical-align: top;\n border-bottom: 0 none;\n }\n\n tbody tr:last-of-type,\n tbody tr:last-of-type td {\n border-bottom: 1px solid ${E};\n }\n\n &.duet-table-flattened {\n tbody tr,\n tbody tr td {\n border-bottom: 0 none;\n }\n\n tbody tr td[data-heading]::before {\n display: none;\n }\n\n tfoot {\n border-top: 1px solid ${E};\n }\n }\n}\n\n.duet-table-fixed {\n\n table {\n table-layout: fixed;\n }\n\n tbody tr,\n tbody tr td,\n tbody tr td:first-child {\n padding: 4px !important;\n vertical-align: text-bottom;\n border-bottom: 0 none;\n }\n\n thead {\n display: none;\n }\n\n tbody tr,\n tbody tr td {\n border-bottom: 0 none;\n }\n\n &:not(.duet-table-flattened) {\n tfoot {\n border-top: 1px solid ${E};\n }\n }\n}\n.duet-table-scrollable {\n position: relative;\n width: 100%;\n overflow-x: auto;\n background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;\n background-repeat: no-repeat;\n background-attachment: local, local, scroll, scroll;\n background-size: 100px 100%, 100px 100%, 12px 100%, 12px 100%;\n}\n\n.duet-table-selected-column {\n background: rgba(${N(R)}, 0.08);\n}\n\n.duet-table-sortable {\n tbody tr td:first-child,\n thead tr th:first-child {\n padding: ${m};\n }\n\n &:not(.duet-table-flattened) {\n tfoot {\n border-top: 1px solid ${E};\n }\n }\n}\n\n\n.duet-table-actions {\n table {\n table-layout: auto;\n }\n\n thead {\n & th:last-child {\n width: 1px;\n white-space: nowrap;\n }\n }\n}\n\n.duet-editable-table-table.duet-table-flattened {\n tr {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n grid-auto-rows: auto;\n gap: 10px;\n\n &.duet-table-action-row td:last-child::before {\n padding: 0;\n content: "";\n }\n }\n\n td {\n grid-column: 1 / 2;\n\n &:first-child {\n grid-row: 1;\n grid-column: 1;\n }\n\n &:last-child {\n grid-row: 1;\n grid-column: 2;\n }\n }\n}\n \nduet-table.duet-theme-turva table {\n font-family: ${j};\n}\n\nduet-table.duet-theme-turva td {\n color: ${M};\n}\n\nduet-table.duet-theme-turva th {\n color: ${S};\n}\n\nduet-table.duet-theme-turva tbody th {\n color: ${M};\n}\n\nduet-table.duet-theme-turva td span.duet-table-cell-heading {\n color: ${F};\n}\n\nduet-table.duet-table-striped.duet-theme-turva.duet-table-sticky thead {\n th,\n td {\n border-bottom-color: ${C};\n }\n}\n\nduet-table.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba(${N(M)}, 0.04);\n}\n\nduet-table.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even) {\n background: rgba(${N(M)}, 0.04);\n}\n\nduet-table.duet-table-striped.duet-theme-turva tfoot td {\n border-top-color: ${C};\n}\n\nduet-table.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr {\n border-top-color: ${C};\n}\n\nduet-table.duet-table-plain.duet-theme-turva tbody {\n th,\n td {\n border-bottom-color: ${C};\n }\n}\n\nduet-table.duet-table-plain.duet-theme-turva tbody td {\n border-bottom-color: ${C};\n}\n\nduet-theme-turva.duet-table-plain th, duet-theme-turva.duet-table-fixed th, duet-theme-turva.duet-table-minimal th {\n border-bottom-color: ${D};\n}\n\nduet-theme-turva.duet-table-plain tbody th, duet-theme-turva.duet-table-fixed tbody th, duet-theme-turva.duet-table-minimal tbody th {\n border-bottom-color: ${C};\n}\n\n.duet-table-flattened.duet-table-plain.duet-theme-turva tbody tr {\n border-bottom-color: ${C};\n}\n\n.duet-theme-turva .duet-table-selected-column {\n background: rgba(${N(D)}, 0.08);\n}\n\nduet-table.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr {\n border-bottom-color: ${C};\n}\n\nduet-table.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot {\n border-top-color: ${C};\n}\n\nduet-table.duet-table-fixed.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: ${C};\n}\n\nduet-table.duet-table-sortable.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: ${C};\n}\n`.replace(/[\n\r\t]/gm,""),J={none:0,"with-links":16*parseFloat(P),"without-links":16*parseFloat(_)},V=class{constructor(t){e(this,t),this.headingSelector="thead tr > :not(*.duet-editable-table-actions-menu)",this.matchesBreakpoint=!0,this.language=h(),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.hideHeadVisually=!1,this.handleMediaQueryChange=t=>{this.matchesBreakpoint=U.includes(this.breakpoint)?!t.matches:t.matches}}watchLanguageStateHandler(t,e){t!==e&&setTimeout((()=>this.copyHeadingsToCells()),50)}connectedCallback(){!function(t){const e=t.getRootNode();if(e instanceof ShadowRoot){const t=new CSSStyleSheet;t.replace(O).then((()=>{e.adoptedStyleSheets.push(t)}))}else{if(document.querySelector("style#duet-table-styles"))return;const t=document.createElement("style");t.id="duet-table-styles",t.innerHTML=O,document.head.append(t)}}(this.element),this.mq=matchMedia("none"===this.breakpoint||"none-scrollable"===this.breakpoint?"all":A[this.breakpoint]),this.mq.addEventListener("change",l(this.handleMediaQueryChange,50)),this.handleMediaQueryChange(this.mq),this.observer=new MutationObserver((()=>l(this.copyHeadingsToCells(),50))),this.observer.observe(this.element,{childList:!0,subtree:!0})}componentWillLoad(){if(o(this),this.copyHeadingsToCells(),this.sticky&&"none-scrollable"===this.breakpoint&&console.warn('[DUET WARNING]: sticky and breakpoint="none-scrollable" are incompatible. Scrollable takes precedence'),this.sticky){const t=J[this.stickyDistance];this.element.querySelectorAll(this.headingSelector).forEach((e=>e.style.top=`${t}px`))}}componentDidLoad(){this.observer&&this.observer.takeRecords(),u(this)}disconnectedCallback(){this.observer.disconnect(),this.observer=null,this.mq.removeListener(this.handleMediaQueryChange),this.mq=null,this.matchesBreakpoint=!0,p(this)}copyHeadingsToCells(){if(["none","none-scrollable"].includes(this.breakpoint))return;const t=this.element.querySelectorAll(this.headingSelector),e=this.element.querySelectorAll("tbody tr"),i=Array.from(t).map((t=>t.textContent.trim()));e.forEach((t=>{t.querySelectorAll("td").forEach(((t,e)=>{if(i[e]){const a=t.querySelector(".duet-table-cell-heading");if(!a||a.textContent!==i[e]){null==a||a.remove();const n=document.createElement("span");n.textContent=i[e],n.classList.add("duet-table-cell-heading"),n.setAttribute("aria-hidden","true"),n.inert=!0,t.prepend(n)}}}))}))}render(){return t(a,{key:"9f1704f22fc4624b02f78c7aef30b43a788ce295",class:{[`duet-table-${this.variation}`]:!0,"duet-table-flattened":!this.matchesBreakpoint,"duet-table-sticky":this.matchesBreakpoint&&this.sticky,"duet-table-scrollable":"none-scrollable"===this.breakpoint,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme,"duet-table-hide-head-visually":this.hideHeadVisually}},t("slot",{key:"110acd28c9af7e36e6be318cfc5ad44251b72d32"}))}get element(){return n(this)}static get watchers(){return{language:["watchLanguageStateHandler"]}}};var X=[{type:"default",system_message:"unknown error",message:{fi:"Tapahtui tuntematon virhe, ole hyvä ja yritä uudelleen.",sv:"Ett okänt fel uppstod, försök igen.",en:"An unknown error occured, please try again."}},{type:"400",system_message:"Bad Request: The server could not understand the request due to invalid syntax.",message:{fi:"Tiedostoa ei hyväksytty.",sv:"Servern avvisade din fil.",en:"The server rejected your file."}},{type:"401",system_message:"Not Authenticated: The client must authenticate itself to get the requested response...",message:{fi:"Vain kirjautunut käyttäjä voi lähettää tiedostoja.",sv:"Du måste vara inloggad för att ladda upp filer.",en:"You need to be logged in to upload files."}},{type:"403",system_message:"No Access: The client does not have access rights to the content.",message:{fi:"Ei oikeuksia lähettää tiedostoja.",sv:"Du har inte rätt åtkomsträttigheter för att ladda upp filer.",en:"You do not have the correct access rights to upload files."}},{type:"413",system_message:"Payload too large",message:{fi:"Tiedosto oli liian vastaanotettavaksi.",sv:"Filen var för stor för servern att hantera.",en:"The file was to large for the server to handle."}},{type:"415",system_message:"Unsupported media type",message:{fi:"Tiedoston tyyppi oli väärä.",sv:"Servern avvisade filen eftersom den hade fel typ.",en:"The server rejected the file because it had the wrong type."}},{type:"429",system_message:"Too many request from same address",message:{fi:"Liian monta yritystä, ole hyvä ja yritä myöhemmin uudelleen.",sv:"Servern har fått många förfrågningar från dig, försök igen senare.",en:"The server has received to many request from you, please try again later."}},{type:"500",system_message:"Internal Server Error",message:{fi:"Palvelin ilmoitti tuntemattomasta virheestä ja lataus epäonnistui.",sv:"Servern rapporterade ett okänt fel och uppladdningen misslyckades.",en:"The server reported an unknown error and the upload failed."}},{type:"duet-upload-100",system_message:"File extension not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den type.",en:"You cannot upload files with that extension."}},{type:"duet-upload-001",system_message:"File transfer failed",message:{fi:"Tiedoston lähetys keskeytyi, ole hyvä ja yritä uudelleen.",sv:"Din anslutning till servern avbröts, försök igen.",en:"Your connection to the server was interrupted, try again."}},{type:"duet-upload-101",system_message:"File mimetype not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den typ.",en:"You cannot upload files of that type."}},{type:"duet-upload-201",system_message:"File is too large",message:{fi:"Tiedosto on liian iso.",sv:"Filen är större än tillåtet.",en:"The file is larger than permitted."}},{type:"duet-upload-202",system_message:"The combined size of all files is too large",message:{fi:"Tiedostojen yhteenlaskettu koko on liian iso.",sv:"Du har nått den maximala kombinerade filstorleken.",en:"You have reached the maximum combined filesize."}},{type:"duet-upload-203",system_message:"Files to upload exceed total byte size limit",message:{fi:"Yritit lisätä tiedostoja, jotka ylittäisivät suurimman sallitun yhteenlasketun koon.",sv:"Du försökte lägga till filer som skulle överskrida den maximala kombinerade storleken.",en:"You tried to add files that would exceed the maximum combined size."}},{type:"duet-upload-301",system_message:"The maximum file limit has been reached",message:{fi:"Liitteiden maksimimäärä saavutettu.",sv:"Maximalt antal bilagor har uppnåtts.",en:"Maximum number of attachments reached."}},{type:"duet-upload-302",system_message:"Files to upload exceeds limits",message:{fi:"Et voi lähettää enempää kuin enimmäismäärän liitteitä.",sv:"Du kan inte ladda upp fler än det maximala antalet bilagor.",en:"You can't upload more than maximum number of attachments."}}];const K={fi:"Liiteluettelo",sv:"Lista över bilagor",en:"Attachments list"},G=({label:e,categoryLabel:i})=>t("div",{class:"items-header",tabindex:"-1","aria-label":b(K)},i&&t("duet-heading",{class:"category-header",border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none","aria-hidden":"true"},b(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"},b(e))),Q=(t,e,i)=>{const{allowedMimetypes:a,allowedExtensions:n,maxBytes:s}=e;let o=!1,d=B("default",i);if(t){const{name:e,type:l,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("/"),n=t.split("/");i[0]!==n[0]||i[1]!==n[1]&&"*"!==i[1]||(a=!0)})),a})(l,a),u="all"===n||""===n||" "===n||void 0===n||((t,e)=>{if(!e)return!0;const i=t.split(".");return e.split(",").includes(i[i.length-1])})(e.toLowerCase(),n),p=((t,e)=>!e||!t||e>=t)(r,s);h||(d=B("duet-upload-101",i)),u||(d=B("duet-upload-100",i)),p||(d=B("duet-upload-201",i)),o=h&&u&&p}else o=!1;return{valid:o,errorMessage:o?void 0:b(d.message),errorSystem:o?void 0:d.system_message,errorType:o?void 0:d.type}},Z=({payload:t,options:e,onFailure:i,onSuccess:a,onProgress:n})=>{const{type:s="POST",xhr:o,uri:d,argument:l=null,headers:r=null}=e;o.open(s,`${d}${l||""}`,!0);const{data:h,name:u}=t;return r&&Object.keys(r).forEach((t=>{o.setRequestHeader(t,r[t])})),"POST"===s&&(o.onreadystatechange=()=>{o.readyState===XMLHttpRequest.DONE&&o.status>=200&&o.status<300&&a(o,u,o.status),o.readyState===XMLHttpRequest.DONE&&o.status>=300&&o.status<999&&i(o,u,o.status)},n(u)),o.send(h),o},tt=class{constructor(a){e(this,a),this.duetChange=i(this,"duetChange",3),this.duetBlur=i(this,"duetBlur",7),this.duetFocus=i(this,"duetFocus",7),this.duetReady=i(this,"duetReady",7),this.duetDone=i(this,"duetDone",3),this.duetState=i(this,"duetState",3),this.duetDelete=i(this,"duetDelete",3),this.duetCancel=i(this,"duetCancel",3),this.duetProgress=i(this,"duetProgress",3),this.duetUpload=i(this,"duetUpload",3),this.linkClick=i(this,"linkClick",3),this.tick=Date.now(),this.external=!1,this.middleware=null,this.deferUpload=!1,this.hideButton=!1,this.actions=[{icon:"action-delete",color:"color-danger",size:"x-small",background:"gray-lightest",name:"delete",map:["success","failure"],label:{fi:"Poista tiedosto",en:"Delete the file",sv:"Ta bort filen"}},{icon:"navigation-close",color:"primary",size:"x-small",background:"gray-lightest",name:"cancel",map:["inprogress","pending"],label:{fi:"Keskeytä lähetys",en:"Cancel the upload",sv:"Stop överföringen"}}],this.showLinks=!1,this.statusLabelDefaults={fi:{inProgress:"Lähetetään {filesUploaded}, yhteensä lähetettävänä {filesTotal}.",inProgressWithErrors:"Lähetetään {filesInProgress}, lähetetty {filesUploaded}, yhteensä lähetettävänä {filesTotal}, {filesWithErrors} epäonnistui",done:"Lähetys valmis, {filesTotal} lisätty onnistuneesti",doneWithErrors:"Lähetys valmis, {filesUploaded} lisätty onnistuneesti, {filesWithErrors} epäonnistui",files:"tiedostoa",file:"tiedosto"},sv:{inProgress:"Laddar upp {filesUploaded} av {filesTotal}",inProgressWithErrors:"Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",done:"Uppladdningen slutförd, {filesTotal} har lagts till",doneWithErrors:"Uppladdningen slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",files:"filer",file:"fil"},en:{inProgress:"Uploading {filesUploaded} of {filesTotal}",inProgressWithErrors:"Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",done:"Upload completed, {filesTotal} added successfully",doneWithErrors:"Upload completed, {filesUploaded} added successfully, {filesWithErrors} failed.",files:"files",file:"file"}},this.statusMessageLabel=b(this.statusLabelDefaults),this.buttonLabelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add an attachment"},this.buttonLabel=b(this.buttonLabelDefaults),this.accessibleButtonLabel=void 0,this.theme="",this.disabled=!1,this.margin="auto",this.required=!1,this.alignment="middle",this.hideGroups=!1,this.files=new Map,this.valid=!this.required,this.labelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add attachments"},this.label=b(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=b(this.descriptionDefaults),this.fileListEmptyDefaults={fi:"Ei vielä lisättyjä tiedostoja.",sv:"Inga filer har lagts till ännu.",en:"No files added yet."},this.fileListEmpty=b(this.fileListEmptyDefaults),this.error="",this.errorCodes=X,this.maxBytes=2e8,this.maxBytesTotal=void 0,this.maxFiles=99,this.allowedExtensions="all",this.allowedMimetypes="",this.multiple=!0,this.limitSelection=!1,this.hideCancelButton=!1,this.captionOnBottom=!1,this.showUploadedItemsHeader=!1,this.uploadedItemsHeaderLabel={fi:"Ladattu tiedosto",sv:"Lägg till en bilaga",en:"Uploaded file"},this.headerHeadingLevel="h3",this.hideHeader=!1,this.emitEvent=!1,this.actionButtonTitles={cancel:!1,delete:!1},this.renameDuplicates=!1,this.buttonId=W("DuetButton"),this.labelId=W("DuetLabel"),this.uploadId=W("DuetUpload"),this.filesInProgress=new Map,this.fileMaxReached=!1,this.bytesMaxReached=!1,this.filesToUploadExceedsLimit=!1,this.filesToUploadTotalSizeIsAboveMax=!1,this.internalStatusMessageLabel=void 0,this.itemRefs=new Map,this.DefaultGroups={inprogress:"inprogress",success:"success",pending:"pending",failure:"failure"},this.groups=[{id:this.DefaultGroups.success,label:{fi:"Valmiit tiedostot",sv:"Files success",en:"Files success"}},{id:this.DefaultGroups.failure,label:{fi:"Tiedostot, joissa on virheitä",sv:"Filer med fel",en:"Files with errors"}},{id:this.DefaultGroups.inprogress,label:{fi:"Kesken olevat tiedostot",sv:"Filer inprogress",en:"Files inprogress"}},{id:this.DefaultGroups.pending,label:{en:"Files to upload",sv:"Filer att ladda",fi:"Ladattavat tiedostot"}}],this.kick=l((()=>{this.tick=Date.now()}),30),this.categoryLabel={en:"Category",sv:"Filtyp",fi:"Tiedostotyyppi"},this.listenForActionEvents=()=>{this.element.addEventListener("duetActionEvent",(t=>{const e=t.detail,{action:i,id:a,originalEvent:n}=e;switch(i){case"delete":this.onDelete(a,n);break;case"cancel":this.onCancel(a,n)}}))},this.verifyValidity=()=>{const{invalid:t,valid:e}=this.getFilesAsArray(),i=this.valid;this.valid=0===t.length&&0!==e.length,this.valid!==i&&this.duetState.emit({originalEvent:void 0,data:{valid:this.valid,from:"componentWillRender"},component:"duet-upload"})},this.getGroupFromItemData=t=>t.valid&&100===t.progress?this.DefaultGroups.success:t.progress>0&&100!==t.progress?this.DefaultGroups.inprogress:t.valid?t.pending?this.DefaultGroups.pending:t.group?t.group:"none":this.DefaultGroups.failure,this.mapFilesToUploadItems=(e,i,a,n)=>i===this.DefaultGroups.success?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"success",data:e,showLinks:this.showLinks,linkClickEvent:this.emitEvent?this.linkClick:void 0,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.inprogress?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"inprogress",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.pending?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"pending",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.failure?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"failure",data:e,showLinks:this.showLinks,errorCodes:this.errorCodes,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):e.group?e.html:"none",this.genHashName=()=>Date.now().toString(36)+Math.random(),this.updateValueInMap=(t,e,i,a=!0)=>{try{const a=this.files.get(t);a[e]=i,this.files.set(t,a),this.external&&"url"!==e&&this.trackProgress(t,"uploaded"===e)}catch(t){}a&&this.kick()},this.updateProgress=(t,e)=>{t.lengthComputable?(i=>{this.updateValueInMap(e,"progress",i),this.onProgress(e,i,t)})(t.loaded/t.total*100):console.log("cant read progress")},this.trackProgress=(t,e=!1)=>{e?this.filesInProgress.delete(t):this.filesInProgress.set(t,"inprogress"),0===this.filesInProgress.size&&this.onDone()},this.getFilesAsArray=()=>{const t=[],e=[];return this.files.forEach((i=>{i.valid&&!i.deleted?t.push(i):i.valid||i.deleted||e.push(i)})),{valid:t,invalid:e}},this.resetFormFields=()=>{this.nativeInput.value=""},this.startUpload=async(t,e)=>{const{bytesMaxReached:i,fileMaxReached:a}=this.validateTotals();i||a?this.kick():(this.metaData=e,this.nativeInput.click(),this.onUpload(t,e),t.stopPropagation(),t.preventDefault())},this.transferComplete=t=>{this.updateValueInMap(t,"progress",100,!1),this.trackProgress(t,!0)},this.transferDone=(t,e,i)=>{this.updateValueInMap(e,"status",i,!1),this.updateValueInMap(e,"uploaded",!0,!1);try{const i=JSON.parse(t.response);this.updateValueInMap(e,"url",i.url)}catch(t){this.updateValueInMap(e,"url",null),console.error("Server did not respond with expected response {url: string}")}},this.transferDoneWithFailure=(t,e,i)=>{try{const{error:i}=JSON.parse(t.response);this.updateValueInMap(e,"error",{message:i.message,type:i.type},!1)}catch(t){console.error("Server did not respond with expected response error:{message: string, type: int}"),this.updateValueInMap(e,"error",{type:i},!1)}this.updateValueInMap(e,"valid",!1,!0)},this.transferFailed=t=>{this.updateValueInMap(t,"error",H("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",H("duet-upload-202",this.errorCodes),!1),i&&t&&this.updateValueInMap(t,"error",H("duet-upload-301",this.errorCodes),!1),this.bytesMaxReached=e,this.fileMaxReached=i,{bytesMaxReached:e,fileMaxReached:i}},this.uploadFile=async(t,e=!1,i)=>{!e&&this.deferUpload?(this.updateValueInMap(t.item.name,"pending",!0,!1),this.updateValueInMap(t.item.name,"group","pending",!0)):e&&(this.updateValueInMap(t.item.name,"pending",!1,!1),this.updateValueInMap(t.item.name,"group",void 0,!0));try{if(!this.deferUpload||e){const e=new FormData;e.append("file",t.item),i&&e.append("key",i),e.append("uid",t.uid),e.append("name",t.item.name),e.append("metadata",JSON.stringify({uid:t.uid,url:this.uri,size:t.item.size,meta:t.meta})),t.xhr=await this.makeXHRPostRequest(e)}}catch(e){this.updateValueInMap(t.item.name,"valid",!1,!1)}},this.uploadPendingFiles=()=>{for(const[t,e]of Array.from(this.files.entries()))"pending"===e.group&&!0===e.pending&&this.uploadFile(e,!0,t)},this.getItemFromUID=t=>{for(const[e,i]of Array.from(this.files.entries()))if(i.uid===t)return{value:i,key:e};return null},this.handleExternalUploadButton=(t,e)=>{this.externalUploadButton&&(this.externalUploadButton.disabled=!(!t&&!e))},this.onDelete=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:n,fileMaxReached:s}=this.validateTotals();this.handleExternalUploadButton(n,s),this.kick(),this.duetDelete.emit({originalEvent:e,data:{deletion:a},component:"duet-upload"}),this.external||a.pending||this.makeXHRDeleteRequest(a),this.resetFormFields()},this.onCancel=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:n,fileMaxReached:s}=this.validateTotals();if(this.handleExternalUploadButton(n,s),!this.external){const{xhr:t}=a;t&&t.abort()}this.kick(),this.resetFormFields(),this.duetCancel.emit({originalEvent:e,data:{cancelled:a},component:"duet-upload"})},this.onUpload=(t,e)=>{this.duetUpload.emit({originalEvent:t,metaData:e,component:"duet-upload"})},this.onBlur=t=>{this.duetBlur.emit({originalEvent:t,component:"duet-upload"})},this.onProgress=(t,e,i)=>{this.duetChange.emit({originalEvent:i,data:{key:t,percentComplete:e},component:"duet-upload"})},this.onFocus=t=>{this.duetFocus.emit({originalEvent:t,component:"duet-upload"})},this.onReady=()=>{this.duetReady.emit({component:"duet-upload"})},this.onDone=()=>{this.duetDone.emit({component:"duet-upload",data:{files:this.files}})},this.filterMap=()=>{const t=Array.from(this.files.values()),e=[],i=[],a=[],n=[];let s=!1;return t.forEach((t=>{const o=this.getGroupFromItemData(t);t.meta&&t.meta.badges&&(s=!0),o===this.DefaultGroups.success?n.push({uid:t.uid,data:t}):o===this.DefaultGroups.inprogress?e.push({uid:t.uid,data:t}):o===this.DefaultGroups.pending?a.push({uid:t.uid,data:t}):o===this.DefaultGroups.failure?i.push({uid:t.uid,data:t}):t.group&&e.push({uid:t.uid,data:t})})),{pending:a,failure:i,success:n,inprogress:e,hasCategory:s}},this.getActions=(t,e)=>e.filter((e=>e.map.includes(t))),this.renderUploadedItems=()=>{this.itemRefs.clear();const e=this.filterMap(),i=e.hasCategory,a=this.hideCancelButton?this.actions.filter((t=>"cancel"!==t.name)):this.actions,n=this.groups.map((n=>{const o=e[n.id];if(null==o?void 0:o.length)return t(s,null,!this.hideGroups&&t(G,{categoryLabel:i?this.categoryLabel:void 0,label:n.label}),o.map((t=>this.mapFilesToUploadItems(t.data,n.id,i,a))))}));return t(s,null,this.showUploadedItemsHeader&&t(G,{categoryLabel:i?this.categoryLabel:void 0,label:this.uploadedItemsHeaderLabel}),n)}}watchValidHandler(t,e){t!==e&&this.kick()}componentWillLoad(){this.internalStatusMessageLabel="string"==typeof this.statusMessageLabel?c(this.groups):this.statusMessageLabel,o(this),this.listenForActionEvents(),this.onReady(),this.externalUploadButton=document.querySelector(`#${this.externalUploadButtonId}`),this.processedButtonTitles=q(this.actionButtonTitles)}componentWillRender(){this.verifyValidity()}async setFocus(t){this.nativeInput&&this.nativeInput.focus(t)}async upload(t){const{bytesMaxReached:e,fileMaxReached:i}=this.validateTotals();if(e||i)return this.handleExternalUploadButton(e,i),void this.kick();this.metaData=t,this.nativeInput.click()}async uploadPending(){this.uploadPendingFiles()}async refresh(){this.kick(),await this.setFocus()}async getFiles(){return!(!this.files||0===this.files.size)&&this.getFilesAsArray()}async updateValue(t,e,i){this.updateValueInMap(t,e,i)}async focusActionButton(t){var e;await(null===(e=this.itemRefs.get(t))||void 0===e?void 0:e.focusActionButton())}render(){const e=this.identifier||this.uploadId,i=Math.round((this.maxBytesTotal?this.maxBytesTotal:this.maxBytes*this.maxFiles)/1024/1024),n=Math.round(this.maxBytes/1024/1024);let o=this.description.replace(/{maxfiles}/g,this.maxFiles.toString());return o=o.replace(/{maxbytes}/g,`${n.toString()} MB`),o=o.replace(/{maxbytestotal}/g,`${i.toString()} MB`),o=o.replace(/{filetypes}/g,this.allowedExtensions.split(",").join(", ")),this.externalUploadButton&&(this.externalUploadButton.accessibleLabel=`${this.externalUploadButton.innerText}. ${o}`),t(a,{key:"fe296e7a1f173e1f9d106725647de568270f7381",class:{"duet-m-0":"none"===this.margin}},t("duet-fieldset",{key:"72451c8e8021c8efdbef350e92d5d00db671f5eb","label-heading-level":this.headerHeadingLevel,"label-hidden":this.hideHeader,label:this.label},t("slot",{key:"120762b8d74276d518b1a4aa5ebc9267bb821b86",name:"header"}),!this.files.size&&t("duet-empty-state",{key:"7d1685f051c1607ed5984f21ca0306cffb135f9c",id:this.labelId,part:this.identifier?`${this.identifier}-empty-state`:"duet-upload-empty-state",icon:"messaging-attachment"},t("duet-paragraph",{key:"4341d78e97e8842976517a9427dad1fb79f15600",margin:"none"},this.fileListEmpty)),!!this.files.size&&t("slot",{key:"ebd5fcbee689a2d69689a66da5770057f959e05b",name:"fileheader"}),!!this.files.size&&t("duet-upload-aria-status",{key:"da8d067ccff2b9de4ef7036d28538c3e1a99813a",invalid:this.getFilesAsArray().invalid.length,valid:this.getFilesAsArray().valid.length,inprogress:this.filesInProgress.size,total:this.files.size,statusMessageLabel:this.internalStatusMessageLabel}),!!this.files.size&&this.renderUploadedItems(),!!this.files.size&&t("slot",{key:"72fb36ce235d388cf811d0b1e2689e673f166aee",name:"filefooter"}),t("slot",{key:"1f0f3dc31f01636b94567622dc365a743bb9c555",name:"uploadfooter"}),this.captionOnBottom&&t("duet-caption",{key:"071ab836a62ea4c49ab66af59eebf8fd8e6ac0a1",margin:"none",size:"small"},t("div",{key:"8cb3bbe8afe46260ee01de1ccfec1171ad7d15b3",class:"upload-bottom-caption"},o)),t("slot",{key:"6ccb7bba76d874455cb6c6e4cde19fb4f3118c84",name:"afterfooter"}),!this.hideButton&&t(s,{key:"fb69a17ce2cd8ab89382b3a88aaf11c3ec5111d3"},t("duet-spacer",{key:"d12382964296660b0138d5e7cb23119d9ba51315",size:"large"}),t("duet-button",{key:"585b1a6670caf0810ea89a1dc930b4cb7a45c09a",id:this.buttonId,onClick:this.startUpload,"accessible-controls":e,disabled:this.fileMaxReached,"accessible-label":this.accessibleButtonLabel||`${this.buttonLabel}. ${o}`,"accessible-owns":e,size:"small",variation:"secondary",fixed:!0,icon:"action-add-circle",part:this.identifier?`${this.identifier}-button-upload`:"duet-upload-button-upload"},this.buttonLabel)),(this.fileMaxReached||this.bytesMaxReached||this.filesToUploadExceedsLimit||this.filesToUploadTotalSizeIsAboveMax)&&t(s,{key:"2c6faea7f05f92b8156afb6125ed218230d03a9b"},t("duet-spacer",{key:"0a03717e16ad6080343f46e9cea6235fe7c95fb3",size:"medium"}),t("duet-alert",{key:"6e455df241d9c0371a4ac45e9d7f11f9d5b2469a",part:this.identifier?`${this.identifier}-error-notification`:"duet-upload-error-notification"},this.fileMaxReached&&H("duet-upload-301",this.errorCodes),this.bytesMaxReached&&H("duet-upload-202",this.errorCodes),this.filesToUploadExceedsLimit&&H("duet-upload-302",this.errorCodes),this.filesToUploadTotalSizeIsAboveMax&&H("duet-upload-203",this.errorCodes))),t("duet-visually-hidden",{key:"0dcf57e2b593b8b4581b9516300d7fcf93a94ded","aria-hidden":"true"},t("input",{key:"8c8089792d4049c26b827d1b543bd9ddaaba326b",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)),Z(a)}makeXHRDeleteRequest(t){const{uid:e,item:i}=t,a=new XMLHttpRequest;let n={payload:{data:null,name},options:{type:"DELETE",xhr:a,uri:this.uri,argument:`?key=${e}&name=${i.name}`,headers:{"x-fileuid":e,"x-filename":i.name}},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(n=this.middleware(n)),Z(n)}escapeSpecialCharacters(t){return(t+"").replace(/[\\"'(){}\[\]*?$^+]/g,"\\$&").replace(/\u0000/g,"\\0")}getRenamedFileName(t,e){const i=new RegExp(`${this.escapeSpecialCharacters(t)} \\(\\d+\\).${e}`),a=Array.from(this.files.entries()).map((t=>{const[e,i]=t;return e})).filter((a=>i.test(a)||a===`${t}.${e}`)).sort(((t,e)=>t.split(".").slice(0,-1).join(".")>e.split(".").slice(0,-1).join(".")?1:-1)).pop().split(".").slice(0,-1).join(".");if(a===t)return`${t} (1).${e}`;const n=parseInt(a.split("(").pop().slice(0,-1));return`${t} (${n+1}).${e}`}renameFiles(t){return t.map((t=>{if(this.files.get(t.name)){const e=t.name.split("."),i=e.pop(),a=e.join("."),n=this.getRenamedFileName(a,i);return new File([t],n,{type:t.type,lastModified:t.lastModified})}return t}))}async onChange(t){var e;let i=Array.from(null===(e=this.nativeInput)||void 0===e?void 0:e.files);if(this.filesToUploadExceedsLimit=!1,this.files.size+i.length>this.maxFiles)return this.filesToUploadExceedsLimit=!0,void this.kick();if(this.filesToUploadTotalSizeIsAboveMax=!1,((t,e,i)=>{let a=0;return!!(i&&(this.files.forEach((t=>{t.valid&&t.size&&(a+=t.size)})),e.forEach((t=>{t.size&&(a+=t.size)})),a>=i))})(0,i,this.maxBytesTotal))return this.filesToUploadTotalSizeIsAboveMax=!0,void this.kick();if(i){this.renameDuplicates&&(i=this.renameFiles(i));for(const t of i){const{valid:e,errorMessage:i,errorType:a,errorSystem:n}=Q(t,{maxBytes:this.maxBytes,allowedExtensions:this.allowedExtensions,allowedMimetypes:this.allowedMimetypes},this.errorCodes),s={uid:this.genHashName(),item:t,size:t.size,meta:this.metaData,uploaded:!1,valid:e,error:{type:e?void 0:a,message:e?void 0:i,system_message:e?void 0:n},progress:0,deleted:!1,xhr:!1,url:!1};this.files.set(t.name,s),e&&!this.external?await this.uploadFile(s):e&&this.external?(this.updateValueInMap(s.item.name,"pending",!0,!1),this.updateValueInMap(s.item.name,"group","pending",!0)):e||this.updateValueInMap(t.name,"valid",!1,!0),this.kick()}}this.resetFormFields(),this.metaData=void 0,this.duetChange.emit({originalEvent:t,data:{files:this.files},component:"duet-upload"})}get element(){return n(this)}static get watchers(){return{valid:["watchValidHandler"]}}};tt.style="*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}::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;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}.duet-upload-item-size{font-size:0.75rem;font-weight:400}.duet-upload-filelist{margin-bottom:25px}.duet-upload-filelist-empty{display:flex;align-items:center;justify-content:center;width:100%;height:75px;margin:0 auto;font-size:1rem;font-weight:400;background-color:rgb(245, 248, 250)}.duet-upload-filelist-empty-label{font-size:1rem;font-weight:400}.duet-upload-editable-table-header-hidden{display:none}.duet-upload-editable-table tbody .duet-upload-editable-table-data{padding:0 !important;border:0}.duet-upload-editable-table duet-editable-table tfoot,.duet-upload-editable-table duet-editable-table thead{display:none}.duet-upload-editable-table duet-editable-table .duet-editable-table-content{padding-right:0 !important;padding-left:0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td{padding:1rem 0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td:last-child{padding-right:0 !important}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending{position:relative}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-progress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-progress{position:absolute;bottom:0;width:100%}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-action-button::part(button),.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-action-button::part(button){border:0}duet-paragraph::part(duet-paragraph){word-break:break-word}duet-editable-table tfoot{display:none}.upload-bottom-caption{margin-top:12px;margin-bottom:16px;line-height:1.4rem}.items-header{display:none;flex-direction:row;margin-bottom:0}@media (min-width: 36em){.items-header{display:flex}}.items-header:not(:last-child),.items-header:not(:first-child){margin-top:12px}.items-header .category-header{width:35%}.items-header .filename-header{width:65%}.items-header .filename-header.no-category{width:100%}.upload-item-row{display:flex;flex-direction:column;gap:16px;align-content:center;align-items:center;padding:16px 0 16px 0;border-bottom:1px solid rgb(212, 223, 229)}@media (min-width: 36em){.upload-item-row{flex-direction:row;gap:10px}}.upload-item-row .item-categories{width:100%}@media (min-width: 36em){.upload-item-row .item-categories{width:35%}}.upload-item-row .item-name{position:relative;bottom:2px;width:100%;text-align:left}@media (min-width: 36em){.upload-item-row .item-name{width:50%}.upload-item-row .item-name.no-category{width:85%}}.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:block}@media (min-width: 36em){.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:none}}.upload-item-row .item-actions{width:100%;margin-left:-8px;text-align:left}@media (min-width: 36em){.upload-item-row .item-actions{width:15%;padding-top:0;margin-left:auto;text-align:right}}.upload-item-row .duet-upload-item-name duet-icon{position:relative;top:4px}.upload-item-row .duet-upload-item-name duet-progress{display:block;margin-top:16px}";export{Y as duet_editable_table,V as duet_table,tt as duet_upload}