@duetds/components 4.30.1 → 4.33.1

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 (427) hide show
  1. package/hydrate/index.js +1531 -442
  2. package/lib/cjs/{dom-e89ebf90.js → dom-c850c8d7.js} +1 -1
  3. package/lib/cjs/duet-alert.cjs.entry.js +4 -2
  4. package/lib/cjs/duet-badge.cjs.entry.js +2 -2
  5. package/lib/cjs/duet-button_2.cjs.entry.js +6 -5
  6. package/lib/cjs/duet-caption_4.cjs.entry.js +21 -15
  7. package/lib/cjs/duet-card.cjs.entry.js +6 -6
  8. package/lib/cjs/duet-checkbox.cjs.entry.js +2 -2
  9. package/lib/cjs/duet-choice_2.cjs.entry.js +55 -25
  10. package/lib/cjs/duet-collapsible.cjs.entry.js +5 -2
  11. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  12. package/lib/cjs/duet-date-picker.cjs.entry.js +23 -13
  13. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-editable-table-button.cjs.entry.js +89 -0
  15. package/lib/cjs/duet-editable-table_4.cjs.entry.js +1445 -0
  16. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  17. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  18. package/lib/cjs/duet-footer.cjs.entry.js +4 -4
  19. package/lib/cjs/duet-grid_2.cjs.entry.js +52 -4
  20. package/lib/cjs/duet-header_2.cjs.entry.js +26 -10
  21. package/lib/cjs/duet-hero.cjs.entry.js +6 -6
  22. package/lib/cjs/duet-icon.cjs.entry.js +21 -19
  23. package/lib/cjs/duet-input_2.cjs.entry.js +7 -7
  24. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-list_2.cjs.entry.js +2 -2
  26. package/lib/cjs/duet-modal.cjs.entry.js +8 -7
  27. package/lib/cjs/duet-notification_2.cjs.entry.js +6 -5
  28. package/lib/cjs/duet-number-input.cjs.entry.js +36 -15
  29. package/lib/cjs/duet-progress.cjs.entry.js +75 -0
  30. package/lib/cjs/duet-radio_2.cjs.entry.js +2 -2
  31. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  32. package/lib/cjs/duet-select.cjs.entry.js +6 -6
  33. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-tab_2.cjs.entry.js +12 -6
  35. package/lib/cjs/duet-textarea.cjs.entry.js +5 -5
  36. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-tooltip.cjs.entry.js +21 -10
  38. package/lib/cjs/duet-tray.cjs.entry.js +21 -10
  39. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +100 -0
  40. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  41. package/lib/cjs/duet.cjs.js +4 -4
  42. package/lib/cjs/{focus-utils-7605778f.js → focus-utils-b609a7a5.js} +1 -1
  43. package/lib/cjs/{index-0c949193.js → index-9a57d969.js} +95 -77
  44. package/lib/cjs/{language-utils-70d6a9a4.js → language-utils-aa282901.js} +28 -9
  45. package/lib/cjs/loader.cjs.js +3 -3
  46. package/lib/cjs/{shadow-css-0c8c175b.js → shadow-css-e3edeed1.js} +9 -10
  47. package/lib/cjs/{string-utils-a6de43d8.js → string-utils-267e3dbb.js} +7 -0
  48. package/lib/cjs/{token-utils-13e5d13e.js → token-utils-63a9c8dc.js} +1 -1
  49. package/lib/cjs/{tokens.module-53b3bd92.js → tokens.module-6b2df1c2.js} +2 -0
  50. package/lib/cjs/{watch-options-3877c082.js → watch-options-d88afac0.js} +29 -6
  51. package/lib/collection/collection-manifest.json +16 -8
  52. package/lib/collection/components/duet-alert/duet-alert.js +12 -6
  53. package/lib/collection/components/duet-badge/duet-badge.css +1 -0
  54. package/lib/collection/components/duet-button/duet-button.js +17 -15
  55. package/lib/collection/components/duet-card/duet-card.css +30 -7
  56. package/lib/collection/components/duet-card/duet-card.js +4 -3
  57. package/lib/collection/components/duet-checkbox/duet-checkbox.css +1 -1
  58. package/lib/collection/components/duet-choice/duet-choice.css +16 -3
  59. package/lib/collection/components/duet-choice/duet-choice.js +122 -36
  60. package/lib/collection/components/duet-choice-group/duet-choice-group.css +1 -0
  61. package/lib/collection/components/duet-choice-group/duet-choice-group.js +4 -4
  62. package/lib/collection/components/duet-date-picker/duet-date-picker.css +1 -1
  63. package/lib/collection/components/duet-date-picker/duet-date-picker.js +78 -43
  64. package/lib/collection/components/duet-editable-table/duet-editable-table-button.css +32 -0
  65. package/lib/collection/components/duet-editable-table/duet-editable-table-button.js +218 -0
  66. package/lib/collection/components/duet-editable-table/duet-editable-table-item.css +36 -0
  67. package/lib/collection/components/duet-editable-table/duet-editable-table-item.js +203 -0
  68. package/lib/collection/components/duet-editable-table/duet-editable-table-tabledata.js +13 -0
  69. package/lib/collection/components/duet-editable-table/duet-editable-table.css +16 -0
  70. package/lib/collection/components/duet-editable-table/duet-editable-table.js +348 -0
  71. package/lib/collection/components/duet-footer/duet-footer.js +17 -15
  72. package/lib/collection/components/duet-grid/duet-grid.js +57 -6
  73. package/lib/collection/components/duet-grid-item/duet-grid-item.js +4 -4
  74. package/lib/collection/components/duet-header/duet-header.js +60 -35
  75. package/lib/collection/components/duet-heading/duet-heading.css +4 -0
  76. package/lib/collection/components/duet-heading/duet-heading.js +7 -6
  77. package/lib/collection/components/duet-hero/duet-hero.js +20 -15
  78. package/lib/collection/components/duet-icon/duet-icon.js +2 -6
  79. package/lib/collection/components/duet-icon/icon-utils.js +20 -13
  80. package/lib/collection/components/duet-input/duet-input.css +15 -0
  81. package/lib/collection/components/duet-input/duet-input.js +4 -4
  82. package/lib/collection/components/duet-label/duet-label.css +2 -0
  83. package/lib/collection/components/duet-link/duet-link.js +18 -19
  84. package/lib/collection/components/duet-logo/duet-logo.js +4 -4
  85. package/lib/collection/components/duet-modal/duet-modal.js +22 -17
  86. package/lib/collection/components/duet-notification/duet-notification.js +8 -8
  87. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +20 -15
  88. package/lib/collection/components/duet-number-input/duet-number-input.js +153 -29
  89. package/lib/collection/components/duet-paragraph/duet-paragraph.css +6 -0
  90. package/lib/collection/components/duet-paragraph/duet-paragraph.js +34 -3
  91. package/lib/collection/components/duet-progress/duet-progress.css +103 -0
  92. package/lib/collection/components/duet-progress/duet-progress.js +240 -0
  93. package/lib/collection/components/duet-radio/duet-radio.js +6 -6
  94. package/lib/collection/components/duet-select/duet-select.css +15 -0
  95. package/lib/collection/components/duet-select/duet-select.js +3 -3
  96. package/lib/collection/components/duet-step/duet-step.js +8 -8
  97. package/lib/collection/components/duet-tab-group/duet-tab-group.css +2 -2
  98. package/lib/collection/components/duet-tab-group/duet-tab-group.js +43 -12
  99. package/lib/collection/components/duet-textarea/duet-textarea.css +19 -0
  100. package/lib/collection/components/duet-textarea/duet-textarea.js +5 -4
  101. package/lib/collection/components/duet-tooltip/duet-tooltip.js +82 -20
  102. package/lib/collection/components/duet-tray/duet-tray.js +79 -17
  103. package/lib/collection/components/duet-upload/duet-upload.css +17 -86
  104. package/lib/collection/components/duet-upload/duet-upload.js +587 -164
  105. package/lib/collection/components/duet-upload/errorcodes.utils.js +16 -4
  106. package/lib/collection/components/duet-upload/upload-editable-item-error.js +16 -0
  107. package/lib/collection/components/duet-upload/upload-editable-item-inprogres.js +8 -0
  108. package/lib/collection/components/duet-upload/upload-editable-item-success.js +30 -0
  109. package/lib/collection/components/duet-upload/{duet-upload-validators.js → upload-validators.js} +0 -0
  110. package/lib/collection/components/duet-upload/xhr.helpers.js +2 -6
  111. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +217 -0
  112. package/lib/collection/utils/fixture-utils.js +7 -5
  113. package/lib/collection/utils/js-utils.js +12 -0
  114. package/lib/collection/utils/language-utils.js +26 -9
  115. package/lib/collection/utils/string-utils.js +6 -0
  116. package/lib/collection/utils/watch-options.js +35 -6
  117. package/lib/custom-elements-bundle/index.d.ts +30 -0
  118. package/lib/custom-elements-bundle/index.js +1651 -730
  119. package/lib/duet/duet.esm.js +1 -1
  120. package/lib/duet/duet.js +1 -1
  121. package/lib/duet/p-00210a63.entry.js +4 -0
  122. package/lib/duet/{p-66dde4d2.entry.js → p-0205162d.entry.js} +1 -1
  123. package/lib/duet/{p-3dc9d15d.system.entry.js → p-020a2c42.system.entry.js} +1 -1
  124. package/lib/duet/{p-59a07cf9.entry.js → p-079795e5.entry.js} +1 -1
  125. package/lib/duet/p-09013a48.system.entry.js +4 -0
  126. package/lib/duet/p-0a89315d.entry.js +4 -0
  127. package/lib/duet/p-0d22396e.system.js +16 -0
  128. package/lib/duet/p-0e90f075.system.entry.js +4 -0
  129. package/lib/duet/p-12721178.js +4 -0
  130. package/lib/duet/p-19d7d9d5.system.entry.js +4 -0
  131. package/lib/duet/p-1cbc6269.entry.js +4 -0
  132. package/lib/duet/p-2297d13f.system.entry.js +4 -0
  133. package/lib/duet/p-2764f081.js +4 -0
  134. package/lib/duet/p-2a822e91.system.entry.js +4 -0
  135. package/lib/duet/{p-f81d8534.entry.js → p-2fdcff82.entry.js} +1 -1
  136. package/lib/duet/p-3013c9bb.system.entry.js +4 -0
  137. package/lib/duet/p-3212a556.entry.js +4 -0
  138. package/lib/duet/{p-dee41056.system.entry.js → p-323643af.system.entry.js} +1 -1
  139. package/lib/duet/p-32b7397d.entry.js +4 -0
  140. package/lib/duet/{p-bd9a7d8f.js → p-35a3794e.js} +0 -0
  141. package/lib/duet/p-360086f8.entry.js +4 -0
  142. package/lib/duet/{p-f71f12ed.entry.js → p-37cda933.entry.js} +1 -1
  143. package/lib/duet/{p-62806bb6.system.entry.js → p-3ba62cf1.system.entry.js} +1 -1
  144. package/lib/duet/{p-322d1c38.js → p-3c1971d8.js} +1 -1
  145. package/lib/duet/p-3fd9190b.system.entry.js +4 -0
  146. package/lib/duet/p-43847557.entry.js +4 -0
  147. package/lib/duet/{p-bbc229d8.system.entry.js → p-4b6e8558.system.entry.js} +1 -1
  148. package/lib/duet/p-4c5eedf8.entry.js +4 -0
  149. package/lib/duet/p-4c827f0d.entry.js +4 -0
  150. package/lib/duet/{p-de2be65b.system.js → p-51955fc0.system.js} +1 -1
  151. package/lib/duet/p-5cfc53f9.entry.js +4 -0
  152. package/lib/duet/p-5decc259.system.entry.js +4 -0
  153. package/lib/duet/p-5e0071d6.js +4 -0
  154. package/lib/duet/p-5e77432e.system.entry.js +4 -0
  155. package/lib/duet/{p-ce1374a4.system.entry.js → p-6024e484.system.entry.js} +1 -1
  156. package/lib/duet/p-68008644.entry.js +4 -0
  157. package/lib/duet/p-69385972.system.entry.js +4 -0
  158. package/lib/duet/p-6a4d85ed.system.entry.js +4 -0
  159. package/lib/duet/{p-f82709ba.entry.js → p-6a5ab3eb.entry.js} +1 -1
  160. package/lib/duet/p-6e363557.system.js +4 -0
  161. package/lib/duet/p-6e4b1c0d.entry.js +4 -0
  162. package/lib/duet/p-6f36f647.system.entry.js +4 -0
  163. package/lib/duet/p-6fa6c4fb.system.entry.js +4 -0
  164. package/lib/duet/p-70fafc98.system.js +4 -0
  165. package/lib/duet/p-71a77368.system.entry.js +4 -0
  166. package/lib/duet/p-73f9db25.system.entry.js +4 -0
  167. package/lib/duet/p-74f4a0d8.system.entry.js +4 -0
  168. package/lib/duet/p-7530be48.system.entry.js +4 -0
  169. package/lib/duet/{p-36007600.entry.js → p-75edcaed.entry.js} +1 -1
  170. package/lib/duet/{p-d1817efe.system.entry.js → p-7a8597c2.system.entry.js} +1 -1
  171. package/lib/duet/{p-1cfe38b1.system.entry.js → p-85ad012a.system.entry.js} +1 -1
  172. package/lib/duet/{p-a321a98c.entry.js → p-85e52be8.entry.js} +1 -1
  173. package/lib/duet/p-8aaf3383.entry.js +4 -0
  174. package/lib/duet/p-986779fb.js +4 -0
  175. package/lib/duet/p-987edcd0.js +15 -0
  176. package/lib/duet/{p-35e45c19.system.js → p-9a945278.system.js} +1 -1
  177. package/lib/duet/p-9e79e033.entry.js +4 -0
  178. package/lib/duet/{p-7e108b7e.entry.js → p-9f35d682.entry.js} +1 -1
  179. package/lib/duet/{p-f71e337e.system.entry.js → p-a2a00146.system.entry.js} +1 -1
  180. package/lib/duet/p-a545398c.entry.js +4 -0
  181. package/lib/duet/{p-2826f987.js → p-ad07f399.js} +1 -1
  182. package/lib/duet/{p-4a7911fd.entry.js → p-af49d4f9.entry.js} +1 -1
  183. package/lib/duet/{p-1c41525a.entry.js → p-b25edbbe.entry.js} +1 -1
  184. package/lib/duet/p-b314348c.system.js +4 -0
  185. package/lib/duet/p-b4111e88.system.entry.js +4 -0
  186. package/lib/duet/p-b5c7d304.system.entry.js +4 -0
  187. package/lib/duet/p-b6e9860a.entry.js +4 -0
  188. package/lib/duet/p-ba18b56e.entry.js +4 -0
  189. package/lib/duet/p-bf4596bd.system.entry.js +4 -0
  190. package/lib/duet/{p-4265de16.system.entry.js → p-bf9f6d80.system.entry.js} +1 -1
  191. package/lib/duet/{p-fd98468a.system.js → p-c18a599e.system.js} +0 -0
  192. package/lib/duet/p-c1a1ea1b.js +4 -0
  193. package/lib/duet/p-c742856b.system.entry.js +4 -0
  194. package/lib/duet/p-cbdb9e98.system.entry.js +4 -0
  195. package/lib/duet/{p-27d538f7.system.entry.js → p-cf319832.system.entry.js} +1 -1
  196. package/lib/duet/p-d67fff56.entry.js +4 -0
  197. package/lib/duet/{p-031c2cd8.system.entry.js → p-dd76db9b.system.entry.js} +1 -1
  198. package/lib/duet/p-ddb6344c.system.js +4 -0
  199. package/lib/duet/{p-345ea4f2.system.entry.js → p-de5ec54e.system.entry.js} +1 -1
  200. package/lib/duet/p-df6f39a3.entry.js +4 -0
  201. package/lib/duet/p-e1dc86b5.system.js +4 -0
  202. package/lib/duet/p-e2596ea0.entry.js +4 -0
  203. package/lib/duet/p-e370c18b.entry.js +4 -0
  204. package/lib/duet/{p-e26116e0.system.entry.js → p-e48f3a32.system.entry.js} +1 -1
  205. package/lib/duet/p-e5031543.entry.js +4 -0
  206. package/lib/duet/p-e60ee8b0.entry.js +4 -0
  207. package/lib/duet/p-e70088d5.entry.js +4 -0
  208. package/lib/duet/p-e7b90769.system.entry.js +4 -0
  209. package/lib/duet/{p-a88df408.entry.js → p-e8123a53.entry.js} +1 -1
  210. package/lib/duet/p-eb55ccd2.system.js +4 -0
  211. package/lib/duet/{p-2d2c45f9.entry.js → p-ef7251bf.entry.js} +1 -1
  212. package/lib/duet/p-f0cfe033.system.entry.js +4 -0
  213. package/lib/duet/p-f2a087a8.system.entry.js +4 -0
  214. package/lib/duet/p-f5a55b3c.entry.js +4 -0
  215. package/lib/duet/p-fd613733.entry.js +4 -0
  216. package/lib/esm/{dom-21034390.js → dom-58cd15f6.js} +1 -1
  217. package/lib/esm/duet-alert.entry.js +4 -2
  218. package/lib/esm/duet-badge.entry.js +2 -2
  219. package/lib/esm/duet-button_2.entry.js +6 -5
  220. package/lib/esm/duet-caption_4.entry.js +21 -15
  221. package/lib/esm/duet-card.entry.js +6 -6
  222. package/lib/esm/duet-checkbox.entry.js +2 -2
  223. package/lib/esm/duet-choice_2.entry.js +56 -26
  224. package/lib/esm/duet-collapsible.entry.js +5 -2
  225. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  226. package/lib/esm/duet-date-picker.entry.js +23 -13
  227. package/lib/esm/duet-divider_2.entry.js +1 -1
  228. package/lib/esm/duet-editable-table-button.entry.js +85 -0
  229. package/lib/esm/duet-editable-table_4.entry.js +1438 -0
  230. package/lib/esm/duet-empty-state.entry.js +1 -1
  231. package/lib/esm/duet-fieldset.entry.js +1 -1
  232. package/lib/esm/duet-footer.entry.js +4 -4
  233. package/lib/esm/duet-grid_2.entry.js +52 -4
  234. package/lib/esm/duet-header_2.entry.js +26 -10
  235. package/lib/esm/duet-hero.entry.js +6 -6
  236. package/lib/esm/duet-icon.entry.js +21 -19
  237. package/lib/esm/duet-input_2.entry.js +7 -7
  238. package/lib/esm/duet-layout.entry.js +1 -1
  239. package/lib/esm/duet-list_2.entry.js +2 -2
  240. package/lib/esm/duet-modal.entry.js +8 -7
  241. package/lib/esm/duet-notification_2.entry.js +6 -5
  242. package/lib/esm/duet-number-input.entry.js +36 -15
  243. package/lib/esm/duet-progress.entry.js +71 -0
  244. package/lib/esm/duet-radio_2.entry.js +2 -2
  245. package/lib/esm/duet-range-slider.entry.js +2 -2
  246. package/lib/esm/duet-select.entry.js +6 -6
  247. package/lib/esm/duet-step_2.entry.js +1 -1
  248. package/lib/esm/duet-tab_2.entry.js +12 -6
  249. package/lib/esm/duet-textarea.entry.js +5 -5
  250. package/lib/esm/duet-toggle.entry.js +1 -1
  251. package/lib/esm/duet-tooltip.entry.js +21 -10
  252. package/lib/esm/duet-tray.entry.js +21 -10
  253. package/lib/esm/duet-upload-aria-status.entry.js +96 -0
  254. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  255. package/lib/esm/duet.js +4 -4
  256. package/lib/esm/{focus-utils-0b12f0df.js → focus-utils-aeb6ca93.js} +1 -1
  257. package/lib/esm/{index-f70ddc7f.js → index-e8c7d36f.js} +94 -78
  258. package/lib/esm/{language-utils-ab9c3afc.js → language-utils-344d894c.js} +28 -10
  259. package/lib/esm/loader.js +3 -3
  260. package/lib/esm/{shadow-css-31e2d504.js → shadow-css-7c726abb.js} +9 -10
  261. package/lib/esm/{string-utils-69cf0d09.js → string-utils-2f1793b8.js} +7 -1
  262. package/lib/esm/{token-utils-5a35377f.js → token-utils-590d9413.js} +1 -1
  263. package/lib/esm/{tokens.module-edb66c04.js → tokens.module-49cbf963.js} +3 -1
  264. package/lib/esm/watch-options-dd55bce8.js +57 -0
  265. package/lib/esm-es5/{dom-21034390.js → dom-58cd15f6.js} +0 -0
  266. package/lib/esm-es5/duet-alert.entry.js +1 -1
  267. package/lib/esm-es5/duet-badge.entry.js +1 -1
  268. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  269. package/lib/esm-es5/duet-caption_4.entry.js +2 -2
  270. package/lib/esm-es5/duet-card.entry.js +1 -1
  271. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  272. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  273. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  274. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  275. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  276. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  277. package/lib/esm-es5/duet-editable-table-button.entry.js +4 -0
  278. package/lib/esm-es5/duet-editable-table_4.entry.js +4 -0
  279. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  280. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  281. package/lib/esm-es5/duet-footer.entry.js +1 -1
  282. package/lib/esm-es5/duet-grid_2.entry.js +2 -2
  283. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  284. package/lib/esm-es5/duet-hero.entry.js +1 -1
  285. package/lib/esm-es5/duet-icon.entry.js +2 -2
  286. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  287. package/lib/esm-es5/duet-layout.entry.js +1 -1
  288. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  289. package/lib/esm-es5/duet-modal.entry.js +1 -1
  290. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  291. package/lib/esm-es5/duet-number-input.entry.js +2 -2
  292. package/lib/esm-es5/duet-progress.entry.js +4 -0
  293. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  294. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  295. package/lib/esm-es5/duet-select.entry.js +1 -1
  296. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  297. package/lib/esm-es5/duet-tab_2.entry.js +2 -2
  298. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  299. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  300. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  301. package/lib/esm-es5/duet-tray.entry.js +1 -1
  302. package/lib/esm-es5/duet-upload-aria-status.entry.js +4 -0
  303. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  304. package/lib/esm-es5/duet.js +1 -1
  305. package/lib/esm-es5/focus-utils-aeb6ca93.js +4 -0
  306. package/lib/esm-es5/index-e8c7d36f.js +4 -0
  307. package/lib/esm-es5/language-utils-344d894c.js +4 -0
  308. package/lib/esm-es5/loader.js +1 -1
  309. package/lib/esm-es5/shadow-css-7c726abb.js +15 -0
  310. package/lib/esm-es5/{string-utils-69cf0d09.js → string-utils-2f1793b8.js} +1 -1
  311. package/lib/esm-es5/{token-utils-5a35377f.js → token-utils-590d9413.js} +1 -1
  312. package/lib/esm-es5/tokens.module-49cbf963.js +4 -0
  313. package/lib/esm-es5/watch-options-dd55bce8.js +4 -0
  314. package/lib/html.html-data.json +4906 -0
  315. package/lib/types/components/duet-alert/duet-alert.d.ts +2 -1
  316. package/lib/types/components/duet-button/duet-button.d.ts +1 -1
  317. package/lib/types/components/duet-choice/duet-choice.d.ts +24 -5
  318. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +15 -9
  319. package/lib/types/components/duet-editable-table/duet-editable-table-button.d.ts +72 -0
  320. package/lib/types/components/duet-editable-table/duet-editable-table-item.d.ts +72 -0
  321. package/lib/types/components/duet-editable-table/duet-editable-table-tabledata.d.ts +7 -0
  322. package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +84 -0
  323. package/lib/types/components/duet-footer/duet-footer.d.ts +1 -1
  324. package/lib/types/components/duet-grid/duet-grid.d.ts +16 -2
  325. package/lib/types/components/duet-header/duet-header.d.ts +21 -5
  326. package/lib/types/components/duet-heading/duet-heading.d.ts +2 -2
  327. package/lib/types/components/duet-hero/duet-hero.d.ts +3 -3
  328. package/lib/types/components/duet-icon/duet-icon.d.ts +1 -1
  329. package/lib/types/components/duet-icon/icon-utils.d.ts +1 -1
  330. package/lib/types/components/duet-link/duet-link.d.ts +2 -3
  331. package/lib/types/components/duet-modal/duet-modal.d.ts +3 -3
  332. package/lib/types/components/duet-notification-drawer/duet-notification-drawer.d.ts +3 -3
  333. package/lib/types/components/duet-number-input/duet-number-input.d.ts +21 -0
  334. package/lib/types/components/duet-paragraph/duet-paragraph.d.ts +9 -1
  335. package/lib/types/components/duet-progress/duet-progress.d.ts +64 -0
  336. package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +6 -0
  337. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +11 -0
  338. package/lib/types/components/duet-tray/duet-tray.d.ts +11 -0
  339. package/lib/types/components/duet-upload/duet-upload.d.ts +124 -31
  340. package/lib/types/components/duet-upload/errorcodes.utils.d.ts +1 -0
  341. package/lib/types/components/duet-upload/upload-editable-item-error.d.ts +7 -0
  342. package/lib/types/components/duet-upload/upload-editable-item-inprogres.d.ts +7 -0
  343. package/lib/types/components/duet-upload/upload-editable-item-success.d.ts +8 -0
  344. package/lib/types/components/duet-upload/{duet-upload-validators.d.ts → upload-validators.d.ts} +0 -0
  345. package/lib/types/components/duet-upload/xhr.helpers.d.ts +7 -1
  346. package/lib/types/components/duet-upload-aria-status/duet-upload-aria-status.d.ts +49 -0
  347. package/lib/types/components.d.ts +619 -87
  348. package/lib/types/utils/js-utils.d.ts +1 -0
  349. package/lib/types/utils/language-utils.d.ts +8 -3
  350. package/lib/types/utils/string-utils.d.ts +1 -0
  351. package/lib/types/utils/watch-options.d.ts +2 -0
  352. package/package.json +20 -15
  353. package/lib/cjs/duet-table.cjs.entry.js +0 -132
  354. package/lib/cjs/duet-upload.cjs.entry.js +0 -866
  355. package/lib/collection/components/duet-upload/duet-upload-file-list.js +0 -49
  356. package/lib/duet/p-0733c303.system.entry.js +0 -4
  357. package/lib/duet/p-095060cc.js +0 -4
  358. package/lib/duet/p-156864a1.system.entry.js +0 -4
  359. package/lib/duet/p-15c15c6a.js +0 -15
  360. package/lib/duet/p-1911dfe7.system.entry.js +0 -4
  361. package/lib/duet/p-2834a302.entry.js +0 -4
  362. package/lib/duet/p-28a3d38f.system.entry.js +0 -4
  363. package/lib/duet/p-2a1a9f9f.entry.js +0 -4
  364. package/lib/duet/p-2a4d7c5b.system.entry.js +0 -4
  365. package/lib/duet/p-4095dba5.entry.js +0 -4
  366. package/lib/duet/p-418b2ce7.system.js +0 -4
  367. package/lib/duet/p-4289b543.entry.js +0 -4
  368. package/lib/duet/p-43e39d98.system.js +0 -4
  369. package/lib/duet/p-46a3ae43.system.js +0 -4
  370. package/lib/duet/p-4a38cf9d.entry.js +0 -4
  371. package/lib/duet/p-4be8e814.entry.js +0 -4
  372. package/lib/duet/p-591b2137.entry.js +0 -4
  373. package/lib/duet/p-5c5bdb06.system.entry.js +0 -4
  374. package/lib/duet/p-5f70e318.entry.js +0 -4
  375. package/lib/duet/p-62c294d6.system.entry.js +0 -4
  376. package/lib/duet/p-6a356ab1.system.js +0 -4
  377. package/lib/duet/p-6c2729da.js +0 -4
  378. package/lib/duet/p-6f107847.system.entry.js +0 -4
  379. package/lib/duet/p-77a5fe4c.system.js +0 -4
  380. package/lib/duet/p-7809e78b.system.entry.js +0 -4
  381. package/lib/duet/p-7a36d76f.system.entry.js +0 -4
  382. package/lib/duet/p-7ee52f58.entry.js +0 -4
  383. package/lib/duet/p-884693f1.entry.js +0 -4
  384. package/lib/duet/p-8977b722.entry.js +0 -4
  385. package/lib/duet/p-89db3b94.entry.js +0 -4
  386. package/lib/duet/p-8cfce39e.system.entry.js +0 -4
  387. package/lib/duet/p-8ffe1461.system.entry.js +0 -4
  388. package/lib/duet/p-9381c2d4.entry.js +0 -4
  389. package/lib/duet/p-9a450c9a.entry.js +0 -4
  390. package/lib/duet/p-9a89ec39.js +0 -4
  391. package/lib/duet/p-9bbfe606.system.entry.js +0 -4
  392. package/lib/duet/p-a0a066cb.system.entry.js +0 -4
  393. package/lib/duet/p-a6096b05.system.entry.js +0 -4
  394. package/lib/duet/p-a89d5d7c.entry.js +0 -4
  395. package/lib/duet/p-b07055fd.system.entry.js +0 -4
  396. package/lib/duet/p-b4374f0e.entry.js +0 -4
  397. package/lib/duet/p-b456d684.system.entry.js +0 -4
  398. package/lib/duet/p-bd18c93f.js +0 -4
  399. package/lib/duet/p-bddb1c15.system.entry.js +0 -4
  400. package/lib/duet/p-c0b95b58.entry.js +0 -4
  401. package/lib/duet/p-c3688975.entry.js +0 -4
  402. package/lib/duet/p-c4d183e6.entry.js +0 -4
  403. package/lib/duet/p-c9303f9a.entry.js +0 -4
  404. package/lib/duet/p-cd4e8ccf.js +0 -4
  405. package/lib/duet/p-ceb75b35.system.entry.js +0 -4
  406. package/lib/duet/p-cf243bcb.system.entry.js +0 -4
  407. package/lib/duet/p-d37c8a05.system.js +0 -4
  408. package/lib/duet/p-d989af11.entry.js +0 -4
  409. package/lib/duet/p-e58ca7af.system.js +0 -16
  410. package/lib/duet/p-e6128d82.system.entry.js +0 -4
  411. package/lib/duet/p-e86cdc17.entry.js +0 -4
  412. package/lib/duet/p-eadb29c7.entry.js +0 -4
  413. package/lib/duet/p-f30b14d6.system.entry.js +0 -4
  414. package/lib/duet/p-f79f8da1.entry.js +0 -4
  415. package/lib/duet/p-fc397e03.system.entry.js +0 -4
  416. package/lib/esm/duet-table.entry.js +0 -128
  417. package/lib/esm/duet-upload.entry.js +0 -862
  418. package/lib/esm/watch-options-de55ea78.js +0 -35
  419. package/lib/esm-es5/duet-table.entry.js +0 -4
  420. package/lib/esm-es5/duet-upload.entry.js +0 -4
  421. package/lib/esm-es5/focus-utils-0b12f0df.js +0 -4
  422. package/lib/esm-es5/index-f70ddc7f.js +0 -4
  423. package/lib/esm-es5/language-utils-ab9c3afc.js +0 -4
  424. package/lib/esm-es5/shadow-css-31e2d504.js +0 -15
  425. package/lib/esm-es5/tokens.module-edb66c04.js +0 -4
  426. package/lib/esm-es5/watch-options-de55ea78.js +0 -4
  427. package/lib/types/components/duet-upload/duet-upload-file-list.d.ts +0 -9
