@duetds/components 6.0.7 → 6.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 (346) hide show
  1. package/hydrate/index.js +246 -5
  2. package/lib/cjs/duet-action-button.cjs.entry.js +1 -1
  3. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  4. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  7. package/lib/cjs/duet-button_2.cjs.entry.js +1 -1
  8. package/lib/cjs/duet-caption_4.cjs.entry.js +1 -1
  9. package/lib/cjs/duet-card.cjs.entry.js +1 -1
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +6 -2
  11. package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
  12. package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
  13. package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  16. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  17. package/lib/cjs/duet-editable-table_3.cjs.entry.js +3 -2
  18. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-footer.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  22. package/lib/cjs/duet-header_2.cjs.entry.js +1 -1
  23. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-icon.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  29. package/lib/cjs/duet-multiselect.cjs.entry.js +224 -0
  30. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  32. package/lib/cjs/duet-pagination_2.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  41. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  42. package/lib/cjs/duet-tray.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  45. package/lib/cjs/duet.cjs.js +2 -2
  46. package/lib/cjs/{focus-utils-46880ee6.js → focus-utils-5bf92cc0.js} +1 -1
  47. package/lib/cjs/{index-54afad07.js → index-d380d72b.js} +1 -1
  48. package/lib/cjs/loader.cjs.js +2 -2
  49. package/lib/collection/collection-manifest.json +1 -0
  50. package/lib/collection/components/duet-checkbox/duet-checkbox.js +23 -1
  51. package/lib/collection/components/duet-editable-table/duet-editable-table.js +2 -1
  52. package/lib/collection/components/duet-multiselect/duet-multiselect.css +261 -0
  53. package/lib/collection/components/duet-multiselect/duet-multiselect.js +597 -0
  54. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  55. package/lib/dist-custom-elements/duet-alert.js +1 -1
  56. package/lib/dist-custom-elements/duet-badge.js +1 -1
  57. package/lib/dist-custom-elements/duet-breadcrumb.js +2 -2
  58. package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
  59. package/lib/dist-custom-elements/duet-button.js +1 -1
  60. package/lib/dist-custom-elements/duet-caption.js +1 -1
  61. package/lib/dist-custom-elements/duet-card.js +3 -3
  62. package/lib/dist-custom-elements/duet-checkbox.js +1 -155
  63. package/lib/dist-custom-elements/duet-choice-group.js +6 -6
  64. package/lib/dist-custom-elements/duet-choice.js +5 -5
  65. package/lib/dist-custom-elements/duet-collapsible.js +2 -2
  66. package/lib/dist-custom-elements/duet-combobox.js +3 -3
  67. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  68. package/lib/dist-custom-elements/duet-date-picker.js +8 -8
  69. package/lib/dist-custom-elements/duet-divider.js +1 -1
  70. package/lib/dist-custom-elements/duet-editable-table.js +1 -1
  71. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  72. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  73. package/lib/dist-custom-elements/duet-footer.js +4 -4
  74. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  75. package/lib/dist-custom-elements/duet-grid.js +1 -1
  76. package/lib/dist-custom-elements/duet-header.js +8 -8
  77. package/lib/dist-custom-elements/duet-heading.js +1 -1
  78. package/lib/dist-custom-elements/duet-hero.js +9 -9
  79. package/lib/dist-custom-elements/duet-icon.js +1 -1
  80. package/lib/dist-custom-elements/duet-input.js +1 -1
  81. package/lib/dist-custom-elements/duet-label.js +1 -1
  82. package/lib/dist-custom-elements/duet-layout.js +1 -1
  83. package/lib/dist-custom-elements/duet-link.js +1 -1
  84. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  85. package/lib/dist-custom-elements/duet-list.js +1 -1
  86. package/lib/dist-custom-elements/duet-logo.js +1 -1
  87. package/lib/dist-custom-elements/duet-modal.js +7 -7
  88. package/lib/dist-custom-elements/duet-multiselect.d.ts +11 -0
  89. package/lib/dist-custom-elements/duet-multiselect.js +299 -0
  90. package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
  91. package/lib/dist-custom-elements/duet-notification.js +2 -2
  92. package/lib/dist-custom-elements/duet-number-input.js +7 -7
  93. package/lib/dist-custom-elements/duet-pagination.js +7 -7
  94. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  95. package/lib/dist-custom-elements/duet-progress.js +1 -1
  96. package/lib/dist-custom-elements/duet-radio-group.js +6 -6
  97. package/lib/dist-custom-elements/duet-radio.js +1 -1
  98. package/lib/dist-custom-elements/duet-range-slider.js +2 -2
  99. package/lib/dist-custom-elements/duet-range-stepper.js +4 -4
  100. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  101. package/lib/dist-custom-elements/duet-select.js +1 -1
  102. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  103. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  104. package/lib/dist-custom-elements/duet-step.js +4 -4
  105. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  106. package/lib/dist-custom-elements/duet-tab-group.js +8 -8
  107. package/lib/dist-custom-elements/duet-tab.js +1 -1
  108. package/lib/dist-custom-elements/duet-table.js +1 -1
  109. package/lib/dist-custom-elements/duet-textarea.js +8 -8
  110. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  111. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  112. package/lib/dist-custom-elements/duet-tray.js +3 -3
  113. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  114. package/lib/dist-custom-elements/duet-upload.js +18 -18
  115. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  116. package/lib/dist-custom-elements/index.js +1 -1
  117. package/lib/dist-custom-elements/{p-a56649ff.js → p-025242f2.js} +6 -6
  118. package/lib/dist-custom-elements/{p-b7f5c755.js → p-14799264.js} +1 -1
  119. package/lib/dist-custom-elements/{p-bf876e72.js → p-15cca1fa.js} +2 -2
  120. package/lib/dist-custom-elements/{p-c36d9eb5.js → p-260d7413.js} +1 -1
  121. package/lib/dist-custom-elements/{p-f07d95b9.js → p-2b6e0098.js} +1 -1
  122. package/lib/dist-custom-elements/{p-fbb39f58.js → p-35856a5f.js} +1 -1
  123. package/lib/dist-custom-elements/{p-2215e15e.js → p-3f5248cc.js} +6 -6
  124. package/lib/dist-custom-elements/p-3f9960ee.js +165 -0
  125. package/lib/dist-custom-elements/{p-836021e7.js → p-40964c90.js} +2 -2
  126. package/lib/dist-custom-elements/{p-068d8815.js → p-4dd0d2e0.js} +1 -1
  127. package/lib/dist-custom-elements/{p-dfb36895.js → p-5368b90e.js} +1 -1
  128. package/lib/dist-custom-elements/{p-a081f721.js → p-5c30c1e6.js} +3 -3
  129. package/lib/dist-custom-elements/{p-59480ad8.js → p-6352244e.js} +1 -1
  130. package/lib/dist-custom-elements/{p-2f73ed5f.js → p-76a12869.js} +2 -2
  131. package/lib/dist-custom-elements/{p-f23c23e9.js → p-84036192.js} +3 -3
  132. package/lib/dist-custom-elements/{p-565c7b5e.js → p-983633e4.js} +1 -1
  133. package/lib/dist-custom-elements/{p-0a3b3fbb.js → p-a0188402.js} +4 -4
  134. package/lib/dist-custom-elements/{p-f20bce7d.js → p-a10df7a8.js} +1 -1
  135. package/lib/dist-custom-elements/{p-01a47ed0.js → p-a19a3c64.js} +1 -1
  136. package/lib/dist-custom-elements/{p-85e4dd88.js → p-a720eb56.js} +2 -2
  137. package/lib/dist-custom-elements/{p-3185bbc5.js → p-b125807e.js} +1 -1
  138. package/lib/dist-custom-elements/{p-fe39bfb6.js → p-b828da80.js} +9 -8
  139. package/lib/dist-custom-elements/{p-3426a84c.js → p-c2260d50.js} +2 -2
  140. package/lib/dist-custom-elements/{p-12a61b16.js → p-c2c3e421.js} +1 -1
  141. package/lib/dist-custom-elements/{p-d05492d6.js → p-dde39f08.js} +1 -1
  142. package/lib/dist-custom-elements/{p-1940df2f.js → p-df05a117.js} +1 -1
  143. package/lib/dist-custom-elements/{p-10a1a3da.js → p-e06d804b.js} +1 -1
  144. package/lib/dist-custom-elements/{p-4e94138b.js → p-e436e97c.js} +5 -5
  145. package/lib/dist-custom-elements/{p-c8517782.js → p-eef3373f.js} +1 -1
  146. package/lib/dist-custom-elements/{p-f42b7c16.js → p-f06badc1.js} +3 -3
  147. package/lib/dist-custom-elements/{p-76a78894.js → p-f5d54803.js} +1 -1
  148. package/lib/duet/duet.esm.js +1 -1
  149. package/lib/duet/duet.js +1 -1
  150. package/lib/duet/{p-f020f7b9.entry.js → p-07c53212.entry.js} +1 -1
  151. package/lib/duet/{p-1219c251.system.js → p-08c8edc7.system.js} +1 -1
  152. package/lib/duet/{p-b4ffca84.system.entry.js → p-0bc10576.system.entry.js} +1 -1
  153. package/lib/duet/{p-d4bb0408.entry.js → p-0c1fdd7c.entry.js} +1 -1
  154. package/lib/duet/{p-c16f5680.system.entry.js → p-1034d5d8.system.entry.js} +1 -1
  155. package/lib/duet/{p-794e74ca.system.entry.js → p-10a9fe19.system.entry.js} +1 -1
  156. package/lib/duet/{p-6372465a.entry.js → p-134bbc67.entry.js} +1 -1
  157. package/lib/duet/{p-0ef9099d.system.entry.js → p-17213a02.system.entry.js} +1 -1
  158. package/lib/duet/{p-187a788e.entry.js → p-18c2588a.entry.js} +1 -1
  159. package/lib/duet/{p-6e648879.entry.js → p-1e8365c3.entry.js} +1 -1
  160. package/lib/duet/{p-00030749.entry.js → p-20df1f28.entry.js} +1 -1
  161. package/lib/duet/{p-46f86392.entry.js → p-24b890e9.entry.js} +1 -1
  162. package/lib/duet/{p-d74d81a1.system.entry.js → p-2957055a.system.entry.js} +1 -1
  163. package/lib/duet/{p-9587a804.entry.js → p-2a2b5109.entry.js} +1 -1
  164. package/lib/duet/{p-c1c11d71.system.entry.js → p-2b7f998c.system.entry.js} +1 -1
  165. package/lib/duet/{p-14e9ccd4.entry.js → p-2b822122.entry.js} +1 -1
  166. package/lib/duet/{p-90e58b7f.entry.js → p-2d906752.entry.js} +1 -1
  167. package/lib/duet/p-2f183314.js +4 -0
  168. package/lib/duet/p-3166de44.entry.js +4 -0
  169. package/lib/duet/{p-8ff5cb03.entry.js → p-3287e496.entry.js} +1 -1
  170. package/lib/duet/{p-f92491e1.entry.js → p-33814c22.entry.js} +1 -1
  171. package/lib/duet/p-33bbde60.entry.js +4 -0
  172. package/lib/duet/{p-9f51f625.entry.js → p-351fbda4.entry.js} +1 -1
  173. package/lib/duet/{p-7ba68318.system.entry.js → p-35351cf2.system.entry.js} +1 -1
  174. package/lib/duet/{p-e7f779ed.entry.js → p-363c6807.entry.js} +1 -1
  175. package/lib/duet/{p-f40277da.system.entry.js → p-3ab707be.system.entry.js} +1 -1
  176. package/lib/duet/{p-faf74d63.entry.js → p-3f6487d8.entry.js} +1 -1
  177. package/lib/duet/{p-d674ef21.entry.js → p-4056c348.entry.js} +1 -1
  178. package/lib/duet/{p-3fd6ad80.entry.js → p-48f15ed7.entry.js} +1 -1
  179. package/lib/duet/{p-f8ae4f24.system.entry.js → p-4a97bbae.system.entry.js} +1 -1
  180. package/lib/duet/{p-92c491d9.entry.js → p-4c3bfd8a.entry.js} +1 -1
  181. package/lib/duet/{p-9cb0def1.system.entry.js → p-4d6b04f1.system.entry.js} +1 -1
  182. package/lib/duet/{p-1fd65b6a.system.entry.js → p-4fee02ae.system.entry.js} +1 -1
  183. package/lib/duet/{p-a3ca26e9.system.entry.js → p-5174a8af.system.entry.js} +1 -1
  184. package/lib/duet/{p-9f37c7e3.entry.js → p-545177af.entry.js} +1 -1
  185. package/lib/duet/{p-cacad773.system.entry.js → p-55f8c851.system.entry.js} +1 -1
  186. package/lib/duet/{p-39c02539.system.entry.js → p-5f4a200f.system.entry.js} +1 -1
  187. package/lib/duet/{p-5116e9b7.system.entry.js → p-69d0a2ce.system.entry.js} +1 -1
  188. package/lib/duet/{p-177abbdc.system.entry.js → p-6cc20670.system.entry.js} +1 -1
  189. package/lib/duet/{p-ff4995cc.entry.js → p-6d2d9897.entry.js} +1 -1
  190. package/lib/duet/{p-3dadf26a.system.entry.js → p-6def950d.system.entry.js} +1 -1
  191. package/lib/duet/{p-50081b36.entry.js → p-709654f2.entry.js} +1 -1
  192. package/lib/duet/{p-59edf7bc.system.entry.js → p-73c3092e.system.entry.js} +1 -1
  193. package/lib/duet/{p-c4a44c55.system.entry.js → p-79eada30.system.entry.js} +1 -1
  194. package/lib/duet/{p-108f093f.system.entry.js → p-7ed493e6.system.entry.js} +1 -1
  195. package/lib/duet/{p-d98eedc7.entry.js → p-88e3d858.entry.js} +1 -1
  196. package/lib/duet/{p-607eb013.entry.js → p-88eabc52.entry.js} +1 -1
  197. package/lib/duet/{p-be4c1b3f.entry.js → p-89b3c614.entry.js} +1 -1
  198. package/lib/duet/{p-8b0fef4c.system.entry.js → p-8c17003f.system.entry.js} +1 -1
  199. package/lib/duet/p-8c2a2440.entry.js +4 -0
  200. package/lib/duet/p-8cea8546.system.js +4 -0
  201. package/lib/duet/{p-24210b97.system.entry.js → p-8db9e436.system.entry.js} +1 -1
  202. package/lib/duet/{p-8baa5bd1.system.entry.js → p-9343afe6.system.entry.js} +1 -1
  203. package/lib/duet/{p-5d160b76.system.entry.js → p-95340ddf.system.entry.js} +1 -1
  204. package/lib/duet/p-97b281b2.system.entry.js +4 -0
  205. package/lib/duet/{p-bd85d575.entry.js → p-9c2d276b.entry.js} +1 -1
  206. package/lib/duet/{p-70a1a9bf.system.js → p-9e9b3182.system.js} +1 -1
  207. package/lib/duet/{p-13cdbe65.entry.js → p-9ff90002.entry.js} +1 -1
  208. package/lib/duet/{p-50551874.entry.js → p-a4acf397.entry.js} +1 -1
  209. package/lib/duet/{p-a44366ba.entry.js → p-a883b01d.entry.js} +1 -1
  210. package/lib/duet/{p-dcb5d509.system.entry.js → p-a8e38895.system.entry.js} +1 -1
  211. package/lib/duet/{p-d267c3a2.entry.js → p-aba4b236.entry.js} +1 -1
  212. package/lib/duet/{p-c76ec371.system.entry.js → p-b0b61064.system.entry.js} +1 -1
  213. package/lib/duet/p-b2a940b5.system.entry.js +4 -0
  214. package/lib/duet/{p-b44ae985.system.entry.js → p-b2da699d.system.entry.js} +1 -1
  215. package/lib/duet/{p-63b7a28e.system.entry.js → p-bdbe682d.system.entry.js} +2 -2
  216. package/lib/duet/{p-7088d347.entry.js → p-be9d7718.entry.js} +1 -1
  217. package/lib/duet/{p-0082ff0a.system.entry.js → p-bedf7cb7.system.entry.js} +1 -1
  218. package/lib/duet/{p-3054a69d.entry.js → p-c055fcd1.entry.js} +1 -1
  219. package/lib/duet/{p-f3e7fc61.system.entry.js → p-c8a46ebb.system.entry.js} +1 -1
  220. package/lib/duet/{p-dbdaec86.entry.js → p-c8e84baf.entry.js} +1 -1
  221. package/lib/duet/{p-444b7187.system.entry.js → p-cc7f44f9.system.entry.js} +1 -1
  222. package/lib/duet/{p-58eeed4f.system.entry.js → p-cf9027e3.system.entry.js} +1 -1
  223. package/lib/duet/{p-889cf32a.system.entry.js → p-d2a55128.system.entry.js} +1 -1
  224. package/lib/duet/{p-0433b19b.entry.js → p-d4a24199.entry.js} +1 -1
  225. package/lib/duet/{p-dc163c6e.entry.js → p-d50688a8.entry.js} +1 -1
  226. package/lib/duet/p-d8ae3650.system.entry.js +4 -0
  227. package/lib/duet/{p-16f67902.system.entry.js → p-db2cfc87.system.entry.js} +1 -1
  228. package/lib/duet/{p-ed8d9d14.system.entry.js → p-db9db173.system.entry.js} +1 -1
  229. package/lib/duet/{p-6a49efbc.js → p-dc6fd9c6.js} +1 -1
  230. package/lib/duet/{p-69b0c916.system.entry.js → p-e13a54c8.system.entry.js} +1 -1
  231. package/lib/duet/{p-6be76f1d.entry.js → p-e19ba091.entry.js} +1 -1
  232. package/lib/duet/p-e2adbecc.entry.js +4 -0
  233. package/lib/duet/{p-afdf9c1c.system.entry.js → p-e4c320e2.system.entry.js} +1 -1
  234. package/lib/duet/{p-e873306b.system.entry.js → p-e86917b0.system.entry.js} +1 -1
  235. package/lib/duet/{p-933a2bd0.system.entry.js → p-f01eb4ea.system.entry.js} +1 -1
  236. package/lib/duet/p-f493ae81.entry.js +4 -0
  237. package/lib/duet/{p-7e3d7a7e.system.entry.js → p-f6240801.system.entry.js} +1 -1
  238. package/lib/duet/{p-00228a70.entry.js → p-f827b4b6.entry.js} +1 -1
  239. package/lib/duet/{p-b0bf6662.entry.js → p-fb97dc52.entry.js} +1 -1
  240. package/lib/duet/{p-b77057b8.entry.js → p-fd1ed521.entry.js} +1 -1
  241. package/lib/esm/duet-action-button.entry.js +1 -1
  242. package/lib/esm/duet-alert.entry.js +1 -1
  243. package/lib/esm/duet-badge.entry.js +1 -1
  244. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  245. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  246. package/lib/esm/duet-button_2.entry.js +1 -1
  247. package/lib/esm/duet-caption_4.entry.js +1 -1
  248. package/lib/esm/duet-card.entry.js +1 -1
  249. package/lib/esm/duet-checkbox.entry.js +6 -2
  250. package/lib/esm/duet-choice_2.entry.js +2 -2
  251. package/lib/esm/duet-collapsible.entry.js +1 -1
  252. package/lib/esm/duet-combobox.entry.js +1 -1
  253. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  254. package/lib/esm/duet-date-picker.entry.js +2 -2
  255. package/lib/esm/duet-divider_2.entry.js +1 -1
  256. package/lib/esm/duet-editable-table_3.entry.js +3 -2
  257. package/lib/esm/duet-empty-state.entry.js +1 -1
  258. package/lib/esm/duet-fieldset.entry.js +1 -1
  259. package/lib/esm/duet-footer.entry.js +1 -1
  260. package/lib/esm/duet-grid_2.entry.js +1 -1
  261. package/lib/esm/duet-header_2.entry.js +1 -1
  262. package/lib/esm/duet-hero.entry.js +1 -1
  263. package/lib/esm/duet-icon.entry.js +1 -1
  264. package/lib/esm/duet-input_2.entry.js +1 -1
  265. package/lib/esm/duet-layout.entry.js +1 -1
  266. package/lib/esm/duet-list_2.entry.js +1 -1
  267. package/lib/esm/duet-modal.entry.js +2 -2
  268. package/lib/esm/duet-multiselect.entry.js +220 -0
  269. package/lib/esm/duet-notification_2.entry.js +1 -1
  270. package/lib/esm/duet-number-input.entry.js +1 -1
  271. package/lib/esm/duet-pagination_2.entry.js +1 -1
  272. package/lib/esm/duet-progress.entry.js +1 -1
  273. package/lib/esm/duet-radio_2.entry.js +1 -1
  274. package/lib/esm/duet-range-slider.entry.js +1 -1
  275. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  276. package/lib/esm/duet-select.entry.js +1 -1
  277. package/lib/esm/duet-step_2.entry.js +1 -1
  278. package/lib/esm/duet-textarea.entry.js +1 -1
  279. package/lib/esm/duet-toggle.entry.js +1 -1
  280. package/lib/esm/duet-tooltip.entry.js +1 -1
  281. package/lib/esm/duet-tray.entry.js +1 -1
  282. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  283. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  284. package/lib/esm/duet.js +2 -2
  285. package/lib/esm/{focus-utils-d5499410.js → focus-utils-f6146965.js} +1 -1
  286. package/lib/esm/{index-26388161.js → index-81967d12.js} +1 -1
  287. package/lib/esm/loader.js +2 -2
  288. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  289. package/lib/esm-es5/duet-alert.entry.js +1 -1
  290. package/lib/esm-es5/duet-badge.entry.js +1 -1
  291. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  292. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  293. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  294. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  295. package/lib/esm-es5/duet-card.entry.js +1 -1
  296. package/lib/esm-es5/duet-checkbox.entry.js +2 -2
  297. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  298. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  299. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  300. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  301. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  302. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  303. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  304. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  305. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  306. package/lib/esm-es5/duet-footer.entry.js +1 -1
  307. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  308. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  309. package/lib/esm-es5/duet-hero.entry.js +1 -1
  310. package/lib/esm-es5/duet-icon.entry.js +1 -1
  311. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  312. package/lib/esm-es5/duet-layout.entry.js +1 -1
  313. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  314. package/lib/esm-es5/duet-modal.entry.js +1 -1
  315. package/lib/esm-es5/duet-multiselect.entry.js +4 -0
  316. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  317. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  318. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  319. package/lib/esm-es5/duet-progress.entry.js +1 -1
  320. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  321. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  322. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  323. package/lib/esm-es5/duet-select.entry.js +1 -1
  324. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  325. package/lib/esm-es5/duet-textarea.entry.js +2 -2
  326. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  327. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  328. package/lib/esm-es5/duet-tray.entry.js +1 -1
  329. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  330. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  331. package/lib/esm-es5/duet.js +1 -1
  332. package/lib/esm-es5/{focus-utils-d5499410.js → focus-utils-f6146965.js} +1 -1
  333. package/lib/esm-es5/{index-26388161.js → index-81967d12.js} +1 -1
  334. package/lib/esm-es5/loader.js +1 -1
  335. package/lib/types/components/duet-checkbox/duet-checkbox.d.ts +4 -0
  336. package/lib/types/components/duet-multiselect/duet-multiselect.d.ts +137 -0
  337. package/lib/types/components.d.ts +154 -0
  338. package/package.json +8 -7
  339. package/lib/duet/p-159ce776.js +0 -4
  340. package/lib/duet/p-1d7bd203.system.entry.js +0 -4
  341. package/lib/duet/p-661839a3.entry.js +0 -4
  342. package/lib/duet/p-6caf3423.entry.js +0 -4
  343. package/lib/duet/p-c1d755c9.system.entry.js +0 -4
  344. package/lib/duet/p-e30dc26c.entry.js +0 -4
  345. package/lib/duet/p-e52ea726.entry.js +0 -4
  346. package/lib/duet/p-e841deb6.system.js +0 -4
