@duetds/components 5.0.5 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/hydrate/index.js +460 -14
  2. package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
  3. package/lib/cjs/duet-alert.cjs.entry.js +2 -2
  4. package/lib/cjs/duet-badge.cjs.entry.js +2 -2
  5. package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -2
  6. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +2 -2
  7. package/lib/cjs/duet-button_2.cjs.entry.js +2 -2
  8. package/lib/cjs/duet-caption_4.cjs.entry.js +2 -2
  9. package/lib/cjs/duet-card.cjs.entry.js +3 -3
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +2 -2
  11. package/lib/cjs/duet-choice_2.cjs.entry.js +4 -4
  12. package/lib/cjs/duet-collapsible.cjs.entry.js +3 -3
  13. package/lib/cjs/duet-combobox.cjs.entry.js +390 -0
  14. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  15. package/lib/cjs/duet-date-picker.cjs.entry.js +3 -3
  16. package/lib/cjs/duet-divider_2.cjs.entry.js +2 -2
  17. package/lib/cjs/duet-editable-table_3.cjs.entry.js +8 -6
  18. package/lib/cjs/duet-empty-state.cjs.entry.js +2 -2
  19. package/lib/cjs/duet-fieldset.cjs.entry.js +2 -2
  20. package/lib/cjs/duet-footer.cjs.entry.js +4 -4
  21. package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
  22. package/lib/cjs/duet-header_2.cjs.entry.js +38 -7
  23. package/lib/cjs/duet-hero.cjs.entry.js +2 -2
  24. package/lib/cjs/duet-icon.cjs.entry.js +2 -2
  25. package/lib/cjs/duet-input_2.cjs.entry.js +19 -4
  26. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-list_2.cjs.entry.js +2 -2
  28. package/lib/cjs/duet-modal.cjs.entry.js +4 -4
  29. package/lib/cjs/duet-notification_2.cjs.entry.js +2 -2
  30. package/lib/cjs/duet-number-input.cjs.entry.js +3 -3
  31. package/lib/cjs/duet-pagination_2.cjs.entry.js +3 -3
  32. package/lib/cjs/duet-progress.cjs.entry.js +2 -2
  33. package/lib/cjs/duet-radio_2.cjs.entry.js +2 -2
  34. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  35. package/lib/cjs/duet-scrollable_3.cjs.entry.js +3 -3
  36. package/lib/cjs/duet-select.cjs.entry.js +2 -2
  37. package/lib/cjs/duet-step_2.cjs.entry.js +3 -3
  38. package/lib/cjs/duet-textarea.cjs.entry.js +3 -3
  39. package/lib/cjs/duet-toggle.cjs.entry.js +2 -2
  40. package/lib/cjs/duet-tooltip.cjs.entry.js +2 -2
  41. package/lib/cjs/duet-tray.cjs.entry.js +2 -2
  42. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  44. package/lib/cjs/duet.cjs.js +2 -2
  45. package/lib/cjs/{focus-utils-88e98997.js → focus-utils-be2df924.js} +1 -1
  46. package/lib/cjs/{index-ef094178.js → index-608ca44d.js} +1 -1
  47. package/lib/cjs/{input-utils-f3e3854c.js → input-utils-b5e8f524.js} +1 -1
  48. package/lib/cjs/{keyboard-utils-898cfe14.js → keyboard-utils-bb32119b.js} +3 -0
  49. package/lib/cjs/loader.cjs.js +2 -2
  50. package/lib/cjs/themeable-component-940d3b50.js +15 -0
  51. package/lib/collection/collection-manifest.json +1 -0
  52. package/lib/collection/components/duet-combobox/duet-combobox-select-single.js +12 -0
  53. package/lib/collection/components/duet-combobox/duet-combobox-select.js +19 -0
  54. package/lib/collection/components/duet-combobox/duet-combobox.css +78 -0
  55. package/lib/collection/components/duet-combobox/duet-combobox.js +592 -0
  56. package/lib/collection/components/duet-footer/duet-footer.js +6 -2
  57. package/lib/collection/components/duet-header/duet-header.css +15 -0
  58. package/lib/collection/components/duet-header/duet-header.js +41 -3
  59. package/lib/collection/components/duet-input/duet-input.js +67 -1
  60. package/lib/collection/components/duet-upload/duet-upload.css +12 -0
  61. package/lib/collection/components/duet-upload/duet-upload.js +4 -1
  62. package/lib/collection/components/duet-upload/upload-editable-item-success.js +1 -1
  63. package/lib/collection/utils/input-utils.js +1 -1
  64. package/lib/collection/utils/themeable-component.js +5 -2
  65. package/lib/custom-elements-bundle/index.d.ts +6 -0
  66. package/lib/custom-elements-bundle/index.js +456 -25
  67. package/lib/duet/duet.esm.js +1 -1
  68. package/lib/duet/duet.js +1 -1
  69. package/lib/duet/{p-086325ff.system.entry.js → p-026083dd.system.entry.js} +1 -1
  70. package/lib/duet/{p-84eb2808.entry.js → p-068a3522.entry.js} +1 -1
  71. package/lib/duet/{p-1144c927.entry.js → p-06b01be8.entry.js} +1 -1
  72. package/lib/duet/{p-a52c08c6.entry.js → p-08c949c2.entry.js} +1 -1
  73. package/lib/duet/{p-ea5a73c3.system.entry.js → p-0cfe2b11.system.entry.js} +1 -1
  74. package/lib/duet/{p-195f73d6.entry.js → p-143182be.entry.js} +1 -1
  75. package/lib/duet/p-156538ea.system.entry.js +4 -0
  76. package/lib/duet/{p-71cdfd93.system.entry.js → p-1dd368a3.system.entry.js} +1 -1
  77. package/lib/duet/{p-e1d56708.entry.js → p-1feabba1.entry.js} +1 -1
  78. package/lib/duet/{p-689fe862.entry.js → p-206f46ba.entry.js} +1 -1
  79. package/lib/duet/{p-b47892c9.entry.js → p-2287449d.entry.js} +1 -1
  80. package/lib/duet/{p-128983f7.system.entry.js → p-23a19b83.system.entry.js} +1 -1
  81. package/lib/duet/{p-298aff96.system.entry.js → p-2866ccc1.system.entry.js} +1 -1
  82. package/lib/duet/{p-17a8d23c.system.entry.js → p-29e73d8c.system.entry.js} +1 -1
  83. package/lib/duet/{p-e0b5e649.entry.js → p-2f409514.entry.js} +1 -1
  84. package/lib/duet/{p-a37de615.system.entry.js → p-3048d8ef.system.entry.js} +1 -1
  85. package/lib/duet/{p-04145769.system.js → p-31bc24a2.system.js} +1 -1
  86. package/lib/duet/{p-d98ed960.entry.js → p-383c7df0.entry.js} +1 -1
  87. package/lib/duet/{p-68fecc14.system.entry.js → p-388535da.system.entry.js} +1 -1
  88. package/lib/duet/p-3dfcf826.entry.js +4 -0
  89. package/lib/duet/{p-f4c60fd8.system.entry.js → p-41ff8913.system.entry.js} +1 -1
  90. package/lib/duet/{p-f056be12.entry.js → p-48ea1da4.entry.js} +1 -1
  91. package/lib/duet/{p-d688612f.entry.js → p-4c57fe8a.entry.js} +1 -1
  92. package/lib/duet/{p-217b9e24.entry.js → p-4e4cce23.entry.js} +1 -1
  93. package/lib/duet/p-546444b0.system.entry.js +4 -0
  94. package/lib/duet/{p-b985a189.entry.js → p-54724f73.entry.js} +1 -1
  95. package/lib/duet/p-54f35a79.js +4 -0
  96. package/lib/duet/p-56118313.js +4 -0
  97. package/lib/duet/{p-30a28555.system.entry.js → p-58c20a42.system.entry.js} +1 -1
  98. package/lib/duet/{p-a96ead6c.entry.js → p-60e2436b.entry.js} +1 -1
  99. package/lib/duet/{p-b5bc8221.entry.js → p-63ac8866.entry.js} +1 -1
  100. package/lib/duet/{p-98228d0a.system.js → p-64ebe689.system.js} +1 -1
  101. package/lib/duet/{p-1ccd57c6.entry.js → p-65a79da5.entry.js} +1 -1
  102. package/lib/duet/{p-42d3a162.system.entry.js → p-69c0a7f6.system.entry.js} +1 -1
  103. package/lib/duet/p-6b03322b.system.js +4 -0
  104. package/lib/duet/{p-16df6ccc.system.entry.js → p-6b1abf52.system.entry.js} +1 -1
  105. package/lib/duet/p-6b6176f4.js +4 -0
  106. package/lib/duet/{p-eb7c1a1d.system.entry.js → p-6ba20e72.system.entry.js} +2 -2
  107. package/lib/duet/{p-d2b5efc0.system.entry.js → p-6f4863db.system.entry.js} +1 -1
  108. package/lib/duet/{p-104c3fa5.system.entry.js → p-6f603653.system.entry.js} +1 -1
  109. package/lib/duet/{p-123c8434.system.entry.js → p-7339eb94.system.entry.js} +1 -1
  110. package/lib/duet/{p-fdf8fba5.entry.js → p-74728a74.entry.js} +1 -1
  111. package/lib/duet/{p-97bdc2bf.entry.js → p-7666b058.entry.js} +1 -1
  112. package/lib/duet/{p-d9ac5f05.entry.js → p-7729af53.entry.js} +1 -1
  113. package/lib/duet/p-7754c44f.entry.js +4 -0
  114. package/lib/duet/{p-90223d57.entry.js → p-7a906647.entry.js} +1 -1
  115. package/lib/duet/{p-aa16ca33.system.entry.js → p-7aa17a19.system.entry.js} +1 -1
  116. package/lib/duet/{p-e81f1326.entry.js → p-7f857142.entry.js} +1 -1
  117. package/lib/duet/{p-b06d63cb.entry.js → p-81c4e0b8.entry.js} +1 -1
  118. package/lib/duet/{p-f414ff23.system.entry.js → p-84afb642.system.entry.js} +1 -1
  119. package/lib/duet/{p-ef99ea4d.entry.js → p-85fe86ef.entry.js} +1 -1
  120. package/lib/duet/{p-5d997107.entry.js → p-887d51ae.entry.js} +1 -1
  121. package/lib/duet/{p-b110c837.entry.js → p-8cc38bb7.entry.js} +1 -1
  122. package/lib/duet/{p-adaede01.entry.js → p-8f2b3690.entry.js} +1 -1
  123. package/lib/duet/{p-1cfeab55.system.entry.js → p-93c1b85e.system.entry.js} +1 -1
  124. package/lib/duet/{p-c0071398.system.entry.js → p-9592fa1f.system.entry.js} +1 -1
  125. package/lib/duet/{p-a7a1ece1.system.entry.js → p-99dc86ab.system.entry.js} +1 -1
  126. package/lib/duet/{p-db63fb3a.system.entry.js → p-9a47fd17.system.entry.js} +1 -1
  127. package/lib/duet/{p-c5037594.entry.js → p-9b0489b4.entry.js} +1 -1
  128. package/lib/duet/{p-285e2473.system.entry.js → p-9b282421.system.entry.js} +2 -2
  129. package/lib/duet/{p-ea4674fd.system.entry.js → p-9e06a7c7.system.entry.js} +1 -1
  130. package/lib/duet/p-a63f753e.system.js +4 -0
  131. package/lib/duet/{p-2b1b8246.entry.js → p-a682a6a5.entry.js} +1 -1
  132. package/lib/duet/{p-d70b3f27.entry.js → p-aa9d165e.entry.js} +1 -1
  133. package/lib/duet/{p-36e7114b.system.entry.js → p-ab3a0d39.system.entry.js} +1 -1
  134. package/lib/duet/{p-f125dfff.system.js → p-ab8e590d.system.js} +1 -1
  135. package/lib/duet/p-abf8eaf7.js +4 -0
  136. package/lib/duet/{p-ad77f9e2.entry.js → p-b77d4386.entry.js} +1 -1
  137. package/lib/duet/{p-7dbf8797.system.entry.js → p-b7a86acf.system.entry.js} +1 -1
  138. package/lib/duet/p-badc3ac3.entry.js +4 -0
  139. package/lib/duet/{p-27eac9a4.entry.js → p-bc84c679.entry.js} +1 -1
  140. package/lib/duet/{p-901ddd73.system.entry.js → p-bdc61811.system.entry.js} +1 -1
  141. package/lib/duet/{p-1bb6c66f.system.entry.js → p-c3019850.system.entry.js} +1 -1
  142. package/lib/duet/{p-9a8d5b11.system.js → p-c466bad9.system.js} +1 -1
  143. package/lib/duet/{p-a3bd8a71.entry.js → p-c5429708.entry.js} +1 -1
  144. package/lib/duet/{p-912eed2f.entry.js → p-ca55e1f8.entry.js} +1 -1
  145. package/lib/duet/{p-1a2ab8e8.system.entry.js → p-cd2e4ea8.system.entry.js} +1 -1
  146. package/lib/duet/{p-b631407a.system.entry.js → p-d4734090.system.entry.js} +1 -1
  147. package/lib/duet/{p-85b2213b.system.entry.js → p-d8ebb48c.system.entry.js} +1 -1
  148. package/lib/duet/{p-ee6d9bc6.entry.js → p-dca9237d.entry.js} +1 -1
  149. package/lib/duet/p-df6b0878.system.entry.js +4 -0
  150. package/lib/duet/{p-2495cec7.system.entry.js → p-e4f8e874.system.entry.js} +1 -1
  151. package/lib/duet/{p-87bedb24.system.entry.js → p-e50c8c08.system.entry.js} +1 -1
  152. package/lib/duet/{p-cbd12107.system.entry.js → p-e5f9c7b8.system.entry.js} +1 -1
  153. package/lib/duet/{p-8bca2ae9.system.entry.js → p-e8a5580c.system.entry.js} +1 -1
  154. package/lib/duet/{p-9fccab71.entry.js → p-e8da9596.entry.js} +1 -1
  155. package/lib/duet/{p-5d6f8c04.entry.js → p-ea131807.entry.js} +1 -1
  156. package/lib/duet/{p-2c65e170.entry.js → p-ec340319.entry.js} +1 -1
  157. package/lib/duet/{p-d494f1a3.system.entry.js → p-ed1ea287.system.entry.js} +1 -1
  158. package/lib/duet/{p-f1b62aca.entry.js → p-f37a0b50.entry.js} +1 -1
  159. package/lib/duet/{p-00db0857.system.entry.js → p-f3ed1115.system.entry.js} +1 -1
  160. package/lib/duet/p-f42b06ec.entry.js +4 -0
  161. package/lib/duet/{p-7e2e9a28.js → p-f5ced40a.js} +1 -1
  162. package/lib/duet/{p-92722c37.system.entry.js → p-f7e5404c.system.entry.js} +1 -1
  163. package/lib/duet/{p-4c8d801e.system.entry.js → p-f9ddfbd3.system.entry.js} +1 -1
  164. package/lib/esm/duet-action-button.entry.js +3 -3
  165. package/lib/esm/duet-alert.entry.js +2 -2
  166. package/lib/esm/duet-badge.entry.js +2 -2
  167. package/lib/esm/duet-breadcrumb.entry.js +2 -2
  168. package/lib/esm/duet-breadcrumbs.entry.js +2 -2
  169. package/lib/esm/duet-button_2.entry.js +2 -2
  170. package/lib/esm/duet-caption_4.entry.js +2 -2
  171. package/lib/esm/duet-card.entry.js +3 -3
  172. package/lib/esm/duet-checkbox.entry.js +2 -2
  173. package/lib/esm/duet-choice_2.entry.js +4 -4
  174. package/lib/esm/duet-collapsible.entry.js +3 -3
  175. package/lib/esm/duet-combobox.entry.js +386 -0
  176. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  177. package/lib/esm/duet-date-picker.entry.js +3 -3
  178. package/lib/esm/duet-divider_2.entry.js +2 -2
  179. package/lib/esm/duet-editable-table_3.entry.js +8 -6
  180. package/lib/esm/duet-empty-state.entry.js +2 -2
  181. package/lib/esm/duet-fieldset.entry.js +2 -2
  182. package/lib/esm/duet-footer.entry.js +4 -4
  183. package/lib/esm/duet-grid_2.entry.js +2 -2
  184. package/lib/esm/duet-header_2.entry.js +38 -7
  185. package/lib/esm/duet-hero.entry.js +2 -2
  186. package/lib/esm/duet-icon.entry.js +2 -2
  187. package/lib/esm/duet-input_2.entry.js +19 -4
  188. package/lib/esm/duet-layout.entry.js +1 -1
  189. package/lib/esm/duet-list_2.entry.js +2 -2
  190. package/lib/esm/duet-modal.entry.js +4 -4
  191. package/lib/esm/duet-notification_2.entry.js +2 -2
  192. package/lib/esm/duet-number-input.entry.js +3 -3
  193. package/lib/esm/duet-pagination_2.entry.js +3 -3
  194. package/lib/esm/duet-progress.entry.js +2 -2
  195. package/lib/esm/duet-radio_2.entry.js +2 -2
  196. package/lib/esm/duet-range-slider.entry.js +2 -2
  197. package/lib/esm/duet-scrollable_3.entry.js +3 -3
  198. package/lib/esm/duet-select.entry.js +2 -2
  199. package/lib/esm/duet-step_2.entry.js +3 -3
  200. package/lib/esm/duet-textarea.entry.js +3 -3
  201. package/lib/esm/duet-toggle.entry.js +2 -2
  202. package/lib/esm/duet-tooltip.entry.js +2 -2
  203. package/lib/esm/duet-tray.entry.js +2 -2
  204. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  205. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  206. package/lib/esm/duet.js +2 -2
  207. package/lib/esm/{focus-utils-d02ee9d2.js → focus-utils-b6b1e60d.js} +1 -1
  208. package/lib/esm/{index-3cfa1b7e.js → index-0b088451.js} +1 -1
  209. package/lib/esm/{input-utils-f4cafee1.js → input-utils-de45e099.js} +1 -1
  210. package/lib/esm/{keyboard-utils-6eb55cd5.js → keyboard-utils-88ea1007.js} +2 -1
  211. package/lib/esm/loader.js +2 -2
  212. package/lib/esm/themeable-component-e8fc98bf.js +13 -0
  213. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  214. package/lib/esm-es5/duet-alert.entry.js +1 -1
  215. package/lib/esm-es5/duet-badge.entry.js +1 -1
  216. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  217. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  218. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  219. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  220. package/lib/esm-es5/duet-card.entry.js +1 -1
  221. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  222. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  223. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  224. package/lib/esm-es5/duet-combobox.entry.js +4 -0
  225. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  226. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  227. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  228. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  229. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  230. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  231. package/lib/esm-es5/duet-footer.entry.js +1 -1
  232. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  233. package/lib/esm-es5/duet-header_2.entry.js +2 -2
  234. package/lib/esm-es5/duet-hero.entry.js +1 -1
  235. package/lib/esm-es5/duet-icon.entry.js +1 -1
  236. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  237. package/lib/esm-es5/duet-layout.entry.js +1 -1
  238. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  239. package/lib/esm-es5/duet-modal.entry.js +1 -1
  240. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  241. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  242. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  243. package/lib/esm-es5/duet-progress.entry.js +1 -1
  244. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  245. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  246. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  247. package/lib/esm-es5/duet-select.entry.js +1 -1
  248. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  249. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  250. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  251. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  252. package/lib/esm-es5/duet-tray.entry.js +1 -1
  253. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  254. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  255. package/lib/esm-es5/duet.js +1 -1
  256. package/lib/esm-es5/focus-utils-b6b1e60d.js +4 -0
  257. package/lib/esm-es5/{index-3cfa1b7e.js → index-0b088451.js} +1 -1
  258. package/lib/esm-es5/input-utils-de45e099.js +4 -0
  259. package/lib/esm-es5/keyboard-utils-88ea1007.js +4 -0
  260. package/lib/esm-es5/loader.js +1 -1
  261. package/lib/esm-es5/themeable-component-e8fc98bf.js +4 -0
  262. package/lib/html.html-data.json +5321 -0
  263. package/lib/types/components/duet-combobox/duet-combobox-select-single.d.ts +8 -0
  264. package/lib/types/components/duet-combobox/duet-combobox-select.d.ts +14 -0
  265. package/lib/types/components/duet-combobox/duet-combobox.d.ts +131 -0
  266. package/lib/types/components/duet-footer/duet-footer.d.ts +4 -0
  267. package/lib/types/components/duet-header/duet-header.d.ts +8 -0
  268. package/lib/types/components/duet-input/duet-input.d.ts +13 -0
  269. package/lib/types/components.d.ts +107 -0
  270. package/package.json +5 -5
  271. package/lib/cjs/themeable-component-0c1be552.js +0 -12
  272. package/lib/duet/p-6733b42f.js +0 -4
  273. package/lib/duet/p-74780bca.system.js +0 -4
  274. package/lib/duet/p-898f30a5.js +0 -4
  275. package/lib/duet/p-9dfcd29a.js +0 -4
  276. package/lib/duet/p-a0b09d95.system.entry.js +0 -4
  277. package/lib/duet/p-a28cf57b.js +0 -4
  278. package/lib/duet/p-a8ff3a13.entry.js +0 -4
  279. package/lib/duet/p-b769b313.entry.js +0 -4
  280. package/lib/duet/p-c9097a6c.system.entry.js +0 -4
  281. package/lib/duet/p-d8c526b4.entry.js +0 -4
  282. package/lib/duet/p-efaa0c04.system.js +0 -4
  283. package/lib/esm/themeable-component-572685dd.js +0 -10
  284. package/lib/esm-es5/focus-utils-d02ee9d2.js +0 -4
  285. package/lib/esm-es5/input-utils-f4cafee1.js +0 -4
  286. package/lib/esm-es5/keyboard-utils-6eb55cd5.js +0 -4
  287. package/lib/esm-es5/themeable-component-572685dd.js +0 -4
