@duetds/components 5.1.9 → 5.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. package/hydrate/index.js +392 -125
  2. package/lib/cjs/{dom-66424ef2.js → dom-96576bce.js} +1 -1
  3. package/lib/cjs/duet-action-button.cjs.entry.js +16 -8
  4. package/lib/cjs/duet-alert.cjs.entry.js +2 -2
  5. package/lib/cjs/duet-badge.cjs.entry.js +2 -2
  6. package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -2
  7. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +2 -2
  8. package/lib/cjs/duet-button_2.cjs.entry.js +17 -2
  9. package/lib/cjs/duet-caption_4.cjs.entry.js +2 -2
  10. package/lib/cjs/duet-card.cjs.entry.js +2 -2
  11. package/lib/cjs/duet-checkbox.cjs.entry.js +15 -3
  12. package/lib/cjs/duet-choice_2.cjs.entry.js +16 -4
  13. package/lib/cjs/duet-collapsible.cjs.entry.js +2 -2
  14. package/lib/cjs/duet-combobox.cjs.entry.js +2 -2
  15. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  16. package/lib/cjs/duet-date-picker.cjs.entry.js +3 -4
  17. package/lib/cjs/duet-divider_2.cjs.entry.js +2 -2
  18. package/lib/cjs/duet-editable-table_3.cjs.entry.js +5 -4
  19. package/lib/cjs/duet-empty-state.cjs.entry.js +2 -2
  20. package/lib/cjs/duet-fieldset.cjs.entry.js +2 -2
  21. package/lib/cjs/duet-footer.cjs.entry.js +2 -2
  22. package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
  23. package/lib/cjs/duet-header_2.cjs.entry.js +3 -3
  24. package/lib/cjs/duet-hero.cjs.entry.js +2 -2
  25. package/lib/cjs/duet-icon.cjs.entry.js +2 -2
  26. package/lib/cjs/duet-input_2.cjs.entry.js +18 -4
  27. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-list_2.cjs.entry.js +2 -2
  29. package/lib/cjs/duet-modal.cjs.entry.js +12 -4
  30. package/lib/cjs/duet-notification_2.cjs.entry.js +2 -2
  31. package/lib/cjs/duet-number-input.cjs.entry.js +106 -49
  32. package/lib/cjs/duet-pagination_2.cjs.entry.js +50 -14
  33. package/lib/cjs/duet-progress.cjs.entry.js +15 -3
  34. package/lib/cjs/duet-radio_2.cjs.entry.js +15 -3
  35. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  36. package/lib/cjs/duet-scrollable_3.cjs.entry.js +2 -2
  37. package/lib/cjs/duet-select.cjs.entry.js +2 -2
  38. package/lib/cjs/duet-step_2.cjs.entry.js +2 -2
  39. package/lib/cjs/duet-textarea.cjs.entry.js +17 -3
  40. package/lib/cjs/duet-toggle.cjs.entry.js +15 -3
  41. package/lib/cjs/duet-tooltip.cjs.entry.js +2 -2
  42. package/lib/cjs/duet-tray.cjs.entry.js +2 -2
  43. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  45. package/lib/cjs/duet.cjs.js +4 -4
  46. package/lib/cjs/{focus-utils-3ef68d4c.js → focus-utils-4648b81b.js} +1 -1
  47. package/lib/cjs/{index-e1907091.js → index-d690ab34.js} +11 -9
  48. package/lib/cjs/loader.cjs.js +3 -3
  49. package/lib/cjs/{shadow-css-1ff2f74f.js → shadow-css-38b9e725.js} +2 -3
  50. package/lib/cjs/{themeable-component-940d3b50.js → themeable-component-fdeaef9f.js} +0 -0
  51. package/lib/collection/collection-manifest.json +1 -1
  52. package/lib/collection/{utils/form-components.js → common/a11y-component.js} +0 -0
  53. package/lib/collection/common/form-components.js +4 -0
  54. package/lib/collection/common/index.js +4 -0
  55. package/lib/collection/{utils → common}/themeable-component.js +0 -0
  56. package/lib/collection/components/duet-action-button/duet-action-button.js +57 -13
  57. package/lib/collection/components/duet-alert/duet-alert.js +1 -1
  58. package/lib/collection/components/duet-badge/duet-badge.js +1 -1
  59. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +1 -1
  60. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +1 -1
  61. package/lib/collection/components/duet-button/duet-button.js +70 -1
  62. package/lib/collection/components/duet-caption/duet-caption.js +1 -1
  63. package/lib/collection/components/duet-card/duet-card.js +1 -1
  64. package/lib/collection/components/duet-checkbox/duet-checkbox.js +68 -2
  65. package/lib/collection/components/duet-choice/duet-choice.js +68 -2
  66. package/lib/collection/components/duet-choice-group/duet-choice-group.js +1 -1
  67. package/lib/collection/components/duet-collapsible/duet-collapsible.js +1 -1
  68. package/lib/collection/components/duet-combobox/duet-combobox.js +1 -1
  69. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  70. package/lib/collection/components/duet-date-picker/duet-date-picker.js +1 -1
  71. package/lib/collection/components/duet-date-picker/utils.js +0 -1
  72. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  73. package/lib/collection/components/duet-editable-table/duet-editable-table.js +3 -2
  74. package/lib/collection/components/duet-empty-state/duet-empty-state.js +1 -1
  75. package/lib/collection/components/duet-fieldset/duet-fieldset.js +1 -1
  76. package/lib/collection/components/duet-footer/duet-footer.js +1 -1
  77. package/lib/collection/components/duet-grid-item/duet-grid-item.js +1 -1
  78. package/lib/collection/components/duet-header/duet-header.css +1 -1
  79. package/lib/collection/components/duet-header/duet-header.js +1 -1
  80. package/lib/collection/components/duet-heading/duet-heading.js +1 -1
  81. package/lib/collection/components/duet-hero/duet-hero.js +1 -1
  82. package/lib/collection/components/duet-icon/duet-icon.js +1 -1
  83. package/lib/collection/components/duet-input/duet-input.js +72 -4
  84. package/lib/collection/components/duet-label/duet-label.js +1 -1
  85. package/lib/collection/components/duet-link/duet-link.js +1 -1
  86. package/lib/collection/components/duet-list/duet-list.js +1 -1
  87. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  88. package/lib/collection/components/duet-modal/duet-modal.js +80 -2
  89. package/lib/collection/components/duet-notification/duet-notification.js +1 -1
  90. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +1 -1
  91. package/lib/collection/components/duet-number-input/duet-number-input.js +90 -29
  92. package/lib/collection/components/duet-pagination/duet-pagination.js +94 -3
  93. package/lib/collection/components/duet-paragraph/duet-paragraph.js +1 -1
  94. package/lib/collection/components/duet-progress/duet-progress.js +68 -2
  95. package/lib/collection/components/duet-radio/duet-radio.js +68 -2
  96. package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
  97. package/lib/collection/components/duet-range-slider/duet-range-slider.js +1 -1
  98. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +29 -12
  99. package/lib/collection/components/duet-scrollable/duet-scrollable.js +1 -1
  100. package/lib/collection/components/duet-select/duet-select.js +1 -1
  101. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  102. package/lib/collection/components/duet-step/duet-step.js +1 -1
  103. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  104. package/lib/collection/components/duet-tab-group/duet-tab-group.js +1 -1
  105. package/lib/collection/components/duet-table/duet-table.css +30 -18
  106. package/lib/collection/components/duet-table/duet-table.js +1 -1
  107. package/lib/collection/components/duet-textarea/duet-textarea.js +70 -2
  108. package/lib/collection/components/duet-toggle/duet-toggle.js +68 -2
  109. package/lib/collection/components/duet-tooltip/duet-tooltip.js +1 -1
  110. package/lib/collection/components/duet-tray/duet-tray.js +1 -1
  111. package/lib/collection/components/duet-upload/duet-upload.js +1 -1
  112. package/lib/collection/utils/math.utils.js +76 -0
  113. package/lib/custom-elements-bundle/index.js +323 -112
  114. package/lib/duet/duet.esm.js +1 -1
  115. package/lib/duet/duet.js +1 -1
  116. package/lib/duet/{p-d92b2eac.system.entry.js → p-057e3337.system.entry.js} +1 -1
  117. package/lib/duet/{p-7f705e70.entry.js → p-08829649.entry.js} +1 -1
  118. package/lib/duet/{p-cd158ec2.system.entry.js → p-0a62f171.system.entry.js} +1 -1
  119. package/lib/duet/{p-7772d2f3.system.entry.js → p-0da92109.system.entry.js} +1 -1
  120. package/lib/duet/p-10b144b0.system.entry.js +4 -0
  121. package/lib/duet/p-113531de.entry.js +4 -0
  122. package/lib/duet/{p-1c315e22.system.entry.js → p-1164c8a6.system.entry.js} +1 -1
  123. package/lib/duet/{p-6b87a943.system.entry.js → p-14a98f4b.system.entry.js} +1 -1
  124. package/lib/duet/{p-8c372ef6.system.entry.js → p-1527b7e3.system.entry.js} +2 -2
  125. package/lib/duet/{p-d2c9bb5f.system.entry.js → p-188d7eb5.system.entry.js} +1 -1
  126. package/lib/duet/{p-41ed75d0.system.entry.js → p-1c6a3c81.system.entry.js} +1 -1
  127. package/lib/duet/{p-ae5872e3.system.entry.js → p-1d6d8314.system.entry.js} +1 -1
  128. package/lib/duet/{p-b953aedb.system.entry.js → p-1fdc5601.system.entry.js} +1 -1
  129. package/lib/duet/p-2135afa1.system.entry.js +4 -0
  130. package/lib/duet/p-216d4da8.entry.js +4 -0
  131. package/lib/duet/{p-1d87a095.system.js → p-2260d4d2.system.js} +1 -1
  132. package/lib/duet/{p-fbc61588.system.entry.js → p-24201d53.system.entry.js} +1 -1
  133. package/lib/duet/{p-b67edf51.system.entry.js → p-31f7ef10.system.entry.js} +1 -1
  134. package/lib/duet/p-336ddadc.js +4 -0
  135. package/lib/duet/{p-6b03322b.system.js → p-33b3aba4.system.js} +0 -0
  136. package/lib/duet/p-355f9884.entry.js +4 -0
  137. package/lib/duet/{p-851b469e.system.entry.js → p-35611d73.system.entry.js} +2 -2
  138. package/lib/duet/{p-b5ef3764.entry.js → p-3735b874.entry.js} +1 -1
  139. package/lib/duet/p-38c52a73.entry.js +4 -0
  140. package/lib/duet/{p-3ed22b96.system.entry.js → p-3a529853.system.entry.js} +1 -1
  141. package/lib/duet/{p-fa59ebf4.js → p-3b31184e.js} +0 -0
  142. package/lib/duet/{p-2d244cbb.system.entry.js → p-3b871ee9.system.entry.js} +1 -1
  143. package/lib/duet/{p-d7e383e1.system.entry.js → p-3c0d7470.system.entry.js} +2 -2
  144. package/lib/duet/p-3cf51bd3.entry.js +4 -0
  145. package/lib/duet/p-3dadaaf9.entry.js +4 -0
  146. package/lib/duet/p-3e510a51.entry.js +4 -0
  147. package/lib/duet/{p-fcf30d60.system.entry.js → p-43c0c459.system.entry.js} +1 -1
  148. package/lib/duet/p-479657e4.entry.js +4 -0
  149. package/lib/duet/p-4804b9d8.system.entry.js +4 -0
  150. package/lib/duet/{p-d50a26ce.system.entry.js → p-4a000e12.system.entry.js} +2 -2
  151. package/lib/duet/p-4be66230.js +5 -0
  152. package/lib/duet/{p-abf8eaf7.js → p-4ebf1618.js} +0 -0
  153. package/lib/duet/{p-43a54146.system.entry.js → p-54eadbb6.system.entry.js} +1 -1
  154. package/lib/duet/{p-b32178af.entry.js → p-55fbbafb.entry.js} +1 -1
  155. package/lib/duet/{p-0a8cb1f2.system.entry.js → p-56a92e4b.system.entry.js} +1 -1
  156. package/lib/duet/{p-eda1280f.entry.js → p-57934454.entry.js} +1 -1
  157. package/lib/duet/{p-6fd465b3.entry.js → p-5a4a83ce.entry.js} +1 -1
  158. package/lib/duet/{p-2e68b854.system.entry.js → p-5aec2bd7.system.entry.js} +1 -1
  159. package/lib/duet/p-5da3ec79.entry.js +4 -0
  160. package/lib/duet/{p-5b0f15e4.entry.js → p-6009349f.entry.js} +1 -1
  161. package/lib/duet/{p-f4b909bd.system.entry.js → p-636c9c24.system.entry.js} +1 -1
  162. package/lib/duet/{p-ca10ad5f.system.entry.js → p-65b4903d.system.entry.js} +1 -1
  163. package/lib/duet/{p-5d2204fc.entry.js → p-6ecb8b94.entry.js} +1 -1
  164. package/lib/duet/{p-906e53f9.entry.js → p-7bad44b0.entry.js} +1 -1
  165. package/lib/duet/{p-0da0c06d.system.entry.js → p-7ccefcc3.system.entry.js} +2 -2
  166. package/lib/duet/p-7e3eec66.system.entry.js +4 -0
  167. package/lib/duet/{p-ef5c2a47.system.entry.js → p-7fbb09c1.system.entry.js} +1 -1
  168. package/lib/duet/{p-d5b3feeb.system.entry.js → p-804eb7eb.system.entry.js} +1 -1
  169. package/lib/duet/p-808d661f.system.entry.js +4 -0
  170. package/lib/duet/{p-5b609e18.entry.js → p-834242e9.entry.js} +1 -1
  171. package/lib/duet/{p-8fa561be.system.entry.js → p-84a95f49.system.entry.js} +1 -1
  172. package/lib/duet/{p-0e3fad96.entry.js → p-879ab923.entry.js} +1 -1
  173. package/lib/duet/p-89368497.system.js +4 -0
  174. package/lib/duet/p-8d7c2cf4.entry.js +4 -0
  175. package/lib/duet/{p-1ce6c0c0.entry.js → p-928e0b63.entry.js} +1 -1
  176. package/lib/duet/{p-c5b1e054.system.entry.js → p-95dc8004.system.entry.js} +1 -1
  177. package/lib/duet/{p-36455aba.entry.js → p-96e03d88.entry.js} +1 -1
  178. package/lib/duet/{p-95be8318.system.entry.js → p-974143b1.system.entry.js} +1 -1
  179. package/lib/duet/{p-2911128f.entry.js → p-999dec9f.entry.js} +1 -1
  180. package/lib/duet/p-9e3cd6b5.entry.js +4 -0
  181. package/lib/duet/p-9ed30f80.entry.js +4 -0
  182. package/lib/duet/p-a1980c81.entry.js +4 -0
  183. package/lib/duet/{p-007518fb.entry.js → p-a7e5cd45.entry.js} +1 -1
  184. package/lib/duet/p-aae30188.system.js +5 -0
  185. package/lib/duet/{p-7f26e522.entry.js → p-ab66df54.entry.js} +1 -1
  186. package/lib/duet/p-af5f34fb.entry.js +4 -0
  187. package/lib/duet/p-afc7cc44.entry.js +4 -0
  188. package/lib/duet/{p-542af014.system.js → p-b668b67c.system.js} +0 -0
  189. package/lib/duet/p-b6cea2fb.entry.js +4 -0
  190. package/lib/duet/p-be1a1ee5.entry.js +4 -0
  191. package/lib/duet/{p-c23ef060.entry.js → p-bf306f77.entry.js} +1 -1
  192. package/lib/duet/{p-76dc3268.entry.js → p-c0cb67d7.entry.js} +1 -1
  193. package/lib/duet/p-c858aedd.entry.js +4 -0
  194. package/lib/duet/{p-00f69be4.entry.js → p-cbb59840.entry.js} +1 -1
  195. package/lib/duet/{p-27d238c5.js → p-d4c234ed.js} +1 -1
  196. package/lib/duet/{p-4fb88265.entry.js → p-d511ca66.entry.js} +1 -1
  197. package/lib/duet/{p-fcb0ac03.system.entry.js → p-db48e77a.system.entry.js} +2 -2
  198. package/lib/duet/{p-6d148390.system.entry.js → p-dc429d5d.system.entry.js} +2 -2
  199. package/lib/duet/p-e0ba5d9e.system.entry.js +4 -0
  200. package/lib/duet/{p-70f5c86d.entry.js → p-e3010ea3.entry.js} +1 -1
  201. package/lib/duet/{p-43bdb5df.system.entry.js → p-e3e092e1.system.entry.js} +2 -2
  202. package/lib/duet/p-e406a3b7.entry.js +4 -0
  203. package/lib/duet/{p-080ce662.entry.js → p-e4133a47.entry.js} +1 -1
  204. package/lib/duet/{p-86395c08.entry.js → p-e5992e2a.entry.js} +1 -1
  205. package/lib/duet/{p-eeeadb94.entry.js → p-e67563e7.entry.js} +1 -1
  206. package/lib/duet/{p-f4bba24d.system.entry.js → p-e6ff063e.system.entry.js} +1 -1
  207. package/lib/duet/{p-4fcde9bd.system.entry.js → p-e7eb9f7a.system.entry.js} +1 -1
  208. package/lib/duet/{p-f1f59897.system.entry.js → p-e8658390.system.entry.js} +1 -1
  209. package/lib/duet/p-ea59bb06.system.entry.js +4 -0
  210. package/lib/duet/p-ff46ec81.system.js +16 -0
  211. package/lib/esm/{dom-3c479050.js → dom-3dbcb0d8.js} +1 -1
  212. package/lib/esm/duet-action-button.entry.js +16 -8
  213. package/lib/esm/duet-alert.entry.js +2 -2
  214. package/lib/esm/duet-badge.entry.js +2 -2
  215. package/lib/esm/duet-breadcrumb.entry.js +2 -2
  216. package/lib/esm/duet-breadcrumbs.entry.js +2 -2
  217. package/lib/esm/duet-button_2.entry.js +17 -2
  218. package/lib/esm/duet-caption_4.entry.js +2 -2
  219. package/lib/esm/duet-card.entry.js +2 -2
  220. package/lib/esm/duet-checkbox.entry.js +15 -3
  221. package/lib/esm/duet-choice_2.entry.js +16 -4
  222. package/lib/esm/duet-collapsible.entry.js +2 -2
  223. package/lib/esm/duet-combobox.entry.js +2 -2
  224. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  225. package/lib/esm/duet-date-picker.entry.js +3 -4
  226. package/lib/esm/duet-divider_2.entry.js +2 -2
  227. package/lib/esm/duet-editable-table_3.entry.js +5 -4
  228. package/lib/esm/duet-empty-state.entry.js +2 -2
  229. package/lib/esm/duet-fieldset.entry.js +2 -2
  230. package/lib/esm/duet-footer.entry.js +2 -2
  231. package/lib/esm/duet-grid_2.entry.js +2 -2
  232. package/lib/esm/duet-header_2.entry.js +3 -3
  233. package/lib/esm/duet-hero.entry.js +2 -2
  234. package/lib/esm/duet-icon.entry.js +2 -2
  235. package/lib/esm/duet-input_2.entry.js +18 -4
  236. package/lib/esm/duet-layout.entry.js +1 -1
  237. package/lib/esm/duet-list_2.entry.js +2 -2
  238. package/lib/esm/duet-modal.entry.js +12 -4
  239. package/lib/esm/duet-notification_2.entry.js +2 -2
  240. package/lib/esm/duet-number-input.entry.js +106 -49
  241. package/lib/esm/duet-pagination_2.entry.js +50 -14
  242. package/lib/esm/duet-progress.entry.js +15 -3
  243. package/lib/esm/duet-radio_2.entry.js +15 -3
  244. package/lib/esm/duet-range-slider.entry.js +2 -2
  245. package/lib/esm/duet-scrollable_3.entry.js +2 -2
  246. package/lib/esm/duet-select.entry.js +2 -2
  247. package/lib/esm/duet-step_2.entry.js +2 -2
  248. package/lib/esm/duet-textarea.entry.js +17 -3
  249. package/lib/esm/duet-toggle.entry.js +15 -3
  250. package/lib/esm/duet-tooltip.entry.js +2 -2
  251. package/lib/esm/duet-tray.entry.js +2 -2
  252. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  253. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  254. package/lib/esm/duet.js +4 -4
  255. package/lib/esm/{focus-utils-dbdd6235.js → focus-utils-6313db97.js} +1 -1
  256. package/lib/esm/{index-33a07cd5.js → index-9e6ac831.js} +11 -9
  257. package/lib/esm/loader.js +3 -3
  258. package/lib/esm/polyfills/css-shim.js +1 -1
  259. package/lib/esm/{shadow-css-fbe49d20.js → shadow-css-501eda9a.js} +2 -3
  260. package/lib/esm/{themeable-component-e8fc98bf.js → themeable-component-cb76be7c.js} +0 -0
  261. package/lib/esm-es5/{dom-3c479050.js → dom-3dbcb0d8.js} +0 -0
  262. package/lib/esm-es5/duet-action-button.entry.js +2 -2
  263. package/lib/esm-es5/duet-alert.entry.js +1 -1
  264. package/lib/esm-es5/duet-badge.entry.js +1 -1
  265. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  266. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  267. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  268. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  269. package/lib/esm-es5/duet-card.entry.js +1 -1
  270. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  271. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  272. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  273. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  274. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  275. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  276. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  277. package/lib/esm-es5/duet-editable-table_3.entry.js +2 -2
  278. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  279. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  280. package/lib/esm-es5/duet-footer.entry.js +1 -1
  281. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  282. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  283. package/lib/esm-es5/duet-hero.entry.js +1 -1
  284. package/lib/esm-es5/duet-icon.entry.js +1 -1
  285. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  286. package/lib/esm-es5/duet-layout.entry.js +1 -1
  287. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  288. package/lib/esm-es5/duet-modal.entry.js +2 -2
  289. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  290. package/lib/esm-es5/duet-number-input.entry.js +2 -2
  291. package/lib/esm-es5/duet-pagination_2.entry.js +2 -2
  292. package/lib/esm-es5/duet-progress.entry.js +1 -1
  293. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  294. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  295. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  296. package/lib/esm-es5/duet-select.entry.js +1 -1
  297. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  298. package/lib/esm-es5/duet-textarea.entry.js +2 -2
  299. package/lib/esm-es5/duet-toggle.entry.js +2 -2
  300. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  301. package/lib/esm-es5/duet-tray.entry.js +1 -1
  302. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  303. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  304. package/lib/esm-es5/duet.js +1 -1
  305. package/lib/esm-es5/focus-utils-6313db97.js +4 -0
  306. package/lib/esm-es5/index-9e6ac831.js +5 -0
  307. package/lib/esm-es5/loader.js +1 -1
  308. package/lib/esm-es5/shadow-css-501eda9a.js +15 -0
  309. package/lib/esm-es5/{themeable-component-e8fc98bf.js → themeable-component-cb76be7c.js} +0 -0
  310. package/lib/types/common/a11y-component.d.ts +13 -0
  311. package/lib/types/{utils → common}/form-components.d.ts +0 -1
  312. package/lib/types/common/index.d.ts +3 -0
  313. package/lib/types/{utils → common}/themeable-component.d.ts +0 -0
  314. package/lib/types/components/duet-action-button/duet-action-button.d.ts +15 -7
  315. package/lib/types/components/duet-alert/duet-alert.d.ts +1 -1
  316. package/lib/types/components/duet-badge/duet-badge.d.ts +1 -1
  317. package/lib/types/components/duet-breadcrumbs/duet-breadcrumb.d.ts +1 -1
  318. package/lib/types/components/duet-breadcrumbs/duet-breadcrumbs.d.ts +1 -1
  319. package/lib/types/components/duet-button/duet-button.d.ts +14 -3
  320. package/lib/types/components/duet-caption/duet-caption.d.ts +1 -1
  321. package/lib/types/components/duet-card/duet-card.d.ts +1 -1
  322. package/lib/types/components/duet-checkbox/duet-checkbox.d.ts +14 -3
  323. package/lib/types/components/duet-choice/duet-choice.d.ts +14 -3
  324. package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +1 -1
  325. package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +1 -1
  326. package/lib/types/components/duet-combobox/duet-combobox.d.ts +1 -1
  327. package/lib/types/components/duet-cookie-consent/duet-cookie-consent.d.ts +1 -1
  328. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +2 -2
  329. package/lib/types/components/duet-divider/duet-divider.d.ts +1 -1
  330. package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +1 -1
  331. package/lib/types/components/duet-empty-state/duet-empty-state.d.ts +1 -1
  332. package/lib/types/components/duet-fieldset/duet-fieldset.d.ts +1 -1
  333. package/lib/types/components/duet-footer/duet-footer.d.ts +1 -1
  334. package/lib/types/components/duet-grid-item/duet-grid-item.d.ts +1 -1
  335. package/lib/types/components/duet-header/duet-header.d.ts +1 -1
  336. package/lib/types/components/duet-heading/duet-heading.d.ts +1 -1
  337. package/lib/types/components/duet-hero/duet-hero.d.ts +1 -1
  338. package/lib/types/components/duet-icon/duet-icon.d.ts +1 -1
  339. package/lib/types/components/duet-input/duet-input.d.ts +15 -4
  340. package/lib/types/components/duet-label/duet-label.d.ts +1 -1
  341. package/lib/types/components/duet-link/duet-link.d.ts +1 -1
  342. package/lib/types/components/duet-list/duet-list.d.ts +1 -1
  343. package/lib/types/components/duet-logo/duet-logo.d.ts +1 -1
  344. package/lib/types/components/duet-modal/duet-modal.d.ts +18 -2
  345. package/lib/types/components/duet-notification/duet-notification.d.ts +1 -1
  346. package/lib/types/components/duet-notification-drawer/duet-notification-drawer.d.ts +1 -1
  347. package/lib/types/components/duet-number-input/duet-number-input.d.ts +14 -4
  348. package/lib/types/components/duet-pagination/duet-pagination.d.ts +18 -2
  349. package/lib/types/components/duet-paragraph/duet-paragraph.d.ts +1 -1
  350. package/lib/types/components/duet-progress/duet-progress.d.ts +14 -2
  351. package/lib/types/components/duet-radio/duet-radio.d.ts +14 -3
  352. package/lib/types/components/duet-radio-group/duet-radio-group.d.ts +1 -1
  353. package/lib/types/components/duet-range-slider/duet-range-slider.d.ts +2 -2
  354. package/lib/types/components/duet-range-stepper/duet-range-stepper.d.ts +4 -2
  355. package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +1 -1
  356. package/lib/types/components/duet-select/duet-select.d.ts +2 -2
  357. package/lib/types/components/duet-spinner/duet-spinner.d.ts +1 -1
  358. package/lib/types/components/duet-step/duet-step.d.ts +1 -1
  359. package/lib/types/components/duet-stepper/duet-stepper.d.ts +1 -1
  360. package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +1 -1
  361. package/lib/types/components/duet-table/duet-table.d.ts +1 -1
  362. package/lib/types/components/duet-textarea/duet-textarea.d.ts +14 -3
  363. package/lib/types/components/duet-toggle/duet-toggle.d.ts +14 -3
  364. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +1 -1
  365. package/lib/types/components/duet-tray/duet-tray.d.ts +1 -1
  366. package/lib/types/components/duet-upload/duet-upload.d.ts +2 -2
  367. package/lib/types/components.d.ts +520 -112
  368. package/lib/types/utils/math.utils.d.ts +11 -0
  369. package/package.json +6 -6
  370. package/lib/collection/components/duet-number-input/number-input-utils.js +0 -26
  371. package/lib/duet/p-0fce5ee0.entry.js +0 -4
  372. package/lib/duet/p-112c7cf4.entry.js +0 -4
  373. package/lib/duet/p-14940019.entry.js +0 -4
  374. package/lib/duet/p-1a39ba08.entry.js +0 -4
  375. package/lib/duet/p-2c66423c.system.entry.js +0 -4
  376. package/lib/duet/p-3504f285.system.entry.js +0 -4
  377. package/lib/duet/p-356c2c34.entry.js +0 -4
  378. package/lib/duet/p-41e0b7a6.entry.js +0 -4
  379. package/lib/duet/p-46aab89e.entry.js +0 -4
  380. package/lib/duet/p-539f2a06.system.js +0 -4
  381. package/lib/duet/p-55376e66.system.entry.js +0 -4
  382. package/lib/duet/p-56212fca.js +0 -4
  383. package/lib/duet/p-60931fe2.entry.js +0 -4
  384. package/lib/duet/p-65256911.entry.js +0 -4
  385. package/lib/duet/p-6d4f68c7.entry.js +0 -4
  386. package/lib/duet/p-80d48e3c.entry.js +0 -4
  387. package/lib/duet/p-92a25fb5.system.js +0 -16
  388. package/lib/duet/p-934b6e46.entry.js +0 -4
  389. package/lib/duet/p-aa3a10db.system.entry.js +0 -4
  390. package/lib/duet/p-b97e1c6e.entry.js +0 -4
  391. package/lib/duet/p-c94d980f.system.entry.js +0 -4
  392. package/lib/duet/p-c953e685.entry.js +0 -4
  393. package/lib/duet/p-cce3f6c1.system.js +0 -4
  394. package/lib/duet/p-ce973d95.entry.js +0 -4
  395. package/lib/duet/p-da4808e6.entry.js +0 -4
  396. package/lib/duet/p-da6ec22c.js +0 -4
  397. package/lib/duet/p-e70200b0.entry.js +0 -4
  398. package/lib/duet/p-e93e4714.system.entry.js +0 -4
  399. package/lib/duet/p-fb9b713b.entry.js +0 -4
  400. package/lib/duet/p-fec90322.entry.js +0 -4
  401. package/lib/duet/p-ff54acdd.system.entry.js +0 -4
  402. package/lib/esm-es5/focus-utils-dbdd6235.js +0 -4
  403. package/lib/esm-es5/index-33a07cd5.js +0 -4
  404. package/lib/esm-es5/shadow-css-fbe49d20.js +0 -15
  405. package/lib/types/components/duet-number-input/number-input-utils.d.ts +0 -4
