@duetds/components 4.32.0 → 4.34.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 (388) hide show
  1. package/hydrate/index.js +2367 -244
  2. package/lib/cjs/{dom-a28e5c5f.js → dom-52a4f07a.js} +1 -1
  3. package/lib/cjs/duet-alert.cjs.entry.js +2 -2
  4. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-button_2.cjs.entry.js +4 -4
  6. package/lib/cjs/duet-caption_4.cjs.entry.js +18 -11
  7. package/lib/cjs/duet-card.cjs.entry.js +3 -3
  8. package/lib/cjs/duet-checkbox.cjs.entry.js +2 -2
  9. package/lib/cjs/duet-choice_2.cjs.entry.js +39 -18
  10. package/lib/cjs/duet-collapsible.cjs.entry.js +5 -450
  11. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  12. package/lib/cjs/duet-date-picker.cjs.entry.js +7 -7
  13. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-editable-table-button.cjs.entry.js +96 -0
  15. package/lib/cjs/duet-editable-table_4.cjs.entry.js +1520 -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 +3 -3
  19. package/lib/cjs/duet-grid_2.cjs.entry.js +69 -4
  20. package/lib/cjs/duet-header_2.cjs.entry.js +216 -49
  21. package/lib/cjs/duet-hero.cjs.entry.js +2 -2
  22. package/lib/cjs/duet-icon.cjs.entry.js +8 -6
  23. package/lib/cjs/duet-input_2.cjs.entry.js +8 -9
  24. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-list_2.cjs.entry.js +3 -3
  26. package/lib/cjs/duet-modal.cjs.entry.js +3 -3
  27. package/lib/cjs/duet-notification_2.cjs.entry.js +3 -3
  28. package/lib/cjs/duet-number-input.cjs.entry.js +2 -2
  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 +5 -5
  33. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-tab_2.cjs.entry.js +3 -3
  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 +2 -2
  38. package/lib/cjs/duet-tray.cjs.entry.js +3 -3
  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-55b5a616.js → focus-utils-480ea4e0.js} +1 -1
  43. package/lib/cjs/form-search-d61b2843.js +8 -0
  44. package/lib/cjs/{index-03ed1f55.js → index-6966a494.js} +5 -2
  45. package/lib/cjs/{language-utils-48b8860b.js → language-utils-aa282901.js} +6 -2
  46. package/lib/cjs/loader.cjs.js +3 -3
  47. package/lib/cjs/{shadow-css-6560c90c.js → shadow-css-e1b62a99.js} +9 -10
  48. package/lib/cjs/token-utils-05bd23b4.js +77 -0
  49. package/lib/cjs/tokens-8596cece.js +459 -0
  50. package/lib/cjs/{tokens.module-53b3bd92.js → tokens.module-6b2df1c2.js} +2 -0
  51. package/lib/cjs/{watch-options-3877c082.js → watch-options-d88afac0.js} +29 -6
  52. package/lib/collection/collection-manifest.json +17 -3
  53. package/lib/collection/components/duet-checkbox/duet-checkbox.css +1 -1
  54. package/lib/collection/components/duet-choice/duet-choice.js +94 -21
  55. package/lib/collection/components/duet-collapsible/duet-collapsible.js +4 -1
  56. package/lib/collection/components/duet-date-picker/duet-date-picker.js +9 -9
  57. package/lib/collection/components/duet-editable-table/duet-editable-table-button.css +32 -0
  58. package/lib/collection/components/duet-editable-table/duet-editable-table-button.js +225 -0
  59. package/lib/collection/components/duet-editable-table/duet-editable-table-item.css +36 -0
  60. package/lib/collection/components/duet-editable-table/duet-editable-table-item.js +225 -0
  61. package/lib/collection/components/duet-editable-table/duet-editable-table-tabledata.js +13 -0
  62. package/lib/collection/components/duet-editable-table/duet-editable-table.css +16 -0
  63. package/lib/collection/components/duet-editable-table/duet-editable-table.js +404 -0
  64. package/lib/collection/components/duet-footer/duet-footer.css +1 -0
  65. package/lib/collection/components/duet-grid/duet-grid.js +74 -6
  66. package/lib/collection/components/duet-header/duet-header-dropdown.js +27 -0
  67. package/lib/collection/components/duet-header/duet-header-hamburger.js +9 -0
  68. package/lib/collection/components/duet-header/duet-header-icon.js +9 -0
  69. package/lib/collection/components/duet-header/duet-header.css +272 -39
  70. package/lib/collection/components/duet-header/duet-header.js +310 -122
  71. package/lib/collection/components/duet-heading/duet-heading.css +3 -0
  72. package/lib/collection/components/duet-heading/duet-heading.js +7 -6
  73. package/lib/collection/components/duet-icon/duet-icon.js +5 -3
  74. package/lib/collection/components/duet-input/duet-input.css +15 -0
  75. package/lib/collection/components/duet-input/duet-input.js +4 -4
  76. package/lib/collection/components/duet-link/duet-link.js +4 -1
  77. package/lib/collection/components/duet-list-item/duet-list-item.css +1 -1
  78. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.css +4 -3
  79. package/lib/collection/components/duet-paragraph/duet-paragraph.css +6 -0
  80. package/lib/collection/components/duet-paragraph/duet-paragraph.js +34 -3
  81. package/lib/collection/components/duet-progress/duet-progress.css +103 -0
  82. package/lib/collection/components/duet-progress/duet-progress.js +240 -0
  83. package/lib/collection/components/duet-select/duet-select.css +15 -0
  84. package/lib/collection/components/duet-select/duet-select.js +3 -3
  85. package/lib/collection/components/duet-tab-group/duet-tab-group.css +2 -2
  86. package/lib/collection/components/duet-table/duet-table.css +42 -17
  87. package/lib/collection/components/duet-table/duet-table.js +2 -2
  88. package/lib/collection/components/duet-textarea/duet-textarea.css +19 -0
  89. package/lib/collection/components/duet-textarea/duet-textarea.js +5 -4
  90. package/lib/collection/components/duet-upload/duet-upload.css +64 -0
  91. package/lib/collection/components/duet-upload/duet-upload.js +1885 -0
  92. package/lib/collection/components/duet-upload/errorcodes.utils.js +32 -0
  93. package/lib/collection/components/duet-upload/mock.helpers.js +91 -0
  94. package/lib/collection/components/duet-upload/upload-editable-item-error.js +16 -0
  95. package/lib/collection/components/duet-upload/upload-editable-item-inprogres.js +8 -0
  96. package/lib/collection/components/duet-upload/upload-editable-item-success.js +30 -0
  97. package/lib/collection/components/duet-upload/upload-validators.js +93 -0
  98. package/lib/collection/components/duet-upload/upload.helpers.js +13 -0
  99. package/lib/collection/components/duet-upload/xhr.helpers.js +30 -0
  100. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +217 -0
  101. package/lib/collection/utils/js-utils.js +12 -0
  102. package/lib/collection/utils/language-utils.js +6 -3
  103. package/lib/collection/utils/template-utils.js +33 -0
  104. package/lib/collection/utils/token-utils.js +67 -14
  105. package/lib/collection/utils/watch-options.js +35 -6
  106. package/lib/custom-elements-bundle/index.d.ts +36 -0
  107. package/lib/custom-elements-bundle/index.js +2309 -334
  108. package/lib/duet/duet.esm.js +1 -1
  109. package/lib/duet/duet.js +1 -1
  110. package/lib/duet/{p-92103298.system.entry.js → p-07f43530.system.entry.js} +1 -1
  111. package/lib/duet/{p-cc0bd28f.system.entry.js → p-093bca2f.system.entry.js} +1 -1
  112. package/lib/duet/{p-a678da8c.entry.js → p-0aaf86ba.entry.js} +1 -1
  113. package/lib/duet/{p-94a5fd74.system.entry.js → p-0b0a05ed.system.entry.js} +1 -1
  114. package/lib/duet/{p-00eac879.system.entry.js → p-0be1c660.system.entry.js} +1 -1
  115. package/lib/duet/{p-3b3bac3f.system.entry.js → p-0d66e11b.system.entry.js} +1 -1
  116. package/lib/duet/{p-7331f2fe.system.entry.js → p-0de430e1.system.entry.js} +1 -1
  117. package/lib/duet/{p-3618aaee.entry.js → p-0ef8d711.entry.js} +1 -1
  118. package/lib/duet/p-12721178.js +4 -0
  119. package/lib/duet/{p-c19094dd.entry.js → p-12a08d77.entry.js} +1 -1
  120. package/lib/duet/p-15c9a17c.entry.js +4 -0
  121. package/lib/duet/{p-9cdd361e.js → p-183726f7.js} +0 -0
  122. package/lib/duet/{p-b75c5f13.entry.js → p-18c3eb54.entry.js} +1 -1
  123. package/lib/duet/{p-9542c540.entry.js → p-1b591fa4.entry.js} +1 -1
  124. package/lib/duet/{p-f364ce8b.system.entry.js → p-1bd0f4eb.system.entry.js} +1 -1
  125. package/lib/duet/p-2764f081.js +4 -0
  126. package/lib/duet/p-27bd8744.system.entry.js +4 -0
  127. package/lib/duet/p-289a31cb.entry.js +4 -0
  128. package/lib/duet/{p-8c511832.system.entry.js → p-29b352db.system.entry.js} +1 -1
  129. package/lib/duet/p-2a00f231.system.entry.js +4 -0
  130. package/lib/duet/p-3215e07e.system.entry.js +4 -0
  131. package/lib/duet/{p-ed479d09.system.entry.js → p-338b9955.system.entry.js} +1 -1
  132. package/lib/duet/{p-8740fa38.entry.js → p-33de1029.entry.js} +1 -1
  133. package/lib/duet/p-34ebff3b.entry.js +4 -0
  134. package/lib/duet/{p-b6a0caf8.system.entry.js → p-379d416f.system.entry.js} +1 -1
  135. package/lib/duet/{p-0b9b6393.entry.js → p-39a12eb9.entry.js} +1 -1
  136. package/lib/duet/{p-8652a7ab.system.entry.js → p-39fd8b43.system.entry.js} +1 -1
  137. package/lib/duet/{p-ffc2ffff.entry.js → p-3bafdf7c.entry.js} +1 -1
  138. package/lib/duet/{p-4fcbcecd.system.entry.js → p-3c1ce7e2.system.entry.js} +1 -1
  139. package/lib/duet/p-3da6b84e.entry.js +4 -0
  140. package/lib/duet/p-43c49a72.entry.js +4 -0
  141. package/lib/duet/{p-9f0f5674.entry.js → p-44f4b8ff.entry.js} +1 -1
  142. package/lib/duet/{p-b0bbbdba.system.entry.js → p-4c5ac0c2.system.entry.js} +1 -1
  143. package/lib/duet/p-50b4fb2c.js +4 -0
  144. package/lib/duet/p-51f7ae72.entry.js +4 -0
  145. package/lib/duet/p-52621211.js +15 -0
  146. package/lib/duet/{p-2a3411b5.system.entry.js → p-5443c9ca.system.entry.js} +1 -1
  147. package/lib/duet/{p-abd3bfb4.system.entry.js → p-5610db77.system.entry.js} +1 -1
  148. package/lib/duet/{p-2c0dd9ba.system.entry.js → p-5b409bfb.system.entry.js} +1 -1
  149. package/lib/duet/{p-807b2087.entry.js → p-6353407f.entry.js} +1 -1
  150. package/lib/duet/{p-a89e88a3.js → p-64bf94ee.js} +1 -1
  151. package/lib/duet/{p-2c679963.entry.js → p-64e915ae.entry.js} +1 -1
  152. package/lib/duet/{p-432ba72e.system.entry.js → p-6c237f21.system.entry.js} +1 -1
  153. package/lib/duet/p-6c8521f6.system.entry.js +4 -0
  154. package/lib/duet/{p-a962c8c1.system.js → p-6e4fd6ba.system.js} +0 -0
  155. package/lib/duet/p-70fafc98.system.js +4 -0
  156. package/lib/duet/{p-8002a095.entry.js → p-7347f4ac.entry.js} +1 -1
  157. package/lib/duet/{p-d13874cb.entry.js → p-781bd6db.entry.js} +1 -1
  158. package/lib/duet/{p-5a817929.system.entry.js → p-78e8a689.system.entry.js} +1 -1
  159. package/lib/duet/p-8143f3de.js +4 -0
  160. package/lib/duet/p-81e855e4.system.js +4 -0
  161. package/lib/duet/{p-84ece735.entry.js → p-8224d768.entry.js} +1 -1
  162. package/lib/duet/{p-43dde575.system.entry.js → p-848bb1c2.system.entry.js} +1 -1
  163. package/lib/duet/{p-1391ec53.entry.js → p-880a4afe.entry.js} +1 -1
  164. package/lib/duet/p-8c375429.entry.js +4 -0
  165. package/lib/duet/p-8cb71174.system.entry.js +4 -0
  166. package/lib/duet/p-8d7b68c4.entry.js +4 -0
  167. package/lib/duet/p-8f477bd6.system.js +4 -0
  168. package/lib/duet/p-969c6395.system.entry.js +4 -0
  169. package/lib/duet/p-9c234242.system.entry.js +4 -0
  170. package/lib/duet/{p-f13a0883.entry.js → p-9d7b9084.entry.js} +1 -1
  171. package/lib/duet/p-a0544097.system.entry.js +4 -0
  172. package/lib/duet/p-a16a58c1.system.js +4 -0
  173. package/lib/duet/{p-fb898d94.system.entry.js → p-a4a16d03.system.entry.js} +1 -1
  174. package/lib/duet/p-a4e3b44b.entry.js +4 -0
  175. package/lib/duet/{p-977f2826.entry.js → p-a91673cf.entry.js} +1 -1
  176. package/lib/duet/p-a926944f.entry.js +4 -0
  177. package/lib/duet/{p-2826f987.js → p-ad07f399.js} +1 -1
  178. package/lib/duet/p-b08bce4c.entry.js +4 -0
  179. package/lib/duet/{p-ec3eef3a.entry.js → p-b48a5f80.entry.js} +1 -1
  180. package/lib/duet/p-bb3e3777.entry.js +4 -0
  181. package/lib/duet/{p-fbb7d194.entry.js → p-bbe33d02.entry.js} +1 -1
  182. package/lib/duet/p-be8e1c48.system.entry.js +4 -0
  183. package/lib/duet/{p-68d09837.system.entry.js → p-c56c73ee.system.entry.js} +1 -1
  184. package/lib/duet/p-c63bdc6a.system.entry.js +4 -0
  185. package/lib/duet/{p-c723d36e.system.js → p-c83685a6.system.js} +1 -1
  186. package/lib/duet/p-c8dfc958.system.entry.js +4 -0
  187. package/lib/duet/{p-6cf41bfe.system.entry.js → p-c92f601f.system.entry.js} +1 -1
  188. package/lib/duet/p-d004da5f.js +4 -0
  189. package/lib/duet/p-d49416f8.entry.js +4 -0
  190. package/lib/duet/{p-7a868085.entry.js → p-d581d82d.entry.js} +1 -1
  191. package/lib/duet/p-d6bb4301.entry.js +4 -0
  192. package/lib/duet/p-d9aadc15.entry.js +4 -0
  193. package/lib/duet/p-ddb6344c.system.js +4 -0
  194. package/lib/duet/{p-3040debf.entry.js → p-dde63979.entry.js} +1 -1
  195. package/lib/duet/p-e15ccddc.system.entry.js +4 -0
  196. package/lib/duet/{p-0f2a478e.entry.js → p-e1be37a6.entry.js} +1 -1
  197. package/lib/duet/p-e5c1751e.system.js +16 -0
  198. package/lib/duet/{p-b9683731.entry.js → p-e9209e9f.entry.js} +1 -1
  199. package/lib/duet/p-eb55ccd2.system.js +4 -0
  200. package/lib/duet/{p-b374d7c2.system.js → p-ee1ba0d4.system.js} +1 -1
  201. package/lib/duet/{p-57cb58d4.system.entry.js → p-f4a29a8a.system.entry.js} +2 -2
  202. package/lib/duet/p-f8a0bd32.system.entry.js +4 -0
  203. package/lib/duet/p-f9599dd9.system.entry.js +4 -0
  204. package/lib/duet/p-fa99eaa4.system.js +4 -0
  205. package/lib/duet/p-fd7018e9.js +4 -0
  206. package/lib/duet/{p-19c28d99.system.entry.js → p-fe0cca67.system.entry.js} +1 -1
  207. package/lib/esm/{dom-8516b24e.js → dom-5d060ace.js} +1 -1
  208. package/lib/esm/duet-alert.entry.js +2 -2
  209. package/lib/esm/duet-badge.entry.js +1 -1
  210. package/lib/esm/duet-button_2.entry.js +4 -4
  211. package/lib/esm/duet-caption_4.entry.js +18 -11
  212. package/lib/esm/duet-card.entry.js +3 -3
  213. package/lib/esm/duet-checkbox.entry.js +2 -2
  214. package/lib/esm/duet-choice_2.entry.js +40 -19
  215. package/lib/esm/duet-collapsible.entry.js +4 -449
  216. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  217. package/lib/esm/duet-date-picker.entry.js +7 -7
  218. package/lib/esm/duet-divider_2.entry.js +1 -1
  219. package/lib/esm/duet-editable-table-button.entry.js +92 -0
  220. package/lib/esm/duet-editable-table_4.entry.js +1513 -0
  221. package/lib/esm/duet-empty-state.entry.js +1 -1
  222. package/lib/esm/duet-fieldset.entry.js +1 -1
  223. package/lib/esm/duet-footer.entry.js +3 -3
  224. package/lib/esm/duet-grid_2.entry.js +69 -4
  225. package/lib/esm/duet-header_2.entry.js +216 -49
  226. package/lib/esm/duet-hero.entry.js +2 -2
  227. package/lib/esm/duet-icon.entry.js +8 -6
  228. package/lib/esm/duet-input_2.entry.js +7 -8
  229. package/lib/esm/duet-layout.entry.js +1 -1
  230. package/lib/esm/duet-list_2.entry.js +3 -3
  231. package/lib/esm/duet-modal.entry.js +3 -3
  232. package/lib/esm/duet-notification_2.entry.js +3 -3
  233. package/lib/esm/duet-number-input.entry.js +2 -2
  234. package/lib/esm/duet-progress.entry.js +71 -0
  235. package/lib/esm/duet-radio_2.entry.js +2 -2
  236. package/lib/esm/duet-range-slider.entry.js +2 -2
  237. package/lib/esm/duet-select.entry.js +5 -5
  238. package/lib/esm/duet-step_2.entry.js +1 -1
  239. package/lib/esm/duet-tab_2.entry.js +3 -3
  240. package/lib/esm/duet-textarea.entry.js +5 -5
  241. package/lib/esm/duet-toggle.entry.js +1 -1
  242. package/lib/esm/duet-tooltip.entry.js +2 -2
  243. package/lib/esm/duet-tray.entry.js +3 -3
  244. package/lib/esm/duet-upload-aria-status.entry.js +96 -0
  245. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  246. package/lib/esm/duet.js +4 -4
  247. package/lib/esm/{focus-utils-6a282066.js → focus-utils-48837cfa.js} +1 -1
  248. package/lib/esm/form-search-ea8e19ae.js +6 -0
  249. package/lib/esm/{index-3a265449.js → index-80be4170.js} +5 -2
  250. package/lib/esm/{language-utils-d5c38f65.js → language-utils-344d894c.js} +6 -3
  251. package/lib/esm/loader.js +3 -3
  252. package/lib/esm/{shadow-css-9178c864.js → shadow-css-13d024f4.js} +9 -10
  253. package/lib/esm/token-utils-75f78ca4.js +75 -0
  254. package/lib/esm/tokens-e110dc89.js +453 -0
  255. package/lib/esm/{tokens.module-edb66c04.js → tokens.module-49cbf963.js} +3 -1
  256. package/lib/esm/watch-options-dd55bce8.js +57 -0
  257. package/lib/esm-es5/{dom-8516b24e.js → dom-5d060ace.js} +0 -0
  258. package/lib/esm-es5/duet-alert.entry.js +1 -1
  259. package/lib/esm-es5/duet-badge.entry.js +1 -1
  260. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  261. package/lib/esm-es5/duet-caption_4.entry.js +2 -2
  262. package/lib/esm-es5/duet-card.entry.js +1 -1
  263. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  264. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  265. package/lib/esm-es5/duet-collapsible.entry.js +2 -2
  266. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  267. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  268. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  269. package/lib/esm-es5/duet-editable-table-button.entry.js +4 -0
  270. package/lib/esm-es5/duet-editable-table_4.entry.js +4 -0
  271. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  272. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  273. package/lib/esm-es5/duet-footer.entry.js +1 -1
  274. package/lib/esm-es5/duet-grid_2.entry.js +2 -2
  275. package/lib/esm-es5/duet-header_2.entry.js +2 -2
  276. package/lib/esm-es5/duet-hero.entry.js +1 -1
  277. package/lib/esm-es5/duet-icon.entry.js +1 -1
  278. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  279. package/lib/esm-es5/duet-layout.entry.js +1 -1
  280. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  281. package/lib/esm-es5/duet-modal.entry.js +1 -1
  282. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  283. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  284. package/lib/esm-es5/duet-progress.entry.js +4 -0
  285. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  286. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  287. package/lib/esm-es5/duet-select.entry.js +1 -1
  288. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  289. package/lib/esm-es5/duet-tab_2.entry.js +2 -2
  290. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  291. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  292. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  293. package/lib/esm-es5/duet-tray.entry.js +1 -1
  294. package/lib/esm-es5/duet-upload-aria-status.entry.js +4 -0
  295. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  296. package/lib/esm-es5/duet.js +1 -1
  297. package/lib/esm-es5/focus-utils-48837cfa.js +4 -0
  298. package/lib/esm-es5/form-search-ea8e19ae.js +4 -0
  299. package/lib/esm-es5/index-80be4170.js +4 -0
  300. package/lib/esm-es5/{language-utils-d5c38f65.js → language-utils-344d894c.js} +1 -1
  301. package/lib/esm-es5/loader.js +1 -1
  302. package/lib/esm-es5/shadow-css-13d024f4.js +15 -0
  303. package/lib/esm-es5/token-utils-75f78ca4.js +4 -0
  304. package/lib/esm-es5/tokens-e110dc89.js +4 -0
  305. package/lib/esm-es5/tokens.module-49cbf963.js +4 -0
  306. package/lib/esm-es5/watch-options-dd55bce8.js +4 -0
  307. package/lib/types/common-types.d.ts +0 -1
  308. package/lib/types/components/duet-choice/duet-choice.d.ts +20 -1
  309. package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +3 -0
  310. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +5 -5
  311. package/lib/types/components/duet-editable-table/duet-editable-table-button.d.ts +73 -0
  312. package/lib/types/components/duet-editable-table/duet-editable-table-item.d.ts +76 -0
  313. package/lib/types/components/duet-editable-table/duet-editable-table-tabledata.d.ts +8 -0
  314. package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +94 -0
  315. package/lib/types/components/duet-grid/duet-grid.d.ts +17 -2
  316. package/lib/types/components/duet-header/duet-header-dropdown.d.ts +16 -0
  317. package/lib/types/components/duet-header/duet-header-hamburger.d.ts +2 -0
  318. package/lib/types/components/duet-header/duet-header-icon.d.ts +8 -0
  319. package/lib/types/components/duet-header/duet-header.d.ts +41 -4
  320. package/lib/types/components/duet-heading/duet-heading.d.ts +2 -2
  321. package/lib/types/components/duet-link/duet-link.d.ts +3 -0
  322. package/lib/types/components/duet-paragraph/duet-paragraph.d.ts +9 -1
  323. package/lib/types/components/duet-progress/duet-progress.d.ts +64 -0
  324. package/lib/types/components/duet-table/duet-table.d.ts +1 -1
  325. package/lib/types/components/duet-upload/duet-upload.d.ts +408 -0
  326. package/lib/types/components/duet-upload/errorcodes.utils.d.ts +8 -0
  327. package/lib/types/components/duet-upload/mock.helpers.d.ts +2 -0
  328. package/lib/types/components/duet-upload/upload-editable-item-error.d.ts +7 -0
  329. package/lib/types/components/duet-upload/upload-editable-item-inprogres.d.ts +7 -0
  330. package/lib/types/components/duet-upload/upload-editable-item-success.d.ts +8 -0
  331. package/lib/types/components/duet-upload/upload-validators.d.ts +12 -0
  332. package/lib/types/components/duet-upload/upload.helpers.d.ts +1 -0
  333. package/lib/types/components/duet-upload/xhr.helpers.d.ts +18 -0
  334. package/lib/types/components/duet-upload-aria-status/duet-upload-aria-status.d.ts +49 -0
  335. package/lib/types/components.d.ts +835 -29
  336. package/lib/types/stencil-public-runtime.d.ts +6 -4
  337. package/lib/types/utils/js-utils.d.ts +1 -0
  338. package/lib/types/utils/language-utils.d.ts +5 -1
  339. package/lib/types/utils/template-utils.d.ts +13 -0
  340. package/lib/types/utils/token-utils.d.ts +8 -2
  341. package/lib/types/utils/watch-options.d.ts +2 -0
  342. package/package.json +13 -13
  343. package/lib/cjs/duet-table.cjs.entry.js +0 -132
  344. package/lib/cjs/token-utils-13e5d13e.js +0 -30
  345. package/lib/duet/p-0058512b.js +0 -4
  346. package/lib/duet/p-08729381.entry.js +0 -4
  347. package/lib/duet/p-0b00e8d6.system.js +0 -16
  348. package/lib/duet/p-15922601.system.js +0 -4
  349. package/lib/duet/p-194e25ce.system.entry.js +0 -4
  350. package/lib/duet/p-1d87ea02.system.entry.js +0 -4
  351. package/lib/duet/p-2d1e2b23.system.entry.js +0 -4
  352. package/lib/duet/p-322d1c38.js +0 -4
  353. package/lib/duet/p-40d68321.entry.js +0 -4
  354. package/lib/duet/p-418b2ce7.system.js +0 -4
  355. package/lib/duet/p-43e39d98.system.js +0 -4
  356. package/lib/duet/p-4603830b.entry.js +0 -4
  357. package/lib/duet/p-52d7fbec.entry.js +0 -4
  358. package/lib/duet/p-60478325.system.entry.js +0 -4
  359. package/lib/duet/p-64ed7add.entry.js +0 -4
  360. package/lib/duet/p-6a356ab1.system.js +0 -4
  361. package/lib/duet/p-72fd384a.entry.js +0 -4
  362. package/lib/duet/p-753b406c.entry.js +0 -4
  363. package/lib/duet/p-76c00d0c.entry.js +0 -4
  364. package/lib/duet/p-85fe1132.js +0 -4
  365. package/lib/duet/p-8c8e82aa.system.js +0 -4
  366. package/lib/duet/p-9a89ec39.js +0 -4
  367. package/lib/duet/p-a11df1b6.js +0 -15
  368. package/lib/duet/p-a1eccee1.system.entry.js +0 -4
  369. package/lib/duet/p-ade33230.entry.js +0 -4
  370. package/lib/duet/p-b04d738f.system.entry.js +0 -4
  371. package/lib/duet/p-cb827bb7.entry.js +0 -4
  372. package/lib/duet/p-d85fba2c.system.entry.js +0 -4
  373. package/lib/duet/p-dfa90f8a.system.entry.js +0 -4
  374. package/lib/duet/p-e6b9bd1d.entry.js +0 -4
  375. package/lib/duet/p-ee64d6be.system.entry.js +0 -4
  376. package/lib/duet/p-f113671b.system.entry.js +0 -4
  377. package/lib/duet/p-f2f04396.entry.js +0 -4
  378. package/lib/duet/p-fc6624fe.system.entry.js +0 -4
  379. package/lib/esm/duet-table.entry.js +0 -128
  380. package/lib/esm/token-utils-5a35377f.js +0 -28
  381. package/lib/esm/watch-options-de55ea78.js +0 -35
  382. package/lib/esm-es5/duet-table.entry.js +0 -4
  383. package/lib/esm-es5/focus-utils-6a282066.js +0 -4
  384. package/lib/esm-es5/index-3a265449.js +0 -4
  385. package/lib/esm-es5/shadow-css-9178c864.js +0 -15
  386. package/lib/esm-es5/token-utils-5a35377f.js +0 -4
  387. package/lib/esm-es5/tokens.module-edb66c04.js +0 -4
  388. package/lib/esm-es5/watch-options-de55ea78.js +0 -4