@@ -0,0 +1,137 @@
1
+ import { EventEmitter } from "../../stencil-public-runtime";
2
+ import { DuetMargin, DuetTheme, DuetTooltipDirection } from "../../common-types";
3
+ import { ThemeableComponent } from "../../common/themeable-component";
4
+ export declare type DuetMultiselectItem = {
5
+ label: string;
6
+ value: string;
7
+ disabled?: boolean;
8
+ };
9
+ export declare type DuetMultiselectEvent = {
10
+ originalEvent?: Event;
11
+ component: "duet-multiselect";
12
+ value: DuetMultiselectItem[];
13
+ };
14
+ export declare class DuetMultiselect implements ThemeableComponent {
15
+ /**
16
+ * Own Properties
17
+ */
18
+ private errorId;
19
+ private labelId;
20
+ private topCaptionId;
21
+ private isCaptionVisible;
22
+ private selectedLangObject;
23
+ /**
24
+ * Reference to host HTML element.
25
+ */
26
+ element: HTMLElement;
27
+ private multiselectElement;
28
+ /**
29
+ * State() variables
30
+ * Inlined decorator, alphabetical order.
31
+ */
32
+ processedItems: DuetMultiselectItem[];
33
+ checkboxesVisible: boolean;
34
+ activeDescendant: string;
35
+ /**
36
+ * Controls the margin of the component.
37
+ */
38
+ margin: DuetMargin;
39
+ /**
40
+ * Display the select in error state along with an error message.
41
+ */
42
+ error: string;
43
+ /**
44
+ * Expands the input to fill 100% of the container width.
45
+ */
46
+ expand: boolean;
47
+ /**
48
+ * Value of multiselect
49
+ */
50
+ value: DuetMultiselectItem[];
51
+ /**
52
+ * Theme of the select.
53
+ */
54
+ theme: DuetTheme;
55
+ /**
56
+ * Visually hide the label, but still show it to screen readers.
57
+ */
58
+ labelHidden: boolean;
59
+ /**
60
+ * Adds a unique identifier for the select.
61
+ */
62
+ identifier: string;
63
+ /**
64
+ * Hint text to display.
65
+ */
66
+ placeholder: string;
67
+ /**
68
+ * Caption (underneath label) that can be set as a way of adding extra information
69
+ */
70
+ caption: string;
71
+ /**
72
+ * An array of items to choose from
73
+ */
74
+ items: string | DuetMultiselectItem[];
75
+ /**
76
+ * Makes the select component disabled. This prevents users from being able
77
+ * to interact with the select, and conveys its inactive state to assistive
78
+ * technologies.
79
+ */
80
+ disabled: boolean;
81
+ /**
82
+ * Label for the select.
83
+ */
84
+ label: string;
85
+ /**
86
+ * Tooltip to display next to the label of the input.
87
+ */
88
+ tooltip: string;
89
+ /**
90
+ * With direction setting you can force the tooltip to always open towards left
91
+ * or right instead of automatically determining the direction.
92
+ */
93
+ tooltipDirection: DuetTooltipDirection;
94
+ /**
95
+ * Callback for when the value changed.
96
+ */
97
+ duetChange: EventEmitter<DuetMultiselectEvent>;
98
+ /**
99
+ * Emitted when the select has focus.
100
+ */
101
+ duetFocus: EventEmitter<DuetMultiselectEvent>;
102
+ /**
103
+ * Emitted when the select loses focus.
104
+ */
105
+ duetBlur: EventEmitter<DuetMultiselectEvent>;
106
+ /**
107
+ * Component lifecycle events.
108
+ */
109
+ componentWillLoad(): void;
110
+ /**
111
+ * Component event handling.
112
+ */
113
+ private onClick;
114
+ private onChange;
115
+ private onBlur;
116
+ private onFocus;
117
+ private onMultiselectKeyDown;
118
+ private onMultiselectInputKeyDown;
119
+ private onCheckboxKeyDown;
120
+ private toggleCheckboxes;
121
+ private toggleCheckbox;
122
+ /**
123
+ * Sets focus on the specified `duet-multiselect`. Use this method instead of the global
124
+ * `multiselect.focus()`.
125
+ */
126
+ setFocus(options?: FocusOptions): Promise<void>;
127
+ /**
128
+ * Local methods.
129
+ */
130
+ private refresh;
131
+ private getOptionIdentifier;
132
+ /**
133
+ * render() function
134
+ * Always the last one in the class.
135
+ */
136
+ render(): any;
137
+ }
@@ -34,6 +34,7 @@ import { DuetLayoutStickyDistance } from "./components/duet-layout/duet-layout";
34
34
  import { DuetListBreakpoint, DuetListLabelWidth, DuetListMobileAlignment, DuetListVariation } from "./components/duet-list/duet-list";