@@ -0,0 +1,11 @@
1
+ /**
2
+ * function that takes a string value or number and looks for any character resembling a minus,
3
+ * it will then replace it with a hypen-minus and return the parseFloat value of that string
4
+ * it will string / number cast the value to a number and return that number
5
+ * known issues: if a negative number is indicated with other characters than a "minus like" character, it will throw
6
+ * - an example is that some locales use (number) as an indicator for negative values instead of -number
7
+ */
8
+ export declare function SafeParseFloat(value: string | number, locale?: string): number;
9
+ export declare function ConvertToEnUS(value: string, locale: string, replaceThousands?: boolean): string;
10
+ export declare const roundTo: (val: number, multiple: number) => number;
11
+ export declare const clamp: (val: number, min: number, max: number) => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duetds/components",
3
- "version": "5.1.9",
3
+ "version": "5.2.2",
4
4
  "description": "This package includes Duet Design System Web Components and related utilities.",
5
5
  "bugs": {
6
6
  "email": "duetdesignsystem@lahitapiola.fi"
@@ -50,14 +50,14 @@
50
50
  "body-scroll-lock": "3.1.5"
51
51
  },
52
52
  "devDependencies": {
53
- "@duetds/fonts": "1.4.31",
54
- "@duetds/icons": "2.3.8",
53
+ "@duetds/fonts": "1.4.34",
54
+ "@duetds/icons": "2.3.11",
55
55
  "@duetds/stencil-angular-output-target": "0.0.2",
56
56
  "@duetds/stencil-react-output-target": "0.0.10",
57
- "@duetds/tokens": "2.5.14",
57
+ "@duetds/tokens": "2.5.17",
58
58
  "@koa/cors": "3.3.0",
59
59
  "@rollup/plugin-replace": "3.1.0",
60
- "@stencil/core": "2.15.0",
60
+ "@stencil/core": "2.16.0",
61
61
  "@stencil/sass": "1.5.2",
62
62
  "@types/jest": "26.0.24",
63
63
  "@types/jest-image-snapshot": "4.3.1",
@@ -87,5 +87,5 @@
87
87
  "collection": "lib/collection/collection-manifest.json",
88
88
  "es2015": "lib/esm/index.js",
89
89
  "es2017": "lib/esm/index.js",
90
- "gitHead": "0fb059cbbf70fd5453c33bd8777242fbd0c3733c"
90
+ "gitHead": "6f86c14e9046deb636a9122cc82d183bba67531e"
91
91
  }