@@ -17,6 +17,10 @@ import { DuetCollapsibleHeadingFontSize, DuetCollapsibleToggleEvent, DuetCollaps
17
17
  import { DuetCookieConsentEvent } from "./components/duet-cookie-consent/duet-cookie-consent";
18
18
  import { DuetDatePickerChangeEvent, DuetDatePickerDirection, DuetDatePickerFocusEvent } from "./components/duet-date-picker/duet-date-picker";
19
19
  import { DuetDividerMargin } from "./components/duet-divider/duet-divider";
20
+ import { DuetEditableTableGroupNames, DuetEditableTableItems } from "./components/duet-editable-table/duet-editable-table";
21
+ import { DuetEditableTableActions } from "./components/duet-editable-table/duet-editable-table-item";
22
+ import { DuetEditableTableActionButtonItems, DuetEditableTableItemEvent } from "./components/duet-editable-table/duet-editable-table-button";
23
+ import { DuetEditableTableActions as DuetEditableTableActions1, DuetEditableTableItemData, DuetEditableTableItemEvent as DuetEditableTableItemEvent1 } from "./components/duet-editable-table/duet-editable-table-item";
20
24
  import { DuetEmptyStateSize } from "./components/duet-empty-state/duet-empty-state";
21
25
  import { DuetFooterAnalyticsEvent, DuetFooterChangeEvent, DuetFooterVariation } from "./components/duet-footer/duet-footer";
22
26
  import { DuetGridAlignment, DuetGridDistribution, DuetGridMobileAlignment } from "./components/duet-grid/duet-grid";
@@ -32,7 +36,7 @@ import { DuetLogoSize } from "./components/duet-logo/duet-logo";
32
36
  import { DuetModalCloseEvent, DuetModalSize } from "./components/duet-modal/duet-modal";
33
37
  import { DuetNotificationDrawerDirection } from "./components/duet-notification-drawer/duet-notification-drawer";
34
38
  import { DuetNumberInputEvent } from "./components/duet-number-input/duet-number-input";
35
- import { DuetParagraphSize, DuetParagraphVariation } from "./components/duet-paragraph/duet-paragraph";
39
+ import { DuetParagraphSize, DuetParagraphVariation, DuetParagraphWeight } from "./components/duet-paragraph/duet-paragraph";
36
40
  import { DuetRadioEvent } from "./components/duet-radio/duet-radio";
37
41
  import { DuetRangeChangeEvent } from "./components/duet-range-slider/duet-range-slider";
38
42
  import { DuetSelectEvent, DuetSelectItems } from "./components/duet-select/duet-select";
@@ -45,6 +49,10 @@ import { DuetTableBreakpoint, DuetTableStickyDistance, DuetTableVariant } from "
45
49
  import { DuetTextareaEvent } from "./components/duet-textarea/duet-textarea";
46
50
  import { DuetToggleChangeEvent } from "./components/duet-toggle/duet-toggle";
47
51
  import { DuetTooltipBreakpoint } from "./components/duet-tooltip/duet-tooltip";
52
+ import { StatusMessage } from "./components/duet-upload-aria-status/duet-upload-aria-status";
53
+ import { DuetEditableTableGroupNames as DuetEditableTableGroupNames1 } from "./components/duet-editable-table/duet-editable-table";
54
+ import { DuetUploadEvent, StringMap } from "./components/duet-upload/duet-upload";
55
+ import { StatusMessage as StatusMessage1 } from "./components/duet-upload-aria-status/duet-upload-aria-status";
48
56
  export namespace Components {
49
57
  interface DuetAlert {
50
58
  /**
@@ -449,6 +457,16 @@ export namespace Components {
449
457
  * Adds a unique identifier for the choice button.
450
458
  */
451
459
  "identifier": string;
460
+ /**
461
+ * Hint text to display before the user types into the date picker input.
462
+ * @default { fi: "Lisätietoja", en: "More information about", sv: "Mera information om", }
463
+ */
464
+ "infoLabel": string;
465
+ /**
466
+ * Placeholder defaults
467
+ * @default { fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" }
468
+ */
469
+ "infoLabelDefaults": DuetLangObject | string;
452
470
  /**
453
471
  * Label for the choice button.
454
472
  */
@@ -602,7 +620,7 @@ export namespace Components {
602
620
  */
603
621
  "accessibleOwns": string;
604
622
  /**
605
- * Caption (underneath label) that can be set as a way of adding extra information
623
+ * Caption (underneath label) that can be set as a way of adding extra information.
606
624
  */
607
625
  "caption": string;
608
626
  /**
@@ -642,8 +660,8 @@ export namespace Components {
642
660
  */
643
661
  "labelHidden": boolean;
644
662
  /**
645
- * The currently active language. This setting changes the month/year/day names and button labels as well as all screen reader labels.
646
- * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
663
+ * The currently active language. This setting changes the month/year/day. names and button labels as well as all screen reader labels.
664
+ * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing.
647
665
  * @default "fi"
648
666
  */
649
667
  "language": DuetLanguage;
@@ -652,7 +670,7 @@ export namespace Components {
652
670
  */
653
671
  "margin": DuetMargin;
654
672
  /**
655
- * Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD This setting can be used alone or together with the min property.
673
+ * Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD. This setting can be used alone or together with the min property.
656
674
  */
657
675
  "max": string;
658
676
  /**
@@ -669,7 +687,7 @@ export namespace Components {
669
687
  */
670
688
  "placeholder": string;
671
689
  /**
672
- * Placeholder defaults
690
+ * Placeholder defaults.
673
691
  * @default { fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" }
674
692
  */
675
693
  "placeholderDefaults": DuetLangObject | string;
@@ -720,6 +738,100 @@ export namespace Components {
720
738
  */
721
739
  "theme": DuetTheme;
722
740
  }
741
+ interface DuetEditableTable {
742
+ /**
743
+ * Exposes the aria role for optimizing accessibility.
744
+ */
745
+ "accessibleRole": string;
746
+ /**
747
+ * Array of internationalized defaults for the default action labels.
748
+ */
749
+ "actionLabelDefaults": DuetLangObject;
750
+ /**
751
+ * Array of actions that are mapped via the map variable to the various groups defined in group.
752
+ * @default undefined
753
+ * @example [{ variation: "default", icon: "action-edit-2", id: "edit", map: ["success"], label: { fi: " Label", en: " Label", sv: " Label", } }]
754
+ */
755
+ "actions": DuetEditableTableActions | string;
756
+ /**
757
+ * Key used to set vertical alignment of action buttons
758
+ */
759
+ "alignment": string;
760
+ /**
761
+ * Array of group names that you want the editable table to display (can be used to hide or show groups depending on conditions).
762
+ * @default { id: "all", label: this.groupsLabelDefaults, actionLabel: this.actionLabelDefaults }.
763
+ * @example [{ id: "success", label: {fi: "Onnistunut", en: "Success", sv: "Alt klart", }}].
764
+ */
765
+ "groups": DuetEditableTableGroupNames | string;
766
+ /**
767
+ * Array of internationalized defaults for the default groups labels.
768
+ */
769
+ "groupsLabelDefaults": DuetLangObject;
770
+ /**
771
+ * Shows or hides the table labels.
772
+ */
773
+ "hideGroups": boolean;
774
+ /**
775
+ * Map of items that contain list of things.
776
+ */
777
+ "items": DuetEditableTableItems;
778
+ /**
779
+ * Theme of the table.
780
+ */
781
+ "theme": DuetTheme;
782
+ /**
783
+ * Method to force an update of a tabular data array. when called the method will rerender the entire tabular structure.
784
+ */
785
+ "updateTable": (passedItems?: DuetEditableTableItems) => Promise<void>;
786
+ }
787
+ interface DuetEditableTableButton {
788
+ /**
789
+ * action items passed from host component
790
+ */
791
+ "actions": DuetEditableTableActionButtonItems;
792
+ /**
793
+ * group associated with action
794
+ */
795
+ "group": string;
796
+ /**
797
+ * key of the item in the map
798
+ */
799
+ "keyName": string;
800
+ /**
801
+ * Theme of the empty state component.
802
+ */
803
+ "theme": DuetTheme;
804
+ /**
805
+ * uid that gets passed along when the action is emitted
806
+ */
807
+ "uid": string;
808
+ }
809
+ interface DuetEditableTableItem {
810
+ /**
811
+ * Actions that can be performed on the element
812
+ */
813
+ "actions": DuetEditableTableActions;
814
+ /**
815
+ * Key used to set vertical alignment of action buttons
816
+ */
817
+ "alignment": string;
818
+ /**
819
+ * Object of data itemsused to render the entire row
820
+ */
821
+ "data": DuetEditableTableItemData;
822
+ /**
823
+ * GroupId used to pierce the shadowdom - gets concatenated with "content & actions" and used as part="groupIDcontent/actions" to pierce the content/Action item
824
+ */
825
+ "groupId": string;
826
+ /**
827
+ * Key used to identify item, when running actions
828
+ */
829
+ "keyName": string;
830
+ /**
831
+ * Theme of the empty state component.
832
+ */
833
+ "theme": DuetTheme;
834
+ }
723
835
  interface DuetEmptyState {
724
836
  /**
725
837
  * Icon shown in the empty state component.
@@ -804,7 +916,7 @@ export namespace Components {
804
916
  }
805
917
  interface DuetGrid {
806
918
  /**
807
- * Adjusts the vertical alignment of the grid items.
919
+ * Adjusts the vertical alignment of the grid items, if set to "form_distribute" the grid will try to calculate correct paddings for any duet-input fields inside duet-grid-items, so that they align even when displaying errors.
808
920
  */
809
921
  "alignment": DuetGridAlignment;
810
922
  /**
@@ -892,7 +1004,7 @@ export namespace Components {
892
1004
  */
893
1005
  "closeMenus": (moveFocusToButton?: boolean) => Promise<void>;
894
1006
  /**
895
- * Label of the contact menu. If empty, contact menu will be hidden.
1007
+ * Label of the contact menu. If empty, contact menu will be hidden. Note: not available in multilevel headers.
896
1008
  */
897
1009
  "contact": string;
898
1010
  /**
@@ -900,11 +1012,11 @@ export namespace Components {
900
1012
  */
901
1013
  "contactItems": any;
902
1014
  /**
903
- * The href of the current page item that is shown as “active”.
1015
+ * The href of the current page item that is shown as “active”. Note: not available in multilevel headers.
904
1016
  */
905
1017
  "currentHref": string;
906
1018
  /**
907
- * An array of items for the main navigation. Items have to include mandatory "label" and "href" fields to work. Additionally, you can pass an "id" that is added as an HTML identifier for the element.
1019
+ * An array of items for the main navigation. Items have to include mandatory "label" and "href" fields to work. Additionally, you can pass an "id" that is added as an HTML identifier for the element, "active" boolean that makes item active, "badge" boolean to add notification badge next to the item and "items" array consisting of sub items that are allowed up to three levels.
908
1020
  */
909
1021
  "items": any;
910
1022
  /**
@@ -922,9 +1034,13 @@ export namespace Components {
922
1034
  */
923
1035
  "logoHref": string;
924
1036
  /**
925
- * Region that is shown next to the logo. If empty, region will be hidden.
1037
+ * Region that is shown next to the logo. If empty, region will be hidden. Note: not available in desktop multilevel header.
926
1038
  */
927
1039
  "region": string;
1040
+ /**
1041
+ * An object that includes mandatory "label" and "href" fields for the search link. Additionally, you can pass an "id" that is added as an HTML identifier for the element. If nothing is passed, this link won’t be shown.
1042
+ */
1043
+ "search": any;
928
1044
  /**
929
1045
  * An object that includes mandatory "label", "href" and "type" fields for the session login/logout link. Additionally, you can pass an "id" that is added as an HTML identifier for the element. If nothing is passed, this link won’t be shown.
930
1046
  */
@@ -942,15 +1058,15 @@ export namespace Components {
942
1058
  */
943
1059
  "theme": DuetTheme;
944
1060
  /**
945
- * An object that includes mandatory "label" and "href" fields for the user profile link. Additionally, you can pass an "id" that is added as an HTML identifier for the element. If nothing is passed, user won’t be shown.
1061
+ * An object that includes mandatory "label" and "href" fields for the user profile link. Additionally, you can pass an "id" that is added as an HTML identifier for the element. If nothing is passed, user won’t be shown. Note: not available in multilevel headers.
946
1062
  */
947
1063
  "user": any;
948
1064
  }
949
1065
  interface DuetHeading {
950
1066
  /**
951
- * Enable or disable the border underneath the heading.
1067
+ * Enable or disable the border underneath the heading, solid will darken the border
952
1068
  */
953
- "border": boolean;
1069
+ "border": boolean | "solid";
954
1070
  /**
955
1071
  * Custom color for the heading as a design token entered in camelCase or kebab-case. Example: "color-primary".
956
1072
  */
@@ -1717,13 +1833,52 @@ export namespace Components {
1717
1833
  */
1718
1834
  "size": DuetParagraphSize;
1719
1835
  /**
1720
- * Theme of the card.
1836
+ * Theme of the paragraph.
1721
1837
  */
1722
1838
  "theme": DuetTheme;
1723
1839
  /**
1724
1840
  * Style variation of the paragraph.
1725
1841
  */
1726
1842
  "variation": DuetParagraphVariation;
1843
+ /**
1844
+ * Controls the Font-Weight of the paragraph.
1845
+ */
1846
+ "weight": DuetParagraphWeight;
1847
+ }
1848
+ interface DuetProgress {
1849
+ /**
1850
+ * Indicates the id of a component that describes the upload component.
1851
+ */
1852
+ "accessibleDescribedBy": string;
1853
+ /**
1854
+ * Indicates the aria-label of the component - this will get combined with an label+uploading when uploading, and label+upload complete when upload is complete
1855
+ */
1856
+ "accessibleLabel": string;
1857
+ /**
1858
+ * Adds accessible label for upload in progress and upload complete states
1859
+ * @default {fi: ["lähetys valmis", "lähetys käynnissä"],sv: ["Uppladdningen är klar", "Uppladdning pågår"], en: ["completed", "in progress"]}
1860
+ */
1861
+ "accessibleLabelUpload": string;
1862
+ /**
1863
+ * Defaults for accessibleLabel
1864
+ */
1865
+ "accessibleLabelUploadDefaults": DuetLangObject | string;
1866
+ /**
1867
+ * Caption (underneath label) that can be set as a way of adding extra information
1868
+ */
1869
+ "caption": string;
1870
+ /**
1871
+ * Height of progressbar
1872
+ */
1873
+ "height": string;
1874
+ /**
1875
+ * Progress of the bar, a value from 0-100
1876
+ */
1877
+ "progress": number;
1878
+ /**
1879
+ * Theme of the input.
1880
+ */
1881
+ "theme": DuetTheme;
1727
1882
  }
1728
1883
  interface DuetRadio {
1729
1884
  /**
@@ -2468,6 +2623,227 @@ export namespace Components {
2468
2623
  */
2469
2624
  "theme": DuetTheme;
2470
2625
  }
2626
+ interface DuetUpload {
2627
+ /**
2628
+ * Indicates the id of a related component’s visually focused element.
2629
+ */
2630
+ "accessibleActiveDescendant": string;
2631
+ /**
2632
+ * accessible aria-Label of button
2633
+ */
2634
+ "accessibleButtonLabel": string;
2635
+ /**
2636
+ * Use this prop to add an aria-controls attribute. Use the attribute to indicate the id of a component controlled by this component.
2637
+ */
2638
+ "accessibleControls": string;
2639
+ /**
2640
+ * Indicates the id of a component that describes the upload component.
2641
+ */
2642
+ "accessibleDescribedBy": string;
2643
+ /**
2644
+ * Indicates the id of a component owned by the input.
2645
+ */
2646
+ "accessibleOwns": string;
2647
+ /**
2648
+ * Default actions added to the internally used duet-editable-table
2649
+ */
2650
+ "actions": DuetEditableTableActions | string;
2651
+ /**
2652
+ * Key used to set vertical alignment of action buttons
2653
+ */
2654
+ "alignment": string;
2655
+ /**
2656
+ * A string of commaseperated file type values that are allowed
2657
+ * @example : .pdf,.doc,.docx
2658
+ */
2659
+ "allowedExtensions": string;
2660
+ /**
2661
+ * A string of commaseperated mime type values that are allowed
2662
+ * @example : image/*,application/msword,
2663
+ */
2664
+ "allowedMimetypes": string;
2665
+ /**
2666
+ * Label of button
2667
+ * @default { fi: "Lisää liite", sv: "Lägg till en bilaga", en: "Add an attachment" }
2668
+ */
2669
+ "buttonLabel": string;
2670
+ /**
2671
+ * Property to change button label defaults on the component.
2672
+ * @default { fi: "Lisää liite", sv: "Lägg till en bilaga", en: "Add an attachment", }
2673
+ */
2674
+ "buttonLabelDefaults": DuetLangObject | string;
2675
+ /**
2676
+ * Caption (underneath label) that can be set as a way of adding extra information
2677
+ */
2678
+ "caption": string;
2679
+ /**
2680
+ * Description for the upload component.
2681
+ * @default { fi: "Voit liittää {filetypes}-muotoisia tiedostoja sekä yleisimpiä videotiedostoja. Voit lähettää {maxbytes} verran tiedostoja yhdellä kertaa, ja lisätä enintään {maxfiles} liitettä kerrallaan.", sv: "Du kan bifoga filer i flg. formater {filetypes} samt de vanligaste videofilerna. Du kan ladda upp {maxbytes} filer åt gången och lägga till upp till {maxfiles} bilagor åt gången.", en: "You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytes} of files at a time, and add up to {maxfiles} attachments at a time.", }
2682
+ */
2683
+ "description": string;
2684
+ /**
2685
+ * Property to change descriptionDefaults defaults on the component.
2686
+ * @default { fi: "Voit liittää {filetypes}-muotoisia tiedostoja sekä yleisimpiä videotiedostoja. Voit lähettää {maxbytes} verran tiedostoja yhdellä kertaa, ja lisätä enintään {maxfiles} liitettä kerrallaan.", sv: "Du kan bifoga filer i flg. formater {filetypes} samt de vanligaste videofilerna. Du kan ladda upp {maxbytes} filer åt gången och lägga till upp till {maxfiles} bilagor åt gången.", en: "You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytes} of files at a time, and add up to {maxfiles} attachments at a time.", }
2687
+ */
2688
+ "descriptionDefaults": DuetLangObject | string;
2689
+ /**
2690
+ * Makes the input component disabled. This prevents users from being able to interact with the upload component, and conveys its inactive state to assistive technologies.
2691
+ */
2692
+ "disabled": boolean;
2693
+ /**
2694
+ * Display the input in error state along with an error message.
2695
+ */
2696
+ "error": string;
2697
+ /**
2698
+ * If external is set to true, the upload component will not actually upload the files, but only keep states it will be up to you to handle the upload and return progress information to the upload-component
2699
+ */
2700
+ "external": boolean;
2701
+ /**
2702
+ * Label for the filelist's empty state.
2703
+ * @default { fi: "Ei vielä lisättyjä tiedostoja.",sv: "Inga filer har lagts till ännu.",en: "No files added yet."}
2704
+ */
2705
+ "fileListEmpty": string;
2706
+ /**
2707
+ * Defaults for the filelist's empty state.
2708
+ * @default { fi: "Ei vielä lisättyjä tiedostoja.", sv: "Inga filer har lagts till ännu.", en: "No files added yet.", }
2709
+ */
2710
+ "fileListEmptyDefaults": DuetLangObject | string;
2711
+ /**
2712
+ * Map of string that contain list of uploaded files.
2713
+ */
2714
+ "files": StringMap;
2715
+ /**
2716
+ * Get list of files, divided in errors and valid sections
2717
+ */
2718
+ "getFiles": () => Promise<false | { valid: any[]; invalid: any[]; }>;
2719
+ /**
2720
+ * Array of group names that you want the editable table to use to display files
2721
+ * @required
2722
+ * @example [{ id: "success", label: {fi: "Onnistunut", en: "Success", sv: "Alt klart", }}]
2723
+ */
2724
+ "groups": DuetEditableTableGroupNames | string;
2725
+ /**
2726
+ * If set the upload component will not display an upload button, you will have to create one yourself and call the exposed method startUpload
2727
+ */
2728
+ "hideButton": boolean;
2729
+ /**
2730
+ * Visually hides the groups labels in the editable table list used to display the list of files
2731
+ */
2732
+ "hideGroups": boolean;
2733
+ /**
2734
+ * Adds a unique identifier for the upload component.
2735
+ */
2736
+ "identifier": string;
2737
+ /**
2738
+ * Label for the input.
2739
+ * @default { fi: "Lisää liite",sv: "Lägg till en bilaga",en: "Add attachments"}
2740
+ */
2741
+ "label": string;
2742
+ /**
2743
+ * Property to change labelDefaults defaults on the component. normally you would handle these strings on an application level and override @label when needed
2744
+ * @default { fi: "Lisää liite",sv: "Lägg till en bilaga",en: "Add attachments"}
2745
+ */
2746
+ "labelDefaults": DuetLangObject | string;
2747
+ /**
2748
+ * Use limitSelection to enforce the value in allowedExtension & allowedMimetypes when selecting files, by default this is off, setting this to true will limit the users choices to what has been explicitly set
2749
+ */
2750
+ "limitSelection": boolean;
2751
+ /**
2752
+ * Controls the margin of the component.
2753
+ */
2754
+ "margin": DuetMargin;
2755
+ /**
2756
+ * Use maxBytes to specify the maximum size in Bytes of a file that can be uploaded.
2757
+ */
2758
+ "maxBytes": number;
2759
+ /**
2760
+ * Use maxBytesTotal to specify the maximum size in Bytes of All files combined that can be uploaded.
2761
+ */
2762
+ "maxBytesTotal": number;
2763
+ /**
2764
+ * Use maxFiles to specify the maximum amount of files that can be uploaded
2765
+ */
2766
+ "maxFiles": number;
2767
+ /**
2768
+ * Use multiple to allow the user to select multiple files when uploading
2769
+ */
2770
+ "multiple": boolean;
2771
+ /**
2772
+ * Name of the upload component.
2773
+ */
2774
+ "name": string;
2775
+ /**
2776
+ * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them. When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.
2777
+ */
2778
+ "required": boolean;
2779
+ /**
2780
+ * Sets focus on the specified `duet-input`. Use this method instead of the global `input.focus()`.
2781
+ */
2782
+ "setFocus": (options?: FocusOptions) => Promise<void>;
2783
+ /**
2784
+ * If enabled the editable-table will display links on successfully uploaded items, this requires the server can respond with link URIs in the correct format and that the files are accessible to the user
2785
+ */
2786
+ "showLinks": boolean;
2787
+ /**
2788
+ * Property to change the aria upload progress text read aloud by screenreaders
2789
+ * @default { 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: "tiedostoa", file: "tiedosto", }, }
2790
+ */
2791
+ "statusLabelDefaults": DuetLangObject | string;
2792
+ /**
2793
+ * Strings used for the status aria-label
2794
+ */
2795
+ "statusMessageLabel": StatusMessage | string;
2796
+ /**
2797
+ * Theme of the input.
2798
+ */
2799
+ "theme": DuetTheme;
2800
+ /**
2801
+ * Convenience method for updating the value of a key:value inside an item in the files attribute
2802
+ */
2803
+ "updateValue": (item: string, key: string, value: any) => Promise<void>;
2804
+ /**
2805
+ * Method for invoking the upload sequence
2806
+ */
2807
+ "upload": (metaData?: any | undefined) => Promise<void>;
2808
+ /**
2809
+ * Endpoint URI that is capable of receiving the files
2810
+ */
2811
+ "uri": string;
2812
+ /**
2813
+ * Property to read if the internally used editable-table contains errors or not
2814
+ */
2815
+ "valid": boolean;
2816
+ /**
2817
+ * Value of the input.
2818
+ */
2819
+ "value": string;
2820
+ }
2821
+ interface DuetUploadAriaStatus {
2822
+ /**
2823
+ * Adds accessible label that is read aloud
2824
+ */
2825
+ "accessibleAriaLive": "off" | "polite" | "assertive";
2826
+ /**
2827
+ * valid file amount
2828
+ */
2829
+ "inprogress": number;
2830
+ /**
2831
+ * invalid file amount
2832
+ */
2833
+ "invalid": number;
2834
+ /**
2835
+ * Status labels used in the component
2836
+ */
2837
+ "statusMessageLabel": StatusMessage;
2838
+ /**
2839
+ * total files
2840
+ */
2841
+ "total": number;
2842
+ /**
2843
+ * valid file amount
2844
+ */
2845
+ "valid": number;
2846
+ }
2471
2847
  interface DuetVisuallyHidden {
2472
2848
  }
2473
2849
  }
@@ -2544,6 +2920,24 @@ declare global {
2544
2920
  prototype: HTMLDuetDividerElement;
2545
2921
  new (): HTMLDuetDividerElement;
2546
2922
  };
2923
+ interface HTMLDuetEditableTableElement extends Components.DuetEditableTable, HTMLStencilElement {
2924
+ }
2925
+ var HTMLDuetEditableTableElement: {
2926
+ prototype: HTMLDuetEditableTableElement;
2927
+ new (): HTMLDuetEditableTableElement;
2928
+ };
2929
+ interface HTMLDuetEditableTableButtonElement extends Components.DuetEditableTableButton, HTMLStencilElement {
2930
+ }
2931
+ var HTMLDuetEditableTableButtonElement: {
2932
+ prototype: HTMLDuetEditableTableButtonElement;
2933
+ new (): HTMLDuetEditableTableButtonElement;
2934
+ };
2935
+ interface HTMLDuetEditableTableItemElement extends Components.DuetEditableTableItem, HTMLStencilElement {
2936
+ }
2937
+ var HTMLDuetEditableTableItemElement: {
2938
+ prototype: HTMLDuetEditableTableItemElement;
2939
+ new (): HTMLDuetEditableTableItemElement;
2940
+ };
2547
2941
  interface HTMLDuetEmptyStateElement extends Components.DuetEmptyState, HTMLStencilElement {
2548
2942
  }
2549
2943
  var HTMLDuetEmptyStateElement: {
@@ -2670,6 +3064,12 @@ declare global {
2670
3064
  prototype: HTMLDuetParagraphElement;
2671
3065
  new (): HTMLDuetParagraphElement;
2672
3066
  };
3067
+ interface HTMLDuetProgressElement extends Components.DuetProgress, HTMLStencilElement {
3068
+ }
3069
+ var HTMLDuetProgressElement: {
3070
+ prototype: HTMLDuetProgressElement;
3071
+ new (): HTMLDuetProgressElement;
3072
+ };
2673
3073
  interface HTMLDuetRadioElement extends Components.DuetRadio, HTMLStencilElement {
2674
3074
  }
2675
3075
  var HTMLDuetRadioElement: {
@@ -2760,6 +3160,18 @@ declare global {
2760
3160
  prototype: HTMLDuetTrayElement;
2761
3161
  new (): HTMLDuetTrayElement;
2762
3162
  };
3163
+ interface HTMLDuetUploadElement extends Components.DuetUpload, HTMLStencilElement {
3164
+ }
3165
+ var HTMLDuetUploadElement: {
3166
+ prototype: HTMLDuetUploadElement;
3167
+ new (): HTMLDuetUploadElement;
3168
+ };
3169
+ interface HTMLDuetUploadAriaStatusElement extends Components.DuetUploadAriaStatus, HTMLStencilElement {
3170
+ }
3171
+ var HTMLDuetUploadAriaStatusElement: {
3172
+ prototype: HTMLDuetUploadAriaStatusElement;
3173
+ new (): HTMLDuetUploadAriaStatusElement;
3174
+ };
2763
3175
  interface HTMLDuetVisuallyHiddenElement extends Components.DuetVisuallyHidden, HTMLStencilElement {
2764
3176
  }
2765
3177
  var HTMLDuetVisuallyHiddenElement: {
@@ -2779,6 +3191,9 @@ declare global {
2779
3191
  "duet-cookie-consent": HTMLDuetCookieConsentElement;
2780
3192
  "duet-date-picker": HTMLDuetDatePickerElement;
2781
3193
  "duet-divider": HTMLDuetDividerElement;
3194
+ "duet-editable-table": HTMLDuetEditableTableElement;
3195
+ "duet-editable-table-button": HTMLDuetEditableTableButtonElement;
3196
+ "duet-editable-table-item": HTMLDuetEditableTableItemElement;
2782
3197
  "duet-empty-state": HTMLDuetEmptyStateElement;
2783
3198
  "duet-fieldset": HTMLDuetFieldsetElement;
2784
3199
  "duet-footer": HTMLDuetFooterElement;
@@ -2800,6 +3215,7 @@ declare global {
2800
3215
  "duet-notification-drawer": HTMLDuetNotificationDrawerElement;
2801
3216
  "duet-number-input": HTMLDuetNumberInputElement;
2802
3217
  "duet-paragraph": HTMLDuetParagraphElement;
3218
+ "duet-progress": HTMLDuetProgressElement;
2803
3219
  "duet-radio": HTMLDuetRadioElement;
2804
3220
  "duet-radio-group": HTMLDuetRadioGroupElement;
2805
3221
  "duet-range-slider": HTMLDuetRangeSliderElement;
@@ -2815,6 +3231,8 @@ declare global {
2815
3231
  "duet-toggle": HTMLDuetToggleElement;
2816
3232
  "duet-tooltip": HTMLDuetTooltipElement;
2817
3233
  "duet-tray": HTMLDuetTrayElement;
3234
+ "duet-upload": HTMLDuetUploadElement;
3235
+ "duet-upload-aria-status": HTMLDuetUploadAriaStatusElement;
2818
3236
  "duet-visually-hidden": HTMLDuetVisuallyHiddenElement;
2819
3237
  }
2820
3238
  }
@@ -3235,6 +3653,16 @@ declare namespace LocalJSX {
3235
3653
  * Adds a unique identifier for the choice button.
3236
3654
  */
3237
3655
  "identifier"?: string;
3656
+ /**
3657
+ * Hint text to display before the user types into the date picker input.
3658
+ * @default { fi: "Lisätietoja", en: "More information about", sv: "Mera information om", }
3659
+ */
3660
+ "infoLabel"?: string;
3661
+ /**
3662
+ * Placeholder defaults
3663
+ * @default { fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" }
3664
+ */
3665
+ "infoLabelDefaults"?: DuetLangObject | string;
3238
3666
  /**
3239
3667
  * Label for the choice button.
3240
3668
  */
@@ -3400,7 +3828,7 @@ declare namespace LocalJSX {
3400
3828
  */
3401
3829
  "accessibleOwns"?: string;
3402
3830
  /**
3403
- * Caption (underneath label) that can be set as a way of adding extra information
3831
+ * Caption (underneath label) that can be set as a way of adding extra information.
3404
3832
  */
3405
3833
  "caption"?: string;
3406
3834
  /**
@@ -3436,8 +3864,8 @@ declare namespace LocalJSX {
3436
3864
  */
3437
3865
  "labelHidden"?: boolean;
3438
3866
  /**
3439
- * The currently active language. This setting changes the month/year/day names and button labels as well as all screen reader labels.
3440
- * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
3867
+ * The currently active language. This setting changes the month/year/day. names and button labels as well as all screen reader labels.
3868
+ * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing.
3441
3869
  * @default "fi"
3442
3870
  */
3443
3871
  "language"?: DuetLanguage;
@@ -3446,7 +3874,7 @@ declare namespace LocalJSX {
3446
3874
  */
3447
3875
  "margin"?: DuetMargin;
3448
3876
  /**
3449
- * Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD This setting can be used alone or together with the min property.
3877
+ * Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD. This setting can be used alone or together with the min property.
3450
3878
  */
3451
3879
  "max"?: string;
3452
3880
  /**
@@ -3475,7 +3903,7 @@ declare namespace LocalJSX {
3475
3903
  */
3476
3904
  "placeholder"?: string;
3477
3905
  /**
3478
- * Placeholder defaults
3906
+ * Placeholder defaults.
3479
3907
  * @default { fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" }
3480
3908
  */
3481
3909
  "placeholderDefaults"?: DuetLangObject | string;
@@ -3518,6 +3946,84 @@ declare namespace LocalJSX {
3518
3946
  */
3519
3947
  "theme"?: DuetTheme;
3520
3948
  }
3949
+ interface DuetEditableTable {
3950
+ /**
3951
+ * Exposes the aria role for optimizing accessibility.
3952
+ */
3953
+ "accessibleRole"?: string;
3954
+ /**
3955
+ * Array of internationalized defaults for the default action labels.
3956
+ */
3957
+ "actionLabelDefaults"?: DuetLangObject;
3958
+ /**
3959
+ * Array of actions that are mapped via the map variable to the various groups defined in group.
3960
+ * @default undefined
3961
+ * @example [{ variation: "default", icon: "action-edit-2", id: "edit", map: ["success"], label: { fi: " Label", en: " Label", sv: " Label", } }]
3962
+ */
3963
+ "actions"?: DuetEditableTableActions | string;
3964
+ /**
3965
+ * Key used to set vertical alignment of action buttons
3966
+ */
3967
+ "alignment"?: string;
3968
+ /**
3969
+ * Array of group names that you want the editable table to display (can be used to hide or show groups depending on conditions).
3970
+ * @default { id: "all", label: this.groupsLabelDefaults, actionLabel: this.actionLabelDefaults }.
3971
+ * @example [{ id: "success", label: {fi: "Onnistunut", en: "Success", sv: "Alt klart", }}].
3972
+ */
3973
+ "groups"?: DuetEditableTableGroupNames | string;
3974
+ /**
3975
+ * Array of internationalized defaults for the default groups labels.
3976
+ */
3977
+ "groupsLabelDefaults"?: DuetLangObject;
3978
+ /**
3979
+ * Shows or hides the table labels.
3980
+ */
3981
+ "hideGroups"?: boolean;
3982
+ /**
3983
+ * Map of items that contain list of things.
3984
+ */
3985
+ "items"?: DuetEditableTableItems;
3986
+ /**
3987
+ * Theme of the table.
3988
+ */
3989
+ "theme"?: DuetTheme;
3990
+ }
3991
+ interface DuetEditableTableButton {
3992
+ /**
3993
+ * Emitted when any action is clicked
3994
+ */
3995
+ "onDuetEditableItemAction"?: (event: CustomEvent<DuetEditableTableItemEvent>) => void;
3996
+ /**
3997
+ * Theme of the empty state component.
3998
+ */
3999
+ "theme"?: DuetTheme;
4000
+ }
4001
+ interface DuetEditableTableItem {
4002
+ /**
4003
+ * Actions that can be performed on the element
4004
+ */
4005
+ "actions"?: DuetEditableTableActions;
4006
+ /**
4007
+ * Key used to set vertical alignment of action buttons
4008
+ */
4009
+ "alignment"?: string;
4010
+ /**
4011
+ * Object of data itemsused to render the entire row
4012
+ */
4013
+ "data"?: DuetEditableTableItemData;
4014
+ /**
4015
+ * Key used to identify item, when running actions
4016
+ */
4017
+ "keyName"?: string;
4018
+ /**
4019
+ * Emitted when any action is clicked
4020
+ */
4021
+ "onDuetEditableItemAction"?: (event: CustomEvent<DuetEditableTableItemEvent>) => void;
4022
+ /**
4023
+ * Theme of the empty state component.
4024
+ */
4025
+ "theme"?: DuetTheme;
4026
+ }
3521
4027
  interface DuetEmptyState {
3522
4028
  /**
3523
4029
  * Icon shown in the empty state component.
@@ -3622,7 +4128,7 @@ declare namespace LocalJSX {
3622
4128
  }
3623
4129
  interface DuetGrid {
3624
4130
  /**
3625
- * Adjusts the vertical alignment of the grid items.
4131
+ * Adjusts the vertical alignment of the grid items, if set to "form_distribute" the grid will try to calculate correct paddings for any duet-input fields inside duet-grid-items, so that they align even when displaying errors.
3626
4132
  */
3627
4133
  "alignment"?: DuetGridAlignment;
3628
4134
  /**
@@ -3704,7 +4210,7 @@ declare namespace LocalJSX {
3704
4210
  */
3705
4211
  "back"?: any;
3706
4212
  /**
3707
- * Label of the contact menu. If empty, contact menu will be hidden.
4213
+ * Label of the contact menu. If empty, contact menu will be hidden. Note: not available in multilevel headers.
3708
4214
  */
3709
4215
  "contact"?: string;
3710
4216
  /**
@@ -3712,11 +4218,11 @@ declare namespace LocalJSX {
3712
4218
  */
3713
4219
  "contactItems"?: any;
3714
4220
  /**
3715
- * The href of the current page item that is shown as “active”.
4221
+ * The href of the current page item that is shown as “active”. Note: not available in multilevel headers.
3716
4222
  */
3717
4223
  "currentHref"?: string;
3718
4224
  /**
3719
- * An array of items for the main navigation. Items have to include mandatory "label" and "href" fields to work. Additionally, you can pass an "id" that is added as an HTML identifier for the element.
4225
+ * An array of items for the main navigation. Items have to include mandatory "label" and "href" fields to work. Additionally, you can pass an "id" that is added as an HTML identifier for the element, "active" boolean that makes item active, "badge" boolean to add notification badge next to the item and "items" array consisting of sub items that are allowed up to three levels.
3720
4226
  */
3721
4227
  "items"?: any;
3722
4228
  /**
@@ -3761,6 +4267,10 @@ declare namespace LocalJSX {
3761
4267
  * Event raised when a user has clicked the logo. You can prevent the default browser functionality by calling **event.detail.originalEvent.preventDefault()** inside your listener. Additionally, the passed data is available via **event.detail.data**.
3762
4268
  */
3763
4269
  "onDuetLogoClick"?: (event: CustomEvent<DuetHeaderChangeEvent>) => void;
4270
+ /**
4271
+ * Event for when a user has clicked the search link. You can prevent the default browser functionality by calling **event.detail.originalEvent.preventDefault()** inside your listener. Additionally, the passed data is available via **event.detail.data**.
4272
+ */
4273
+ "onDuetSearchClick"?: (event: CustomEvent<DuetHeaderChangeEvent>) => void;
3764
4274
  /**
3765
4275
  * Event for when a user has clicked the session link. You can prevent the default browser functionality by calling **event.detail.originalEvent.preventDefault()** inside your listener. Additionally, the passed data is available via **event.detail.data**.
3766
4276
  */
@@ -3774,9 +4284,13 @@ declare namespace LocalJSX {
3774
4284
  */
3775
4285
  "onDuetUserClick"?: (event: CustomEvent<DuetHeaderChangeEvent>) => void;
3776
4286
  /**
3777
- * Region that is shown next to the logo. If empty, region will be hidden.
4287
+ * Region that is shown next to the logo. If empty, region will be hidden. Note: not available in desktop multilevel header.
3778
4288
  */
3779
4289
  "region"?: string;
4290
+ /**
4291
+ * An object that includes mandatory "label" and "href" fields for the search link. Additionally, you can pass an "id" that is added as an HTML identifier for the element. If nothing is passed, this link won’t be shown.
4292
+ */
4293
+ "search"?: any;
3780
4294
  /**
3781
4295
  * An object that includes mandatory "label", "href" and "type" fields for the session login/logout link. Additionally, you can pass an "id" that is added as an HTML identifier for the element. If nothing is passed, this link won’t be shown.
3782
4296
  */
@@ -3790,15 +4304,15 @@ declare namespace LocalJSX {
3790
4304
  */
3791
4305
  "theme"?: DuetTheme;
3792
4306
  /**
3793
- * An object that includes mandatory "label" and "href" fields for the user profile link. Additionally, you can pass an "id" that is added as an HTML identifier for the element. If nothing is passed, user won’t be shown.
4307
+ * An object that includes mandatory "label" and "href" fields for the user profile link. Additionally, you can pass an "id" that is added as an HTML identifier for the element. If nothing is passed, user won’t be shown. Note: not available in multilevel headers.
3794
4308
  */
3795
4309
  "user"?: any;
3796
4310
  }
3797
4311
  interface DuetHeading {
3798
4312
  /**
3799
- * Enable or disable the border underneath the heading.
4313
+ * Enable or disable the border underneath the heading, solid will darken the border
3800
4314
  */
3801
- "border"?: boolean;
4315
+ "border"?: boolean | "solid";
3802
4316
  /**
3803
4317
  * Custom color for the heading as a design token entered in camelCase or kebab-case. Example: "color-primary".
3804
4318
  */
@@ -4574,13 +5088,52 @@ declare namespace LocalJSX {
4574
5088
  */
4575
5089
  "size"?: DuetParagraphSize;
4576
5090
  /**
4577
- * Theme of the card.
5091
+ * Theme of the paragraph.
4578
5092
  */
4579
5093
  "theme"?: DuetTheme;
4580
5094
  /**
4581
5095
  * Style variation of the paragraph.
4582
5096
  */
4583
5097
  "variation"?: DuetParagraphVariation;
5098
+ /**
5099
+ * Controls the Font-Weight of the paragraph.
5100
+ */
5101
+ "weight"?: DuetParagraphWeight;
5102
+ }
5103
+ interface DuetProgress {
5104
+ /**
5105
+ * Indicates the id of a component that describes the upload component.
5106
+ */
5107
+ "accessibleDescribedBy"?: string;
5108
+ /**
5109
+ * Indicates the aria-label of the component - this will get combined with an label+uploading when uploading, and label+upload complete when upload is complete
5110
+ */
5111
+ "accessibleLabel"?: string;
5112
+ /**
5113
+ * Adds accessible label for upload in progress and upload complete states
5114
+ * @default {fi: ["lähetys valmis", "lähetys käynnissä"],sv: ["Uppladdningen är klar", "Uppladdning pågår"], en: ["completed", "in progress"]}
5115
+ */
5116
+ "accessibleLabelUpload"?: string;
5117
+ /**
5118
+ * Defaults for accessibleLabel
5119
+ */
5120
+ "accessibleLabelUploadDefaults"?: DuetLangObject | string;
5121
+ /**
5122
+ * Caption (underneath label) that can be set as a way of adding extra information
5123
+ */
5124
+ "caption"?: string;
5125
+ /**
5126
+ * Height of progressbar
5127
+ */
5128
+ "height"?: string;
5129
+ /**
5130
+ * Progress of the bar, a value from 0-100
5131
+ */
5132
+ "progress"?: number;
5133
+ /**
5134
+ * Theme of the input.
5135
+ */
5136
+ "theme"?: DuetTheme;
4584
5137
  }
4585
5138
  interface DuetRadio {
4586
5139
  /**
@@ -5352,6 +5905,247 @@ declare namespace LocalJSX {
5352
5905
  */
5353
5906
  "theme"?: DuetTheme;
5354
5907
  }
5908
+ interface DuetUpload {
5909
+ /**
5910
+ * Indicates the id of a related component’s visually focused element.
5911
+ */
5912
+ "accessibleActiveDescendant"?: string;
5913
+ /**
5914
+ * accessible aria-Label of button
5915
+ */
5916
+ "accessibleButtonLabel"?: string;
5917
+ /**
5918
+ * Use this prop to add an aria-controls attribute. Use the attribute to indicate the id of a component controlled by this component.
5919
+ */
5920
+ "accessibleControls"?: string;
5921
+ /**
5922
+ * Indicates the id of a component that describes the upload component.
5923
+ */
5924
+ "accessibleDescribedBy"?: string;
5925
+ /**
5926
+ * Indicates the id of a component owned by the input.
5927
+ */
5928
+ "accessibleOwns"?: string;
5929
+ /**
5930
+ * Default actions added to the internally used duet-editable-table
5931
+ */
5932
+ "actions"?: DuetEditableTableActions | string;
5933
+ /**
5934
+ * Key used to set vertical alignment of action buttons
5935
+ */
5936
+ "alignment"?: string;
5937
+ /**
5938
+ * A string of commaseperated file type values that are allowed
5939
+ * @example : .pdf,.doc,.docx
5940
+ */
5941
+ "allowedExtensions"?: string;
5942
+ /**
5943
+ * A string of commaseperated mime type values that are allowed
5944
+ * @example : image/*,application/msword,
5945
+ */
5946
+ "allowedMimetypes"?: string;
5947
+ /**
5948
+ * Label of button
5949
+ * @default { fi: "Lisää liite", sv: "Lägg till en bilaga", en: "Add an attachment" }
5950
+ */
5951
+ "buttonLabel"?: string;
5952
+ /**
5953
+ * Property to change button label defaults on the component.
5954
+ * @default { fi: "Lisää liite", sv: "Lägg till en bilaga", en: "Add an attachment", }
5955
+ */
5956
+ "buttonLabelDefaults"?: DuetLangObject | string;
5957
+ /**
5958
+ * Caption (underneath label) that can be set as a way of adding extra information
5959
+ */
5960
+ "caption"?: string;
5961
+ /**
5962
+ * Description for the upload component.
5963
+ * @default { fi: "Voit liittää {filetypes}-muotoisia tiedostoja sekä yleisimpiä videotiedostoja. Voit lähettää {maxbytes} verran tiedostoja yhdellä kertaa, ja lisätä enintään {maxfiles} liitettä kerrallaan.", sv: "Du kan bifoga filer i flg. formater {filetypes} samt de vanligaste videofilerna. Du kan ladda upp {maxbytes} filer åt gången och lägga till upp till {maxfiles} bilagor åt gången.", en: "You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytes} of files at a time, and add up to {maxfiles} attachments at a time.", }
5964
+ */
5965
+ "description"?: string;
5966
+ /**
5967
+ * Property to change descriptionDefaults defaults on the component.
5968
+ * @default { fi: "Voit liittää {filetypes}-muotoisia tiedostoja sekä yleisimpiä videotiedostoja. Voit lähettää {maxbytes} verran tiedostoja yhdellä kertaa, ja lisätä enintään {maxfiles} liitettä kerrallaan.", sv: "Du kan bifoga filer i flg. formater {filetypes} samt de vanligaste videofilerna. Du kan ladda upp {maxbytes} filer åt gången och lägga till upp till {maxfiles} bilagor åt gången.", en: "You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytes} of files at a time, and add up to {maxfiles} attachments at a time.", }
5969
+ */
5970
+ "descriptionDefaults"?: DuetLangObject | string;
5971
+ /**
5972
+ * Makes the input component disabled. This prevents users from being able to interact with the upload component, and conveys its inactive state to assistive technologies.
5973
+ */
5974
+ "disabled"?: boolean;
5975
+ /**
5976
+ * Display the input in error state along with an error message.
5977
+ */
5978
+ "error"?: string;
5979
+ /**
5980
+ * If external is set to true, the upload component will not actually upload the files, but only keep states it will be up to you to handle the upload and return progress information to the upload-component
5981
+ */
5982
+ "external"?: boolean;
5983
+ /**
5984
+ * Label for the filelist's empty state.
5985
+ * @default { fi: "Ei vielä lisättyjä tiedostoja.",sv: "Inga filer har lagts till ännu.",en: "No files added yet."}
5986
+ */
5987
+ "fileListEmpty"?: string;
5988
+ /**
5989
+ * Defaults for the filelist's empty state.
5990
+ * @default { fi: "Ei vielä lisättyjä tiedostoja.", sv: "Inga filer har lagts till ännu.", en: "No files added yet.", }
5991
+ */
5992
+ "fileListEmptyDefaults"?: DuetLangObject | string;
5993
+ /**
5994
+ * Map of string that contain list of uploaded files.
5995
+ */
5996
+ "files"?: StringMap;
5997
+ /**
5998
+ * Array of group names that you want the editable table to use to display files
5999
+ * @required
6000
+ * @example [{ id: "success", label: {fi: "Onnistunut", en: "Success", sv: "Alt klart", }}]
6001
+ */
6002
+ "groups"?: DuetEditableTableGroupNames | string;
6003
+ /**
6004
+ * If set the upload component will not display an upload button, you will have to create one yourself and call the exposed method startUpload
6005
+ */
6006
+ "hideButton"?: boolean;
6007
+ /**
6008
+ * Visually hides the groups labels in the editable table list used to display the list of files
6009
+ */
6010
+ "hideGroups"?: boolean;
6011
+ /**
6012
+ * Adds a unique identifier for the upload component.
6013
+ */
6014
+ "identifier"?: string;
6015
+ /**
6016
+ * Label for the input.
6017
+ * @default { fi: "Lisää liite",sv: "Lägg till en bilaga",en: "Add attachments"}
6018
+ */
6019
+ "label"?: string;
6020
+ /**
6021
+ * Property to change labelDefaults defaults on the component. normally you would handle these strings on an application level and override @label when needed
6022
+ * @default { fi: "Lisää liite",sv: "Lägg till en bilaga",en: "Add attachments"}
6023
+ */
6024
+ "labelDefaults"?: DuetLangObject | string;
6025
+ /**
6026
+ * Use limitSelection to enforce the value in allowedExtension & allowedMimetypes when selecting files, by default this is off, setting this to true will limit the users choices to what has been explicitly set
6027
+ */
6028
+ "limitSelection"?: boolean;
6029
+ /**
6030
+ * Controls the margin of the component.
6031
+ */
6032
+ "margin"?: DuetMargin;
6033
+ /**
6034
+ * Use maxBytes to specify the maximum size in Bytes of a file that can be uploaded.
6035
+ */
6036
+ "maxBytes"?: number;
6037
+ /**
6038
+ * Use maxBytesTotal to specify the maximum size in Bytes of All files combined that can be uploaded.
6039
+ */
6040
+ "maxBytesTotal"?: number;
6041
+ /**
6042
+ * Use maxFiles to specify the maximum amount of files that can be uploaded
6043
+ */
6044
+ "maxFiles"?: number;
6045
+ /**
6046
+ * Use multiple to allow the user to select multiple files when uploading
6047
+ */
6048
+ "multiple"?: boolean;
6049
+ /**
6050
+ * Name of the upload component.
6051
+ */
6052
+ "name"?: string;
6053
+ /**
6054
+ * Emitted when the input loses focus.
6055
+ */
6056
+ "onDuetBlur"?: (event: CustomEvent<DuetUploadEvent>) => void;
6057
+ /**
6058
+ * Emitted when a user clicks cancel on an upload in progress
6059
+ */
6060
+ "onDuetCancel"?: (event: CustomEvent<DuetUploadEvent>) => void;
6061
+ /**
6062
+ * Emitted when the value has changed.
6063
+ */
6064
+ "onDuetChange"?: (event: CustomEvent<DuetUploadEvent>) => void;
6065
+ /**
6066
+ * Emitted when a user clicks delete to delete an uploaded file, or a file entry with error
6067
+ */
6068
+ "onDuetDelete"?: (event: CustomEvent<DuetUploadEvent>) => void;
6069
+ /**
6070
+ * Emitted when the current upload batch finishes
6071
+ */
6072
+ "onDuetDone"?: (event: CustomEvent<DuetUploadEvent>) => void;
6073
+ /**
6074
+ * Emitted when the input has focus.
6075
+ */
6076
+ "onDuetFocus"?: (event: CustomEvent<DuetUploadEvent>) => void;
6077
+ /**
6078
+ * Emitted when the file progress is updated.
6079
+ */
6080
+ "onDuetProgress"?: (event: CustomEvent<DuetUploadEvent>) => void;
6081
+ /**
6082
+ * Emitted when the current validation state changes internally
6083
+ */
6084
+ "onDuetState"?: (event: CustomEvent<DuetUploadEvent>) => void;
6085
+ /**
6086
+ * Emitted when the user clicks the upload button
6087
+ */
6088
+ "onDuetUpload"?: (event: CustomEvent<DuetUploadEvent>) => void;
6089
+ /**
6090
+ * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them. When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.
6091
+ */
6092
+ "required"?: boolean;
6093
+ /**
6094
+ * If enabled the editable-table will display links on successfully uploaded items, this requires the server can respond with link URIs in the correct format and that the files are accessible to the user
6095
+ */
6096
+ "showLinks"?: boolean;
6097
+ /**
6098
+ * Property to change the aria upload progress text read aloud by screenreaders
6099
+ * @default { 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: "tiedostoa", file: "tiedosto", }, }
6100
+ */
6101
+ "statusLabelDefaults"?: DuetLangObject | string;
6102
+ /**
6103
+ * Strings used for the status aria-label
6104
+ */
6105
+ "statusMessageLabel"?: StatusMessage | string;
6106
+ /**
6107
+ * Theme of the input.
6108
+ */
6109
+ "theme"?: DuetTheme;
6110
+ /**
6111
+ * Endpoint URI that is capable of receiving the files
6112
+ */
6113
+ "uri"?: string;
6114
+ /**
6115
+ * Property to read if the internally used editable-table contains errors or not
6116
+ */
6117
+ "valid"?: boolean;
6118
+ /**
6119
+ * Value of the input.
6120
+ */
6121
+ "value"?: string;
6122
+ }
6123
+ interface DuetUploadAriaStatus {
6124
+ /**
6125
+ * Adds accessible label that is read aloud
6126
+ */
6127
+ "accessibleAriaLive"?: "off" | "polite" | "assertive";
6128
+ /**
6129
+ * valid file amount
6130
+ */
6131
+ "inprogress"?: number;
6132
+ /**
6133
+ * invalid file amount
6134
+ */
6135
+ "invalid"?: number;
6136
+ /**
6137
+ * Status labels used in the component
6138
+ */
6139
+ "statusMessageLabel"?: StatusMessage;
6140
+ /**
6141
+ * total files
6142
+ */
6143
+ "total"?: number;
6144
+ /**
6145
+ * valid file amount
6146
+ */
6147
+ "valid"?: number;
6148
+ }
5355
6149
  interface DuetVisuallyHidden {
5356
6150
  }
5357
6151
  interface IntrinsicElements {
@@ -5367,6 +6161,9 @@ declare namespace LocalJSX {
5367
6161
  "duet-cookie-consent": DuetCookieConsent;
5368
6162
  "duet-date-picker": DuetDatePicker;
5369
6163
  "duet-divider": DuetDivider;
6164
+ "duet-editable-table": DuetEditableTable;
6165
+ "duet-editable-table-button": DuetEditableTableButton;
6166
+ "duet-editable-table-item": DuetEditableTableItem;
5370
6167
  "duet-empty-state": DuetEmptyState;
5371
6168
  "duet-fieldset": DuetFieldset;
5372
6169
  "duet-footer": DuetFooter;
@@ -5388,6 +6185,7 @@ declare namespace LocalJSX {
5388
6185
  "duet-notification-drawer": DuetNotificationDrawer;
5389
6186
  "duet-number-input": DuetNumberInput;
5390
6187
  "duet-paragraph": DuetParagraph;
6188
+ "duet-progress": DuetProgress;
5391
6189
  "duet-radio": DuetRadio;
5392
6190
  "duet-radio-group": DuetRadioGroup;
5393
6191
  "duet-range-slider": DuetRangeSlider;
@@ -5403,6 +6201,8 @@ declare namespace LocalJSX {
5403
6201
  "duet-toggle": DuetToggle;
5404
6202
  "duet-tooltip": DuetTooltip;
5405
6203
  "duet-tray": DuetTray;
6204
+ "duet-upload": DuetUpload;
6205
+ "duet-upload-aria-status": DuetUploadAriaStatus;
5406
6206
  "duet-visually-hidden": DuetVisuallyHidden;
5407
6207
  }
5408
6208
  }
@@ -5422,6 +6222,9 @@ declare module "@stencil/core" {
5422
6222
  "duet-cookie-consent": LocalJSX.DuetCookieConsent & JSXBase.HTMLAttributes<HTMLDuetCookieConsentElement>;
5423
6223
  "duet-date-picker": LocalJSX.DuetDatePicker & JSXBase.HTMLAttributes<HTMLDuetDatePickerElement>;
5424
6224
  "duet-divider": LocalJSX.DuetDivider & JSXBase.HTMLAttributes<HTMLDuetDividerElement>;
6225
+ "duet-editable-table": LocalJSX.DuetEditableTable & JSXBase.HTMLAttributes<HTMLDuetEditableTableElement>;
6226
+ "duet-editable-table-button": LocalJSX.DuetEditableTableButton & JSXBase.HTMLAttributes<HTMLDuetEditableTableButtonElement>;
6227
+ "duet-editable-table-item": LocalJSX.DuetEditableTableItem & JSXBase.HTMLAttributes<HTMLDuetEditableTableItemElement>;
5425
6228
  "duet-empty-state": LocalJSX.DuetEmptyState & JSXBase.HTMLAttributes<HTMLDuetEmptyStateElement>;
5426
6229
  "duet-fieldset": LocalJSX.DuetFieldset & JSXBase.HTMLAttributes<HTMLDuetFieldsetElement>;
5427
6230
  "duet-footer": LocalJSX.DuetFooter & JSXBase.HTMLAttributes<HTMLDuetFooterElement>;
@@ -5443,6 +6246,7 @@ declare module "@stencil/core" {
5443
6246
  "duet-notification-drawer": LocalJSX.DuetNotificationDrawer & JSXBase.HTMLAttributes<HTMLDuetNotificationDrawerElement>;
5444
6247
  "duet-number-input": LocalJSX.DuetNumberInput & JSXBase.HTMLAttributes<HTMLDuetNumberInputElement>;
5445
6248
  "duet-paragraph": LocalJSX.DuetParagraph & JSXBase.HTMLAttributes<HTMLDuetParagraphElement>;
6249
+ "duet-progress": LocalJSX.DuetProgress & JSXBase.HTMLAttributes<HTMLDuetProgressElement>;
5446
6250
  "duet-radio": LocalJSX.DuetRadio & JSXBase.HTMLAttributes<HTMLDuetRadioElement>;
5447
6251
  "duet-radio-group": LocalJSX.DuetRadioGroup & JSXBase.HTMLAttributes<HTMLDuetRadioGroupElement>;
5448
6252
  "duet-range-slider": LocalJSX.DuetRangeSlider & JSXBase.HTMLAttributes<HTMLDuetRangeSliderElement>;
@@ -5458,6 +6262,8 @@ declare module "@stencil/core" {
5458
6262
  "duet-toggle": LocalJSX.DuetToggle & JSXBase.HTMLAttributes<HTMLDuetToggleElement>;
5459
6263
  "duet-tooltip": LocalJSX.DuetTooltip & JSXBase.HTMLAttributes<HTMLDuetTooltipElement>;
5460
6264
  "duet-tray": LocalJSX.DuetTray & JSXBase.HTMLAttributes<HTMLDuetTrayElement>;
6265
+ "duet-upload": LocalJSX.DuetUpload & JSXBase.HTMLAttributes<HTMLDuetUploadElement>;
6266
+ "duet-upload-aria-status": LocalJSX.DuetUploadAriaStatus & JSXBase.HTMLAttributes<HTMLDuetUploadAriaStatusElement>;
5461
6267
  "duet-visually-hidden": LocalJSX.DuetVisuallyHidden & JSXBase.HTMLAttributes<HTMLDuetVisuallyHiddenElement>;
5462
6268
  }
5463
6269
  }