@@ -0,0 +1,8 @@
1
+ import { FunctionalComponent } from "../../stencil-public-runtime";
2
+ import { DuetComboboxItem } from "./duet-combobox";
3
+ export interface DuetComboboxSelectSingleProps {
4
+ item: DuetComboboxItem;
5
+ search: string;
6
+ selected: boolean;
7
+ }
8
+ export declare const SelectSingle: FunctionalComponent<DuetComboboxSelectSingleProps>;
@@ -0,0 +1,14 @@
1
+ import { FunctionalComponent } from "../../stencil-public-runtime";
2
+ import { DuetComboboxItem } from "./duet-combobox";
3
+ interface DuetComboboxSelect {
4
+ item: DuetComboboxItem;
5
+ active: boolean;
6
+ search: string;
7
+ total: number;
8
+ clickHandler?: any;
9
+ keyHandler?: any;
10
+ label?: string;
11
+ selected: boolean;
12
+ }
13
+ export declare const DuetComboBoxSelect: FunctionalComponent<DuetComboboxSelect>;
14
+ export {};
@@ -0,0 +1,131 @@
1
+ import { EventEmitter } from "../../stencil-public-runtime";
2
+ import { DuetTheme } from "../../common-types";
3
+ import { DuetLangObject } from "../../utils/language-utils";
4
+ import { ThemeableComponent } from "../../utils/themeable-component";
5
+ export declare type DuetComboboxEvent = {
6
+ originalEvent?: Event;
7
+ component: "duet-combobox";
8
+ value: any;
9
+ item: DuetComboboxItem;
10
+ };
11
+ export declare type DuetComboboxItem = {
12
+ id?: number;
13
+ value: any;
14
+ name: string;
15
+ html?: string;
16
+ tags?: string[];
17
+ };
18
+ export declare class DuetCombobox implements ThemeableComponent {
19
+ private input?;
20
+ private listElement;
21
+ private listContainer;
22
+ private isSafari;
23
+ private resizeObserver;
24
+ element: HTMLDivElement;
25
+ processedItems: DuetComboboxItem[];
26
+ inputWidth: number;
27
+ inputValue: string;
28
+ selectionMsg: string;
29
+ listOpen: boolean;
30
+ selectedItems?: Set<number>;
31
+ activeItem?: number;
32
+ activeItemHandler(state: any): void;
33
+ /**
34
+ * Placeholder defaults
35
+ * @default { fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" }
36
+ */
37
+ accessibleLabelDefaults: DuetLangObject | string;
38
+ /**
39
+ * Hint text to display before the user types into the date picker input.
40
+ * @default {
41
+ * heading: "Valitse:",
42
+ * item: "{0}, ({1}/{2})",
43
+ * itemFiltered: "{0}, ({1}/{2} - {3} suodatettu"
44
+ * }
45
+ */
46
+ accessibleLabels: Record<string, string>;
47
+ /**
48
+ * Theme of the combobox.
49
+ */
50
+ theme: DuetTheme;
51
+ /**
52
+ * Force the user to make a selection (typing things in the input field will only be used for list search)
53
+ */
54
+ force: boolean;
55
+ /**
56
+ * Array of item objects.
57
+ */
58
+ items: any;
59
+ /**
60
+ * A hook to overwrite how the values are displayed in the input field after a User select an item
61
+ * @example (item) => `${item.name} (${item.value})`
62
+ * @default undefined
63
+ */
64
+ formatter: (item: DuetComboboxItem) => string;
65
+ /**
66
+ * Object containing selected item/s
67
+ */
68
+ value: string;
69
+ /**
70
+ * Emitted when a keyboard input occurred.
71
+ */
72
+ duetChange: EventEmitter<DuetComboboxEvent>;
73
+ handleDocumentClick(e: MouseEvent): void;
74
+ /**
75
+ * Exposes a formatter function to format the item value displayed after a user selects an item
76
+ * @param item: DuetComboboxItem
77
+ */
78
+ formatItem(item: DuetComboboxItem): Promise<string>;
79
+ /**
80
+ * Component lifecycle events.
81
+ */
82
+ componentWillLoad(): void;
83
+ connectedCallback(): void;
84
+ disconnectedCallback(): void;
85
+ componentDidLoad(): void;
86
+ /**
87
+ * Updates the input text based on the selected/clicked items.
88
+ * @param event - event
89
+ *'param item: DuetComboboxItem - the item that was selected
90
+ */
91
+ private onListClick;
92
+ /**
93
+ * Helper function that checks inputs in the field, compares it with the item list and returns true when inputvalue matches selectedItem id
94
+ * TODO: this should be disabled in multiple mode
95
+ */
96
+ private shouldListBeFiltered;
97
+ /**
98
+ * Helper function that return correct collection depending on filter status returend by shouldListBeFiltered
99
+ */
100
+ private returnFilteredOrNonFiltered;
101
+ /**
102
+ * Updates the selected items based on the item id.
103
+ * @param id
104
+ * @private
105
+ */
106
+ private updateSelectedItems;
107
+ /**
108
+ * Updates the input text based on the selected/clicked items.
109
+ * @param bool -override to clear if invoked by "click outside"
110
+ */
111
+ private updateInputText;
112
+ private updateInputValue;
113
+ private handleInputKeyDownEvent;
114
+ private selectActiveItem;
115
+ private announceActive;
116
+ private scrollToActive;
117
+ private formatLabel;
118
+ /**
119
+ * Filter the items based on the input value
120
+ */
121
+ private getFilteredItems;
122
+ /**
123
+ * Sort the return from getFilteredItems so that any item with and item.id that matches this.selectedItems is placed first
124
+ */
125
+ private sortFilteredItems;
126
+ /**
127
+ * render() function
128
+ * Always the last one in the class.
129
+ */
130
+ render(): any;
131
+ }
@@ -19,6 +19,10 @@ export declare type DuetFooterChangeEvent = {
19
19
  originalEvent: Event;
20
20
  };