@@ -1,26 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- export const parseLocaleFloat = (str, locale) => {
5
- // remove spaces and non-numeric characters
6
- // "12 345,67€" -> "12345,67"
7
- // "12,345.67€" -> "12,345.67"
8
- str = str.replace(/\s+/g, "").replace(/[^0-9\.,]+/g, "");
9
- switch (locale) {
10
- case "fi-FI":
11
- case "sv-SE":
12
- // "12345,67" -> "12345.67"
13
- str = str.replace(",", ".");
14
- break;
15
- case "en-US":
16
- case "en-GB":
17
- // "12,345.67" -> "12345.67"
18
- str = str.replace(/,/g, "");
19
- break;
20
- default:
21
- throw new TypeError(`Unrecognised locale: ${locale}`);
22
- }
23
- return parseFloat(str);
24
- };
25
- export const roundTo = (val, multiple) => Math.round(val / multiple) * multiple;
26
- export const clamp = (val, min, max) => Math.min(Math.max(val, min), max);
@@ -1,4 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- import{h as t,r as e,c as a,H as i,g as s}from"./p-56212fca.js";import{f as d,d as l}from"./p-dbb4a588.js";import{i as o}from"./p-54f35a79.js";import{g as n,s as r}from"./p-ede854e1.js";import{i as u}from"./p-abf8eaf7.js";import{m as h,h as p,i as b,j as m,k as c,l as f,n as g,s as y}from"./p-398a79a0.js";import{c as v}from"./p-c1325e35.js";import"./p-5a9d75e1.js";const x=({data:e,groupId:a,alignment:i})=>{const s=`duet-editable-table duet-editable-table-content-${a}`;return"string"==typeof e?t("td",{innerHTML:e,class:s,part:`${a}content`,style:{verticalAlign:i}}):t("td",{class:s,part:`${a}content`,style:{verticalAlign:i}},e)},k=class{constructor(t){e(this,t),this.duetTableToggle=a(this,"duetTableToggle",7),this.duetMenuClick=a(this,"duetMenuClick",7),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.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:a,direction:i,index:s,key:d}=t;this.duetTableToggle.emit({sort_order:a,index:s,direction:i,key:d,component:"duet-editable-table",originalEvent:e})},this.handleKeyDown=(t,e)=>{o(e)&&this.toggleColumn(t,e)}}componentWillLoad(){u(this)}createLabel(e){const{sort_order:a,direction:i,index:s,label:d}=e,l=n(d);return this.sortable?t("span",{class:"duet-table-label","data-index":s},t("duet-button",{size:"small",icon:a&&1===i?"action-arrow-down-small":a&&-1===i?"action-arrow-up-small":"action-subtract-small","icon-size":"medium-small","accessible-label":n(this.sortableDefaultLabel),variation:"plain",margin:"none","icon-right":!0,onClick:t=>this.toggleColumn(e,t),onKeyDown:t=>this.handleKeyDown(e,t)},l)):l}getSortedColumns(){return[...this.columns].sort(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)return t("th",{scope:"col"},this.createLabel(e))})),this.actions&&t("th",{scope:"col",class:"duet-table-action-header-heading"},this.actions&&t("duet-visually-hidden",null,n(this.actionColumnLabel))))}renderActions(e,a){if(this.actions)return t("td",{class:"duet-text-right"},this.actions.map((i=>t("duet-action-button",{actionMeta:Object.assign({},(null==e?void 0:e.meta)||{},{index:a}),actionId:(null==e?void 0:e.uid)||(null==e?void 0:e.id)||null,actionName:i.name,theme:this.theme,iconName:i.icon,iconColor:i.color,iconSize:i.size,background:i.background}))))}renderTableBody(){const e=this.getSortedColumns(),a=this.getRowSortOrder();return[...this.rows].sort(d(a)).map(((a,i)=>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(a.meta)},e.map((e=>{if(!1!==e.display)return t(x,{data:a[e.key]?a[e.key]:a.item,groupId:this.groupId})})),this.actions&&this.renderActions(a,i))))}render(){return t(i,{class:{[`duet-editable-table-${this.variation}`]:!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",{sticky:this.sticky,stickyDistance:this.stickyDistance,margin:this.margin,theme:this.theme,variation:this.variation,breakpoint:this.breakpoint},t("table",{role:this.accessibleRole},t("caption",null,t("slot",{name:"tcaption"})),t("thead",null,t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-first"}))),this.renderTableHeader(),t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-last"})))),t("tbody",null,this.renderTableBody()),t("tfoot",null,t("tr",null,t("th",{class:"duet-editable-table-footer-menu",colSpan:99},t("slot",{name:"tfoot"})))))))}get element(){return s(this)}};k.style=".sc-duet-editable-table-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-editable-table-actions-menu.sc-duet-editable-table{position:relative;padding:0 !important;margin:0}.duet-editable-table-actions-menu-button.sc-duet-editable-table{position:relative;right:-16px;float:right;padding:0}.duet-editable-table-actions-menu-icon.sc-duet-editable-table .duet-icon.sc-duet-editable-table{max-width:16px;max-height:16px}.duet-editable-table-row.duet-table-action-row.sc-duet-editable-table .duet-text-right.sc-duet-editable-table{text-align:right}.duet-editable-table-header.sc-duet-editable-table tr.sc-duet-editable-table .duet-editable-table-header-hidden.sc-duet-editable-table{padding:0 !important;font-size:0;border-bottom:0}";const w=t=>t.substring(1,t.length-1),z={none:"all","none-scrollable":"all",small:w(f),medium:w(h),large:w(p),"x-large":w(b),"xx-large":w(m),"xxx-large":w(c)},T={none:0,"with-links":16*parseFloat(g),"without-links":16*parseFloat(y)},S=class{constructor(t){e(this,t),this.matchesBreakpoint=!0,this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.handleMediaQueryChange=t=>{this.matchesBreakpoint=t.matches}}connectedCallback(){this.mq=matchMedia(z[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(u(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=T[this.stickyDistance];this.element.querySelectorAll("thead th").forEach((e=>e.style.top=`${t}px`))}}componentDidLoad(){this.observer&&this.observer.takeRecords()}disconnectedCallback(){this.observer.disconnect(),this.observer=null,this.mq.removeListener(this.handleMediaQueryChange),this.mq=null,this.matchesBreakpoint=!0}copyHeadingsToCells(){const t=this.element.querySelectorAll("thead th"),e=this.element.querySelectorAll("tbody tr"),a=Array.from(t).map((t=>t.textContent.trim()));e.forEach((t=>{t.querySelectorAll("td").forEach(((t,e)=>{a[e]&&(t.dataset.heading=a[e])}))}))}render(){return t(i,{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}},t("slot",null))}get element(){return s(this)}};S.style='duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-theme-turva table{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}duet-table td{-webkit-hyphens:auto;hyphens:auto;color:#00294d}duet-table.duet-theme-turva td{color:#171c3a}duet-table th{font-weight:600;line-height:1.25;color:#657787;text-align:left}duet-table.duet-theme-turva th{color:#747475}duet-table tbody th{font-weight:600;color:#00294d}duet-table.duet-theme-turva tbody th{color:#171c3a}duet-table .duet-table-action-row td:last-child{justify-self:end;padding-right:20px !important;white-space:nowrap}.duet-table-flattened tbody tr{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:auto;gap:10px}.duet-table-flattened tbody tr.duet-table-action-row td:last-child::before{padding:0;content:""}.duet-table-flattened thead tr{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-table-flattened td{grid-column:1/2;line-height:1.25}.duet-table-flattened td:not(:last-child){margin-bottom:16px !important}.duet-table-flattened td:first-child{grid-row:1;grid-column:1}.duet-table-flattened td:last-child{grid-row:1;grid-column:2}.duet-table-flattened tbody td,.duet-table-flattened tbody th,.duet-table-flattened tfoot td{padding:0 !important;text-align:left !important}.duet-table-flattened tbody th{font-weight:600;line-height:1.25;color:#657787;text-align:left}.duet-table-flattened td[data-heading]::before{margin-bottom:4px !important;display:block;font-size:1rem;font-weight:600;color:#00294d;content:attr(data-heading)}.duet-table-flattened.duet-theme-turva td[data-heading]::before{color:#171c3a}.duet-table-sticky thead th{position:sticky;top:0;background:white}.duet-table-striped td,.duet-table-striped th{padding:20px !important}@media (max-width: 35.9375em){.duet-table-striped td,.duet-table-striped th{padding:20px 12px !important}}.duet-table-striped tbody th{background:white}.duet-table-striped.duet-table-sticky thead th{border-bottom:1px solid #e1e3e6}.duet-table-striped.duet-table-sticky.duet-theme-turva thead th{border-bottom-color:#e4e4e6}.duet-table-striped tbody:not(:first-of-type) th{padding-top:40px !important}.duet-table-striped tbody:only-of-type tr:nth-of-type(odd){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tfoot td{border-top:1px solid #e1e3e6}.duet-table-striped.duet-theme-turva tfoot td{border-top-color:#e4e4e6}.duet-table-striped.duet-table-flattened tbody:not(:first-of-type) th{padding-top:20px !important}.duet-table-striped.duet-table-flattened tr{padding:20px !important}.duet-table-striped.duet-table-flattened tfoot td{border-top:0}.duet-table-striped.duet-table-flattened tfoot tr{border-top:1px solid #e1e3e6}.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr{border-top-color:#e4e4e6}.duet-table-fixed th,.duet-table-minimal th,.duet-table-plain th{padding:16px !important;border-bottom:1px solid #657787}.duet-table-fixed th:first-child,.duet-table-minimal th:first-child,.duet-table-plain th:first-child{padding-left:0 !important}.duet-table-fixed th:last-child,.duet-table-minimal th:last-child,.duet-table-plain th:last-child{padding-right:0 !important}.duet-theme-turva.duet-table-fixed th,.duet-theme-turva.duet-table-minimal th,.duet-theme-turva.duet-table-plain th{border-bottom-color:#444445}.duet-table-fixed tbody th,.duet-table-minimal tbody th,.duet-table-plain tbody th{padding-top:40px !important;border-bottom-color:#e1e3e6}.duet-theme-turva.duet-table-fixed tbody th,.duet-theme-turva.duet-table-minimal tbody th,.duet-theme-turva.duet-table-plain tbody th{border-bottom-color:#e4e4e6}.duet-table-fixed td,.duet-table-minimal td,.duet-table-plain td{padding:16px !important}.duet-table-fixed td:first-child,.duet-table-minimal td:first-child,.duet-table-plain td:first-child{padding-left:0 !important}.duet-table-fixed td:last-child,.duet-table-minimal td:last-child,.duet-table-plain td:last-child{padding-right:0 !important}.duet-table-fixed tbody td,.duet-table-minimal tbody td,.duet-table-plain tbody td{border-bottom:1px solid #e1e3e6}.duet-theme-turva.duet-table-fixed tbody td,.duet-theme-turva.duet-table-minimal tbody td,.duet-theme-turva.duet-table-plain tbody td{border-bottom-color:#e4e4e6}.duet-table-flattened.duet-table-fixed tbody:first-of-type th,.duet-table-flattened.duet-table-minimal tbody:first-of-type th,.duet-table-flattened.duet-table-plain tbody:first-of-type th{padding-top:0 !important}.duet-table-flattened.duet-table-fixed td,.duet-table-flattened.duet-table-minimal td,.duet-table-flattened.duet-table-plain td,.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{border-bottom:0}.duet-table-flattened.duet-table-fixed tr,.duet-table-flattened.duet-table-minimal tr,.duet-table-flattened.duet-table-plain tr{padding:20px 0 !important}.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{padding-top:20px !important}.duet-table-flattened.duet-table-fixed tfoot td,.duet-table-flattened.duet-table-minimal tfoot td,.duet-table-flattened.duet-table-plain tfoot td{margin-bottom:4px !important}.duet-table-flattened.duet-table-fixed tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-minimal tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-plain tbody:not(:only-of-type) tr:first-child{border-bottom:0}.duet-table-plain.duet-table-flattened tbody tr{border-bottom:1px solid #e1e3e6}.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr{border-bottom-color:#e4e4e6}.duet-table-minimal tbody tr,.duet-table-minimal tbody tr td{vertical-align:top;border-bottom:0 none}.duet-table-minimal tbody tr:last-of-type,.duet-table-minimal tbody tr:last-of-type td{border-bottom:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened tbody tr,.duet-table-minimal.duet-table-flattened tbody tr td{border-bottom:0 none}.duet-table-minimal.duet-table-flattened tbody tr td[data-heading]::before{display:none}.duet-table-minimal.duet-table-flattened tfoot{border-top:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-fixed table{table-layout:fixed}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td,.duet-table-fixed tbody tr td:first-child{padding:4px !important;vertical-align:text-bottom;border-bottom:0 none}.duet-table-fixed thead{display:none}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td{border-bottom:0 none}.duet-table-fixed:not(.duet-table-flattened) tfoot{border-top:1px solid #e1e3e6}.duet-table-fixed:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-scrollable{position:relative;width:100%;overflow-x:auto;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;background-repeat:no-repeat;background-attachment:local, local, scroll, scroll;background-size:100px 100%, 100px 100%, 12px 100%, 12px 100%}.duet-table-selected-column{background:rgba(0, 119, 179, 0.08)}.duet-theme-turva .duet-table-selected-column{background:rgba(68, 68, 69, 0.08)}.duet-table-sortable tbody tr td:first-child,.duet-table-sortable thead tr th:first-child{padding:20px}.duet-table-sortable:not(.duet-table-flattened) tfoot{border-top:1px solid #e1e3e6}.duet-table-sortable:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-actions table{table-layout:auto}.duet-table-actions thead th:last-child{width:1px;white-space:nowrap}';const E=[{type:"default",system_message:"unknown error",message:{fi:"Tapahtui tuntematon virhe, ole hyvä ja yritä uudelleen.",sv:"Ett okänt fel uppstod, försök igen.",en:"An unknown error occured, please try again."}},{type:"400",system_message:"Bad Request: The server could not understand the request due to invalid syntax.",message:{fi:"Tiedostoa ei hyväksytty.",sv:"Servern avvisade din fil.",en:"The server rejected your file."}},{type:"401",system_message:"Not Authenticated: The client must authenticate itself to get the requested response...",message:{fi:"Vain kirjautunut käyttäjä voi lähettää tiedostoja.",sv:"Du måste vara inloggad för att ladda upp filer.",en:"You need to be logged in to upload files."}},{type:"403",system_message:"No Access: The client does not have access rights to the content.",message:{fi:"Ei oikeuksia lähettää tiedostoja.",sv:"Du har inte rätt åtkomsträttigheter för att ladda upp filer.",en:"You do not have the correct access rights to upload files."}},{type:"413",system_message:"Payload too large",message:{fi:"Tiedosto oli liian vastaanotettavaksi.",sv:"Filen var för stor för servern att hantera.",en:"The file was to large for the server to handle."}},{type:"415",system_message:"Unsupported media type",message:{fi:"Tiedoston tyyppi oli väärä.",sv:"Servern avvisade filen eftersom den hade fel typ.",en:"The server rejected the file because it had the wrong type."}},{type:"429",system_message:"Too many request from same address",message:{fi:"Liian monta yritystä, ole hyvä ja yritä myöhemmin uudelleen.",sv:"Servern har fått många förfrågningar från dig, försök igen senare.",en:"The server has received to many request from you, please try again later."}},{type:"500",system_message:"Internal Server Error",message:{fi:"Palvelin ilmoitti tuntemattomasta virheestä ja lataus epäonnistui.",sv:"Servern rapporterade ett okänt fel och uppladdningen misslyckades.",en:"The server reported an unknown error and the upload failed."}},{type:"duet-upload-100",system_message:"File extension not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den type.",en:"You cannot upload files with that extension."}},{type:"duet-upload-001",system_message:"File transfer failed",message:{fi:"Tiedoston lähetys keskeytyi, ole hyvä ja yritä uudelleen.",sv:"Din anslutning till servern avbröts, försök igen.",en:"Your connection to the server was interrupted, try again."}},{type:"duet-upload-101",system_message:"File mimetype not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den typ.",en:"You cannot upload files of that type."}},{type:"duet-upload-201",system_message:"File is too large",message:{fi:"Tiedosto on liian iso.",sv:"Filen är större än tillåtet.",en:"The file is larger than permitted."}},{type:"duet-upload-202",system_message:"The combined size of all files is too large",message:{fi:"Tiedostojen yhteenlaskettu koko on liian iso.",sv:"Du har nått den maximala kombinerade filstorleken.",en:"You have reached the maximum combined filesize."}},{type:"duet-upload-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."}}],j=t=>{let e={type:void 0,system_message:void 0,message:void 0};return e=E.filter((e=>e.type==t))[0],e||(e=E.filter((t=>"default"===t.type))[0]),e},M=t=>{const e=j(t),a=n(e.message);return""!==a&&a?a:e.system_message},F=({data:e})=>{const{item:a,error:i}=e,{name:s}=a,{type:d}=i;return t("span",{class:"duet-upload-item-error",role:"status"},t("duet-paragraph",{class:"duet-upload-item-name",color:"danger",margin:"none",weight:"semi-bold"},t("duet-icon",{margin:"none",size:"xx-small",name:"messaging-attachment"})," ",s),t("duet-paragraph",{class:"duet-upload-item-error-label",size:"small",margin:"none",color:"danger"},M(d)))},L=({progress:e,name:a})=>t("span",null,t("duet-paragraph",{color:"secondary",margin:"none",size:"small"},a),t("duet-progress",{progress:Math.ceil(e),"aria-hidden":!0})),_=({name:e})=>t("span",null,t("duet-paragraph",{color:"secondary",margin:"none",size:"small"},e),t("duet-spacer",{size:"xx-small"})),D=({data:e,showLinks:a})=>{const{item:i,size:s,uploaded:d,url:l,meta:o}=e,{name:n}=i,r=t("span",{class:"duet-upload-item-name"},t("duet-icon",{margin:"none",size:"x-small",name:"messaging-attachment"}),t("duet-spacer",{size:"xx-small",direction:"horizontal"}),n),u=t("span",{class:"duet-upload-item-size",style:{fontSize:"14px",fontWeight:"400"}},"(",((t,e=2)=>{if(0===t)return"0 Bytes";const a=e<0?0:e,i=Math.floor(Math.log(t)/Math.log(1024));return parseFloat((t/Math.pow(1024,i)).toFixed(a))+" "+["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][i]})(s),")"),h=t("duet-paragraph",{color:"secondary",margin:"none",weight:"semi-bold"},d&&l&&a?t("duet-link",{url:l,external:!0},r):r,t("duet-spacer",{size:"xx-small",direction:"horizontal"}),u),p=o&&o.badges?t("span",null,t("duet-spacer",{size:"xx-small"}),o.badges.map((e=>t("duet-badge",{color:"primary"},e)))):void 0;return t("span",{class:"duet-upload-item-success"},t("div",null,h),p)},P=(t,e)=>{const{allowedMimetypes:a,allowedExtensions:i,maxBytes:s}=e;let d=!1,l=j("default");if(t){const{name:e,type:o,size:n}=t,r=((t,e)=>{if(!e||!t)return!0;const a=e.split(",");let i=!1;return a.forEach((e=>{const a=e.split("/"),s=t.split("/");a[0]!==s[0]||a[1]!==s[1]&&"*"!==a[1]||(i=!0)})),i})(o,a),u=((t,e)=>{if(!e)return!0;const a=t.split(".");return e.split(",").includes(a[a.length-1])})(e.toLowerCase(),i),h=((t,e)=>!e||!t||e>=t)(n,s);r||(l=j("duet-upload-101")),u||(l=j("duet-upload-100")),h||(l=j("duet-upload-201")),d=r&&u&&h}else d=!1;return{valid:d,errorMessage:d?void 0:n(l.message),errorSystem:d?void 0:l.system_message,errorType:d?void 0:l.type}},A=({payload:t,options:e,onFailure:a,onSuccess:i,onProgress:s})=>{const{type:d="POST",xhr:l,uri:o,argument:n=null,headers:r=null}=e;l.open(d,`${o}${n||""}`,!0);const{data:u,name:h}=t;return r&&Object.keys(r).forEach((t=>{l.setRequestHeader(t,r[t])})),"POST"===d&&(l.onreadystatechange=()=>{l.readyState===XMLHttpRequest.DONE&&l.status>=200&&l.status<300&&i(l,h,l.status),l.readyState===XMLHttpRequest.DONE&&l.status>=300&&l.status<999&&a(l,h,l.status)},s(h)),l.send(u),l},B=class{constructor(i){e(this,i),this.duetChange=a(this,"duetChange",3),this.duetBlur=a(this,"duetBlur",7),this.duetFocus=a(this,"duetFocus",7),this.duetDone=a(this,"duetDone",3),this.duetState=a(this,"duetState",3),this.duetDelete=a(this,"duetDelete",3),this.duetCancel=a(this,"duetCancel",3),this.duetProgress=a(this,"duetProgress",3),this.duetUpload=a(this,"duetUpload",3),this.tick=Date.now(),this.external=!1,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","pending"],label:{fi:"Poista tiedosto",en:"Poista tiedosto",sv:"Ta bort filen"}},{icon:"navigation-close",color:"primary",size:"x-small",background:"gray-lightest",name:"cancel",map:["inprogress"],label:{fi:"Keskeytä lähetys",en:"Cancel the upload",sv:"Stop överföringen"}}],this.showLinks=!1,this.statusLabelDefaults={fi:{inProgress:"Lähetetään {filesUploaded} lähetettävästä {filesTotal} tiedostosta",inProgressWithErrors:"Lähetetään {filesInProgress} tiedostoa, lähetetty {filesUploaded} lähetettävästä {filesTotal} tiedostosta, {filesWithErrors} tiedostossa on virheitä",done:"Kaikki {filesTotal} tiedostoa lähetetty onnistuneesti",doneWithErrors:"Lähetys valmis, {filesUploaded} tiedostoa on lähetetty onnistuneesti, {filesWithErrors} tiedostossa oli virheitä",files:"tiedostot",file:"tiedosto"},sv:{inProgress:"Adding {filesUploaded} of {filesTotal}",inProgressWithErrors:"Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",done:"Alla {filesTotal} har lagts till",doneWithErrors:"Handling slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",files:"filer",file:"fil"},en:{inProgress:"Adding {filesUploaded} of {filesTotal}",inProgressWithErrors:"Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",done:"All {filesTotal} added successfully",doneWithErrors:"Action completed, {filesUploaded} has been added successfully, {filesWithErrors} had errors",files:"File",file:"file"}},this.statusMessageLabel=n(this.statusLabelDefaults),this.buttonLabelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add an attachment"},this.buttonLabel=n(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=n(this.labelDefaults),this.descriptionDefaults={fi:"Voit liittää {filetypes}-muotoisia tiedostoja sekä yleisimpiä videotiedostoja. Voit lähettää {maxbytes} verran tiedostoja yhdellä kertaa, ja lisätä enintään {maxfiles} liitettä kerrallaan.",sv:"Du kan bifoga filer i flg. formater {filetypes} samt de vanligaste videofilerna. Du kan ladda upp {maxbytes} filer åt gången och lägga till upp till {maxfiles} bilagor åt gången.",en:"You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytes} of files at a time, and add up to {maxfiles} attachments at a time."},this.description=n(this.descriptionDefaults),this.fileListEmptyDefaults={fi:"Ei vielä lisättyjä tiedostoja.",sv:"Inga filer har lagts till ännu.",en:"No files added yet."},this.fileListEmpty=n(this.fileListEmptyDefaults),this.error="",this.maxBytes=2e8,this.maxBytesTotal=void 0,this.maxFiles=99,this.allowedExtensions="all",this.allowedMimetypes="*",this.multiple=!0,this.limitSelection=!1,this.buttonId=v("DuetButton"),this.labelId=v("DuetLabel"),this.uploadId=v("DuetUpload"),this.filesInProgress=new Map,this.fileMaxReached=!1,this.bytesMaxReached=!1,this.internalStatusMessageLabel=void 0,this.DefaultGroups={inprogress:"inprogress",success:"success",pending:"pending",failure:"failure"},this.groups=[{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:"Tiedostot ladattavat"}},{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"}}],this.kick=l((()=>{this.tick=Date.now()}),30),this.listenForActionEvents=()=>{this.element.addEventListener("duetActionEvent",(t=>{const e=t.detail,{action:a,id:i,originalEvent:s}=e;switch(a){case"delete":this.onDelete(i,s);break;case"cancel":this.onCancel(i,s)}}))},this.verifyValidity=()=>{const{invalid:t,valid:e}=this.getFilesAsArray(),a=this.valid;this.valid=0===t.length&&0!==e.length,this.valid!==a&&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.getItemHTMLFromItemData=(e,a)=>a===this.DefaultGroups.success?t(D,{data:e,showLinks:this.showLinks}):a===this.DefaultGroups.inprogress?t(L,{progress:e.progress,name:e.item.name}):a===this.DefaultGroups.pending?t(_,{name:e.item.name}):a===this.DefaultGroups.failure?t(F,{data:e}):e.group?e.html:"none",this.genHashName=()=>Date.now().toString(36)+Math.random(),this.updateValueInMap=(t,e,a,i=!0)=>{try{const i=this.files.get(t);i[e]=a,this.files.set(t,i)}catch(s){}i&&this.kick()},this.updateProgress=(t,e)=>{t.lengthComputable?(a=>{this.updateValueInMap(e,"progress",a),this.onProgress(e,a,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((a=>{a.valid&&!a.deleted?t.push(a):a.valid||a.deleted||e.push(a)})),{valid:t,invalid:e}},this.resetFormFields=()=>{this.nativeInput.value=""},this.startUpload=async(t,e)=>{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,a)=>{this.updateValueInMap(e,"status",a,!1),this.updateValueInMap(e,"uploaded",!0,!1);try{const a=JSON.parse(t.response);this.updateValueInMap(e,"url",a.url)}catch(i){this.updateValueInMap(e,"url",null),console.error("Server did not respond with expected response {url: string}")}},this.transferDoneWithFailure=(t,e,a)=>{try{const{error:a}=JSON.parse(t.response);this.updateValueInMap(e,"error",{message:a.message,type:a.type},!1)}catch(i){console.error("Server did not respond with expected response error:{message: string, type: int}"),this.updateValueInMap(e,"error",{type:a},!1)}this.updateValueInMap(e,"valid",!1,!0)},this.transferFailed=t=>{this.updateValueInMap(t,"error",j("duet-upload-001"))},this.transferCanceled=t=>{this.files.delete(t),this.validateTotals(t),this.kick()},this.validateTotals=t=>{const e=((t,e)=>{let a=0;return!!(e&&(this.files.forEach((t=>{t.valid&&t.size&&(a+=t.size)})),a<e))})(0,this.maxBytesTotal),a=((t,e)=>{let a=0;return!!(e&&(this.files.forEach((t=>{t.valid&&a++})),a>e))})(0,this.maxFiles);return e&&t&&this.updateValueInMap(t,"error",j("duet-upload-202"),!1),a&&t&&this.updateValueInMap(t,"error",j("duet-upload-301"),!1),this.bytesMaxReached=e,this.fileMaxReached=a,{bytesMaxReached:e,fileMaxReached:a}},this.uploadFile=async(t,e=!1,a)=>{!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),a&&e.append("key",a),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(i){this.updateValueInMap(t.item.name,"valid",!1,!1)}},this.uploadPendingFiles=()=>{for(const[t,e]of this.files.entries())"pending"===e.group&&!0===e.pending&&this.uploadFile(e,!0,t)},this.getItemFromUID=t=>{for(const[e,a]of this.files.entries())if(a.uid===t)return{value:a,key:e};return null},this.onDelete=(t,e)=>{const a=this.getItemFromUID(t).key,i=this.files.get(a);this.files.delete(a),this.validateTotals(),this.kick(),this.duetDelete.emit({originalEvent:e,data:{deletion:i},component:"duet-upload"}),this.external||i.pending||this.makeXHRDeleteRequest(i),this.resetFormFields()},this.onCancel=(t,e)=>{const a=this.getItemFromUID(t).key,i=this.files.get(a);if(this.files.delete(a),this.external)this.kick();else{const{xhr:t}=i;t.abort()}this.resetFormFields(),this.duetCancel.emit({originalEvent:e,data:{cancelled:i},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,a)=>{this.duetChange.emit({originalEvent:a,data:{key:t,percentComplete:e},component:"duet-upload"})},this.onFocus=t=>{this.duetFocus.emit({originalEvent:t,component:"duet-upload"})},this.onDone=()=>{this.duetDone.emit({component:"duet-upload",data:{files:this.files}})},this.filterMap=()=>{const t=[...this.files.values()],e=[],a=[],i=[],s=[];return t.forEach((t=>{const d=this.getGroupFromItemData(t),l=this.getItemHTMLFromItemData(t,d);d===this.DefaultGroups.success?s.push({uid:t.uid,item:l,group:d}):d===this.DefaultGroups.inprogress?e.push({uid:t.uid,item:l,group:d}):d===this.DefaultGroups.pending?i.push({uid:t.uid,item:l,group:d}):d===this.DefaultGroups.failure?a.push({uid:t.uid,item:l,group:d}):t.group&&e.push({uid:t.uid,item:l,group:t.group})})),{inprogress:e,pending:i,failure:a,success:s}},this.getColumns=t=>[{sort_order:1,direction:1,index:0,key:t.id,label:t.label}],this.getActions=t=>this.actions.filter((e=>e.map.includes(t))),this.renderEditableTableGroups=()=>{const e=this.filterMap();return this.groups.map((a=>{const i=e[a.id];if(null==i?void 0:i.length)return t("duet-table",{variation:"plain",breakpoint:"none",role:"log",margin:this.hideGroups?"none":"auto"},t("table",{class:"duet-upload-editable-table"},t("thead",{class:"duet-upload-editable-table-header"},t("tr",null,t("th",{class:{"duet-upload-editable-table-header-hidden":this.hideGroups}},this.hideGroups?t("duet-visually-hidden",null,n(a.label)):n(a.label)))),t("tbody",null,t("tr",null,t("td",{class:"duet-upload-editable-table-data"},t("duet-editable-table",{breakpoint:"none",variation:"plain",groupId:a.id,columns:this.getColumns(a),actions:this.getActions(a.id),margin:"none",rows:i}))))))}))}}watchValidHandler(t,e){t!==e&&this.kick()}componentWillLoad(){this.internalStatusMessageLabel="string"==typeof this.statusMessageLabel?r(this.groups):this.statusMessageLabel,u(this),this.listenForActionEvents()}componentWillRender(){this.verifyValidity()}async setFocus(t){this.nativeInput&&this.nativeInput.focus(t)}async upload(t){await this.setFocus(),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,a){this.updateValueInMap(t,e,a)}render(){const e=this.identifier||this.uploadId;let a=this.description.replace(/{maxfiles}/g,this.maxFiles.toString());return a=a.replace(/{maxbytes}/g,`${Math.floor(this.maxBytes/1024/1024)} MB`),a=a.replace(/{filetypes}/g,this.allowedExtensions.split(",").join(", ")),t(i,{class:{"duet-m-0":"none"===this.margin}},t("duet-fieldset",{label:this.label,caption:a},t("slot",{name:"header"}),!this.files.size&&t("duet-label",{part:this.identifier?`${this.identifier}-empty-state`:"duet-upload-empty-state",theme:"turva"===this.theme?"turva":"default",size:"small",class:{"duet-upload-filelist-empty":!this.files.size,"duet-upload-filelist":!0,"duet-upload-filelist-filled":this.files.size},id:this.labelId,for:e},t("span",{class:{"duet-upload-filelist-empty-label":!this.files.size}},this.fileListEmpty)),!!this.files.size&&t("slot",{name:"fileheader"}),!!this.files.size&&t("duet-upload-aria-status",{invalid:this.getFilesAsArray().invalid.length,valid:this.getFilesAsArray().valid.length,inprogress:this.filesInProgress.size,total:this.files.size,statusMessageLabel:this.internalStatusMessageLabel}),!!this.files.size&&this.renderEditableTableGroups(),!!this.files.size&&t("slot",{name:"filefooter"}),t("duet-spacer",{size:"large"}),!this.hideButton&&t("duet-button",{id:this.buttonId,onClick:this.startUpload,"accessible-controls":e,disabled:this.fileMaxReached,"accessible-label":this.accessibleButtonLabel,"accessible-owns":e,size:"small",variation:"secondary",fixed:!0,icon:"action-add-circle",part:this.identifier?`${this.identifier}-button-upload`:"duet-upload-button-upload"},this.buttonLabel),t("duet-spacer",{size:"medium"}),(this.fileMaxReached||this.bytesMaxReached)&&t("duet-alert",{part:this.identifier?`${this.identifier}-error-notification`:"duet-upload-error-notification"},this.fileMaxReached&&M("duet-upload-301"),this.bytesMaxReached&&M("duet-upload-202")),t("duet-spacer",{size:"medium"}),t("duet-visually-hidden",null,t("input",{ref:t=>{this.nativeInput=t},accept:this.limitSelection?`${this.allowedMimetypes},${this.allowedExtensions}`:void 0,onBlur:this.onBlur,onFocus:this.onFocus,onChange:t=>this.onChange(t),type:"file",class:{"duet-upload":!0},disabled:this.disabled,"aria-hidden":"true",required:this.required,name:this.name,id:this.identifier,multiple:this.multiple,capture:"user"}))))}makeXHRPostRequest(t){const e=new XMLHttpRequest,a=t.get("name");return e.upload.addEventListener("progress",(t=>{this.updateProgress(t,a)})),e.upload.addEventListener("load",(()=>{this.transferComplete(a)})),e.upload.addEventListener("error",(()=>{this.transferFailed(a)})),e.upload.addEventListener("abort",(()=>{this.transferCanceled(a)})),A({payload:{data:t,name:a},options:{type:"POST",uri:this.uri,xhr:e,argument:null,headers:null},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress})}makeXHRDeleteRequest(t){const{uid:e,item:a}=t,i=new XMLHttpRequest;return A({payload:{data:null,name},options:{type:"DELETE",xhr:i,uri:this.uri,arguments:`?key=${e}&name=${a.name}`,headers:{"x-fileuid":e,"x-filename":a.name}},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress})}async onChange(t){var e;const a=Array.from(null===(e=this.nativeInput)||void 0===e?void 0:e.files);if(a)for(const i of a){const{valid:t,errorMessage:e,errorType:a,errorSystem:s}=P(i,{maxBytes:this.maxBytes,allowedExtensions:this.allowedExtensions,allowedMimetypes:this.allowedMimetypes}),d={uid:this.genHashName(),item:i,size:i.size,meta:this.metaData,uploaded:!1,valid:t,error:{type:t?void 0:a,message:t?void 0:e,system_message:t?void 0:s},progress:0,deleted:!1,xhr:!1,url:!1};this.files.set(i.name,d);const{bytesMaxReached:l,fileMaxReached:o}=this.validateTotals(i.name);l||o?this.updateValueInMap(i.name,"valid",!1,!1):t&&!this.external?await this.uploadFile(d):t&&this.external?(this.updateValueInMap(d.item.name,"pending",!0,!1),this.updateValueInMap(d.item.name,"group","pending",!0)):t||this.updateValueInMap(i.name,"valid",!1,!0),this.kick()}this.resetFormFields(),this.metaData=void 0,this.duetChange.emit({originalEvent:t,data:{files:this.files},component:"duet-upload"})}get element(){return s(this)}static get watchers(){return{valid:["watchValidHandler"]}}};B.style="*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}::slotted([slot=header]){margin-bottom:16px}::slotted([slot=fileheader]){margin:16px 0 0 0}::slotted([slot=filefooter]){margin-top:16px}.duet-upload{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-upload-item-size{font-size:0.75rem;font-weight:400}.duet-upload-filelist{margin-bottom:25px}.duet-upload-filelist-empty{display:flex;align-items:center;justify-content:center;width:100%;height:75px;margin:0 auto;font-size:1rem;font-weight:400;background-color:#f5f8fa}.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{position:relative}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress 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){border:0}.duet-upload-editable-table .duet-upload-item-name duet-icon{position:relative;top:2px}duet-paragraph::part(duet-paragraph){word-break:break-word}";export{k as duet_editable_table,S as duet_table,B as duet_upload}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- import{h as t,F as o,r as i,c as e,H as s,g as c}from"./p-56212fca.js";import{d as a}from"./p-dbb4a588.js";import{n as b,f as d,o as l,b as n,c as h}from"./p-54f35a79.js";import{g as r,a as m}from"./p-ede854e1.js";import{p as u}from"./p-5a9d75e1.js";import{i as x}from"./p-abf8eaf7.js";const p=({item:i,search:e="",selected:s})=>{const c=""!==e?new RegExp("("+e.split(" ").join("|")+")","gi"):void 0;return t(o,null,s&&t("duet-icon",{class:"option-icon",name:"messaging-checked",size:"xx-small",margin:"none"}),c?t("span",{class:"option-container","aria-hidden":"true"},t("span",{innerHTML:i.name.replace(c,'<span class="highlight">$&</span>')})):i.name,i.tags&&t("span",{class:"option-tags"},i.tags.join(", ")))},g=({item:o,active:i,total:e,selected:s,label:c,clickHandler:a=(t=>{t.preventDefault()}),keyHandler:b=(t=>{t.preventDefault()}),search:d})=>t("li",{class:{"list-item":!0,option:!0,active:i,selected:s},id:i?"active_item":"","data-index":o.id,"aria-selected":i?"true":void 0,"aria-current":s?"true":void 0,role:"option","aria-label":c||`${o.name}, (${o.id+1} of ${e})`},t("a",{tabindex:"-1",onClick:t=>a(t),onKeyUp:t=>b(t),class:"option-link","aria-label":c||`${o.name}, (${o.id+1} of ${e})`,"aria-hidden":"true"},t(p,{item:o,search:d,selected:s}))),v=class{constructor(t){i(this,t),this.duetChange=e(this,"duetChange",3),this.isSafari=!1,this.resizeObserver=new ResizeObserver(a((t=>{var o,i;if(1===(null==t?void 0:t.length)){const e=null===(i=null===(o=t[0])||void 0===o?void 0:o.target)||void 0===i?void 0:i.getBoundingClientRect().width;this.listContainer.style.width=`${e+1}px`}}),100)),this.processedItems=null,this.inputWidth=0,this.inputValue="",this.selectionMsg="",this.listOpen=!1,this.selectedItems=new Set,this.activeItem=void 0,this.accessibleLabelDefaults={en:{heading:"Select:",item:"{name}, ({current} of {total})",itemFiltered:"{name}, ({current} of {total}, {hiddenItems} filtered)"},fi:{heading:"Valitse:",item:"{name}, ({current}/{total})",itemFiltered:"{name}, ({current}/{total}, {hiddenItems} suodatettu)"},sv:{heading:"Välj:",item:"{name}, ({current} av {total})",itemFiltered:"{name}, ({current} av {total}, {hiddenItems} filtrerade)"}},this.accessibleLabels=r(u(this.accessibleLabelDefaults),m()),this.theme="",this.force=!1,this.formatter=t=>t&&t.name?t.name:""}activeItemHandler(t){this.input.accessibleActiveDescendant=this.listOpen&&(t||0===t)?"active_item":""}handleDocumentClick(t){t.composedPath().every((t=>t!==this.element))&&(this.updateInputText(!0),this.listOpen=!1)}async formatItem(t){return this.formatter(t)}componentWillLoad(){x(this)}connectedCallback(){/^((?!chrome|android).)*safari/i.test(navigator.userAgent)&&(this.isSafari=!0),this.items=this.processedItems=u(this.items),this.input=this.element.querySelector("duet-input"),this.input.addEventListener("duetChange",this.updateInputValue.bind(this)),this.input.addEventListener("click",(()=>{this.listOpen=!!this.inputValue.length})),this.element.addEventListener("keydown",this.handleInputKeyDownEvent.bind(this)),this.input.accessibleAutocomplete="list",this.input.accessibleControls="duet-combobox-list-element"}disconnectedCallback(){this.input.removeEventListener("duetChange",this.updateInputValue.bind(this)),this.input.removeEventListener("click",(()=>this.listOpen=!!this.inputValue.length)),this.element.removeEventListener("keydown",this.handleInputKeyDownEvent.bind(this)),this.listElement.removeEventListener("click",(t=>{t.stopPropagation()})),this.resizeObserver.disconnect()}componentDidLoad(){this.resizeObserver.observe(this.input),this.listElement.addEventListener("click",(t=>{t.stopPropagation()}))}onListClick(t,o){return t.preventDefault(),this.updateSelectedItems(o.id),this.listOpen=!1,this.listOpen}shouldListBeFiltered(){if(this.selectedItems.size&&this.input.value===this.inputValue){const t=this.items.filter((t=>this.selectedItems.has(t.id)));return!(this.formatter(t).toLowerCase()===this.input.value.toLowerCase())}return!0}returnFilteredOrNonFiltered(){return this.processedItems?this.shouldListBeFiltered()?this.getFilteredItems():this.sortFilteredItems(this.processedItems):[]}async updateSelectedItems(t){this.selectedItems.clear(),this.selectedItems&&(this.selectedItems.has(t)?this.selectedItems.delete(t):this.selectedItems.add(t)),await this.updateInputText()}async updateInputText(t=!1){const o=0===this.selectedItems.size?[]:this.items.filter((t=>this.selectedItems.has(t.id)));1===this.selectedItems.size?(this.input.value="",this.input.value=await this.formatItem(o[0]),this.input.scrollLeft=this.input.scrollWidth,this.activeItem=void 0,this.value=await this.formatItem(o[0]),this.duetChange.emit({value:o[0].value,item:o[0],component:"duet-combobox"})):t&&0===this.selectedItems.size&&(this.force&&(this.inputValue="",this.input.value=""),this.activeItem=void 0),this.listOpen=!1}updateInputValue(t){var o;this.inputValue=t.detail.value,this.listOpen=String(this.inputValue).length>0&&(null===(o=this.getFilteredItems())||void 0===o?void 0:o.length)>0}handleInputKeyDownEvent(t){if(this.input.accessibleActiveDescendant=void 0,b(t))return t.preventDefault(),this.selectActiveItem(),void(this.listOpen=!1);if(d(t)||l(t))return this.updateInputText(!0),void(this.listOpen=!1);let o=this.activeItem;if(n(t)?(t.preventDefault(),o=this.activeItem-1):h(t)&&(t.preventDefault(),o=this.listOpen?this.activeItem+1:this.activeItem,this.listOpen=!0),h(t)||n(t)){const t=this.shouldListBeFiltered()?this.getFilteredItems():this.processedItems;(o<0||!o)&&(o=0),o>=t.length&&(o=t.length-1),this.input.accessibleActiveDescendant="active_item",this.activeItem=o,this.scrollToActive()}this.announceActive()}selectActiveItem(){if(void 0===this.activeItem)return;const t=this.returnFilteredOrNonFiltered();this.updateSelectedItems(t[this.activeItem].id)}announceActive(t){t||(t=this.returnFilteredOrNonFiltered()),void 0!==this.activeItem&&-1!==this.activeItem&&(this.selectionMsg=this.formatLabel(t[this.activeItem],t.length,this.items.length))}scrollToActive(){const t=this.listElement.querySelector(".active");t&&t.scrollIntoView({behavior:"smooth",block:"center"})}formatLabel(t,o,i){return t&&void 0!==i?(o===i?this.accessibleLabels.item:this.accessibleLabels.itemFiltered).replace("{name}",String(t.name)).replace("{current}",String(this.activeItem+1)).replace("{total}",String(o)).replace("{hiddenItems}",String(i-o)):""}getFilteredItems(){const t=this.processedItems.filter((t=>String(t.value).toLowerCase().includes(this.inputValue.toLowerCase())||String(t.name).toLowerCase().includes(this.inputValue.toLowerCase())||this.selectedItems.has(t.id)));return this.sortFilteredItems(t)}sortFilteredItems(t){return t.length>0&&t.filter((t=>this.selectedItems.has(t.id))).forEach((o=>{const i=t.indexOf(o);t.splice(i,1),t.unshift(o)})),t}render(){const o=this.returnFilteredOrNonFiltered();return t(s,{role:"combobox","aria-expanded":this.listOpen?"true":"false","aria-owns":this.listOpen?"duet-combobox-list-element":void 0,"aria-haspopup":"listbox",class:{"duet-combobox":!0,[`duet-theme-${this.theme}`]:!0}},t("slot",null),this.isSafari&&t("duet-visually-hidden",{"aria-live":"assertive","aria-atomic":"true","aria-relevant":"all"},this.selectionMsg),t("div",{role:"list",class:{"duet-combobox-list":!0,open:this.listOpen},ref:t=>this.listContainer=t},t("ul",{role:"listbox",ref:t=>this.listElement=t,id:"duet-combobox-list-element",class:"listbox"},this.processedItems&&o.map(((i,e)=>t(g,{item:i,active:e===this.activeItem,selected:this.selectedItems.has(i.id),search:this.inputValue,total:o.length,clickHandler:t=>this.onListClick(t,i),label:this.formatLabel(i,this.returnFilteredOrNonFiltered().length,this.items.length)}))))))}get element(){return c(this)}static get watchers(){return{activeItem:["activeItemHandler"]}}};v.style='.sc-duet-combobox-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;width:auto;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#00294d}.duet-combobox-list.sc-duet-combobox{position:absolute;top:calc(100% - 12px);display:none;overflow:hidden;background:white;border-radius:0 4px;box-shadow:0 2px 10px 0 rgba(0, 41, 77, 0.1)}.duet-combobox-list.open.sc-duet-combobox{z-index:700;display:block}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox{max-height:200px;padding:0.75rem 0;margin:0;overflow-y:scroll;font-weight:600;list-style:none;cursor:pointer;scroll-behavior:smooth}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox{padding:4px 0}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:not(.selected){padding-left:16px}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:not(.selected) .highlight.sc-duet-combobox{text-decoration:underline}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.option.sc-duet-combobox .option-link.sc-duet-combobox{display:block;width:100%}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.option.sc-duet-combobox .option-tags.sc-duet-combobox{float:right;padding-right:0.875rem;font-weight:400;color:#909599}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.option-link.sc-duet-combobox{display:block;width:100%}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.selected.sc-duet-combobox{padding-left:0;background:#cde5f1}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.selected.option.sc-duet-combobox .option-icon.sc-duet-combobox{padding:0 8px 0 8px}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.selected.option.sc-duet-combobox .option-tags.sc-duet-combobox{color:#909599}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.active.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover{color:white;background:#0077b3}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.active.sc-duet-combobox .option-tags.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus .option-tags.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover .option-tags.sc-duet-combobox{color:#e1e3e6}';export{v as duet_combobox}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- import{r as t,c as i,h as e,F as a,H as n,g as s}from"./p-56212fca.js";import{c as r}from"./p-c1325e35.js";import{d as o}from"./p-dbb4a588.js";import{j as h,k as p,d as l,b as d,a as u,c,l as g,m}from"./p-54f35a79.js";import{g as b}from"./p-ede854e1.js";import{i as v}from"./p-abf8eaf7.js";import"./p-5a9d75e1.js";const f=class{constructor(e){t(this,e),this.duetPageChange=i(this,"duetPageChange",3),this.listId=r("duet-pagination-list"),this.numbersStore="",this.totalPages=10,this.internalSectionIndex=0,this.theme="",this.jumpString="...",this.variation="default",this.accessibleLabelsDefaults={en:{next_page:"Next page",previous_page:"Previous page",first_page:"First page",last_page:"Last page",jump_to:"Jump to page",go_to:"Go to page",description:"You may use arrow keys to select page number, or enter a page number when this element is in focus to jump to a page",pagination_label:"Pagination, choose a number to jump to a page",prev_section:"Show previous {0} page numbers, screen reader user should use arrowkeys to navigate",next_section:"Show next {0} page numbers, screen reader user should use arrowkeys to navigate"},fi:{next_page:"Seuraava sivu",previous_page:"Edellinen sivu",first_page:"Ensimmäinen sivu",last_page:"Viimeinen sivu",jump_to:"Siirry sivulle",go_to:"Siirry sivulle",description:"Voit käyttää nuolinäppäimiä sivunumeron valitsemiseen, tai kirjoittaa sivunumeron, jos tämä elementti on aktiivinen, siirtymään sivulle",pagination_label:"Sivutus, valitse sivunumero siirtyäksesi sivulle",prev_section:"Näytä edelliset {0} sivunumerot, käyttäjän pitää käyttää nuolinäppäimiä navigoidaksesi",next_section:"Näytä seuraavat {0} sivunumerot, käyttäjän pitää käyttää nuolinäppäimiä navigoidaksesi"},sv:{next_page:"Nästa sida",previous_page:"Föregående sida",first_page:"Första sidan",last_page:"Sista sidan",jump_to:"Hoppa till sida",go_to:"Hoppa till sida",description:"Du kan använda piltangenterna för att välja sida, eller skriva in sida när elementet är i fokus för att hoppa till en sida",pagination_label:"Sidutning, välj en siffra för att hoppa till en sida",prev_section:"Visa föregående {0} sidnummer, skrivbordsläsare ska använda piltangenterna för att navigera",next_section:"Visa nästa {0} sidnummer, skrivbordsläsare ska använda piltangenterna för att navigera"}},this.accessibleLabels=b(this.accessibleLabelsDefaults),this.take=5,this.visibleItems=5,this.total=1e3,this.ariaControls="",this.current=1,this.actionChain=async(t,i)=>{if(0===t)this.current=1;else if(i!==t){const i=Math.ceil(t/this.visibleItems)-1;i!==this.internalSectionIndex&&(this.internalSectionIndex=i,await this.setFocus())}},this.emitPageEvent=o(((t,i)=>{const e=Number(i||this.current);this.duetPageChange.emit({component:"duet-pagination",from:e*this.take,to:e*this.take+this.take,current:e,take:this.take,type:"page",originalEvent:t})}),500),this.getEnteredNumber=o((t=>{this.emitPageEvent(t,this.numbersStore),this.current=Number(this.numbersStore),this.numbersStore="",this.duetPageChange.emit({component:"duet-pagination",from:this.current*this.take,to:this.current*this.take+this.take,current:this.current,take:this.take,type:"jump",originalEvent:t})}),500)}watchStateHandler(t,i){this.actionChain(t,i)}componentWillLoad(){this.internalSectionIndex=Math.ceil(this.current/this.visibleItems)-1,this.calculatePageTake(),v(this)}componentWillRender(){0!==this.internalSectionIndex&&this.internalSectionIndex!==this.totalPages&&this.calculatePageTake()}componentDidRender(){this.setFocus()}calculatePageTake(){this.totalPages=Math.ceil(this.total/this.take)}async onMouseHandler(t,i){t.preventDefault(),t.stopPropagation(),this.current=this.current+i}async onKeyboardDown(t){let i=this.current;(l(t)||d(t))&&i--,(u(t)||c(t))&&i++,h(t)&&i<=this.totalPages&&(this.current=i,this.emitPageEvent(t)),p(t)&&this.shouldDisplayNavigation()&&(this.numbersStore=this.numbersStore+t.key,Number(this.numbersStore)>this.totalPages&&(this.numbersStore=this.totalPages+""),this.getEnteredNumber(t))}async setFocus(){const t=this.nativeNav.querySelector("li.duet-pagination-item-is-active duet-button");t&&await t.setFocus()}pageClickHandler(t){t.preventDefault();const i=Number(t.target.getAttribute("data-id"));this.current=i,this.emitPageEvent({},i)}sectionClickHandler(t,i){t.preventDefault();let e=this.internalSectionIndex+i;e>=this.totalPages/this.take&&(e=this.totalPages/this.take-1),this.internalSectionIndex=e>=0?e:0}jumpToStart(t){t.preventDefault(),this.internalSectionIndex=0,this.current=1}jumpToEnd(t){t.preventDefault(),this.internalSectionIndex=this.totalPages/this.take-1,this.current=this.totalPages}renderPageNumbers(){const t=[];let i=this.internalSectionIndex*this.visibleItems;do{if(i++,i>this.totalPages)break;t.push(e("li",{class:{"duet-pagination-item":!0,"duet-pagination-item-is-active":i===this.current},role:"menuitem"},e("duet-button",{class:{"duet-pagination-link":!0},color:i!==this.current?"secondary":"primary","data-id":i,"center-text":!0,variation:"plain",margin:"none",accessibleLabel:`${this.accessibleLabels.go_to} ${i}`,onClick:t=>this.pageClickHandler(t)},e("div",{class:"duet-pagination-page-number","aria-hidden":!0},i))))}while(i<this.visibleItems+this.internalSectionIndex*this.visibleItems);return t}shouldDisplayNavigation(){return"compact"!==this.variation&&!(2*this.visibleItems>this.total/this.take)}render(){return e(n,{onKeyDown:t=>this.onKeyboardDown(t)},e("nav",{role:"navigation","aria-labelledby":this.listId,"aria-describedby":this.listId,ref:t=>this.nativeNav=t,"aria-controls":this.ariaControls,class:{"duet-pagination-nav":!0,[`duet-pagination-variation-${this.variation}`]:!0}},""!==this.numbersStore&&e("div",{"aria-live":"assertive","aria-relevant":"text",class:"duet-pagination-overlay","aria-label":`${this.accessibleLabels.jump_to} ${this.numbersStore}`,part:"navigation-overlay"},e("duet-badge",null,"jump to page : ",this.numbersStore)),e("ol",{id:this.listId,class:{"duet-pagination":!0,"duet-pagination-is-dimmed":""!==this.numbersStore},role:"menubar","aria-label":this.accessibleLabels.pagination_label,"aria-description":this.accessibleLabels.description},e("li",{class:{"duet-pagination-page-button":!0,"duet-pagination-button-first":!0},role:"menuitem",part:"navigation-arrow"},e("duet-action-button",{disabled:0===this.internalSectionIndex&&this.current<=1,"data-direction":"back",onClick:t=>this.onMouseHandler(t,-1),"aria-label":this.accessibleLabels.previous_page,"icon-name":"action-arrow-left-small"})),0!==this.internalSectionIndex&&this.shouldDisplayNavigation()&&e(a,null,e("li",{class:"duet-pagination-item",role:"menuitem",part:"navigation-jump"},e("duet-button",{class:"duet-pagination-link","center-text":"true",variation:"plain",color:"secondary",margin:"none",accessibleLabel:this.accessibleLabels.first_page,onClick:t=>this.jumpToStart(t)},e("div",{class:"duet-pagination-page-number"},"1"))),e("li",{class:"duet-pagination-item",role:"menuitem",part:"navigation-section"},e("duet-button",{class:"duet-pagination-link","center-text":"true",color:"secondary",variation:"plain",margin:"none",accessibleLabel:this.accessibleLabels.prev_section.replace("{0}",`${this.visibleItems}`),onClick:t=>this.sectionClickHandler(t,-1)},e("div",{class:"duet-pagination-page-number","aria-hidden":"true"},"...")))),this.renderPageNumbers(),this.internalSectionIndex!==this.totalPages/this.visibleItems-1&&this.shouldDisplayNavigation()&&e(a,null,e("li",{class:"duet-pagination-item",role:"menuitem",part:"navigation-section"},e("duet-button",{class:"duet-pagination-link","center-text":"true",color:"secondary",variation:"plain",margin:"none",accessibleLabel:this.accessibleLabels.next_section.replace("{0}",`${this.visibleItems}`),onClick:t=>this.sectionClickHandler(t,1)},e("div",{class:"duet-pagination-page-number","aria-hidden":"true"},"..."))),e("li",{class:"duet-pagination-item",role:"menuitem",part:"navigation-jump"},e("duet-button",{class:"duet-pagination-link","center-text":"true",color:"secondary",variation:"plain",margin:"none",accessibleLabel:this.accessibleLabels.last_page,onClick:t=>this.jumpToEnd(t)},e("div",{class:"duet-pagination-page-number"},this.totalPages)))),e("li",{class:{"duet-pagination-page-button":!0,"duet-pagination-button-last":!0},role:"menuitem",part:"navigation-arrow"},e("duet-action-button",{disabled:this.current===this.totalPages&&this.internalSectionIndex===Math.ceil(this.totalPages/this.visibleItems)-1,class:"duet-date-dialog-next","aria-label":this.accessibleLabels.next_page,onClick:t=>this.onMouseHandler(t,1),"icon-name":"action-arrow-right-small"})))))}get element(){return s(this)}static get watchers(){return{current:["watchStateHandler"]}}};f.style="*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:inline-block;margin:0 auto}.duet-pagination-nav{position:relative}.duet-pagination ::part(button){border:0}.duet-pagination,.duet-pagination li{display:flex;flex-wrap:wrap;gap:0.1rem;align-items:center}.duet-pagination-item-is-active .duet-pagination-page-number{border-bottom-color:inherit;border-bottom-style:solid;border-bottom-width:2px}.duet-pagination duet-button{width:30px;min-width:36px;font-weight:600;text-decoration:none;border-left-width:0}.duet-pagination-overlay{position:absolute;top:1rem;z-index:300;width:100%;text-align:center}.duet-pagination.duet-pagination-is-dimmed{opacity:0.5}";const k=class{constructor(e){t(this,e),this.duetRangeStepUpdate=i(this,"duetRangeStepUpdate",7),this.leftBn=r("duetRangeStepper-left"),this.rightBn=r("duetRangeStepper-right"),this.theme="",this.stepIndex=1,this.stepSize=50,this.total=1e3,this.ariaLabelsDefaults={en:{next_increment:"Next range increment",previous_increment:"Previous range increment",x_of_y:"{0}–{1} of {2}"},fi:{next_increment:"Seuraava välillä",previous_increment:"Edellinen välillä",x_of_y:"{0}–{1} / {2}"},sv:{next_increment:"Nästa intervall",previous_increment:"Föregående intervall",x_of_y:"{0}–{1} av {2}"}},this.ariaLabels=b(this.ariaLabelsDefaults),this.ariaControls="",this.handleClick=(t,i)=>{t.preventDefault(),this.increment(i),this.handleStepClick(t)}}watchStateHandler(t){1===t?(this.leftBnRef.setAttribute("disabled",""),this.rightBnRef.focus()):this.leftBnRef.removeAttribute("disabled"),t===this.total/this.stepSize?(this.rightBnRef.setAttribute("disabled",""),this.leftBnRef.focus()):this.rightBnRef.removeAttribute("disabled")}handleStepClick(t){this.duetRangeStepUpdate.emit({originalEvent:t,component:"duet-range-stepper",from:this.stepIndex*this.stepSize-this.stepSize,to:this.stepIndex*this.stepSize,index:this.stepIndex})}componentWillLoad(){v(this)}componentDidLoad(){this.watchStateHandler(this.stepIndex)}increment(t){const i=this.stepIndex+t;i<=0?this.stepIndex=1:i*this.stepSize<=this.total&&(this.stepIndex=i)}generateStepSize(){let t=(this.stepIndex-1)*this.stepSize;0===t&&(t=1);const i=this.stepIndex*this.stepSize;return this.ariaLabels.x_of_y.replace("{0}",String(t)).replace("{1}",String(i)).replace("{2}",String(this.total))}async onKeyboardDown(t){let i=this.stepIndex,e=1;(l(t)||d(t)||g(t))&&(i--,e=-1,this.leftBnRef.focus()),(u(t)||c(t)||m(t))&&(i++,e=1),h(t)&&i>0&&i*this.stepSize<=this.total&&this.handleClick(t,e)}render(){return e("div",{class:{"duet-range-stepper":!0,"duet-theme-turva":"turva"===this.theme},onKeyDown:t=>this.onKeyboardDown(t),"aria-controls":this.ariaControls},e("span",{class:"duet-range-step-counter",part:"range-numbers"},this.generateStepSize()),e("duet-action-button",{class:"duet-range-step-button duet-range-step-minus",onClick:t=>this.handleClick(t,-1),id:this.leftBn,"aria-label":this.ariaLabels.previous_increment,ref:t=>this.leftBnRef=t,part:"navigation-arrow",iconName:"action-arrow-left-small"}),e("duet-action-button",{class:"duet-range-step-button duet-range-step-plus",onClick:t=>this.handleClick(t,1),"aria-label":this.ariaLabels.next_increment,id:this.rightBn,ref:t=>this.rightBnRef=t,part:"navigation-arrow",iconName:"action-arrow-right-small"}))}get element(){return s(this)}static get watchers(){return{stepIndex:["watchStateHandler"]}}};k.style="*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:inline-block;margin:0 auto}.duet-range-stepper{display:flex;flex-wrap:wrap;gap:0;align-items:baseline;justify-content:center;min-width:30px;min-height:30px;font-weight:600;text-decoration:none;border-left-width:0}.duet-range-stepper{white-space:nowrap}.duet-range-stepper .duet-range-step-counter{font-weight:600;color:#00294d}.duet-range-stepper ::part(button){border:0}";export{f as duet_pagination,k as duet_range_stepper}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- import{r as t,c as e,h as d,H as s,g as o}from"./p-56212fca.js";import{c as i}from"./p-c1325e35.js";import{i as c}from"./p-abf8eaf7.js";const g=class{constructor(d){t(this,d),this.duetChange=e(this,"duetChange",3),this.toggleId=i("DuetToggle"),this.theme="",this.margin="auto",this.label="label",this.required=!1,this.disabled=!1,this.checked=!1,this.onClick=t=>{t.preventDefault(),this.setFocus(),this.checked=!this.checked}}checkedChanged(t){this.duetChange.emit({checked:t,value:this.value,component:"duet-toggle"})}componentWillLoad(){c(this),void 0===this.value&&(this.value=this.identifier)}async setFocus(t){this.nativeInput.focus(t)}render(){const t=this.identifier||this.toggleId;return d(s,{onClick:this.disabled?void 0:this.onClick,class:{"duet-m-0":"none"===this.margin}},d("div",{class:{"duet-toggle":!0,"duet-theme-turva":"turva"===this.theme}},d("duet-label",{theme:this.theme,for:t},this.label),d("label",{class:"duet-switch",htmlFor:t},d("input",{type:"checkbox",value:this.value,"aria-controls":this.accessibleControls,"aria-activedescendant":this.accessibleActiveDescendant,"aria-owns":this.accessibleOwns,"aria-describedby":this.accessibleDescribedBy,id:t,role:this.role,name:this.name,checked:this.checked,required:this.required,disabled:this.disabled,ref:t=>this.nativeInput=t}),d("div",{class:"duet-slider"}))))}get element(){return o(this)}static get watchers(){return{checked:["checkedChanged"]}}};g.style='*.sc-duet-toggle,*.sc-duet-toggle::after,*.sc-duet-toggle::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-toggle-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;-webkit-user-select:none;user-select:none;display:inline-flex;width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-toggle-h:last-child,.sc-duet-toggle-h:last-of-type{margin-right:0 !important}.duet-m-0.sc-duet-toggle-h{margin:0 !important}duet-label.sc-duet-toggle{display:block !important;width:100% !important}.duet-switch.sc-duet-toggle{position:relative;display:block;width:48px;height:28px}.duet-switch.sc-duet-toggle input.sc-duet-toggle{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-switch.sc-duet-toggle input.sc-duet-toggle:checked+.duet-slider.sc-duet-toggle{background-color:#0077b3;box-shadow:none}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:checked+.duet-slider.sc-duet-toggle{background-color:#c60c30}.duet-switch.sc-duet-toggle input.sc-duet-toggle:checked+.duet-slider.sc-duet-toggle::before{background-color:white;box-shadow:none;transform:translateX(20px)}.duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled+.duet-slider.sc-duet-toggle{cursor:default}.duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:not(:checked)+.duet-slider.sc-duet-toggle{box-shadow:inset 0 0 0 1px #cfd2d4}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:not(:checked)+.duet-slider.sc-duet-toggle{box-shadow:inset 0 0 0 1px #cfcfd1}.duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:not(:checked)+.duet-slider.sc-duet-toggle::before{background:#cfd2d4}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:not(:checked)+.duet-slider.sc-duet-toggle::before{background:#cfcfd1}.duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:checked+.duet-slider.sc-duet-toggle{background:#cfd2d4}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:checked+.duet-slider.sc-duet-toggle{background:#cfcfd1}.user-is-tabbing.sc-duet-toggle-h .duet-switch.sc-duet-toggle input.sc-duet-toggle:focus+.duet-slider.sc-duet-toggle{box-shadow:0 0 0 1px white, 0 0 0 3px rgba(0, 119, 179, 0.75)}.user-is-tabbing.sc-duet-toggle-h .duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:focus+.duet-slider.sc-duet-toggle{box-shadow:0 0 0 1px white, 0 0 0 3px #171c3a}.duet-slider.sc-duet-toggle{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background-color:white;border-radius:20px;box-shadow:inset 0 0 0 1px #00294d;transition:background-color 300ms ease}.duet-theme-turva.sc-duet-toggle .duet-slider.sc-duet-toggle{box-shadow:inset 0 0 0 1px #171c3a}.duet-slider.sc-duet-toggle::before{position:absolute;bottom:4px;left:4px;width:20px;height:20px;content:"";background-color:#00294d;border-radius:50%;transition:300ms ease}.duet-theme-turva.sc-duet-toggle .duet-slider.sc-duet-toggle::before{background-color:#171c3a}';export{g as duet_toggle}
@@ -1,4 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,a,i){function n(e){return e instanceof a?e:new a((function(t){t(e)}))}return new(a||(a=Promise))((function(a,o){function r(e){try{u(i.next(e))}catch(t){o(t)}}function d(e){try{u(i["throw"](e))}catch(t){o(t)}}function u(e){e.done?a(e.value):n(e.value).then(r,d)}u((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},i,n,o,r;return r={next:d(0),throw:d(1),return:d(2)},typeof Symbol==="function"&&(r[Symbol.iterator]=function(){return this}),r;function d(e){return function(t){return u([e,t])}}function u(r){if(i)throw new TypeError("Generator is already executing.");while(a)try{if(i=1,n&&(o=r[0]&2?n["return"]:r[0]?n["throw"]||((o=n["return"])&&o.call(n),0):n.next)&&!(o=o.call(n,r[1])).done)return o;if(n=0,o)r=[r[0]&2,o.value];switch(r[0]){case 0:case 1:o=r;break;case 4:a.label++;return{value:r[1],done:false};case 5:a.label++;n=r[1];r=[0];continue;case 7:r=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(r[0]===6||r[0]===2)){a=0;continue}if(r[0]===3&&(!o||r[1]>o[0]&&r[1]<o[3])){a.label=r[1];break}if(r[0]===6&&a.label<o[1]){a.label=o[1];o=r;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(r);break}if(o[2])a.ops.pop();a.trys.pop();continue}r=t.call(e,a)}catch(d){r=[6,d];n=0}finally{i=o=0}if(r[0]&5)throw r[1];return{value:r[0]?r[1]:void 0,done:true}}};
2
- /*!
3
- * Built with Duet Design System
4
- */System.register(["./p-cce3f6c1.system.js","./p-5f6bd5db.system.js","./p-1d87a095.system.js","./p-f69b64c9.system.js","./p-6b03322b.system.js","./p-b6d51921.system.js"],(function(e){"use strict";var t,a,i,n,o,r,d,u,s,l;return{setters:[function(e){t=e.h;a=e.r;i=e.c;n=e.H;o=e.g},function(e){r=e.c},function(e){d=e.F},function(e){u=e.a;s=e.g},function(e){l=e.i},function(){}],execute:function(){var c={day:"numeric",month:"long"};var p={day:"numeric",month:"long",year:"numeric"};var h={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",c),formatterLong:new Intl.DateTimeFormat("fi-FI",p)},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",c),formatterLong:new Intl.DateTimeFormat("en-GB",p)},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",c),formatterLong:new Intl.DateTimeFormat("sv-SE",p)}};var f={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>'};var m=function(e){var a=e.onClick,i=e.placeholder,n=e.name,o=e.inputLabel,r=e.value,d=e.valueAsDate,u=e.formattedValue,s=e.language,l=e.identifier,c=e.theme,p=e.disabled,m=e.error,b=e.role,g=e.required,v=e.tooltip,y=e.tooltipDirection,k=e.labelHidden,x=e.buttonRef,w=e.inputRef,D=e.onInput,S=e.onBlur,M=e.onFocus,F=e.accessibleActiveDescendant,I=e.accessibleControls,L=e.accessibleOwns,T=e.accessibleDescribedBy,Y=e.echoPlaceholder,V=e.caption;var A=h[s],C=A.buttonLabel,E=A.selected,j=A.formatterLong;return t("div",{class:{"duet-theme-turva":c==="turva","duet-date-input":true}},t("duet-input",{label:o,value:u,placeholder:i,id:l,disabled:p,theme:c,error:m,role:b,required:g,tooltip:v,tooltipDirection:y,margin:"none",component:"date",labelHidden:k,accessibleAutocomplete:"none",onDuetInput:D,onDuetFocus:M,onDuetBlur:S,autoComplete:"off",disallowPattern:"[^0-9\\.\\-\\/]",expand:true,ref:w,accessibleActiveDescendant:F,accessibleControls:I,accessibleOwns:L,accessibleDescribedBy:T,echoPlaceholder:Y,caption:V},t("button",{class:{"duet-date-button":true,"duet-no-label":k},onClick:a,disabled:p,ref:x,type:"button"},t("duet-icon",{icon:f.svg,margin:"none",size:"small",color:"currentColor"}),t("duet-visually-hidden",null,C,d&&t("span",null,", ",E," ",j.format(d))))),t("input",{type:"hidden",name:n,value:r}))};var b=/^(\d{1,2})[\.\-\/](\d{1,2})[\.\-\/](\d{4})$/;var g=/^(\d{4})-(\d{2})-(\d{2})$/;var v="dd.mm.yyyy";var y="YYYY-MM-DD";function k(e,t,a){var i=parseInt(a,10);var n=parseInt(t,10);var o=parseInt(e,10);var r=Number.isInteger(o)&&Number.isInteger(n)&&Number.isInteger(i)&&n>0&&n<=12&&i>0&&i<=31&&o>0;if(r){return new Date(o,n-1,i)}}function x(e){if(!e){return}var t=e.match(b);if(t){return k(t[3],t[2],t[1])}}function w(e){if(!e){return}var t=e.match(g);if(t){return k(t[1],t[2],t[3])}}function D(e,t){if(!e){return""}var a=e.getDate().toString(10);var i=(e.getMonth()+1).toString(10);var n=e.getFullYear().toString(10);if(e.getDate()<10){a="0".concat(a)}if(e.getMonth()<9){i="0".concat(i)}return t.replace(/MM/i,i).replace(/YYYY/i,n).replace(/DD/i,a)}function S(e){return D(e,v)}function M(e){return D(e,y)}function F(e,t){if(e==null||t==null){return false}return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function I(e,t){var a=new Date(e);a.setDate(a.getDate()+t);return a}function L(e,t){if(t===void 0){t=1}var a=new Date(e);var i=a.getDay();var n=(i<t?7:0)+i-t;a.setDate(a.getDate()-n);return a}function T(e,t){if(t===void 0){t=1}var a=new Date(e);var i=a.getDay();var n=(i<t?-7:0)+6-(i-t);a.setDate(a.getDate()+n);return a}function Y(e){return new Date(e.getFullYear(),e.getMonth(),1)}function V(e){return new Date(e.getFullYear(),e.getMonth()+1,0)}function A(e,t){var a=new Date(e);a.setMonth(t);return a}function C(e,t){var a=new Date(e);a.setFullYear(t);return a}function E(e,t,a){return j(e,t,a)===e}function j(e,t,a){var i=e.getTime();if(t&&t instanceof Date&&i<t.getTime()){return t}if(a&&a instanceof Date&&i>a.getTime()){return a}return e}function P(e,t){var a=[];var i=e;while(!F(i,t)){a.push(i);i=I(i,1)}a.push(i);return a}function B(e,t){if(t===void 0){t=1}var a=L(Y(e),t);var i=T(V(e),t);return P(a,i)}var z=function(e){var a=e.focusedDay,i=e.today,n=e.day,o=e.language,r=e.onDaySelect,d=e.onKeyboardNavigation,u=e.ref,s=e.inRange,l=e.isSelected;var c=F(n,i);var p=F(n,a);var f=n.getMonth()!==a.getMonth();var m=!s;var b=h[o].formatterShort;function g(e){r(e,n)}return t("button",{class:{"duet-date-table-button":true,outside:m,disabled:f,today:c},tabIndex:p?0:-1,onClick:g,onKeyDown:d,"aria-disabled":m||f,"aria-pressed":l?"true":"false",type:"button",ref:u},t("span",{"aria-hidden":"true"},n.getDate()),t("duet-visually-hidden",null,b.format(n)))};function N(e,t){console.log({from:e,to:t});var a=[];for(var i=e;i<=t;i++){a.push(i)}return a}function U(e,t){var a=[];for(var i=0;i<e.length;i+=t){a.push(e.slice(i,i+t))}return a}function H(e){var t;var a=e.trim().split("+");var i=a.pop();return[((t=a[0])===null||t===void 0?void 0:t.toLowerCase())==="shift",i]}function _(e){var t=Object.keys(e).map((function(t){return[H(t),e[t]]}));return function e(a){if(!(a instanceof KeyboardEvent)){return}var i=t.find((function(e){var t=e[0],i=t[0],n=t[1];return(n.toUpperCase()===a.key.toUpperCase()||n===a.code)&&i===a.shiftKey}));if(i){i[1](a);a.preventDefault()}}}var O=function(e){var a=e.selectedDate,i=e.focusedDate,n=e.labelledById,o=e.theme,r=e.language,d=e.min,u=e.max,s=e.onDateSelect,l=e.onKeyboardNavigation,c=e.focusedDayRef,p=e.onFocusEnter,f=e.onFocusExit;var m=h[r].dayLabels;var b=new Date;var g=B(i);function v(e){var t=e.currentTarget;var a=e.relatedTarget;if(a&&!t.contains(a)){f(e)}}return t("table",{class:{"duet-date-table":true,"duet-theme-turva":o==="turva"},"aria-labelledby":n,onFocusin:p,onFocusout:v},t("thead",null,t("tr",null,m.map((function(e){return t("th",{scope:"col"},t("span",{"aria-hidden":"true"},e.substr(0,2)),t("duet-visually-hidden",null,e))})))),t("tbody",null,U(g,7).map((function(e){return t("tr",{class:"duet-date-table-row"},e.map((function(e){return t("td",{class:"duet-date-table-cell"},t(z,{day:e,today:b,language:r,focusedDay:i,inRange:E(e,d,u),isSelected:F(e,a),onDaySelect:s,onKeyboardNavigation:l,ref:function(t){if(t&&F(e,i)){c(t)}}}))})))}))))};var K='*.sc-duet-date-picker,*.sc-duet-date-picker::after,*.sc-duet-date-picker::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-date-picker-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;position:relative;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:top}.sc-duet-date-picker-h:last-child,.sc-duet-date-picker-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-date-picker-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-date-picker-h{width:100% !important}.duet-m-0.sc-duet-date-picker-h{margin:0 !important}.duet-date.sc-duet-date-picker{position:relative;width:100%}.duet-date.sc-duet-date-picker button.sc-duet-date-picker,.duet-date-dialog.sc-duet-date-picker button.sc-duet-date-picker{max-width:initial !important;min-height:initial !important;padding:0 !important;margin:0 !important;transition:initial}.duet-date-button.sc-duet-date-picker{-webkit-user-select:none;user-select:none;position:absolute;top:1px;right:1px;z-index:200;display:flex;align-items:center;justify-content:center;width:48px;height:calc(100% - 2px);color:#00294d;cursor:pointer;background:transparent !important;border-left:1px solid #cfd2d4 !important;border-radius:0 4px 4px 0 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker{color:#171c3a;border-color:#cfcfd1}.duet-date-button.sc-duet-date-picker::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:"";background:linear-gradient(to left, rgba(207, 210, 212, 0.2) 0%, rgba(207, 210, 212, 0.2) 1px, rgba(207, 210, 212, 0.1) 1px, rgba(207, 210, 212, 0) 100%)}.duet-date-button.sc-duet-date-picker:disabled{pointer-events:none;cursor:default;background:#f5f8fa !important;border:0 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:disabled{background:#f5f5f7 !important}.duet-date-button.sc-duet-date-picker:disabled::before{display:none}.duet-date-button.sc-duet-date-picker:disabled duet-icon.sc-duet-date-picker{opacity:0.4}.duet-date-button.sc-duet-date-picker duet-icon.sc-duet-date-picker{transform:translateY(-1px)}.duet-date-button.sc-duet-date-picker:active duet-icon.sc-duet-date-picker{transform:translateY(0)}.duet-date-button.sc-duet-date-picker:focus{color:#0077b3;border-color:transparent;outline:0;box-shadow:0 0 0 2px #0077b3}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:focus{color:#171c3a;box-shadow:0 0 0 2px #171c3a}.duet-date-dialog.sc-duet-date-picker{position:absolute;top:100%;left:0;z-index:900;display:flex;width:100%;visibility:hidden;opacity:0;transition:transform 300ms ease, opacity 300ms ease, visibility 300ms ease;transform:scale(0.96) translateZ(0) translateY(-20px);transform-origin:top right}@media (min-width: 36em){.duet-date-dialog.left.sc-duet-date-picker{right:0;left:auto;width:auto}}@media (max-width: 35.9375em){.duet-date-dialog.sc-duet-date-picker{position:fixed;top:0;right:0;bottom:0;background:rgba(0, 41, 77, 0.75);transition:opacity 400ms ease, visibility 400ms ease;transform:translateZ(0);transform-origin:bottom center}.duet-date-dialog.duet-theme-turva.sc-duet-date-picker{background:rgba(23, 28, 58, 0.75)}}.duet-date-dialog.active.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:scale(1.0001) translateZ(0) translateY(0)}@media (min-width: 36em){.duet-date-dialog.error.sc-duet-date-picker{top:calc(100% - 28px);margin-top:4px}}.duet-date-dialog-wrapper.sc-duet-date-picker{position:relative;z-index:600;width:100%;min-width:290px;max-width:310px;padding:16px 16px 20px;margin-top:8px;margin-left:auto;background:white;border:1px solid #e1e3e6;border-radius:4px;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);transform:none}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{border-color:#e4e4e6}@media (max-width: 35.9375em){.duet-date-dialog-wrapper.sc-duet-date-picker{position:absolute;bottom:0;left:0;z-index:900;max-width:none;min-height:25em;padding:0 8% 20px;margin:0;visibility:hidden;border:0;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;opacity:0;transition:transform 400ms ease, opacity 400ms ease, visibility 400ms ease;transform:translateZ(0) translateY(100%)}.active.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:translateZ(0) translateY(0)}}.duet-date-table.sc-duet-date-picker{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:#00294d;text-align:center;border-spacing:0;border-collapse:collapse}.duet-date-table.duet-theme-turva.sc-duet-date-picker{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#171c3a}.duet-date-table.sc-duet-date-picker th.sc-duet-date-picker{padding-bottom:8px;font-size:0.75rem;font-weight:600;line-height:1.25;text-decoration:none;text-transform:uppercase;letter-spacing:1px}.duet-date-table.sc-duet-date-picker .duet-date-table-cell.sc-duet-date-picker{text-align:center}.duet-date-table-button.sc-duet-date-picker{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:1.25 !important;color:#00294d !important;text-align:center;vertical-align:initial !important;cursor:pointer;background:transparent !important;border-radius:50% !important;transition:initial !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker{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:#171c3a !important}.duet-date-table-button.sc-duet-date-picker:hover{background:#e6f2f8 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:hover{background:#f9e6ea !important}.duet-date-table-button.today.sc-duet-date-picker{z-index:200;color:#004d80 !important;background:#f3f9fc !important;box-shadow:0 0 0 1px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.today.sc-duet-date-picker{color:#940925 !important;background:#fcf3f4 !important;box-shadow:0 0 0 1px #c60c30 !important}.duet-date-table-button[aria-pressed=true].sc-duet-date-picker,.duet-date-table-button.sc-duet-date-picker:focus{color:white !important;background:#0077b3 !important;outline:0}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button[aria-pressed=true].sc-duet-date-picker,.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:focus{color:white !important;background:#c60c30 !important}.duet-date-table-button.sc-duet-date-picker:active{z-index:200;color:white !important;background:#0077b3 !important;box-shadow:0 0 5px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:active{color:white !important;background:#c60c30 !important;box-shadow:0 0 5px #c60c30 !important}.duet-date-table-button.sc-duet-date-picker:focus{z-index:200;box-shadow:0 0 5px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:focus{box-shadow:0 0 5px #c60c30 !important}.duet-date-table-button.disabled.sc-duet-date-picker{color:#909599 !important;cursor:default;background:transparent !important;box-shadow:none !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.disabled.sc-duet-date-picker{color:#747475 !important;background:transparent !important;box-shadow:none !important}.duet-date-table-button.outside.sc-duet-date-picker{color:#909599 !important;pointer-events:none;cursor:default;background:#f5f8fa !important;box-shadow:none;opacity:0.75}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.outside.sc-duet-date-picker{color:#747475;background:#f5f5f7;box-shadow:none}.duet-date-dialog-header.sc-duet-date-picker{margin-bottom:16px !important;display:flex;align-items:center;justify-content:space-between;width:100%}.duet-date-dialog-buttons.sc-duet-date-picker{white-space:nowrap}.duet-date-dialog-buttons.sc-duet-date-picker .sc-duet-date-picker::part(button){border:0}.duet-date-dialog-select.sc-duet-date-picker{position:relative;display:inline-flex;margin-top:4px}.duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{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:#00294d;pointer-events:none;border-radius:4px}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#171c3a}.duet-date-dialog-select.sc-duet-date-picker span.sc-duet-date-picker{margin-right:4px}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;font-size:1rem;cursor:pointer;opacity:0}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #0077b3}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #171c3a}.duet-date-dialog-mobile-header.sc-duet-date-picker{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 #cfd2d4}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker{position:absolute;top:-8px;right:-8px;width:auto;padding:0;margin:0;overflow:visible;border:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-mobile-header.sc-duet-date-picker{border-color:#cfcfd1}.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:inline-block;max-width:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:none}}.duet-date-picker-close.sc-duet-date-picker{display:flex;align-items:center;justify-content:center;width:24px;height:24px !important;padding:0 !important;color:#00294d !important;cursor:pointer;background:#f5f8fa !important;border-radius:50%;-webkit-appearance:none;appearance:none}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker{opacity:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker{background:#f5f5f7 !important}.duet-date-picker-close.sc-duet-date-picker:hover{background:#f5f8fa !important}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:hover{background:#f5f5f7 !important}.duet-date-picker-close.sc-duet-date-picker:focus{outline:none;box-shadow:0 0 0 2px #0077b3}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker:focus{opacity:1}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:focus{box-shadow:0 0 0 2px #171c3a}';var R=e("duet_date_picker",function(){function e(e){var t=this;a(this,e);this.duetChange=i(this,"duetChange",7);this.duetBlur=i(this,"duetBlur",7);this.duetFocus=i(this,"duetFocus",7);this.monthSelectId=r("DuetDatePicker");this.yearSelectId=r("DuetDatePicker");this.dialogLabelId=r("DuetDatePicker");this.initialTouchX=null;this.initialTouchY=null;this.focusTarget=null;this.open=false;this.focusedDay=new Date;this.inputValue="";this.theme="";this.expand=false;this.name="";this.identifier="";this.label="";this.margin="auto";this.language=u();this.placeholderDefaults={fi:"pp.kk.vvvv",en:"dd.mm.yyyy",sv:"dd.mm.åååå"};this.placeholder=s(this.placeholderDefaults,this.language);this.echoPlaceholder=false;this.disabled=false;this.error="";this.labelHidden=false;this.required=false;this.direction="right";this.tooltip="";this.tooltipDirection="auto";this.value="";this.min="";this.max="";this.incrementYears=10;this.enableActiveFocus=function(){t.focusTarget="day-button"};this.disableActiveFocus=function(){t.focusTarget=null};this.toggleOpen=function(e){e.preventDefault();t.open?t.hide(false):t.show()};this.handleBlur=function(e){e.stopPropagation();t.duetBlur.emit({component:"duet-date-picker"})};this.handleFocus=function(e){e.stopPropagation();t.duetFocus.emit({component:"duet-date-picker"})};this.handleTouchStart=function(e){var a=e.changedTouches[0];t.initialTouchX=a.pageX;t.initialTouchY=a.pageY};this.handleTouchMove=function(e){e.preventDefault()};this.handleTouchEnd=function(e){var a=e.changedTouches[0];var i=a.pageX-t.initialTouchX;var n=a.pageY-t.initialTouchY;var o=70;var r=Math.abs(i)>=o&&Math.abs(n)<=o;var d=Math.abs(n)>=o&&Math.abs(i)<=o&&n>0;if(r){t.addMonths(i<0?1:-1)}else if(d){t.hide();e.preventDefault()}t.initialTouchY=null;t.initialTouchX=null};this.handleNextMonthClick=function(e){e.preventDefault();t.addMonths(1)};this.handlePreviousMonthClick=function(e){e.preventDefault();t.addMonths(-1)};this.handleEscKey=_({Escape:function(){return t.hide()},Esc:function(){return t.hide()}});this.handleKeyboardNavigation=_({ArrowRight:function(){return t.addDays(1)},Right:function(){return t.addDays(1)},ArrowLeft:function(){return t.addDays(-1)},Left:function(){return t.addDays(-1)},ArrowDown:function(){return t.addDays(7)},Down:function(){return t.addDays(7)},ArrowUp:function(){return t.addDays(-7)},Up:function(){return t.addDays(-7)},Home:function(){return t.startOfWeek()},End:function(){return t.endOfWeek()},PageUp:function(){return t.addMonths(-1)},PageDown:function(){return t.addMonths(1)},"Shift+PageUp":function(){return t.addYears(-1)},"Shift+PageDown":function(){return t.addYears(1)}});this.handleDaySelect=function(e,a){var i=w(t.min);var n=w(t.max);t.determineValidity(a);if(E(a,i,n)){t.setValue(a);t.hide()}};this.handleMonthSelect=function(e){t.setMonth(parseInt(e.target.value,10))};this.handleYearSelect=function(e){t.setYear(parseInt(e.target.value,10))};this.handleInputChange=function(e){t.inputValue=e.detail.value;var a=x(t.inputValue);t.determineValidity(a);if(a||t.inputValue===""){t.setValue(a)}}}e.prototype.updateValidity=function(){this.determineValidity(w(this.value))};e.prototype.updateInternalValue=function(){var e=w(this.value);var t=x(this.inputValue);if(!e){this.inputValue=""}else if(!F(e,t)){this.inputValue=S(e)}};e.prototype.componentWillLoad=function(){l(this);this.determineValidity(w(this.value));this.updateInternalValue()};e.prototype.componentDidUpdate=function(){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;break}};e.prototype.setFocus=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.datePickerInput.setFocus(e);return[2]}))}))};e.prototype.show=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.open=true;this.focusTarget="month-select";this.setFocusedDay(w(this.value)||new Date);return[2]}))}))};e.prototype.hide=function(e){if(e===void 0){e=true}return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.open=false;if(e){this.focusTarget="toggle-button"}return[2]}))}))};e.prototype.addDays=function(e){this.setFocusedDay(I(this.focusedDay,e))};e.prototype.addMonths=function(e){this.setMonth(this.focusedDay.getMonth()+e)};e.prototype.addYears=function(e){this.setYear(this.focusedDay.getFullYear()+e)};e.prototype.startOfWeek=function(){this.setFocusedDay(L(this.focusedDay))};e.prototype.endOfWeek=function(){this.setFocusedDay(T(this.focusedDay))};e.prototype.setMonth=function(e){var t=A(Y(this.focusedDay),e);var a=V(t);var i=A(this.focusedDay,e);this.setFocusedDay(j(i,t,a))};e.prototype.setYear=function(e){var t=C(Y(this.focusedDay),e);var a=V(t);var i=C(this.focusedDay,e);this.setFocusedDay(j(i,t,a))};e.prototype.setFocusedDay=function(e){this.focusedDay=j(e,w(this.min),w(this.max))};e.prototype.determineValidity=function(e){var t,a;var i=(a=(t=this.datePickerInput)===null||t===void 0?void 0:t.value)!==null&&a!==void 0?a:"";var n=i!==""&&e==null;var o=this.required&&e==null;var r=e?!E(e,null,w(this.max)):false;var d=e?!E(e,w(this.min)):false;this.validity={patternMismatch:false,customError:false,stepMismatch:false,tooLong:false,tooShort:false,typeMismatch:false,valueMissing:o,badInput:n,rangeUnderflow:d,rangeOverflow:r,valid:!(o||n||d||r)}};e.prototype.setValue=function(e){var t=M(e);if(t===this.value){return}this.value=t;this.duetChange.emit({component:"duet-date-picker",value:this.value,valueAsDate:e})};e.prototype.handleDocumentClick=function(e){var t=this;if(!this.open){return}var a=e.composedPath().every((function(e){return e!==t.dialogWrapperNode&&e!==t.datePickerButton}));if(a){this.hide(false)}};e.prototype.render=function(){var e=this;var a=w(this.value);var i=(a||this.focusedDay).getFullYear();var o=this.focusedDay.getMonth();var r=this.focusedDay.getFullYear();var u=h[this.language];var s=w(this.min);var l=w(this.max);var c=s!=null&&s.getMonth()===o&&s.getFullYear()===r;var p=l!=null&&l.getMonth()===o&&l.getFullYear()===r;var f=i-this.incrementYears;var b=i+this.incrementYears;if(s){f=Math.max(f,s.getFullYear())}if(l){b=Math.min(b,l.getFullYear())}return t(n,{class:{"duet-expand":this.expand,"duet-m-0":this.margin==="none"}},t("div",{class:"duet-date"},t(m,{value:this.value,valueAsDate:a,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:function(t){return e.datePickerButton=t},inputRef:function(t){return e.datePickerInput=t},accessibleActiveDescendant:this.accessibleActiveDescendant,accessibleControls:this.accessibleControls,accessibleOwns:this.accessibleOwns,accessibleDescribedBy:this.accessibleDescribedBy,echoPlaceholder:this.echoPlaceholder,caption:this.caption})),t("div",{class:{"duet-theme-turva":this.theme==="turva","duet-date-dialog":true,left:this.direction==="left",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(d,{moveFocusTo:this.focusedDayNode}),t("div",{class:"duet-date-dialog-wrapper",onKeyDown:this.handleEscKey,ref:function(t){return e.dialogWrapperNode=t}},t("duet-visually-hidden",{"aria-live":"polite"},u.keyboardInstruction),t("div",{class:"duet-date-dialog-mobile-header"},t("duet-label",{margin:"none"},this.label),t("button",{class:"duet-date-picker-close",ref:function(t){return e.closeButtonNode=t},onClick:function(){return e.hide()},type:"button"},t("duet-icon",{name:"navigation-close-small",margin:"none",color:"currentColor",size:"xx-small"}),t("duet-visually-hidden",null,u.closeLabel))),t("div",{class:"duet-date-dialog-header"},t("div",{class:"duet-date-dialog-dropdowns"},t("duet-visually-hidden",null,t("h2",{id:this.dialogLabelId,"aria-live":"polite","aria-atomic":"true"},u.monthLabels[o]," ",this.focusedDay.getFullYear())),t("duet-visually-hidden",null,t("label",{htmlFor:this.monthSelectId},u.monthSelectLabel)),t("div",{class:"duet-date-dialog-select"},t("select",{id:this.monthSelectId,class:"duet-date-month-select",ref:function(t){return e.monthSelectNode=t},onChange:this.handleMonthSelect},u.monthLabels.map((function(e,a){return t("option",{key:e,value:a,selected:a===o,disabled:!E(new Date(r,a,1),s?Y(s):null,l?V(l):null)},e)}))),t("div",{class:"duet-date-dialog-select-label","aria-hidden":"true"},t("span",null,u.monthLabelsShort[o]),t("duet-icon",{name:"action-arrow-down-small",color:"currentColor",margin:"none",size:"xxx-small"}))),t("duet-visually-hidden",null,t("label",{htmlFor:this.yearSelectId},u.yearSelectLabel)),t("div",{class:"duet-date-dialog-select"},t("select",{id:this.yearSelectId,class:"duet-date-year-select",onChange:this.handleYearSelect},N(f,b).map((function(e){return t("option",{key:e,selected:e===r},e)}))),t("div",{class:"duet-date-dialog-select-label","aria-hidden":"true"},t("span",null,this.focusedDay.getFullYear()),t("duet-icon",{name:"action-arrow-down-small",color:"currentColor",margin:"none",size:"xxx-small"})))),t("div",{class:"duet-date-dialog-buttons"},t("duet-action-button",{class:"duet-date-dialog-prev",onClick:this.handlePreviousMonthClick,disabled:c,"icon-name":"action-arrow-left-small"},u.prevMonthLabel),t("duet-action-button",{class:"duet-date-dialog-next",onClick:this.handleNextMonthClick,disabled:p,"icon-name":"action-arrow-right-small"},u.nextMonthLabel))),t(O,{selectedDate:a,focusedDate:this.focusedDay,onDateSelect:this.handleDaySelect,onKeyboardNavigation:this.handleKeyboardNavigation,labelledById:this.dialogLabelId,language:this.language,theme:this.theme,min:s,max:l,focusedDayRef:function(t){return e.focusedDayNode=t},onFocusEnter:this.enableActiveFocus,onFocusExit:this.disableActiveFocus})),t(d,{moveFocusTo:this.closeButtonNode})))};Object.defineProperty(e.prototype,"element",{get:function(){return o(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{min:["updateValidity"],max:["updateValidity"],value:["updateValidity","updateInternalValue"],required:["updateValidity"]}},enumerable:false,configurable:true});return e}());R.style=K}}}));
@@ -1,4 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,a,i){function n(e){return e instanceof a?e:new a((function(t){t(e)}))}return new(a||(a=Promise))((function(a,r){function o(e){try{s(i.next(e))}catch(t){r(t)}}function l(e){try{s(i["throw"](e))}catch(t){r(t)}}function s(e){e.done?a(e.value):n(e.value).then(o,l)}s((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var a={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,n,r,o;return o={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function l(e){return function(t){return s([e,t])}}function s(o){if(i)throw new TypeError("Generator is already executing.");while(a)try{if(i=1,n&&(r=o[0]&2?n["return"]:o[0]?n["throw"]||((r=n["return"])&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;if(n=0,r)o=[o[0]&2,r.value];switch(o[0]){case 0:case 1:r=o;break;case 4:a.label++;return{value:o[1],done:false};case 5:a.label++;n=o[1];o=[0];continue;case 7:o=a.ops.pop();a.trys.pop();continue;default:if(!(r=a.trys,r=r.length>0&&r[r.length-1])&&(o[0]===6||o[0]===2)){a=0;continue}if(o[0]===3&&(!r||o[1]>r[0]&&o[1]<r[3])){a.label=o[1];break}if(o[0]===6&&a.label<r[1]){a.label=r[1];r=o;break}if(r&&a.label<r[2]){a.label=r[2];a.ops.push(o);break}if(r[2])a.ops.pop();a.trys.pop();continue}o=t.call(e,a)}catch(l){o=[6,l];n=0}finally{i=r=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,t,a){if(a||arguments.length===2)for(var i=0,n=t.length,r;i<n;i++){if(r||!(i in t)){if(!r)r=Array.prototype.slice.call(t,0,i);r[i]=t[i]}}return e.concat(r||Array.prototype.slice.call(t))};
2
- /*!
3
- * Built with Duet Design System
4
- */System.register(["./p-cce3f6c1.system.js","./p-92639d0b.system.js","./p-a63f753e.system.js","./p-f69b64c9.system.js","./p-6b03322b.system.js","./p-18cc5627.system.js","./p-5f6bd5db.system.js","./p-b6d51921.system.js"],(function(e){"use strict";var t,a,i,n,r,o,l,s,d,u,p,f,c,h,b,m,g,y,v,x;return{setters:[function(e){t=e.h;a=e.r;i=e.c;n=e.H;r=e.g},function(e){o=e.f;l=e.d},function(e){s=e.i},function(e){d=e.g;u=e.s},function(e){p=e.i},function(e){f=e.m;c=e.h;h=e.i;b=e.j;m=e.k;g=e.l;y=e.n;v=e.s},function(e){x=e.c},function(){}],execute:function(){var k=function(e,a){var i=e.data,n=e.groupId,r=e.alignment;var o="duet-editable-table duet-editable-table-content-".concat(n);if(typeof i==="string"){return t("td",{innerHTML:i,class:o,part:"".concat(n,"content"),style:{verticalAlign:r}})}else{return t("td",{class:o,part:"".concat(n,"content"),style:{verticalAlign:r}},i)}};var w=".sc-duet-editable-table-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-editable-table-actions-menu.sc-duet-editable-table{position:relative;padding:0 !important;margin:0}.duet-editable-table-actions-menu-button.sc-duet-editable-table{position:relative;right:-16px;float:right;padding:0}.duet-editable-table-actions-menu-icon.sc-duet-editable-table .duet-icon.sc-duet-editable-table{max-width:16px;max-height:16px}.duet-editable-table-row.duet-table-action-row.sc-duet-editable-table .duet-text-right.sc-duet-editable-table{text-align:right}.duet-editable-table-header.sc-duet-editable-table tr.sc-duet-editable-table .duet-editable-table-header-hidden.sc-duet-editable-table{padding:0 !important;font-size:0;border-bottom:0}";var D=e("duet_editable_table",function(){function e(e){var t=this;a(this,e);this.duetTableToggle=i(this,"duetTableToggle",7);this.duetMenuClick=i(this,"duetMenuClick",7);this.margin="auto";this.variation="striped";this.sticky=false;this.stickyDistance="with-links";this.breakpoint="small";this.actions=undefined;this.columns=undefined;this.rows=undefined;this.sortable=false;this.groupId="";this.theme="";this.accessibleRole=undefined;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=function(e,a){a.preventDefault();var i=e.sort_order,n=e.direction,r=e.index,o=e.key;t.duetTableToggle.emit({sort_order:i,index:r,direction:n,key:o,component:"duet-editable-table",originalEvent:a})};this.handleKeyDown=function(e,a){if(s(a)){t.toggleColumn(e,a)}}}e.prototype.componentWillLoad=function(){p(this)};e.prototype.createLabel=function(e){var a=this;var i=e.sort_order,n=e.direction,r=e.index,o=e.label;var l=d(o);if(!this.sortable){return l}var s=function(){if(!!i&&n===1){return"action-arrow-down-small"}else if(!!i&&n===-1){return"action-arrow-up-small"}return"action-subtract-small"};return t("span",{class:"duet-table-label","data-index":r},t("duet-button",{size:"small",icon:s(),"icon-size":"medium-small","accessible-label":d(this.sortableDefaultLabel),variation:"plain",margin:"none","icon-right":true,onClick:function(t){return a.toggleColumn(e,t)},onKeyDown:function(t){return a.handleKeyDown(e,t)}},l))};e.prototype.getSortedColumns=function(){return __spreadArray([],this.columns,true).sort(o(["index"]))};e.prototype.getRowSortOrder=function(){var e=__spreadArray([],this.columns,true).sort(o(["sort_order"]));return e.filter((function(e){return e.sort_order})).map((function(e){return e.direction===-1?"-".concat(e.key):e.key}))};e.prototype.renderTableHeader=function(){var e=this;if(!this.columns){return}var a=this.getSortedColumns();return t("tr",{class:{"duet-table-action-header":!!this.actions}},a.map((function(a){if(a.display!==false){return t("th",{scope:"col"},e.createLabel(a))}})),this.actions&&t("th",{scope:"col",class:"duet-table-action-header-heading"},this.actions&&t("duet-visually-hidden",null,d(this.actionColumnLabel))))};e.prototype.renderActions=function(e,a){var i=this;if(!this.actions){return}return t("td",{class:"duet-text-right"},this.actions.map((function(n){return t("duet-action-button",{actionMeta:Object.assign({},(e===null||e===void 0?void 0:e.meta)||{},{index:a}),actionId:(e===null||e===void 0?void 0:e.uid)||(e===null||e===void 0?void 0:e.id)||null,actionName:n.name,theme:i.theme,iconName:n.icon,iconColor:n.color,iconSize:n.size,background:n.background})})))};e.prototype.renderTableBody=function(){var e=this;var a=this.getSortedColumns();var i=this.getRowSortOrder();var n=__spreadArray([],this.rows,true).sort(o(i));return n.map((function(i,n){var r;return t("tr",{class:(r={"duet-table-action-row":!!e.actions,"duet-editable-table-row":true},r["duet-editable-table-row-".concat(e.groupId)]=true,r),"data-meta":JSON.stringify(i.meta)},a.map((function(a){var n=i[a.key]?i[a.key]:i.item;if(a.display!==false){return t(k,{data:n,groupId:e.groupId})}})),e.actions&&e.renderActions(i,n))}))};e.prototype.render=function(){var e;return t(n,{class:(e={},e["duet-editable-table-".concat(this.variation)]=true,e["duet-editable-table-".concat(this.theme)]=true,e["duet-editable-table-scrollable"]=this.breakpoint==="none-scrollable",e["duet-editable-table-sortable"]=this.sortable,e["duet-editable-table-actions"]=!!this.actions,e["duet-m-0"]=this.margin==="none",e["duet-theme-turva"]=this.theme==="turva",e)},t("duet-table",{sticky:this.sticky,stickyDistance:this.stickyDistance,margin:this.margin,theme:this.theme,variation:this.variation,breakpoint:this.breakpoint},t("table",{role:this.accessibleRole},t("caption",null,t("slot",{name:"tcaption"})),t("thead",null,t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-first"}))),this.renderTableHeader(),t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-last"})))),t("tbody",null,this.renderTableBody()),t("tfoot",null,t("tr",null,t("th",{class:"duet-editable-table-footer-menu",colSpan:99},t("slot",{name:"tfoot"})))))))};Object.defineProperty(e.prototype,"element",{get:function(){return r(this)},enumerable:false,configurable:true});return e}());D.style=w;var M='duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-theme-turva table{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}duet-table td{-webkit-hyphens:auto;hyphens:auto;color:#00294d}duet-table.duet-theme-turva td{color:#171c3a}duet-table th{font-weight:600;line-height:1.25;color:#657787;text-align:left}duet-table.duet-theme-turva th{color:#747475}duet-table tbody th{font-weight:600;color:#00294d}duet-table.duet-theme-turva tbody th{color:#171c3a}duet-table .duet-table-action-row td:last-child{justify-self:end;padding-right:20px !important;white-space:nowrap}.duet-table-flattened tbody tr{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:auto;gap:10px}.duet-table-flattened tbody tr.duet-table-action-row td:last-child::before{padding:0;content:""}.duet-table-flattened thead tr{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-table-flattened td{grid-column:1/2;line-height:1.25}.duet-table-flattened td:not(:last-child){margin-bottom:16px !important}.duet-table-flattened td:first-child{grid-row:1;grid-column:1}.duet-table-flattened td:last-child{grid-row:1;grid-column:2}.duet-table-flattened tbody td,.duet-table-flattened tbody th,.duet-table-flattened tfoot td{padding:0 !important;text-align:left !important}.duet-table-flattened tbody th{font-weight:600;line-height:1.25;color:#657787;text-align:left}.duet-table-flattened td[data-heading]::before{margin-bottom:4px !important;display:block;font-size:1rem;font-weight:600;color:#00294d;content:attr(data-heading)}.duet-table-flattened.duet-theme-turva td[data-heading]::before{color:#171c3a}.duet-table-sticky thead th{position:sticky;top:0;background:white}.duet-table-striped td,.duet-table-striped th{padding:20px !important}@media (max-width: 35.9375em){.duet-table-striped td,.duet-table-striped th{padding:20px 12px !important}}.duet-table-striped tbody th{background:white}.duet-table-striped.duet-table-sticky thead th{border-bottom:1px solid #e1e3e6}.duet-table-striped.duet-table-sticky.duet-theme-turva thead th{border-bottom-color:#e4e4e6}.duet-table-striped tbody:not(:first-of-type) th{padding-top:40px !important}.duet-table-striped tbody:only-of-type tr:nth-of-type(odd){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tfoot td{border-top:1px solid #e1e3e6}.duet-table-striped.duet-theme-turva tfoot td{border-top-color:#e4e4e6}.duet-table-striped.duet-table-flattened tbody:not(:first-of-type) th{padding-top:20px !important}.duet-table-striped.duet-table-flattened tr{padding:20px !important}.duet-table-striped.duet-table-flattened tfoot td{border-top:0}.duet-table-striped.duet-table-flattened tfoot tr{border-top:1px solid #e1e3e6}.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr{border-top-color:#e4e4e6}.duet-table-fixed th,.duet-table-minimal th,.duet-table-plain th{padding:16px !important;border-bottom:1px solid #657787}.duet-table-fixed th:first-child,.duet-table-minimal th:first-child,.duet-table-plain th:first-child{padding-left:0 !important}.duet-table-fixed th:last-child,.duet-table-minimal th:last-child,.duet-table-plain th:last-child{padding-right:0 !important}.duet-theme-turva.duet-table-fixed th,.duet-theme-turva.duet-table-minimal th,.duet-theme-turva.duet-table-plain th{border-bottom-color:#444445}.duet-table-fixed tbody th,.duet-table-minimal tbody th,.duet-table-plain tbody th{padding-top:40px !important;border-bottom-color:#e1e3e6}.duet-theme-turva.duet-table-fixed tbody th,.duet-theme-turva.duet-table-minimal tbody th,.duet-theme-turva.duet-table-plain tbody th{border-bottom-color:#e4e4e6}.duet-table-fixed td,.duet-table-minimal td,.duet-table-plain td{padding:16px !important}.duet-table-fixed td:first-child,.duet-table-minimal td:first-child,.duet-table-plain td:first-child{padding-left:0 !important}.duet-table-fixed td:last-child,.duet-table-minimal td:last-child,.duet-table-plain td:last-child{padding-right:0 !important}.duet-table-fixed tbody td,.duet-table-minimal tbody td,.duet-table-plain tbody td{border-bottom:1px solid #e1e3e6}.duet-theme-turva.duet-table-fixed tbody td,.duet-theme-turva.duet-table-minimal tbody td,.duet-theme-turva.duet-table-plain tbody td{border-bottom-color:#e4e4e6}.duet-table-flattened.duet-table-fixed tbody:first-of-type th,.duet-table-flattened.duet-table-minimal tbody:first-of-type th,.duet-table-flattened.duet-table-plain tbody:first-of-type th{padding-top:0 !important}.duet-table-flattened.duet-table-fixed td,.duet-table-flattened.duet-table-minimal td,.duet-table-flattened.duet-table-plain td,.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{border-bottom:0}.duet-table-flattened.duet-table-fixed tr,.duet-table-flattened.duet-table-minimal tr,.duet-table-flattened.duet-table-plain tr{padding:20px 0 !important}.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{padding-top:20px !important}.duet-table-flattened.duet-table-fixed tfoot td,.duet-table-flattened.duet-table-minimal tfoot td,.duet-table-flattened.duet-table-plain tfoot td{margin-bottom:4px !important}.duet-table-flattened.duet-table-fixed tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-minimal tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-plain tbody:not(:only-of-type) tr:first-child{border-bottom:0}.duet-table-plain.duet-table-flattened tbody tr{border-bottom:1px solid #e1e3e6}.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr{border-bottom-color:#e4e4e6}.duet-table-minimal tbody tr,.duet-table-minimal tbody tr td{vertical-align:top;border-bottom:0 none}.duet-table-minimal tbody tr:last-of-type,.duet-table-minimal tbody tr:last-of-type td{border-bottom:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened tbody tr,.duet-table-minimal.duet-table-flattened tbody tr td{border-bottom:0 none}.duet-table-minimal.duet-table-flattened tbody tr td[data-heading]::before{display:none}.duet-table-minimal.duet-table-flattened tfoot{border-top:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-fixed table{table-layout:fixed}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td,.duet-table-fixed tbody tr td:first-child{padding:4px !important;vertical-align:text-bottom;border-bottom:0 none}.duet-table-fixed thead{display:none}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td{border-bottom:0 none}.duet-table-fixed:not(.duet-table-flattened) tfoot{border-top:1px solid #e1e3e6}.duet-table-fixed:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-scrollable{position:relative;width:100%;overflow-x:auto;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;background-repeat:no-repeat;background-attachment:local, local, scroll, scroll;background-size:100px 100%, 100px 100%, 12px 100%, 12px 100%}.duet-table-selected-column{background:rgba(0, 119, 179, 0.08)}.duet-theme-turva .duet-table-selected-column{background:rgba(68, 68, 69, 0.08)}.duet-table-sortable tbody tr td:first-child,.duet-table-sortable thead tr th:first-child{padding:20px}.duet-table-sortable:not(.duet-table-flattened) tfoot{border-top:1px solid #e1e3e6}.duet-table-sortable:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-actions table{table-layout:auto}.duet-table-actions thead th:last-child{width:1px;white-space:nowrap}';var _=function(e){return e.substring(1,e.length-1)};var I={none:"all","none-scrollable":"all",small:_(g),medium:_(f),large:_(c),"x-large":_(h),"xx-large":_(b),"xxx-large":_(m)};var F={none:0,"with-links":parseFloat(y)*16,"without-links":parseFloat(v)*16};var z=e("duet_table",function(){function e(e){var t=this;a(this,e);this.matchesBreakpoint=true;this.margin="auto";this.variation="striped";this.sticky=false;this.stickyDistance="with-links";this.breakpoint="small";this.handleMediaQueryChange=function(e){t.matchesBreakpoint=e.matches}}e.prototype.connectedCallback=function(){var e=this;this.mq=matchMedia(I[this.breakpoint]);this.mq.addEventListener("change",l(this.handleMediaQueryChange,50));this.handleMediaQueryChange(this.mq);this.observer=new MutationObserver((function(){return l(e.copyHeadingsToCells(),50)}));this.observer.observe(this.element,{childList:true,subtree:true})};e.prototype.componentWillLoad=function(){p(this);this.copyHeadingsToCells();if(this.sticky&&this.breakpoint==="none-scrollable"){console.warn('[DUET WARNING]: sticky and breakpoint="none-scrollable" are incompatible. Scrollable takes precedence')}if(this.sticky){var e=F[this.stickyDistance];var t=this.element.querySelectorAll("thead th");t.forEach((function(t){return t.style.top="".concat(e,"px")}))}};e.prototype.componentDidLoad=function(){this.observer?this.observer.takeRecords():null};e.prototype.disconnectedCallback=function(){this.observer.disconnect();this.observer=null;this.mq.removeListener(this.handleMediaQueryChange);this.mq=null;this.matchesBreakpoint=true};e.prototype.copyHeadingsToCells=function(){var e=this.element.querySelectorAll("thead th");var t=this.element.querySelectorAll("tbody tr");var a=Array.from(e).map((function(e){return e.textContent.trim()}));t.forEach((function(e){e.querySelectorAll("td").forEach((function(e,t){if(a[t]){e.dataset.heading=a[t]}}))}))};e.prototype.render=function(){var e;return t(n,{class:(e={},e["duet-table-".concat(this.variation)]=true,e["duet-table-flattened"]=!this.matchesBreakpoint,e["duet-table-sticky"]=this.matchesBreakpoint&&this.sticky,e["duet-table-scrollable"]=this.breakpoint==="none-scrollable",e["duet-m-0"]=this.margin==="none",e["duet-theme-turva"]=this.theme==="turva",e)},t("slot",null))};Object.defineProperty(e.prototype,"element",{get:function(){return r(this)},enumerable:false,configurable:true});return e}());z.style=M;var E=[{type:"default",system_message:"unknown error",message:{fi:"Tapahtui tuntematon virhe, ole hyvä ja yritä uudelleen.",sv:"Ett okänt fel uppstod, försök igen.",en:"An unknown error occured, please try again."}},{type:"400",system_message:"Bad Request: The server could not understand the request due to invalid syntax.",message:{fi:"Tiedostoa ei hyväksytty.",sv:"Servern avvisade din fil.",en:"The server rejected your file."}},{type:"401",system_message:"Not Authenticated: The client must authenticate itself to get the requested response...",message:{fi:"Vain kirjautunut käyttäjä voi lähettää tiedostoja.",sv:"Du måste vara inloggad för att ladda upp filer.",en:"You need to be logged in to upload files."}},{type:"403",system_message:"No Access: The client does not have access rights to the content.",message:{fi:"Ei oikeuksia lähettää tiedostoja.",sv:"Du har inte rätt åtkomsträttigheter för att ladda upp filer.",en:"You do not have the correct access rights to upload files."}},{type:"413",system_message:"Payload too large",message:{fi:"Tiedosto oli liian vastaanotettavaksi.",sv:"Filen var för stor för servern att hantera.",en:"The file was to large for the server to handle."}},{type:"415",system_message:"Unsupported media type",message:{fi:"Tiedoston tyyppi oli väärä.",sv:"Servern avvisade filen eftersom den hade fel typ.",en:"The server rejected the file because it had the wrong type."}},{type:"429",system_message:"Too many request from same address",message:{fi:"Liian monta yritystä, ole hyvä ja yritä myöhemmin uudelleen.",sv:"Servern har fått många förfrågningar från dig, försök igen senare.",en:"The server has received to many request from you, please try again later."}},{type:"500",system_message:"Internal Server Error",message:{fi:"Palvelin ilmoitti tuntemattomasta virheestä ja lataus epäonnistui.",sv:"Servern rapporterade ett okänt fel och uppladdningen misslyckades.",en:"The server reported an unknown error and the upload failed."}},{type:"duet-upload-100",system_message:"File extension not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den type.",en:"You cannot upload files with that extension."}},{type:"duet-upload-001",system_message:"File transfer failed",message:{fi:"Tiedoston lähetys keskeytyi, ole hyvä ja yritä uudelleen.",sv:"Din anslutning till servern avbröts, försök igen.",en:"Your connection to the server was interrupted, try again."}},{type:"duet-upload-101",system_message:"File mimetype not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den typ.",en:"You cannot upload files of that type."}},{type:"duet-upload-201",system_message:"File is too large",message:{fi:"Tiedosto on liian iso.",sv:"Filen är större än tillåtet.",en:"The file is larger than permitted."}},{type:"duet-upload-202",system_message:"The combined size of all files is too large",message:{fi:"Tiedostojen yhteenlaskettu koko on liian iso.",sv:"Du har nått den maximala kombinerade filstorleken.",en:"You have reached the maximum combined filesize."}},{type:"duet-upload-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."}}];var T=function(e){var t={type:undefined,system_message:undefined,message:undefined};t=E.filter((function(t){return t.type==e}))[0];if(!t){t=E.filter((function(e){return e.type==="default"}))[0]}return t};var L=function(e){var t=T(e);var a=d(t.message);if(a===""||!a){return t.system_message}else{return a}};var S=function(e){var a=e.data;var i=a.item,n=a.error;var r=i.name;var o=n.type;return t("span",{class:"duet-upload-item-error",role:"status"},t("duet-paragraph",{class:"duet-upload-item-name",color:"danger",margin:"none",weight:"semi-bold"},t("duet-icon",{margin:"none",size:"xx-small",name:"messaging-attachment"})," ",r),t("duet-paragraph",{class:"duet-upload-item-error-label",size:"small",margin:"none",color:"danger"},L(o)))};var A=function(e){var a=e.progress,i=e.name;return t("span",null,t("duet-paragraph",{color:"secondary",margin:"none",size:"small"},i),t("duet-progress",{progress:Math.ceil(a),"aria-hidden":true}))};var C=function(e){var a=e.name;return t("span",null,t("duet-paragraph",{color:"secondary",margin:"none",size:"small"},a),t("duet-spacer",{size:"xx-small"}))};var P=function(e,t){if(t===void 0){t=2}if(e===0){return"0 Bytes"}var a=1024;var i=t<0?0:t;var n=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"];var r=Math.floor(Math.log(e)/Math.log(a));return parseFloat((e/Math.pow(a,r)).toFixed(i))+" "+n[r]};var j=function(e){var a=e.data,i=e.showLinks;var n=a.item,r=a.size,o=a.uploaded,l=a.url,s=a.meta;var d=n.name;var u=t("span",{class:"duet-upload-item-name"},t("duet-icon",{margin:"none",size:"x-small",name:"messaging-attachment"}),t("duet-spacer",{size:"xx-small",direction:"horizontal"}),d);var p=t("span",{class:"duet-upload-item-size",style:{fontSize:"14px",fontWeight:"400"}},"(",P(r),")");var f=o&&l&&i?t("duet-paragraph",{color:"secondary",margin:"none",weight:"semi-bold"},t("duet-link",{url:l,external:true},u),t("duet-spacer",{size:"xx-small",direction:"horizontal"}),p):t("duet-paragraph",{color:"secondary",margin:"none",weight:"semi-bold"},u,t("duet-spacer",{size:"xx-small",direction:"horizontal"}),p);var c=s&&s.badges?t("span",null,t("duet-spacer",{size:"xx-small"}),s.badges.map((function(e){return t("duet-badge",{color:"primary"},e)}))):undefined;return t("span",{class:"duet-upload-item-success"},t("div",null,f),c)};var B=function(e,t){if(!t){return true}var a=e.split(".");var i=t.split(",");var n=a[a.length-1];return i.includes(n)};var R=function(e,t){if(!t||!e){return true}var a=t.split(",");var i=false;a.forEach((function(t){var a=t.split("/");var n=e.split("/");if(a[0]===n[0]&&(a[1]===n[1]||a[1]==="*")){i=true}}));return i};var V=function(e,t){if(!t||!e){return true}return t>=e};var U=function(e,t){var a=t.allowedMimetypes,i=t.allowedExtensions,n=t.maxBytes;var r=false;var o=T("default");if(e){var l=e.name,s=e.type,u=e.size;var p=R(s,a);var f=B(l.toLowerCase(),i);var c=V(u,n);if(!p){o=T("duet-upload-101")}if(!f){o=T("duet-upload-100")}if(!c){o=T("duet-upload-201")}r=p&&f&&c}else{r=false}return{valid:r,errorMessage:r?undefined:d(o.message),errorSystem:r?undefined:o.system_message,errorType:r?undefined:o.type}};var G=function(e,t){var a=0;if(t){e.forEach((function(e){if(e.valid&&e.size){a+=e.size}}));if(a<t){return true}}return false};var q=function(e,t){var a=0;if(t){e.forEach((function(e){if(e.valid){a++}}));if(a>t){return true}}return false};var H=function(e){var t=e.payload,a=e.options,i=e.onFailure,n=e.onSuccess,r=e.onProgress;var o=a.type,l=o===void 0?"POST":o,s=a.xhr,d=a.uri,u=a.argument,p=u===void 0?null:u,f=a.headers,c=f===void 0?null:f;s.open(l,"".concat(d).concat(p||""),true);var h=t.data,b=t.name;if(c){Object.keys(c).forEach((function(e){s.setRequestHeader(e,c[e])}))}if(l==="POST"){s.onreadystatechange=function(){if(s.readyState===XMLHttpRequest.DONE&&s.status>=200&&s.status<300){n(s,b,s.status)}if(s.readyState===XMLHttpRequest.DONE&&s.status>=300&&s.status<999){i(s,b,s.status)}};r(b)}s.send(h);return s};var W="*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}::slotted([slot=header]){margin-bottom:16px}::slotted([slot=fileheader]){margin:16px 0 0 0}::slotted([slot=filefooter]){margin-top:16px}.duet-upload{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-upload-item-size{font-size:0.75rem;font-weight:400}.duet-upload-filelist{margin-bottom:25px}.duet-upload-filelist-empty{display:flex;align-items:center;justify-content:center;width:100%;height:75px;margin:0 auto;font-size:1rem;font-weight:400;background-color:#f5f8fa}.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{position:relative}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress 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){border:0}.duet-upload-editable-table .duet-upload-item-name duet-icon{position:relative;top:2px}duet-paragraph::part(duet-paragraph){word-break:break-word}";var O=e("duet_upload",function(){function e(e){var n=this;a(this,e);this.duetChange=i(this,"duetChange",3);this.duetBlur=i(this,"duetBlur",7);this.duetFocus=i(this,"duetFocus",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.tick=Date.now();this.external=false;this.deferUpload=false;this.hideButton=false;this.actions=[{icon:"action-delete",color:"color-danger",size:"x-small",background:"gray-lightest",name:"delete",map:["success","failure","pending"],label:{fi:"Poista tiedosto",en:"Poista tiedosto",sv:"Ta bort filen"}},{icon:"navigation-close",color:"primary",size:"x-small",background:"gray-lightest",name:"cancel",map:["inprogress"],label:{fi:"Keskeytä lähetys",en:"Cancel the upload",sv:"Stop överföringen"}}];this.showLinks=false;this.statusLabelDefaults={fi:{inProgress:"Lähetetään {filesUploaded} lähetettävästä {filesTotal} tiedostosta",inProgressWithErrors:"Lähetetään {filesInProgress} tiedostoa, lähetetty {filesUploaded} lähetettävästä {filesTotal} tiedostosta, {filesWithErrors} tiedostossa on virheitä",done:"Kaikki {filesTotal} tiedostoa lähetetty onnistuneesti",doneWithErrors:"Lähetys valmis, {filesUploaded} tiedostoa on lähetetty onnistuneesti, {filesWithErrors} tiedostossa oli virheitä",files:"tiedostot",file:"tiedosto"},sv:{inProgress:"Adding {filesUploaded} of {filesTotal}",inProgressWithErrors:"Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",done:"Alla {filesTotal} har lagts till",doneWithErrors:"Handling slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",files:"filer",file:"fil"},en:{inProgress:"Adding {filesUploaded} of {filesTotal}",inProgressWithErrors:"Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",done:"All {filesTotal} added successfully",doneWithErrors:"Action completed, {filesUploaded} has been added successfully, {filesWithErrors} had errors",files:"File",file:"file"}};this.statusMessageLabel=d(this.statusLabelDefaults);this.buttonLabelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add an attachment"};this.buttonLabel=d(this.buttonLabelDefaults);this.accessibleButtonLabel=undefined;this.theme="";this.disabled=false;this.margin="auto";this.required=false;this.alignment="middle";this.hideGroups=false;this.files=new Map;this.valid=!this.required;this.labelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add attachments"};this.label=d(this.labelDefaults);this.descriptionDefaults={fi:"Voit liittää {filetypes}-muotoisia tiedostoja sekä yleisimpiä videotiedostoja. Voit lähettää {maxbytes} verran tiedostoja yhdellä kertaa, ja lisätä enintään {maxfiles} liitettä kerrallaan.",sv:"Du kan bifoga filer i flg. formater {filetypes} samt de vanligaste videofilerna. Du kan ladda upp {maxbytes} filer åt gången och lägga till upp till {maxfiles} bilagor åt gången.",en:"You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytes} of files at a time, and add up to {maxfiles} attachments at a time."};this.description=d(this.descriptionDefaults);this.fileListEmptyDefaults={fi:"Ei vielä lisättyjä tiedostoja.",sv:"Inga filer har lagts till ännu.",en:"No files added yet."};this.fileListEmpty=d(this.fileListEmptyDefaults);this.error="";this.maxBytes=2e8;this.maxBytesTotal=undefined;this.maxFiles=99;this.allowedExtensions="all";this.allowedMimetypes="*";this.multiple=true;this.limitSelection=false;this.buttonId=x("DuetButton");this.labelId=x("DuetLabel");this.uploadId=x("DuetUpload");this.filesInProgress=new Map;this.fileMaxReached=false;this.bytesMaxReached=false;this.internalStatusMessageLabel=undefined;this.DefaultGroups={inprogress:"inprogress",success:"success",pending:"pending",failure:"failure"};this.groups=[{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:"Tiedostot ladattavat"}},{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"}}];this.kick=l((function(){n.tick=Date.now()}),30);this.listenForActionEvents=function(){n.element.addEventListener("duetActionEvent",(function(e){var t=e.detail;var a=t.action,i=t.id,r=t.originalEvent;switch(a){case"delete":n.onDelete(i,r);break;case"cancel":n.onCancel(i,r);break}}))};this.verifyValidity=function(){var e=n.getFilesAsArray(),t=e.invalid,a=e.valid;var i=n.valid;n.valid=t.length===0&&a.length!==0;if(n.valid!==i){n.duetState.emit({originalEvent:undefined,data:{valid:n.valid,from:"componentWillRender"},component:"duet-upload"})}};this.getGroupFromItemData=function(e){if(e.valid&&e.progress===100){return n.DefaultGroups.success}else if(e.progress>0&&e.progress!==100){return n.DefaultGroups.inprogress}else if(!e.valid){return n.DefaultGroups.failure}else if(e.pending){return n.DefaultGroups.pending}else if(e.group){return e.group}else{return"none"}};this.getItemHTMLFromItemData=function(e,a){if(a===n.DefaultGroups.success){return t(j,{data:e,showLinks:n.showLinks})}else if(a===n.DefaultGroups.inprogress){return t(A,{progress:e.progress,name:e.item.name})}else if(a===n.DefaultGroups.pending){return t(C,{name:e.item.name})}else if(a===n.DefaultGroups.failure){return t(S,{data:e})}else if(e.group){return e.html}else{return"none"}};this.genHashName=function(){return Date.now().toString(36)+Math.random()};this.updateValueInMap=function(e,t,a,i){if(i===void 0){i=true}try{var r=n.files.get(e);r[t]=a;n.files.set(e,r)}catch(o){}if(i){n.kick()}};this.updateProgress=function(e,t){var a=function(a){n.updateValueInMap(t,"progress",a);n.onProgress(t,a,e)};if(e.lengthComputable){var i=e.loaded/e.total*100;a(i)}else{console.log("cant read progress")}};this.trackProgress=function(e,t){if(t===void 0){t=false}if(t){n.filesInProgress.delete(e)}else{n.filesInProgress.set(e,"inprogress")}if(n.filesInProgress.size===0){n.onDone()}};this.getFilesAsArray=function(){var e=[];var t=[];n.files.forEach((function(a){if(a.valid&&!a.deleted){e.push(a)}else if(!a.valid&&!a.deleted){t.push(a)}}));return{valid:e,invalid:t}};this.resetFormFields=function(){n.nativeInput.value=""};this.startUpload=function(e,t){if(t===void 0){t=undefined}return __awaiter(n,void 0,void 0,(function(){return __generator(this,(function(a){this.metaData=t;this.nativeInput.click();this.onUpload(e,t);e.stopPropagation();e.preventDefault();return[2]}))}))};this.transferComplete=function(e){n.updateValueInMap(e,"progress",100,false);n.trackProgress(e,true)};this.transferDone=function(e,t,a){n.updateValueInMap(t,"status",a,false);n.updateValueInMap(t,"uploaded",true,false);try{var i=JSON.parse(e.response);n.updateValueInMap(t,"url",i.url)}catch(r){n.updateValueInMap(t,"url",null);console.error("Server did not respond with expected response {url: string}")}return};this.transferDoneWithFailure=function(e,t,a){try{var i=JSON.parse(e.response).error;n.updateValueInMap(t,"error",{message:i.message,type:i.type},false)}catch(r){console.error("Server did not respond with expected response error:{message: string, type: int}");n.updateValueInMap(t,"error",{type:a},false)}n.updateValueInMap(t,"valid",false,true)};this.transferFailed=function(e){n.updateValueInMap(e,"error",T("duet-upload-001"))};this.transferCanceled=function(e){n.files.delete(e);n.validateTotals(e);n.kick()};this.validateTotals=function(e){var t=G(n.files,n.maxBytesTotal);var a=q(n.files,n.maxFiles);if(t&&e){n.updateValueInMap(e,"error",T("duet-upload-202"),false)}if(a&&e){n.updateValueInMap(e,"error",T("duet-upload-301"),false)}n.bytesMaxReached=t;n.fileMaxReached=a;return{bytesMaxReached:t,fileMaxReached:a}};this.uploadFile=function(e,t,a){if(t===void 0){t=false}return __awaiter(n,void 0,void 0,(function(){var i,n,r;return __generator(this,(function(o){switch(o.label){case 0:if(!t&&this.deferUpload){this.updateValueInMap(e.item.name,"pending",true,false);this.updateValueInMap(e.item.name,"group","pending",true)}else if(t){this.updateValueInMap(e.item.name,"pending",false,false);this.updateValueInMap(e.item.name,"group",undefined,true)}o.label=1;case 1:o.trys.push([1,4,,5]);if(!(!this.deferUpload||t))return[3,3];i=new FormData;i.append("file",e.item);if(a){i.append("key",a)}i.append("uid",e.uid);i.append("name",e.item.name);i.append("metadata",JSON.stringify({uid:e.uid,url:this.uri,size:e.item.size,meta:e.meta}));n=e;return[4,this.makeXHRPostRequest(i)];case 2:n.xhr=o.sent();o.label=3;case 3:return[3,5];case 4:r=o.sent();this.updateValueInMap(e.item.name,"valid",false,false);return[3,5];case 5:return[2]}}))}))};this.uploadPendingFiles=function(){for(var e=0,t=n.files.entries();e<t.length;e++){var a=t[e],i=a[0],r=a[1];if(r.group==="pending"&&r.pending===true){n.uploadFile(r,true,i)}}};this.getItemFromUID=function(e){for(var t=0,a=n.files.entries();t<a.length;t++){var i=a[t],r=i[0],o=i[1];if(o.uid===e){return{value:o,key:r}}}return null};this.onDelete=function(e,t){var a=n.getItemFromUID(e);var i=a.key;var r=n.files.get(i);n.files.delete(i);n.validateTotals();n.kick();n.duetDelete.emit({originalEvent:t,data:{deletion:r},component:"duet-upload"});if(!n.external&&!r.pending){n.makeXHRDeleteRequest(r)}n.resetFormFields()};this.onCancel=function(e,t){var a=n.getItemFromUID(e).key;var i=n.files.get(a);n.files.delete(a);if(!n.external){var r=i.xhr;r.abort()}else{n.kick()}n.resetFormFields();n.duetCancel.emit({originalEvent:t,data:{cancelled:i},component:"duet-upload"})};this.onUpload=function(e,t){n.duetUpload.emit({originalEvent:e,metaData:t,component:"duet-upload"})};this.onBlur=function(e){n.duetBlur.emit({originalEvent:e,component:"duet-upload"})};this.onProgress=function(e,t,a){n.duetChange.emit({originalEvent:a,data:{key:e,percentComplete:t},component:"duet-upload"})};this.onFocus=function(e){n.duetFocus.emit({originalEvent:e,component:"duet-upload"})};this.onDone=function(){n.duetDone.emit({component:"duet-upload",data:{files:n.files}})};this.filterMap=function(){var e=__spreadArray([],n.files.values(),true);var t=[];var a=[];var i=[];var r=[];e.forEach((function(e){var o=n.getGroupFromItemData(e);var l=n.getItemHTMLFromItemData(e,o);if(o===n.DefaultGroups.success){r.push({uid:e.uid,item:l,group:o})}else if(o===n.DefaultGroups.inprogress){t.push({uid:e.uid,item:l,group:o})}else if(o===n.DefaultGroups.pending){i.push({uid:e.uid,item:l,group:o})}else if(o===n.DefaultGroups.failure){a.push({uid:e.uid,item:l,group:o})}else if(e.group){t.push({uid:e.uid,item:l,group:e.group})}}));return{inprogress:t,pending:i,failure:a,success:r}};this.getColumns=function(e){return[{sort_order:1,direction:1,index:0,key:e.id,label:e.label}]};this.getActions=function(e){return n.actions.filter((function(t){return t.map.includes(e)}))};this.renderEditableTableGroups=function(){var e=n.filterMap();var a=n.groups.map((function(a){var i=e[a.id];if(!(i===null||i===void 0?void 0:i.length)){return}return t("duet-table",{variation:"plain",breakpoint:"none",role:"log",margin:n.hideGroups?"none":"auto"},t("table",{class:"duet-upload-editable-table"},t("thead",{class:"duet-upload-editable-table-header"},t("tr",null,t("th",{class:{"duet-upload-editable-table-header-hidden":n.hideGroups}},!n.hideGroups?d(a.label):t("duet-visually-hidden",null,d(a.label))))),t("tbody",null,t("tr",null,t("td",{class:"duet-upload-editable-table-data"},t("duet-editable-table",{breakpoint:"none",variation:"plain",groupId:a.id,columns:n.getColumns(a),actions:n.getActions(a.id),margin:"none",rows:i}))))))}));return a}}e.prototype.watchValidHandler=function(e,t){if(e!==t){this.kick()}};e.prototype.componentWillLoad=function(){if(typeof this.statusMessageLabel==="string"){this.internalStatusMessageLabel=u(this.groups)}else{this.internalStatusMessageLabel=this.statusMessageLabel}p(this);this.listenForActionEvents()};e.prototype.componentWillRender=function(){this.verifyValidity()};e.prototype.setFocus=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){if(this.nativeInput){this.nativeInput.focus(e)}return[2]}))}))};e.prototype.upload=function(e){if(e===void 0){e=undefined}return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:return[4,this.setFocus()];case 1:t.sent();this.metaData=e;this.nativeInput.click();return[2]}}))}))};e.prototype.uploadPending=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.uploadPendingFiles();return[2]}))}))};e.prototype.refresh=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:this.kick();return[4,this.setFocus()];case 1:e.sent();return[2]}}))}))};e.prototype.getFiles=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(!this.files||this.files.size===0){return[2,false]}return[2,this.getFilesAsArray()]}))}))};e.prototype.updateValue=function(e,t,a){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(i){this.updateValueInMap(e,t,a);return[2]}))}))};e.prototype.render=function(){var e=this;var a=this.identifier||this.uploadId;var i=this.description.replace(/{maxfiles}/g,this.maxFiles.toString());i=i.replace(/{maxbytes}/g,"".concat(Math.floor(this.maxBytes/1024/1024)," MB"));i=i.replace(/{filetypes}/g,this.allowedExtensions.split(",").join(", "));return t(n,{class:{"duet-m-0":this.margin==="none"}},t("duet-fieldset",{label:this.label,caption:i},t("slot",{name:"header"}),!this.files.size&&t("duet-label",{part:this.identifier?"".concat(this.identifier,"-empty-state"):"duet-upload-empty-state",theme:this.theme==="turva"?"turva":"default",size:"small",class:{"duet-upload-filelist-empty":!this.files.size,"duet-upload-filelist":true,"duet-upload-filelist-filled":this.files.size},id:this.labelId,for:a},t("span",{class:{"duet-upload-filelist-empty-label":!this.files.size}},this.fileListEmpty)),!!this.files.size&&t("slot",{name:"fileheader"}),!!this.files.size&&t("duet-upload-aria-status",{invalid:this.getFilesAsArray().invalid.length,valid:this.getFilesAsArray().valid.length,inprogress:this.filesInProgress.size,total:this.files.size,statusMessageLabel:this.internalStatusMessageLabel}),!!this.files.size&&this.renderEditableTableGroups(),!!this.files.size&&t("slot",{name:"filefooter"}),t("duet-spacer",{size:"large"}),!this.hideButton&&t("duet-button",{id:this.buttonId,onClick:this.startUpload,"accessible-controls":a,disabled:this.fileMaxReached,"accessible-label":this.accessibleButtonLabel,"accessible-owns":a,size:"small",variation:"secondary",fixed:true,icon:"action-add-circle",part:this.identifier?"".concat(this.identifier,"-button-upload"):"duet-upload-button-upload"},this.buttonLabel),t("duet-spacer",{size:"medium"}),(this.fileMaxReached||this.bytesMaxReached)&&t("duet-alert",{part:this.identifier?"".concat(this.identifier,"-error-notification"):"duet-upload-error-notification"},this.fileMaxReached&&L("duet-upload-301"),this.bytesMaxReached&&L("duet-upload-202")),t("duet-spacer",{size:"medium"}),t("duet-visually-hidden",null,t("input",{ref:function(t){e.nativeInput=t},accept:!this.limitSelection?undefined:"".concat(this.allowedMimetypes,",").concat(this.allowedExtensions),onBlur:this.onBlur,onFocus:this.onFocus,onChange:function(t){return e.onChange(t)},type:"file",class:{"duet-upload":true},disabled:this.disabled,"aria-hidden":"true",required:this.required,name:this.name,id:this.identifier,multiple:this.multiple,capture:"user"}))))};e.prototype.makeXHRPostRequest=function(e){var t=this;var a=new XMLHttpRequest;var i=e.get("name");a.upload.addEventListener("progress",(function(e){t.updateProgress(e,i)}));a.upload.addEventListener("load",(function(){t.transferComplete(i)}));a.upload.addEventListener("error",(function(){t.transferFailed(i)}));a.upload.addEventListener("abort",(function(){t.transferCanceled(i)}));return H({payload:{data:e,name:i},options:{type:"POST",uri:this.uri,xhr:a,argument:null,headers:null},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress})};e.prototype.makeXHRDeleteRequest=function(e){var t=e.uid,a=e.item;var i=new XMLHttpRequest;return H({payload:{data:null,name:name},options:{type:"DELETE",xhr:i,uri:this.uri,arguments:"?key=".concat(t,"&name=").concat(a.name),headers:{"x-fileuid":t,"x-filename":a.name}},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress})};e.prototype.onChange=function(e){return __awaiter(this,void 0,void 0,(function(){var t,a,i,n,r,o,l,s,d,u,p,f,c,h,b;return __generator(this,(function(m){switch(m.label){case 0:a=Array.from((t=this.nativeInput)===null||t===void 0?void 0:t.files);if(!a)return[3,8];i=0,n=a;m.label=1;case 1:if(!(i<n.length))return[3,8];r=n[i];o=U(r,{maxBytes:this.maxBytes,allowedExtensions:this.allowedExtensions,allowedMimetypes:this.allowedMimetypes}),l=o.valid,s=o.errorMessage,d=o.errorType,u=o.errorSystem;p=this.genHashName();f={uid:p,item:r,size:r.size,meta:this.metaData,uploaded:false,valid:l,error:{type:l?undefined:d,message:l?undefined:s,system_message:l?undefined:u},progress:0,deleted:false,xhr:false,url:false};this.files.set(r.name,f);c=this.validateTotals(r.name),h=c.bytesMaxReached,b=c.fileMaxReached;if(!h)return[3,2];this.updateValueInMap(r.name,"valid",false,false);return[3,6];case 2:if(!b)return[3,3];this.updateValueInMap(r.name,"valid",false,false);return[3,6];case 3:if(!(l&&!this.external))return[3,5];return[4,this.uploadFile(f)];case 4:m.sent();return[3,6];case 5:if(l&&this.external){this.updateValueInMap(f.item.name,"pending",true,false);this.updateValueInMap(f.item.name,"group","pending",true)}else if(!l){this.updateValueInMap(r.name,"valid",false,true)}m.label=6;case 6:this.kick();m.label=7;case 7:i++;return[3,1];case 8:this.resetFormFields();this.metaData=undefined;this.duetChange.emit({originalEvent:e,data:{files:this.files},component:"duet-upload"});return[2]}}))}))};Object.defineProperty(e.prototype,"element",{get:function(){return r(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{valid:["watchValidHandler"]}},enumerable:false,configurable:true});return e}());O.style=W}}}));
@@ -1,4 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- import{r as e,c as t,h as c,H as i,g as o}from"./p-56212fca.js";import{D as d}from"./p-76f00bd5.js";import{c as h}from"./p-c1325e35.js";import{F as s}from"./p-da6ec22c.js";import{i as a,h as r,f as u}from"./p-54f35a79.js";import{g as n,a as l}from"./p-ede854e1.js";import{i as p}from"./p-abf8eaf7.js";import{f as b,w as m}from"./p-12721178.js";import"./p-5a9d75e1.js";const g=class{constructor(c){e(this,c),this.duetChange=t(this,"duetChange",7),this.duetFocus=t(this,"duetFocus",7),this.duetBlur=t(this,"duetBlur",7),this.hasHeader=!1,this.choiceId=h("DuetChoice"),this.expandId=h("DuetChoiceExpand"),this.headerId=h("DuetChoiceHeader"),this.infoButtonId=h("DuetChoiceInfoButton"),this.isHovering=!1,this.isInfoOpen=!1,this.isBlurred=!1,this.theme="",this.label="label",this.accessibleLabelInfoButtonDefaults=d,this.accessibleLabelInfoButton=n(this.accessibleLabelInfoButtonDefaults),this.caption="",this.type="checkbox",this.checked=!1,this.collapsible=!1,this.margin="auto",this.icon="",this.expand=!1,this.padding="auto",this.disabled=!1,this.required=!1,this.infoLabelDefaults={fi:"Lisätietoja",en:"More information about",sv:"Mera information om"},this.infoLabel=n(this.infoLabelDefaults,l()),this.onMouseEnter=()=>{this.isHovering=!0},this.onMouseLeave=()=>{this.isHovering=!1},this.onClick=e=>{this.toggleChecked(e)},this.handleKeyDown=e=>{a(e)&&this.toggleChecked(e),r(e)&&this.hasInfo&&this.toggleInfo()},this.onChange=()=>{this.checked=this.nativeInput.checked||!1,this.duetChange.emit({checked:this.checked,value:this.value,component:"duet-choice"})},this.onBlur=e=>{this.duetBlur.emit({originalEvent:e,checked:this.checked,value:this.value,component:"duet-choice"})},this.onFocus=e=>{this.duetFocus.emit({originalEvent:e,checked:this.checked,value:this.value,component:"duet-choice"})},this.toggleChecked=e=>{this.disabled||this.groupDisabled||(this.isInfoOpen=!1,"radio"===this.type&&this.checked||(this.checked=!this.checked,this.duetChange.emit({originalEvent:e,checked:this.checked,value:this.value,component:"duet-choice"}),e.preventDefault(),e.stopPropagation()))},this.toggleInfo=()=>{this.isInfoOpen=!this.isInfoOpen}}componentWillLoad(){p(this),this.hasInfo=!!this.element.querySelector("[slot='info']"),this.hasHeader=!!this.element.querySelector('[slot="header"]'),this.hasAdditional=!!this.element.querySelector("[slot='additional']")}handleHostBlur(e){this.hasInfo&&this.isInfoOpen&&this.isKeyDown&&(this.element.contains(null==e?void 0:e.relatedTarget)||this.toggleInfo())}handleHostKeyDown(){this.isKeyDown=!0}handleHostKeyUp(e){this.isKeyDown=!1,u(e)&&this.isInfoOpen&&this.toggleInfo()}async setFocus(e){this.nativeInput.focus(e)}getAriaDescribedby(){return this.accessibleDescribedBy?this.accessibleDescribedBy:this.collapsible||this.hasInfo?this.hasHeader?this.headerId:this.expandId:null}getClassNames(){return this.hasInfo&&!this.collapsible?{"duet-choice-card-info":!0,"duet-choice-card-info-expanded":this.isInfoOpen,"duet-choice-card-collapsed":!this.isInfoOpen,"duet-theme-turva":"turva"===this.theme}:!this.hasInfo&&this.collapsible?{"duet-choice-card-collapsible":!0,"duet-choice-card-collapsible-expanded":this.checked,"duet-choice-card-collapsed":!this.checked,"duet-choice-card-collapsible-disabled":!(!this.disabled&&!this.groupDisabled),"duet-theme-turva":"turva"===this.theme}:{"duet-choice-default-slot":!0}}render(){const e=this.identifier||this.choiceId;return c(i,{class:{horizontal:"horizontal"===this.groupDirection&&!this.groupResponsive,"horizontal-responsive":"horizontal"===this.groupDirection&&this.groupResponsive,"duet-m-0":"none"===this.margin,"duet-expand":this.expand,"duet-theme-turva":"turva"===this.theme}},c("div",{class:{"duet-choice-card-flextainer":!0,"duet-theme-turva":"turva"===this.theme}},c("div",{class:{"duet-choice-card":!0,"has-icon":!!this.icon,"has-info":this.hasInfo,checked:this.checked,info:this.isInfoOpen,collapsible:this.collapsible,"duet-p-0":"none"===this.padding}},c("input",{class:"duet-choice-input",type:this.type,onFocus:this.onFocus,onBlur:this.onBlur,onChange:this.onChange,disabled:this.disabled||this.groupDisabled,required:this.required,id:e,name:this.name,value:this.value,checked:this.checked,"aria-controls":this.accessibleControls,"aria-activedescendant":this.accessibleActiveDescendant,"aria-owns":this.accessibleOwns,"aria-describedby":this.getAriaDescribedby(),onKeyDown:this.handleKeyDown,ref:e=>this.nativeInput=e}),c("label",{htmlFor:e,class:{"duet-choice-label":!0,"no-hover":this.isHovering},onClick:this.onClick},this.icon&&c("div",{class:"duet-choice-card-icon"},c("duet-icon",{margin:"none",size:"small",name:this.icon,color:"currentColor"})),c("div",null,c("div",null,this.label),this.caption&&c("div",null,c("duet-spacer",{size:"xx-small"}),c("duet-caption",{margin:"none",selected:this.checked},this.caption)),this.hasAdditional&&c("div",null,c("duet-spacer",{size:"xx-small"}),c("slot",{name:"additional"}))),c("div",null,c("div",{class:{"duet-checkmark-container":!0,"duet-checkmark-radio":"radio"===this.type}},this.checked&&c("div",{class:"duet-checkmark"}))))),this.hasInfo&&!this.collapsible&&c("button",{ref:e=>this.infoButtonEl=e,id:this.infoButtonId,class:{"duet-choice-info-toggle":!0,"duet-theme-turva":"turva"===this.theme},onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,onClick:this.toggleInfo,disabled:this.disabled||this.groupDisabled,"aria-expanded":this.isInfoOpen?"true":"false","aria-label":`${this.infoLabel} ${this.label}`,"aria-controls":this.expandId,"aria-flowto":this.expandId,tabindex:"radio"!==this.type||this.checked?"0":"-1",type:"button"},c("duet-visually-hidden",{"aria-hidden":this.isBlurred?"false":"true"},this.accessibleLabelInfoButton),c("div",{class:"duet-choice-info-icon"},c("duet-icon",{icon:'<svg fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img"><path d="M13.5 17.25A2.252 2.252 0 0 1 11.25 15v-3.75h-.75a.75.75 0 0 1 0-1.5h.75c.827 0 1.5.673 1.5 1.5V15c0 .414.336.75.75.75h.75a.75.75 0 0 1 0 1.5z"/><circle cx="11.625" cy="7.125" r="1.125"/><path d="M12 24C5.383 24 0 18.617 0 12S5.383 0 12 0s12 5.383 12 12-5.383 12-12 12zm0-22.5C6.21 1.5 1.5 6.21 1.5 12S6.21 22.5 12 22.5 22.5 17.79 22.5 12 17.79 1.5 12 1.5z"/></svg>',margin:"none",size:"small",color:"currentColor"})))),this.collapsible||this.hasInfo?c("div",{class:this.getClassNames(),id:this.expandId},c("span",{class:{"duet-choice-section-visible":this.collapsible?this.checked:this.isInfoOpen,"duet-choice-section-hidden":this.collapsible?!this.checked:!this.isInfoOpen}},c("span",{id:this.headerId},c("slot",{name:"header"})),this.hasInfo?c("span",null,c("span",{"aria-relevant":"all","aria-atomic":"true","aria-live":this.isInfoOpen?"polite":"off"},c("slot",{name:"info"})),c("slot",null)):c("span",null,c("slot",null))),this.isInfoOpen&&c(s,{moveFocusTo:this.infoButtonEl})):null)}get element(){return o(this)}};g.style='*.sc-duet-choice,*.sc-duet-choice::after,*.sc-duet-choice::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-choice-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;flex-direction:column;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-choice-h:last-child,.sc-duet-choice-h:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){.sc-duet-choice-h{width:100%}}.duet-expand.sc-duet-choice-h{width:100% !important}.duet-m-0.sc-duet-choice-h{margin:0 !important}.duet-fixed.sc-duet-choice-h{width:auto !important}.vertical.sc-duet-choice-h{margin-right:0 !important}.horizontal.sc-duet-choice-h{margin-bottom:0 !important}@media (min-width: 48em){.horizontal-responsive.sc-duet-choice-h{margin-bottom:0 !important;margin-right:16px !important}.horizontal-responsive.sc-duet-choice-h:last-child,.horizontal-responsive.sc-duet-choice-h:last-of-type{margin-right:0 !important}}.sc-duet-choice-h:last-child:not(:only-child){margin-right:0 !important}.duet-choice-card.sc-duet-choice{position:relative;display:block;width:100%;min-width:8rem;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;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;color:#00294d !important;text-align:left;background:white;border-width:2px}.duet-choice-card.duet-p-0.sc-duet-choice{padding:0 !important}.duet-choice-card.duet-m-0.sc-duet-choice{margin:0 !important}.duet-theme-turva.sc-duet-choice .duet-choice-card.sc-duet-choice{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#171c3a !important}.duet-choice-card-flextainer.sc-duet-choice{display:flex}.duet-choice-label.sc-duet-choice{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:flex;gap:1rem;align-items:center;justify-content:flex-start;width:100%;height:100%;min-height:3.875rem;padding:1rem;font-size:1rem;font-weight:600;text-decoration:none;word-break:break-word;cursor:pointer;border:2px solid #e1e3e6;border-radius:4px;transition:background-color 150ms ease}.duet-choice-label.sc-duet-choice>div.sc-duet-choice:last-child{flex:1;align-self:flex-start;justify-self:flex-end;margin-top:0.25rem}.has-info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-top-right-radius:0;border-bottom-right-radius:0}.info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-bottom-right-radius:0;border-bottom-left-radius:0}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice{border-color:#e4e4e6}.duet-theme-turva.sc-duet-choice .info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-color:#e4e4e6}.duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#909599}.duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-checkmark-container.sc-duet-choice{border-color:#909599}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#747475}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-checkmark-container.sc-duet-choice{border-color:#747475}.duet-theme-turva.sc-duet-choice .info.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#747475}.duet-choice-label.sc-duet-choice:active{opacity:0.75;transition:none !important}.checked.sc-duet-choice .duet-choice-label.sc-duet-choice{color:#0077b3 !important;background:#f3f9fc;border-color:#0077b3 !important}.checked.sc-duet-choice .duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#0077b3}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-choice-label.sc-duet-choice{color:#171c3a !important;background:#f5f5f7;border-color:#171c3a !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#c60c30}.checked.collapsible.sc-duet-choice .duet-choice-label.sc-duet-choice{border-bottom:0 !important;border-bottom-right-radius:0;border-bottom-left-radius:0}input.sc-duet-choice:focus{outline:0}.user-is-tabbing.sc-duet-choice-h input.sc-duet-choice:checked:focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3)}.user-is-tabbing.sc-duet-choice-h input.sc-duet-choice:not(:checked):focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.user-is-tabbing.duet-theme-turva.sc-duet-choice-h input.sc-duet-choice:checked:focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2)}.user-is-tabbing.duet-theme-turva.sc-duet-choice-h input.sc-duet-choice:not(:checked):focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{color:#657787 !important;cursor:default !important;background:#f5f8fa !important;border-color:#e1e3e6 !important}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-checkmark.sc-duet-choice{border-color:#657787 !important}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{color:#747475 !important;background:#f5f5f7 !important;border-color:#e4e4e6 !important}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-checkmark.sc-duet-choice{border-color:#747475 !important}.checked.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{background:#e1e3e6 !important;border-color:#e1e3e6 !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{background:#e4e4e6 !important;border-color:#e4e4e6 !important}.duet-checkmark-container.sc-duet-choice{position:relative;width:20px;height:20px;margin-left:auto;border:1px solid #909599;border-radius:4px;transition:border 300ms ease}.duet-theme-turva.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#747475}.checked.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#0077b3;border-color:#0077b3;transition:none}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#171c3a;border-color:#171c3a !important}.duet-checkmark-container.duet-checkmark-radio.sc-duet-choice{border-radius:50%}[disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#cfd2d4 !important}.duet-theme-turva.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#cfcfd1 !important}.checked.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#cfd2d4 !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#cfcfd1 !important}.duet-checkmark.sc-duet-choice{position:absolute;top:10px;left:3px;width:5.3333333333px;height:11.8518518519px;border-top:2px solid white;border-right:2px solid white;opacity:1;transform:scaleX(-1) rotate(135deg) translateZ(0);transform-origin:left top;animation-name:duet-checkmark;animation-duration:600ms;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes duet-checkmark{0%{width:0;height:0;opacity:1}20%{width:5.3333333333px;height:0;opacity:1}40%,100%{width:5.3333333333px;height:11.8518518519px;opacity:1}}.duet-choice-card-icon.sc-duet-choice{position:relative}.duet-choice-card-icon.sc-duet-choice duet-icon.sc-duet-choice{display:block}.duet-choice-section-hidden.sc-duet-choice{display:none}.duet-choice-card-info.duet-choice-card-collapsed.sc-duet-choice,.duet-choice-card-collapsed.duet-choice-card-collapsible.sc-duet-choice{position:relative;width:auto;padding:0 !important;background:unset !important;border:0;border-radius:0}.duet-choice-card-info.sc-duet-choice,.duet-choice-card-collapsible.sc-duet-choice{padding:28px !important;position:relative;z-index:200;width:100%;font-weight:400;color:#00294d;border:2px solid #e1e3e6;border-top:0;border-radius:0 0 4px 4px}.duet-theme-turva.sc-duet-choice .duet-choice-card-info.sc-duet-choice,.duet-theme-turva.sc-duet-choice .duet-choice-card-collapsible.sc-duet-choice{color:#171c3a;border-color:#171c3a}.checked.sc-duet-choice .duet-choice-card-info.sc-duet-choice,.checked.sc-duet-choice .duet-choice-card-collapsible.sc-duet-choice{display:block}.duet-choice-card-info-expanded.sc-duet-choice,.duet-choice-card-collapsible-expanded.sc-duet-choice{display:block}.duet-choice-card-collapsible.sc-duet-choice{background:white;border:2px solid #0077b3;border-top:0}.duet-choice-card-collapsible.duet-theme-turva.sc-duet-choice{background:white;border-color:#171c3a}.duet-choice-card-collapsible-disabled.sc-duet-choice{background:#f5f8fa;border-color:#e1e3e6}.duet-choice-card-collapsible-disabled.duet-theme-turva.sc-duet-choice{background:#f5f5f7;border-color:#e4e4e6}.duet-choice-card-info.sc-duet-choice{font-size:0.875rem;line-height:1.5;background:#f5f8fa;transition:150ms ease-out}.duet-choice-card-info.duet-theme-turva.sc-duet-choice{background:#f5f5f7;border-color:#e4e4e6}.duet-choice-info-toggle.sc-duet-choice{display:flex;flex-shrink:0;align-items:flex-start;justify-content:center;width:57.6px;padding-top:1.25rem;cursor:pointer;background:white;border:2px solid #e1e3e6;border-left:0 none;border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-appearance:none;appearance:none}.duet-choice-info-toggle[aria-expanded=true].sc-duet-choice{background:#f5f8fa;border-bottom-color:transparent;border-bottom-right-radius:0}.duet-choice-info-toggle[disabled].sc-duet-choice{pointer-events:none;background:#f5f8fa !important;border-color:#e1e3e6 !important}.duet-choice-info-toggle[disabled].sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#909599 !important}.duet-choice-info-toggle[disabled].duet-theme-turva.sc-duet-choice{background:#f5f5f7 !important;border-color:#e4e4e6 !important}.duet-choice-info-toggle[disabled].duet-theme-turva.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#747475 !important}.duet-choice-info-toggle.sc-duet-choice:focus{outline:none}.user-is-tabbing.sc-duet-choice-h .duet-choice-info-toggle.sc-duet-choice:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-choice-info-toggle.sc-duet-choice{border-left-color:#909599}.checked.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice{border-left-color:#0077b3 !important}.duet-choice-info-toggle.sc-duet-choice duet-icon.sc-duet-choice{display:block}.duet-choice-info-toggle.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#0077b3}.duet-theme-turva.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#c60c30}.duet-choice-input.sc-duet-choice{position:absolute !important;width:auto;height:auto;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);color:transparent}';const f=class{constructor(t){e(this,t),this.direction="vertical",this.margin="auto",this.theme="",this.error="",this.label="Label",this.labelHidden=!1,this.caption=void 0,this.tooltip=void 0,this.tooltipDirection="auto",this.responsive=!1,this.onSelect=e=>{if("duet-choice"!==e.detail.component)return;const t=e.target;t&&(this.value=t.value),e.cancelBubble=!0}}async connectedCallback(){const e=this.element;if(void 0===this.value){const t=b(e,"duet-choice");void 0!==t&&(await t.componentOnReady(),void 0===this.value&&(this.value=t.value))}this.mutationO=m(e,"duet-choice",(e=>{void 0!==e?e.componentOnReady().then((()=>{this.value=e.value})):this.updateChoices()})),this.updateChoices()}disconnectedCallback(){this.mutationO&&(this.mutationO.disconnect(),this.mutationO=void 0)}componentWillLoad(){p(this)}async updateChoices(){const e=Array.from(this.element.querySelectorAll("duet-choice")),{value:t}=this;let c=!1;for(const i of e)i.name=this.name,i.groupDisabled=this.disabled,i.groupDirection=this.direction,i.groupResponsive=this.responsive,c||i.value!==t?i.checked=!1:(c=!0,i.checked=!0);c||(this.value=void 0)}render(){return c(i,{onDuetChange:this.onSelect,class:{horizontal:"horizontal"===this.direction}},c("duet-fieldset",{label:this.label,labelHidden:this.labelHidden,caption:this.caption,error:this.error,margin:this.margin,theme:this.theme},this.tooltip&&c("duet-tooltip",{slot:"tooltip",direction:this.tooltipDirection,accessibleInputLabel:this.label},this.tooltip),c("div",{class:{"duet-choice-group":!0,"duet-no-stacking":!this.responsive}},c("slot",null))))}get element(){return o(this)}static get watchers(){return{value:["updateChoices"],disabled:["updateChoices"],name:["updateChoices"],direction:["updateChoices"],responsive:["updateChoices"]}}};f.style="*.sc-duet-choice-group,*.sc-duet-choice-group::after,*.sc-duet-choice-group::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-choice-group-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.horizontal.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group{display:block}@media (min-width: 48em){.horizontal.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group{display:flex;margin-bottom:0}}.horizontal.sc-duet-choice-group-h .duet-choice-group.duet-no-stacking.sc-duet-choice-group{display:flex}.duet-choice-group.sc-duet-choice-group{position:relative;width:100%;margin-bottom:-12px}";export{g as duet_choice,f as duet_choice_group}