@duetds/components 10.3.1 → 10.4.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 (425) hide show
  1. package/hydrate/index.js +329 -264
  2. package/hydrate/index.mjs +329 -264
  3. package/lib/cjs/{a11y-utils-dXXDBTyF.js → a11y-utils-BXDHn_nL.js} +1 -1
  4. package/lib/cjs/{app-globals-CyPV2FZK.js → app-globals-Bs3-XKhd.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 +5 -5
  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 +4 -4
  12. package/lib/cjs/duet-callout.cjs.entry.js +5 -5
  13. package/lib/cjs/duet-caption_4.cjs.entry.js +12 -12
  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 +7 -5
  18. package/lib/cjs/duet-choice_2.cjs.entry.js +15 -13
  19. package/lib/cjs/duet-collapsible.cjs.entry.js +3 -3
  20. package/lib/cjs/duet-combobox.cjs.entry.js +26 -9
  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 +7 -7
  24. package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
  25. package/lib/cjs/duet-editable-table_3.cjs.entry.js +8 -8
  26. package/lib/cjs/duet-empty-state.cjs.entry.js +33 -7
  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 +14 -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 +17 -13
  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 +11 -11
  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 +8 -8
  49. package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
  50. package/lib/cjs/duet-page-heading.cjs.entry.js +4 -4
  51. package/lib/cjs/duet-pagination_2.cjs.entry.js +16 -16
  52. package/lib/cjs/duet-panel.cjs.entry.js +4 -4
  53. package/lib/cjs/duet-phone-input.cjs.entry.js +4 -4
  54. package/lib/cjs/duet-popup-menu_2.cjs.entry.js +21 -11
  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 +10 -8
  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 +10 -10
  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 +7 -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 +14 -21
  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 +9 -9
  86. package/lib/cjs/duet-tooltip.cjs.entry.js +4 -4
  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-DQ-I8x2z.js → errorcodes.utils-W6UQ3hgy.js} +1 -1
  93. package/lib/cjs/{focus-utils-DstNW4_h.js → focus-utils-KTKpjKRi.js} +1 -1
  94. package/lib/cjs/{index-B_QTwXEx.js → index-C7Yvi8y8.js} +5 -5
  95. package/lib/cjs/{label-yAj5CKm3.js → label-DZ63Z3SI.js} +1 -1
  96. package/lib/cjs/{language-utils-DjtvVntE.js → language-utils-BsevPDrN.js} +1 -1
  97. package/lib/cjs/loader.cjs.js +3 -3
  98. package/lib/cjs/{slot-utils-YUU0XWn9.js → slot-utils-DIDW777s.js} +2 -2
  99. package/lib/cjs/{themeable-component-h3OzJgCb.js → themeable-component-hQ83w5_A.js} +1 -1
  100. package/lib/collection/components/duet-badge/duet-badge.js +2 -2
  101. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
  102. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
  103. package/lib/collection/components/duet-callout/duet-callout.js +2 -2
  104. package/lib/collection/components/duet-chip/duet-chip.js +4 -2
  105. package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
  106. package/lib/collection/components/duet-choice/duet-choice.js +9 -36
  107. package/lib/collection/components/duet-choice-group/duet-choice-group.js +2 -2
  108. package/lib/collection/components/duet-combobox/duet-combobox.js +22 -5
  109. package/lib/collection/components/duet-contact-card/duet-contact-card.js +2 -2
  110. package/lib/collection/components/duet-date-picker/duet-date-picker.css +0 -1
  111. package/lib/collection/components/duet-empty-state/duet-empty-state.css +55 -2
  112. package/lib/collection/components/duet-empty-state/duet-empty-state.js +124 -6
  113. package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
  114. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +1 -1
  115. package/lib/collection/components/duet-footer/duet-footer.js +4 -4
  116. package/lib/collection/components/duet-grid/duet-grid.css +23 -0
  117. package/lib/collection/components/duet-grid/duet-grid.js +29 -2
  118. package/lib/collection/components/duet-grid-item/duet-grid-item.js +2 -2
  119. package/lib/collection/components/duet-heading/duet-heading.css +62 -0
  120. package/lib/collection/components/duet-heading/duet-heading.js +40 -2
  121. package/lib/collection/components/duet-hero/duet-hero.js +5 -5
  122. package/lib/collection/components/duet-icon/duet-icon.js +3 -3
  123. package/lib/collection/components/duet-indicator/duet-indicator.js +2 -2
  124. package/lib/collection/components/duet-input/duet-input.css +11 -2
  125. package/lib/collection/components/duet-input/duet-input.js +11 -7
  126. package/lib/collection/components/duet-layout/duet-layout.js +5 -5
  127. package/lib/collection/components/duet-link/duet-link.js +2 -2
  128. package/lib/collection/components/duet-list/duet-list.js +1 -1
  129. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
  130. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  131. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +3 -3
  132. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
  133. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
  134. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
  135. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +2 -2
  136. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
  137. package/lib/collection/components/duet-modal/duet-modal.js +7 -7
  138. package/lib/collection/components/duet-multiselect/duet-multiselect.css +11 -2
  139. package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
  140. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  141. package/lib/collection/components/duet-notification/duet-notification.js +2 -2
  142. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +3 -3
  143. package/lib/collection/components/duet-number-input/duet-number-input.js +4 -4
  144. package/lib/collection/components/duet-overlay/duet-overlay.js +1 -1
  145. package/lib/collection/components/duet-page-heading/duet-page-heading.js +2 -2
  146. package/lib/collection/components/duet-pagination/duet-pagination.js +11 -11
  147. package/lib/collection/components/duet-panel/duet-panel.js +2 -2
  148. package/lib/collection/components/duet-paragraph/duet-paragraph.js +2 -2
  149. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +13 -3
  150. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  151. package/lib/collection/components/duet-promo-card/duet-promo-card.js +2 -2
  152. package/lib/collection/components/duet-radio/duet-radio.js +6 -4
  153. package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
  154. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  155. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -2
  156. package/lib/collection/components/duet-scrollable/duet-scrollable.js +5 -5
  157. package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -3
  158. package/lib/collection/components/duet-select/duet-select.css +11 -2
  159. package/lib/collection/components/duet-select/duet-select.js +5 -5
  160. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
  161. package/lib/collection/components/duet-share-chart/duet-share-chart.js +2 -2
  162. package/lib/collection/components/duet-share-chart-item/duet-share-chart-item.js +1 -1
  163. package/lib/collection/components/duet-show-more/duet-show-more.js +2 -2
  164. package/lib/collection/components/duet-slideout/duet-slideout.js +4 -4
  165. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
  166. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -2
  167. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
  168. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
  169. package/lib/collection/components/duet-spacer/duet-spacer.js +1 -1
  170. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  171. package/lib/collection/components/duet-status-icon/duet-status-icon.css +39 -0
  172. package/lib/collection/components/duet-status-icon/duet-status-icon.js +13 -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.css +11 -2
  184. package/lib/collection/components/duet-textarea/duet-textarea.js +8 -15
  185. package/lib/collection/components/duet-toggle/duet-toggle.js +3 -3
  186. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
  187. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
  188. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
  189. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +3 -3
  190. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
  191. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +3 -3
  192. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +3 -3
  193. package/lib/collection/components/duet-tray/duet-tray.js +2 -2
  194. package/lib/collection/components/duet-upload/duet-upload.js +2 -2
  195. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
  196. package/lib/collection/components/duet-upload-item/duet-upload-item.js +2 -2
  197. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  198. package/lib/collection/utils/slot-utils.js +1 -1
  199. package/lib/duet/duet.esm.js +1 -1
  200. package/lib/duet/p--fmK3qPb.js +4 -0
  201. package/lib/duet/{p-4b8293b3.entry.js → p-01f3e30c.entry.js} +1 -1
  202. package/lib/duet/p-0395eb34.entry.js +4 -0
  203. package/lib/duet/{p-bfc75bb9.entry.js → p-0453edd0.entry.js} +1 -1
  204. package/lib/duet/p-07aa40df.entry.js +4 -0
  205. package/lib/duet/{p-b9a54319.entry.js → p-07c4b435.entry.js} +1 -1
  206. package/lib/duet/{p-8a28f86e.entry.js → p-0eb0e582.entry.js} +1 -1
  207. package/lib/duet/{p-ce4d9add.entry.js → p-104ddbf2.entry.js} +1 -1
  208. package/lib/duet/{p-0ccecf5b.entry.js → p-12e4e9b6.entry.js} +1 -1
  209. package/lib/duet/{p-fca9c5c4.entry.js → p-13b7f4e0.entry.js} +1 -1
  210. package/lib/duet/{p-c8e520b6.entry.js → p-14d4a45a.entry.js} +1 -1
  211. package/lib/duet/{p-5fb1092c.entry.js → p-1666aeaf.entry.js} +1 -1
  212. package/lib/duet/{p-f55f8bd9.entry.js → p-1705b6cf.entry.js} +1 -1
  213. package/lib/duet/{p-b4c18ee6.entry.js → p-184d53a7.entry.js} +1 -1
  214. package/lib/duet/{p-f15ab3b8.entry.js → p-1bdef0e0.entry.js} +1 -1
  215. package/lib/duet/p-1dcbbd67.entry.js +4 -0
  216. package/lib/duet/{p-301b8664.entry.js → p-1ed82a27.entry.js} +1 -1
  217. package/lib/duet/{p-d8bc628c.entry.js → p-1ee400e7.entry.js} +1 -1
  218. package/lib/duet/p-2168e431.entry.js +4 -0
  219. package/lib/duet/{p-BUWuSkQW.js → p-2HU78SJ-.js} +1 -1
  220. package/lib/duet/{p-3d00efb7.entry.js → p-2d43de54.entry.js} +1 -1
  221. package/lib/duet/{p-ae778cb1.entry.js → p-2e413951.entry.js} +1 -1
  222. package/lib/duet/{p-5c9530f1.entry.js → p-3361387d.entry.js} +1 -1
  223. package/lib/duet/p-3648404d.entry.js +4 -0
  224. package/lib/duet/{p-a6bec2da.entry.js → p-376f9d06.entry.js} +1 -1
  225. package/lib/duet/{p-86166f8d.entry.js → p-3bd45b5b.entry.js} +1 -1
  226. package/lib/duet/{p-b6dc4395.entry.js → p-3c26d300.entry.js} +1 -1
  227. package/lib/duet/{p-a8229728.entry.js → p-428db44b.entry.js} +1 -1
  228. package/lib/duet/p-4420973e.entry.js +4 -0
  229. package/lib/duet/{p-e9c2eb66.entry.js → p-455e8ebe.entry.js} +1 -1
  230. package/lib/duet/{p-162a0691.entry.js → p-46300680.entry.js} +1 -1
  231. package/lib/duet/{p-06f17fe7.entry.js → p-494755d0.entry.js} +1 -1
  232. package/lib/duet/{p-278ef4d8.entry.js → p-4c5a8ed3.entry.js} +1 -1
  233. package/lib/duet/{p-ecf69f6d.entry.js → p-4d39941c.entry.js} +1 -1
  234. package/lib/duet/p-4f7b0699.entry.js +4 -0
  235. package/lib/duet/p-526fa31c.entry.js +4 -0
  236. package/lib/duet/p-58496fb1.entry.js +4 -0
  237. package/lib/duet/p-58a70b3d.entry.js +4 -0
  238. package/lib/duet/{p-245c0535.entry.js → p-592a6542.entry.js} +1 -1
  239. package/lib/duet/p-5c8c691b.entry.js +4 -0
  240. package/lib/duet/p-5dde8fbb.entry.js +4 -0
  241. package/lib/duet/{p-6cffc5b7.entry.js → p-5ffc4081.entry.js} +1 -1
  242. package/lib/duet/{p-2e126e15.entry.js → p-61b6962a.entry.js} +1 -1
  243. package/lib/duet/{p-efa1cd0b.entry.js → p-6988c81c.entry.js} +1 -1
  244. package/lib/duet/{p-f71d04ce.entry.js → p-73ed0008.entry.js} +1 -1
  245. package/lib/duet/{p-3d0a716c.entry.js → p-7a2ca711.entry.js} +1 -1
  246. package/lib/duet/{p-12b2d402.entry.js → p-7a5066b8.entry.js} +1 -1
  247. package/lib/duet/{p-ec689a7c.entry.js → p-7a668cee.entry.js} +1 -1
  248. package/lib/duet/p-7e640c8e.entry.js +4 -0
  249. package/lib/duet/{p-17c063a3.entry.js → p-7eaa1fb5.entry.js} +1 -1
  250. package/lib/duet/p-81332db1.entry.js +4 -0
  251. package/lib/duet/{p-898d5701.entry.js → p-816caa58.entry.js} +1 -1
  252. package/lib/duet/{p-690beb31.entry.js → p-84420fbf.entry.js} +1 -1
  253. package/lib/duet/{p-ed750cdf.entry.js → p-870dc953.entry.js} +1 -1
  254. package/lib/duet/{p-93abd97a.entry.js → p-87bb797c.entry.js} +1 -1
  255. package/lib/duet/p-9d8027aa.entry.js +4 -0
  256. package/lib/duet/{p-B6Z_1gqI.js → p-BW3SZS4F.js} +1 -1
  257. package/lib/duet/{p-CW11pVgw.js → p-Chf7ZRmW.js} +1 -1
  258. package/lib/duet/p-CtBx3Trd.js +4 -0
  259. package/lib/duet/{p-DrqQiRTn.js → p-Cwhi6_oZ.js} +1 -1
  260. package/lib/duet/p-D2EBd3cT.js +4 -0
  261. package/lib/duet/p-DCDM41Ef.js +4 -0
  262. package/lib/duet/{p-DFAnksuG.js → p-DWIjWGAD.js} +1 -1
  263. package/lib/duet/{p-2d963ab0.entry.js → p-a4a1b8e3.entry.js} +1 -1
  264. package/lib/duet/p-a4db8c29.entry.js +4 -0
  265. package/lib/duet/{p-18eada94.entry.js → p-a63327c3.entry.js} +1 -1
  266. package/lib/duet/{p-0cc2921b.entry.js → p-a690a165.entry.js} +1 -1
  267. package/lib/duet/{p-3eba33cd.entry.js → p-a7bb038a.entry.js} +1 -1
  268. package/lib/duet/{p-d7506eaa.entry.js → p-adecab91.entry.js} +1 -1
  269. package/lib/duet/p-af9c8169.entry.js +4 -0
  270. package/lib/duet/{p-d2e74e89.entry.js → p-afd7d87a.entry.js} +1 -1
  271. package/lib/duet/{p-3a45c3a4.entry.js → p-b3ec9b98.entry.js} +1 -1
  272. package/lib/duet/{p-25b4886a.entry.js → p-b64b3e2f.entry.js} +1 -1
  273. package/lib/duet/{p-4856f07c.entry.js → p-bcced6eb.entry.js} +1 -1
  274. package/lib/duet/{p-608ebd47.entry.js → p-c1d4542d.entry.js} +1 -1
  275. package/lib/duet/{p-fe00331c.entry.js → p-c71f6942.entry.js} +1 -1
  276. package/lib/duet/p-c7851c15.entry.js +4 -0
  277. package/lib/duet/{p-234f4365.entry.js → p-cbd1069e.entry.js} +1 -1
  278. package/lib/duet/p-cd4f52a9.entry.js +4 -0
  279. package/lib/duet/{p-5fb783eb.entry.js → p-d0a54e6d.entry.js} +1 -1
  280. package/lib/duet/p-d181c624.entry.js +4 -0
  281. package/lib/duet/{p-de4b0518.entry.js → p-d2c04a7e.entry.js} +1 -1
  282. package/lib/duet/{p-1e168d4b.entry.js → p-d2c91ed0.entry.js} +1 -1
  283. package/lib/duet/p-d3dac8af.entry.js +4 -0
  284. package/lib/duet/{p-968546f6.entry.js → p-dc87f3f4.entry.js} +1 -1
  285. package/lib/duet/{p-d83f38c7.entry.js → p-dfd55180.entry.js} +1 -1
  286. package/lib/duet/{p-44a97d21.entry.js → p-e8bd6dab.entry.js} +1 -1
  287. package/lib/duet/{p-bdf6a296.entry.js → p-e9ed96cf.entry.js} +1 -1
  288. package/lib/duet/p-eab349f2.entry.js +4 -0
  289. package/lib/duet/{p-07b9b6c3.entry.js → p-eebf150c.entry.js} +1 -1
  290. package/lib/duet/{p-806c4ab8.entry.js → p-f210e405.entry.js} +1 -1
  291. package/lib/duet/{p-67b3a01a.entry.js → p-f600e215.entry.js} +1 -1
  292. package/lib/duet/{p-a73b7110.entry.js → p-f652a9c7.entry.js} +1 -1
  293. package/lib/duet/{p-65350441.entry.js → p-fbce84d5.entry.js} +1 -1
  294. package/lib/duet/{p-17413943.entry.js → p-fea479fd.entry.js} +1 -1
  295. package/lib/esm/{a11y-utils-D66Lzlz5.js → a11y-utils-sgAajRY0.js} +1 -1
  296. package/lib/esm/{app-globals-G9KPoeGD.js → app-globals-NNQmI_gc.js} +1 -1
  297. package/lib/esm/duet-action-button.entry.js +3 -3
  298. package/lib/esm/duet-alert.entry.js +4 -4
  299. package/lib/esm/duet-badge.entry.js +5 -5
  300. package/lib/esm/duet-banner.entry.js +3 -3
  301. package/lib/esm/duet-breadcrumb.entry.js +6 -6
  302. package/lib/esm/duet-breadcrumbs.entry.js +5 -5
  303. package/lib/esm/duet-button_2.entry.js +4 -4
  304. package/lib/esm/duet-callout.entry.js +5 -5
  305. package/lib/esm/duet-caption_4.entry.js +12 -12
  306. package/lib/esm/duet-card.entry.js +3 -3
  307. package/lib/esm/duet-checkbox.entry.js +3 -3
  308. package/lib/esm/duet-checkmark.entry.js +4 -4
  309. package/lib/esm/duet-chip.entry.js +7 -5
  310. package/lib/esm/duet-choice_2.entry.js +15 -13
  311. package/lib/esm/duet-collapsible.entry.js +3 -3
  312. package/lib/esm/duet-combobox.entry.js +26 -9
  313. package/lib/esm/duet-contact-card.entry.js +5 -5
  314. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  315. package/lib/esm/duet-date-picker.entry.js +7 -7
  316. package/lib/esm/duet-divider_2.entry.js +3 -3
  317. package/lib/esm/duet-editable-table_3.entry.js +8 -8
  318. package/lib/esm/duet-empty-state.entry.js +33 -7
  319. package/lib/esm/duet-fieldset.entry.js +6 -6
  320. package/lib/esm/duet-file-chooser.entry.js +3 -3
  321. package/lib/esm/duet-footer.entry.js +8 -8
  322. package/lib/esm/duet-grid_2.entry.js +14 -7
  323. package/lib/esm/duet-header_2.entry.js +4 -4
  324. package/lib/esm/duet-hero.entry.js +9 -9
  325. package/lib/esm/duet-icon.entry.js +5 -5
  326. package/lib/esm/duet-indicator.entry.js +5 -5
  327. package/lib/esm/duet-input_2.entry.js +17 -13
  328. package/lib/esm/duet-layout.entry.js +7 -7
  329. package/lib/esm/duet-list_2.entry.js +5 -5
  330. package/lib/esm/duet-menu-bar-button.entry.js +4 -4
  331. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +4 -4
  332. package/lib/esm/duet-menu-bar-dropdown.entry.js +6 -6
  333. package/lib/esm/duet-menu-bar-item.entry.js +7 -7
  334. package/lib/esm/duet-menu-bar-link.entry.js +4 -4
  335. package/lib/esm/duet-menu-bar.entry.js +6 -6
  336. package/lib/esm/duet-modal.entry.js +12 -12
  337. package/lib/esm/duet-multiselect.entry.js +11 -11
  338. package/lib/esm/duet-nav.entry.js +3 -3
  339. package/lib/esm/duet-notification_2.entry.js +9 -9
  340. package/lib/esm/duet-number-input.entry.js +8 -8
  341. package/lib/esm/duet-overlay.entry.js +3 -3
  342. package/lib/esm/duet-page-heading.entry.js +4 -4
  343. package/lib/esm/duet-pagination_2.entry.js +16 -16
  344. package/lib/esm/duet-panel.entry.js +4 -4
  345. package/lib/esm/duet-phone-input.entry.js +4 -4
  346. package/lib/esm/duet-popup-menu_2.entry.js +21 -11
  347. package/lib/esm/duet-progress.entry.js +3 -3
  348. package/lib/esm/duet-promo-card.entry.js +5 -5
  349. package/lib/esm/duet-radio_2.entry.js +10 -8
  350. package/lib/esm/duet-range-slider.entry.js +6 -6
  351. package/lib/esm/duet-scrollable_3.entry.js +15 -15
  352. package/lib/esm/duet-section-layout.entry.js +4 -4
  353. package/lib/esm/duet-select.entry.js +10 -10
  354. package/lib/esm/duet-shaped-image.entry.js +4 -4
  355. package/lib/esm/duet-share-chart-item.entry.js +2 -2
  356. package/lib/esm/duet-share-chart.entry.js +6 -6
  357. package/lib/esm/duet-show-more.entry.js +5 -5
  358. package/lib/esm/duet-slideout-lang.entry.js +4 -4
  359. package/lib/esm/duet-slideout-link.entry.js +7 -7
  360. package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -6
  361. package/lib/esm/duet-slideout-panel.entry.js +11 -11
  362. package/lib/esm/duet-slideout.entry.js +10 -10
  363. package/lib/esm/duet-status-icon.entry.js +7 -3
  364. package/lib/esm/duet-step_2.entry.js +6 -6
  365. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +4 -4
  366. package/lib/esm/duet-submenu-bar-dropdown.entry.js +6 -6
  367. package/lib/esm/duet-submenu-bar-item.entry.js +6 -6
  368. package/lib/esm/duet-submenu-bar-link.entry.js +3 -3
  369. package/lib/esm/duet-submenu-bar.entry.js +7 -7
  370. package/lib/esm/duet-textarea.entry.js +14 -21
  371. package/lib/esm/duet-toggle.entry.js +8 -8
  372. package/lib/esm/duet-toolbar-dropdown-link.entry.js +4 -4
  373. package/lib/esm/duet-toolbar-dropdown.entry.js +6 -6
  374. package/lib/esm/duet-toolbar-item.entry.js +8 -8
  375. package/lib/esm/duet-toolbar-link.entry.js +4 -4
  376. package/lib/esm/duet-toolbar.entry.js +4 -4
  377. package/lib/esm/duet-tooltip-button_2.entry.js +9 -9
  378. package/lib/esm/duet-tooltip.entry.js +4 -4
  379. package/lib/esm/duet-tray.entry.js +5 -5
  380. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  381. package/lib/esm/duet-upload-item.entry.js +6 -6
  382. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  383. package/lib/esm/duet.js +4 -4
  384. package/lib/esm/{errorcodes.utils-C6zptXiM.js → errorcodes.utils-CqW0-HM8.js} +1 -1
  385. package/lib/esm/{focus-utils-YZ2ticmM.js → focus-utils-Dokkd7xz.js} +1 -1
  386. package/lib/esm/{index-DrqQiRTn.js → index-Cwhi6_oZ.js} +5 -5
  387. package/lib/esm/{label-CnTwCD-3.js → label-CyQlly6Z.js} +1 -1
  388. package/lib/esm/{language-utils-BEG0cFmw.js → language-utils-LZh-sc2s.js} +1 -1
  389. package/lib/esm/loader.js +4 -4
  390. package/lib/esm/{slot-utils-Dzrezpl3.js → slot-utils-CEZnAp61.js} +2 -2
  391. package/lib/esm/{themeable-component-BLql61nC.js → themeable-component-D_FVcjsD.js} +1 -1
  392. package/lib/types/common-types.d.ts +11 -28
  393. package/lib/types/components/duet-combobox/duet-combobox.d.ts +1 -0
  394. package/lib/types/components/duet-empty-state/duet-empty-state.d.ts +24 -4
  395. package/lib/types/components/duet-grid/duet-grid.d.ts +5 -0
  396. package/lib/types/components/duet-heading/duet-heading.d.ts +10 -0
  397. package/lib/types/components/duet-textarea/duet-textarea.d.ts +0 -5
  398. package/lib/types/components.d.ts +72 -6
  399. package/package.json +5 -5
  400. package/lib/duet/p-0a80de40.entry.js +0 -4
  401. package/lib/duet/p-10a326fa.entry.js +0 -4
  402. package/lib/duet/p-162993d2.entry.js +0 -4
  403. package/lib/duet/p-29599dc5.entry.js +0 -4
  404. package/lib/duet/p-2ac11077.entry.js +0 -4
  405. package/lib/duet/p-419b96b6.entry.js +0 -4
  406. package/lib/duet/p-550bfab9.entry.js +0 -4
  407. package/lib/duet/p-5c60eca3.entry.js +0 -4
  408. package/lib/duet/p-6e1b9cc8.entry.js +0 -4
  409. package/lib/duet/p-7ce31e10.entry.js +0 -4
  410. package/lib/duet/p-9172ba70.entry.js +0 -4
  411. package/lib/duet/p-BQVGvl4H.js +0 -4
  412. package/lib/duet/p-CLZq8YfV.js +0 -4
  413. package/lib/duet/p-D2JvSVnG.js +0 -4
  414. package/lib/duet/p-ELbbzMVZ.js +0 -4
  415. package/lib/duet/p-a3ad5622.entry.js +0 -4
  416. package/lib/duet/p-b1d91a91.entry.js +0 -4
  417. package/lib/duet/p-b9be36c8.entry.js +0 -4
  418. package/lib/duet/p-bdae48d3.entry.js +0 -4
  419. package/lib/duet/p-c8d10c67.entry.js +0 -4
  420. package/lib/duet/p-da275568.entry.js +0 -4
  421. package/lib/duet/p-dc5682d8.entry.js +0 -4
  422. package/lib/duet/p-e050ed5c.entry.js +0 -4
  423. package/lib/duet/p-ec5f40a5.entry.js +0 -4
  424. package/lib/duet/p-f68a4a23.entry.js +0 -4
  425. package/lib/duet/p-f8e26f21.entry.js +0 -4
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{h as t,r as e,c as i,H as a,g as n,F as s}from"./p-DrqQiRTn.js";import{i as o}from"./p-CLZq8YfV.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 c,g as p,s as b}from"./p-DFAnksuG.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 S,F as M,G as D,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 q}from"./p-C6E9F6QT.js";import{a as H,g as B}from"./p-BUWuSkQW.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)},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(){c(this)}createLabel(e){const{sort_order:i,direction:a,index:n,label:s}=e,o=p(s);return this.sortable?t("span",{class:"duet-table-label","data-index":n},t("duet-button",{size:"small",icon:i&&1===a?"action-arrow-down-small":i&&-1===a?"action-arrow-up-small":"action-subtract-small","icon-size":"medium-small","accessible-label":this.sortableDefaultLabel[this.language],variation:"plain",margin:"none","icon-right":!0,onClick:t=>this.toggleColumn(e,t),onKeyDown:t=>this.handleKeyDown(e,t)},o)):o}getSortedColumns(){return[...this.columns].sort(d(["index"]))}getRowSortOrder(){return[...this.columns].sort(d(["sort_order"])).filter((t=>t.sort_order)).map((t=>-1===t.direction?`-${t.key}`:t.key))}renderTableHeader(){if(!this.columns)return;const e=this.getSortedColumns();return t("tr",{class:{"duet-table-action-header":!!this.actions}},e.map((e=>{if(!1!==e.display){const i=this.createLabel(e);return""!==i?t("th",{scope:"col"},i):t("td",null)}})),this.actions&&t("th",{scope:"col",class:"duet-table-action-header-heading"},this.actions&&t("duet-visually-hidden",null,this.actionColumnLabel[this.language])))}renderActions(e,i){if(this.actions)return t("td",{class:"duet-text-right"},this.actions.map((a=>t("duet-action-button",{actionMeta:Object.assign({},(null==e?void 0:e.meta)||{},{index:i}),actionId:(null==e?void 0:e.uid)||(null==e?void 0:e.id)||null,actionName:a.name,theme:this.theme,iconName:a.icon,iconColor:a.color,iconSize:a.size,background:a.background,"accessible-label":`${e.actionDescription||""} ${p(a.label)} `}))))}renderTableBody(){const e=this.getSortedColumns(),i=this.getRowSortOrder();return[...this.rows].sort(d(i)).map(((i,a)=>t("tr",{class:{"duet-table-action-row":!!this.actions,"duet-editable-table-row":!0,[`duet-editable-table-row-${this.groupId}`]:!0},"data-meta":JSON.stringify(i.meta)},e.map((e=>{if(!1!==e.display)return t(I,{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 Y=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(${Y(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: ${S};\n}\n\nduet-table.duet-theme-turva th {\n color: ${M};\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: ${D};\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(${Y(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(${Y(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(${Y(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,""),V={none:0,"with-links":16*parseFloat(U),"without-links":16*parseFloat(_)},J=class{constructor(t){e(this,t),this.headingSelector="thead tr > :not(*.duet-editable-table-actions-menu)",this.matchesBreakpoint=!0,this.language=h(),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.hideHeadVisually=!1,this.handleMediaQueryChange=t=>{this.matchesBreakpoint=P.includes(this.breakpoint)?!t.matches:t.matches}}watchLanguageStateHandler(t,e){t!==e&&setTimeout((()=>this.copyHeadingsToCells()),50)}connectedCallback(){!function(t){const e=t.getRootNode();if(e instanceof ShadowRoot){const t=new CSSStyleSheet;t.replace(O).then((()=>{e.adoptedStyleSheets.push(t)}))}else{if(document.querySelector("style#duet-table-styles"))return;const t=document.createElement("style");t.id="duet-table-styles",t.innerHTML=O,document.head.append(t)}}(this.element),this.mq=matchMedia("none"===this.breakpoint||"none-scrollable"===this.breakpoint?"all":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=V[this.stickyDistance];this.element.querySelectorAll(this.headingSelector).forEach((e=>e.style.top=`${t}px`))}}componentDidLoad(){this.observer&&this.observer.takeRecords(),u(this)}disconnectedCallback(){this.observer.disconnect(),this.observer=null,this.mq.removeListener(this.handleMediaQueryChange),this.mq=null,this.matchesBreakpoint=!0,c(this)}copyHeadingsToCells(){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:"a1dd7fa3685f9dba8b9e5dca8a0fd24c14431658",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:"3f4f49a2dc93f99278caa0089c0305a7049817e6"}))}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"},Q=({label:e,categoryLabel:i})=>t("div",{class:"items-header",tabindex:"-1","aria-label":p(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"},p(i)),t("duet-heading",{class:{"filename-header":!0,"no-category":!i},border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none","aria-hidden":"true"},p(e))),G=(t,e,i)=>{const{allowedMimetypes:a,allowedExtensions:n,maxBytes:s}=e;let o=!1,d=H("default",i);if(t){const{name:e,type: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),c=((t,e)=>!e||!t||e>=t)(r,s);h||(d=H("duet-upload-101",i)),u||(d=H("duet-upload-100",i)),c||(d=H("duet-upload-201",i)),o=h&&u&&c}else o=!1;return{valid:o,errorMessage:o?void 0:p(d.message),errorSystem:o?void 0:d.system_message,errorType:o?void 0:d.type}},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=p(this.statusLabelDefaults),this.buttonLabelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add an attachment"},this.buttonLabel=p(this.buttonLabelDefaults),this.accessibleButtonLabel=void 0,this.theme="",this.disabled=!1,this.margin="auto",this.required=!1,this.alignment="middle",this.hideGroups=!1,this.files=new Map,this.valid=!this.required,this.labelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add attachments"},this.label=p(this.labelDefaults),this.descriptionDefaults={en:"You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytestotal} of files at a time, and add up to {maxfiles} attachments at a time each no larger than {maxbytes}.",sv:"Du kan bifoga följande filtyper: {filetypes} - samt de vanligaste videofilerna. Du kan ladda upp {maxbytestotal} av filer åt gången, och lägga till upp till {maxfiles} bilagor åt gången varje inte större än {maxbytes}.",fi:"Voit liittää seuraavat tiedostotyypit: {filetypes} - sekä yleisimmät videotiedostot. Voit lähettää {maxbytestotal} tiedostoa kerrallaan, ja lisätä enintään {maxfiles} liitettä kerrallaan, jokainen enintään {maxbytes} kokoisena."},this.description=p(this.descriptionDefaults),this.fileListEmptyDefaults={fi:"Ei vielä lisättyjä tiedostoja.",sv:"Inga filer har lagts till ännu.",en:"No files added yet."},this.fileListEmpty=p(this.fileListEmptyDefaults),this.error="",this.errorCodes=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",B("duet-upload-001",this.errorCodes))},this.transferCanceled=t=>{this.files.delete(t),this.validateTotals(t),this.kick()},this.validateTotals=t=>{const e=((t,e)=>{let i=0;return!!(e&&(this.files.forEach((t=>{t.valid&&t.size&&(i+=t.size)})),i>=e))})(0,this.maxBytesTotal),i=((t,e)=>{let i=0;return!!(e&&(this.files.forEach((t=>{t.valid&&i++})),i>=e))})(0,this.maxFiles);return e&&t&&this.updateValueInMap(t,"error",B("duet-upload-202",this.errorCodes),!1),i&&t&&this.updateValueInMap(t,"error",B("duet-upload-301",this.errorCodes),!1),this.bytesMaxReached=e,this.fileMaxReached=i,{bytesMaxReached:e,fileMaxReached:i}},this.uploadFile=async(t,e=!1,i)=>{!e&&this.deferUpload?(this.updateValueInMap(t.item.name,"pending",!0,!1),this.updateValueInMap(t.item.name,"group","pending",!0)):e&&(this.updateValueInMap(t.item.name,"pending",!1,!1),this.updateValueInMap(t.item.name,"group",void 0,!0));try{if(!this.deferUpload||e){const e=new FormData;e.append("file",t.item),i&&e.append("key",i),e.append("uid",t.uid),e.append("name",t.item.name),e.append("metadata",JSON.stringify({uid:t.uid,url:this.uri,size:t.item.size,meta:t.meta})),t.xhr=await this.makeXHRPostRequest(e)}}catch(e){this.updateValueInMap(t.item.name,"valid",!1,!1)}},this.uploadPendingFiles=()=>{for(const[t,e]of Array.from(this.files.entries()))"pending"===e.group&&!0===e.pending&&this.uploadFile(e,!0,t)},this.getItemFromUID=t=>{for(const[e,i]of Array.from(this.files.entries()))if(i.uid===t)return{value:i,key:e};return null},this.handleExternalUploadButton=(t,e)=>{this.externalUploadButton&&(this.externalUploadButton.disabled=!(!t&&!e))},this.onDelete=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:n,fileMaxReached:s}=this.validateTotals();this.handleExternalUploadButton(n,s),this.kick(),this.duetDelete.emit({originalEvent:e,data:{deletion:a},component:"duet-upload"}),this.external||a.pending||this.makeXHRDeleteRequest(a),this.resetFormFields()},this.onCancel=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:n,fileMaxReached:s}=this.validateTotals();if(this.handleExternalUploadButton(n,s),!this.external){const{xhr:t}=a;t&&t.abort()}this.kick(),this.resetFormFields(),this.duetCancel.emit({originalEvent:e,data:{cancelled:a},component:"duet-upload"})},this.onUpload=(t,e)=>{this.duetUpload.emit({originalEvent:t,metaData:e,component:"duet-upload"})},this.onBlur=t=>{this.duetBlur.emit({originalEvent:t,component:"duet-upload"})},this.onProgress=(t,e,i)=>{this.duetChange.emit({originalEvent:i,data:{key:t,percentComplete:e},component:"duet-upload"})},this.onFocus=t=>{this.duetFocus.emit({originalEvent:t,component:"duet-upload"})},this.onReady=()=>{this.duetReady.emit({component:"duet-upload"})},this.onDone=()=>{this.duetDone.emit({component:"duet-upload",data:{files:this.files}})},this.filterMap=()=>{const t=Array.from(this.files.values()),e=[],i=[],a=[],n=[];let s=!1;return t.forEach((t=>{const o=this.getGroupFromItemData(t);t.meta&&t.meta.badges&&(s=!0),o===this.DefaultGroups.success?n.push({uid:t.uid,data:t}):o===this.DefaultGroups.inprogress?e.push({uid:t.uid,data:t}):o===this.DefaultGroups.pending?a.push({uid:t.uid,data:t}):o===this.DefaultGroups.failure?i.push({uid:t.uid,data:t}):t.group&&e.push({uid:t.uid,data:t})})),{pending:a,failure:i,success:n,inprogress:e,hasCategory:s}},this.getActions=(t,e)=>e.filter((e=>e.map.includes(t))),this.renderUploadedItems=()=>{this.itemRefs.clear();const e=this.filterMap(),i=e.hasCategory,a=this.hideCancelButton?this.actions.filter((t=>"cancel"!==t.name)):this.actions,n=this.groups.map((n=>{const o=e[n.id];if(null==o?void 0:o.length)return t(s,null,!this.hideGroups&&t(Q,{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(Q,{categoryLabel:i?this.categoryLabel:void 0,label:this.uploadedItemsHeaderLabel}),n)}}watchValidHandler(t,e){t!==e&&this.kick()}componentWillLoad(){this.internalStatusMessageLabel="string"==typeof this.statusMessageLabel?b(this.groups):this.statusMessageLabel,o(this),this.listenForActionEvents(),this.onReady(),this.externalUploadButton=document.querySelector(`#${this.externalUploadButtonId}`),this.processedButtonTitles=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:"dc222a10613a05aa4d56526accf4f20d09a85524",class:{"duet-m-0":"none"===this.margin}},t("duet-fieldset",{key:"afd3bbefc25846e30ea0a4a3dd6fef490cfce55d","label-heading-level":this.headerHeadingLevel,"label-hidden":this.hideHeader,label:this.label},t("slot",{key:"9927e358eb190f2023f863d4de2306390d71fc8b",name:"header"}),!this.files.size&&t("duet-empty-state",{key:"843385b600508604aeed2894ae0d13134c4726d0",id:this.labelId,part:this.identifier?`${this.identifier}-empty-state`:"duet-upload-empty-state",icon:"messaging-attachment"},t("duet-paragraph",{key:"c75ef6ac779000de5dee49f7793a01dcad735808",margin:"none"},this.fileListEmpty)),!!this.files.size&&t("slot",{key:"f9756746a31507f1dca930bdf7fea75ccf2c577b",name:"fileheader"}),!!this.files.size&&t("duet-upload-aria-status",{key:"b88ca83dcc669708410ac4ff2ab95c171909bcfd",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:"cf7410f30e64f19d7dfc05848cae516c3c4c4998",name:"filefooter"}),t("slot",{key:"3d6ae7f015427bc576b46bcbad37ad21c75c5cff",name:"uploadfooter"}),this.captionOnBottom&&t("duet-caption",{key:"d9839e2f61e00879f0fe4d804b76884eb3a3c426",margin:"none",size:"small"},t("div",{key:"0793e849c010f2611e8c30fc9a1adfd5739036ca",class:"upload-bottom-caption"},o)),t("slot",{key:"aea1cf5e8be9c04cfe942a63b609304b89dbd3bf",name:"afterfooter"}),!this.hideButton&&t(s,{key:"5bc3f7808057aecbe5a082aa960cfd0179a5ebb8"},t("duet-spacer",{key:"dea860e2657fdd9d826a56ed1cbd3c29c27a6566",size:"large"}),t("duet-button",{key:"d2e2120f450bd44190d819bcc8b7d3193a2fd7f1",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:"fcf6947ea9fd60eb05745627ea9bcfdc0a186ae2"},t("duet-spacer",{key:"0d8d15f15c9dcecb7749d481e29073be66c1e77f",size:"medium"}),t("duet-alert",{key:"392a1d62012973d5e0b730a58ad3d97c48db3256",part:this.identifier?`${this.identifier}-error-notification`:"duet-upload-error-notification"},this.fileMaxReached&&B("duet-upload-301",this.errorCodes),this.bytesMaxReached&&B("duet-upload-202",this.errorCodes),this.filesToUploadExceedsLimit&&B("duet-upload-302",this.errorCodes),this.filesToUploadTotalSizeIsAboveMax&&B("duet-upload-203",this.errorCodes))),t("duet-visually-hidden",{key:"ecf1098f5d21721d322bc382ff218b2b374e907a","aria-hidden":"true"},t("input",{key:"d47f7522e739d1bda7407882e7ceda5f3e416b3d",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}=G(t,{maxBytes:this.maxBytes,allowedExtensions:this.allowedExtensions,allowedMimetypes:this.allowedMimetypes},this.errorCodes),s={uid:this.genHashName(),item:t,size:t.size,meta:this.metaData,uploaded:!1,valid:e,error:{type:e?void 0:a,message:e?void 0:i,system_message:e?void 0:n},progress:0,deleted:!1,xhr:!1,url:!1};this.files.set(t.name,s),e&&!this.external?await this.uploadFile(s):e&&this.external?(this.updateValueInMap(s.item.name,"pending",!0,!1),this.updateValueInMap(s.item.name,"group","pending",!0)):e||this.updateValueInMap(t.name,"valid",!1,!0),this.kick()}}this.resetFormFields(),this.metaData=void 0,this.duetChange.emit({originalEvent:t,data:{files:this.files},component:"duet-upload"})}get element(){return n(this)}static get watchers(){return{valid:["watchValidHandler"]}}};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,J 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-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}
@@ -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 a,H as i,g as o}from"./p-DrqQiRTn.js";import{D as n}from"./p-D2JvSVnG.js";import{i as r}from"./p-CLZq8YfV.js";import{c as s}from"./p-Cfr_DJqU.js";import{F as d}from"./p-B6Z_1gqI.js";import{a as l,g as u,c,d as b}from"./p-DFAnksuG.js";import{c as h,p}from"./p-BQVGvl4H.js";import{g as m}from"./p-DvwKrUS6.js";import"./p-C6E9F6QT.js";const f={day:"numeric",month:"long",weekday:"long"},g={day:"numeric",month:"long",year:"numeric"},v={fi:{buttonLabel:"Valitse päivämäärä",prevMonthLabel:"Edellinen kuukausi",nextMonthLabel:"Seuraava kuukausi",monthSelectLabel:"Kuukausi",yearSelectLabel:"Vuosi",closeLabel:"Sulje ikkuna",selected:"Valittu päivämäärä on",keyboardInstruction:"Voit navigoida päivämääriä nuolinäppäimillä",dayLabels:["Maanantai","Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai","Sunnuntai"],monthLabels:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],monthLabelsShort:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"],formatterShort:new Intl.DateTimeFormat("fi-FI",f),formatterLong:new Intl.DateTimeFormat("fi-FI",g)},en:{buttonLabel:"Choose date",prevMonthLabel:"Previous month",nextMonthLabel:"Next month",monthSelectLabel:"Month",yearSelectLabel:"Year",closeLabel:"Close window",selected:"Selected date is",keyboardInstruction:"You can use arrow keys to navigate dates",dayLabels:["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],monthLabels:["January","February","March","April","May","June","July","August","September","October","November","December"],monthLabelsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],formatterShort:new Intl.DateTimeFormat("en-GB",f),formatterLong:new Intl.DateTimeFormat("en-GB",g)},sv:{buttonLabel:"Välj datum",prevMonthLabel:"Föregående månad",nextMonthLabel:"Nästa månad",monthSelectLabel:"Månad",yearSelectLabel:"År",closeLabel:"Stäng fönstret",selected:"Valt datum är",keyboardInstruction:"Använd piltangenterna för att navigera i kalender",dayLabels:["Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag","Söndag"],monthLabels:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],monthLabelsShort:["Jan","Feb","Mars","April","Maj","Juni","Juli","Aug","Sep","Okt","Nov","Dec"],formatterShort:new Intl.DateTimeFormat("sv-SE",f),formatterLong:new Intl.DateTimeFormat("sv-SE",g)}};var y,k,x=m(k?y:(k=1,y={title:"form-date",tags:"form date calendar date picker",svg:'<svg fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img"><path d="M2.25 24A2.252 2.252 0 0 1 0 21.75V5.25A2.252 2.252 0 0 1 2.25 3H6V.75a.75.75 0 0 1 1.5 0V3h9V.75a.75.75 0 0 1 1.5 0V3h3.75A2.252 2.252 0 0 1 24 5.25v16.5A2.252 2.252 0 0 1 21.75 24zm-.75-2.25c0 .414.336.75.75.75h19.5a.75.75 0 0 0 .75-.75V10.5h-21zM22.5 9V5.25a.75.75 0 0 0-.75-.75H18V6a.75.75 0 0 1-1.5 0V4.5h-9V6A.75.75 0 0 1 6 6V4.5H2.25a.75.75 0 0 0-.75.75V9z"/><circle cx="5.625" cy="13.875" r="1.125"/><circle cx="5.625" cy="19.125" r="1.125"/><circle cx="12" cy="13.875" r="1.125"/><circle cx="12" cy="19.125" r="1.125"/><circle cx="18.375" cy="13.875" r="1.125"/><path d="M18.375 20.25c-.62 0-1.125-.505-1.125-1.125a1.127 1.127 0 0 1 1.171-1.122l.027.003a1.118 1.118 0 0 1 1.052 1.12c0 .619-.505 1.124-1.125 1.124z"/></svg>'}));const w=({onClick:e,placeholder:a,inputLabel:i,valueAsDate:o,formattedValue:n,language:r,identifier:s,theme:d,disabled:l,error:u,role:c,required:b,tooltip:h,tooltipDirection:p,labelHidden:m,buttonRef:f,inputRef:g,onInput:y,onBlur:k,onFocus:w,hasFocus:S,accessibleActiveDescendant:D,accessibleControls:M,accessibleOwns:I,accessibleDescribedBy:L,accessibleLiveError:A,echoPlaceholder:F,caption:j})=>{const{buttonLabel:C,selected:E,formatterLong:z}=v[r];return t("div",{class:{"duet-theme-turva":"turva"===d,"duet-date-input":!0,"duet-date-input-has-focus":S}},t("duet-input",{label:i,value:n,placeholder:a,id:s,disabled:l,theme:d,error:u,role:c,required:b,tooltip:h,tooltipDirection:p,margin:"none",labelHidden:m,accessibleAutocomplete:"none",onDuetChange:t=>t.stopImmediatePropagation(),onDuetInput:y,onDuetFocus:w,onDuetBlur:k,autoComplete:"off",disallowPattern:"[^0-9\\.\\-\\/]",expand:!0,ref:g,accessibleActiveDescendant:D,accessibleControls:M,accessibleOwns:I,accessibleDescribedBy:L,accessibleLiveError:A,echoPlaceholder:F,caption:j,variation:"button"},t("slot",{name:"tooltip"}),t("button",{class:{"duet-date-button":!0,"duet-no-label":m,"input-error":!!u},onClick:e,disabled:l,ref:f,type:"button",slot:"button"},t("duet-icon",{icon:x.svg,margin:"none",size:"small",color:"currentColor"}),t("duet-visually-hidden",null,C,o&&t("span",null,", ",E," ",z.format(o))))))},S=/^(\d{1,2})[\.\-\/](\d{1,2})[\.\-\/](\d{4})$/,D=/^(\d{4})-(\d{2})-(\d{2})$/;function M(t,e,a){var i=parseInt(a,10),o=parseInt(e,10),n=parseInt(t,10);if(Number.isInteger(n)&&Number.isInteger(o)&&Number.isInteger(i)&&o>0&&o<=12&&i>0&&i<=31&&n>0){const t=new Date(n,o-1,i);if(t.getDate()!==i||t.getMonth()!==o-1)return;return t}}function I(t){if(!t)return;const e=t.match(S);return e?M(e[3],e[2],e[1]):void 0}function L(t){if(!t)return;const e=t.match(D);return e?M(e[1],e[2],e[3]):void 0}function A(t,e){if(!t)return"";var a=t.getDate().toString(10),i=(t.getMonth()+1).toString(10),o=t.getFullYear().toString(10);return t.getDate()<10&&(a=`0${a}`),t.getMonth()<9&&(i=`0${i}`),e.replace(/MM/i,i).replace(/YYYY/i,o).replace(/DD/i,a)}function F(t){return A(t,"YYYY-MM-DD")}function j(t,e){return null!=t&&null!=e&&t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()===e.getDate()}function C(t,e){var a=new Date(t);return a.setDate(a.getDate()+e),a}function E(t,e=1){var a=new Date(t),i=a.getDay(),o=(i<e?7:0)+i-e;return a.setDate(a.getDate()-o),a}function z(t,e=1){var a=new Date(t),i=a.getDay(),o=6+(i<e?-7:0)-(i-e);return a.setDate(a.getDate()+o),a}function V(t){return new Date(t.getFullYear(),t.getMonth(),1)}function U(t){return new Date(t.getFullYear(),t.getMonth()+1,0)}function H(t,e){const a=new Date(t);return a.setMonth(e),a}function B(t,e){const a=new Date(t);return a.setFullYear(e),a}function R(t,e,a){return Y(t,e,a)===t}function Y(t,e,a){const i=t.getTime();return e&&e instanceof Date&&i<e.getTime()?e:a&&a instanceof Date&&i>a.getTime()?a:t}const T={fi:"Valittu päivä",en:"Selected day",sv:"Vald dag"},J=({focusedDay:e,today:a,day:i,language:o,onDaySelect:n,onKeyboardNavigation:r,ref:s,inRange:d,isSelected:l})=>{const u=j(i,a),c=j(i,e),b=i.getMonth()!==e.getMonth(),h=!d,{formatterShort:p}=v[o];return t("td",{"data-day":F(i),class:{"duet-date-table-cell":!0,selected:l},"aria-label":`${p.format(i)}${l?`, ${T[o]}`:void 0}`,role:"button",tabIndex:c?0:-1,onClick:function(t){n(t,i)},onKeyDown:r,"aria-disabled":h||b,ref:s},t("span",{class:{"duet-date-table-button":!0,outside:h,disabled:b,today:u}},i.getDate()))};function N(t){var e;const a=t.trim().split("+"),i=a.pop();return["shift"===(null===(e=a[0])||void 0===e?void 0:e.toLowerCase()),i]}function P(t){const e=Object.keys(t).map((e=>[N(e),t[e]]));return function(t){if(!(t instanceof KeyboardEvent))return;const a=e.find((([[e,a]])=>(a.toUpperCase()===t.key.toUpperCase()||a===t.code)&&e===t.shiftKey));a&&(a[1](t),t.preventDefault())}}const O=({selectedDate:e,focusedDate:a,labelledById:i,theme:o,language:n,min:r,max:s,onDateSelect:d,onKeyboardNavigation:l,focusedDayRef:u,onFocusEnter:c,onFocusExit:b})=>{const{dayLabels:h}=v[n],p=new Date,m=function(t,e=1){return function(t,e){const a=[];let i=t;for(;!j(i,e);)a.push(i),i=C(i,1);return a.push(i),a}(E(V(t),e),z(U(t),e))}(a);return t("div",{role:"application"},t("table",{role:"presentation",class:{"duet-date-table":!0,"duet-theme-turva":"turva"===o},"aria-labelledby":i,onFocusin:c,onFocusout:function(t){const e=t.relatedTarget;e&&!t.currentTarget.contains(e)&&b(t)}},t("thead",null,t("tr",null,h.map((e=>t("th",{scope:"col"},t("span",{"aria-hidden":"true"},e.substr(0,2))))))),t("tbody",null,function(t){const e=[];for(let a=0;a<t.length;a+=7)e.push(t.slice(a,a+7));return e}(m).map((i=>t("tr",{class:"duet-date-table-row"},i.map((i=>t(J,{day:i,today:p,language:n,focusedDay:a,inRange:R(i,r,s),isSelected:j(i,e),onDaySelect:d,onKeyboardNavigation:l,ref:t=>{t&&j(i,a)&&u(t)}})))))))))},K=class{constructor(t){e(this,t),this.duetChange=a(this,"duetChange",7),this.duetBlur=a(this,"duetBlur",7),this.duetFocus=a(this,"duetFocus",7),this.proxyId=s("DuetDatePicker"),this.monthSelectId=s("DuetDatePicker"),this.yearSelectId=s("DuetDatePicker"),this.dialogLabelId=s("DuetDatePicker"),this.initialTouchX=null,this.initialTouchY=null,this.focusTarget=null,this.dateErrorMessages={badInput:{en:"Wrong date format",fi:"Väärä päivämäärämuoto",sv:"Fel datumformat"},rangeUnderflow:{en:"Date too early",fi:"Liian aikainen päivämäärä",sv:"Datum för tidigt"},rangeOverflow:{en:"Date too late",fi:"Liian myöhäinen päivämäärä",sv:"Datum för sent"},valueMissing:{en:"Date required",fi:"Päivämäärä vaaditaan",sv:"Datum krävs"}},this.open=!1,this.focusedDay=new Date,this.inputValue="",this.inputHasFocus=!1,this.theme="",this.expand=!1,this.name="",this.identifier="",this.label="",this.margin="auto",this.language=l(),this.placeholderDefaults={fi:"pp.kk.vvvv",en:"dd.mm.yyyy",sv:"dd.mm.åååå"},this.placeholder=u(this.placeholderDefaults,this.language),this.echoPlaceholder=!1,this.disabled=!1,this.error="",this.disableBuiltInErrors=!1,this.labelHidden=!1,this.required=!1,this.direction="right",this.tooltip="",this.tooltipDirection="auto",this.value="",this.min="",this.max="",this.incrementYears=10,this.accessibleLiveError="polite",this.enableActiveFocus=()=>{this.focusTarget="day-button"},this.disableActiveFocus=()=>{this.focusTarget=null},this.toggleOpen=t=>{t.preventDefault(),this.open?this.hide(!1):this.show()},this.handleBlur=t=>{if(t.stopPropagation(),this.inputHasFocus=!1,!this._validity.valid&&!this.disableBuiltInErrors){const t=Object.entries(this._validity).find((t=>!!t[1]))[0];this.error=u(this.dateErrorMessages[t])}this.duetBlur.emit({component:"duet-date-picker"})},this.handleFocus=t=>{t.stopPropagation(),this.inputHasFocus=!0,this.duetFocus.emit({component:"duet-date-picker"})},this.handleTouchStart=t=>{const e=t.changedTouches[0];this.initialTouchX=e.pageX,this.initialTouchY=e.pageY},this.handleTouchMove=t=>{t.preventDefault()},this.handleTouchEnd=t=>{const e=t.changedTouches[0],a=e.pageX-this.initialTouchX,i=e.pageY-this.initialTouchY,o=Math.abs(a)>=70&&Math.abs(i)<=70,n=Math.abs(i)>=70&&Math.abs(a)<=70&&i>0;o?this.addMonths(a<0?1:-1):n&&(this.hide(),t.preventDefault()),this.initialTouchY=null,this.initialTouchX=null},this.handleNextMonthClick=t=>{t.preventDefault(),this.addMonths(1)},this.handlePreviousMonthClick=t=>{t.preventDefault(),this.addMonths(-1)},this.handleEscKey=P({Escape:()=>this.hide(),Esc:()=>this.hide()}),this.handleKeyboardNavigation=P({ArrowRight:()=>this.addDays(1),Right:()=>this.addDays(1),ArrowLeft:()=>this.addDays(-1),Left:()=>this.addDays(-1),ArrowDown:()=>this.addDays(7),Down:()=>this.addDays(7),ArrowUp:()=>this.addDays(-7),Up:()=>this.addDays(-7),Home:()=>this.startOfWeek(),End:()=>this.endOfWeek(),PageUp:()=>this.addMonths(-1),PageDown:()=>this.addMonths(1),"Shift+PageUp":()=>this.addYears(-1),"Shift+PageDown":()=>this.addYears(1),Space:t=>this.handleKeyboardDaySelect(t),Enter:t=>this.handleKeyboardDaySelect(t)}),this.handleKeyboardDaySelect=t=>{const e=L(t.target.dataset.day);this.handleDaySelect(t,e)},this.handleDaySelect=(t,e)=>{R(e,L(this.min),L(this.max))&&(this.setValue(e),this.hide())},this.handleMonthSelect=t=>{this.setMonth(parseInt(t.target.value,10))},this.handleYearSelect=t=>{this.setYear(parseInt(t.target.value,10))},this.handleInputChange=t=>{this.inputValue=t.detail.value;const e=I(this.inputValue);this.setValue(e)}}get validity(){return this.determineValidity(),this._validity}updateValidity(){this.determineValidity()}updateInternalValue(){if(!this.value&&this.inputHasFocus)return;const t=L(this.value),e=I(this.inputValue);t?j(t,e)||(this.inputValue=A(t,"dd.mm.yyyy")):this.inputValue=""}componentWillLoad(){r(this),this.determineValidity(),this.updateInternalValue(),h(this.element,"tooltip","duet-tooltip",1,!0)}componentDidUpdate(){switch(this.focusTarget){case"toggle-button":this.datePickerButton.focus(),this.focusTarget=null;break;case"day-button":this.focusedDayNode.focus();break;case"month-select":this.monthSelectNode.focus(),this.focusTarget=null}}componentDidRender(){p(this.element,this.proxyId,this.name,this.value,this.required)}connectedCallback(){c(this,{prop:"placeholder",defaults:"placeholderDefaults"})}disconnectedCallback(){b(this)}async setFocus(t){this.datePickerInput.setFocus(t)}async show(){this.open=!0,this.focusTarget="month-select",this.setFocusedDay(L(this.value)||new Date)}async hide(t=!0){this.open=!1,t&&(this.focusTarget="toggle-button")}addDays(t){this.setFocusedDay(C(this.focusedDay,t))}addMonths(t){this.setMonth(this.focusedDay.getMonth()+t)}addYears(t){this.setYear(this.focusedDay.getFullYear()+t)}startOfWeek(){this.setFocusedDay(E(this.focusedDay))}endOfWeek(){this.setFocusedDay(z(this.focusedDay))}setMonth(t){const e=H(V(this.focusedDay),t),a=U(e),i=H(this.focusedDay,t);this.setFocusedDay(Y(i,e,a))}setYear(t){const e=B(V(this.focusedDay),t),a=U(e),i=B(this.focusedDay,t);this.setFocusedDay(Y(i,e,a))}setFocusedDay(t){this.focusedDay=Y(t,L(this.min),L(this.max))}determineValidity(){var t,e;const a=L(this.value),i=null!==(e=null===(t=this.datePickerInput)||void 0===t?void 0:t.value)&&void 0!==e?e:"",o=!a&&""!==i,n=!a&&this.required,r=!!a&&!R(a,null,L(this.max)),s=!!a&&!R(a,L(this.min));this._validity={patternMismatch:!1,customError:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,badInput:o,rangeUnderflow:s,rangeOverflow:r,valueMissing:n,valid:!(n||o||s||r)},this._validity.valid&&(this.error="")}setValue(t){const e=F(t);e!==this.value&&(this.value=e,this.determineValidity(),this.duetChange.emit({component:"duet-date-picker",value:this.value,valueAsDate:t}))}handleDocumentClick(t){this.open&&t.composedPath().every((t=>t!==this.dialogWrapperNode&&t!==this.datePickerButton))&&this.hide(!1)}render(){const e=L(this.value),a=(e||this.focusedDay).getFullYear(),o=this.focusedDay.getMonth(),r=this.focusedDay.getFullYear(),s=v[this.language],l=L(this.min),u=L(this.max),c=null!=l&&l.getMonth()===o&&l.getFullYear()===r,b=null!=u&&u.getMonth()===o&&u.getFullYear()===r;let h=a-this.incrementYears,p=a+this.incrementYears;return l&&(h=Math.max(h,l.getFullYear())),u&&(p=Math.min(p,u.getFullYear())),t(i,{key:"5ebd34bf6ba1033b890138e5523f45fecd17eaf4",class:{"duet-expand":this.expand,"duet-m-0":"none"===this.margin}},t("div",{key:"8c4b995485be3c6b070ce738f3416db0d9683771",class:"duet-date"},t(w,{key:"c0b308099cd5c56790a1160d10a682551ce9da7e",hasFocus:this.inputHasFocus,value:this.value,valueAsDate:e,formattedValue:this.inputValue,language:this.language,onInput:this.handleInputChange,onBlur:this.handleBlur,onFocus:this.handleFocus,onClick:this.toggleOpen,name:this.name,disabled:this.disabled,error:this.error,role:this.role,required:this.required,theme:this.theme,tooltip:this.tooltip,tooltipDirection:this.tooltipDirection,labelHidden:this.labelHidden,placeholder:this.placeholder,inputLabel:this.label,identifier:this.identifier,buttonRef:t=>this.datePickerButton=t,inputRef:t=>this.datePickerInput=t,accessibleActiveDescendant:this.accessibleActiveDescendant,accessibleControls:this.accessibleControls,accessibleOwns:this.accessibleOwns,accessibleDescribedBy:this.accessibleDescribedBy,accessibleLiveError:this.accessibleLiveError,echoPlaceholder:this.echoPlaceholder,caption:this.caption})),t("div",{key:"cca008327d5a939054a1b2abd748b08170b19a07",class:{"duet-theme-turva":"turva"===this.theme,"duet-date-dialog":!0,left:"left"===this.direction,error:!!this.error,active:this.open},role:"dialog","aria-modal":"true","aria-hidden":this.open?"false":"true","aria-labelledby":this.dialogLabelId,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd},t("duet-overlay",{key:"fcb2d3f3fd5333529c2ebc82590a6a543112a5f4",visible:this.open,"display-device":"x-small"}),t(d,{key:"0de38fdb796337ec9448bcff1bb652776fdf6f60",moveFocusTo:this.focusedDayNode}),t("div",{key:"9950afbc58987e498e2e6734fd6af177c65d94a8",class:"duet-date-dialog-wrapper",onKeyDown:this.handleEscKey,ref:t=>this.dialogWrapperNode=t},t("duet-visually-hidden",{key:"2394f33f1efd2e0626b2a1bc3642a73193798b13","aria-live":"polite"},s.keyboardInstruction),t("div",{key:"74b68ad35d92ab0c2616be5466ea6b8b2c1a1451",class:"duet-date-dialog-mobile-header"},t(n,{key:"7385d9ef814cf4557cf903f705b38a7571369d0f",margin:"none"},this.label),t("button",{key:"5ba61af3c6b024f1f3ef531b412e5c20243d83ca",class:"duet-date-picker-close",ref:t=>this.closeButtonNode=t,onClick:()=>this.hide(),type:"button"},t("duet-icon",{key:"14e320af49eb06c184cfe918a67f278bdac888bf",name:"navigation-close-small",margin:"none",color:"currentColor",size:"xx-small"}),t("duet-visually-hidden",{key:"b58668ebd6f0849ae6e8f0454800b4ceb916443e"},s.closeLabel))),t("div",{key:"79a07d6373ca479f45808ff3eef1ea6239148b26",class:"duet-date-dialog-header"},t("div",{key:"6f08a300db74dd1562c658334c8220fc1569228c",class:"duet-date-dialog-dropdowns"},t("duet-visually-hidden",{key:"400b1451a2180e0a189a5c1e7c27139647ec5539"},t("h2",{key:"47225d656584304da5b114f0430e17cb74a38e53",id:this.dialogLabelId,"aria-live":"polite","aria-atomic":"true"},s.monthLabels[o]," ",this.focusedDay.getFullYear())),t("duet-visually-hidden",{key:"b66a24df41db7807ed3c0d3f36d380a897360fa6"},t("label",{key:"aae8cf780c5452e1399421e177309ad7a9179803",htmlFor:this.monthSelectId},s.monthSelectLabel)),t("div",{key:"f2bad2498489114a7bc0ffd6fc8c4f842b507e43",class:"duet-date-dialog-select"},t("select",{key:"9d58e711523ace0781cc27947fb9ecc52bda8499",id:this.monthSelectId,class:"duet-date-month-select",ref:t=>this.monthSelectNode=t,onChange:this.handleMonthSelect},s.monthLabels.map(((e,a)=>t("option",{key:e,value:a,selected:a===o,disabled:!R(new Date(r,a,1),l?V(l):null,u?U(u):null)},e)))),t("div",{key:"914f0bef1d172d4d5391991fd9f8206f7d0576df",class:"duet-date-dialog-select-label","aria-hidden":"true"},t("span",{key:"7aebf3e0cbc22a117a5e155e0dd4518189f9b946"},s.monthLabelsShort[o]),t("duet-icon",{key:"faf140d4032093b37db295f06e23ea761fa27c65",name:"action-arrow-down-small",color:"currentColor",margin:"none",size:"xxx-small"}))),t("duet-visually-hidden",{key:"66399d5d57f605fe4db9c13ee13bcf89f4d38efd"},t("label",{key:"76256efb6db83d4165a903420b70e9a6d43a2e49",htmlFor:this.yearSelectId},s.yearSelectLabel)),t("div",{key:"e871aa90559d85cad33752f52a6e538571e6984f",class:"duet-date-dialog-select"},t("select",{key:"af2e90cb3d28123c36c83853753be30beff06400",id:this.yearSelectId,class:"duet-date-year-select",onChange:this.handleYearSelect},function(t,e){for(var a=[],i=t;i<=e;i++)a.push(i);return a}(h,p).map((e=>t("option",{key:e,selected:e===r},e)))),t("div",{key:"a1487d1853c56fc62c20bf2b3df60cc73d666017",class:"duet-date-dialog-select-label","aria-hidden":"true"},t("span",{key:"ad43c7efa4a93e4417c2051e000fe0f786b35612"},this.focusedDay.getFullYear()),t("duet-icon",{key:"5c42115e3dd7c4a48e5cae87b5f03ed274087ba5",name:"action-arrow-down-small",color:"currentColor",margin:"none",size:"xxx-small"})))),t("div",{key:"bc63edbea7a3b069774fc0b8766983f570479501",class:"duet-date-dialog-buttons"},t("duet-action-button",{key:"e3cb3ade86eeedbaf914d104ce9b638109708eb6",accessibleLabel:v[this.language].prevMonthLabel,actionName:v[this.language].prevMonthLabel,class:"duet-date-dialog-prev",onClick:this.handlePreviousMonthClick,disabled:c,"icon-name":"action-arrow-left-small"},s.prevMonthLabel),t("duet-action-button",{key:"3d1b9df7ab5852d770d6c98285b73e002a9f4468",accessibleLabel:v[this.language].nextMonthLabel,actionName:v[this.language].nextMonthLabel,class:"duet-date-dialog-next",onClick:this.handleNextMonthClick,disabled:b,"icon-name":"action-arrow-right-small"},s.nextMonthLabel))),t(O,{key:"fb66dbdf2065a158a265490a6f7c0ace038919d5",selectedDate:e,focusedDate:this.focusedDay,onDateSelect:this.handleDaySelect,onKeyboardNavigation:this.handleKeyboardNavigation,labelledById:this.dialogLabelId,language:this.language,theme:this.theme,min:l,max:u,focusedDayRef:t=>this.focusedDayNode=t,onFocusEnter:this.enableActiveFocus,onFocusExit:this.disableActiveFocus})),t(d,{key:"b40a59659930ae4a47fb6d8dd45f334e5fcdf026",moveFocusTo:this.closeButtonNode})))}get element(){return o(this)}static get watchers(){return{min:["updateValidity"],max:["updateValidity"],value:["updateValidity","updateInternalValue"],required:["updateValidity"]}}};K.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{margin-right:16px !important}:host(:last-child),:host(:last-of-type){margin-right:0 !important}:host(.form-distribute:last-of-type:not(:last-child)){margin-right:16px !important}:host{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;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;vertical-align:top;text-align:left}@media (min-width: 36em){:host{width:calc(50% - 16px - 3px)}}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}.duet-date{position:relative;width:100%}.duet-date button,.duet-date-dialog button{max-width:initial !important;min-height:initial !important;padding:0 !important;margin:0 !important;transition:initial}.duet-date-button{-webkit-user-select:none;user-select:none;position:relative;z-index:200;box-sizing:content-box;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:47px;height:48px;color:rgb(8, 42, 77);cursor:pointer;background:rgb(255, 255, 255);border:1px solid rgb(127, 150, 165);border-left-color:rgb(181, 198, 208);border-radius:0 4px 4px 0;transition:box-shadow 150ms ease, border 150ms ease !important}.duet-date-button::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:"";background:linear-gradient(to left, rgba(181, 198, 208, 0.2) 0%, rgba(181, 198, 208, 0.2) 1px, rgba(181, 198, 208, 0.1) 1px, rgba(181, 198, 208, 0) 100%)}.duet-date-button:hover:not(:disabled){outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-date-button:hover:not(:disabled),.duet-date-button:hover:not(:disabled).duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.duet-date-button:disabled{pointer-events:none;cursor:not-allowed;background:rgb(245, 248, 250) !important;border:0 !important}.duet-date-button:disabled::before{display:none}.duet-date-button:disabled duet-icon{opacity:0.4}.duet-date-button duet-icon{transform:translateY(-1px)}.duet-date-button:active duet-icon{transform:translateY(0)}.duet-date-input-has-focus .duet-date-button,.duet-date-button:focus{height:46px;color:rgb(0, 119, 179)}.duet-date-input-has-focus .duet-date-button:focus,.duet-date-button:focus:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-date-input-has-focus .duet-date-button:focus,.duet-date-input-has-focus .duet-date-button:focus.duet-theme-turva,.duet-theme-turva .duet-date-button:focus:focus,.duet-date-button:focus:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.input-error{border-top-color:rgb(214, 28, 82);border-right-color:rgb(214, 28, 82);border-bottom-color:rgb(214, 28, 82)}.duet-date-dialog{position:absolute;top:100%;left:0;z-index:900;display:flex;visibility:hidden;width:100%;opacity:0;transform:scale(0.96) translateZ(0) translateY(-20px);transform-origin:top right;transition:transform 300ms ease, opacity 300ms ease, visibility 300ms ease}@media (min-width: 36em){.duet-date-dialog.left{right:0;left:auto;width:auto}}@media (max-width: 35.9375em){.duet-date-dialog{position:fixed;top:0;right:0;bottom:0;transform:translateZ(0);transform-origin:bottom center;transition:opacity 400ms ease, visibility 400ms ease}}.duet-date-dialog.active{visibility:visible;opacity:1;transform:scale(1.0001) translateZ(0) translateY(0);transition-property:transform, opacity}@media (min-width: 36em){.duet-date-dialog.error{top:calc(100% - 28px);margin-top:4px}}.duet-date-dialog-wrapper{position:relative;z-index:600;width:100%;min-width:290px;max-width:310px;padding:16px 16px 20px;margin-top:8px;margin-left:auto;background:rgb(255, 255, 255);border:1px solid rgb(212, 223, 229);border-radius:4px;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);transform:none}@media (max-width: 35.9375em){.duet-date-dialog-wrapper{position:absolute;bottom:0;left:0;z-index:900;visibility:hidden;max-width:none;min-height:25em;padding:0 8% 20px;margin:0;border:0;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;opacity:0;transform:translateZ(0) translateY(100%);transition:transform 400ms ease, opacity 400ms ease, visibility 400ms ease}.active .duet-date-dialog-wrapper{visibility:visible;opacity:1;transform:translateZ(0) translateY(0);transition-property:transform, opacity}}.duet-date-table{width:100%;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.25;color:rgb(8, 42, 77);text-align:center;border-spacing:0;border-collapse:collapse}.duet-date-table th{padding-bottom:8px;font-size:0.75rem;font-weight:600;line-height:1.25;text-transform:uppercase;letter-spacing:1px;text-decoration:none}.duet-date-table .duet-date-table-cell{text-align:center}.duet-date-table .duet-date-table-cell:focus{outline:none}.duet-date-table-button{position:relative;z-index:100;display:inline-block !important;width:36.9230769231px !important;height:36.9230769231px !important;min-height:initial !important;padding:0 !important;margin:0 !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:0.875rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:2.6 !important;vertical-align:initial !important;color:rgb(8, 42, 77) !important;text-align:center;cursor:pointer;background:transparent !important;border-radius:50% !important;transition:initial !important}.duet-date-table-button:hover{background:rgb(228, 241, 247) !important}.duet-date-table-button.today{z-index:200;color:rgb(0, 75, 129) !important;background:rgb(240, 247, 250) !important;box-shadow:0 0 0 1px #0077b3 !important}.selected .duet-date-table-button,:focus .duet-date-table-button{color:rgb(255, 255, 255) !important;outline:0;background:rgb(0, 119, 179) !important}.duet-date-table-button:active{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8);z-index:200;color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179) !important}.duet-theme-turva .duet-date-table-button:active,.duet-date-table-button:active.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}:focus .duet-date-table-button{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8);z-index:200}.duet-theme-turva :focus .duet-date-table-button,:focus .duet-date-table-button.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-date-table-button.disabled{color:rgb(127, 150, 165) !important;cursor:default;outline:none !important;background:transparent !important}.duet-date-table-button.outside{color:rgb(127, 150, 165) !important;pointer-events:none;cursor:default;outline:none;background:rgb(245, 248, 250) !important;opacity:0.75}.duet-date-dialog-header{margin-bottom:16px !important;display:flex;align-items:center;justify-content:space-between;width:100%}.duet-date-dialog-buttons{white-space:nowrap}.duet-date-dialog-buttons ::part(button){border:0}.duet-date-dialog-select{position:relative;display:inline-flex;margin-top:4px}.duet-date-dialog-select .duet-date-dialog-select-label{position:relative;z-index:1;display:flex;align-items:center;width:100%;padding:0 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:1.25rem;font-weight:600;line-height:1.25;color:rgb(8, 42, 77);pointer-events:none;border-radius:4px}.duet-date-dialog-select span{margin-right:4px}.duet-date-dialog-select select{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;font-size:1rem;cursor:pointer;opacity:0}.duet-date-dialog-select select:focus+.duet-date-dialog-select-label{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-date-dialog-select select:focus+.duet-date-dialog-select-label,.duet-date-dialog-select select:focus+.duet-date-dialog-select-label.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-date-dialog-mobile-header{position:relative;display:flex;align-items:center;justify-content:space-between;width:120%;padding:12px 20px;margin-bottom:20px;margin-left:-10%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid rgb(181, 198, 208)}@media (min-width: 36em){.duet-date-dialog-mobile-header{position:absolute;top:-8px;right:-8px;width:auto;padding:0;margin:0;overflow:visible;border:0}}.duet-date-dialog-mobile-header label{display:inline-block;max-width:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 36em){.duet-date-dialog-mobile-header label{display:none}}.duet-date-picker-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px !important;padding:0 !important;color:rgb(8, 42, 77) !important;-webkit-appearance:none;appearance:none;cursor:pointer;background:rgb(245, 248, 250) !important;border-radius:50%}@media (min-width: 36em){.duet-date-picker-close{opacity:0}}.duet-date-picker-close:hover{background:rgb(245, 248, 250) !important}.duet-date-picker-close:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-date-picker-close:focus,.duet-date-picker-close:focus.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}@media (min-width: 36em){.duet-date-picker-close:focus{opacity:1}}.duet-theme-turva .duet-date-button{color:rgb(23, 42, 59);border-color:rgb(120, 145, 164);border-left-color:rgb(178, 194, 205)}.duet-theme-turva:disabled{background:rgb(245, 246, 247) !important}.duet-theme-turva.duet-date-input-has-focus .duet-theme-turva,.duet-theme-turva:focus{color:rgb(23, 42, 59)}.duet-theme-turva .duet-date-dialog-wrapper{border-color:rgb(212, 221, 226)}.duet-theme-turva .duet-date-table-button{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;color:rgb(23, 42, 59) !important}.duet-theme-turva .duet-date-table-button:hover:not(.disabled){background:rgb(251, 225, 209) !important}.duet-theme-turva .duet-date-table-button.today{color:rgb(140, 0, 30) !important;background:rgb(253, 247, 242) !important;box-shadow:0 0 0 1px #171c3a !important}.duet-theme-turva .duet-date-table-button:active{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64) !important}.duet-theme-turva .duet-date-table-button.outside{color:rgb(120, 145, 164) !important;outline:none;background:rgb(245, 246, 247) !important}.duet-theme-turva .duet-date-table-button.disabled{color:rgb(178, 194, 205) !important;outline:none !important;background:transparent !important}.duet-theme-turva .selected .duet-date-table-button,.duet-theme-turva :focus .duet-date-table-button{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64) !important}.duet-theme-turva :active.duet-date-table-button{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64) !important}.duet-theme-turva .duet-date-dialog-select .duet-date-dialog-select-label{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-theme-turva .duet-date-dialog-mobile-header{border-color:rgb(178, 194, 205)}.duet-theme-turva .duet-date-picker-close{background:rgb(245, 246, 247) !important}.duet-theme-turva .duet-date-picker-close:hover{background:rgb(245, 246, 247) !important}.duet-theme-turva [aria-pressed=true] .duet-date-table-button,.duet-theme-turva :focus .duet-date-table-button{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64) !important}.duet-theme-turva.duet-date-table{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)}';export{K as duet_date_picker}
4
+ import{h as t,r as e,c as a,H as i,g as o}from"./p-Cwhi6_oZ.js";import{D as n}from"./p-CtBx3Trd.js";import{i as r}from"./p-D2EBd3cT.js";import{c as s}from"./p-Cfr_DJqU.js";import{F as d}from"./p-BW3SZS4F.js";import{a as l,g as u,c,d as b}from"./p-DWIjWGAD.js";import{c as h,p}from"./p--fmK3qPb.js";import{g as m}from"./p-DvwKrUS6.js";import"./p-C6E9F6QT.js";const f={day:"numeric",month:"long",weekday:"long"},g={day:"numeric",month:"long",year:"numeric"},v={fi:{buttonLabel:"Valitse päivämäärä",prevMonthLabel:"Edellinen kuukausi",nextMonthLabel:"Seuraava kuukausi",monthSelectLabel:"Kuukausi",yearSelectLabel:"Vuosi",closeLabel:"Sulje ikkuna",selected:"Valittu päivämäärä on",keyboardInstruction:"Voit navigoida päivämääriä nuolinäppäimillä",dayLabels:["Maanantai","Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai","Sunnuntai"],monthLabels:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],monthLabelsShort:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"],formatterShort:new Intl.DateTimeFormat("fi-FI",f),formatterLong:new Intl.DateTimeFormat("fi-FI",g)},en:{buttonLabel:"Choose date",prevMonthLabel:"Previous month",nextMonthLabel:"Next month",monthSelectLabel:"Month",yearSelectLabel:"Year",closeLabel:"Close window",selected:"Selected date is",keyboardInstruction:"You can use arrow keys to navigate dates",dayLabels:["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],monthLabels:["January","February","March","April","May","June","July","August","September","October","November","December"],monthLabelsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],formatterShort:new Intl.DateTimeFormat("en-GB",f),formatterLong:new Intl.DateTimeFormat("en-GB",g)},sv:{buttonLabel:"Välj datum",prevMonthLabel:"Föregående månad",nextMonthLabel:"Nästa månad",monthSelectLabel:"Månad",yearSelectLabel:"År",closeLabel:"Stäng fönstret",selected:"Valt datum är",keyboardInstruction:"Använd piltangenterna för att navigera i kalender",dayLabels:["Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag","Söndag"],monthLabels:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],monthLabelsShort:["Jan","Feb","Mars","April","Maj","Juni","Juli","Aug","Sep","Okt","Nov","Dec"],formatterShort:new Intl.DateTimeFormat("sv-SE",f),formatterLong:new Intl.DateTimeFormat("sv-SE",g)}};var y,k,x=m(k?y:(k=1,y={title:"form-date",tags:"form date calendar date picker",svg:'<svg fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img"><path d="M2.25 24A2.252 2.252 0 0 1 0 21.75V5.25A2.252 2.252 0 0 1 2.25 3H6V.75a.75.75 0 0 1 1.5 0V3h9V.75a.75.75 0 0 1 1.5 0V3h3.75A2.252 2.252 0 0 1 24 5.25v16.5A2.252 2.252 0 0 1 21.75 24zm-.75-2.25c0 .414.336.75.75.75h19.5a.75.75 0 0 0 .75-.75V10.5h-21zM22.5 9V5.25a.75.75 0 0 0-.75-.75H18V6a.75.75 0 0 1-1.5 0V4.5h-9V6A.75.75 0 0 1 6 6V4.5H2.25a.75.75 0 0 0-.75.75V9z"/><circle cx="5.625" cy="13.875" r="1.125"/><circle cx="5.625" cy="19.125" r="1.125"/><circle cx="12" cy="13.875" r="1.125"/><circle cx="12" cy="19.125" r="1.125"/><circle cx="18.375" cy="13.875" r="1.125"/><path d="M18.375 20.25c-.62 0-1.125-.505-1.125-1.125a1.127 1.127 0 0 1 1.171-1.122l.027.003a1.118 1.118 0 0 1 1.052 1.12c0 .619-.505 1.124-1.125 1.124z"/></svg>'}));const w=({onClick:e,placeholder:a,inputLabel:i,valueAsDate:o,formattedValue:n,language:r,identifier:s,theme:d,disabled:l,error:u,role:c,required:b,tooltip:h,tooltipDirection:p,labelHidden:m,buttonRef:f,inputRef:g,onInput:y,onBlur:k,onFocus:w,hasFocus:S,accessibleActiveDescendant:D,accessibleControls:M,accessibleOwns:I,accessibleDescribedBy:L,accessibleLiveError:A,echoPlaceholder:F,caption:j})=>{const{buttonLabel:C,selected:E,formatterLong:z}=v[r];return t("div",{class:{"duet-theme-turva":"turva"===d,"duet-date-input":!0,"duet-date-input-has-focus":S}},t("duet-input",{label:i,value:n,placeholder:a,id:s,disabled:l,theme:d,error:u,role:c,required:b,tooltip:h,tooltipDirection:p,margin:"none",labelHidden:m,accessibleAutocomplete:"none",onDuetChange:t=>t.stopImmediatePropagation(),onDuetInput:y,onDuetFocus:w,onDuetBlur:k,autoComplete:"off",disallowPattern:"[^0-9\\.\\-\\/]",expand:!0,ref:g,accessibleActiveDescendant:D,accessibleControls:M,accessibleOwns:I,accessibleDescribedBy:L,accessibleLiveError:A,echoPlaceholder:F,caption:j,variation:"button"},t("slot",{name:"tooltip"}),t("button",{class:{"duet-date-button":!0,"duet-no-label":m,"input-error":!!u},onClick:e,disabled:l,ref:f,type:"button",slot:"button"},t("duet-icon",{icon:x.svg,margin:"none",size:"small",color:"currentColor"}),t("duet-visually-hidden",null,C,o&&t("span",null,", ",E," ",z.format(o))))))},S=/^(\d{1,2})[\.\-\/](\d{1,2})[\.\-\/](\d{4})$/,D=/^(\d{4})-(\d{2})-(\d{2})$/;function M(t,e,a){var i=parseInt(a,10),o=parseInt(e,10),n=parseInt(t,10);if(Number.isInteger(n)&&Number.isInteger(o)&&Number.isInteger(i)&&o>0&&o<=12&&i>0&&i<=31&&n>0){const t=new Date(n,o-1,i);if(t.getDate()!==i||t.getMonth()!==o-1)return;return t}}function I(t){if(!t)return;const e=t.match(S);return e?M(e[3],e[2],e[1]):void 0}function L(t){if(!t)return;const e=t.match(D);return e?M(e[1],e[2],e[3]):void 0}function A(t,e){if(!t)return"";var a=t.getDate().toString(10),i=(t.getMonth()+1).toString(10),o=t.getFullYear().toString(10);return t.getDate()<10&&(a=`0${a}`),t.getMonth()<9&&(i=`0${i}`),e.replace(/MM/i,i).replace(/YYYY/i,o).replace(/DD/i,a)}function F(t){return A(t,"YYYY-MM-DD")}function j(t,e){return null!=t&&null!=e&&t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()===e.getDate()}function C(t,e){var a=new Date(t);return a.setDate(a.getDate()+e),a}function E(t,e=1){var a=new Date(t),i=a.getDay(),o=(i<e?7:0)+i-e;return a.setDate(a.getDate()-o),a}function z(t,e=1){var a=new Date(t),i=a.getDay(),o=6+(i<e?-7:0)-(i-e);return a.setDate(a.getDate()+o),a}function U(t){return new Date(t.getFullYear(),t.getMonth(),1)}function V(t){return new Date(t.getFullYear(),t.getMonth()+1,0)}function B(t,e){const a=new Date(t);return a.setMonth(e),a}function H(t,e){const a=new Date(t);return a.setFullYear(e),a}function R(t,e,a){return T(t,e,a)===t}function T(t,e,a){const i=t.getTime();return e&&e instanceof Date&&i<e.getTime()?e:a&&a instanceof Date&&i>a.getTime()?a:t}const Y={fi:"Valittu päivä",en:"Selected day",sv:"Vald dag"},P=({focusedDay:e,today:a,day:i,language:o,onDaySelect:n,onKeyboardNavigation:r,ref:s,inRange:d,isSelected:l})=>{const u=j(i,a),c=j(i,e),b=i.getMonth()!==e.getMonth(),h=!d,{formatterShort:p}=v[o];return t("td",{"data-day":F(i),class:{"duet-date-table-cell":!0,selected:l},"aria-label":`${p.format(i)}${l?`, ${Y[o]}`:void 0}`,role:"button",tabIndex:c?0:-1,onClick:function(t){n(t,i)},onKeyDown:r,"aria-disabled":h||b,ref:s},t("span",{class:{"duet-date-table-button":!0,outside:h,disabled:b,today:u}},i.getDate()))};function J(t){var e;const a=t.trim().split("+"),i=a.pop();return["shift"===(null===(e=a[0])||void 0===e?void 0:e.toLowerCase()),i]}function N(t){const e=Object.keys(t).map((e=>[J(e),t[e]]));return function(t){if(!(t instanceof KeyboardEvent))return;const a=e.find((([[e,a]])=>(a.toUpperCase()===t.key.toUpperCase()||a===t.code)&&e===t.shiftKey));a&&(a[1](t),t.preventDefault())}}const O=({selectedDate:e,focusedDate:a,labelledById:i,theme:o,language:n,min:r,max:s,onDateSelect:d,onKeyboardNavigation:l,focusedDayRef:u,onFocusEnter:c,onFocusExit:b})=>{const{dayLabels:h}=v[n],p=new Date,m=function(t,e=1){return function(t,e){const a=[];let i=t;for(;!j(i,e);)a.push(i),i=C(i,1);return a.push(i),a}(E(U(t),e),z(V(t),e))}(a);return t("div",{role:"application"},t("table",{role:"presentation",class:{"duet-date-table":!0,"duet-theme-turva":"turva"===o},"aria-labelledby":i,onFocusin:c,onFocusout:function(t){const e=t.relatedTarget;e&&!t.currentTarget.contains(e)&&b(t)}},t("thead",null,t("tr",null,h.map((e=>t("th",{scope:"col"},t("span",{"aria-hidden":"true"},e.substr(0,2))))))),t("tbody",null,function(t){const e=[];for(let a=0;a<t.length;a+=7)e.push(t.slice(a,a+7));return e}(m).map((i=>t("tr",{class:"duet-date-table-row"},i.map((i=>t(P,{day:i,today:p,language:n,focusedDay:a,inRange:R(i,r,s),isSelected:j(i,e),onDaySelect:d,onKeyboardNavigation:l,ref:t=>{t&&j(i,a)&&u(t)}})))))))))},K=class{constructor(t){e(this,t),this.duetChange=a(this,"duetChange",7),this.duetBlur=a(this,"duetBlur",7),this.duetFocus=a(this,"duetFocus",7),this.proxyId=s("DuetDatePicker"),this.monthSelectId=s("DuetDatePicker"),this.yearSelectId=s("DuetDatePicker"),this.dialogLabelId=s("DuetDatePicker"),this.initialTouchX=null,this.initialTouchY=null,this.focusTarget=null,this.dateErrorMessages={badInput:{en:"Wrong date format",fi:"Väärä päivämäärämuoto",sv:"Fel datumformat"},rangeUnderflow:{en:"Date too early",fi:"Liian aikainen päivämäärä",sv:"Datum för tidigt"},rangeOverflow:{en:"Date too late",fi:"Liian myöhäinen päivämäärä",sv:"Datum för sent"},valueMissing:{en:"Date required",fi:"Päivämäärä vaaditaan",sv:"Datum krävs"}},this.open=!1,this.focusedDay=new Date,this.inputValue="",this.inputHasFocus=!1,this.theme="",this.expand=!1,this.name="",this.identifier="",this.label="",this.margin="auto",this.language=l(),this.placeholderDefaults={fi:"pp.kk.vvvv",en:"dd.mm.yyyy",sv:"dd.mm.åååå"},this.placeholder=u(this.placeholderDefaults,this.language),this.echoPlaceholder=!1,this.disabled=!1,this.error="",this.disableBuiltInErrors=!1,this.labelHidden=!1,this.required=!1,this.direction="right",this.tooltip="",this.tooltipDirection="auto",this.value="",this.min="",this.max="",this.incrementYears=10,this.accessibleLiveError="polite",this.enableActiveFocus=()=>{this.focusTarget="day-button"},this.disableActiveFocus=()=>{this.focusTarget=null},this.toggleOpen=t=>{t.preventDefault(),this.open?this.hide(!1):this.show()},this.handleBlur=t=>{if(t.stopPropagation(),this.inputHasFocus=!1,!this._validity.valid&&!this.disableBuiltInErrors){const t=Object.entries(this._validity).find((t=>!!t[1]))[0];this.error=u(this.dateErrorMessages[t])}this.duetBlur.emit({component:"duet-date-picker"})},this.handleFocus=t=>{t.stopPropagation(),this.inputHasFocus=!0,this.duetFocus.emit({component:"duet-date-picker"})},this.handleTouchStart=t=>{const e=t.changedTouches[0];this.initialTouchX=e.pageX,this.initialTouchY=e.pageY},this.handleTouchMove=t=>{t.preventDefault()},this.handleTouchEnd=t=>{const e=t.changedTouches[0],a=e.pageX-this.initialTouchX,i=e.pageY-this.initialTouchY,o=Math.abs(a)>=70&&Math.abs(i)<=70,n=Math.abs(i)>=70&&Math.abs(a)<=70&&i>0;o?this.addMonths(a<0?1:-1):n&&(this.hide(),t.preventDefault()),this.initialTouchY=null,this.initialTouchX=null},this.handleNextMonthClick=t=>{t.preventDefault(),this.addMonths(1)},this.handlePreviousMonthClick=t=>{t.preventDefault(),this.addMonths(-1)},this.handleEscKey=N({Escape:()=>this.hide(),Esc:()=>this.hide()}),this.handleKeyboardNavigation=N({ArrowRight:()=>this.addDays(1),Right:()=>this.addDays(1),ArrowLeft:()=>this.addDays(-1),Left:()=>this.addDays(-1),ArrowDown:()=>this.addDays(7),Down:()=>this.addDays(7),ArrowUp:()=>this.addDays(-7),Up:()=>this.addDays(-7),Home:()=>this.startOfWeek(),End:()=>this.endOfWeek(),PageUp:()=>this.addMonths(-1),PageDown:()=>this.addMonths(1),"Shift+PageUp":()=>this.addYears(-1),"Shift+PageDown":()=>this.addYears(1),Space:t=>this.handleKeyboardDaySelect(t),Enter:t=>this.handleKeyboardDaySelect(t)}),this.handleKeyboardDaySelect=t=>{const e=L(t.target.dataset.day);this.handleDaySelect(t,e)},this.handleDaySelect=(t,e)=>{R(e,L(this.min),L(this.max))&&(this.setValue(e),this.hide())},this.handleMonthSelect=t=>{this.setMonth(parseInt(t.target.value,10))},this.handleYearSelect=t=>{this.setYear(parseInt(t.target.value,10))},this.handleInputChange=t=>{this.inputValue=t.detail.value;const e=I(this.inputValue);this.setValue(e)}}get validity(){return this.determineValidity(),this._validity}updateValidity(){this.determineValidity()}updateInternalValue(){if(!this.value&&this.inputHasFocus)return;const t=L(this.value),e=I(this.inputValue);t?j(t,e)||(this.inputValue=A(t,"dd.mm.yyyy")):this.inputValue=""}componentWillLoad(){r(this),this.determineValidity(),this.updateInternalValue(),h(this.element,"tooltip","duet-tooltip",1,!0)}componentDidUpdate(){switch(this.focusTarget){case"toggle-button":this.datePickerButton.focus(),this.focusTarget=null;break;case"day-button":this.focusedDayNode.focus();break;case"month-select":this.monthSelectNode.focus(),this.focusTarget=null}}componentDidRender(){p(this.element,this.proxyId,this.name,this.value,this.required)}connectedCallback(){c(this,{prop:"placeholder",defaults:"placeholderDefaults"})}disconnectedCallback(){b(this)}async setFocus(t){this.datePickerInput.setFocus(t)}async show(){this.open=!0,this.focusTarget="month-select",this.setFocusedDay(L(this.value)||new Date)}async hide(t=!0){this.open=!1,t&&(this.focusTarget="toggle-button")}addDays(t){this.setFocusedDay(C(this.focusedDay,t))}addMonths(t){this.setMonth(this.focusedDay.getMonth()+t)}addYears(t){this.setYear(this.focusedDay.getFullYear()+t)}startOfWeek(){this.setFocusedDay(E(this.focusedDay))}endOfWeek(){this.setFocusedDay(z(this.focusedDay))}setMonth(t){const e=B(U(this.focusedDay),t),a=V(e),i=B(this.focusedDay,t);this.setFocusedDay(T(i,e,a))}setYear(t){const e=H(U(this.focusedDay),t),a=V(e),i=H(this.focusedDay,t);this.setFocusedDay(T(i,e,a))}setFocusedDay(t){this.focusedDay=T(t,L(this.min),L(this.max))}determineValidity(){var t,e;const a=L(this.value),i=null!==(e=null===(t=this.datePickerInput)||void 0===t?void 0:t.value)&&void 0!==e?e:"",o=!a&&""!==i,n=!a&&this.required,r=!!a&&!R(a,null,L(this.max)),s=!!a&&!R(a,L(this.min));this._validity={patternMismatch:!1,customError:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,badInput:o,rangeUnderflow:s,rangeOverflow:r,valueMissing:n,valid:!(n||o||s||r)},this._validity.valid&&(this.error="")}setValue(t){const e=F(t);e!==this.value&&(this.value=e,this.determineValidity(),this.duetChange.emit({component:"duet-date-picker",value:this.value,valueAsDate:t}))}handleDocumentClick(t){this.open&&t.composedPath().every((t=>t!==this.dialogWrapperNode&&t!==this.datePickerButton))&&this.hide(!1)}render(){const e=L(this.value),a=(e||this.focusedDay).getFullYear(),o=this.focusedDay.getMonth(),r=this.focusedDay.getFullYear(),s=v[this.language],l=L(this.min),u=L(this.max),c=null!=l&&l.getMonth()===o&&l.getFullYear()===r,b=null!=u&&u.getMonth()===o&&u.getFullYear()===r;let h=a-this.incrementYears,p=a+this.incrementYears;return l&&(h=Math.max(h,l.getFullYear())),u&&(p=Math.min(p,u.getFullYear())),t(i,{key:"5ebd34bf6ba1033b890138e5523f45fecd17eaf4",class:{"duet-expand":this.expand,"duet-m-0":"none"===this.margin}},t("div",{key:"8c4b995485be3c6b070ce738f3416db0d9683771",class:"duet-date"},t(w,{key:"c0b308099cd5c56790a1160d10a682551ce9da7e",hasFocus:this.inputHasFocus,value:this.value,valueAsDate:e,formattedValue:this.inputValue,language:this.language,onInput:this.handleInputChange,onBlur:this.handleBlur,onFocus:this.handleFocus,onClick:this.toggleOpen,name:this.name,disabled:this.disabled,error:this.error,role:this.role,required:this.required,theme:this.theme,tooltip:this.tooltip,tooltipDirection:this.tooltipDirection,labelHidden:this.labelHidden,placeholder:this.placeholder,inputLabel:this.label,identifier:this.identifier,buttonRef:t=>this.datePickerButton=t,inputRef:t=>this.datePickerInput=t,accessibleActiveDescendant:this.accessibleActiveDescendant,accessibleControls:this.accessibleControls,accessibleOwns:this.accessibleOwns,accessibleDescribedBy:this.accessibleDescribedBy,accessibleLiveError:this.accessibleLiveError,echoPlaceholder:this.echoPlaceholder,caption:this.caption})),t("div",{key:"cca008327d5a939054a1b2abd748b08170b19a07",class:{"duet-theme-turva":"turva"===this.theme,"duet-date-dialog":!0,left:"left"===this.direction,error:!!this.error,active:this.open},role:"dialog","aria-modal":"true","aria-hidden":this.open?"false":"true","aria-labelledby":this.dialogLabelId,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd},t("duet-overlay",{key:"fcb2d3f3fd5333529c2ebc82590a6a543112a5f4",visible:this.open,"display-device":"x-small"}),t(d,{key:"0de38fdb796337ec9448bcff1bb652776fdf6f60",moveFocusTo:this.focusedDayNode}),t("div",{key:"9950afbc58987e498e2e6734fd6af177c65d94a8",class:"duet-date-dialog-wrapper",onKeyDown:this.handleEscKey,ref:t=>this.dialogWrapperNode=t},t("duet-visually-hidden",{key:"2394f33f1efd2e0626b2a1bc3642a73193798b13","aria-live":"polite"},s.keyboardInstruction),t("div",{key:"74b68ad35d92ab0c2616be5466ea6b8b2c1a1451",class:"duet-date-dialog-mobile-header"},t(n,{key:"7385d9ef814cf4557cf903f705b38a7571369d0f",margin:"none"},this.label),t("button",{key:"5ba61af3c6b024f1f3ef531b412e5c20243d83ca",class:"duet-date-picker-close",ref:t=>this.closeButtonNode=t,onClick:()=>this.hide(),type:"button"},t("duet-icon",{key:"14e320af49eb06c184cfe918a67f278bdac888bf",name:"navigation-close-small",margin:"none",color:"currentColor",size:"xx-small"}),t("duet-visually-hidden",{key:"b58668ebd6f0849ae6e8f0454800b4ceb916443e"},s.closeLabel))),t("div",{key:"79a07d6373ca479f45808ff3eef1ea6239148b26",class:"duet-date-dialog-header"},t("div",{key:"6f08a300db74dd1562c658334c8220fc1569228c",class:"duet-date-dialog-dropdowns"},t("duet-visually-hidden",{key:"400b1451a2180e0a189a5c1e7c27139647ec5539"},t("h2",{key:"47225d656584304da5b114f0430e17cb74a38e53",id:this.dialogLabelId,"aria-live":"polite","aria-atomic":"true"},s.monthLabels[o]," ",this.focusedDay.getFullYear())),t("duet-visually-hidden",{key:"b66a24df41db7807ed3c0d3f36d380a897360fa6"},t("label",{key:"aae8cf780c5452e1399421e177309ad7a9179803",htmlFor:this.monthSelectId},s.monthSelectLabel)),t("div",{key:"f2bad2498489114a7bc0ffd6fc8c4f842b507e43",class:"duet-date-dialog-select"},t("select",{key:"9d58e711523ace0781cc27947fb9ecc52bda8499",id:this.monthSelectId,class:"duet-date-month-select",ref:t=>this.monthSelectNode=t,onChange:this.handleMonthSelect},s.monthLabels.map(((e,a)=>t("option",{key:e,value:a,selected:a===o,disabled:!R(new Date(r,a,1),l?U(l):null,u?V(u):null)},e)))),t("div",{key:"914f0bef1d172d4d5391991fd9f8206f7d0576df",class:"duet-date-dialog-select-label","aria-hidden":"true"},t("span",{key:"7aebf3e0cbc22a117a5e155e0dd4518189f9b946"},s.monthLabelsShort[o]),t("duet-icon",{key:"faf140d4032093b37db295f06e23ea761fa27c65",name:"action-arrow-down-small",color:"currentColor",margin:"none",size:"xxx-small"}))),t("duet-visually-hidden",{key:"66399d5d57f605fe4db9c13ee13bcf89f4d38efd"},t("label",{key:"76256efb6db83d4165a903420b70e9a6d43a2e49",htmlFor:this.yearSelectId},s.yearSelectLabel)),t("div",{key:"e871aa90559d85cad33752f52a6e538571e6984f",class:"duet-date-dialog-select"},t("select",{key:"af2e90cb3d28123c36c83853753be30beff06400",id:this.yearSelectId,class:"duet-date-year-select",onChange:this.handleYearSelect},function(t,e){for(var a=[],i=t;i<=e;i++)a.push(i);return a}(h,p).map((e=>t("option",{key:e,selected:e===r},e)))),t("div",{key:"a1487d1853c56fc62c20bf2b3df60cc73d666017",class:"duet-date-dialog-select-label","aria-hidden":"true"},t("span",{key:"ad43c7efa4a93e4417c2051e000fe0f786b35612"},this.focusedDay.getFullYear()),t("duet-icon",{key:"5c42115e3dd7c4a48e5cae87b5f03ed274087ba5",name:"action-arrow-down-small",color:"currentColor",margin:"none",size:"xxx-small"})))),t("div",{key:"bc63edbea7a3b069774fc0b8766983f570479501",class:"duet-date-dialog-buttons"},t("duet-action-button",{key:"e3cb3ade86eeedbaf914d104ce9b638109708eb6",accessibleLabel:v[this.language].prevMonthLabel,actionName:v[this.language].prevMonthLabel,class:"duet-date-dialog-prev",onClick:this.handlePreviousMonthClick,disabled:c,"icon-name":"action-arrow-left-small"},s.prevMonthLabel),t("duet-action-button",{key:"3d1b9df7ab5852d770d6c98285b73e002a9f4468",accessibleLabel:v[this.language].nextMonthLabel,actionName:v[this.language].nextMonthLabel,class:"duet-date-dialog-next",onClick:this.handleNextMonthClick,disabled:b,"icon-name":"action-arrow-right-small"},s.nextMonthLabel))),t(O,{key:"fb66dbdf2065a158a265490a6f7c0ace038919d5",selectedDate:e,focusedDate:this.focusedDay,onDateSelect:this.handleDaySelect,onKeyboardNavigation:this.handleKeyboardNavigation,labelledById:this.dialogLabelId,language:this.language,theme:this.theme,min:l,max:u,focusedDayRef:t=>this.focusedDayNode=t,onFocusEnter:this.enableActiveFocus,onFocusExit:this.disableActiveFocus})),t(d,{key:"b40a59659930ae4a47fb6d8dd45f334e5fcdf026",moveFocusTo:this.closeButtonNode})))}get element(){return o(this)}static get watchers(){return{min:["updateValidity"],max:["updateValidity"],value:["updateValidity","updateInternalValue"],required:["updateValidity"]}}};K.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{margin-right:16px !important}:host(:last-child),:host(:last-of-type){margin-right:0 !important}:host(.form-distribute:last-of-type:not(:last-child)){margin-right:16px !important}:host{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;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;vertical-align:top;text-align:left}@media (min-width: 36em){:host{width:calc(50% - 16px - 3px)}}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}.duet-date{position:relative;width:100%}.duet-date button,.duet-date-dialog button{max-width:initial !important;min-height:initial !important;padding:0 !important;margin:0 !important;transition:initial}.duet-date-button{-webkit-user-select:none;user-select:none;position:relative;z-index:200;box-sizing:content-box;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:47px;height:48px;color:rgb(8, 42, 77);cursor:pointer;background:rgb(255, 255, 255);border:1px solid rgb(127, 150, 165);border-left-color:rgb(181, 198, 208);border-radius:0 4px 4px 0;transition:box-shadow 150ms ease, border 150ms ease !important}.duet-date-button::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:"";background:linear-gradient(to left, rgba(181, 198, 208, 0.2) 0%, rgba(181, 198, 208, 0.2) 1px, rgba(181, 198, 208, 0.1) 1px, rgba(181, 198, 208, 0) 100%)}.duet-date-button:hover:not(:disabled){outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-date-button:hover:not(:disabled),.duet-date-button:hover:not(:disabled).duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.duet-date-button:disabled{pointer-events:none;cursor:not-allowed;background:rgb(245, 248, 250) !important}.duet-date-button:disabled::before{display:none}.duet-date-button:disabled duet-icon{opacity:0.4}.duet-date-button duet-icon{transform:translateY(-1px)}.duet-date-button:active duet-icon{transform:translateY(0)}.duet-date-input-has-focus .duet-date-button,.duet-date-button:focus{height:46px;color:rgb(0, 119, 179)}.duet-date-input-has-focus .duet-date-button:focus,.duet-date-button:focus:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-date-input-has-focus .duet-date-button:focus,.duet-date-input-has-focus .duet-date-button:focus.duet-theme-turva,.duet-theme-turva .duet-date-button:focus:focus,.duet-date-button:focus:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.input-error{border-top-color:rgb(214, 28, 82);border-right-color:rgb(214, 28, 82);border-bottom-color:rgb(214, 28, 82)}.duet-date-dialog{position:absolute;top:100%;left:0;z-index:900;display:flex;visibility:hidden;width:100%;opacity:0;transform:scale(0.96) translateZ(0) translateY(-20px);transform-origin:top right;transition:transform 300ms ease, opacity 300ms ease, visibility 300ms ease}@media (min-width: 36em){.duet-date-dialog.left{right:0;left:auto;width:auto}}@media (max-width: 35.9375em){.duet-date-dialog{position:fixed;top:0;right:0;bottom:0;transform:translateZ(0);transform-origin:bottom center;transition:opacity 400ms ease, visibility 400ms ease}}.duet-date-dialog.active{visibility:visible;opacity:1;transform:scale(1.0001) translateZ(0) translateY(0);transition-property:transform, opacity}@media (min-width: 36em){.duet-date-dialog.error{top:calc(100% - 28px);margin-top:4px}}.duet-date-dialog-wrapper{position:relative;z-index:600;width:100%;min-width:290px;max-width:310px;padding:16px 16px 20px;margin-top:8px;margin-left:auto;background:rgb(255, 255, 255);border:1px solid rgb(212, 223, 229);border-radius:4px;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);transform:none}@media (max-width: 35.9375em){.duet-date-dialog-wrapper{position:absolute;bottom:0;left:0;z-index:900;visibility:hidden;max-width:none;min-height:25em;padding:0 8% 20px;margin:0;border:0;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;opacity:0;transform:translateZ(0) translateY(100%);transition:transform 400ms ease, opacity 400ms ease, visibility 400ms ease}.active .duet-date-dialog-wrapper{visibility:visible;opacity:1;transform:translateZ(0) translateY(0);transition-property:transform, opacity}}.duet-date-table{width:100%;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.25;color:rgb(8, 42, 77);text-align:center;border-spacing:0;border-collapse:collapse}.duet-date-table th{padding-bottom:8px;font-size:0.75rem;font-weight:600;line-height:1.25;text-transform:uppercase;letter-spacing:1px;text-decoration:none}.duet-date-table .duet-date-table-cell{text-align:center}.duet-date-table .duet-date-table-cell:focus{outline:none}.duet-date-table-button{position:relative;z-index:100;display:inline-block !important;width:36.9230769231px !important;height:36.9230769231px !important;min-height:initial !important;padding:0 !important;margin:0 !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:0.875rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:2.6 !important;vertical-align:initial !important;color:rgb(8, 42, 77) !important;text-align:center;cursor:pointer;background:transparent !important;border-radius:50% !important;transition:initial !important}.duet-date-table-button:hover{background:rgb(228, 241, 247) !important}.duet-date-table-button.today{z-index:200;color:rgb(0, 75, 129) !important;background:rgb(240, 247, 250) !important;box-shadow:0 0 0 1px #0077b3 !important}.selected .duet-date-table-button,:focus .duet-date-table-button{color:rgb(255, 255, 255) !important;outline:0;background:rgb(0, 119, 179) !important}.duet-date-table-button:active{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8);z-index:200;color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179) !important}.duet-theme-turva .duet-date-table-button:active,.duet-date-table-button:active.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}:focus .duet-date-table-button{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8);z-index:200}.duet-theme-turva :focus .duet-date-table-button,:focus .duet-date-table-button.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-date-table-button.disabled{color:rgb(127, 150, 165) !important;cursor:default;outline:none !important;background:transparent !important}.duet-date-table-button.outside{color:rgb(127, 150, 165) !important;pointer-events:none;cursor:default;outline:none;background:rgb(245, 248, 250) !important;opacity:0.75}.duet-date-dialog-header{margin-bottom:16px !important;display:flex;align-items:center;justify-content:space-between;width:100%}.duet-date-dialog-buttons{white-space:nowrap}.duet-date-dialog-buttons ::part(button){border:0}.duet-date-dialog-select{position:relative;display:inline-flex;margin-top:4px}.duet-date-dialog-select .duet-date-dialog-select-label{position:relative;z-index:1;display:flex;align-items:center;width:100%;padding:0 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:1.25rem;font-weight:600;line-height:1.25;color:rgb(8, 42, 77);pointer-events:none;border-radius:4px}.duet-date-dialog-select span{margin-right:4px}.duet-date-dialog-select select{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;font-size:1rem;cursor:pointer;opacity:0}.duet-date-dialog-select select:focus+.duet-date-dialog-select-label{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-date-dialog-select select:focus+.duet-date-dialog-select-label,.duet-date-dialog-select select:focus+.duet-date-dialog-select-label.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-date-dialog-mobile-header{position:relative;display:flex;align-items:center;justify-content:space-between;width:120%;padding:12px 20px;margin-bottom:20px;margin-left:-10%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid rgb(181, 198, 208)}@media (min-width: 36em){.duet-date-dialog-mobile-header{position:absolute;top:-8px;right:-8px;width:auto;padding:0;margin:0;overflow:visible;border:0}}.duet-date-dialog-mobile-header label{display:inline-block;max-width:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 36em){.duet-date-dialog-mobile-header label{display:none}}.duet-date-picker-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px !important;padding:0 !important;color:rgb(8, 42, 77) !important;-webkit-appearance:none;appearance:none;cursor:pointer;background:rgb(245, 248, 250) !important;border-radius:50%}@media (min-width: 36em){.duet-date-picker-close{opacity:0}}.duet-date-picker-close:hover{background:rgb(245, 248, 250) !important}.duet-date-picker-close:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-date-picker-close:focus,.duet-date-picker-close:focus.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}@media (min-width: 36em){.duet-date-picker-close:focus{opacity:1}}.duet-theme-turva .duet-date-button{color:rgb(23, 42, 59);border-color:rgb(120, 145, 164);border-left-color:rgb(178, 194, 205)}.duet-theme-turva:disabled{background:rgb(245, 246, 247) !important}.duet-theme-turva.duet-date-input-has-focus .duet-theme-turva,.duet-theme-turva:focus{color:rgb(23, 42, 59)}.duet-theme-turva .duet-date-dialog-wrapper{border-color:rgb(212, 221, 226)}.duet-theme-turva .duet-date-table-button{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;color:rgb(23, 42, 59) !important}.duet-theme-turva .duet-date-table-button:hover:not(.disabled){background:rgb(251, 225, 209) !important}.duet-theme-turva .duet-date-table-button.today{color:rgb(140, 0, 30) !important;background:rgb(253, 247, 242) !important;box-shadow:0 0 0 1px #171c3a !important}.duet-theme-turva .duet-date-table-button:active{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64) !important}.duet-theme-turva .duet-date-table-button.outside{color:rgb(120, 145, 164) !important;outline:none;background:rgb(245, 246, 247) !important}.duet-theme-turva .duet-date-table-button.disabled{color:rgb(178, 194, 205) !important;outline:none !important;background:transparent !important}.duet-theme-turva .selected .duet-date-table-button,.duet-theme-turva :focus .duet-date-table-button{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64) !important}.duet-theme-turva :active.duet-date-table-button{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64) !important}.duet-theme-turva .duet-date-dialog-select .duet-date-dialog-select-label{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-theme-turva .duet-date-dialog-mobile-header{border-color:rgb(178, 194, 205)}.duet-theme-turva .duet-date-picker-close{background:rgb(245, 246, 247) !important}.duet-theme-turva .duet-date-picker-close:hover{background:rgb(245, 246, 247) !important}.duet-theme-turva [aria-pressed=true] .duet-date-table-button,.duet-theme-turva :focus .duet-date-table-button{color:rgb(255, 255, 255) !important;background:rgb(230, 23, 64) !important}.duet-theme-turva.duet-date-table{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)}';export{K as duet_date_picker}
@@ -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 i,g as a}from"./p-DrqQiRTn.js";import{i as o}from"./p-CLZq8YfV.js";import{e as s,d as l}from"./p-C6CAT054.js";import{F as n}from"./p-B6Z_1gqI.js";import{a as d,c as r,d as c,g as u}from"./p-DFAnksuG.js";import{h as p}from"./p-BQVGvl4H.js";import{g as h}from"./p-D2ly4TZR.js";import"./p-C6E9F6QT.js";import"./p-DEzE2U5T.js";const b=class{constructor(t){e(this,t),this.exitLangObject={en:"Exit the menu",fi:"Poistu valikosta",sv:"Avsluta menyn"},this.backLangObject={en:"Back to main menu",fi:"Takaisin päävalikkoon",sv:"Tillbaka till huvudmenyn"},this.hasStickyHeaderSlot=!1,this.language=d(),this.bodyScrollLocked=!1,this.theme="",this.active=!1,this.open=!1,this.icon=void 0,this.labelSize="medium",this.backgroundColor="gray-lightest",this.badge=!1,this.updateLabel=()=>{const e=this.element.querySelector("[slot='label']");this.label=e},this.toggleMenu=()=>{this.open=!this.open},this.onClick=()=>{this.toggleMenu()},this.onCloseClick=e=>{if(e.stopPropagation(),"DUET-SLIDEOUT"===this.element.parentElement.tagName){const e=this.element.parentElement;s(this.dialog),this.bodyScrollLocked=!1,e.toggle()}}}componentWillLoad(){o(this),this.updateLabel(),this.hasStickyHeaderSlot=p(this.element,"sticky-header")}connectedCallback(){r(this),this.mutationObserver=new MutationObserver((()=>{if("DUET-SLIDEOUT"===this.element.parentElement.tagName){const e=this.element.parentElement;e.open&&this.open&&!this.bodyScrollLocked?(this.bodyScrollLocked=!0,l(this.dialog,{reserveScrollBarGap:!0})):!e.open&&this.bodyScrollLocked&&(this.bodyScrollLocked=!1,s(this.dialog))}})),this.mutationObserver.observe(this.element.parentElement,{childList:!1,attributeFilter:["open"],subtree:!1})}disconnectedCallback(){c(this),this.dialog&&(s(this.dialog),this.bodyScrollLocked=!1),this.mutationObserver&&this.mutationObserver.disconnect()}handleOpenChange(e,t){!!e!=!!t&&(this.open&&!t?setTimeout((()=>{Array.from(this.element.parentElement.children).forEach((e=>{e!==this.element&&(e.inert=!0)})),this.bodyScrollLocked||(l(this.dialog,{reserveScrollBarGap:!0}),this.bodyScrollLocked=!0),this.closeButton.focus()}),200):!this.open&&t&&setTimeout((()=>{Array.from(this.element.parentElement.children).forEach((e=>{e.inert=!1})),this.openButton.focus(),s(this.dialog),this.bodyScrollLocked=!1}),200))}async setFocus(e){this.open?setTimeout((()=>{this.closeButton.focus(e)}),200):setTimeout((()=>{this.openButton.focus(e)}),200)}render(){const e={background:h(this.backgroundColor,this.theme)},a=u(this.exitLangObject),o=u(this.backLangObject);return t(i,{key:"b7ca9da2d68d44f8c144355d8b42e9b822129768"},t("div",{key:"1cd22b150660a032f6307460a5394f9bdd2f8356",class:{"duet-slideout-panel":!0,"duet-theme-turva":"turva"===this.theme,active:this.open}},this.badge&&t("duet-indicator",{key:"6343757ff3eee8a8c6965b4709958f65b784876c",variation:"change"}),t("button",{key:"9c9deae0fcf64337dcf2a5ffc10b90cd1805f726",ref:e=>this.openButton=e,"aria-haspopup":"menu","aria-controls":"menu","aria-expanded":this.open?"true":"false","aria-current":this.active?"true":"false",id:"button",type:"button",class:{link:!0,active:this.active,"duet-theme-turva":"turva"===this.theme},onClick:this.onClick,inert:this.open},this.icon&&t("div",{key:"e713cc239aaee89e8e57d2d0fbd5f5c03f75a932",class:"duet-slideout-icon"},t("duet-icon",{key:"647a923e7b9a57135779172c56a9ce3f4784eca5",name:this.icon,size:"small",margin:"none",color:"secondary"})),t("span",{key:"0efd846db68b6ddec41deb3b98e95b578f600c9b",class:"label"},t("span",{key:"35be3389257b208d50bfc51d9aed16149d01a927",class:{"label-text":!0,[this.labelSize]:!0}},t("slot",{key:"cc261654761ea7dce912746e520042d05c534fc8",name:"label"})),t("duet-icon",{key:"634184d119a894c2eda07e6c474d058e125f6257",class:"caret",name:"action-arrow-right",margin:"none",size:"x-small",color:"secondary"}))),t("div",{key:"adc63cfa083c247dfb0053c0628a34036bb1c6cc",ref:e=>this.dialog=e,class:{dialog:!0,hidden:!this.open},style:e},t(n,{key:"c2f8a9ba339619c3c0f17e925e43ac421da03fde",moveFocusTo:this.closeButton}),t("div",{key:"ea23a8d999173132d21ef23e83835c89b892ec9e",class:{"top-container":!0,"has-sticky-header-slot":this.hasStickyHeaderSlot}},t("div",{key:"883f2a295c1e8450973a2c69f533fba8352c6b5b",class:"top"},t("button",{key:"5d51c88ad14f8e0cd711e653378ac9901ad9334b",ref:e=>this.closeButton=e,"aria-haspopup":"menu","aria-controls":"menu","aria-expanded":this.open?"true":"false","aria-label":`${o}`,type:"button",class:{back:!0,"duet-theme-turva":"turva"===this.theme},onClick:this.onClick},t("duet-icon",{key:"da662ca8ebf14ed3a2d4157ff900884a111fa52a",class:"caret",name:"action-arrow-left",margin:"none",size:"small",color:"secondary"})),t("span",{key:"d3faed89bc59ca1c0ba2623e7a8e162bdaa4e326"},this.label.innerHTML),t("button",{key:"b90b5a03a91f92b65f1b06f9fea40fcbfff799b5",class:{close:!0,"duet-theme-turva":"turva"===this.theme},type:"button",onClick:this.onCloseClick,"aria-label":`${a}`},t("duet-icon",{key:"fe6676540e447c796bb2b38cc704a5a753a48e0b",name:"navigation-close",size:"small",margin:"none",color:"secondary"}))),t("div",{key:"8b1965807e40adc74947c170d8ad50172829f4da",class:"sticky-header"},t("slot",{key:"a51428e89962c2e10cf96ab92f462df6c20b05f2",name:"sticky-header"}))),t("div",{key:"4e4f74bac3d36949a9fd193ee9989c2ba757468b",tabindex:"-1",role:"menu",id:"menu","aria-labelledby":"button",class:{items:!0}},t("slot",{key:"dab429efe653f73142b8cd615311c5a8953c6343"})),t(n,{key:"70c7027c0f655e46753addde7928facb096b0481",moveFocusTo:this.closeButton}))))}get element(){return a(this)}static get watchers(){return{open:["handleOpenChange"]}}};b.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%}:host slot:not([name=label])::slotted(*){position:relative;top:0.5rem;opacity:0;transition:top 0.3s ease-in, opacity 0.3s ease-in}:host([open]) slot:not([name=label])::slotted(*){top:0;opacity:1}.duet-slideout-panel{position:relative;height:100%}.duet-slideout-panel .link{position:relative;display:flex;gap:16px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 0;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:1.5rem;font-weight:800;line-height:1.25;color:rgb(8, 42, 77);text-align:left;text-decoration:none;cursor:pointer}.duet-slideout-panel .link:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-slideout-panel .link:focus,.duet-slideout-panel .link:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-slideout-panel .link .duet-slideout-icon{position:relative;display:inline-flex;font-size:0;line-height:normal;vertical-align:baseline}@media (min-width: 62em){.duet-slideout-panel .link .duet-slideout-icon{margin-right:8px}}.duet-slideout-panel .link .label{display:flex;gap:0.5rem;align-items:center;justify-content:space-between;width:100%}.duet-slideout-panel .link .label-text.small{font-size:1rem;font-weight:600}.duet-slideout-panel .link .label-text.medium{font-size:1rem;font-weight:600}.duet-slideout-panel .link .label-text.large{font-size:1.25rem;font-weight:800}.duet-slideout-panel .link.active .label-text{position:relative}.duet-slideout-panel .link.active .label-text.small::after{height:1px;transform:translateY(1px)}.duet-slideout-panel .link.active .label-text::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:2px;content:"";background:rgb(0, 119, 179);transform:translateY(2px)}.duet-slideout-panel .dialog{position:fixed;top:0;right:0;z-index:600;visibility:visible;width:min(450px, 100%);height:100%;overflow-y:auto}.duet-slideout-panel .dialog.hidden{visibility:hidden}.duet-slideout-panel .dialog.hidden .top .back,.duet-slideout-panel .dialog.hidden .top span{opacity:0}.duet-slideout-panel .top-container.has-sticky-header-slot{position:sticky;top:0;z-index:200}.duet-slideout-panel .top-container.has-sticky-header-slot .top{background:rgb(240, 247, 250)}.duet-slideout-panel .top-container.has-sticky-header-slot .sticky-header{display:block;padding:0 16px}.duet-slideout-panel .top{display:flex;align-items:center;justify-content:space-between;padding:4px}.duet-slideout-panel .top .back{opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .top .back:focus,.duet-slideout-panel .top .close:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-slideout-panel .top .back:focus,.duet-slideout-panel .top .back:focus.duet-theme-turva,.duet-theme-turva .duet-slideout-panel .top .close:focus,.duet-slideout-panel .top .close:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-slideout-panel .top duet-icon{padding:16px}.duet-slideout-panel .top span{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:1.1rem;font-weight:700;line-height:1.5;color:rgb(8, 42, 77);opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .sticky-header{display:none;width:100%;padding:0 1.5rem;margin-bottom:20px;background:rgb(240, 247, 250);border-bottom:1px solid rgb(212, 223, 229)}.duet-slideout-panel .items{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:12px 20px;overflow-y:auto;color:rgb(8, 42, 77)}@media (min-width: 36em){.duet-slideout-panel .items{padding:16px 28px}}.duet-slideout-panel duet-indicator{top:4px}slot:not([name=label]){--active-height:1px;--active-translate-y:translateY(1px);font-size:1rem;font-weight:600;color:rgb(8, 42, 77)}.duet-slideout-panel.duet-theme-turva .link{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-panel.duet-theme-turva .link.active .label-text::after{background:rgb(230, 23, 64)}.duet-slideout-panel.duet-theme-turva .has-sticky-header-slot .top{background:rgb(253, 247, 242)}.duet-slideout-panel.duet-theme-turva .has-sticky-header-slot .sticky-header{background:rgb(253, 247, 242);border-bottom-color:rgb(251, 225, 209)}.duet-slideout-panel.duet-theme-turva .top span{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-theme-turva slot:not([name=label]){color:rgb(23, 42, 59)}';export{b as duet_slideout_panel}
4
+ import{r as e,h as t,H as i,g as a}from"./p-Cwhi6_oZ.js";import{i as o}from"./p-D2EBd3cT.js";import{e as s,d as l}from"./p-C6CAT054.js";import{F as n}from"./p-BW3SZS4F.js";import{a as d,c as r,d as c,g as u}from"./p-DWIjWGAD.js";import{h as p}from"./p--fmK3qPb.js";import{g as h}from"./p-D2ly4TZR.js";import"./p-C6E9F6QT.js";import"./p-DEzE2U5T.js";const b=class{constructor(t){e(this,t),this.exitLangObject={en:"Exit the menu",fi:"Poistu valikosta",sv:"Avsluta menyn"},this.backLangObject={en:"Back to main menu",fi:"Takaisin päävalikkoon",sv:"Tillbaka till huvudmenyn"},this.hasStickyHeaderSlot=!1,this.language=d(),this.bodyScrollLocked=!1,this.theme="",this.active=!1,this.open=!1,this.icon=void 0,this.labelSize="medium",this.backgroundColor="gray-lightest",this.badge=!1,this.updateLabel=()=>{const e=this.element.querySelector("[slot='label']");this.label=e},this.toggleMenu=()=>{this.open=!this.open},this.onClick=()=>{this.toggleMenu()},this.onCloseClick=e=>{if(e.stopPropagation(),"DUET-SLIDEOUT"===this.element.parentElement.tagName){const e=this.element.parentElement;s(this.dialog),this.bodyScrollLocked=!1,e.toggle()}}}componentWillLoad(){o(this),this.updateLabel(),this.hasStickyHeaderSlot=p(this.element,"sticky-header")}connectedCallback(){r(this),this.mutationObserver=new MutationObserver((()=>{if("DUET-SLIDEOUT"===this.element.parentElement.tagName){const e=this.element.parentElement;e.open&&this.open&&!this.bodyScrollLocked?(this.bodyScrollLocked=!0,l(this.dialog,{reserveScrollBarGap:!0})):!e.open&&this.bodyScrollLocked&&(this.bodyScrollLocked=!1,s(this.dialog))}})),this.mutationObserver.observe(this.element.parentElement,{childList:!1,attributeFilter:["open"],subtree:!1})}disconnectedCallback(){c(this),this.dialog&&(s(this.dialog),this.bodyScrollLocked=!1),this.mutationObserver&&this.mutationObserver.disconnect()}handleOpenChange(e,t){!!e!=!!t&&(this.open&&!t?setTimeout((()=>{Array.from(this.element.parentElement.children).forEach((e=>{e!==this.element&&(e.inert=!0)})),this.bodyScrollLocked||(l(this.dialog,{reserveScrollBarGap:!0}),this.bodyScrollLocked=!0),this.closeButton.focus()}),200):!this.open&&t&&setTimeout((()=>{Array.from(this.element.parentElement.children).forEach((e=>{e.inert=!1})),this.openButton.focus(),s(this.dialog),this.bodyScrollLocked=!1}),200))}async setFocus(e){this.open?setTimeout((()=>{this.closeButton.focus(e)}),200):setTimeout((()=>{this.openButton.focus(e)}),200)}render(){const e={background:h(this.backgroundColor,this.theme)},a=u(this.exitLangObject),o=u(this.backLangObject);return t(i,{key:"91e1bfb50346e6f0b7d7b93f6d9cb16e84df9297"},t("div",{key:"80891454e08a69f87d42ca5879c85a7e1eab6d5c",class:{"duet-slideout-panel":!0,"duet-theme-turva":"turva"===this.theme,active:this.open}},this.badge&&t("duet-indicator",{key:"2dc9f2f3b5eebbc44158f9c7795ee2e9dadbfeef",variation:"change"}),t("button",{key:"86db5918e585201320c57a8770ab850356bda06b",ref:e=>this.openButton=e,"aria-haspopup":"menu","aria-controls":"menu","aria-expanded":this.open?"true":"false","aria-current":this.active?"true":"false",id:"button",type:"button",class:{link:!0,active:this.active,"duet-theme-turva":"turva"===this.theme},onClick:this.onClick,inert:this.open},this.icon&&t("div",{key:"635addd38144863b546edd4d8792a26d4e8dd3c4",class:"duet-slideout-icon"},t("duet-icon",{key:"3610a7e6ebcdf22fe198e4428538d559599c79c0",name:this.icon,size:"small",margin:"none",color:"secondary"})),t("span",{key:"9b4d70cc570113c1e667ced944bccae1e4613398",class:"label"},t("span",{key:"6f16630f451ef9ebd920462cd81df2cf92ab5312",class:{"label-text":!0,[this.labelSize]:!0}},t("slot",{key:"80688a824da754215dcbfcd668ff8144880147d1",name:"label"})),t("duet-icon",{key:"205d74fef784d3db602fcccf61ba49dfb5995317",class:"caret",name:"action-arrow-right",margin:"none",size:"x-small",color:"secondary"}))),t("div",{key:"5be9dab7afdb48916100c5bfb8242eb061ba6c96",ref:e=>this.dialog=e,class:{dialog:!0,hidden:!this.open},style:e},t(n,{key:"ad7c4a34db3120b40ed51061125f05d69017b342",moveFocusTo:this.closeButton}),t("div",{key:"af56281cf6a0a4c7355f48d17b66c5495e7982f9",class:{"top-container":!0,"has-sticky-header-slot":this.hasStickyHeaderSlot}},t("div",{key:"676eca91428ce8439e68da74b59a0bc8d393f5a5",class:"top"},t("button",{key:"2d8f3d984de8ca1efccc191115b7657a455c5ef9",ref:e=>this.closeButton=e,"aria-haspopup":"menu","aria-controls":"menu","aria-expanded":this.open?"true":"false","aria-label":`${o}`,type:"button",class:{back:!0,"duet-theme-turva":"turva"===this.theme},onClick:this.onClick},t("duet-icon",{key:"f4d1be2b1157d12fff10e9f84eb7905d93091e79",class:"caret",name:"action-arrow-left",margin:"none",size:"small",color:"secondary"})),t("span",{key:"2e0426bee359ed9f3ccf9f044e9c751924003a5c"},this.label.innerHTML),t("button",{key:"f4edf9a9df667475a3c00b214e134bce7d9d7ae9",class:{close:!0,"duet-theme-turva":"turva"===this.theme},type:"button",onClick:this.onCloseClick,"aria-label":`${a}`},t("duet-icon",{key:"548ed5fadb9216137fcdc0762b35454ceb21c8d4",name:"navigation-close",size:"small",margin:"none",color:"secondary"}))),t("div",{key:"923603a20dbab28d51a376a9c252c35e33803880",class:"sticky-header"},t("slot",{key:"07e15709effbee9950d36f03dd91e73b7e9ab336",name:"sticky-header"}))),t("div",{key:"7e63e1cd014106736bb712c20023f62245e43486",tabindex:"-1",role:"menu",id:"menu","aria-labelledby":"button",class:{items:!0}},t("slot",{key:"fa18b91a1114433c57ecd566934f505e9fc62cf5"})),t(n,{key:"7251452b17bbdfd8978f302bfde0e33991b39465",moveFocusTo:this.closeButton}))))}get element(){return a(this)}static get watchers(){return{open:["handleOpenChange"]}}};b.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%}:host slot:not([name=label])::slotted(*){position:relative;top:0.5rem;opacity:0;transition:top 0.3s ease-in, opacity 0.3s ease-in}:host([open]) slot:not([name=label])::slotted(*){top:0;opacity:1}.duet-slideout-panel{position:relative;height:100%}.duet-slideout-panel .link{position:relative;display:flex;gap:16px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 0;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:1.5rem;font-weight:800;line-height:1.25;color:rgb(8, 42, 77);text-align:left;text-decoration:none;cursor:pointer}.duet-slideout-panel .link:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-slideout-panel .link:focus,.duet-slideout-panel .link:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-slideout-panel .link .duet-slideout-icon{position:relative;display:inline-flex;font-size:0;line-height:normal;vertical-align:baseline}@media (min-width: 62em){.duet-slideout-panel .link .duet-slideout-icon{margin-right:8px}}.duet-slideout-panel .link .label{display:flex;gap:0.5rem;align-items:center;justify-content:space-between;width:100%}.duet-slideout-panel .link .label-text.small{font-size:1rem;font-weight:600}.duet-slideout-panel .link .label-text.medium{font-size:1rem;font-weight:600}.duet-slideout-panel .link .label-text.large{font-size:1.25rem;font-weight:800}.duet-slideout-panel .link.active .label-text{position:relative}.duet-slideout-panel .link.active .label-text.small::after{height:1px;transform:translateY(1px)}.duet-slideout-panel .link.active .label-text::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:2px;content:"";background:rgb(0, 119, 179);transform:translateY(2px)}.duet-slideout-panel .dialog{position:fixed;top:0;right:0;z-index:600;visibility:visible;width:min(450px, 100%);height:100%;overflow-y:auto}.duet-slideout-panel .dialog.hidden{visibility:hidden}.duet-slideout-panel .dialog.hidden .top .back,.duet-slideout-panel .dialog.hidden .top span{opacity:0}.duet-slideout-panel .top-container.has-sticky-header-slot{position:sticky;top:0;z-index:200}.duet-slideout-panel .top-container.has-sticky-header-slot .top{background:rgb(240, 247, 250)}.duet-slideout-panel .top-container.has-sticky-header-slot .sticky-header{display:block;padding:0 16px}.duet-slideout-panel .top{display:flex;align-items:center;justify-content:space-between;padding:4px}.duet-slideout-panel .top .back{opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .top .back:focus,.duet-slideout-panel .top .close:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-slideout-panel .top .back:focus,.duet-slideout-panel .top .back:focus.duet-theme-turva,.duet-theme-turva .duet-slideout-panel .top .close:focus,.duet-slideout-panel .top .close:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-slideout-panel .top duet-icon{padding:16px}.duet-slideout-panel .top span{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:1.1rem;font-weight:700;line-height:1.5;color:rgb(8, 42, 77);opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .sticky-header{display:none;width:100%;padding:0 1.5rem;margin-bottom:20px;background:rgb(240, 247, 250);border-bottom:1px solid rgb(212, 223, 229)}.duet-slideout-panel .items{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:12px 20px;overflow-y:auto;color:rgb(8, 42, 77)}@media (min-width: 36em){.duet-slideout-panel .items{padding:16px 28px}}.duet-slideout-panel duet-indicator{top:4px}slot:not([name=label]){--active-height:1px;--active-translate-y:translateY(1px);font-size:1rem;font-weight:600;color:rgb(8, 42, 77)}.duet-slideout-panel.duet-theme-turva .link{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-panel.duet-theme-turva .link.active .label-text::after{background:rgb(230, 23, 64)}.duet-slideout-panel.duet-theme-turva .has-sticky-header-slot .top{background:rgb(253, 247, 242)}.duet-slideout-panel.duet-theme-turva .has-sticky-header-slot .sticky-header{background:rgb(253, 247, 242);border-bottom-color:rgb(251, 225, 209)}.duet-slideout-panel.duet-theme-turva .top span{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-theme-turva slot:not([name=label]){color:rgb(23, 42, 59)}';export{b as duet_slideout_panel}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{r as t,h as s,H as i,g as r}from"./p-DrqQiRTn.js";const h=class{constructor(s){t(this,s),this.statusMessage=null,this.statusMessageLabel=null,this.accessibleAriaLive="polite",this.valid=void 0,this.total=void 0,this.invalid=void 0,this.inprogress=void 0,this.replacePlaceHolders=t=>{const s=t=>t>1?`${t} ${this.statusMessageLabel.files}`:`${t} ${this.statusMessageLabel.file}`;return t.replace("{filesUploaded}",s(this.valid)).replace("{filesInProgress}",s(this.inprogress)).replace("{filesTotal}",s(this.total)).replace("{filesWithErrors}",s(this.invalid))},this.getStatusMessage=()=>{const{done:t,inProgress:s,doneWithErrors:i,inProgressWithErrors:r}=this.statusMessageLabel,h=this.invalid>0,e=this.inprogress>0,a=this.valid+this.invalid===this.total&&!e;this.valid!==this.total||e||h?this.inprogress>0&&h?this.statusMessage=this.replacePlaceHolders(r):e?this.statusMessage=this.replacePlaceHolders(s):a&&(this.statusMessage=this.replacePlaceHolders(i)):this.statusMessage=this.replacePlaceHolders(t)}}watchHandler(t,s){t!==s&&this.getStatusMessage()}render(){return s(i,{key:"2084d67e27f201170cb0915e97235481a8f42ff6",role:"status","aria-live":"assertive","aria-atomic":"true","aria-relevant":"all"},s("duet-visually-hidden",{key:"f774f8926c1f2500866e4b50781cf83a1263b0c2"},this.statusMessage))}get element(){return r(this)}static get watchers(){return{valid:["watchHandler"],invalid:["watchHandler"],inprogress:["watchHandler"],total:["watchHandler"]}}};export{h as duet_upload_aria_status}
4
+ import{r as t,h as s,H as i,g as h}from"./p-Cwhi6_oZ.js";const r=class{constructor(s){t(this,s),this.statusMessage=null,this.statusMessageLabel=null,this.accessibleAriaLive="polite",this.valid=void 0,this.total=void 0,this.invalid=void 0,this.inprogress=void 0,this.replacePlaceHolders=t=>{const s=t=>t>1?`${t} ${this.statusMessageLabel.files}`:`${t} ${this.statusMessageLabel.file}`;return t.replace("{filesUploaded}",s(this.valid)).replace("{filesInProgress}",s(this.inprogress)).replace("{filesTotal}",s(this.total)).replace("{filesWithErrors}",s(this.invalid))},this.getStatusMessage=()=>{const{done:t,inProgress:s,doneWithErrors:i,inProgressWithErrors:h}=this.statusMessageLabel,r=this.invalid>0,e=this.inprogress>0,a=this.valid+this.invalid===this.total&&!e;this.valid!==this.total||e||r?this.inprogress>0&&r?this.statusMessage=this.replacePlaceHolders(h):e?this.statusMessage=this.replacePlaceHolders(s):a&&(this.statusMessage=this.replacePlaceHolders(i)):this.statusMessage=this.replacePlaceHolders(t)}}watchHandler(t,s){t!==s&&this.getStatusMessage()}render(){return s(i,{key:"dfba0ccef69bd34b3c4f8980caa95375ed480f83",role:"status","aria-live":"assertive","aria-atomic":"true","aria-relevant":"all"},s("duet-visually-hidden",{key:"20bd47d50fbc2097aae0656ffb367299284ff441"},this.statusMessage))}get element(){return h(this)}static get watchers(){return{valid:["watchHandler"],invalid:["watchHandler"],inprogress:["watchHandler"],total:["watchHandler"]}}};export{r as duet_upload_aria_status}
@@ -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 i,g as o}from"./p-DrqQiRTn.js";import{i as a}from"./p-CLZq8YfV.js";const n=class{constructor(t){e(this,t),this.accessiblePopup="false",this.accessibleDetails=void 0,this.accessibleLabelledBy=void 0,this.accessibleDescription=void 0,this.theme="",this.icon=void 0}componentWillLoad(){a(this)}async setFocus(e){this.nativeButton&&this.nativeButton.focus(e)}render(){return t(i,{key:"5e64c2ede59d8e16972663cace2e98dffca3a060",role:"listitem",onfocus:()=>this.setFocus()},t("button",{key:"362525c4f563bd1a5ffad7b8fee029d904fb72c8",ref:e=>this.nativeButton=e,class:{"duet-menu-bar-button":!0,"duet-theme-turva":"turva"===this.theme},"aria-controls":this.accessibleControls,"aria-label":this.accessibleLabel,"aria-expanded":null!=this.accessibleExpanded?this.accessibleExpanded.toString():void 0,"aria-activedescendant":this.accessibleActiveDescendant,"aria-owns":this.accessibleOwns,"aria-describedby":this.accessibleDescribedBy,"aria-labelledby":this.accessibleLabelledBy,"aria-details":this.accessibleDetails,"aria-description":this.accessibleDescription,"aria-pressed":null!=this.accessiblePressed?this.accessiblePressed.toString():void 0,"aria-haspopup":null!=this.accessiblePopup?this.accessiblePopup.toString():void 0},this.icon&&t("duet-icon",{key:"439d74e7bdfb1396a7c1e2940c3bcf142c3150b6",class:"menu-bar-button-icon",theme:this.theme,size:"auto",name:this.icon,margin:"none",color:"currentColor"}),t("slot",{key:"61a36d95ee1b2962b3f966dc99678c7e00c00692"})))}get element(){return o(this)}};n.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-button{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";font-size:inherit;color:inherit;text-align:center;text-decoration:none;cursor:pointer}.duet-menu-bar-button:focus{outline:2px solid;outline-offset:-4px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-menu-bar-button:focus,.duet-menu-bar-button:focus.duet-theme-turva{outline:2px solid;outline-offset:-4px;outline-color:rgba(53, 79, 101, 0.8)}.duet-menu-bar-button .menu-bar-button-icon{width:20px;height:20px}@media (min-width: 62em){.duet-menu-bar-button .menu-bar-button-icon{width:16px;height:16px}}@media (min-width: 62em){.duet-menu-bar-button{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-button{padding:0 28px}}@media (min-width: 62em){.duet-menu-bar-button:hover{color:rgb(0, 119, 179)}}.duet-theme-turva.duet-menu-bar-button{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}@media (min-width: 62em){.duet-theme-turva.duet-menu-bar-button:hover{color:rgb(230, 23, 64)}}';export{n as duet_menu_bar_button}
4
+ import{r as e,h as t,H as a,g as i}from"./p-Cwhi6_oZ.js";import{i as o}from"./p-D2EBd3cT.js";const n=class{constructor(t){e(this,t),this.accessiblePopup="false",this.accessibleDetails=void 0,this.accessibleLabelledBy=void 0,this.accessibleDescription=void 0,this.theme="",this.icon=void 0}componentWillLoad(){o(this)}async setFocus(e){this.nativeButton&&this.nativeButton.focus(e)}render(){return t(a,{key:"0e1e537a15d9a7b7d94a2ce24a71281b4757b1d5",role:"listitem",onfocus:()=>this.setFocus()},t("button",{key:"c7ab5d711a28d54af476fdf133e8f92bce25f020",ref:e=>this.nativeButton=e,class:{"duet-menu-bar-button":!0,"duet-theme-turva":"turva"===this.theme},"aria-controls":this.accessibleControls,"aria-label":this.accessibleLabel,"aria-expanded":null!=this.accessibleExpanded?this.accessibleExpanded.toString():void 0,"aria-activedescendant":this.accessibleActiveDescendant,"aria-owns":this.accessibleOwns,"aria-describedby":this.accessibleDescribedBy,"aria-labelledby":this.accessibleLabelledBy,"aria-details":this.accessibleDetails,"aria-description":this.accessibleDescription,"aria-pressed":null!=this.accessiblePressed?this.accessiblePressed.toString():void 0,"aria-haspopup":null!=this.accessiblePopup?this.accessiblePopup.toString():void 0},this.icon&&t("duet-icon",{key:"922a6e2fa015b52aac218ce9e803c75a57465310",class:"menu-bar-button-icon",theme:this.theme,size:"auto",name:this.icon,margin:"none",color:"currentColor"}),t("slot",{key:"d85350f1fb803be4e524803b0bea4acc62f569fb"})))}get element(){return i(this)}};n.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-button{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";font-size:inherit;color:inherit;text-align:center;text-decoration:none;cursor:pointer}.duet-menu-bar-button:focus{outline:2px solid;outline-offset:-4px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-menu-bar-button:focus,.duet-menu-bar-button:focus.duet-theme-turva{outline:2px solid;outline-offset:-4px;outline-color:rgba(53, 79, 101, 0.8)}.duet-menu-bar-button .menu-bar-button-icon{width:20px;height:20px}@media (min-width: 62em){.duet-menu-bar-button .menu-bar-button-icon{width:16px;height:16px}}@media (min-width: 62em){.duet-menu-bar-button{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-button{padding:0 28px}}@media (min-width: 62em){.duet-menu-bar-button:hover{color:rgb(0, 119, 179)}}.duet-theme-turva.duet-menu-bar-button{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}@media (min-width: 62em){.duet-theme-turva.duet-menu-bar-button:hover{color:rgb(230, 23, 64)}}';export{n as duet_menu_bar_button}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import{r as e,h as t,H as a,g as r}from"./p-DrqQiRTn.js";import{i as o}from"./p-CLZq8YfV.js";const n=class{constructor(t){e(this,t),this.theme="",this.variation="default"}componentWillLoad(){o(this)}render(){const e="primary"===this.variation||"negative"===this.variation||"turva"===this.theme&&"secondary"===this.variation?"primary":"secondary"===this.variation?"secondary":"default";return t(a,{key:"11cac89e811d6b909196be87f12ddf03fabc3880"},t("nav",{key:"811f12c8c160dc6ca955cee1c442289e5be2ca87",class:{"duet-toolbar":!0,"duet-theme-turva":"turva"===this.theme,[e]:!0},"aria-label":this.accessibleLabel},t("div",{key:"386f1bc773de6027405dd241f7bf55c247e253da",class:"container"},t("div",{key:"628fa593433c532ea8ba5e2ff728dfbbd03fa2c5",class:"list",role:"list"},t("slot",{key:"99a06c1b2878c7ebc0bf9dbca19922fc35c96999",name:"left"})),t("div",{key:"88cf5b6bf106290b9aee832917ffe0cba4de8a56",class:"list",role:"list"},t("slot",{key:"7cfe53a79d3f81b4a42c6661261698da60aa11df",name:"right"})))))}get element(){return r(this)}};n.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:relative;width:100%}.duet-toolbar{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;background:rgb(255, 255, 255)}.duet-toolbar .container{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1384px;height:36px;margin:0 28px;border-bottom:1px solid rgb(212, 223, 229)}.duet-toolbar .list{display:flex;align-items:center;justify-content:space-between;height:100%;list-style-type:none}.duet-toolbar ::slotted(*){display:flex;align-items:center;justify-content:center;height:100%}.duet-toolbar.primary{background:rgb(0, 119, 179)}.duet-toolbar.primary .container{border-bottom:0}.duet-toolbar.secondary{background:rgb(8, 42, 77)}.duet-toolbar.secondary .container{border-bottom:0}.duet-toolbar.duet-theme-turva{background:rgb(255, 255, 255)}.duet-toolbar.duet-theme-turva .container{border-bottom:1px solid rgb(251, 225, 209)}.duet-toolbar.duet-theme-turva.primary{background:rgb(230, 23, 64)}.duet-toolbar.duet-theme-turva.primary .container{border-bottom:0}";export{n as duet_toolbar}
4
+ import{r as e,h as t,H as a,g as r}from"./p-Cwhi6_oZ.js";import{i as o}from"./p-D2EBd3cT.js";const n=class{constructor(t){e(this,t),this.theme="",this.variation="default"}componentWillLoad(){o(this)}render(){const e="primary"===this.variation||"negative"===this.variation||"turva"===this.theme&&"secondary"===this.variation?"primary":"secondary"===this.variation?"secondary":"default";return t(a,{key:"2434866ef0b95d7b07a2248edc89a4f473d9ecc6"},t("nav",{key:"9938a3cd11e5230013027cb613c8aa81f95e5bf7",class:{"duet-toolbar":!0,"duet-theme-turva":"turva"===this.theme,[e]:!0},"aria-label":this.accessibleLabel},t("div",{key:"9c915e9ffe872ec9b253bf9c7b7ca58ac5c39bee",class:"container"},t("div",{key:"7a1ce3f543e9b908638de889a1b6b8270f73d830",class:"list",role:"list"},t("slot",{key:"396f255c2694dbff16ae2f2584be49e4f5d4fdf5",name:"left"})),t("div",{key:"975122519f64947d2fc01d8a5c9fa63c3052097a",class:"list",role:"list"},t("slot",{key:"8d070c2c7e5a168d7c426df35a4b742a95696383",name:"right"})))))}get element(){return r(this)}};n.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:relative;width:100%}.duet-toolbar{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;background:rgb(255, 255, 255)}.duet-toolbar .container{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1384px;height:36px;margin:0 28px;border-bottom:1px solid rgb(212, 223, 229)}.duet-toolbar .list{display:flex;align-items:center;justify-content:space-between;height:100%;list-style-type:none}.duet-toolbar ::slotted(*){display:flex;align-items:center;justify-content:center;height:100%}.duet-toolbar.primary{background:rgb(0, 119, 179)}.duet-toolbar.primary .container{border-bottom:0}.duet-toolbar.secondary{background:rgb(8, 42, 77)}.duet-toolbar.secondary .container{border-bottom:0}.duet-toolbar.duet-theme-turva{background:rgb(255, 255, 255)}.duet-toolbar.duet-theme-turva .container{border-bottom:1px solid rgb(251, 225, 209)}.duet-toolbar.duet-theme-turva.primary{background:rgb(230, 23, 64)}.duet-toolbar.duet-theme-turva.primary .container{border-bottom:0}";export{n as duet_toolbar}