35
35
  import { DuetLogoSize } from "./components/duet-logo/duet-logo";
36
36
  import { DuetModalCloseEvent, DuetModalSize } from "./components/duet-modal/duet-modal";
37
+ import { DuetMultiselectEvent, DuetMultiselectItem } from "./components/duet-multiselect/duet-multiselect";
37
38
  import { DuetNotificationDrawerDirection } from "./components/duet-notification-drawer/duet-notification-drawer";
38
39
  import { DuetNumberInputEvent } from "./components/duet-number-input/duet-number-input";
39
40
  import { DuetPaginationPageEvent, DuetPaginationVariation } from "./components/duet-pagination/duet-pagination";
@@ -485,6 +486,10 @@ export namespace Components {
485
486
  * Indicates the id of a component owned by the checkbox.
486
487
  */
487
488
  "accessibleOwns": string;
489
+ /**
490
+ * Aria selected
491
+ */
492
+ "accessibleSelected": string;
488
493
  /**
489
494
  * Check state of the checkbox.
490
495
  */
@@ -1786,6 +1791,68 @@ export namespace Components {
1786
1791
  */
1787
1792
  "theme": DuetTheme;
1788
1793
  }
1794
+ interface DuetMultiselect {
1795
+ /**
1796
+ * Caption (underneath label) that can be set as a way of adding extra information
1797
+ */
1798
+ "caption": string;
1799
+ /**
1800
+ * Makes the select component disabled. This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.
1801
+ */
1802
+ "disabled": boolean;
1803
+ /**
1804
+ * Display the select in error state along with an error message.
1805
+ */
1806
+ "error": string;
1807
+ /**
1808
+ * Expands the input to fill 100% of the container width.
1809
+ */
1810
+ "expand": boolean;
1811
+ /**
1812
+ * Adds a unique identifier for the select.
1813
+ */
1814
+ "identifier": string;
1815
+ /**
1816
+ * An array of items to choose from
1817
+ */
1818
+ "items": string | DuetMultiselectItem[];
1819
+ /**
1820
+ * Label for the select.
1821
+ */
1822
+ "label": string;
1823
+ /**
1824
+ * Visually hide the label, but still show it to screen readers.
1825
+ */
1826
+ "labelHidden": boolean;
1827
+ /**
1828
+ * Controls the margin of the component.
1829
+ */
1830
+ "margin": DuetMargin;
1831
+ /**
1832
+ * Hint text to display.
1833
+ */
1834
+ "placeholder": string;
1835
+ /**
1836
+ * Sets focus on the specified `duet-multiselect`. Use this method instead of the global `multiselect.focus()`.
1837
+ */
1838
+ "setFocus": (options?: FocusOptions) => Promise<void>;
1839
+ /**
1840
+ * Theme of the select.
1841
+ */
1842
+ "theme": DuetTheme;
1843
+ /**
1844
+ * Tooltip to display next to the label of the input.
1845
+ */
1846
+ "tooltip": string;
1847
+ /**
1848
+ * With direction setting you can force the tooltip to always open towards left or right instead of automatically determining the direction.
1849
+ */
1850
+ "tooltipDirection": DuetTooltipDirection;
1851
+ /**
1852
+ * Value of multiselect
1853
+ */
1854
+ "value": DuetMultiselectItem[];
1855
+ }
1789
1856
  interface DuetNotification {
1790
1857
  /**
1791
1858
  * Adds accessible label for tooltip that is shown over unread counter
@@ -3330,6 +3397,10 @@ export interface DuetModalCustomEvent<T> extends CustomEvent<T> {
3330
3397
  detail: T;
3331
3398
  target: HTMLDuetModalElement;
3332
3399
  }
3400
+ export interface DuetMultiselectCustomEvent<T> extends CustomEvent<T> {
3401
+ detail: T;
3402
+ target: HTMLDuetMultiselectElement;
3403
+ }
3333
3404
  export interface DuetNumberInputCustomEvent<T> extends CustomEvent<T> {
3334
3405
  detail: T;
3335
3406
  target: HTMLDuetNumberInputElement;
@@ -3583,6 +3654,12 @@ declare global {
3583
3654
  prototype: HTMLDuetModalElement;
3584
3655
  new (): HTMLDuetModalElement;
3585
3656
  };
3657
+ interface HTMLDuetMultiselectElement extends Components.DuetMultiselect, HTMLStencilElement {
3658
+ }
3659
+ var HTMLDuetMultiselectElement: {
3660
+ prototype: HTMLDuetMultiselectElement;
3661
+ new (): HTMLDuetMultiselectElement;
3662
+ };
3586
3663
  interface HTMLDuetNotificationElement extends Components.DuetNotification, HTMLStencilElement {
3587
3664
  }
3588
3665
  var HTMLDuetNotificationElement: {
@@ -3774,6 +3851,7 @@ declare global {
3774
3851
  "duet-list-item": HTMLDuetListItemElement;
3775
3852
  "duet-logo": HTMLDuetLogoElement;
3776
3853
  "duet-modal": HTMLDuetModalElement;
3854
+ "duet-multiselect": HTMLDuetMultiselectElement;
3777
3855
  "duet-notification": HTMLDuetNotificationElement;
3778
3856
  "duet-notification-drawer": HTMLDuetNotificationDrawerElement;
3779
3857
  "duet-number-input": HTMLDuetNumberInputElement;
@@ -4243,6 +4321,10 @@ declare namespace LocalJSX {
4243
4321
  * Indicates the id of a component owned by the checkbox.
4244
4322
  */
4245
4323
  "accessibleOwns"?: string;
4324
+ /**
4325
+ * Aria selected
4326
+ */
4327
+ "accessibleSelected"?: string;
4246
4328
  /**
4247
4329
  * Check state of the checkbox.
4248
4330
  */
@@ -5646,6 +5728,76 @@ declare namespace LocalJSX {
5646
5728
  */
5647
5729
  "theme"?: DuetTheme;
5648
5730
  }
5731
+ interface DuetMultiselect {
5732
+ /**
5733
+ * Caption (underneath label) that can be set as a way of adding extra information
5734
+ */
5735
+ "caption"?: string;
5736
+ /**
5737
+ * Makes the select component disabled. This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.
5738
+ */
5739
+ "disabled"?: boolean;
5740
+ /**
5741
+ * Display the select in error state along with an error message.
5742
+ */
5743
+ "error"?: string;
5744
+ /**
5745
+ * Expands the input to fill 100% of the container width.
5746
+ */
5747
+ "expand"?: boolean;
5748
+ /**
5749
+ * Adds a unique identifier for the select.
5750
+ */
5751
+ "identifier"?: string;
5752
+ /**
5753
+ * An array of items to choose from
5754
+ */
5755
+ "items"?: string | DuetMultiselectItem[];
5756
+ /**
5757
+ * Label for the select.
5758
+ */
5759
+ "label"?: string;
5760
+ /**
5761
+ * Visually hide the label, but still show it to screen readers.
5762
+ */
5763
+ "labelHidden"?: boolean;
5764
+ /**
5765
+ * Controls the margin of the component.
5766
+ */
5767
+ "margin"?: DuetMargin;
5768
+ /**
5769
+ * Emitted when the select loses focus.
5770
+ */
5771
+ "onDuetBlur"?: (event: DuetMultiselectCustomEvent<DuetMultiselectEvent>) => void;
5772
+ /**
5773
+ * Callback for when the value changed.
5774
+ */
5775
+ "onDuetChange"?: (event: DuetMultiselectCustomEvent<DuetMultiselectEvent>) => void;
5776
+ /**
5777
+ * Emitted when the select has focus.
5778
+ */
5779
+ "onDuetFocus"?: (event: DuetMultiselectCustomEvent<DuetMultiselectEvent>) => void;
5780
+ /**
5781
+ * Hint text to display.
5782
+ */
5783
+ "placeholder"?: string;
5784
+ /**
5785
+ * Theme of the select.
5786
+ */
5787
+ "theme"?: DuetTheme;
5788
+ /**
5789
+ * Tooltip to display next to the label of the input.
5790
+ */
5791
+ "tooltip"?: string;
5792
+ /**
5793
+ * With direction setting you can force the tooltip to always open towards left or right instead of automatically determining the direction.
5794
+ */
5795
+ "tooltipDirection"?: DuetTooltipDirection;
5796
+ /**
5797
+ * Value of multiselect
5798
+ */
5799
+ "value"?: DuetMultiselectItem[];
5800
+ }
5649
5801
  interface DuetNotification {
5650
5802
  /**
5651
5803
  * Adds accessible label for tooltip that is shown over unread counter
@@ -7204,6 +7356,7 @@ declare namespace LocalJSX {
7204
7356
  "duet-list-item": DuetListItem;
7205
7357
  "duet-logo": DuetLogo;
7206
7358
  "duet-modal": DuetModal;
7359
+ "duet-multiselect": DuetMultiselect;
7207
7360
  "duet-notification": DuetNotification;
7208
7361
  "duet-notification-drawer": DuetNotificationDrawer;
7209
7362
  "duet-number-input": DuetNumberInput;
@@ -7270,6 +7423,7 @@ declare module "@stencil/core" {
7270
7423
  "duet-list-item": LocalJSX.DuetListItem & JSXBase.HTMLAttributes<HTMLDuetListItemElement>;
7271
7424
  "duet-logo": LocalJSX.DuetLogo & JSXBase.HTMLAttributes<HTMLDuetLogoElement>;
7272
7425
  "duet-modal": LocalJSX.DuetModal & JSXBase.HTMLAttributes<HTMLDuetModalElement>;
7426
+ "duet-multiselect": LocalJSX.DuetMultiselect & JSXBase.HTMLAttributes<HTMLDuetMultiselectElement>;
7273
7427
  "duet-notification": LocalJSX.DuetNotification & JSXBase.HTMLAttributes<HTMLDuetNotificationElement>;
7274
7428
  "duet-notification-drawer": LocalJSX.DuetNotificationDrawer & JSXBase.HTMLAttributes<HTMLDuetNotificationDrawerElement>;
7275
7429
  "duet-number-input": LocalJSX.DuetNumberInput & JSXBase.HTMLAttributes<HTMLDuetNumberInputElement>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duetds/components",
3
- "version": "6.0.7",
3
+ "version": "6.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"
@@ -18,6 +18,7 @@
18
18
  "hydrate/index.d.ts"
19
19
  ],
20
20
  "scripts": {
21
+ "postinstall": "patch-package",
21
22
  "precommit": "stencil test --spec --silent",
22
23
  "test": "stencil test --spec --e2e --silent",
23
24
  "test:ci": "cross-env-shell CI=true run-p test:scss:ci test:stencil:ci",
@@ -47,14 +48,14 @@
47
48
  "duet:build:testsite": "stencil build --serve"
48
49
  },
49
50
  "dependencies": {
50
- "body-scroll-lock": "3.1.5"
51
+ "body-scroll-lock": "3.1.5",
52
+ "patch-package": "6.4.7"
51
53
  },
52
54
  "devDependencies": {
53
- "@duetds/fonts": "2.0.7",
54
- "@duetds/icons": "3.0.7",
55
+ "@duetds/fonts": "2.0.8",
56
+ "@duetds/icons": "3.0.8",
55
57
  "@duetds/stencil-angular-output-target": "0.0.2",
56
- "@duetds/stencil-react-output-target": "0.0.19",
57
- "@duetds/tokens": "3.0.7",
58
+ "@duetds/tokens": "3.0.8",
58
59
  "@koa/cors": "3.3.0",
59
60
  "@rollup/plugin-replace": "3.1.0",
60
61
  "@stencil/core": "2.16.0",
@@ -85,5 +86,5 @@
85
86
  "collection": "lib/collection/collection-manifest.json",
86
87
  "es2015": "lib/esm/index.js",
87
88
  "es2017": "lib/esm/index.js",
88
- "gitHead": "2e1317e81c208adc5f2dfcd7334ee4b73fc58ccc"
89
+ "gitHead": "8d18eefeb64ddce8e898b68eed12afe55197fe57"
89
90
  }
@@ -1,4 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- import{h as o}from"./p-6a49efbc.js";const s=o=>{"setFocus"in o?o.setFocus():o.focus()},a=({moveFocusTo:a})=>o("div",{class:"duet-focus-guard","aria-hidden":"true",tabIndex:0,onFocus:()=>s(a)});export{a as F,s as f}
@@ -1,4 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(t,e,i,o){function s(t){return t instanceof i?t:new i((function(e){e(t)}))}return new(i||(i=Promise))((function(i,n){function r(t){try{a(o.next(t))}catch(e){n(e)}}function c(t){try{a(o["throw"](t))}catch(e){n(e)}}function a(t){t.done?i(t.value):s(t.value).then(r,c)}a((o=o.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var i={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},o,s,n,r;return r={next:c(0),throw:c(1),return:c(2)},typeof Symbol==="function"&&(r[Symbol.iterator]=function(){return this}),r;function c(t){return function(e){return a([t,e])}}function a(r){if(o)throw new TypeError("Generator is already executing.");while(i)try{if(o=1,s&&(n=r[0]&2?s["return"]:r[0]?s["throw"]||((n=s["return"])&&n.call(s),0):s.next)&&!(n=n.call(s,r[1])).done)return n;if(s=0,n)r=[r[0]&2,n.value];switch(r[0]){case 0:case 1:n=r;break;case 4:i.label++;return{value:r[1],done:false};case 5:i.label++;s=r[1];r=[0];continue;case 7:r=i.ops.pop();i.trys.pop();continue;default:if(!(n=i.trys,n=n.length>0&&n[n.length-1])&&(r[0]===6||r[0]===2)){i=0;continue}if(r[0]===3&&(!n||r[1]>n[0]&&r[1]<n[3])){i.label=r[1];break}if(r[0]===6&&i.label<n[1]){i.label=n[1];n=r;break}if(n&&i.label<n[2]){i.label=n[2];i.ops.push(r);break}if(n[2])i.ops.pop();i.trys.pop();continue}r=e.call(t,i)}catch(c){r=[6,c];s=0}finally{o=n=0}if(r[0]&5)throw r[1];return{value:r[0]?r[1]:void 0,done:true}}};
2
- /*!
3
- * Built with Duet Design System
4
- */System.register(["./p-70a1a9bf.system.js","./p-33b3aba4.system.js","./p-34ea0849.system.js","./p-a63f753e.system.js","./p-f69b64c9.system.js","./p-b6d51921.system.js"],(function(t){"use strict";var e,i,o,s,n,r,c,a,l,u,d,b,m,h,p,f;return{setters:[function(t){e=t.h;i=t.F;o=t.r;s=t.c;n=t.H;r=t.g},function(t){c=t.i},function(t){a=t.d},function(t){l=t.n;u=t.f;d=t.o;b=t.b;m=t.c},function(t){h=t.g;p=t.a},function(t){f=t.p}],execute:function(){var v=function(t){var o=t.item,s=t.search,n=s===void 0?"":s,r=t.selected;var c=n!==""?new RegExp("("+n.split(" ").join("|")+")","gi"):undefined;return e(i,null,r&&e("duet-icon",{class:"option-icon",name:"messaging-checked",size:"xx-small",margin:"none"}),c?e("span",{class:"option-container","aria-hidden":"true"},e("span",{innerHTML:o.name.replace(c,'<span class="highlight">$&</span>')})):o.name,o.tags&&e("span",{class:"option-tags"},o.tags.join(", ")))};var x=function(t){var i=t.item,o=t.active,s=t.total,n=t.selected,r=t.label,c=r===void 0?undefined:r,a=t.clickHandler,l=a===void 0?function(t){t.preventDefault()}:a,u=t.keyHandler,d=u===void 0?function(t){t.preventDefault()}:u,b=t.search;return e("li",{class:{"list-item":true,option:true,active:o,selected:n},id:o?"active_item":"","data-index":i.id,"aria-selected":o?"true":undefined,"aria-current":n?"true":undefined,role:"option","aria-label":c||"".concat(i.name,", (").concat(i.id+1," of ").concat(s,")")},e("a",{tabindex:"-1",onClick:function(t){return l(t)},onKeyUp:function(t){return d(t)},class:"option-link","aria-label":c||"".concat(i.name,", (").concat(i.id+1," of ").concat(s,")"),"aria-hidden":"true"},e(v,{item:i,search:b,selected:n})))};var g='.sc-duet-combobox-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;width:auto;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:#00294d}.duet-combobox-list.sc-duet-combobox{position:absolute;top:calc(100% - 12px);display:none;overflow:hidden;background:white;border-radius:0 4px;box-shadow:0 2px 10px 0 rgba(0, 41, 77, 0.1)}.duet-combobox-list.open.sc-duet-combobox{z-index:700;display:block}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox{max-height:200px;padding:0.75rem 0;margin:0;overflow-y:scroll;font-weight:600;list-style:none;cursor:pointer;scroll-behavior:smooth}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox{padding:4px 0}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:not(.selected){padding-left:16px}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:not(.selected) .highlight.sc-duet-combobox{text-decoration:underline}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.option.sc-duet-combobox .option-link.sc-duet-combobox{display:block;width:100%}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.option.sc-duet-combobox .option-tags.sc-duet-combobox{float:right;padding-right:0.875rem;font-weight:400;color:#909599}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.option-link.sc-duet-combobox{display:block;width:100%}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.selected.sc-duet-combobox{padding-left:0;background:#cde5f1}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.selected.option.sc-duet-combobox .option-icon.sc-duet-combobox{padding:0 8px 0 8px}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.selected.option.sc-duet-combobox .option-tags.sc-duet-combobox{color:#909599}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.active.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover{color:white;background:#0077b3}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.active.sc-duet-combobox .option-tags.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus .option-tags.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover .option-tags.sc-duet-combobox{color:#e1e3e6}';var I=t("duet_combobox",function(){function t(t){var e=this;o(this,t);this.duetChange=s(this,"duetChange",3);this.isSafari=false;this.resizeObserver=new ResizeObserver(a((function(t){var i,o;if((t===null||t===void 0?void 0:t.length)===1){var s=(o=(i=t[0])===null||i===void 0?void 0:i.target)===null||o===void 0?void 0:o.getBoundingClientRect().width;e.listContainer.style.width="".concat(s+1,"px")}}),100));this.processedItems=null;this.inputWidth=0;this.inputValue="";this.selectionMsg="";this.listOpen=false;this.selectedItems=new Set;this.activeItem=undefined;this.accessibleLabelDefaults={en:{heading:"Select:",item:"{name}, ({current} of {total})",itemFiltered:"{name}, ({current} of {total}, {hiddenItems} filtered)"},fi:{heading:"Valitse:",item:"{name}, ({current}/{total})",itemFiltered:"{name}, ({current}/{total}, {hiddenItems} suodatettu)"},sv:{heading:"Välj:",item:"{name}, ({current} av {total})",itemFiltered:"{name}, ({current} av {total}, {hiddenItems} filtrerade)"}};this.accessibleLabels=h(f(this.accessibleLabelDefaults),p());this.theme="";this.force=false;this.formatter=function(t){return t&&t.name?t.name:""}}t.prototype.activeItemHandler=function(t){this.input.accessibleActiveDescendant=this.listOpen&&(t||t===0)?"active_item":""};t.prototype.handleDocumentClick=function(t){var e=this;var i=t.composedPath();var o=i.every((function(t){return t!==e.element}));if(o){this.updateInputText(true);this.listOpen=false}};t.prototype.formatItem=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,this.formatter(t)]}))}))};t.prototype.componentWillLoad=function(){c(this)};t.prototype.connectedCallback=function(){var t=this;if(/^((?!chrome|android).)*safari/i.test(navigator.userAgent)){this.isSafari=true}this.items=this.processedItems=f(this.items);this.input=this.element.querySelector("duet-input");this.input.addEventListener("duetChange",this.updateInputValue.bind(this));this.input.addEventListener("click",(function(){t.inputValue.length?t.listOpen=true:t.listOpen=false}));this.element.addEventListener("keydown",this.handleInputKeyDownEvent.bind(this));this.input.accessibleAutocomplete="list";this.input.accessibleControls="duet-combobox-list-element"};t.prototype.disconnectedCallback=function(){var t=this;this.input.removeEventListener("duetChange",this.updateInputValue.bind(this));this.input.removeEventListener("click",(function(){return t.inputValue.length?t.listOpen=true:t.listOpen=false}));this.element.removeEventListener("keydown",this.handleInputKeyDownEvent.bind(this));this.listElement.removeEventListener("click",(function(t){t.stopPropagation()}));this.resizeObserver.disconnect()};t.prototype.componentDidLoad=function(){this.resizeObserver.observe(this.input);this.listElement.addEventListener("click",(function(t){t.stopPropagation()}))};t.prototype.onListClick=function(t,e){t.preventDefault();this.updateSelectedItems(e.id);this.listOpen=false;return this.listOpen};t.prototype.shouldListBeFiltered=function(){var t=this;if(this.selectedItems.size&&this.input.value===this.inputValue){var e=this.items.filter((function(e){return t.selectedItems.has(e.id)}));return!(this.formatter(e).toLowerCase()===this.input.value.toLowerCase())}return true};t.prototype.returnFilteredOrNonFiltered=function(){return this.processedItems?this.shouldListBeFiltered()?this.getFilteredItems():this.sortFilteredItems(this.processedItems):[]};t.prototype.updateSelectedItems=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:this.selectedItems.clear();if(this.selectedItems){if(this.selectedItems.has(t)){this.selectedItems.delete(t)}else{this.selectedItems.add(t)}}return[4,this.updateInputText()];case 1:e.sent();return[2]}}))}))};t.prototype.updateInputText=function(t){if(t===void 0){t=false}return __awaiter(this,void 0,void 0,(function(){var e,i,o;var s=this;return __generator(this,(function(n){switch(n.label){case 0:e=this.selectedItems.size===0?[]:this.items.filter((function(t){return s.selectedItems.has(t.id)}));if(!(this.selectedItems.size===1))return[3,3];this.input.value="";i=this.input;return[4,this.formatItem(e[0])];case 1:i.value=n.sent();this.input.scrollLeft=this.input.scrollWidth;this.activeItem=undefined;o=this;return[4,this.formatItem(e[0])];case 2:o.value=n.sent();this.duetChange.emit({value:e[0].value,item:e[0],component:"duet-combobox"});return[3,4];case 3:if(t&&this.selectedItems.size===0){if(this.force){this.inputValue="";this.input.value=""}this.activeItem=undefined}n.label=4;case 4:this.listOpen=false;return[2]}}))}))};t.prototype.updateInputValue=function(t){var e;this.inputValue=t.detail.value;this.listOpen=String(this.inputValue).length>0&&((e=this.getFilteredItems())===null||e===void 0?void 0:e.length)>0};t.prototype.handleInputKeyDownEvent=function(t){this.input.accessibleActiveDescendant=undefined;if(l(t)){t.preventDefault();this.selectActiveItem();this.listOpen=false;return}if(u(t)||d(t)){this.updateInputText(true);this.listOpen=false;return}var e=this.activeItem;if(b(t)){t.preventDefault();e=this.activeItem-1}else if(m(t)){t.preventDefault();e=this.listOpen?this.activeItem+1:this.activeItem;this.listOpen=true}if(m(t)||b(t)){var i=this.shouldListBeFiltered()?this.getFilteredItems():this.processedItems;if(e<0||!e){e=0}if(e>=i.length){e=i.length-1}this.input.accessibleActiveDescendant="active_item";this.activeItem=e;this.scrollToActive()}this.announceActive();return};t.prototype.selectActiveItem=function(){if(this.activeItem===undefined){return}var t=this.returnFilteredOrNonFiltered();var e=t[this.activeItem];this.updateSelectedItems(e.id)};t.prototype.announceActive=function(t){if(!t){t=this.returnFilteredOrNonFiltered()}if(this.activeItem===undefined||this.activeItem===-1){return}var e=t[this.activeItem];this.selectionMsg=this.formatLabel(e,t.length,this.items.length)};t.prototype.scrollToActive=function(){var t=this.listElement.querySelector(".active");if(t){t.scrollIntoView({behavior:"smooth",block:"center"})}};t.prototype.formatLabel=function(t,e,i){if(!t||i===undefined){return""}var o=e===i?this.accessibleLabels.item:this.accessibleLabels.itemFiltered;return o.replace("{name}",String(t.name)).replace("{current}",String(this.activeItem+1)).replace("{total}",String(e)).replace("{hiddenItems}",String(i-e))};t.prototype.getFilteredItems=function(){var t=this;var e=this.processedItems.filter((function(e){return String(e.value).toLowerCase().includes(t.inputValue.toLowerCase())||String(e.name).toLowerCase().includes(t.inputValue.toLowerCase())||t.selectedItems.has(e.id)}));return this.sortFilteredItems(e)};t.prototype.sortFilteredItems=function(t){var e=this;if(t.length>0){t.filter((function(t){return e.selectedItems.has(t.id)})).forEach((function(e){var i=t.indexOf(e);t.splice(i,1);t.unshift(e)}))}return t};t.prototype.render=function(){var t;var i=this;var o=this.returnFilteredOrNonFiltered();return e(n,{role:"combobox","aria-expanded":this.listOpen?"true":"false","aria-owns":this.listOpen?"duet-combobox-list-element":undefined,"aria-haspopup":"listbox",class:(t={"duet-combobox":true},t["duet-theme-".concat(this.theme)]=true,t)},e("slot",null),this.isSafari&&e("duet-visually-hidden",{"aria-live":"assertive","aria-atomic":"true","aria-relevant":"all"},this.selectionMsg),e("div",{role:"list",class:{"duet-combobox-list":true,open:this.listOpen},ref:function(t){return i.listContainer=t}},e("ul",{role:"listbox",ref:function(t){return i.listElement=t},id:"duet-combobox-list-element",class:"listbox"},this.processedItems&&o.map((function(t,s){return e(x,{item:t,active:s===i.activeItem,selected:i.selectedItems.has(t.id),search:i.inputValue,total:o.length,clickHandler:function(e){return i.onListClick(e,t)},label:i.formatLabel(t,i.returnFilteredOrNonFiltered().length,i.items.length)})})))))};Object.defineProperty(t.prototype,"element",{get:function(){return r(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{activeItem:["activeItemHandler"]}},enumerable:false,configurable:true});return t}());I.style=g}}}));
@@ -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 u}from"./p-6a49efbc.js";import{i as s}from"./p-4ebf1618.js";import{c as r}from"./p-c1325e35.js";import{a,b as o,c as h,d as b,e as d}from"./p-54f35a79.js";import{a as l,b as m,g as c}from"./p-ede854e1.js";import"./p-5a9d75e1.js";function p(t,e){let i;if("string"==typeof t){let n=t.replace("−","-").replace("‐","-").replace("−","-").replace("–","-").replace("—","-");e&&(n=function(t,e,i=!1){let n;const u=new Intl.NumberFormat(e).format(.5).replace(/[0-9]/g,""),s=new Intl.NumberFormat("en-US").format(.5).replace(/[0-9]/g,""),r=new Intl.NumberFormat(e).format(1e3).replace(/[0-9]/g,""),a=new Intl.NumberFormat("en-US").format(1e3).replace(/[0-9]/g,"");return n=t.replace(u,"DECIMALSEPARATOR"),n=n.replace(r,i?"THOUSANDSEPARATOR":""),n=n.replace("DECIMALSEPARATOR",s),n=n.replace("THOUSANDSEPARATOR",a),n}(n,e,!1)),n=n.replace(/\s+/g,""),n=n.replace(/(?!^-?\d*\.{0,1}\d+$)/g,""),i=parseFloat(n)}if("number"==typeof t&&(i=parseFloat(String(t))),!isNaN(Number(i)))return Number(i);if(null==t)return null;throw new Error("Invalid value passed to SafeParseFloat")}const g=(t,e,i)=>Math.min(Math.max(t,e),i),f=class{constructor(i){t(this,i),this.duetChange=e(this,"duetChange",3),this.duetInput=e(this,"duetInput",3),this.duetBlur=e(this,"duetBlur",7),this.duetFocus=e(this,"duetFocus",7),this.inputId=r("DuetInput"),this.language=l(),this.locale=m(this.language).locale,this.unit=m(this.language).money,this.accessibleDetails=void 0,this.accessibleLabelledBy=void 0,this.accessibleDescription=void 0,this.accessibleLiveDefaults={fi:"{current} euroa valittuna",en:"{current} euros selected",sv:"{current} euro valt"},this.accessibleLive=c(this.accessibleLiveDefaults,this.language),this.accessibleLiveEnabled=!0,this.accessibleAddDefaults={fi:"Lisää summaan",en:"Add to the amount",sv:"Lägg till beloppet"},this.accessibleAdd=c(this.accessibleAddDefaults,this.language),this.accessibleSubtractDefaults={fi:"Vähennä summasta",en:"Subtract from the amount",sv:"Dra från beloppet"},this.accessibleSubtract=c(this.accessibleSubtractDefaults,this.language),this.theme="",this.margin="auto",this.expand=!1,this.min=0,this.labelDefaults={fi:"Nimilappu",en:"Label",sv:"Etikett"},this.label=c(this.labelDefaults,this.language),this.labelHidden=!1,this.max=1e6,this.error="",this.tooltip="",this.step=5e3,this.rounding=!0,this.disabled=!1,this.required=!1,this.handleFocus=()=>{this.focusedValue=this.value},this.handleKeyDown=t=>{a(t)||o(t)?this.add(t):h(t)||b(t)?this.subtract(t):d(t)&&this.clearValue()},this.handleChange=t=>{const e=t.target;if(e&&e.value){let i=p(e.value,this.locale);(isNaN(i)||null==i)&&(i=this.min||0),this.setValue(i),this.duetInput.emit({component:"duet-number-input",originalEvent:t,value:p(this.value,this.locale).toString(),valueAsNumber:i})}else this.duetInput.emit({component:"duet-number-input",originalEvent:t,value:null,valueAsNumber:null})},this.handleBlur=t=>{const e=t.target;if(e){if(e.value){let n=p(e.value,this.locale);this.rounding&&(i=this.step,n=Math.round(n/i)*i),n=g(n,this.min,this.max),n===p(this.value,this.locale)&&n===p(this.focusedValue,this.locale)||(this.setValue(n),this.emitChange(t))}var i;this.duetChange.emit({originalEvent:t,value:null,valueAsNumber:null,component:"duet-number-input"})}},this.emitChange=t=>{const e=p(this.value,this.locale);this.duetChange.emit({originalEvent:t,value:e.toString(),valueAsNumber:e,component:"duet-number-input"})},this.localizeValue=t=>t.toLocaleString(this.locale),this.setValue=t=>{this.value=this.localizeValue(t),this.duetInputElement.value=`${this.value} ${this.unit}`},this.add=t=>{t&&t.preventDefault();const e=p(this.value,this.locale);if(e===this.max)return;let i=null==e?this.min:e+this.step;i%this.step!=0&&(i-=i%this.step);const n=g(i,this.min,this.max);this.value=this.localizeValue(n),this.emitChange(t)},this.subtract=t=>{t&&t.preventDefault();const e=p(this.value,this.locale);if(e===this.min)return;let i=e-this.step;i%this.step!=0&&(i+=this.step-i%this.step),i=g(i,this.min,this.max),this.value=this.localizeValue(i),this.emitChange(t)}}componentWillLoad(){s(this),this.value&&(this.value=this.localizeValue(p(this.value,this.locale)))}async setFocus(t){this.duetInputElement.setFocus(t)}clearValue(){this.value=null,this.duetInputElement.value=""}formatAnnouncement(){const t=p(this.value,this.locale);return null==t?"":this.accessibleLive.replace("{current}",t.toString(10))}render(){const t=this.identifier||this.inputId,e=`${this.localizeValue(this.max)} ${this.unit}`.length,u=p(this.value,this.locale);return i(n,{class:{"duet-theme-turva":"turva"===this.theme,"duet-expand":this.expand,"duet-m-0":"none"===this.margin}},i("div",{class:"duet-number-container"},i("duet-input",{ref:t=>this.duetInputElement=t,onDuetChange:t=>this.handleChange(t),onDuetFocus:this.handleFocus,onDuetBlur:t=>this.handleBlur(t),onKeyDown:t=>this.handleKeyDown(t),label:this.label,value:this.value?`${this.value} ${this.unit}`:"",error:this.error,"aria-valuemin":this.min,"aria-valuemax":this.max,"aria-valuenow":null!=u?u:"",maxlength:e,name:this.name,component:"number",required:this.required,disabled:this.disabled,role:this.role,labelHidden:this.labelHidden,tooltip:this.tooltip,identifier:t,theme:this.theme,margin:"none",expand:!0,numericKeyboard:!0,autoComplete:"off",type:"text",accessibleActiveDescendant:this.accessibleActiveDescendant,accessibleLabelledBy:this.accessibleLabelledBy,accessibleDescription:this.accessibleDescription,accessibleDetails:this.accessibleDetails,accessibleControls:this.accessibleControls,accessibleOwns:this.accessibleOwns,accessibleDescribedBy:this.accessibleDescribedBy},i("div",{class:{"duet-number-buttons":!0,"duet-no-label":this.labelHidden}},i("button",{"aria-controls":t,disabled:this.disabled,"aria-disabled":null==u||u===this.min?"true":"false",class:"duet-number-button duet-number-button-subtract",onClick:this.subtract,type:"button"},i("duet-visually-hidden",null,this.accessibleSubtract," ",this.step),i("duet-icon",{icon:'<svg fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img"><path d="M.75 12.788a.75.75 0 0 1 0-1.5h22.5a.75.75 0 0 1 0 1.5z"/></svg>',size:"small",margin:"none",color:"turva"===this.theme?"secondary-turva":"secondary"})),i("button",{"aria-controls":t,disabled:this.disabled,"aria-disabled":u===this.max?"true":"false",class:"duet-number-button duet-number-button-add",onClick:this.add,type:"button"},i("duet-visually-hidden",null,this.accessibleAdd," ",this.step),i("duet-icon",{icon:'<svg fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img"><path d="M12 24a.75.75 0 0 1-.75-.75v-10.5H.75a.75.75 0 0 1 0-1.5h10.5V.75a.75.75 0 0 1 1.5 0v10.5h10.5a.75.75 0 0 1 0 1.5h-10.5v10.5A.75.75 0 0 1 12 24z"/></svg>',size:"small",margin:"none",color:"turva"===this.theme?"secondary-turva":"secondary"})))),this.accessibleLiveEnabled&&i("duet-visually-hidden",{"aria-live":"polite","aria-atomic":"true","aria-relevant":"all"},this.formatAnnouncement())))}get element(){return u(this)}};f.style='*.sc-duet-number-input,*.sc-duet-number-input::after,*.sc-duet-number-input::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-number-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%;line-height:1.25;text-align:left;vertical-align:bottom}.sc-duet-number-input-h:last-child,.sc-duet-number-input-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-number-input-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-number-input-h{width:100% !important}.duet-m-0.sc-duet-number-input-h{margin:0 !important}.duet-number-container.sc-duet-number-input{position:relative;width:100%}.duet-number-buttons.sc-duet-number-input{-webkit-user-select:none;user-select:none;position:absolute;top:1px;right:1px;z-index:200;width:96px;height:calc(100% - 2px)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input{position:relative;display:inline-flex;align-items:center;justify-content:center;width:50%;height:100%;text-align:center;cursor:pointer;background:transparent;-webkit-appearance:none;appearance:none}.duet-number-buttons.sc-duet-number-input .duet-number-button[aria-disabled=true].sc-duet-number-input,.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:disabled{pointer-events:none}.duet-number-buttons.sc-duet-number-input .duet-number-button[aria-disabled=true].sc-duet-number-input duet-icon.sc-duet-number-input,.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:disabled duet-icon.sc-duet-number-input{opacity:0.4}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:active duet-icon.sc-duet-number-input{transform:translateY(1px)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:focus{outline:0}.user-is-tabbing.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:focus{z-index:2;box-shadow:0 0 0 2px #0077b3}.duet-theme-turva .user-is-tabbing.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:focus{box-shadow:0 0 0 2px #171c3a}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:first-of-type{border-left:1px solid #cfd2d4}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:first-of-type::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:"";background:linear-gradient(to left, rgba(207, 210, 212, 0.2) 0%, rgba(207, 210, 212, 0.2) 1px, rgba(207, 210, 212, 0.1) 1px, rgba(207, 210, 212, 0) 100%)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:last-of-type::before{position:absolute;top:20%;left:0;width:1px;height:60%;content:"";background:#e1e3e6}.duet-theme-turva.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:first-of-type::before{background:linear-gradient(to left, rgba(207, 207, 209, 0.2) 0%, rgba(207, 207, 209, 0.2) 1px, rgba(207, 207, 209, 0.1) 1px, rgba(207, 207, 209, 0) 100%)}.duet-theme-turva.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:last-of-type::before{background:#e4e4e6}';export{f as duet_number_input}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- import{h as t,r as e,c as a,H as i,g as s}from"./p-6a49efbc.js";import{i as d}from"./p-4ebf1618.js";import{f as l,d as o}from"./p-0b3f675e.js";import{i as n}from"./p-54f35a79.js";import{g as r,s as u}from"./p-ede854e1.js";import{m as h,h as b,i as p,j as m,k as c,l as f,n as g,s as y}from"./p-588be556.js";import{c as v}from"./p-c1325e35.js";import{p as x}from"./p-5a9d75e1.js";const k=({data:e,groupId:a,alignment:i})=>{const s=`duet-editable-table duet-editable-table-content-${a}`;return"string"==typeof e?t("td",{innerHTML:e,class:s,part:`${a}content`,style:{verticalAlign:i}}):t("td",{class:s,part:`${a}content`,style:{verticalAlign:i}},e)},w=class{constructor(t){e(this,t),this.duetTableToggle=a(this,"duetTableToggle",7),this.duetMenuClick=a(this,"duetMenuClick",7),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.actions=void 0,this.columns=void 0,this.rows=void 0,this.sortable=!1,this.groupId="",this.theme="",this.accessibleRole=void 0,this.sortableDefaultLabel={fi:"Järjestä",en:"Click to sort",sv:"Klicka för att sortera"},this.actionColumnLabel={en:"Actions for rows",fi:"Toiminnot rivillä",sv:"Åtgärder för rader"},this.toggleColumn=(t,e)=>{e.preventDefault();const{sort_order:a,direction:i,index:s,key:d}=t;this.duetTableToggle.emit({sort_order:a,index:s,direction:i,key:d,component:"duet-editable-table",originalEvent:e})},this.handleKeyDown=(t,e)=>{n(e)&&this.toggleColumn(t,e)}}componentWillLoad(){d(this)}createLabel(e){const{sort_order:a,direction:i,index:s,label:d}=e,l=r(d);return this.sortable?t("span",{class:"duet-table-label","data-index":s},t("duet-button",{size:"small",icon:a&&1===i?"action-arrow-down-small":a&&-1===i?"action-arrow-up-small":"action-subtract-small","icon-size":"medium-small","accessible-label":r(this.sortableDefaultLabel),variation:"plain",margin:"none","icon-right":!0,onClick:t=>this.toggleColumn(e,t),onKeyDown:t=>this.handleKeyDown(e,t)},l)):l}getSortedColumns(){return[...this.columns].sort(l(["index"]))}getRowSortOrder(){return[...this.columns].sort(l(["sort_order"])).filter((t=>t.sort_order)).map((t=>-1===t.direction?`-${t.key}`:t.key))}renderTableHeader(){if(!this.columns)return;const e=this.getSortedColumns();return t("tr",{class:{"duet-table-action-header":!!this.actions}},e.map((e=>{if(!1!==e.display)return t("th",{scope:"col"},this.createLabel(e))})),this.actions&&t("th",{scope:"col",class:"duet-table-action-header-heading"},this.actions&&t("duet-visually-hidden",null,r(this.actionColumnLabel))))}renderActions(e,a){if(this.actions)return t("td",{class:"duet-text-right"},this.actions.map((i=>t("duet-action-button",{actionMeta:Object.assign({},(null==e?void 0:e.meta)||{},{index:a}),actionId:(null==e?void 0:e.uid)||(null==e?void 0:e.id)||null,actionName:i.name,theme:this.theme,iconName:i.icon,iconColor:i.color,iconSize:i.size,background:i.background}))))}renderTableBody(){const e=this.getSortedColumns(),a=this.getRowSortOrder();return[...this.rows].sort(l(a)).map(((a,i)=>t("tr",{class:{"duet-table-action-row":!!this.actions,"duet-editable-table-row":!0,[`duet-editable-table-row-${this.groupId}`]:!0},"data-meta":JSON.stringify(a.meta)},e.map((e=>{if(!1!==e.display)return t(k,{data:a[e.key]?a[e.key]:a.item,groupId:this.groupId})})),this.actions&&this.renderActions(a,i))))}render(){return t(i,{class:{[`duet-editable-table-${this.variation}`]:!0,"duet-editable-table":!0,[`duet-editable-table-${this.theme}`]:!0,"duet-editable-table-scrollable":"none-scrollable"===this.breakpoint,"duet-editable-table-sortable":this.sortable,"duet-editable-table-actions":!!this.actions,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme}},t("duet-table",{class:"duet-editable-table-table",sticky:this.sticky,stickyDistance:this.stickyDistance,margin:this.margin,theme:this.theme,variation:this.variation,breakpoint:this.breakpoint},t("table",{role:this.accessibleRole},t("caption",null,t("slot",{name:"tcaption"})),t("thead",null,t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-first"}))),this.renderTableHeader(),t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-last"})))),t("tbody",null,this.renderTableBody()),t("tfoot",null,t("tr",null,t("th",{class:"duet-editable-table-footer-menu",colSpan:99},t("slot",{name:"tfoot"})))))))}get element(){return s(this)}};w.style=".sc-duet-editable-table-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-editable-table-actions-menu.sc-duet-editable-table{position:relative;padding:0 !important;margin:0}.duet-editable-table-actions-menu-button.sc-duet-editable-table{position:relative;right:-16px;float:right;padding:0}.duet-editable-table-actions-menu-icon.sc-duet-editable-table .duet-icon.sc-duet-editable-table{max-width:16px;max-height:16px}.duet-editable-table-row.duet-table-action-row.sc-duet-editable-table .duet-text-right.sc-duet-editable-table{text-align:right}.duet-editable-table-header.sc-duet-editable-table tr.sc-duet-editable-table .duet-editable-table-header-hidden.sc-duet-editable-table{padding:0 !important;font-size:0;border-bottom:0}";const z=t=>t.substring(1,t.length-1),T={none:"all","none-scrollable":"all",small:z(f),medium:z(h),large:z(b),"x-large":z(p),"xx-large":z(m),"xxx-large":z(c)},S={none:0,"with-links":16*parseFloat(g),"without-links":16*parseFloat(y)},E=class{constructor(t){e(this,t),this.matchesBreakpoint=!0,this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.handleMediaQueryChange=t=>{this.matchesBreakpoint=t.matches}}connectedCallback(){this.mq=matchMedia(T[this.breakpoint]),this.mq.addEventListener("change",o(this.handleMediaQueryChange,50)),this.handleMediaQueryChange(this.mq),this.observer=new MutationObserver((()=>o(this.copyHeadingsToCells(),50))),this.observer.observe(this.element,{childList:!0,subtree:!0})}componentWillLoad(){if(d(this),this.copyHeadingsToCells(),this.sticky&&"none-scrollable"===this.breakpoint&&console.warn('[DUET WARNING]: sticky and breakpoint="none-scrollable" are incompatible. Scrollable takes precedence'),this.sticky){const t=S[this.stickyDistance];this.element.querySelectorAll("thead th").forEach((e=>e.style.top=`${t}px`))}}componentDidLoad(){this.observer&&this.observer.takeRecords()}disconnectedCallback(){this.observer.disconnect(),this.observer=null,this.mq.removeListener(this.handleMediaQueryChange),this.mq=null,this.matchesBreakpoint=!0}copyHeadingsToCells(){const t=this.element.querySelectorAll("thead th"),e=this.element.querySelectorAll("tbody tr"),a=Array.from(t).map((t=>t.textContent.trim()));e.forEach((t=>{t.querySelectorAll("td").forEach(((t,e)=>{a[e]&&(t.dataset.heading=a[e])}))}))}render(){return t(i,{class:{[`duet-table-${this.variation}`]:!0,"duet-table-flattened":!this.matchesBreakpoint,"duet-table-sticky":this.matchesBreakpoint&&this.sticky,"duet-table-scrollable":"none-scrollable"===this.breakpoint,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme}},t("slot",null))}get element(){return s(this)}};E.style='duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-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 table,.duet-table-flattened thead,.duet-table-flattened tbody,.duet-table-flattened tfoot,.duet-table-flattened th,.duet-table-flattened td,.duet-table-flattened tr{display:block}.duet-table-flattened thead tr{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-table-flattened td{line-height:1.25}.duet-table-flattened td:not(:last-child){margin-bottom:16px !important}.duet-table-flattened 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}.duet-editable-table-table.duet-table-flattened tr{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:auto;gap:10px}.duet-editable-table-table.duet-table-flattened tr.duet-table-action-row td:last-child::before{padding:0;content:""}.duet-editable-table-table.duet-table-flattened td{grid-column:1/2}.duet-editable-table-table.duet-table-flattened td:first-child{grid-row:1;grid-column:1}.duet-editable-table-table.duet-table-flattened td:last-child{grid-row:1;grid-column:2}';const j=[{type:"default",system_message:"unknown error",message:{fi:"Tapahtui tuntematon virhe, ole hyvä ja yritä uudelleen.",sv:"Ett okänt fel uppstod, försök igen.",en:"An unknown error occured, please try again."}},{type:"400",system_message:"Bad Request: The server could not understand the request due to invalid syntax.",message:{fi:"Tiedostoa ei hyväksytty.",sv:"Servern avvisade din fil.",en:"The server rejected your file."}},{type:"401",system_message:"Not Authenticated: The client must authenticate itself to get the requested response...",message:{fi:"Vain kirjautunut käyttäjä voi lähettää tiedostoja.",sv:"Du måste vara inloggad för att ladda upp filer.",en:"You need to be logged in to upload files."}},{type:"403",system_message:"No Access: The client does not have access rights to the content.",message:{fi:"Ei oikeuksia lähettää tiedostoja.",sv:"Du har inte rätt åtkomsträttigheter för att ladda upp filer.",en:"You do not have the correct access rights to upload files."}},{type:"413",system_message:"Payload too large",message:{fi:"Tiedosto oli liian vastaanotettavaksi.",sv:"Filen var för stor för servern att hantera.",en:"The file was to large for the server to handle."}},{type:"415",system_message:"Unsupported media type",message:{fi:"Tiedoston tyyppi oli väärä.",sv:"Servern avvisade filen eftersom den hade fel typ.",en:"The server rejected the file because it had the wrong type."}},{type:"429",system_message:"Too many request from same address",message:{fi:"Liian monta yritystä, ole hyvä ja yritä myöhemmin uudelleen.",sv:"Servern har fått många förfrågningar från dig, försök igen senare.",en:"The server has received to many request from you, please try again later."}},{type:"500",system_message:"Internal Server Error",message:{fi:"Palvelin ilmoitti tuntemattomasta virheestä ja lataus epäonnistui.",sv:"Servern rapporterade ett okänt fel och uppladdningen misslyckades.",en:"The server reported an unknown error and the upload failed."}},{type:"duet-upload-100",system_message:"File extension not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den type.",en:"You cannot upload files with that extension."}},{type:"duet-upload-001",system_message:"File transfer failed",message:{fi:"Tiedoston lähetys keskeytyi, ole hyvä ja yritä uudelleen.",sv:"Din anslutning till servern avbröts, försök igen.",en:"Your connection to the server was interrupted, try again."}},{type:"duet-upload-101",system_message:"File mimetype not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den typ.",en:"You cannot upload files of that type."}},{type:"duet-upload-201",system_message:"File is too large",message:{fi:"Tiedosto on liian iso.",sv:"Filen är större än tillåtet.",en:"The file is larger than permitted."}},{type:"duet-upload-202",system_message:"The combined size of all files is too large",message:{fi:"Tiedostojen yhteenlaskettu koko on liian iso.",sv:"Du har nått den maximala kombinerade filstorleken.",en:"You have reached the maximum combined filesize."}},{type:"duet-upload-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."}}],M=(t,e)=>{let a={type:void 0,system_message:void 0,message:void 0};return a=(e=x(e)).filter((e=>e.type==t))[0],a||(a=e.filter((t=>"default"===t.type))[0]),a},F=(t,e)=>{const a=M(t,e),i=r(a.message);return""!==i&&i?i:a.system_message},L=({data:e,errorCodes:a})=>{const{item:i,error:s}=e,{name:d}=i,{type:l}=s;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:"x-small",name:"messaging-attachment"}),t("duet-spacer",{size:"xx-small",direction:"horizontal"}),d),t("duet-paragraph",{class:"duet-upload-item-error-label",size:"small",margin:"none",color:"danger"},F(l,a)))},_=({progress:e,name:a})=>t("span",{class:"duet-upload-item-name"},t("duet-icon",{margin:"none",size:"x-small",name:"messaging-attachment"}),t("duet-spacer",{size:"xx-small",direction:"horizontal"}),a,t("br",null),t("duet-progress",{progress:Math.ceil(e),"aria-hidden":!0})),D=({name:e})=>t("span",{class:"duet-upload-item-name"},t("duet-icon",{margin:"none",size:"x-small",name:"messaging-attachment"}),t("duet-spacer",{size:"xx-small",direction:"horizontal"}),e),P=({data:e,showLinks:a})=>{const{item:i,size:s,uploaded:d,url:l,meta:o}=e,{name:n}=i,r=t("span",{class:"duet-upload-item-name"},t("duet-icon",{margin:"none",size:"x-small",name:"messaging-attachment"}),t("duet-spacer",{size:"xx-small",direction:"horizontal"}),n),u=t("span",{class:"duet-upload-item-size",style:{fontSize:"14px",fontWeight:"400"}},"(",((t,e=2)=>{if(0===t)return"0 Bytes";const a=e<0?0:e,i=Math.floor(Math.log(t)/Math.log(1024));return parseFloat((t/Math.pow(1024,i)).toFixed(a))+" "+["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][i]})(s),")"),h=t("duet-paragraph",{color:"secondary",margin:"none",weight:"semi-bold"},d&&l&&a?t("duet-link",{url:l,external:!0},r):r,t("duet-spacer",{size:"xx-small",direction:"horizontal"}),u),b=o&&o.badges?t("span",null,t("duet-spacer",{size:"xx-small"}),o.badges.map((e=>t("duet-badge",{color:"primary"},e)))):void 0;return t("span",{class:"duet-upload-item-success"},t("div",null,h),b)},A=(t,e,a)=>{const{allowedMimetypes:i,allowedExtensions:s,maxBytes:d}=e;let l=!1,o=M("default",a);if(t){const{name:e,type:n,size:r}=t,u=((t,e)=>{if(!e||!t)return!0;const a=e.split(",");let i=!1;return a.forEach((e=>{const a=e.split("/"),s=t.split("/");a[0]!==s[0]||a[1]!==s[1]&&"*"!==a[1]||(i=!0)})),i})(n,i),h="all"===s||""===s||" "===s||void 0===s||((t,e)=>{if(!e)return!0;const a=t.split(".");return e.split(",").includes(a[a.length-1])})(e.toLowerCase(),s),b=((t,e)=>!e||!t||e>=t)(r,d);u||(o=M("duet-upload-101",a)),h||(o=M("duet-upload-100",a)),b||(o=M("duet-upload-201",a)),l=u&&h&&b}else l=!1;return{valid:l,errorMessage:l?void 0:r(o.message),errorSystem:l?void 0:o.system_message,errorType:l?void 0:o.type}},B=({payload:t,options:e,onFailure:a,onSuccess:i,onProgress:s})=>{const{type:d="POST",xhr:l,uri:o,argument:n=null,headers:r=null}=e;l.open(d,`${o}${n||""}`,!0);const{data:u,name:h}=t;return r&&Object.keys(r).forEach((t=>{l.setRequestHeader(t,r[t])})),"POST"===d&&(l.onreadystatechange=()=>{l.readyState===XMLHttpRequest.DONE&&l.status>=200&&l.status<300&&i(l,h,l.status),l.readyState===XMLHttpRequest.DONE&&l.status>=300&&l.status<999&&a(l,h,l.status)},s(h)),l.send(u),l},R=class{constructor(i){e(this,i),this.duetChange=a(this,"duetChange",3),this.duetBlur=a(this,"duetBlur",7),this.duetFocus=a(this,"duetFocus",7),this.duetReady=a(this,"duetReady",7),this.duetDone=a(this,"duetDone",3),this.duetState=a(this,"duetState",3),this.duetDelete=a(this,"duetDelete",3),this.duetCancel=a(this,"duetCancel",3),this.duetProgress=a(this,"duetProgress",3),this.duetUpload=a(this,"duetUpload",3),this.tick=Date.now(),this.external=!1,this.middleware=null,this.deferUpload=!1,this.hideButton=!1,this.actions=[{icon:"action-delete",color:"color-danger",size:"x-small",background:"gray-lightest",name:"delete",map:["success","failure"],label:{fi:"Poista tiedosto",en:"Poista tiedosto",sv:"Ta bort filen"}},{icon:"navigation-close",color:"primary",size:"x-small",background:"gray-lightest",name:"cancel",map:["inprogress","pending"],label:{fi:"Keskeytä lähetys",en:"Cancel the upload",sv:"Stop överföringen"}}],this.showLinks=!1,this.statusLabelDefaults={fi:{inProgress:"Lähetetään {filesUploaded} 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=r(this.statusLabelDefaults),this.buttonLabelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add an attachment"},this.buttonLabel=r(this.buttonLabelDefaults),this.accessibleButtonLabel=void 0,this.theme="",this.disabled=!1,this.margin="auto",this.required=!1,this.alignment="middle",this.hideGroups=!1,this.files=new Map,this.valid=!this.required,this.labelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add attachments"},this.label=r(this.labelDefaults),this.descriptionDefaults={en:"You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytestotal} of files at a time, and add up to {maxfiles} attachments at a time each no larger than {maxbytes}.",sv:"Du kan bifoga följande filtyper: {filetypes} - samt de vanligaste videofilerna. Du kan ladda upp {maxbytestotal} av filer åt gången, och lägga till upp till {maxfiles} bilagor åt gången varje inte större än {maxbytes}.",fi:"Voit liittää seuraavat tiedostotyypit: {filetypes} - sekä yleisimmät videotiedostot. Voit lähettää {maxbytestotal} tiedostoa kerrallaan, ja lisätä enintään {maxfiles} liitettä kerrallaan, jokainen enintään {maxbytes} kokoisena."},this.description=r(this.descriptionDefaults),this.fileListEmptyDefaults={fi:"Ei vielä lisättyjä tiedostoja.",sv:"Inga filer har lagts till ännu.",en:"No files added yet."},this.fileListEmpty=r(this.fileListEmptyDefaults),this.error="",this.errorCodes=j,this.maxBytes=2e8,this.maxBytesTotal=void 0,this.maxFiles=99,this.allowedExtensions="all",this.allowedMimetypes="*",this.multiple=!0,this.limitSelection=!1,this.buttonId=v("DuetButton"),this.labelId=v("DuetLabel"),this.uploadId=v("DuetUpload"),this.filesInProgress=new Map,this.fileMaxReached=!1,this.bytesMaxReached=!1,this.internalStatusMessageLabel=void 0,this.DefaultGroups={inprogress:"inprogress",success:"success",pending:"pending",failure:"failure"},this.groups=[{id:this.DefaultGroups.pending,label:{en:"Files to upload",sv:"Filer att ladda",fi:"Ladattavat tiedostot"}},{id:this.DefaultGroups.success,label:{fi:"Valmiit tiedostot",sv:"Files success",en:"Files success"}},{id:this.DefaultGroups.failure,label:{fi:"Tiedostot, joissa on virheitä",sv:"Filer med fel",en:"Files with errors"}},{id:this.DefaultGroups.inprogress,label:{fi:"Kesken olevat tiedostot",sv:"Filer inprogress",en:"Files inprogress"}}],this.kick=o((()=>{this.tick=Date.now()}),30),this.listenForActionEvents=()=>{this.element.addEventListener("duetActionEvent",(t=>{const e=t.detail,{action:a,id:i,originalEvent:s}=e;switch(a){case"delete":this.onDelete(i,s);break;case"cancel":this.onCancel(i,s)}}))},this.verifyValidity=()=>{const{invalid:t,valid:e}=this.getFilesAsArray(),a=this.valid;this.valid=0===t.length&&0!==e.length,this.valid!==a&&this.duetState.emit({originalEvent:void 0,data:{valid:this.valid,from:"componentWillRender"},component:"duet-upload"})},this.getGroupFromItemData=t=>t.valid&&100===t.progress?this.DefaultGroups.success:t.progress>0&&100!==t.progress?this.DefaultGroups.inprogress:t.valid?t.pending?this.DefaultGroups.pending:t.group?t.group:"none":this.DefaultGroups.failure,this.getItemHTMLFromItemData=(e,a)=>a===this.DefaultGroups.success?t(P,{data:e,showLinks:this.showLinks}):a===this.DefaultGroups.inprogress?t(_,{progress:e.progress,name:e.item.name}):a===this.DefaultGroups.pending?t(D,{name:e.item.name}):a===this.DefaultGroups.failure?t(L,{data:e,errorCodes:this.errorCodes}):e.group?e.html:"none",this.genHashName=()=>Date.now().toString(36)+Math.random(),this.updateValueInMap=(t,e,a,i=!0)=>{try{const i=this.files.get(t);i[e]=a,this.files.set(t,i)}catch(s){}i&&this.kick()},this.updateProgress=(t,e)=>{t.lengthComputable?(a=>{this.updateValueInMap(e,"progress",a),this.onProgress(e,a,t)})(t.loaded/t.total*100):console.log("cant read progress")},this.trackProgress=(t,e=!1)=>{e?this.filesInProgress.delete(t):this.filesInProgress.set(t,"inprogress"),0===this.filesInProgress.size&&this.onDone()},this.getFilesAsArray=()=>{const t=[],e=[];return this.files.forEach((a=>{a.valid&&!a.deleted?t.push(a):a.valid||a.deleted||e.push(a)})),{valid:t,invalid:e}},this.resetFormFields=()=>{this.nativeInput.value=""},this.startUpload=async(t,e)=>{this.metaData=e,this.nativeInput.click(),this.onUpload(t,e),t.stopPropagation(),t.preventDefault()},this.transferComplete=t=>{this.updateValueInMap(t,"progress",100,!1),this.trackProgress(t,!0)},this.transferDone=(t,e,a)=>{this.updateValueInMap(e,"status",a,!1),this.updateValueInMap(e,"uploaded",!0,!1);try{const a=JSON.parse(t.response);this.updateValueInMap(e,"url",a.url)}catch(i){this.updateValueInMap(e,"url",null),console.error("Server did not respond with expected response {url: string}")}},this.transferDoneWithFailure=(t,e,a)=>{try{const{error:a}=JSON.parse(t.response);this.updateValueInMap(e,"error",{message:a.message,type:a.type},!1)}catch(i){console.error("Server did not respond with expected response error:{message: string, type: int}"),this.updateValueInMap(e,"error",{type:a},!1)}this.updateValueInMap(e,"valid",!1,!0)},this.transferFailed=t=>{this.updateValueInMap(t,"error",F("duet-upload-001",this.errorCodes))},this.transferCanceled=t=>{this.files.delete(t),this.validateTotals(t),this.kick()},this.validateTotals=t=>{const e=((t,e)=>{let a=0;return!!(e&&(this.files.forEach((t=>{t.valid&&t.size&&(a+=t.size)})),a>e))})(0,this.maxBytesTotal),a=((t,e)=>{let a=0;return!!(e&&(this.files.forEach((t=>{t.valid&&a++})),a>e))})(0,this.maxFiles);return e&&t&&this.updateValueInMap(t,"error",F("duet-upload-202",this.errorCodes),!1),a&&t&&this.updateValueInMap(t,"error",F("duet-upload-301",this.errorCodes),!1),this.bytesMaxReached=e,this.fileMaxReached=a,{bytesMaxReached:e,fileMaxReached:a}},this.uploadFile=async(t,e=!1,a)=>{!e&&this.deferUpload?(this.updateValueInMap(t.item.name,"pending",!0,!1),this.updateValueInMap(t.item.name,"group","pending",!0)):e&&(this.updateValueInMap(t.item.name,"pending",!1,!1),this.updateValueInMap(t.item.name,"group",void 0,!0));try{if(!this.deferUpload||e){const e=new FormData;e.append("file",t.item),a&&e.append("key",a),e.append("uid",t.uid),e.append("name",t.item.name),e.append("metadata",JSON.stringify({uid:t.uid,url:this.uri,size:t.item.size,meta:t.meta})),t.xhr=await this.makeXHRPostRequest(e)}}catch(i){this.updateValueInMap(t.item.name,"valid",!1,!1)}},this.uploadPendingFiles=()=>{for(const[t,e]of this.files.entries())"pending"===e.group&&!0===e.pending&&this.uploadFile(e,!0,t)},this.getItemFromUID=t=>{for(const[e,a]of this.files.entries())if(a.uid===t)return{value:a,key:e};return null},this.onDelete=(t,e)=>{const a=this.getItemFromUID(t).key,i=this.files.get(a);this.files.delete(a),this.validateTotals(),this.kick(),this.duetDelete.emit({originalEvent:e,data:{deletion:i},component:"duet-upload"}),this.external||i.pending||this.makeXHRDeleteRequest(i),this.resetFormFields()},this.onCancel=(t,e)=>{const a=this.getItemFromUID(t).key,i=this.files.get(a);if(this.files.delete(a),this.external)this.kick();else{const{xhr:t}=i;t&&t.abort()}this.resetFormFields(),this.duetCancel.emit({originalEvent:e,data:{cancelled:i},component:"duet-upload"})},this.onUpload=(t,e)=>{this.duetUpload.emit({originalEvent:t,metaData:e,component:"duet-upload"})},this.onBlur=t=>{this.duetBlur.emit({originalEvent:t,component:"duet-upload"})},this.onProgress=(t,e,a)=>{this.duetChange.emit({originalEvent:a,data:{key:t,percentComplete:e},component:"duet-upload"})},this.onFocus=t=>{this.duetFocus.emit({originalEvent:t,component:"duet-upload"})},this.onReady=()=>{this.duetReady.emit({component:"duet-upload"})},this.onDone=()=>{this.duetDone.emit({component:"duet-upload",data:{files:this.files}})},this.filterMap=()=>{const t=[...this.files.values()],e=[],a=[],i=[],s=[];return t.forEach((t=>{const d=this.getGroupFromItemData(t),l=this.getItemHTMLFromItemData(t,d);d===this.DefaultGroups.success?s.push({uid:t.uid,item:l,group:d}):d===this.DefaultGroups.inprogress?e.push({uid:t.uid,item:l,group:d}):d===this.DefaultGroups.pending?i.push({uid:t.uid,item:l,group:d}):d===this.DefaultGroups.failure?a.push({uid:t.uid,item:l,group:d}):t.group&&e.push({uid:t.uid,item:l,group:t.group})})),{pending:i,failure:a,success:s,inprogress:e}},this.getColumns=t=>[{sort_order:1,direction:-1,index:0,key:t.id,label:t.label}],this.getActions=t=>this.actions.filter((e=>e.map.includes(t))),this.renderEditableTableGroups=()=>{const e=this.filterMap();return this.groups.map((a=>{const i=e[a.id];if(null==i?void 0:i.length)return t("duet-table",{variation:"plain",breakpoint:"none",role:"log",margin:this.hideGroups?"none":"auto"},t("table",{class:"duet-upload-editable-table"},t("thead",{class:"duet-upload-editable-table-header"},t("tr",null,t("th",{class:{"duet-upload-editable-table-header-hidden":this.hideGroups}},this.hideGroups?t("duet-visually-hidden",null,r(a.label)):r(a.label)))),t("tbody",null,t("tr",null,t("td",{class:"duet-upload-editable-table-data"},t("duet-editable-table",{breakpoint:"none",variation:"plain",groupId:a.id,columns:this.getColumns(a),actions:this.getActions(a.id),margin:"none",rows:i}))))))}))}}watchValidHandler(t,e){t!==e&&this.kick()}componentWillLoad(){this.internalStatusMessageLabel="string"==typeof this.statusMessageLabel?u(this.groups):this.statusMessageLabel,d(this),this.listenForActionEvents(),this.onReady()}componentWillRender(){this.verifyValidity()}async setFocus(t){this.nativeInput&&this.nativeInput.focus(t)}async upload(t){await this.setFocus(),this.metaData=t,this.nativeInput.click()}async uploadPending(){this.uploadPendingFiles()}async refresh(){this.kick(),await this.setFocus()}async getFiles(){return!(!this.files||0===this.files.size)&&this.getFilesAsArray()}async updateValue(t,e,a){this.updateValueInMap(t,e,a)}render(){const e=this.identifier||this.uploadId,a=Math.round((this.maxBytesTotal?this.maxBytesTotal:this.maxBytes*this.maxFiles)/1024/1024),s=Math.round(this.maxBytes/1024/1024);let d=this.description.replace(/{maxfiles}/g,this.maxFiles.toString());return d=d.replace(/{maxbytes}/g,`${s.toString()} MB`),d=d.replace(/{maxbytestotal}/g,`${a.toString()} MB`),d=d.replace(/{filetypes}/g,this.allowedExtensions.split(",").join(", ")),t(i,{class:{"duet-m-0":"none"===this.margin}},t("duet-fieldset",{label:this.label,caption:d},t("slot",{name:"header"}),!this.files.size&&t("duet-label",{part:this.identifier?`${this.identifier}-empty-state`:"duet-upload-empty-state",theme:"turva"===this.theme?"turva":"default",size:"small",class:{"duet-upload-filelist-empty":!this.files.size,"duet-upload-filelist":!0,"duet-upload-filelist-filled":this.files.size},id:this.labelId,for:e},t("span",{class:{"duet-upload-filelist-empty-label":!this.files.size}},this.fileListEmpty)),!!this.files.size&&t("slot",{name:"fileheader"}),!!this.files.size&&t("duet-upload-aria-status",{invalid:this.getFilesAsArray().invalid.length,valid:this.getFilesAsArray().valid.length,inprogress:this.filesInProgress.size,total:this.files.size,statusMessageLabel:this.internalStatusMessageLabel}),!!this.files.size&&this.renderEditableTableGroups(),!!this.files.size&&t("slot",{name:"filefooter"}),t("duet-spacer",{size:"large"}),!this.hideButton&&t("duet-button",{id:this.buttonId,onClick:this.startUpload,"accessible-controls":e,disabled:this.fileMaxReached,"accessible-label":this.accessibleButtonLabel,"accessible-owns":e,size:"small",variation:"secondary",fixed:!0,icon:"action-add-circle",part:this.identifier?`${this.identifier}-button-upload`:"duet-upload-button-upload"},this.buttonLabel),t("duet-spacer",{size:"medium"}),(this.fileMaxReached||this.bytesMaxReached)&&t("duet-alert",{part:this.identifier?`${this.identifier}-error-notification`:"duet-upload-error-notification"},this.fileMaxReached&&F("duet-upload-301",this.errorCodes),this.bytesMaxReached&&F("duet-upload-202",this.errorCodes)),t("duet-spacer",{size:"medium"}),t("duet-visually-hidden",null,t("input",{ref:t=>{this.nativeInput=t},accept:this.limitSelection?`${this.allowedMimetypes},${this.allowedExtensions}`:void 0,onBlur:this.onBlur,onFocus:this.onFocus,onChange:t=>this.onChange(t),type:"file",class:{"duet-upload":!0},disabled:this.disabled,"aria-hidden":"true",required:this.required,name:this.name,id:this.identifier,multiple:this.multiple}))))}makeXHRPostRequest(t){const e=new XMLHttpRequest,a=t.get("name");e.upload.addEventListener("progress",(t=>{this.updateProgress(t,a)})),e.upload.addEventListener("load",(()=>{this.transferComplete(a)})),e.upload.addEventListener("error",(()=>{this.transferFailed(a)})),e.upload.addEventListener("abort",(()=>{this.transferCanceled(a)}));let i={payload:{data:t,name:a},options:{type:"POST",uri:this.uri,xhr:e,argument:null,headers:void 0},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(i=this.middleware(i)),B(i)}makeXHRDeleteRequest(t){const{uid:e,item:a}=t,i=new XMLHttpRequest;let s={payload:{data:null,name},options:{type:"DELETE",xhr:i,uri:this.uri,argument:`?key=${e}&name=${a.name}`,headers:{"x-fileuid":e,"x-filename":a.name}},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(s=this.middleware(s)),B(s)}async onChange(t){var e;const a=Array.from(null===(e=this.nativeInput)||void 0===e?void 0:e.files);if(a)for(const i of a){const{valid:t,errorMessage:e,errorType:a,errorSystem:s}=A(i,{maxBytes:this.maxBytes,allowedExtensions:this.allowedExtensions,allowedMimetypes:this.allowedMimetypes},this.errorCodes),d={uid:this.genHashName(),item:i,size:i.size,meta:this.metaData,uploaded:!1,valid:t,error:{type:t?void 0:a,message:t?void 0:e,system_message:t?void 0:s},progress:0,deleted:!1,xhr:!1,url:!1};this.files.set(i.name,d);const{bytesMaxReached:l,fileMaxReached:o}=this.validateTotals(i.name);l||o?this.updateValueInMap(i.name,"valid",!1,!1):t&&!this.external?await this.uploadFile(d):t&&this.external?(this.updateValueInMap(d.item.name,"pending",!0,!1),this.updateValueInMap(d.item.name,"group","pending",!0)):t||this.updateValueInMap(i.name,"valid",!1,!0),this.kick()}this.resetFormFields(),this.metaData=void 0,this.duetChange.emit({originalEvent:t,data:{files:this.files},component:"duet-upload"})}get element(){return s(this)}static get watchers(){return{valid:["watchValidHandler"]}}};R.style="*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}::slotted([slot=header]){margin-bottom:16px}::slotted([slot=fileheader]){margin:16px 0 0 0}::slotted([slot=filefooter]){margin-top:16px}.duet-upload{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-upload-item-size{font-size:0.75rem;font-weight:400}.duet-upload-filelist{margin-bottom:25px}.duet-upload-filelist-empty{display:flex;align-items:center;justify-content:center;width:100%;height:75px;margin:0 auto;font-size:1rem;font-weight:400;background-color:#f5f8fa}.duet-upload-filelist-empty-label{font-size:1rem;font-weight:400}.duet-upload-editable-table-header-hidden{display:none}.duet-upload-editable-table tbody .duet-upload-editable-table-data{padding:0 !important;border:0}.duet-upload-editable-table duet-editable-table tfoot,.duet-upload-editable-table duet-editable-table thead{display:none}.duet-upload-editable-table duet-editable-table .duet-editable-table-content{padding-right:0 !important;padding-left:0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td{padding:1rem 0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td:last-child{padding-right:0 !important}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending{position:relative}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-progress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-progress{position:absolute;bottom:0;width:100%}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-action-button::part(button),.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-action-button::part(button){border:0}.duet-upload-editable-table .duet-upload-item-name duet-icon{position:relative;top:2px}duet-paragraph::part(duet-paragraph){word-break:break-word}";export{w as duet_editable_table,E as duet_table,R as duet_upload}