@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
@@ -53,6 +53,9 @@
53
53
  padding-bottom: 20px;
54
54
  border-bottom: 1px solid #e1e3e6;
55
55
  }
56
+ .duet-heading.duet-heading-border.duet-heading-border-solid {
57
+ border-bottom-color: #657787;
58
+ }
56
59
  .duet-heading.duet-heading-hyphenate {
57
60
  -webkit-hyphens: auto;
58
61
  hyphens: auto;
@@ -16,7 +16,7 @@ export class DuetHeading {
16
16
  */
17
17
  this.margin = "auto";
18
18
  /**
19
- * Enable or disable the border underneath the heading.
19
+ * Enable or disable the border underneath the heading, solid will darken the border
20
20
  */
21
21
  this.border = false;
22
22
  /**
@@ -53,7 +53,8 @@ export class DuetHeading {
53
53
  const color = getColorByName(this.color);
54
54
  return (h(TagName, { class: {
55
55
  "duet-heading": true,
56
- "duet-heading-border": this.border,
56
+ "duet-heading-border": this.border !== false,
57
+ "duet-heading-border-solid": this.border === "solid",
57
58
  "duet-semibold": this.weight === "semibold",
58
59
  "duet-heading-hyphenate": this.hyphenate,
59
60
  "duet-m-0": this.margin === "none",
@@ -140,18 +141,18 @@ export class DuetHeading {
140
141
  "reflect": false
141
142
  },
142
143
  "border": {
143
- "type": "boolean",
144
+ "type": "any",
144
145
  "mutable": false,
145
146
  "complexType": {
146
- "original": "boolean",
147
- "resolved": "boolean",
147
+ "original": "boolean | \"solid\"",
148
+ "resolved": "\"solid\" | boolean",
148
149
  "references": {}
149
150
  },
150
151
  "required": false,
151
152
  "optional": false,
152
153
  "docs": {
153
154
  "tags": [],
154
- "text": "Enable or disable the border underneath the heading."
155
+ "text": "Enable or disable the border underneath the heading, solid will darken the border"
155
156
  },
156
157
  "attribute": "border",
157
158
  "reflect": false,
@@ -84,11 +84,13 @@ export class DuetIcon {
84
84
  * Always the last one in the class.
85
85
  */
86
86
  render() {
87
- const color = this.color === "currentColor" ? "currentColor" : getColorByName(this.color) || getColorByName(this.outline);
87
+ const color = this.color === "currentColor"
88
+ ? "currentColor"
89
+ : getColorByName(this.color, this.theme) || getColorByName(this.outline, this.theme);
88
90
  const styles = {
89
91
  color,
90
- background: getColorByName(this.background),
91
- "border-color": getColorByName(this.outline),
92
+ background: getColorByName(this.background, this.theme),
93
+ "border-color": getColorByName(this.outline, this.theme),
92
94
  };
93
95
  return (h(Host, { class: {
94
96
  "duet-m-0": this.margin === "none",
@@ -63,6 +63,21 @@ duet-caption:not(:last-of-type) {
63
63
  margin-bottom: 0;
64
64
  }
65
65
 
66
+ .duet-input-placeholder {
67
+ position: absolute;
68
+ top: -9px;
69
+ left: 9px;
70
+ z-index: 200;
71
+ display: block;
72
+ width: auto;
73
+ max-width: 60%;
74
+ padding: 0 0.25rem;
75
+ overflow: hidden;
76
+ text-overflow: ellipsis;
77
+ white-space: nowrap;
78
+ background: white;
79
+ }
80
+
66
81
  .duet-input-icon {
67
82
  position: absolute;
68
83
  top: 50%;
@@ -140,7 +140,7 @@ export class DuetInput {
140
140
  // (in webkit based browsers settings value trigger cursor position and will set it to EndOfText)
141
141
  restoreCursor();
142
142
  }
143
- this.isCaptionVisible = !!(this.caption || (this.placeholder && this.echoPlaceholder && this.value));
143
+ this.isCaptionVisible = !!this.caption;
144
144
  const emitEvent = () => this.duetChange.emit({
145
145
  value: this.value,
146
146
  component: "duet-input",
@@ -159,7 +159,7 @@ export class DuetInput {
159
159
  componentWillLoad() {
160
160
  inheritGlobalTheme(this);
161
161
  this.disallowedPatternChange();
162
- this.isCaptionVisible = !!(this.caption || (this.placeholder && this.echoPlaceholder && this.value));
162
+ this.isCaptionVisible = !!this.caption;
163
163
  }
164
164
  /**
165
165
  * Sets focus on the specified `duet-input`. Use this method instead of the global
@@ -199,8 +199,8 @@ export class DuetInput {
199
199
  h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", id: this.labelId, for: identifier }, this.label),
200
200
  this.tooltip && (h("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)),
201
201
  this.caption && (h("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)),
202
- this.placeholder && this.echoPlaceholder && this.value && (h("duet-caption", { id: this.topCaptionPlaceholderId, size: "small" }, this.placeholder)),
203
202
  h("div", { class: "duet-input-relative" },
203
+ this.placeholder && this.echoPlaceholder && this.value && (h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-input-placeholder", margin: "none", size: "small" }, this.placeholder)),
204
204
  h("input", Object.assign({ ref: input => (this.nativeInput = input), onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, type: this.type, class: {
205
205
  "duet-input": true,
206
206
  disabled: this.disabled,
@@ -212,7 +212,7 @@ export class DuetInput {
212
212
  this.icon && (h("div", { class: "duet-input-icon" },
213
213
  h("duet-icon", { margin: "none", size: "small", name: this.icon, color: "currentColor" }))),
214
214
  h("slot", null)),
215
- h("span", { class: "duet-input-help", id: this.errorId, "aria-live": "assertive", "aria-relevant": "additions removals" }, this.error && h("span", null, this.error)))));
215
+ h("span", { class: "duet-input-help", id: this.errorId, "aria-live": "assertive", "aria-relevant": "additions removals" }, this.error && h("span", { class: "duet-input-error" }, this.error)))));
216
216
  }
217
217
  static get is() { return "duet-input"; }
218
218
  static get encapsulation() { return "scoped"; }
@@ -6,6 +6,9 @@ import { Build, Component, Fragment, h, Host, Method, Prop } from "@stencil/core
6
6
  import { DuetStringsExternalDefaults } from "../../common-strings";
7
7
  import { getLanguage, getLocaleString } from "../../utils/language-utils";
8
8
  import { inheritGlobalTheme } from "../../utils/themeable-component";
9
+ /**
10
+ * @part duet-link - piercing selector for styling the link
11
+ */
9
12
  export class DuetLink {
10
13
  constructor() {
11
14
  /**
@@ -61,7 +64,7 @@ export class DuetLink {
61
64
  "duet-link": true,
62
65
  "duet-link-is-external": this.external,
63
66
  "duet-theme-turva": this.theme === "turva",
64
- }, target: this.external ? "_blank" : "_self", "aria-label": this.accessibleLabel, id: this.identifier, ref: el => (this.nativeLink = el) },
67
+ }, target: this.external ? "_blank" : "_self", "aria-label": this.accessibleLabel, id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link" },
65
68
  h("slot", null),
66
69
  Build.isBrowser && this.external && (h(Fragment, null,
67
70
  h("duet-visually-hidden", null, this.accessibleLabelExternal),
@@ -39,12 +39,12 @@
39
39
  }
40
40
  :host dt,
41
41
  :host dd {
42
+ margin-inline-start: 0;
42
43
  -webkit-hyphens: auto;
43
44
  hyphens: auto;
44
45
  text-align: left;
45
46
  word-break: break-all;
46
47
  word-break: break-word;
47
- margin-inline-start: 0;
48
48
  }
49
49
  @media (max-width: 35.9375em) {
50
50
  :host dt,
@@ -52,6 +52,7 @@
52
52
  text-overflow: ellipsis;
53
53
  white-space: nowrap;
54
54
  cursor: pointer;
55
+ background-color: white;
55
56
  border-bottom: 1px solid #e1e3e6;
56
57
  border-radius: 0;
57
58
  -webkit-appearance: none;
@@ -66,7 +67,6 @@
66
67
  overflow: hidden;
67
68
  font-size: 0.875rem;
68
69
  line-height: 4rem;
69
- background-color: white;
70
70
  border: 0;
71
71
  border-radius: 4px;
72
72
  transition: border 300ms ease;
@@ -75,6 +75,7 @@
75
75
  .duet-theme-turva .duet-drawer-toggle {
76
76
  font-family: "turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
77
77
  color: #171c3a;
78
+ background-color: white;
78
79
  border-color: #e4e4e6;
79
80
  }
80
81
  .duet-drawer-toggle:active {
@@ -200,14 +201,14 @@
200
201
 
201
202
  .duet-drawer-content {
202
203
  display: none;
203
- background-color: #f5f8fa;
204
+ background-color: white;
204
205
  border-bottom: 1px solid #e1e3e6;
205
206
  }
206
207
  .duet-drawer-content:focus {
207
208
  outline: 0;
208
209
  }
209
210
  .duet-theme-turva .duet-drawer-content {
210
- background-color: #f5f5f7;
211
+ background-color: white;
211
212
  border-color: #e1e3e6;
212
213
  }
213
214
  @media (min-width: 62em) {
@@ -52,6 +52,12 @@
52
52
  .duet-paragraph.duet-paragraph-small {
53
53
  font-size: 0.875rem;
54
54
  }
55
+ .duet-paragraph.duet-paragraph-semi-bold {
56
+ font-weight: 600;
57
+ }
58
+ .duet-paragraph.duet-paragraph-bold {
59
+ font-weight: 700;
60
+ }
55
61
  .duet-paragraph.duet-m-0 {
56
62
  margin: 0 !important;
57
63
  }
@@ -4,10 +4,13 @@
4
4
  import { Component, Element, h, Prop } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../utils/themeable-component";
6
6
  import { getColorByName } from "../../utils/token-utils";
7
+ /**
8
+ * @part duet-paragraph - piercing selector for styling the paragraph
9
+ */
7
10
  export class DuetParagraph {
8
11
  constructor() {
9
12
  /**
10
- * Theme of the card.
13
+ * Theme of the paragraph.
11
14
  */
12
15
  this.theme = "";
13
16
  /**
@@ -18,6 +21,10 @@ export class DuetParagraph {
18
21
  * Controls the size of the paragraph.
19
22
  */
20
23
  this.size = "medium";
24
+ /**
25
+ * Controls the Font-Weight of the paragraph.
26
+ */
27
+ this.weight = undefined;
21
28
  /**
22
29
  * Style variation of the paragraph.
23
30
  */
@@ -43,10 +50,12 @@ export class DuetParagraph {
43
50
  return (h("p", { class: {
44
51
  "duet-paragraph": true,
45
52
  "duet-paragraph-small": this.size === "small",
53
+ "duet-paragraph-semi-bold": this.weight === "semi-bold",
54
+ "duet-paragraph-bold": this.weight === "bold",
46
55
  "duet-m-0": this.margin === "none",
47
56
  [this.variation]: true,
48
57
  "duet-theme-turva": this.theme === "turva",
49
- }, style: { color } },
58
+ }, style: { color }, part: "duet-paragraph" },
50
59
  h("slot", null)));
51
60
  }
52
61
  static get is() { return "duet-paragraph"; }
@@ -75,7 +84,7 @@ export class DuetParagraph {
75
84
  "optional": false,
76
85
  "docs": {
77
86
  "tags": [],
78
- "text": "Theme of the card."
87
+ "text": "Theme of the paragraph."
79
88
  },
80
89
  "attribute": "theme",
81
90
  "reflect": false,
@@ -126,6 +135,28 @@ export class DuetParagraph {
126
135
  "reflect": false,
127
136
  "defaultValue": "\"medium\""
128
137
  },
138
+ "weight": {
139
+ "type": "string",
140
+ "mutable": false,
141
+ "complexType": {
142
+ "original": "DuetParagraphWeight",
143
+ "resolved": "\"bold\" | \"semi-bold\"",
144
+ "references": {
145
+ "DuetParagraphWeight": {
146
+ "location": "local"
147
+ }
148
+ }
149
+ },
150
+ "required": false,
151
+ "optional": false,
152
+ "docs": {
153
+ "tags": [],
154
+ "text": "Controls the Font-Weight of the paragraph."
155
+ },
156
+ "attribute": "weight",
157
+ "reflect": false,
158
+ "defaultValue": "undefined"
159
+ },
129
160
  "variation": {
130
161
  "type": "string",
131
162
  "mutable": false,
@@ -0,0 +1,103 @@
1
+ *,
2
+ *::after,
3
+ *::before {
4
+ box-sizing: border-box;
5
+ padding: 0;
6
+ margin: 0;
7
+ background: transparent;
8
+ border: 0;
9
+ -moz-appearance: none;
10
+ -webkit-appearance: none;
11
+ appearance: none;
12
+ }
13
+
14
+ :host {
15
+ box-sizing: border-box;
16
+ padding: 0;
17
+ margin: 0;
18
+ background: transparent;
19
+ border: 0;
20
+ -moz-appearance: none;
21
+ -webkit-appearance: none;
22
+ appearance: none;
23
+ width: 100%;
24
+ height: inherit;
25
+ }
26
+
27
+ .duet-progress {
28
+ box-sizing: border-box;
29
+ padding: 0;
30
+ margin: 0;
31
+ background: transparent;
32
+ border: 0;
33
+ -moz-appearance: none;
34
+ -webkit-appearance: none;
35
+ appearance: none;
36
+ display: block;
37
+ width: 100%;
38
+ min-height: 1px;
39
+ /* fallback design of the default appearance */
40
+ }
41
+ .duet-progress .progress-bar {
42
+ position: relative;
43
+ display: block;
44
+ width: 100%;
45
+ height: inherit;
46
+ min-height: 1px;
47
+ background-color: #f3f9fc;
48
+ border-radius: 0;
49
+ box-shadow: none;
50
+ }
51
+ .duet-theme-turva .duet-progress .progress-bar {
52
+ background-color: #fcf3f4;
53
+ }
54
+ .duet-progress .progress-bar > span {
55
+ display: block;
56
+ height: inherit;
57
+ text-indent: -9999px;
58
+ background-color: #0077b3;
59
+ border-radius: 0;
60
+ }
61
+ .duet-theme-turva .duet-progress .progress-bar > span {
62
+ background-color: #c60c30;
63
+ }
64
+ .duet-progress progress[value] {
65
+ display: flex;
66
+ width: 100%;
67
+ height: inherit;
68
+ min-height: 1px;
69
+ /* For IE10 */
70
+ color: #0077b3;
71
+ /* Get rid of default border in Firefox. */
72
+ border: 0 none;
73
+ /* Reset the default appearance */
74
+ -webkit-appearance: none;
75
+ -moz-appearance: none;
76
+ appearance: none;
77
+ }
78
+ .duet-theme-turva .duet-progress progress[value] {
79
+ color: #c60c30;
80
+ }
81
+ .duet-progress progress[value]::-webkit-progress-bar {
82
+ background-color: #f3f9fc;
83
+ border-radius: 0;
84
+ }
85
+ .duet-theme-turva .duet-progress progress[value]::-webkit-progress-bar {
86
+ background-color: #fcf3f4;
87
+ }
88
+ .duet-progress progress[value]::-webkit-progress-value {
89
+ background-color: #0077b3;
90
+ background-size: 35px 20px, 100% 100%, 100% 100%;
91
+ border-radius: 0;
92
+ -webkit-animation: animate-stripes 5s linear infinite;
93
+ animation: animate-stripes 5s linear infinite;
94
+ }
95
+ .duet-theme-turva .duet-progress progress[value]::-webkit-progress-value {
96
+ background-color: #c60c30;
97
+ }
98
+ .duet-progress progress[value] ::-moz-progress-bar {
99
+ background-color: #f3f9fc;
100
+ }
101
+ .duet-theme-turva .duet-progress progress[value] ::-moz-progress-bar {
102
+ background-color: #fcf3f4;
103
+ }
@@ -0,0 +1,240 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { Component, Element, h, Host, Prop } from "@stencil/core";
5
+ import { createID } from "../../utils/create-id";
6
+ import { getLocaleString } from "../../utils/language-utils";
7
+ import { inheritGlobalTheme } from "../../utils/themeable-component";
8
+ export class DuetProgress {
9
+ constructor() {
10
+ /**
11
+ * Own Properties
12
+ */
13
+ this.progressId = createID("DuetProgress");
14
+ this.progressLabelId = createID("DuetProgressLabel");
15
+ /**
16
+ * Defaults for accessibleLabel
17
+ */
18
+ this.accessibleLabelUploadDefaults = {
19
+ fi: ["lähetys valmis", "lähetys käynnissä"],
20
+ sv: ["Uppladdningen är klar", "Uppladdning pågår"],
21
+ en: ["upload completed", "upload in progress"],
22
+ };
23
+ /**
24
+ * Adds accessible label for upload in progress and upload complete states
25
+ * @default {fi: ["lähetys valmis", "lähetys käynnissä"],sv: ["Uppladdningen är klar", "Uppladdning pågår"], en: ["completed", "in progress"]}
26
+ */
27
+ this.accessibleLabelUpload = getLocaleString(this.accessibleLabelUploadDefaults);
28
+ /**
29
+ * Progress of the bar, a value from 0-100
30
+ */
31
+ this.progress = 0;
32
+ /**
33
+ * Height of progressbar
34
+ */
35
+ this.height = "10px";
36
+ /**
37
+ * Theme of the input.
38
+ */
39
+ this.theme = "";
40
+ }
41
+ /**
42
+ * Component lifecycle events.
43
+ */
44
+ componentWillLoad() {
45
+ inheritGlobalTheme(this);
46
+ }
47
+ /**
48
+ * render() function
49
+ * Always the last one in the class.
50
+ */
51
+ render() {
52
+ return (h(Host, null,
53
+ h("div", { "aria-live": this.accessibleLabel ? "polite" : "off", "aria-hidden": this.accessibleLabel ? "false" : "true", "aria-atomic": "true", style: {
54
+ height: this.height,
55
+ }, id: this.progressId, class: {
56
+ "duet-progress": true,
57
+ "duet-progress-done": this.progress === 100,
58
+ "duet-progress-start": this.progress === 0,
59
+ "duet-progress-inprogress": this.progress < 99 && this.progress !== 0,
60
+ "duet-theme-turva": this.theme === "turva",
61
+ } },
62
+ h("duet-visually-hidden", null,
63
+ h("label", { htmlFor: this.progressLabelId }, this.progress !== 0 && (h("span", null,
64
+ this.accessibleLabel,
65
+ ", ",
66
+ this.accessibleLabelUpload[this.progress < 99 ? 1 : 0])))),
67
+ this.caption && (h("div", { class: "duet-progress-caption" },
68
+ h("span", null, this.caption))),
69
+ h("progress", { id: this.progressLabelId, "aria-describedby": this.accessibleDescribedBy, role: "progressbar", value: this.progress, max: "100", "aria-valuemin": "0", "aria-valuemax": "100" },
70
+ h("div", { class: "progress-bar" },
71
+ h("span", { style: { width: `${this.progress}%;` } },
72
+ "Progress: ",
73
+ this.progress,
74
+ "%"))))));
75
+ }
76
+ static get is() { return "duet-progress"; }
77
+ static get originalStyleUrls() { return {
78
+ "$": ["duet-progress.scss"]
79
+ }; }
80
+ static get styleUrls() { return {
81
+ "$": ["duet-progress.css"]
82
+ }; }
83
+ static get properties() { return {
84
+ "accessibleDescribedBy": {
85
+ "type": "string",
86
+ "mutable": false,
87
+ "complexType": {
88
+ "original": "string",
89
+ "resolved": "string",
90
+ "references": {}
91
+ },
92
+ "required": false,
93
+ "optional": false,
94
+ "docs": {
95
+ "tags": [],
96
+ "text": "Indicates the id of a component that describes the upload component."
97
+ },
98
+ "attribute": "accessible-described-by",
99
+ "reflect": false
100
+ },
101
+ "accessibleLabel": {
102
+ "type": "string",
103
+ "mutable": false,
104
+ "complexType": {
105
+ "original": "string",
106
+ "resolved": "string",
107
+ "references": {}
108
+ },
109
+ "required": false,
110
+ "optional": false,
111
+ "docs": {
112
+ "tags": [],
113
+ "text": "Indicates the aria-label of the component -\nthis will get combined with an label+uploading when uploading,\nand label+upload complete when upload is complete"
114
+ },
115
+ "attribute": "accessible-label",
116
+ "reflect": false
117
+ },
118
+ "accessibleLabelUploadDefaults": {
119
+ "type": "string",
120
+ "mutable": false,
121
+ "complexType": {
122
+ "original": "DuetLangObject | string",
123
+ "resolved": "DuetLangObject | string",
124
+ "references": {
125
+ "DuetLangObject": {
126
+ "location": "import",
127
+ "path": "../../utils/language-utils"
128
+ }
129
+ }
130
+ },
131
+ "required": false,
132
+ "optional": false,
133
+ "docs": {
134
+ "tags": [],
135
+ "text": "Defaults for accessibleLabel"
136
+ },
137
+ "attribute": "accessible-label-upload-defaults",
138
+ "reflect": false,
139
+ "defaultValue": "{\n fi: [\"l\u00E4hetys valmis\", \"l\u00E4hetys k\u00E4ynniss\u00E4\"],\n sv: [\"Uppladdningen \u00E4r klar\", \"Uppladdning p\u00E5g\u00E5r\"],\n en: [\"upload completed\", \"upload in progress\"],\n }"
140
+ },
141
+ "accessibleLabelUpload": {
142
+ "type": "string",
143
+ "mutable": false,
144
+ "complexType": {
145
+ "original": "string",
146
+ "resolved": "string",
147
+ "references": {}
148
+ },
149
+ "required": false,
150
+ "optional": false,
151
+ "docs": {
152
+ "tags": [{
153
+ "name": "default",
154
+ "text": "{fi: [\"l\u00E4hetys valmis\", \"l\u00E4hetys k\u00E4ynniss\u00E4\"],sv: [\"Uppladdningen \u00E4r klar\", \"Uppladdning p\u00E5g\u00E5r\"], en: [\"completed\", \"in progress\"]}"
155
+ }],
156
+ "text": "Adds accessible label for upload in progress and upload complete states"
157
+ },
158
+ "attribute": "accessible-label-upload",
159
+ "reflect": false,
160
+ "defaultValue": "getLocaleString(this.accessibleLabelUploadDefaults)"
161
+ },
162
+ "progress": {
163
+ "type": "number",
164
+ "mutable": true,
165
+ "complexType": {
166
+ "original": "number",
167
+ "resolved": "number",
168
+ "references": {}
169
+ },
170
+ "required": false,
171
+ "optional": false,
172
+ "docs": {
173
+ "tags": [],
174
+ "text": "Progress of the bar, a value from 0-100"
175
+ },
176
+ "attribute": "progress",
177
+ "reflect": true,
178
+ "defaultValue": "0"
179
+ },
180
+ "caption": {
181
+ "type": "string",
182
+ "mutable": false,
183
+ "complexType": {
184
+ "original": "string",
185
+ "resolved": "string",
186
+ "references": {}
187
+ },
188
+ "required": false,
189
+ "optional": false,
190
+ "docs": {
191
+ "tags": [],
192
+ "text": "Caption (underneath label) that can be set as a way of adding extra information"
193
+ },
194
+ "attribute": "caption",
195
+ "reflect": false
196
+ },
197
+ "height": {
198
+ "type": "string",
199
+ "mutable": false,
200
+ "complexType": {
201
+ "original": "string",
202
+ "resolved": "string",
203
+ "references": {}
204
+ },
205
+ "required": false,
206
+ "optional": false,
207
+ "docs": {
208
+ "tags": [],
209
+ "text": "Height of progressbar"
210
+ },
211
+ "attribute": "height",
212
+ "reflect": false,
213
+ "defaultValue": "\"10px\""
214
+ },
215
+ "theme": {
216
+ "type": "string",
217
+ "mutable": true,
218
+ "complexType": {
219
+ "original": "DuetTheme",
220
+ "resolved": "\"\" | \"default\" | \"turva\"",
221
+ "references": {
222
+ "DuetTheme": {
223
+ "location": "import",
224
+ "path": "../../common-types"
225
+ }
226
+ }
227
+ },
228
+ "required": false,
229
+ "optional": false,
230
+ "docs": {
231
+ "tags": [],
232
+ "text": "Theme of the input."
233
+ },
234
+ "attribute": "theme",
235
+ "reflect": false,
236
+ "defaultValue": "\"\""
237
+ }
238
+ }; }
239
+ static get elementRef() { return "element"; }
240
+ }
@@ -57,6 +57,21 @@ duet-tooltip {
57
57
  }
58
58
  }
59
59
 
60
+ .duet-select-placeholder {
61
+ position: absolute;
62
+ top: -9px;
63
+ left: 9px;
64
+ z-index: 200;
65
+ display: block;
66
+ width: auto;
67
+ max-width: 60%;
68
+ padding: 0 0.25rem;
69
+ overflow: hidden;
70
+ text-overflow: ellipsis;
71
+ white-space: nowrap;
72
+ background: white;
73
+ }
74
+
60
75
  .duet-select-container {
61
76
  position: relative;
62
77
  width: 100%;