@@ -1,14 +1,18 @@
1
1
  import { DuetColor, DuetMargin, DuetTheme } from "../../common-types";
2
2
  import { ThemeableComponent } from "../../utils/themeable-component";
3
3
  export declare type DuetParagraphSize = "small" | "medium";
4
+ export declare type DuetParagraphWeight = "semi-bold" | "bold" | undefined;
4
5
  export declare type DuetParagraphVariation = "default" | "intro";
6
+ /**
7
+ * @part duet-paragraph - piercing selector for styling the paragraph
8
+ */
5
9
  export declare class DuetParagraph implements ThemeableComponent {
6
10
  /**
7
11
  * Reference to host HTML element.
8
12
  */
9
13
  element: HTMLElement;
10
14
  /**
11
- * Theme of the card.
15
+ * Theme of the paragraph.
12
16
  */
13
17
  theme: DuetTheme;
14
18
  /**
@@ -19,6 +23,10 @@ export declare class DuetParagraph implements ThemeableComponent {
19
23
  * Controls the size of the paragraph.
20
24
  */
21
25
  size: DuetParagraphSize;
26
+ /**
27
+ * Controls the Font-Weight of the paragraph.
28
+ */
29
+ weight: DuetParagraphWeight;
22
30
  /**
23
31
  * Style variation of the paragraph.
24
32
  */
@@ -0,0 +1,64 @@
1
+ import { DuetTheme } from "../../common-types";
2
+ import { DuetLangObject } from "../../utils/language-utils";
3
+ import { ThemeableComponent } from "../../utils/themeable-component";
4
+ export declare type DuetUploadEvent = {
5
+ originalEvent?: Event;
6
+ data?: Record<string, any>;
7
+ component: "duet-progress";
8
+ scoped: true;
9
+ };
10
+ export declare class DuetProgress implements ThemeableComponent {
11
+ /**
12
+ * Own Properties
13
+ */
14
+ private progressId;
15
+ private progressLabelId;
16
+ /**
17
+ * Reference to host HTML element.
18
+ */
19
+ element: HTMLElement;
20
+ /**
21
+ * Indicates the id of a component that describes the upload component.
22
+ */
23
+ accessibleDescribedBy: string;
24
+ /**
25
+ * Indicates the aria-label of the component -
26
+ * this will get combined with an label+uploading when uploading,
27
+ * and label+upload complete when upload is complete
28
+ */
29
+ accessibleLabel: string;
30
+ /**
31
+ * Defaults for accessibleLabel
32
+ */
33
+ accessibleLabelUploadDefaults: DuetLangObject | string;
34
+ /**
35
+ * Adds accessible label for upload in progress and upload complete states
36
+ * @default {fi: ["lähetys valmis", "lähetys käynnissä"],sv: ["Uppladdningen är klar", "Uppladdning pågår"], en: ["completed", "in progress"]}
37
+ */
38
+ accessibleLabelUpload: string;
39
+ /**
40
+ * Progress of the bar, a value from 0-100
41
+ */
42
+ progress: number;
43
+ /**
44
+ * Caption (underneath label) that can be set as a way of adding extra information
45
+ */
46
+ caption: string;
47
+ /**
48
+ * Height of progressbar
49
+ */
50
+ height: string;
51
+ /**
52
+ * Theme of the input.
53
+ */
54
+ theme: DuetTheme;
55
+ /**
56
+ * Component lifecycle events.
57
+ */
58
+ componentWillLoad(): void;
59
+ /**
60
+ * render() function
61
+ * Always the last one in the class.
62
+ */
63
+ render(): any;
64
+ }
@@ -1,5 +1,6 @@
1
1
  import { EventEmitter } from "../../stencil-public-runtime";
2
2
  import { DuetLanguage, DuetMargin, DuetPadding, DuetTheme } from "../../common-types";
3
+ import { DuetLangObject } from "../../utils/language-utils";
3
4
  import { ThemeableComponent } from "../../utils/themeable-component";
4
5
  export declare type DuetTabGroupEvent = {
5
6
  component: "duet-tab-group";
@@ -37,6 +38,11 @@ export declare class DuetTabGroup implements ThemeableComponent {
37
38
  * @default "fi"
38
39
  */
39
40
  language: DuetLanguage;
41
+ /**
42
+ * Defaults for Label
43
+ * @default {fi: "Valitse", en: "Choose", sv: "Välja"}
44
+ */
45
+ labelDefaults: DuetLangObject | string;
40
46
  /**
41
47
  * Label for the select element which gets shown on mobile.
42
48
  * @default {fi: "Valitse", en: "Choose", sv: "Välja"}
@@ -1,4 +1,5 @@
1
1
  import { DuetLanguage, DuetTheme, DuetTooltipDirection } from "../../common-types";
2
+ import { DuetLangObject } from "../../utils/language-utils";
2
3
  import { ThemeableComponent } from "../../utils/themeable-component";
3
4
  export declare type DuetTooltipBreakpoint = "medium" | "large";
4
5
  export declare class DuetTooltip implements ThemeableComponent {
@@ -32,6 +33,11 @@ export declare class DuetTooltip implements ThemeableComponent {
32
33
  * @default "fi"
33
34
  */
34
35
  language: DuetLanguage;
36
+ /**
37
+ * Default language strings for the accessibleLabel
38
+ * @default {fi: "Näytä lisätietoja", en: "See more information", sv: "Se mer information"}
39
+ */
40
+ accessibleLabelDefault: DuetLangObject | string;
35
41
  /**
36
42
  * Adds accessible label for the info icon that is only shown for screen
37
43
  * readers. This property is always required to create an accessible interface!
@@ -44,6 +50,11 @@ export declare class DuetTooltip implements ThemeableComponent {
44
50
  * Used internally by input components to add more context to the tooltip.
45
51
  */
46
52
  accessibleInputLabel: string;
53
+ /**
54
+ * Default language strings for the accessibleCloseLabel
55
+ * @default {fi: "Sulje lisätiedot", en: "Close details", sv: "Stäng detaljer"}
56
+ */
57
+ accessibleCloseLabelDefault: DuetLangObject | string;
47
58
  /**
48
59
  * Adds accessible label for the close icon that is only shown for screen
49
60
  * readers. This property is always required to create an accessibly interface!
@@ -1,4 +1,5 @@
1
1
  import { DuetLanguage, DuetTheme } from "../../common-types";
2
+ import { DuetLangObject } from "../../utils/language-utils";
2
3
  import { ThemeableComponent } from "../../utils/themeable-component";
3
4
  /**
4
5
  * @slot unnamed default slot - The component’s primary content. All child nodes that do not have a slot attribute defined are inserted into this primary slot.
@@ -27,12 +28,22 @@ export declare class DuetTray implements ThemeableComponent {
27
28
  * @default "fi"
28
29
  */
29
30
  language: DuetLanguage;
31
+ /**
32
+ * Defaults for accessibleCloseLabel
33
+ * @default {fi: "Sulje", en: "Close", sv: "Stänga"}
34
+ */
35
+ accessibleCloseLabelDefaults: DuetLangObject | string;
30
36
  /**
31
37
  * Accessible label that is shown for screen reader users in the expandable
32
38
  * close toggle. Not visible for normal users.
33
39
  * @default {fi: "Sulje", en: "Close", sv: "Stänga"}
34
40
  */
35
41
  accessibleCloseLabel: string;
42
+ /**
43
+ * Defaults for accessibleOpenLabel
44
+ * @default {fi: "Avaa", en: "Open", sv: "Öppen"}
45
+ */
46
+ accessibleOpenLabelDefaults: DuetLangObject | string;
36
47
  /**
37
48
  * Accessible label that is shown for screen reader users in the expandable
38
49
  * open toggle. Not visible for normal users.
@@ -3,31 +3,40 @@ import { DuetMargin, DuetTheme } from "../../common-types";
3
3
  import { FormComponent } from "../../utils/form-components";
4
4
  import { DuetLangObject } from "../../utils/language-utils";
5
5
  import { ThemeableComponent } from "../../utils/themeable-component";
6
+ import { DuetEditableTableGroupNames } from "../duet-editable-table/duet-editable-table";
7
+ import { DuetEditableTableActions } from "../duet-editable-table/duet-editable-table-item";
8
+ import { StatusMessage } from "../duet-upload-aria-status/duet-upload-aria-status";
6
9
  import { DuetUploadErrorCode } from "./errorcodes.utils";
7
10
  import { DuetXhrRequest } from "./xhr.helpers";
8
11
  export declare type DuetUploadEvent = {
9
12
  originalEvent?: Event;
10
13
  data?: Record<string, any>;
14
+ metaData?: Record<string, any>;
11
15
  component: "duet-upload";
12
16
  };
13
17
  export declare type DuetFileListItem = {
14
18
  uid: string;
15
19
  item: File | null;
16
20
  size: number;
21
+ meta?: Record<string, any>;
22
+ uploaded: boolean;
17
23
  error: DuetUploadErrorCode;
18
24
  progress: number;
19
25
  deleted: boolean;
20
26
  valid: boolean;
21
27
  xhr: DuetXhrRequest | false;
22
28
  url: string | false;
29
+ group?: string;
30
+ html?: string;
31
+ status?: number;
23
32
  };
24
33
  export interface StringMap {
25
34
  [key: string]: any;
26
35
  }
27
36
  /**
28
37
  * @slot header - named slot - to place content after description / caption
29
- * @slot fileheader - named slot - to place content above filelist (only displayed when filelist contains items)
30
- * @slot filefooter - named slot - to place content below filelist (only displayed when filelist contains items)
38
+ * @slot fileheader - named slot - to place content above "filelist" (only displayed when "filelist" contains items)
39
+ * @slot filefooter - named slot - to place content below "filelist" (only displayed when "filelist" contains items)
31
40
  */
32
41
  export declare class DuetUpload implements ThemeableComponent, FormComponent {
33
42
  /**
@@ -36,10 +45,17 @@ export declare class DuetUpload implements ThemeableComponent, FormComponent {
36
45
  private buttonId;
37
46
  private labelId;
38
47
  private uploadId;
48
+ private editableTableId;
39
49
  private filesInProgress;
40
50
  private fileMaxReached;
41
51
  private bytesMaxReached;
52
+ private internalStatusMessageLabel;
53
+ private metaData;
42
54
  private nativeInput?;
55
+ /**
56
+ * Properties
57
+ */
58
+ private DefaultGroups;
43
59
  /**
44
60
  * Reference to host HTML element.
45
61
  */
@@ -70,26 +86,83 @@ export declare class DuetUpload implements ThemeableComponent, FormComponent {
70
86
  * it will be up to you to handle the upload and return progress information to the upload-component
71
87
  */
72
88
  external: boolean;
89
+ /**
90
+ * If set the upload component will not display an upload button, you will have to create one yourself
91
+ * and call the exposed method startUpload
92
+ */
93
+ hideButton: boolean;
94
+ /**
95
+ * Default actions added to the internally used duet-editable-table
96
+ */
97
+ actions: DuetEditableTableActions | string;
73
98
  /**
74
99
  * Endpoint URI that is capable of receiving the files
75
100
  */
76
101
  uri: string;
102
+ /**
103
+ * If enabled the editable-table will display links on successfully uploaded items,
104
+ * this requires the server can respond with link URIs in the correct format
105
+ * and that the files are accessible to the user
106
+ */
107
+ showLinks: boolean;
77
108
  /**
78
109
  * Caption (underneath label) that can be set as a way of adding extra information
79
110
  */
80
111
  caption: string;
81
112
  /**
82
- * Property to change descriptionDefaults defaults on the component.
83
- * normally you would handle these strings on an application level and override @label when needed
84
- */
85
- buttonLabelDefaults: DuetLangObject;
113
+ * Property to change the aria upload progress text read aloud by screenreaders
114
+ * @default {
115
+ * fi: {
116
+ * inProgress: "Lähetetään {filesUploaded} lähetettävästä {filesTotal} tiedostosta",
117
+ * inProgressWithErrors:
118
+ * "Lähetetään {filesInProgress} tiedostoa, lähetetty {filesUploaded} lähetettävästä {filesTotal} tiedostosta, {filesWithErrors} tiedostossa on virheitä",
119
+ * done: "Kaikki {filesTotal} tiedostoa lähetetty onnistuneesti",
120
+ * doneWithErrors:
121
+ * "Lähetys valmis, {filesUploaded} tiedostoa on lähetetty onnistuneesti, {filesWithErrors} tiedostossa oli virheitä",
122
+ * files: "tiedostot",
123
+ * file: "tiedosto",
124
+ * },
125
+ * sv: {
126
+ * inProgress: "Adding {filesUploaded} of {filesTotal}",
127
+ * inProgressWithErrors:
128
+ * "Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",
129
+ * done: "Alla {filesTotal} har lagts till",
130
+ * doneWithErrors: "Handling slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",
131
+ * files: "filer",
132
+ * file: "fil",
133
+ * },
134
+ * en: {
135
+ * inProgress: "Adding {filesUploaded} of {filesTotal}",
136
+ * inProgressWithErrors:
137
+ * "Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",
138
+ * done: "All {filesTotal} added successfully",
139
+ * doneWithErrors: "Action completed, {filesUploaded} has been added successfully, {filesWithErrors} had errors",
140
+ * files: "tiedostoa",
141
+ * file: "tiedosto",
142
+ * },
143
+ * }
144
+ */
145
+ statusLabelDefaults: DuetLangObject | string;
146
+ /**
147
+ * Strings used for the status aria-label
148
+ */
149
+ statusMessageLabel: StatusMessage | string;
150
+ /**
151
+ * Property to change button label defaults on the component.
152
+ * @default {
153
+ fi: "Lisää liite",
154
+ sv: "Lägg till en bilaga",
155
+ en: "Add an attachment",
156
+ }
157
+ */
158
+ buttonLabelDefaults: DuetLangObject | string;
86
159
  /**
87
160
  * Label of button
88
161
  * @default { fi: "Lisää liite", sv: "Lägg till en bilaga", en: "Add an attachment" }
89
162
  */
90
163
  buttonLabel: string;
91
164
  /**
92
- * accessible Label of button
165
+ * accessible aria-Label of button
93
166
  */
94
167
  accessibleButtonLabel: string;
95
168
  /**
@@ -116,20 +189,31 @@ export declare class DuetUpload implements ThemeableComponent, FormComponent {
116
189
  * browser from displaying its own validation errors.
117
190
  */
118
191
  required: boolean;
192
+ /**
193
+ * Array of group names that you want the editable table to use to display files
194
+ * @required
195
+ * @example [{ id: "success", label: {fi: "Onnistunut", en: "Success", sv: "Alt klart", }}]
196
+ */
197
+ groups: DuetEditableTableGroupNames | string;
198
+ /**
199
+ * Visually hides the groups labels in the editable table list used to display the list of files
200
+ */
201
+ hideGroups: boolean;
119
202
  /**
120
203
  * Map of string that contain list of uploaded files.
121
204
  */
122
205
  files: StringMap;
123
206
  /**
124
- * Property to read if filelist contains errors or not
207
+ * Property to read if the internally used editable-table contains errors or not
125
208
  */
126
209
  valid: boolean;
127
210
  watchValidHandler(newValue: boolean, oldValue: boolean): void;
128
211
  /**
129
212
  * Property to change labelDefaults defaults on the component.
130
213
  * normally you would handle these strings on an application level and override @label when needed
214
+ * @default { fi: "Lisää liite",sv: "Lägg till en bilaga",en: "Add attachments"}
131
215
  */
132
- labelDefaults: DuetLangObject;
216
+ labelDefaults: DuetLangObject | string;
133
217
  /**
134
218
  * Label for the input.
135
219
  * @default { fi: "Lisää liite",sv: "Lägg till en bilaga",en: "Add attachments"}
@@ -137,19 +221,31 @@ export declare class DuetUpload implements ThemeableComponent, FormComponent {
137
221
  label: string;
138
222
  /**
139
223
  * Property to change descriptionDefaults defaults on the component.
140
- * normally you would handle these strings on an application level and override @label when needed
224
+ * @default {
225
+ fi: "Voit liittää {filetypes}-muotoisia tiedostoja sekä yleisimpiä videotiedostoja. Voit lähettää {maxbytes} verran tiedostoja yhdellä kertaa, ja lisätä enintään {maxfiles} liitettä kerrallaan.",
226
+ sv: "Du kan bifoga filer i flg. formater {filetypes} samt de vanligaste videofilerna. Du kan ladda upp {maxbytes} filer åt gången och lägga till upp till {maxfiles} bilagor åt gången.",
227
+ en: "You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytes} of files at a time, and add up to {maxfiles} attachments at a time.",
228
+ }
141
229
  */
142
- descriptionDefaults: DuetLangObject;
230
+ descriptionDefaults: DuetLangObject | string;
143
231
  /**
144
232
  * Description for the upload component.
145
- * @default ...
233
+ * @default {
234
+ fi: "Voit liittää {filetypes}-muotoisia tiedostoja sekä yleisimpiä videotiedostoja. Voit lähettää {maxbytes} verran tiedostoja yhdellä kertaa, ja lisätä enintään {maxfiles} liitettä kerrallaan.",
235
+ sv: "Du kan bifoga filer i flg. formater {filetypes} samt de vanligaste videofilerna. Du kan ladda upp {maxbytes} filer åt gången och lägga till upp till {maxfiles} bilagor åt gången.",
236
+ en: "You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytes} of files at a time, and add up to {maxfiles} attachments at a time.",
237
+ }
146
238
  */
147
239
  description: string;
148
240
  /**
149
241
  * Defaults for the filelist's empty state.
150
- * @default { fi: "Lisää liite",sv: "Lägg till en bilaga",en: "Add attachments"}
242
+ * @default {
243
+ fi: "Ei vielä lisättyjä tiedostoja.",
244
+ sv: "Inga filer har lagts till ännu.",
245
+ en: "No files added yet.",
246
+ }
151
247
  */
152
- fileListEmptyDefaults: DuetLangObject;
248
+ fileListEmptyDefaults: DuetLangObject | string;
153
249
  /**
154
250
  * Label for the filelist's empty state.
155
251
  * @default { fi: "Ei vielä lisättyjä tiedostoja.",sv: "Inga filer har lagts till ännu.",en: "No files added yet."}
@@ -159,25 +255,10 @@ export declare class DuetUpload implements ThemeableComponent, FormComponent {
159
255
  * Display the input in error state along with an error message.
160
256
  */
161
257
  error: string;
162
- /**
163
- * Visually hide the label, but still show it to screen readers.
164
- */
165
- labelHidden: boolean;
166
258
  /**
167
259
  * Name of the upload component.
168
260
  */
169
261
  name: string;
170
- /**
171
- * if set, allows capture of media from user camera / microphone
172
- * The capture attribute value is a string that specifies which camera to use for capture
173
- * of image or video data, if the accept attribute indicates that the input should be of
174
- * one of those types. A value of user indicates that the user-facing camera and/or
175
- * microphone should be used. A value of environment specifies that the outward-facing
176
- * camera and/or microphone should be used. If this attribute is missing, the user agent
177
- * is free to decide on its own what to do. If the requested facing mode isn't available,
178
- * the user agent may fall back to its preferred default mode.
179
- */
180
- capture: string | boolean;
181
262
  /**
182
263
  * Use maxBytes to specify the maximum size in Bytes of a file that can be uploaded.
183
264
  */
@@ -257,6 +338,11 @@ export declare class DuetUpload implements ThemeableComponent, FormComponent {
257
338
  /**
258
339
  * Private functions
259
340
  */
341
+ private listenForActionEvents;
342
+ private verifyValidity;
343
+ private getGroupFromItemData;
344
+ private getItemHTMLFromItemData;
345
+ private convertToDuetEditableTableItems;
260
346
  private kick;
261
347
  private genHashName;
262
348
  private updateValueInMap;
@@ -264,7 +350,7 @@ export declare class DuetUpload implements ThemeableComponent, FormComponent {
264
350
  private trackProgress;
265
351
  private getFilesAsArray;
266
352
  private resetFormFields;
267
- private getI18nError;
353
+ private startUpload;
268
354
  /**
269
355
  * Eventlisteners for the XHR requests
270
356
  */
@@ -290,12 +376,15 @@ export declare class DuetUpload implements ThemeableComponent, FormComponent {
290
376
  private onProgress;
291
377
  private onFocus;
292
378
  private onDone;
293
- private startUpload;
294
379
  /**
295
380
  * Sets focus on the specified `duet-input`. Use this method instead of the global
296
381
  * `input.focus()`.
297
382
  */
298
383
  setFocus(options?: FocusOptions): Promise<void>;
384
+ /**
385
+ * Method for invoking the upload sequence
386
+ */
387
+ upload(metaData?: any | undefined): Promise<void>;
299
388
  /**
300
389
  * Get list of files, divided in errors and valid sections
301
390
  */
@@ -303,6 +392,10 @@ export declare class DuetUpload implements ThemeableComponent, FormComponent {
303
392
  valid: any[];
304
393
  invalid: any[];
305
394
  }>;
395
+ /**
396
+ * Convenience method for updating the value of a key:value inside an item in the files attribute
397
+ */
398
+ updateValue(item: string, key: string, value: any): Promise<void>;
306
399
  /**
307
400
  * render() function
308
401
  * Always the last one in the class.
@@ -5,3 +5,4 @@ export declare type DuetUploadErrorCode = {
5
5
  message: DuetLangObject | undefined;
6
6
  };
7
7
  export declare const getError: (code: string) => DuetUploadErrorCode;
8
+ export declare const getI18nError: (errorCode: string) => any;
@@ -0,0 +1,7 @@
1
+ import { FunctionalComponent } from "../../stencil-public-runtime";
2
+ import { DuetFileListItem } from "./duet-upload";
3
+ interface ErrorProps {
4
+ data: DuetFileListItem;
5
+ }
6
+ export declare const ErrorItem: FunctionalComponent<ErrorProps>;
7
+ export {};
@@ -0,0 +1,7 @@
1
+ import { FunctionalComponent } from "../../stencil-public-runtime";
2
+ interface ProgressProps {
3
+ progress: any;
4
+ name: string;
5
+ }
6
+ export declare const ProgressItem: FunctionalComponent<ProgressProps>;
7
+ export {};
@@ -0,0 +1,8 @@
1
+ import { FunctionalComponent } from "../../stencil-public-runtime";
2
+ import { DuetFileListItem } from "./duet-upload";
3
+ interface SuccessProps {
4
+ data: DuetFileListItem;
5
+ showLinks: boolean;
6
+ }
7
+ export declare const SuccessItem: FunctionalComponent<SuccessProps>;
8
+ export {};
@@ -9,4 +9,10 @@ export declare type failureHandler = (xhr: XMLHttpRequest, name: string, status:
9
9
  export declare type successHandler = (xhr: XMLHttpRequest, name: string, status: XMLHttpRequest["status"]) => void;
10
10
  export declare type progressTracker = (name: string) => void;
11
11
  export declare type DuetXhrRequest = (payload: Record<string, any>, options: Partial<DuetXhrRequestOptions>, onFailure: failureHandler, onSuccess: successHandler, onProgress: progressTracker) => XMLHttpRequest;
12
- export declare const makeXhrRequest: (payload: any, options: any, onFailure: any, onSuccess: any, onProgress: any) => DuetXhrRequest;
12
+ export declare const makeXhrRequest: ({ payload, options, onFailure, onSuccess, onProgress }: {
13
+ payload: any;
14
+ options: any;
15
+ onFailure: any;
16
+ onSuccess: any;
17
+ onProgress: any;
18
+ }) => DuetXhrRequest;
@@ -0,0 +1,49 @@
1
+ export declare type StatusMessage = {
2
+ inProgress: string;
3
+ inProgressWithErrors: string;
4
+ done: string;
5
+ doneWithErrors: string;
6
+ file: string;
7
+ files: string;
8
+ };
9
+ export declare class DuetUploadAriaStatus {
10
+ /**
11
+ * State() variables
12
+ */
13
+ statusMessage: string;
14
+ /**
15
+ * Status labels used in the component
16
+ */
17
+ statusMessageLabel: StatusMessage;
18
+ /**
19
+ * Adds accessible label that is read aloud
20
+ */
21
+ accessibleAriaLive: "off" | "polite" | "assertive";
22
+ /**
23
+ * valid file amount
24
+ */
25
+ valid: number;
26
+ /**
27
+ * total files
28
+ */
29
+ total: number;
30
+ /**
31
+ * invalid file amount
32
+ */
33
+ invalid: number;
34
+ /**
35
+ * valid file amount
36
+ */
37
+ inprogress: number;
38
+ watchHandler(newValue: boolean, oldValue: boolean): void;
39
+ /**
40
+ * Private functions
41
+ */
42
+ private replacePlaceHolders;
43
+ private getStatusMessage;
44
+ /**
45
+ * render() function
46
+ * Always the last one in the class.
47
+ */
48
+ render(): any;
49
+ }