21
21
  export declare type DuetFooterAnalyticsEvent = DuetAnalyticsEvent<"duet-footer">;
22
+ /**
23
+ * @part top - piercing selector for styling the top part of the footer
24
+ * @part menu - piercing selector for styling the menu section of the footer
25
+ */
22
26
  export declare class DuetFooter implements ThemeableComponent {
23
27
  /**
24
28
  * Reference to host HTML element.
@@ -23,6 +23,10 @@ export declare type DuetHeaderLanguageItem = DuetHeaderItem & {
23
23
  };
24
24
  export declare type DuetHeaderSession = DuetHeaderItem & {
25
25
  type: "login" | "logout";
26
+ sessionItems?: [{
27
+ label: string | undefined;
28
+ items: DuetHeaderItem[];
29
+ }];
26
30
  };
27
31
  export declare type DuetHeaderSearch = DuetHeaderItem;
28
32
  export declare type DuetHeaderChangeEvent = {
@@ -52,6 +56,8 @@ export declare class DuetHeader implements ThemeableComponent {
52
56
  private hasLanguageChanged;
53
57
  private languageItemsEl;
54
58
  private languageItemsButtonEl;
59
+ private sessionItemsEl;
60
+ private sessionItemsButtonEl;
55
61
  private segmentItemsEl;
56
62
  private segmentItemsButtonEl;
57
63
  private navigationEl;
@@ -68,6 +74,7 @@ export declare class DuetHeader implements ThemeableComponent {
68
74
  */
69
75
  isContactOpen: boolean;
70
76
  isLanguageOpen: boolean;
77
+ isSessionOpen: boolean;
71
78
  isSlideOutOpen: boolean;
72
79
  isSegmentOpen: boolean;
73
80
  openMenu: string;
@@ -312,6 +319,7 @@ export declare class DuetHeader implements ThemeableComponent {
312
319
  private handleLanguageClick;
313
320
  private handleClick;
314
321
  private handleSessionClick;
322
+ private handleSessionItemClick;
315
323
  private handleSearchClick;
316
324
  private handleUserClick;
317
325
  private handleBackClick;
@@ -43,10 +43,18 @@ export declare class DuetInput implements ThemeableComponent, InputComponent {
43
43
  * Indicates the id of a component owned by the input.
44
44
  */
45
45
  accessibleOwns: string;
46
+ /**
47
+ * Expanded state of the element, if needed
48
+ */
49
+ accessibleExpanded: string;
46
50
  /**
47
51
  * Indicates the id of a component that describes the input.
48
52
  */
49
53
  accessibleDescribedBy: string;
54
+ /**
55
+ * Indicates value of any popup element associated with the input.
56
+ */
57
+ accessibleHasPopup: string;
50
58
  /**
51
59
  * Set the amount of time, in milliseconds, to wait to trigger the duetChange
52
60
  * event after each keystroke.
@@ -204,6 +212,11 @@ export declare class DuetInput implements ThemeableComponent, InputComponent {
204
212
  * `input.focus()`.
205
213
  */
206
214
  setFocus(options?: FocusOptions): Promise<void>;
215
+ /**
216
+ * Reset the cursor position on the native element
217
+ * `input.resetCursor()`.
218
+ */
219
+ resetCursor(): Promise<void>;
207
220
  /**
208
221
  * render() function
209
222
  * Always the last one in the class.
@@ -15,6 +15,7 @@ import { DuetCardPadding, DuetCardToggleEvent, DuetCardVariation } from "./compo
15
15
  import { DuetCheckboxEvent } from "./components/duet-checkbox/duet-checkbox";
16
16
  import { DuetChoiceEvent, DuetChoiceType } from "./components/duet-choice/duet-choice";
17
17
  import { DuetCollapsibleHeadingFontSize, DuetCollapsibleToggleEvent, DuetCollapsibleWeight } from "./components/duet-collapsible/duet-collapsible";
18
+ import { DuetComboboxEvent, DuetComboboxItem } from "./components/duet-combobox/duet-combobox";
18
19
  import { DuetCookieConsentEvent } from "./components/duet-cookie-consent/duet-cookie-consent";
19
20
  import { DuetDatePickerChangeEvent, DuetDatePickerDirection, DuetDatePickerFocusEvent } from "./components/duet-date-picker/duet-date-picker";
20
21
  import { DuetDividerMargin } from "./components/duet-divider/duet-divider";
@@ -688,6 +689,45 @@ export namespace Components {
688
689
  */
689
690
  "theme": DuetTheme;
690
691
  }
692
+ interface DuetCombobox {
693
+ /**
694
+ * Placeholder defaults
695
+ * @default { fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" }
696
+ */
697
+ "accessibleLabelDefaults": DuetLangObject | string;
698
+ /**
699
+ * Hint text to display before the user types into the date picker input.
700
+ * @default { heading: "Valitse:", item: "{0}, ({1}/{2})", itemFiltered: "{0}, ({1}/{2} - {3} suodatettu" }
701
+ */
702
+ "accessibleLabels": Record<string, string>;
703
+ /**
704
+ * Force the user to make a selection (typing things in the input field will only be used for list search)
705
+ */
706
+ "force": boolean;
707
+ /**
708
+ * Exposes a formatter function to format the item value displayed after a user selects an item
709
+ * @param item : DuetComboboxItem
710
+ */
711
+ "formatItem": (item: DuetComboboxItem) => Promise<string>;
712
+ /**
713
+ * A hook to overwrite how the values are displayed in the input field after a User select an item
714
+ * @example (item) => `${item.name} (${item.value})`
715
+ * @default undefined
716
+ */
717
+ "formatter": (item: DuetComboboxItem) => string;
718
+ /**
719
+ * Array of item objects.
720
+ */
721
+ "items": any;
722
+ /**
723
+ * Theme of the combobox.
724
+ */
725
+ "theme": DuetTheme;
726
+ /**
727
+ * Object containing selected item/s
728
+ */
729
+ "value": string;
730
+ }
691
731
  interface DuetCookieConsent {
692
732
  /**
693
733
  * Adds accessible label for the cookie consent ok button.
@@ -1316,6 +1356,14 @@ export namespace Components {
1316
1356
  * Indicates the id of a component that describes the input.
1317
1357
  */
1318
1358
  "accessibleDescribedBy": string;
1359
+ /**
1360
+ * Expanded state of the element, if needed
1361
+ */
1362
+ "accessibleExpanded": string;
1363
+ /**
1364
+ * Indicates value of any popup element associated with the input.
1365
+ */
1366
+ "accessibleHasPopup": string;
1319
1367
  /**
1320
1368
  * Indicates the id of a component owned by the input.
1321
1369
  */
@@ -1404,6 +1452,10 @@ export namespace Components {
1404
1452
  * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them. When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.
1405
1453
  */
1406
1454
  "required": boolean;
1455
+ /**
1456
+ * Reset the cursor position on the native element `input.resetCursor()`.
1457
+ */
1458
+ "resetCursor": () => Promise<void>;
1407
1459
  /**
1408
1460
  * Defines a specific role attribute for the input.
1409
1461
  */
@@ -3102,6 +3154,12 @@ declare global {
3102
3154
  prototype: HTMLDuetCollapsibleElement;
3103
3155
  new (): HTMLDuetCollapsibleElement;
3104
3156
  };
3157
+ interface HTMLDuetComboboxElement extends Components.DuetCombobox, HTMLStencilElement {
3158
+ }
3159
+ var HTMLDuetComboboxElement: {
3160
+ prototype: HTMLDuetComboboxElement;
3161
+ new (): HTMLDuetComboboxElement;
3162
+ };
3105
3163
  interface HTMLDuetCookieConsentElement extends Components.DuetCookieConsent, HTMLStencilElement {
3106
3164
  }
3107
3165
  var HTMLDuetCookieConsentElement: {
@@ -3397,6 +3455,7 @@ declare global {
3397
3455
  "duet-choice": HTMLDuetChoiceElement;
3398
3456
  "duet-choice-group": HTMLDuetChoiceGroupElement;
3399
3457
  "duet-collapsible": HTMLDuetCollapsibleElement;
3458
+ "duet-combobox": HTMLDuetComboboxElement;
3400
3459
  "duet-cookie-consent": HTMLDuetCookieConsentElement;
3401
3460
  "duet-date-picker": HTMLDuetDatePickerElement;
3402
3461
  "duet-divider": HTMLDuetDividerElement;
@@ -4105,6 +4164,44 @@ declare namespace LocalJSX {
4105
4164
  */
4106
4165
  "theme"?: DuetTheme;
4107
4166
  }
4167
+ interface DuetCombobox {
4168
+ /**
4169
+ * Placeholder defaults
4170
+ * @default { fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" }
4171
+ */
4172
+ "accessibleLabelDefaults"?: DuetLangObject | string;
4173
+ /**
4174
+ * Hint text to display before the user types into the date picker input.
4175
+ * @default { heading: "Valitse:", item: "{0}, ({1}/{2})", itemFiltered: "{0}, ({1}/{2} - {3} suodatettu" }
4176
+ */
4177
+ "accessibleLabels"?: Record<string, string>;
4178
+ /**
4179
+ * Force the user to make a selection (typing things in the input field will only be used for list search)
4180
+ */
4181
+ "force"?: boolean;
4182
+ /**
4183
+ * A hook to overwrite how the values are displayed in the input field after a User select an item
4184
+ * @example (item) => `${item.name} (${item.value})`
4185
+ * @default undefined
4186
+ */
4187
+ "formatter"?: (item: DuetComboboxItem) => string;
4188
+ /**
4189
+ * Array of item objects.
4190
+ */
4191
+ "items"?: any;
4192
+ /**
4193
+ * Emitted when a keyboard input occurred.
4194
+ */
4195
+ "onDuetChange"?: (event: CustomEvent<DuetComboboxEvent>) => void;
4196
+ /**
4197
+ * Theme of the combobox.
4198
+ */
4199
+ "theme"?: DuetTheme;
4200
+ /**
4201
+ * Object containing selected item/s
4202
+ */
4203
+ "value"?: string;
4204
+ }
4108
4205
  interface DuetCookieConsent {
4109
4206
  /**
4110
4207
  * Adds accessible label for the cookie consent ok button.
@@ -4807,6 +4904,14 @@ declare namespace LocalJSX {
4807
4904
  * Indicates the id of a component that describes the input.
4808
4905
  */
4809
4906
  "accessibleDescribedBy"?: string;
4907
+ /**
4908
+ * Expanded state of the element, if needed
4909
+ */
4910
+ "accessibleExpanded"?: string;
4911
+ /**
4912
+ * Indicates value of any popup element associated with the input.
4913
+ */
4914
+ "accessibleHasPopup"?: string;
4810
4915
  /**
4811
4916
  * Indicates the id of a component owned by the input.
4812
4917
  */
@@ -6584,6 +6689,7 @@ declare namespace LocalJSX {
6584
6689
  "duet-choice": DuetChoice;
6585
6690
  "duet-choice-group": DuetChoiceGroup;
6586
6691
  "duet-collapsible": DuetCollapsible;
6692
+ "duet-combobox": DuetCombobox;
6587
6693
  "duet-cookie-consent": DuetCookieConsent;
6588
6694
  "duet-date-picker": DuetDatePicker;
6589
6695
  "duet-divider": DuetDivider;
@@ -6649,6 +6755,7 @@ declare module "@stencil/core" {
6649
6755
  "duet-choice": LocalJSX.DuetChoice & JSXBase.HTMLAttributes<HTMLDuetChoiceElement>;
6650
6756
  "duet-choice-group": LocalJSX.DuetChoiceGroup & JSXBase.HTMLAttributes<HTMLDuetChoiceGroupElement>;
6651
6757
  "duet-collapsible": LocalJSX.DuetCollapsible & JSXBase.HTMLAttributes<HTMLDuetCollapsibleElement>;
6758
+ "duet-combobox": LocalJSX.DuetCombobox & JSXBase.HTMLAttributes<HTMLDuetComboboxElement>;
6652
6759
  "duet-cookie-consent": LocalJSX.DuetCookieConsent & JSXBase.HTMLAttributes<HTMLDuetCookieConsentElement>;
6653
6760
  "duet-date-picker": LocalJSX.DuetDatePicker & JSXBase.HTMLAttributes<HTMLDuetDatePickerElement>;
6654
6761
  "duet-divider": LocalJSX.DuetDivider & JSXBase.HTMLAttributes<HTMLDuetDividerElement>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duetds/components",
3
- "version": "5.0.5",
3
+ "version": "5.1.0",
4
4
  "description": "This package includes Duet Design System Web Components and related utilities.",
5
5
  "bugs": {
6
6
  "email": "duetdesignsystem@lahitapiola.fi"
@@ -51,11 +51,11 @@
51
51
  "body-scroll-lock": "3.1.5"
52
52
  },
53
53
  "devDependencies": {
54
- "@duetds/fonts": "1.4.21",
55
- "@duetds/icons": "2.2.22",
54
+ "@duetds/fonts": "1.4.22",
55
+ "@duetds/icons": "2.2.23",
56
56
  "@duetds/stencil-angular-output-target": "0.0.2",
57
57
  "@duetds/stencil-react-output-target": "0.0.10",
58
- "@duetds/tokens": "2.5.4",
58
+ "@duetds/tokens": "2.5.5",
59
59
  "@koa/cors": "3.3.0",
60
60
  "@rollup/plugin-replace": "3.1.0",
61
61
  "@stencil/core": "2.15.0",
@@ -88,5 +88,5 @@
88
88
  "collection": "lib/collection/collection-manifest.json",
89
89
  "es2015": "lib/esm/index.js",
90
90
  "es2017": "lib/esm/index.js",
91
- "gitHead": "ce691ef662f6616589cf778a25b790f115d77f3f"
91
+ "gitHead": "67efc168275e7621103c2c83ff6a1c3e0d9c5570"
92
92
  }
@@ -1,12 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- 'use strict';
5
-
6
- const inheritGlobalTheme = (component) => {
7
- if (component.theme !== "default" && document.documentElement.classList.contains("duet-theme-turva")) {
8
- component.theme = "turva";
9
- }
10
- };
11
-
12
- exports.inheritGlobalTheme = inheritGlobalTheme;
@@ -1,4 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- import{h as o}from"./p-7e2e9a28.js";const s=o=>{"setFocus"in o?o.setFocus():o.focus()},e=({moveFocusTo:e})=>o("div",{class:"duet-focus-guard","aria-hidden":"true",tabIndex:0,onFocus:()=>s(e)});export{e as F,s as f}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- System.register([],(function(e){"use strict";return{execute:function(){var n=e("d",(function(e){return e.keyCode===37}));var r=e("b",(function(e){return e.keyCode===38}));var t=e("a",(function(e){return e.keyCode===39}));var u=e("c",(function(e){return e.keyCode===40}));var o=e("j",(function(e){return u(e)||t(e)||r(e)||n(e)}));var c=e("f",(function(e){return e.key==="Escape"||e.key==="Esc"||e.keyCode===27}));var k=e("e",(function(e){return e.keyCode===8}));var y=e("g",(function(e){return e.key==="Space"||e.keyCode===32}));var i=e("m",(function(e){return e.key==="+"||e.keyCode===43}));var a=e("l",(function(e){return e.key==="-"||e.keyCode===45}));var f=e("h",(function(e){return e.key==="?"}));var d=function(e){return e.key==="Enter"||e.keyCode===13};var v=e("i",(function(e){return d(e)||y(e)}));var C=e("k",(function(e){return e.keyCode>=48&&e.keyCode<=57||e.keyCode>=96&&e.keyCode<=105}))}}}));
@@ -1,4 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- const a=a=>37===a.keyCode,s=a=>38===a.keyCode,c=a=>39===a.keyCode,e=a=>40===a.keyCode,p=p=>e(p)||c(p)||s(p)||a(p),t=a=>"Escape"===a.key||"Esc"===a.key||27===a.keyCode,E=a=>8===a.keyCode,n=a=>"Space"===a.key||32===a.keyCode,o=a=>"+"===a.key||43===a.keyCode,r=a=>"-"===a.key||45===a.keyCode,b=a=>"?"===a.key,d=a=>(a=>"Enter"===a.key||13===a.keyCode)(a)||n(a),f=a=>a.keyCode>=48&&a.keyCode<=57||a.keyCode>=96&&a.keyCode<=105;export{c as a,s as b,e as c,a as d,E as e,t as f,n as g,b as h,d as i,p as j,f as k,r as l,o as m}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- function n(n){if(n&&n.selectionStart){const t=n.selectionStart,o=n.selectionEnd;return function(){t===o?(n.selectionStart=t,n.selectionEnd=o):n.setSelectionRange(t,o)}}return()=>console.log("domElement not valid")}function t(n,t){const o=n.value,r=n.selectionStart,c=o.slice(0,r),e=o.slice(r,o.length),u=c.replace(t,""),i=u+e.replace(t,""),s=u.length;return n.value=i,n.selectionStart=n.selectionEnd=s,i}export{t as c,n as r}
@@ -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-98228d0a.system.js","./p-92639d0b.system.js","./p-74780bca.system.js","./p-70fafc98.system.js","./p-efaa0c04.system.js","./p-ddb6344c.system.js","./p-5f6bd5db.system.js","./p-9a945278.system.js"],(function(e){"use strict";var t,a,i,n,r,o,l,s,d,u,p,c,f,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){c=e.m;f=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 E={none:"all","none-scrollable":"all",small:_(g),medium:_(c),large:_(f),"x-large":_(h),"xx-large":_(b),"xxx-large":_(m)};var I={none:0,"with-links":parseFloat(y)*16,"without-links":parseFloat(v)*16};var T=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(E[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=I[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.takeRecords()};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}());T.style=M;var z=[{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 F=function(e){var t={type:undefined,system_message:undefined,message:undefined};t=z.filter((function(t){return t.type==e}))[0];if(!t){t=z.filter((function(e){return e.type==="default"}))[0]}return t};var L=function(e){var t=F(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-spacer",{size:"xx-small"}),t("duet-progress",{progress:Math.ceil(a),"aria-hidden":true}))};var C=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 P=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:"xx-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"}},"(",C(r),")");var c=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 f=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,c),f)};var j=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 B=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 R=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=F("default");if(e){var l=e.name,s=e.type,u=e.size;var p=B(s,a);var c=j(l.toLowerCase(),i);var f=R(u,n);if(!p){o=F("duet-upload-101")}if(!c){o=F("duet-upload-100")}if(!f){o=F("duet-upload-201")}r=p&&c&&f}else{r=false}return{valid:r,errorMessage:r?undefined:d(o.message),errorSystem:r?undefined:o.system_message,errorType:r?undefined:o.type}};var q=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 V=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,c=a.headers,f=c===void 0?null:c;s.open(l,"".concat(d).concat(p||""),true);var h=t.data,b=t.name;if(f){Object.keys(f).forEach((function(e){s.setRequestHeader(e,f[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 G="*,*::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-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:0.75rem 0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td:last-child{padding-right:0 !important}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-action-button::part(button){border:0}";var W=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.hideButton=false;this.actions=[{icon:"action-delete",color:"color-danger",size:"x-small",background:"gray-lightest",name:"delete",map:["success","failure"],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",failure:"failure"};this.groups=[{id:this.DefaultGroups.inprogress,label:{fi:"Kesken olevat tiedostot",sv:"Filer inprogress",en:"Files inprogress"}},{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;console.log(e);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){if(e.group){return e.group}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.group){return e.group}else{return"none"}};this.getItemHTMLFromItemData=function(e,a){if(a===n.DefaultGroups.success){return t(P,{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.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}var r=n.files.get(e);r[t]=a;n.files.set(e,r);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",F("duet-upload-001"))};this.transferCanceled=function(e){n.files.delete(e);n.validateTotals(e);n.kick()};this.validateTotals=function(e){var t=q(n.files,n.maxBytesTotal);var a=V(n.files,n.maxFiles);if(t&&e){n.updateValueInMap(e,"error",F("duet-upload-202"),false)}if(a&&e){n.updateValueInMap(e,"error",F("duet-upload-301"),false)}n.bytesMaxReached=t;n.fileMaxReached=a;return{bytesMaxReached:t,fileMaxReached:a}};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).key;var i=n.files.get(a);n.files.delete(a);n.validateTotals();n.kick();n.duetDelete.emit({originalEvent:t,data:{deletion:i},component:"duet-upload"});if(!n.external){n.makeXHRDeleteRequest(i)}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=[];e.forEach((function(e){var r=n.getGroupFromItemData(e);var o=n.getItemHTMLFromItemData(e,r);if(r===n.DefaultGroups.success){i.push({uid:e.uid,item:o,group:r})}else if(r===n.DefaultGroups.inprogress){t.push({uid:e.uid,item:o,group:r})}else if(r===n.DefaultGroups.failure){a.push({uid:e.uid,item:o,group:r})}else if(e.group){t.push({uid:e.uid,item:o,group:e.group})}}));return{inprogress:t,failure:a,success:i}};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.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},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,c,f,h,b,m,g,y;return __generator(this,(function(v){switch(v.label){case 0:a=Array.from((t=this.nativeInput)===null||t===void 0?void 0:t.files);if(!a)return[3,9];i=0,n=a;v.label=1;case 1:if(!(i<n.length))return[3,9];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();c={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,c);f=this.validateTotals(r.name),h=f.bytesMaxReached,b=f.fileMaxReached;if(!h)return[3,2];this.updateValueInMap(r.name,"valid",false,false);return[3,7];case 2:if(!b)return[3,3];this.updateValueInMap(r.name,"valid",false,false);return[3,7];case 3:if(!(l&&!this.external))return[3,7];m=new FormData;m.append("file",r);m.append("uid",p);m.append("name",r.name);m.append("metadata",JSON.stringify({uid:p,url:this.uri,size:r.size,meta:c.meta}));v.label=4;case 4:v.trys.push([4,6,,7]);g=c;return[4,this.makeXHRPostRequest(m)];case 5:g.xhr=v.sent();return[3,7];case 6:y=v.sent();this.updateValueInMap(r.name,"valid",false,false);return[3,7];case 7:this.kick();v.label=8;case 8:i++;return[3,1];case 9: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}());W.style=G}}}));
@@ -1,4 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- const t=t=>{"default"!==t.theme&&document.documentElement.classList.contains("duet-theme-turva")&&(t.theme="turva")};export{t as i}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- import{r as t,c as e,h as i,H as n,g as o}from"./p-7e2e9a28.js";import{f as s}from"./p-d004da5f.js";import{c as a}from"./p-c1325e35.js";import{c as u,r as d}from"./p-9dfcd29a.js";import{i as p}from"./p-a28cf57b.js";const r={search:s,email:{title:"form-email",tags:"form email",svg:'<svg fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img"><path d="M12 23.999c-3.205 0-6.218-1.248-8.484-3.514S.001 15.206.001 12.001s1.248-6.218 3.514-8.485C5.782 1.25 8.795.001 12 .001s6.218 1.248 8.485 3.514A11.92 11.92 0 0 1 24 12v2.25A3.754 3.754 0 0 1 20.25 18a3.77 3.77 0 0 1-3.48-2.365A6.009 6.009 0 0 1 12 18c-3.308 0-6-2.692-6-6s2.692-6 6-6 6 2.692 6 6v2.25c0 1.241 1.009 2.25 2.25 2.25s2.25-1.009 2.25-2.25V12c0-2.804-1.092-5.441-3.075-7.424A10.433 10.433 0 0 0 12 1.501c-2.804 0-5.441 1.092-7.424 3.075S1.501 9.196 1.501 12c0 2.805 1.092 5.441 3.075 7.424s4.619 3.074 7.423 3.074c2.257 0 4.494-.746 6.299-2.1a.749.749 0 1 1 .9 1.199A12.049 12.049 0 0 1 12 23.999zM12 7.5c-2.481 0-4.5 2.019-4.5 4.5s2.019 4.5 4.5 4.5 4.5-2.019 4.5-4.5-2.019-4.5-4.5-4.5z"/></svg>'}},l=class{constructor(i){t(this,i),this.duetInput=e(this,"duetInput",7),this.duetChange=e(this,"duetChange",3),this.duetBlur=e(this,"duetBlur",7),this.duetFocus=e(this,"duetFocus",7),this.inputId=a("DuetInput"),this.labelId=a("DuetLabel"),this.topCaptionId=a("DuetCaptionTop"),this.topCaptionPlaceholderId=a("DuetCaptionPlaceholderTop"),this.errorId=a("DuetError"),this.disallowPatternRegex=null,this.accessibleDescribedBy="",this.debounce=0,this.echoPlaceholder=!1,this.theme="",this.expand=!1,this.disabled=!1,this.margin="auto",this.required=!1,this.type="text",this.label="label",this.error="",this.labelHidden=!1,this.numericKeyboard=!1,this.component="input",this.autoComplete="on",this.disallowPattern=null,this.tooltip="",this.tooltipDirection="auto",this.onInput=t=>{this.disallowPatternRegex&&u(this.nativeInput,this.disallowPatternRegex),this.value=this.nativeInput.value||"",this.duetInput.emit({originalEvent:t,value:this.value,component:"duet-input"})},this.onBlur=t=>{this.duetBlur.emit({originalEvent:t,value:this.value,component:"duet-input"})},this.onFocus=t=>{this.duetFocus.emit({originalEvent:t,value:this.value,component:"duet-input"})},this.getDescribedBy=()=>{let t="";return this.isCaptionVisible&&this.topCaptionId?(t=this.topCaptionId,this.accessibleDescribedBy&&(t+=" "+this.accessibleDescribedBy)):t=this.accessibleDescribedBy.length>0?this.accessibleDescribedBy:void 0,t}}disallowedPatternChange(){this.disallowPatternRegex=this.disallowPattern?new RegExp(this.disallowPattern,"g"):null}valueChanged(){var t;if((null===(t=null==this?void 0:this.nativeInput)||void 0===t?void 0:t.value)!==this.value){const t=d(this.nativeInput);this.nativeInput.value=this.value,t()}this.isCaptionVisible=!!this.caption;const e=()=>this.duetChange.emit({value:this.value,component:"duet-input"});0===this.debounce?e():(clearTimeout(this.timeoutId),this.timeoutId=setTimeout(e,this.debounce))}componentWillLoad(){p(this),this.disallowedPatternChange(),this.isCaptionVisible=!!this.caption}async setFocus(t){this.nativeInput&&this.nativeInput.focus(t)}render(){const t=this.identifier||this.inputId,e={};return this.numericKeyboard&&(e.inputmode="numeric"),this.pattern&&"tel"!==this.type?e.pattern=this.pattern:this.pattern||"tel"!==this.type||(e.pattern="[0-9+ ]+"),i(n,{class:{"duet-expand":this.expand,"duet-m-0":"none"===this.margin}},i("div",{class:{"duet-input-container":!0,"duet-theme-turva":"turva"===this.theme,"duet-label-hidden":this.labelHidden,"duet-input-top-caption-shown":this.isCaptionVisible,"has-icon":!!this.icon||"text"!==this.type&&"tel"!==this.type&&"password"!==this.type,"has-error":!!this.error}},i("duet-label",{theme:"turva"===this.theme?"turva":"default",class:{"duet-has-tooltip":!!this.tooltip},margin:this.isCaptionVisible?"small":"auto",id:this.labelId,for:t},this.label),this.tooltip&&i("duet-tooltip",{direction:this.tooltipDirection,accessibleInputLabel:this.label},this.tooltip),this.caption&&i("duet-caption",{id:this.topCaptionId,size:"medium"},this.caption),i("div",{class:"duet-input-relative"},this.placeholder&&this.echoPlaceholder&&this.value&&i("duet-caption",{id:this.topCaptionPlaceholderId,class:"duet-input-placeholder",margin:"none",size:"small"},this.placeholder),i("input",Object.assign({ref:t=>this.nativeInput=t,onInput:this.onInput,onBlur:this.onBlur,onFocus:this.onFocus,type:this.type,class:{"duet-input":!0,disabled:this.disabled,"is-number":"number"===this.component,"is-date":"date"===this.component},value:this.value,disabled:this.disabled,"aria-invalid":this.error?"true":"false","aria-labelledby":`${this.labelId} ${this.errorId}`,"aria-controls":this.accessibleControls,"aria-autocomplete":this.accessibleAutocomplete,"aria-activedescendant":this.accessibleActiveDescendant,"aria-owns":this.accessibleOwns,"aria-describedby":this.getDescribedBy(),placeholder:this.placeholder,spellcheck:"false",minlength:this.minlength,maxlength:this.maxlength,autocomplete:this.autoComplete,required:this.required,role:this.role,name:this.name,id:t},e)),!this.icon&&"text"!==this.type&&"tel"!==this.type&&"password"!==this.type&&i("div",{class:"duet-input-icon"},i("duet-icon",{margin:"none",size:"small",icon:r[this.type].svg,color:"currentColor"})),this.icon&&i("div",{class:"duet-input-icon"},i("duet-icon",{margin:"none",size:"small",name:this.icon,color:"currentColor"})),i("slot",null)),i("span",{class:"duet-input-help",id:this.errorId,"aria-live":"assertive","aria-relevant":"additions removals"},this.error&&i("span",{class:"duet-input-error"},this.error))))}get element(){return o(this)}static get watchers(){return{disallowPattern:["disallowedPatternChange"],value:["valueChanged"]}}};l.style='*.sc-duet-input,*.sc-duet-input::after,*.sc-duet-input::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-input-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;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:bottom}.sc-duet-input-h:last-child,.sc-duet-input-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-input-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-input-h{width:100% !important}.duet-m-0.sc-duet-input-h{margin:0 !important}duet-tooltip.sc-duet-input{position:absolute;top:12px;right:0}@media (min-width: 48em){duet-tooltip.sc-duet-input{position:relative;top:4px;right:auto}}duet-caption.sc-duet-input:not(:last-of-type){margin-bottom:0}.duet-input-placeholder.sc-duet-input{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:white}.duet-input-icon.sc-duet-input{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;font-size:0;line-height:normal;color:#00294d;pointer-events:none;transform:translateY(-50%)}.duet-theme-turva.sc-duet-input .duet-input-icon.sc-duet-input{color:#171c3a}.duet-input-container.sc-duet-input{position:relative;width:100%;height:100%}.duet-input.sc-duet-input{position:relative;z-index:100;display:block !important;width:100% !important;min-width:8rem;max-width:initial !important;height:auto !important;padding:12px 14px !important;margin:initial !important;margin-bottom:initial !important;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:400 !important;font-variant-numeric:tabular-nums;line-height:1.5 !important;color:#00294d !important;cursor:initial !important;background:white !important;background-clip:initial !important;border:1px solid #909599 !important;border-radius:4px !important;box-shadow:initial !important;transition:box-shadow 150ms ease, border 150ms ease !important}.duet-input.is-number.sc-duet-input{padding-right:112px !important}.duet-input.is-date.sc-duet-input{padding-right:64px !important}.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:#de2362 !important}.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:#de2362 !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:#e02a0d !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:#e02a0d !important}.has-icon.sc-duet-input .duet-input.sc-duet-input{padding-right:48px !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input{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;border-color:#747475 !important}.duet-input.sc-duet-input::-ms-clear{display:none}.duet-input.sc-duet-input::-webkit-contacts-auto-fill-button{display:none !important}.duet-input.sc-duet-input::-webkit-input-placeholder{color:#657787;opacity:1 !important;transition:color 300ms ease}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-webkit-input-placeholder{color:#747475}.duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:#cfcfd1}.duet-input.sc-duet-input::-moz-placeholder{color:#657787;opacity:1 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-moz-placeholder{color:#747475}.duet-input.sc-duet-input:focus::-moz-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-moz-placeholder{color:#cfcfd1}.duet-input.sc-duet-input:-ms-input-placeholder{color:#657787}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:-ms-input-placeholder{color:#747475}.duet-input.sc-duet-input:focus:-ms-input-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus:-ms-input-placeholder{color:#cfcfd1}.duet-input[disabled].sc-duet-input{color:#00294d !important;cursor:text !important;background:#f5f8fa !important;border-color:#f5f8fa !important;box-shadow:none !important;opacity:1 !important;-webkit-text-fill-color:#00294d !important}.duet-theme-turva.sc-duet-input .duet-input[disabled].sc-duet-input{color:#171c3a !important;background:#f5f5f7 !important;border-color:#f5f5f7 !important;-webkit-text-fill-color:#171c3a !important}.duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #909599 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #747475 !important}.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #e02a0d}.duet-input.sc-duet-input:focus{border-color:#0077b3 !important;outline:0;box-shadow:0 0 0 1px #0077b3 !important;transition:none}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus{border-color:#171c3a !important;box-shadow:0 0 0 1px #171c3a !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:#171c3a}.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #e02a0d}.duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:#0077b3}.duet-input[type=search].sc-duet-input:not(:placeholder-shown):focus+.duet-input-icon.sc-duet-input{display:none}.duet-input.sc-duet-input:not(:focus):not(:hover):invalid{box-shadow:none !important}.duet-input[type=number].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=number].sc-duet-input::-webkit-outer-spin-button,.duet-input[type=time].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=time].sc-duet-input::-webkit-outer-spin-button{display:none;margin:0;-webkit-appearance:none}.duet-input.sc-duet-input::-webkit-search-cancel-button{margin-right:-28px}.duet-input-help.sc-duet-input{display:block;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:0.875rem;font-weight:400;line-height:1.25;color:#657787;border-radius:4px}.duet-input-help.sc-duet-input span.sc-duet-input{display:block;margin-top:8px}.duet-theme-turva.sc-duet-input .duet-input-help.sc-duet-input{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#747475}.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:#de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:#e02a0d}.duet-label-hidden.sc-duet-input duet-label.sc-duet-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.duet-input-relative.sc-duet-input{position:relative;width:100%}';const c=class{constructor(e){t(this,e),this.theme="",this.margin="auto",this.size="medium"}componentWillLoad(){p(this)}render(){return i(n,{class:{"duet-label":!0,"duet-label-small":"small"===this.size,"duet-theme-turva":"turva"===this.theme,"duet-small-margin":"small"===this.margin,"duet-m-0":"none"===this.margin}},i("label",{htmlFor:this.for},i("span",null,i("slot",null))))}};c.style='*.sc-duet-label,*.sc-duet-label::after,*.sc-duet-label::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-label-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !important;line-height:1.25;cursor:default}.duet-p-0.sc-duet-label-h{padding:0 !important}.duet-m-0.sc-duet-label-h{margin:0 !important}.duet-m-0.sc-duet-label-h{margin-bottom:0 !important}.duet-small-margin.sc-duet-label-h{margin-top:8px !important;margin-bottom:4px !important}.duet-has-tooltip.sc-duet-label-h{padding-right:48px}@media (min-width: 48em){.duet-has-tooltip.sc-duet-label-h{padding-right:0}}label.sc-duet-label{margin:0;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:600 !important;line-height:1.25;color:#00294d;text-align:left;word-break:break-word}label.sc-duet-label span.sc-duet-label{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-label-small.sc-duet-label-h label.sc-duet-label{font-size:0.875rem}.duet-label-small.sc-duet-label-h label.sc-duet-label span.sc-duet-label{font-size:0.875rem}.duet-theme-turva.sc-duet-label-h label.sc-duet-label{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#171c3a}';export{l as duet_input,c as duet_label}