@duetds/components 5.1.3 → 5.1.6

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 (298) hide show
  1. package/hydrate/index.js +225 -36
  2. package/lib/cjs/action-arrow-right-small-a25eb475.js +8 -0
  3. package/lib/cjs/duet-action-button.cjs.entry.js +17 -6
  4. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
  7. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +3 -4
  8. package/lib/cjs/duet-button_2.cjs.entry.js +5 -4
  9. package/lib/cjs/duet-caption_4.cjs.entry.js +3 -3
  10. package/lib/cjs/duet-card.cjs.entry.js +3 -3
  11. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  12. package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
  13. package/lib/cjs/duet-collapsible.cjs.entry.js +2 -2
  14. package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  16. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  17. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  18. package/lib/cjs/duet-editable-table_3.cjs.entry.js +105 -27
  19. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-footer.cjs.entry.js +23 -4
  22. package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
  23. package/lib/cjs/duet-header_2.cjs.entry.js +3 -3
  24. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-icon.cjs.entry.js +3 -3
  26. package/lib/cjs/duet-input_2.cjs.entry.js +56 -4
  27. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  29. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  30. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  32. package/lib/cjs/duet-pagination_2.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  36. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-step_2.cjs.entry.js +2 -2
  39. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  41. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  42. package/lib/cjs/duet-tray.cjs.entry.js +2 -2
  43. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  45. package/lib/cjs/duet.cjs.js +2 -2
  46. package/lib/cjs/{focus-utils-85b1fb81.js → focus-utils-9ccade35.js} +1 -1
  47. package/lib/cjs/{index-a29ba279.js → index-014f74e2.js} +1 -1
  48. package/lib/cjs/loader.cjs.js +2 -2
  49. package/lib/cjs/{token-utils-f402e205.js → token-utils-50a1f7e2.js} +16 -1
  50. package/lib/cjs/{tokens-8596cece.js → tokens-29450bcb.js} +3 -0
  51. package/lib/cjs/{tokens.module-6b2df1c2.js → tokens.module-ef598645.js} +2 -0
  52. package/lib/collection/components/duet-action-button/duet-action-button.css +2 -2
  53. package/lib/collection/components/duet-action-button/duet-action-button.js +14 -2
  54. package/lib/collection/components/duet-button/duet-button.css +48 -16
  55. package/lib/collection/components/duet-button/duet-button.js +2 -1
  56. package/lib/collection/components/duet-footer/duet-footer.css +154 -0
  57. package/lib/collection/components/duet-footer/duet-footer.js +135 -5
  58. package/lib/collection/components/duet-input/duet-input.css +49 -0
  59. package/lib/collection/components/duet-input/duet-input.js +132 -3
  60. package/lib/collection/components/duet-step/duet-step.js +1 -1
  61. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  62. package/lib/collection/components/duet-table/duet-table.js +1 -1
  63. package/lib/collection/components/duet-upload/duet-upload.js +136 -27
  64. package/lib/collection/components/duet-upload/upload-editable-item-pending.js +7 -0
  65. package/lib/collection/utils/token-utils.js +14 -0
  66. package/lib/custom-elements-bundle/index.js +216 -41
  67. package/lib/duet/duet.esm.js +1 -1
  68. package/lib/duet/duet.js +1 -1
  69. package/lib/duet/{p-632e25d1.system.entry.js → p-00e6a13d.system.entry.js} +1 -1
  70. package/lib/duet/{p-ac1e6f4b.system.js → p-0447601c.system.js} +1 -1
  71. package/lib/duet/{p-bc8c3ace.system.js → p-04b00c25.system.js} +1 -1
  72. package/lib/duet/{p-c435f7e8.entry.js → p-06fde0d1.entry.js} +1 -1
  73. package/lib/duet/{p-94dc3e07.system.entry.js → p-13d2c818.system.entry.js} +1 -1
  74. package/lib/duet/p-13df0560.system.entry.js +4 -0
  75. package/lib/duet/{p-62cc6d2a.entry.js → p-17c7514e.entry.js} +1 -1
  76. package/lib/duet/p-18cc5627.system.js +4 -0
  77. package/lib/duet/{p-ebd9782a.system.entry.js → p-19073b04.system.entry.js} +1 -1
  78. package/lib/duet/{p-497750f2.entry.js → p-1953f729.entry.js} +1 -1
  79. package/lib/duet/{p-b9120f45.system.entry.js → p-1faf5cfe.system.entry.js} +1 -1
  80. package/lib/duet/{p-bd322f8f.js → p-206285a6.js} +1 -1
  81. package/lib/duet/{p-28b24806.system.entry.js → p-21f33ec5.system.entry.js} +1 -1
  82. package/lib/duet/{p-c2ad83a9.entry.js → p-23779e01.entry.js} +1 -1
  83. package/lib/duet/{p-f2ad1371.entry.js → p-23b467cc.entry.js} +1 -1
  84. package/lib/duet/{p-3bf4c99a.entry.js → p-2999ea4f.entry.js} +1 -1
  85. package/lib/duet/p-2a9db427.system.entry.js +4 -0
  86. package/lib/duet/{p-e4d54f1e.system.entry.js → p-2daca660.system.entry.js} +1 -1
  87. package/lib/duet/{p-18e17e10.entry.js → p-2ed50edc.entry.js} +1 -1
  88. package/lib/duet/{p-8d4c33ed.system.entry.js → p-322ab135.system.entry.js} +1 -1
  89. package/lib/duet/{p-e530ae17.entry.js → p-35957177.entry.js} +1 -1
  90. package/lib/duet/p-377f68c5.system.entry.js +4 -0
  91. package/lib/duet/{p-ad07f399.js → p-398a79a0.js} +1 -1
  92. package/lib/duet/p-3cc51ea1.entry.js +4 -0
  93. package/lib/duet/{p-7dec1cfd.entry.js → p-412a2ce3.entry.js} +1 -1
  94. package/lib/duet/{p-6910ace8.system.entry.js → p-458c1110.system.entry.js} +1 -1
  95. package/lib/duet/p-47058313.entry.js +4 -0
  96. package/lib/duet/{p-aaed5ea2.entry.js → p-4727c5c5.entry.js} +1 -1
  97. package/lib/duet/{p-3e1145b2.entry.js → p-5104272f.entry.js} +1 -1
  98. package/lib/duet/{p-7e17fd75.system.entry.js → p-513d8f06.system.entry.js} +1 -1
  99. package/lib/duet/{p-0e6dd740.entry.js → p-5186bfcf.entry.js} +1 -1
  100. package/lib/duet/{p-acdd49f6.entry.js → p-520d1c93.entry.js} +1 -1
  101. package/lib/duet/p-54e3d301.system.entry.js +4 -0
  102. package/lib/duet/{p-28feed35.system.entry.js → p-56ed6884.system.entry.js} +1 -1
  103. package/lib/duet/p-5752ff1c.entry.js +4 -0
  104. package/lib/duet/p-583c5a60.entry.js +4 -0
  105. package/lib/duet/{p-995ecd9d.system.entry.js → p-5c085a4a.system.entry.js} +1 -1
  106. package/lib/duet/p-6190e2d6.system.js +4 -0
  107. package/lib/duet/{p-ca79fa1a.js → p-6194272d.js} +1 -1
  108. package/lib/duet/{p-f0f60ea3.entry.js → p-62915653.entry.js} +1 -1
  109. package/lib/duet/{p-c06452b7.system.entry.js → p-7020d5a8.system.entry.js} +1 -1
  110. package/lib/duet/{p-9318e1c2.system.entry.js → p-71c7fa31.system.entry.js} +1 -1
  111. package/lib/duet/{p-ffbe9ffc.entry.js → p-7a5bf551.entry.js} +1 -1
  112. package/lib/duet/p-7cbb6eba.js +4 -0
  113. package/lib/duet/{p-57f58be7.entry.js → p-7de2b748.entry.js} +1 -1
  114. package/lib/duet/{p-a6b6a918.system.entry.js → p-7fcbf42e.system.entry.js} +1 -1
  115. package/lib/duet/{p-5a434b4e.system.entry.js → p-84237fd2.system.entry.js} +1 -1
  116. package/lib/duet/{p-dea3d7f9.system.entry.js → p-8c8f15ed.system.entry.js} +1 -1
  117. package/lib/duet/{p-d460ac7d.entry.js → p-8fed1e36.entry.js} +1 -1
  118. package/lib/duet/{p-a3857cd4.system.entry.js → p-90870281.system.entry.js} +1 -1
  119. package/lib/duet/{p-b683fec1.system.entry.js → p-914a5315.system.entry.js} +1 -1
  120. package/lib/duet/{p-8ee6f874.system.entry.js → p-96e42603.system.entry.js} +1 -1
  121. package/lib/duet/p-97900023.entry.js +4 -0
  122. package/lib/duet/{p-20814483.entry.js → p-99bbbecd.entry.js} +1 -1
  123. package/lib/duet/p-9cca0bb4.js +4 -0
  124. package/lib/duet/p-9e759a4a.system.entry.js +4 -0
  125. package/lib/duet/{p-bd122a6e.system.entry.js → p-9e8afa21.system.entry.js} +1 -1
  126. package/lib/duet/{p-f8dd1339.entry.js → p-9ff69b54.entry.js} +1 -1
  127. package/lib/duet/{p-955b90c3.system.entry.js → p-a2eafa77.system.entry.js} +1 -1
  128. package/lib/duet/{p-2b250ac6.system.entry.js → p-a53ca782.system.entry.js} +1 -1
  129. package/lib/duet/{p-3f65158e.entry.js → p-a74ed7f0.entry.js} +1 -1
  130. package/lib/duet/p-a83aa6f3.entry.js +4 -0
  131. package/lib/duet/p-a93a04b9.system.js +4 -0
  132. package/lib/duet/p-a9bd0a4b.entry.js +4 -0
  133. package/lib/duet/{p-f42c4e0f.system.entry.js → p-abdf47c8.system.entry.js} +1 -1
  134. package/lib/duet/p-ad196791.system.js +4 -0
  135. package/lib/duet/{p-5e591b97.entry.js → p-ae7580c4.entry.js} +1 -1
  136. package/lib/duet/{p-cd07c340.entry.js → p-b04e51be.entry.js} +1 -1
  137. package/lib/duet/{p-456f44e9.system.entry.js → p-b1f08a11.system.entry.js} +1 -1
  138. package/lib/duet/{p-7df54c59.entry.js → p-b477f0b1.entry.js} +1 -1
  139. package/lib/duet/{p-2c31428e.system.entry.js → p-b504bfcc.system.entry.js} +1 -1
  140. package/lib/duet/{p-3e4a5b9c.entry.js → p-b8a6c198.entry.js} +1 -1
  141. package/lib/duet/{p-4268681b.entry.js → p-ba2d5d3b.entry.js} +1 -1
  142. package/lib/duet/p-bb05bcf9.entry.js +4 -0
  143. package/lib/duet/{p-ff5ddd90.system.entry.js → p-bbdbff69.system.entry.js} +1 -1
  144. package/lib/duet/{p-b7420414.entry.js → p-c1ec46db.entry.js} +1 -1
  145. package/lib/duet/{p-28e309f1.entry.js → p-c63e58e3.entry.js} +1 -1
  146. package/lib/duet/{p-adb092e7.entry.js → p-ce936701.entry.js} +1 -1
  147. package/lib/duet/{p-48307b31.entry.js → p-ced1983f.entry.js} +1 -1
  148. package/lib/duet/p-cf67a60b.entry.js +4 -0
  149. package/lib/duet/{p-28e6da82.system.entry.js → p-d132dde7.system.entry.js} +1 -1
  150. package/lib/duet/p-d1746325.js +4 -0
  151. package/lib/duet/p-d312b69e.system.entry.js +4 -0
  152. package/lib/duet/{p-b6cbe383.entry.js → p-d64b4b43.entry.js} +1 -1
  153. package/lib/duet/{p-5969399b.system.entry.js → p-dccd1711.system.entry.js} +1 -1
  154. package/lib/duet/{p-a056cc14.system.entry.js → p-dd58a713.system.entry.js} +1 -1
  155. package/lib/duet/{p-712c9016.system.entry.js → p-df8c5af0.system.entry.js} +1 -1
  156. package/lib/duet/{p-83be3810.entry.js → p-e21029cc.entry.js} +1 -1
  157. package/lib/duet/{p-cfe414d2.system.entry.js → p-e7d9d84b.system.entry.js} +1 -1
  158. package/lib/duet/{p-1c67e70d.system.entry.js → p-ed5c2f24.system.entry.js} +1 -1
  159. package/lib/duet/{p-53849160.entry.js → p-ef888954.entry.js} +1 -1
  160. package/lib/duet/{p-0304408d.system.entry.js → p-f3d0d952.system.entry.js} +1 -1
  161. package/lib/duet/p-f476cb84.system.js +4 -0
  162. package/lib/duet/{p-b9d3eeb1.system.entry.js → p-f8927797.system.entry.js} +1 -1
  163. package/lib/duet/{p-8e0bad03.entry.js → p-fb70b22b.entry.js} +1 -1
  164. package/lib/duet/{p-f4664942.system.entry.js → p-fb81d343.system.entry.js} +2 -2
  165. package/lib/duet/{p-21d7cb5d.system.entry.js → p-fece90db.system.entry.js} +1 -1
  166. package/lib/esm/action-arrow-right-small-f9d2ba83.js +6 -0
  167. package/lib/esm/duet-action-button.entry.js +17 -6
  168. package/lib/esm/duet-alert.entry.js +1 -1
  169. package/lib/esm/duet-badge.entry.js +1 -1
  170. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  171. package/lib/esm/duet-breadcrumbs.entry.js +2 -3
  172. package/lib/esm/duet-button_2.entry.js +5 -4
  173. package/lib/esm/duet-caption_4.entry.js +3 -3
  174. package/lib/esm/duet-card.entry.js +3 -3
  175. package/lib/esm/duet-checkbox.entry.js +1 -1
  176. package/lib/esm/duet-choice_2.entry.js +2 -2
  177. package/lib/esm/duet-collapsible.entry.js +2 -2
  178. package/lib/esm/duet-combobox.entry.js +1 -1
  179. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  180. package/lib/esm/duet-date-picker.entry.js +2 -2
  181. package/lib/esm/duet-divider_2.entry.js +1 -1
  182. package/lib/esm/duet-editable-table_3.entry.js +105 -27
  183. package/lib/esm/duet-empty-state.entry.js +1 -1
  184. package/lib/esm/duet-fieldset.entry.js +1 -1
  185. package/lib/esm/duet-footer.entry.js +23 -4
  186. package/lib/esm/duet-grid_2.entry.js +2 -2
  187. package/lib/esm/duet-header_2.entry.js +3 -3
  188. package/lib/esm/duet-hero.entry.js +1 -1
  189. package/lib/esm/duet-icon.entry.js +3 -3
  190. package/lib/esm/duet-input_2.entry.js +56 -4
  191. package/lib/esm/duet-layout.entry.js +1 -1
  192. package/lib/esm/duet-list_2.entry.js +1 -1
  193. package/lib/esm/duet-modal.entry.js +2 -2
  194. package/lib/esm/duet-notification_2.entry.js +1 -1
  195. package/lib/esm/duet-number-input.entry.js +1 -1
  196. package/lib/esm/duet-pagination_2.entry.js +1 -1
  197. package/lib/esm/duet-progress.entry.js +1 -1
  198. package/lib/esm/duet-radio_2.entry.js +1 -1
  199. package/lib/esm/duet-range-slider.entry.js +2 -2
  200. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  201. package/lib/esm/duet-select.entry.js +1 -1
  202. package/lib/esm/duet-step_2.entry.js +2 -2
  203. package/lib/esm/duet-textarea.entry.js +1 -1
  204. package/lib/esm/duet-toggle.entry.js +1 -1
  205. package/lib/esm/duet-tooltip.entry.js +1 -1
  206. package/lib/esm/duet-tray.entry.js +2 -2
  207. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  208. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  209. package/lib/esm/duet.js +2 -2
  210. package/lib/esm/{focus-utils-429ccac4.js → focus-utils-fe498b6c.js} +1 -1
  211. package/lib/esm/{index-089c3eed.js → index-715101b6.js} +1 -1
  212. package/lib/esm/loader.js +2 -2
  213. package/lib/esm/{token-utils-e9a69acf.js → token-utils-1f9435bc.js} +16 -2
  214. package/lib/esm/{tokens-e110dc89.js → tokens-8ff8c570.js} +3 -0
  215. package/lib/esm/{tokens.module-49cbf963.js → tokens.module-f4572ed7.js} +2 -0
  216. package/lib/esm-es5/action-arrow-right-small-f9d2ba83.js +4 -0
  217. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  218. package/lib/esm-es5/duet-alert.entry.js +1 -1
  219. package/lib/esm-es5/duet-badge.entry.js +1 -1
  220. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  221. package/lib/esm-es5/duet-breadcrumbs.entry.js +2 -2
  222. package/lib/esm-es5/duet-button_2.entry.js +2 -2
  223. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  224. package/lib/esm-es5/duet-card.entry.js +1 -1
  225. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  226. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  227. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  228. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  229. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  230. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  231. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  232. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  233. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  234. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  235. package/lib/esm-es5/duet-footer.entry.js +2 -2
  236. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  237. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  238. package/lib/esm-es5/duet-hero.entry.js +1 -1
  239. package/lib/esm-es5/duet-icon.entry.js +1 -1
  240. package/lib/esm-es5/duet-input_2.entry.js +2 -2
  241. package/lib/esm-es5/duet-layout.entry.js +1 -1
  242. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  243. package/lib/esm-es5/duet-modal.entry.js +1 -1
  244. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  245. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  246. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  247. package/lib/esm-es5/duet-progress.entry.js +1 -1
  248. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  249. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  250. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  251. package/lib/esm-es5/duet-select.entry.js +1 -1
  252. package/lib/esm-es5/duet-step_2.entry.js +2 -2
  253. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  254. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  255. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  256. package/lib/esm-es5/duet-tray.entry.js +1 -1
  257. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  258. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  259. package/lib/esm-es5/duet.js +1 -1
  260. package/lib/esm-es5/focus-utils-fe498b6c.js +4 -0
  261. package/lib/esm-es5/{index-089c3eed.js → index-715101b6.js} +1 -1
  262. package/lib/esm-es5/loader.js +1 -1
  263. package/lib/esm-es5/token-utils-1f9435bc.js +4 -0
  264. package/lib/esm-es5/tokens-8ff8c570.js +4 -0
  265. package/lib/esm-es5/{tokens.module-49cbf963.js → tokens.module-f4572ed7.js} +1 -1
  266. package/lib/types/components/duet-button/duet-button.d.ts +1 -1
  267. package/lib/types/components/duet-footer/duet-footer.d.ts +30 -1
  268. package/lib/types/components/duet-input/duet-input.d.ts +23 -0
  269. package/lib/types/components/duet-upload/duet-upload.d.ts +18 -1
  270. package/lib/types/components/duet-upload/upload-editable-item-pending.d.ts +6 -0
  271. package/lib/types/components.d.ts +71 -3
  272. package/lib/types/utils/token-utils.d.ts +1 -0
  273. package/package.json +5 -5
  274. package/lib/duet/p-021f4ce6.entry.js +0 -4
  275. package/lib/duet/p-165aeec8.system.entry.js +0 -4
  276. package/lib/duet/p-27189fa0.entry.js +0 -4
  277. package/lib/duet/p-4cb2c888.entry.js +0 -4
  278. package/lib/duet/p-4e2532c7.system.js +0 -4
  279. package/lib/duet/p-52b6d127.entry.js +0 -4
  280. package/lib/duet/p-694ebf05.entry.js +0 -4
  281. package/lib/duet/p-7888e2d8.entry.js +0 -4
  282. package/lib/duet/p-7ce6ba93.system.entry.js +0 -4
  283. package/lib/duet/p-80e16593.entry.js +0 -4
  284. package/lib/duet/p-8143f3de.js +0 -4
  285. package/lib/duet/p-86777eb7.system.js +0 -4
  286. package/lib/duet/p-93f9ccbc.system.entry.js +0 -4
  287. package/lib/duet/p-94def463.entry.js +0 -4
  288. package/lib/duet/p-ad4570bf.system.entry.js +0 -4
  289. package/lib/duet/p-b2d00c4b.system.entry.js +0 -4
  290. package/lib/duet/p-b48323e2.system.entry.js +0 -4
  291. package/lib/duet/p-c5c212fd.entry.js +0 -4
  292. package/lib/duet/p-cb445018.js +0 -4
  293. package/lib/duet/p-ddb6344c.system.js +0 -4
  294. package/lib/duet/p-fa99eaa4.system.js +0 -4
  295. package/lib/esm-es5/focus-utils-429ccac4.js +0 -4
  296. package/lib/esm-es5/token-utils-e9a69acf.js +0 -4
  297. package/lib/esm-es5/tokens-e110dc89.js +0 -4
  298. package/lib/html.html-data.json +0 -5325
@@ -2,7 +2,7 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  const NAMESPACE = 'duet';
5
- const Env = /* duet */ {"cdnURILocal":"http://0.0.0.0:3334","cdnURIProd":"https://cdn.duetds.com/api","duetIconVersion":"2.3.2"};
5
+ const Env = /* duet */ {"cdnURILocal":"http://0.0.0.0:3334","cdnURIProd":"https://cdn.duetds.com/api","duetIconVersion":"2.3.5"};
6
6
 
7
7
  let scopeId;
8
8
  let contentRef;
@@ -2011,6 +2011,7 @@ const opacity85 = "0.85";
2011
2011
  const opacity75 = "0.75";
2012
2012
  const opacity50 = "0.50";
2013
2013
  const opacity30 = "0.30";
2014
+ const zIndexMaskButtons = "250";
2014
2015
  const zIndexDropdown = "600";
2015
2016
  const zIndexSpinner = "800";
2016
2017
  const zIndexDefault = "1";
@@ -2161,6 +2162,7 @@ const tokens$2 = /*#__PURE__*/Object.freeze({
2161
2162
  opacity75: opacity75,
2162
2163
  opacity50: opacity50,
2163
2164
  opacity30: opacity30,
2165
+ zIndexMaskButtons: zIndexMaskButtons,
2164
2166
  zIndexDropdown: zIndexDropdown,
2165
2167
  zIndexSpinner: zIndexSpinner,
2166
2168
  zIndexDefault: zIndexDefault,
@@ -2259,8 +2261,22 @@ function convertToColorName(name = "", theme = "") {
2259
2261
  colorResolution = lowerCaseFirst(colorResolution);
2260
2262
  return colorResolution;
2261
2263
  }
2264
+ function shadeRGBColor(color, percent) {
2265
+ const f = color.split(","), t = percent < 0 ? 0 : 255, p = percent < 0 ? percent * -1 : percent;
2266
+ let R = parseInt(f[0].slice(4)), G = parseInt(f[1]), B = parseInt(f[2]);
2267
+ R = Math.round((t - R) * p) + R;
2268
+ G = Math.round((t - G) * p) + G;
2269
+ B = Math.round((t - B) * p) + B;
2270
+ R = R < 0 ? 0 : R;
2271
+ R = R > 255 ? 255 : R;
2272
+ G = G < 0 ? 0 : G;
2273
+ G = G > 255 ? 255 : G;
2274
+ B = B < 0 ? 0 : B;
2275
+ B = B > 255 ? 255 : B;
2276
+ return `rgb(${R},${G},${B})`;
2277
+ }
2262
2278
 
2263
- const duetActionButtonCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:inline-block;margin:0 auto}button.duet-action-button{white-space:nowrap}button.duet-action-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:auto !important;padding:0 !important;margin:0 0 0 8px !important;color:#00294d;cursor:pointer;background:#f5f8fa;border-radius:50%;transition:background-color 300ms ease !important}.duet-theme-turva button.duet-action-button{color:#171c3a;background:#f5f5f7}button.duet-action-button duet-icon{display:block}@media (max-width: 35.9375em){button.duet-action-button{width:32px;height:32px}}button.duet-action-button:not(:disabled):hover{background:#e9ecee !important}.duet-theme-turva button.duet-action-button:not(:disabled):hover{background:#e9e9eb !important}button.duet-action-button:focus{outline:0;box-shadow:0 0 0 2px #0077b3 !important}.duet-theme-turva button.duet-action-button:focus{box-shadow:0 0 0 2px #171c3a !important}button.duet-action-button:active:focus{background:#dddfe1 !important;box-shadow:none}.duet-theme-turva button.duet-action-button:active:focus{background:#ddddde !important}button.duet-action-button:disabled{color:#909599;cursor:default;background:#f5f8fa;opacity:0.75}.duet-theme-turva button.duet-action-button:disabled{color:#747475;background:#f5f5f7}";
2279
+ const duetActionButtonCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:inline-block;margin:0 auto}button.duet-action-button{white-space:nowrap}button.duet-action-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:auto !important;padding:0 !important;margin:0 0 0 8px !important;color:#00294d;cursor:pointer;background:#f5f8fa;border-radius:50%;transition:background-color 300ms ease !important}.duet-theme-turva button.duet-action-button{color:#171c3a;background:#f5f5f7}button.duet-action-button duet-icon{display:block}@media (max-width: 35.9375em){button.duet-action-button{width:32px;height:32px}}button.duet-action-button:not(:disabled):hover{background:#e9ecee}.duet-theme-turva button.duet-action-button:not(:disabled):hover{background:#e9e9eb}button.duet-action-button:focus{outline:0;box-shadow:0 0 0 2px #0077b3 !important}.duet-theme-turva button.duet-action-button:focus{box-shadow:0 0 0 2px #171c3a !important}button.duet-action-button:active:focus{background:#dddfe1 !important;box-shadow:none}.duet-theme-turva button.duet-action-button:active:focus{background:#ddddde !important}button.duet-action-button:disabled{color:#909599;cursor:default;background:#f5f8fa;opacity:0.75}.duet-theme-turva button.duet-action-button:disabled{color:#747475;background:#f5f5f7}";
2264
2280
 
2265
2281
  const DuetActionButton$1 = class extends H {
2266
2282
  constructor() {
@@ -2390,14 +2406,25 @@ const DuetActionButton$1 = class extends H {
2390
2406
  */
2391
2407
  render() {
2392
2408
  const color = this.color === "currentColor" ? "currentColor" : getColorByName(this.color, this.theme);
2409
+ const backgroundColor = getColorByName(this.background, this.theme);
2410
+ const backgroundHoverColor = backgroundColor ? shadeRGBColor(backgroundColor, -0.1) : backgroundColor;
2411
+ const backgroundStyles = backgroundColor
2412
+ ? `
2413
+ button.duet-action-button {
2414
+ background: ${backgroundColor} !important;
2415
+ }
2416
+ button.duet-action-button:not(:disabled):hover {
2417
+ background: ${backgroundHoverColor} !important;
2418
+ }
2419
+ `
2420
+ : "";
2393
2421
  const styles = {
2394
2422
  color,
2395
- background: getColorByName(this.background, this.theme),
2396
2423
  "border-color": getColorByName(this.iconColor, this.theme),
2397
2424
  "border-width": "1px",
2398
2425
  "border-style": "solid",
2399
2426
  };
2400
- return (h$1(Host, { onKeyDown: e => this.onKeyboardDown(e) }, h$1("button", { part: "button", style: styles, disabled: this.disabled, id: this.listId, class: {
2427
+ return (h$1(Host, { onKeyDown: e => this.onKeyboardDown(e) }, h$1("style", { innerHTML: backgroundStyles }), h$1("button", { part: "button", style: styles, disabled: this.disabled, id: this.listId, class: {
2401
2428
  "duet-action-button": true,
2402
2429
  "duet-action-button--disabled": this.disabled,
2403
2430
  [`duet-action-button--${this.theme}`]: this.theme !== "",
@@ -2649,7 +2676,7 @@ const DuetStringsExternalDefaults = {
2649
2676
  en: "Opens in a new window",
2650
2677
  };
2651
2678
 
2652
- const duetButtonCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;position:relative;z-index:1;display:inline-flex;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}:host:last-child,:host:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){:host{width:100%}}:host(.duet-small){margin-right:2px !important;margin-bottom:8px !important}:host(.duet-small):last-child,:host(.duet-small):last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){:host(.duet-small){width:auto}}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}:host(.duet-fixed){width:auto !important}:host(:last-child){margin-right:0 !important}.duet-button-container{position:relative;width:100%}.duet-button{padding:14px 27px 15px !important;-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;min-width:8rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;color:#0077b3 !important;text-align:center;text-decoration:none;cursor:pointer;background:transparent;border-style:solid;border-width:2px;border-radius:20rem;transition:background-color 300ms ease, color 300ms ease, border 300ms ease, box-shadow 300ms ease}.duet-button.duet-p-0{padding:0 !important}.duet-button.duet-m-0{margin:0 !important}.duet-button.duet-button-text-center{text-align:center !important}.duet-button.duet-button-is-small:not(.duet-button-icon-only){padding:9px 19px 10px !important;min-width:5.3333333333rem;font-size:0.875rem}.duet-button.duet-button-is-small:not(.duet-button-icon-only).icon{padding-left:48px !important}.duet-button.duet-button-is-small:not(.duet-button-icon-only).icon-right{padding-right:48px !important;padding-left:20px !important}.duet-theme-turva .duet-button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#c60c30 !important}.duet-button .duet-button-contents{position:relative;display:inline-block;margin:0 auto;pointer-events:none}.duet-button.duet-no-wrap{white-space:nowrap}.duet-button.icon{padding-left:52px !important}.duet-button.icon-right{padding-right:52px !important;padding-left:28px !important}.duet-button svg{width:100%;min-width:100%;fill:currentColor}.duet-button .duet-button-icon{position:absolute;top:50%;left:-28px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin:0 !important;transform:translateY(-50%)}.duet-button .duet-button-icon duet-icon{width:16px;height:16px}.duet-button .duet-button-icon.right{right:-28px;left:auto}.duet-button .duet-button-icon.large{left:-32px;width:20px;height:20px}.duet-button .duet-button-icon.large duet-icon{width:20px;height:20px}.duet-button .duet-button-icon.large.right{right:-32px;left:auto}.duet-button .duet-button-icon.medium-small{left:-16px;width:10px;height:10px;padding-top:1px}.duet-button .duet-button-icon.medium-small duet-icon{width:10px;height:10px}.duet-button .duet-button-icon.medium-small.right{right:-16px;left:auto}.duet-button .duet-button-icon.small{left:-16px;width:7px;height:7px}.duet-button .duet-button-icon.small duet-icon{width:7px;height:7px}.duet-button .duet-button-icon.small.right{right:-16px;left:auto}.duet-button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-button:active{opacity:0.75;transition:none}.duet-button.default{border-color:#e1e3e6}.duet-theme-turva .duet-button.default{color:#c60c30 !important;border-color:#e4e4e6}.duet-button.default:hover{border-color:#0077b3}.duet-theme-turva .duet-button.default:hover{border-color:#c60c30}.duet-button.default.duet-button-negative{background-color:white}.duet-theme-turva .duet-button.default.duet-button-negative{background-color:#e4e4e6 !important}.duet-button.default.duet-button-negative:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.default.duet-button-negative:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.primary{color:white !important;background:#0077b3;border-color:#0077b3}.duet-theme-turva .duet-button.primary{color:white !important;background:#c60c30;border-color:#c60c30}.duet-button.primary:hover{background:#005f8f;border-color:#005f8f;box-shadow:0 4px 20px rgba(34, 34, 34, 0.1)}.duet-theme-turva .duet-button.primary:hover{background:#940925;border-color:#940925}.duet-button.primary:focus{outline:0;box-shadow:0 0 0 1px white, 0 0 0 4px rgba(0, 119, 179, 0.75)}.duet-theme-turva .duet-button.primary:focus{box-shadow:0 0 0 1px white, 0 0 0 4px rgba(23, 28, 58, 0.7)}.duet-button.secondary{color:#00294d !important;background:transparent;border-color:#00294d}.duet-theme-turva .duet-button.secondary{color:#171c3a !important;border-color:#171c3a}.duet-button.secondary:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.secondary:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.secondary.duet-button-negative{color:#e1e3e6 !important;border-color:white}.duet-theme-turva .duet-button.secondary.duet-button-negative{color:#e4e4e6 !important}.duet-button.secondary.duet-button-negative:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.secondary.duet-button-negative:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.negative{color:#00294d !important;background:white;border-color:white}.duet-theme-turva .duet-button.negative{color:#171c3a !important}.duet-button.negative:hover{color:white !important;background:transparent;border-color:white}.duet-button.negative:focus{outline:0;box-shadow:0 0 0 1px #00294d, 0 0 0 4px rgba(255, 255, 255, 0.7)}.duet-theme-turva .duet-button.negative:focus{box-shadow:0 0 0 1px #171c3a, 0 0 0 4px rgba(255, 255, 255, 0.7)}.duet-button.destructive-primary{color:white !important;background:#de2362;border-color:#de2362}.duet-theme-turva .duet-button.destructive-primary{color:white !important;background:#e02a0d;border-color:#e02a0d}.duet-button.destructive-primary:hover{background:#b21c4e;border-color:#b21c4e;box-shadow:0 4px 20px rgba(34, 34, 34, 0.1)}.duet-theme-turva .duet-button.destructive-primary:hover{background:#b3220a}.duet-button.destructive,.duet-button.destructive-secondary{color:#de2362 !important;background:white;border-color:#de2362}.duet-theme-turva .duet-button.destructive,.duet-theme-turva .duet-button.destructive-secondary{color:#e02a0d !important;background:white;border-color:#e02a0d}.duet-button.destructive:hover,.duet-button.destructive-secondary:hover{color:white !important;background:#b21c4e;border-color:#b21c4e}.duet-theme-turva .duet-button.destructive:hover,.duet-theme-turva .duet-button.destructive-secondary:hover{color:white !important;background:#b3220a;border-color:#b3220a}.duet-button.plain{min-width:48px;padding-right:0 !important;padding-left:0 !important;line-height:1.5;text-align:left;background:transparent;border:0;border-color:transparent;border-radius:4px}.duet-theme-turva .duet-button.plain{color:#c60c30 !important;background:transparent;border-color:transparent}.duet-button.plain.icon{padding-left:20px !important}.duet-button.plain.icon.icon-right{padding-right:20px !important;padding-left:0 !important}.duet-button.plain.icon.medium{padding-left:24px !important}.duet-button.plain.icon.medium.icon-right{padding-right:24px !important;padding-left:0 !important}.duet-button.plain.icon.large{padding-left:30px !important}.duet-button.plain.icon.large.icon-right{padding-right:30px !important;padding-left:0 !important}.duet-button.plain .duet-button-icon.left{left:-16.6666666667px !important}.duet-button.plain .duet-button-icon.left.medium{left:-24px !important}.duet-button.plain .duet-button-icon.left.large{left:-30px !important}.duet-button.plain .duet-button-icon.right{right:-16.6666666667px !important}.duet-button.plain .duet-button-icon.right.medium{right:-24px !important}.duet-button.plain .duet-button-icon.right.large{right:-30px !important}.duet-button.plain[disabled]{color:#657787 !important;background:transparent !important;border-color:transparent !important}.duet-theme-turva .duet-button.plain[disabled]{color:transparent !important;background:transparent !important;border-color:#e4e4e6 !important}.duet-button.plain:hover{color:#004d80 !important;background:transparent !important}.duet-theme-turva .duet-button.plain:hover{color:#940925 !important}.duet-button.plain.duet-button-negative{color:white !important}.duet-theme-turva .duet-button.plain.duet-button-negative{color:#e4e4e6 !important}.duet-button.plain.duet-button-negative:hover{color:#0077b3 !important}.duet-theme-turva .duet-button.plain.duet-button-negative:hover{color:#c60c30 !important}.duet-button.duet-button-icon-only{min-width:48px;min-height:48px;padding:0 !important}.duet-button.duet-button-icon-only .duet-button-contents{position:static}.duet-button.duet-button-icon-only .duet-button-icon.left.large,.duet-button.duet-button-icon-only .duet-button-icon.left.medium,.duet-button.duet-button-icon-only .duet-button-icon.left.small{position:absolute;top:50% !important;left:50% !important;padding:0;margin:0;transform:translateX(-50%) translateY(-50%)}.duet-button[disabled],.duet-button[disabled]:hover,.duet-button.duet-button-negative[disabled],.duet-button.duet-button-negative[disabled]:hover{color:#657787 !important;background:#e1e3e6 !important;border-color:#e1e3e6 !important;box-shadow:none !important}.duet-theme-turva .duet-button[disabled],.duet-theme-turva .duet-button[disabled]:hover,.duet-theme-turva .duet-button.duet-button-negative [disabled],.duet-theme-turva .duet-button.duet-button-negative [disabled]:hover{color:#747475 !important;background:#e4e4e6 !important;border-color:#e4e4e6 !important}.duet-button-is-loading.primary{color:white}.duet-button-is-loading.default{color:#0077b3}.duet-button-is-loading.default.duet-theme-turva{color:#c60c30}.duet-button-is-loading .duet-button-contents{visibility:hidden;opacity:0}";
2679
+ const duetButtonCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;position:relative;z-index:1;display:inline-flex;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}:host:last-child,:host:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){:host{width:100%}}:host(.input-button){z-index:250}:host(.duet-small){margin-right:2px !important;margin-bottom:8px !important}:host(.duet-small):last-child,:host(.duet-small):last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){:host(.duet-small){width:auto}}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}:host(.duet-fixed){width:auto !important}:host(:last-child){margin-right:0 !important}.duet-button-container{position:relative;width:100%}.duet-button{padding:14px 27px 15px !important;-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;min-width:8rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;color:#0077b3 !important;text-align:center;text-decoration:none;cursor:pointer;background:transparent;border-style:solid;border-width:2px;border-radius:20rem;transition:background-color 300ms ease, color 300ms ease, border 300ms ease, box-shadow 300ms ease}.duet-button.duet-p-0{padding:0 !important}.duet-button.duet-m-0{margin:0 !important}.duet-button:not(.input-button-primary,.input-button-secondary){font-variant-numeric:tabular-nums}.duet-button.duet-button-text-center{text-align:center !important}.duet-button.duet-button-is-small:not(.duet-button-icon-only){padding:9px 19px 10px !important;min-width:5.3333333333rem;font-size:0.875rem}.duet-button.duet-button-is-small:not(.duet-button-icon-only).icon{padding-left:48px !important}.duet-button.duet-button-is-small:not(.duet-button-icon-only).icon-right{padding-right:48px !important;padding-left:20px !important}.duet-theme-turva .duet-button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#c60c30 !important}.duet-button .duet-button-contents{position:relative;display:inline-block;margin:0 auto;pointer-events:none}.duet-button.duet-no-wrap{white-space:nowrap}.duet-button.icon{padding-left:52px !important}.duet-button.icon-right{padding-right:52px !important;padding-left:28px !important}.duet-button svg{width:100%;min-width:100%;fill:currentColor}.duet-button .duet-button-icon{position:absolute;top:50%;left:-28px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin:0 !important;transform:translateY(-50%)}.duet-button .duet-button-icon duet-icon{width:16px;height:16px}.duet-button .duet-button-icon.right{right:-28px;left:auto}.duet-button .duet-button-icon.large{left:-32px;width:20px;height:20px}.duet-button .duet-button-icon.large duet-icon{width:20px;height:20px}.duet-button .duet-button-icon.large.right{right:-32px;left:auto}.duet-button .duet-button-icon.medium-small{left:-16px;width:10px;height:10px;padding-top:1px}.duet-button .duet-button-icon.medium-small duet-icon{width:10px;height:10px}.duet-button .duet-button-icon.medium-small.right{right:-16px;left:auto}.duet-button .duet-button-icon.small{left:-16px;width:7px;height:7px}.duet-button .duet-button-icon.small duet-icon{width:7px;height:7px}.duet-button .duet-button-icon.small.right{right:-16px;left:auto}.duet-button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-button:active{opacity:0.75;transition:none}.duet-button.default{border-color:#e1e3e6}.duet-theme-turva .duet-button.default{color:#c60c30 !important;border-color:#e4e4e6}.duet-button.default:hover{border-color:#0077b3}.duet-theme-turva .duet-button.default:hover{border-color:#c60c30}.duet-button.default.duet-button-negative{background-color:white}.duet-theme-turva .duet-button.default.duet-button-negative{background-color:#e4e4e6 !important}.duet-button.default.duet-button-negative:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.default.duet-button-negative:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.primary,.duet-button.input-button-primary{color:white !important;background:#0077b3;border-color:#0077b3}.duet-theme-turva .duet-button.primary,.duet-theme-turva .duet-button.input-button-primary{color:white !important;background:#c60c30;border-color:#c60c30}.duet-button.primary:hover,.duet-button.input-button-primary:hover{background:#005f8f;border-color:#005f8f;box-shadow:0 4px 20px rgba(34, 34, 34, 0.1)}.duet-theme-turva .duet-button.primary:hover,.duet-theme-turva .duet-button.input-button-primary:hover{background:#940925;border-color:#940925}.duet-button.primary:focus,.duet-button.input-button-primary:focus{outline:0;box-shadow:0 0 0 1px white, 0 0 0 4px rgba(0, 119, 179, 0.75)}.duet-theme-turva .duet-button.primary:focus,.duet-theme-turva .duet-button.input-button-primary:focus{box-shadow:0 0 0 1px white, 0 0 0 4px rgba(23, 28, 58, 0.7)}.duet-button.secondary,.duet-button.input-button-secondary{color:#00294d !important;background:transparent;border-color:#00294d}.duet-theme-turva .duet-button.secondary,.duet-theme-turva .duet-button.input-button-secondary{color:#171c3a !important;border-color:#171c3a}.duet-button.secondary:hover,.duet-button.input-button-secondary:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.secondary:hover,.duet-theme-turva .duet-button.input-button-secondary:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.secondary.duet-button-negative,.duet-button.input-button-secondary.duet-button-negative{color:#e1e3e6 !important;border-color:white}.duet-theme-turva .duet-button.secondary.duet-button-negative,.duet-theme-turva .duet-button.input-button-secondary.duet-button-negative{color:#e4e4e6 !important}.duet-button.secondary.duet-button-negative:hover,.duet-button.input-button-secondary.duet-button-negative:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.secondary.duet-button-negative:hover,.duet-theme-turva .duet-button.input-button-secondary.duet-button-negative:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.negative{color:#00294d !important;background:white;border-color:white}.duet-theme-turva .duet-button.negative{color:#171c3a !important}.duet-button.negative:hover{color:white !important;background:transparent;border-color:white}.duet-button.negative:focus{outline:0;box-shadow:0 0 0 1px #00294d, 0 0 0 4px rgba(255, 255, 255, 0.7)}.duet-theme-turva .duet-button.negative:focus{box-shadow:0 0 0 1px #171c3a, 0 0 0 4px rgba(255, 255, 255, 0.7)}.duet-button.destructive-primary{color:white !important;background:#de2362;border-color:#de2362}.duet-theme-turva .duet-button.destructive-primary{color:white !important;background:#e02a0d;border-color:#e02a0d}.duet-button.destructive-primary:hover{background:#b21c4e;border-color:#b21c4e;box-shadow:0 4px 20px rgba(34, 34, 34, 0.1)}.duet-theme-turva .duet-button.destructive-primary:hover{background:#b3220a}.duet-button.destructive,.duet-button.destructive-secondary{color:#de2362 !important;background:white;border-color:#de2362}.duet-theme-turva .duet-button.destructive,.duet-theme-turva .duet-button.destructive-secondary{color:#e02a0d !important;background:white;border-color:#e02a0d}.duet-button.destructive:hover,.duet-button.destructive-secondary:hover{color:white !important;background:#b21c4e;border-color:#b21c4e}.duet-theme-turva .duet-button.destructive:hover,.duet-theme-turva .duet-button.destructive-secondary:hover{color:white !important;background:#b3220a;border-color:#b3220a}.duet-button.plain{min-width:48px;padding-right:0 !important;padding-left:0 !important;line-height:1.5;text-align:left;background:transparent;border:0;border-color:transparent;border-radius:4px}.duet-theme-turva .duet-button.plain{color:#c60c30 !important;background:transparent;border-color:transparent}.duet-button.plain.icon{padding-left:20px !important}.duet-button.plain.icon.icon-right{padding-right:20px !important;padding-left:0 !important}.duet-button.plain.icon.medium{padding-left:24px !important}.duet-button.plain.icon.medium.icon-right{padding-right:24px !important;padding-left:0 !important}.duet-button.plain.icon.large{padding-left:30px !important}.duet-button.plain.icon.large.icon-right{padding-right:30px !important;padding-left:0 !important}.duet-button.plain .duet-button-icon.left{left:-16.6666666667px !important}.duet-button.plain .duet-button-icon.left.medium{left:-24px !important}.duet-button.plain .duet-button-icon.left.large{left:-30px !important}.duet-button.plain .duet-button-icon.right{right:-16.6666666667px !important}.duet-button.plain .duet-button-icon.right.medium{right:-24px !important}.duet-button.plain .duet-button-icon.right.large{right:-30px !important}.duet-button.plain[disabled]{color:#657787 !important;background:transparent !important;border-color:transparent !important}.duet-theme-turva .duet-button.plain[disabled]{color:transparent !important;background:transparent !important;border-color:#e4e4e6 !important}.duet-button.plain:hover{color:#004d80 !important;background:transparent !important}.duet-theme-turva .duet-button.plain:hover{color:#940925 !important}.duet-button.plain.duet-button-negative{color:white !important}.duet-theme-turva .duet-button.plain.duet-button-negative{color:#e4e4e6 !important}.duet-button.plain.duet-button-negative:hover{color:#0077b3 !important}.duet-theme-turva .duet-button.plain.duet-button-negative:hover{color:#c60c30 !important}.duet-button.duet-button-icon-only{min-width:48px;min-height:48px;padding:0 !important}.duet-button.duet-button-icon-only .duet-button-contents{position:static}.duet-button.duet-button-icon-only .duet-button-icon.left.large,.duet-button.duet-button-icon-only .duet-button-icon.left.medium,.duet-button.duet-button-icon-only .duet-button-icon.left.small{position:absolute;top:50% !important;left:50% !important;padding:0;margin:0;transform:translateX(-50%) translateY(-50%)}.duet-button.duet-button.input-button-primary,.duet-button.duet-button.input-button-secondary{box-sizing:content-box;min-width:48px;min-height:48px;padding:0 !important;border-width:1px;border-top-left-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:0}.duet-button.duet-button.input-button-primary .duet-button-contents,.duet-button.duet-button.input-button-secondary .duet-button-contents{position:static}.duet-button.duet-button.input-button-primary .duet-button-icon.left.large,.duet-button.duet-button.input-button-primary .duet-button-icon.left.medium,.duet-button.duet-button.input-button-primary .duet-button-icon.left.small,.duet-button.duet-button.input-button-secondary .duet-button-icon.left.large,.duet-button.duet-button.input-button-secondary .duet-button-icon.left.medium,.duet-button.duet-button.input-button-secondary .duet-button-icon.left.small{position:absolute;top:50% !important;left:50% !important;padding:0;margin:0;transform:translateX(-50%) translateY(-50%)}.duet-button[disabled],.duet-button[disabled]:hover,.duet-button.duet-button-negative[disabled],.duet-button.duet-button-negative[disabled]:hover{color:#657787 !important;background:#e1e3e6 !important;border-color:#e1e3e6 !important;box-shadow:none !important}.duet-theme-turva .duet-button[disabled],.duet-theme-turva .duet-button[disabled]:hover,.duet-theme-turva .duet-button.duet-button-negative [disabled],.duet-theme-turva .duet-button.duet-button-negative [disabled]:hover{color:#747475 !important;background:#e4e4e6 !important;border-color:#e4e4e6 !important}.duet-button-is-loading.primary,.duet-button-is-loading.input-button-primary{color:white}.duet-button-is-loading.default{color:#0077b3}.duet-button-is-loading.default.duet-theme-turva{color:#c60c30}.duet-button-is-loading .duet-button-contents{visibility:hidden;opacity:0}";
2653
2680
 
2654
2681
  const DuetButton$1 = class extends H {
2655
2682
  constructor() {
@@ -2876,6 +2903,7 @@ const DuetButton$1 = class extends H {
2876
2903
  "duet-small": this.size === "small",
2877
2904
  "duet-fixed": this.fixed,
2878
2905
  "duet-expand": this.expand,
2906
+ "input-button": this.variation === "input-button-primary" || this.variation === "input-button-secondary",
2879
2907
  } }, h$1("div", { class: {
2880
2908
  "duet-button-container": true,
2881
2909
  "duet-button-is-loading": this.loading,
@@ -3944,6 +3972,7 @@ const opacity_85 = "0.85";
3944
3972
  const opacity_75 = "0.75";
3945
3973
  const opacity_50 = "0.50";
3946
3974
  const opacity_30 = "0.30";
3975
+ const z_index_mask_buttons = "250";
3947
3976
  const z_index_dropdown = "600";
3948
3977
  const z_index_spinner = "800";
3949
3978
  const z_index_default = "1";
@@ -4092,6 +4121,7 @@ const tokens = {
4092
4121
  opacity_75: opacity_75,
4093
4122
  opacity_50: opacity_50,
4094
4123
  opacity_30: opacity_30,
4124
+ z_index_mask_buttons: z_index_mask_buttons,
4095
4125
  z_index_dropdown: z_index_dropdown,
4096
4126
  z_index_spinner: z_index_spinner,
4097
4127
  z_index_default: z_index_default,
@@ -4243,6 +4273,7 @@ const tokens$1 = /*#__PURE__*/Object.freeze({
4243
4273
  opacity_75: opacity_75,
4244
4274
  opacity_50: opacity_50,
4245
4275
  opacity_30: opacity_30,
4276
+ z_index_mask_buttons: z_index_mask_buttons,
4246
4277
  z_index_dropdown: z_index_dropdown,
4247
4278
  z_index_spinner: z_index_spinner,
4248
4279
  z_index_default: z_index_default,
@@ -5965,13 +5996,18 @@ var actionNewWindow={"title":"action-new-window","tags":"arrow open new window t
5965
5996
 
5966
5997
  var actionNewWindowSmall={"title":"action-new-window-small","tags":"arrow open new window tab external linksquare box rectangle action small","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M10.5 2a1.5 1.5 0 0 1 .14 3H3.75c-.38 0-.7.28-.74.65l-.01.1v14.5c0 .38.28.7.65.74l.1.01h14.5c.38 0 .7-.28.74-.65l.01-.1v-6.89a1.5 1.5 0 0 1 3 0v6.89A3.75 3.75 0 0 1 18.25 24H3.75A3.75 3.75 0 0 1 0 20.25V5.75A3.75 3.75 0 0 1 3.75 2zm12-2c.78 0 1.42.6 1.5 1.36V7.5a1.5 1.5 0 0 1-3 .14V5.12l-5.44 5.44a1.5 1.5 0 0 1-2.22-2l.1-.12L18.88 3H16.5A1.5 1.5 0 0 1 15 1.64V1.5c0-.78.6-1.42 1.36-1.5h.14z\"/></svg>"};
5967
5998
 
5968
- const duetFooterCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;flex-shrink:0;width:100%}.duet-footer{display:block;width:100%;padding-top:20px;padding-bottom:16px;margin-top:48px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:white;text-align:left;background:#00294d}.duet-footer.duet-p-0{padding:0 !important}.duet-footer.duet-m-0{margin:0 !important}@media (min-width: 36em){.duet-footer{padding-top:36px}}@media (min-width: 62em){.duet-footer{padding-top:48px;padding-bottom:36px}}.duet-footer.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:#c60c30}.duet-footer a{color:white;text-decoration:none}@media (min-width: 62em){.duet-footer a{border-radius:4px}}.duet-footer a:focus{outline:0}:host(.user-is-tabbing) .duet-footer a:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva a:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-footer-wrapper{position:relative;margin:0 auto}@media (min-width: 62em){.duet-footer-wrapper{padding:0 72px 0 48px}}@media (min-width: 76.25em){.duet-footer-wrapper{max-width:1110px;padding:0 20px 0 0}}.duet-footer-top{width:100%}@media (min-width: 62em){.duet-footer-top{display:flex;flex-direction:row;align-items:center;justify-content:space-between}}duet-logo{margin-left:16px !important}@media (min-width: 36em){duet-logo{margin-left:28px !important}}@media (min-width: 62em){duet-logo{margin-left:0 !important}}.duet-footer-link{padding:16px !important;display:flex;flex-direction:row;align-items:center;width:100%;font-weight:600;border-bottom:1px solid rgba(255, 255, 255, 0.2);transition:background-color 300ms ease}@media (min-width: 36em){.duet-footer-link{padding-right:20px !important;padding-left:28px !important}}@media (min-width: 62em){.duet-footer-link{width:auto;min-width:0;padding-right:0 !important;padding-left:0 !important;border:0}}.duet-footer-link:first-of-type{margin-top:20px;border-top:1px solid rgba(255, 255, 255, 0.2)}@media (min-width: 62em){.duet-footer-link:first-of-type{margin:0;border:0}}.duet-footer-link span{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duet-footer-link:hover{background:rgba(0, 0, 0, 0.1)}@media (min-width: 62em){.duet-footer-link:hover{background:transparent}}.duet-footer-icon{display:flex;align-items:center;justify-content:center;padding:12px;margin-right:16px;background:#0077b3;border-radius:50%;transition:300ms ease}.duet-theme-turva .duet-footer-icon{background:transparent;box-shadow:0 0 0 1px white}a:hover .duet-footer-icon{background:#006ba1}.duet-theme-turva a:hover .duet-footer-icon{background:transparent}.duet-footer-arrow{display:flex;align-items:center;justify-content:center;width:20px;min-width:20px;max-width:20px;height:20px;max-height:20px;margin-left:auto;color:white;transition:transform 300ms ease}@media (min-width: 62em){.duet-footer-arrow{width:10px;min-width:10px;margin-top:3px;margin-left:8px}}@media (min-width: 62em){.duet-footer-arrow{margin-right:0}}a:hover .duet-footer-arrow{transform:translateX(4px)}.duet-footer-arrow duet-icon{width:20px;height:20px}@media (min-width: 62em){.duet-footer-arrow duet-icon{width:10px;height:10px}}.duet-footer-menu{padding:20px !important;font-size:0.875rem}@media (min-width: 36em){.duet-footer-menu{padding:28px !important}}@media (min-width: 62em){.duet-footer-menu{padding-left:8px !important}}.duet-footer-menu a{display:inline-block;text-decoration:none;word-break:break-all}.duet-footer-menu a:hover,.duet-footer-menu a:focus{text-decoration:underline}.duet-footer-menu a:hover .duet-footer-divider,.duet-footer-menu a:focus .duet-footer-divider{text-decoration:none}.duet-footer-menu .duet-footer-divider{display:inline-block;margin:0 8px}.duet-footer-menu a:last-of-type .duet-footer-divider{display:none}.duet-footer-copyright{color:white}.duet-footer-simple{padding:0;margin:0;margin-top:16px;color:#00294d;background:transparent !important;border-top:1px solid #e1e3e6}.duet-footer-simple .duet-footer-wrapper{max-width:100%;padding:0 20px;margin:0}@media (min-width: 62em){.duet-footer-simple .duet-footer-wrapper{padding:0 36px}}@media (min-width: 106.25em){.duet-footer-simple .duet-footer-wrapper{padding:0 48px}}.duet-footer-simple .duet-footer-copyright,.duet-footer-simple .duet-footer-menu a{color:#00294d}.duet-footer-simple .duet-footer-menu{padding:20px 0 !important}.duet-footer-simple.duet-theme-turva{color:#171c3a;border-color:#e4e4e6}.duet-footer-simple.duet-theme-turva .duet-footer-copyright,.duet-footer-simple.duet-theme-turva .duet-footer-menu a{color:#171c3a}.duet-footer-external{display:inline-block;margin-left:4px;color:#0077b3}.duet-theme-turva .duet-footer-external{color:white}.duet-footer-simple.duet-theme-turva .duet-footer-external{color:#c60c30}";
5999
+ const duetFooterCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;flex-shrink:0;width:100%}.duet-footer{display:block;width:100%;padding-top:20px;padding-bottom:16px;margin-top:48px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:white;text-align:left;background:#00294d}.duet-footer.duet-p-0{padding:0 !important}.duet-footer.duet-m-0{margin:0 !important}@media (min-width: 36em){.duet-footer{padding-top:36px}}@media (min-width: 62em){.duet-footer{padding-top:48px;padding-bottom:36px}}.duet-footer.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:#c60c30}.duet-footer a{color:white;text-decoration:none}@media (min-width: 62em){.duet-footer a{border-radius:4px}}.duet-footer a:focus{outline:0}:host(.user-is-tabbing) .duet-footer a:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva a:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-footer-wrapper{position:relative;margin:0 auto}@media (min-width: 62em){.duet-footer-wrapper{padding:0 72px 0 48px}}@media (min-width: 76.25em){.duet-footer-wrapper{max-width:1110px;padding:0 20px 0 0}}.duet-footer-top{width:100%}@media (min-width: 62em){.duet-footer-top{display:flex;flex-direction:row;align-items:center;justify-content:space-between}}duet-logo{margin-left:16px !important}@media (min-width: 36em){duet-logo{margin-left:28px !important}}@media (min-width: 62em){duet-logo{margin-left:0 !important}}.duet-footer-link{padding:16px !important;display:flex;flex-direction:row;align-items:center;width:100%;font-weight:600;border-bottom:1px solid rgba(255, 255, 255, 0.2);transition:background-color 300ms ease}@media (min-width: 36em){.duet-footer-link{padding-right:20px !important;padding-left:28px !important}}@media (min-width: 62em){.duet-footer-link{width:auto;min-width:0;padding-right:0 !important;padding-left:0 !important;border:0}}.duet-footer-link:first-of-type{margin-top:20px;border-top:1px solid rgba(255, 255, 255, 0.2)}@media (min-width: 62em){.duet-footer-link:first-of-type{margin:0;border:0}}.duet-footer-link span{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duet-footer-link:hover{background:rgba(0, 0, 0, 0.1)}@media (min-width: 62em){.duet-footer-link:hover{background:transparent}}.duet-footer-icon{display:flex;align-items:center;justify-content:center;padding:12px;margin-right:16px;background:#0077b3;border-radius:50%;transition:300ms ease}.duet-theme-turva .duet-footer-icon{background:transparent;box-shadow:0 0 0 1px white}a:hover .duet-footer-icon{background:#006ba1}.duet-theme-turva a:hover .duet-footer-icon{background:transparent}.duet-footer-arrow{display:flex;align-items:center;justify-content:center;width:20px;min-width:20px;max-width:20px;height:20px;max-height:20px;margin-left:auto;color:white;transition:transform 300ms ease}@media (min-width: 62em){.duet-footer-arrow{width:10px;min-width:10px;margin-top:3px;margin-left:8px}}@media (min-width: 62em){.duet-footer-arrow{margin-right:0}}a:hover .duet-footer-arrow{transform:translateX(4px)}.duet-footer-arrow duet-icon{width:20px;height:20px}@media (min-width: 62em){.duet-footer-arrow duet-icon{width:10px;height:10px}}.duet-footer-menu{padding:20px !important;font-size:0.875rem}@media (min-width: 36em){.duet-footer-menu{padding:28px !important}}@media (min-width: 62em){.duet-footer-menu{padding-left:8px !important}}.duet-footer-menu a{display:inline-block;text-decoration:none;word-break:break-all}.duet-footer-menu a:hover,.duet-footer-menu a:focus{text-decoration:underline}.duet-footer-menu a:hover .duet-footer-divider,.duet-footer-menu a:focus .duet-footer-divider{text-decoration:none}.duet-footer-menu .duet-footer-divider{display:inline-block;margin:0 8px}.duet-footer-menu a:last-of-type .duet-footer-divider{display:none}.duet-footer-copyright{color:white}.duet-footer-simple{padding:0;margin:0;margin-top:16px;color:#00294d;background:transparent !important;border-top:1px solid #e1e3e6}.duet-footer-simple .duet-footer-wrapper{max-width:100%;padding:0 20px;margin:0}@media (min-width: 62em){.duet-footer-simple .duet-footer-wrapper{padding:0 36px}}@media (min-width: 106.25em){.duet-footer-simple .duet-footer-wrapper{padding:0 48px}}.duet-footer-simple .duet-footer-copyright,.duet-footer-simple .duet-footer-menu a{color:#00294d}.duet-footer-simple .duet-footer-menu{padding:20px 0 !important}.duet-footer-simple.duet-theme-turva{color:#171c3a;border-color:#e4e4e6}.duet-footer-simple.duet-theme-turva .duet-footer-copyright,.duet-footer-simple.duet-theme-turva .duet-footer-menu a{color:#171c3a}.duet-footer-multilevel duet-logo{margin-left:0.5rem !important}@media (min-width: 62em){.duet-footer-multilevel duet-logo{margin-left:-0.5rem !important}}.duet-footer-multilevel .duet-footer-link{padding:0.5rem 1.25rem !important;border:0}.duet-footer-multilevel .duet-footer-link:first-of-type{margin:0}.duet-footer-multilevel .duet-footer-link .duet-footer-arrow{margin-left:0.5rem}.duet-footer-multilevel .duet-footer-link .duet-footer-arrow duet-icon{width:0.75rem;height:0.75rem}@media (min-width: 62em){.duet-footer-multilevel .duet-footer-link{padding:0.75rem 0 !important}}.duet-footer-multilevel .duet-footer-top{flex-direction:column;gap:1rem 0;align-items:flex-start}@media (min-width: 62em){.duet-footer-multilevel .multilevel{display:flex;justify-content:space-between;width:100%}}.duet-footer-multilevel .multilevel-main-item{margin-top:1.25rem}@media (min-width: 62em){.duet-footer-multilevel .multilevel-main-item{margin-top:0}}.duet-footer-multilevel .multilevel-main-item .duet-footer-link{padding:0 0.5 1.25rem !important;font-weight:700}@media (min-width: 62em){.duet-footer-multilevel .multilevel-main-item .duet-footer-link{padding:0 0 0.5rem !important}}@media (min-width: 62em){.duet-footer-multilevel .multilevel-primary-items{column-gap:0;width:100%;columns:3}.duet-footer-multilevel .multilevel-primary-items .duet-footer-link{display:inline-flex}}.duet-footer-multilevel .multilevel-secondary-items .duet-footer-link{padding:0.875rem 1.25rem !important;font-weight:700}.duet-footer-multilevel .multilevel-secondary-items .duet-footer-link:first-child{padding:1.25rem 1.25rem 0.875rem !important}@media (min-width: 62em){.duet-footer-multilevel .multilevel-secondary-items{display:grid;grid-template-columns:repeat(3, 1fr);width:100%}.duet-footer-multilevel .multilevel-secondary-items .duet-footer-link,.duet-footer-multilevel .multilevel-secondary-items .duet-footer-link:first-child{display:inline-flex;padding:1rem 0 !important}}.duet-footer-multilevel .multilevel-right .duet-footer-link:first-child{padding-top:0.875rem !important;font-weight:700}@media (min-width: 62em){.duet-footer-multilevel .multilevel-right .duet-footer-link{padding:0.375rem 0 !important;font-size:0.875rem;font-weight:400}.duet-footer-multilevel .multilevel-right .duet-footer-link:first-child{padding-top:0 !important;font-size:1rem;font-weight:600}.duet-footer-multilevel .multilevel-right .tertiary-main-item .duet-footer-arrow{display:none}}.duet-footer-multilevel .duet-footer-menu{padding:1.25rem !important;line-height:2.5}@media (min-width: 62em){.duet-footer-multilevel .duet-footer-menu{padding-right:0 !important;padding-left:0 !important;text-align:right}}.duet-footer-multilevel .duet-footer-copyright{display:none;font-size:0.875rem}@media (min-width: 62em){.duet-footer-multilevel .duet-footer-copyright{position:absolute;left:48px;display:inline}}@media (min-width: 76.25em){.duet-footer-multilevel .duet-footer-copyright{left:0}}.duet-footer-multilevel .duet-footer-copyright.duet-footer-copyright-mobile{display:block;padding-top:0.5rem;padding-bottom:1.25rem;text-align:center}@media (min-width: 62em){.duet-footer-multilevel .duet-footer-copyright.duet-footer-copyright-mobile{display:none}}.duet-footer-multilevel.duet-theme-turva .duet-footer-copyright-mobile{padding-left:1.25rem;text-align:left}.duet-footer-multilevel.duet-theme-turva .duet-footer-icon{color:#171c3a;background:white}.duet-footer-multilevel.duet-theme-turva a:hover .duet-footer-icon{background:#e6e6e6}.duet-footer-external{display:inline-block;margin-left:4px;color:#0077b3}.duet-theme-turva .duet-footer-external{color:white}.duet-footer-simple.duet-theme-turva .duet-footer-external{color:#c60c30}";
5969
6000
 
5970
6001
  const i18n$1 = {
5971
6002
  fi: { lahi: "© LähiTapiola", turva: "© Turva" },
5972
6003
  sv: { lahi: "© LokalTapiola", turva: "© Turva" },
5973
6004
  en: { lahi: "© LocalTapiola", turva: "© Turva" },
5974
6005
  };
6006
+ const i18nMultilevel = {
6007
+ fi: { lahi: "© LähiTapiola", turva: "© Keskinäinen Vakuutusyhtiö Turva" },
6008
+ sv: { lahi: "© LokalTapiola", turva: "© Keskinäinen Vakuutusyhtiö Turva" },
6009
+ en: { lahi: "© LocalTapiola", turva: "© Keskinäinen Vakuutusyhtiö Turva" },
6010
+ };
5975
6011
  const createEvent$1 = (ev, data) => ({
5976
6012
  component: "duet-footer",
5977
6013
  data,
@@ -5991,7 +6027,11 @@ const DuetFooter$1 = class extends H {
5991
6027
  * State() variables
5992
6028
  * Inlined decorator, alphabetical order.
5993
6029
  */
6030
+ this.processedMainItem = null;
5994
6031
  this.processedItems = null;
6032
+ this.processedSecondaryItems = null;
6033
+ this.processedTertiaryMainItem = null;
6034
+ this.processedTertiaryItems = null;
5995
6035
  this.processedMenu = null;
5996
6036
  /**
5997
6037
  * Theme of the navigation.
@@ -6066,7 +6106,11 @@ const DuetFooter$1 = class extends H {
6066
6106
  * Local methods
6067
6107
  */
6068
6108
  async refresh() {
6109
+ this.processedMainItem = parsePossibleJSON(this.mainItem);
6069
6110
  this.processedItems = parsePossibleJSON(this.items);
6111
+ this.processedSecondaryItems = parsePossibleJSON(this.secondaryItems);
6112
+ this.processedTertiaryMainItem = parsePossibleJSON(this.tertiaryMainItem);
6113
+ this.processedTertiaryItems = parsePossibleJSON(this.tertiaryItems);
6070
6114
  this.processedMenu = parsePossibleJSON(this.menu);
6071
6115
  }
6072
6116
  /**
@@ -6074,16 +6118,20 @@ const DuetFooter$1 = class extends H {
6074
6118
  * Always the last one in the class.
6075
6119
  */
6076
6120
  render() {
6077
- const text = getLocaleString(i18n$1);
6121
+ const text = this.variation === "multilevel" ? getLocaleString(i18nMultilevel) : getLocaleString(i18n$1);
6078
6122
  const copyrightLabel = this.theme === "turva" ? text.turva : text.lahi;
6079
6123
  return (h$1("footer", { class: {
6080
6124
  "duet-footer": true,
6081
6125
  "duet-m-0": this.margin === "none",
6082
6126
  "duet-theme-turva": this.theme === "turva",
6083
6127
  "duet-footer-simple": this.variation === "simple",
6128
+ "duet-footer-multilevel": this.variation === "multilevel",
6084
6129
  } }, h$1("div", { class: "duet-footer-wrapper" }, h$1("div", { class: "duet-footer-top", part: "top" }, this.variation !== "simple" && (h$1("duet-logo", { href: this.logoHref, onClick: this.handleLogoClick, size: "large", inverse: true, language: this.language, theme: this.theme })), this.processedItems &&
6085
6130
  this.variation !== "simple" &&
6086
- this.processedItems.map(item => (h$1("a", { class: "duet-footer-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleItemClick(event, item) }, h$1("div", { class: "duet-footer-icon" }, h$1("duet-icon", { size: "medium", margin: "none", name: item.icon, color: "currentColor" })), h$1("span", null, item.label), item.external && h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h$1("div", { class: "duet-footer-arrow" }, item.external ? (h$1("duet-icon", { icon: actionNewWindow.svg, size: "xx-small", margin: "none", color: "currentColor" })) : (h$1("duet-icon", { icon: actionArrowRight.svg, size: "auto", margin: "none", color: "currentColor" }))))))), h$1("p", { class: "duet-footer-menu", part: "menu" }, h$1("span", { class: "duet-footer-copyright" }, `${copyrightLabel} ${new Date().getFullYear()}`), this.processedMenu && (h$1(Fragment$1, null, h$1("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/"), this.processedMenu.map(item => (h$1("a", { href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleMenuClick(event, item) }, item.label, item.external && (h$1(Fragment$1, null, h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h$1("div", { class: "duet-footer-external" }, h$1("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))), h$1("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/"))))))))));
6131
+ this.variation !== "multilevel" &&
6132
+ this.processedItems.map(item => (h$1("a", { class: "duet-footer-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleItemClick(event, item) }, h$1("div", { class: "duet-footer-icon" }, h$1("duet-icon", { size: "medium", margin: "none", name: item.icon, color: "currentColor" })), h$1("span", null, item.label), item.external && h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h$1("div", { class: "duet-footer-arrow" }, item.external ? (h$1("duet-icon", { icon: actionNewWindow.svg, size: "xx-small", margin: "none", color: "currentColor" })) : (h$1("duet-icon", { icon: actionArrowRight.svg, size: "auto", margin: "none", color: "currentColor" })))))), this.processedItems && this.variation === "multilevel" && (h$1("div", { class: "multilevel" }, h$1("div", { class: "multilevel-left" }, h$1("div", { class: "multilevel-main-item" }, this.processedMainItem && (h$1("a", { class: "duet-footer-link", href: this.processedMainItem.href, id: this.processedMainItem.id, target: this.processedMainItem.external ? "_blank" : "_self", onClick: event => this.handleItemClick(event, this.processedMainItem) }, h$1("span", null, this.processedMainItem.label), this.processedMainItem.external && (h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal)), h$1("div", { class: "duet-footer-arrow" }, this.processedMainItem.external && (h$1("duet-icon", { icon: actionNewWindow.svg, size: "xx-small", margin: "none", color: "currentColor" })))))), h$1("div", { class: "multilevel-primary-items" }, this.processedItems.map(item => (h$1("a", { class: "duet-footer-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleItemClick(event, item) }, h$1("div", { class: "duet-footer-icon" }, h$1("duet-icon", { size: "small", margin: "none", name: item.icon, color: "currentColor" })), h$1("span", null, item.label), item.external && h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h$1("div", { class: "duet-footer-arrow" }, item.external && (h$1("duet-icon", { icon: actionNewWindow.svg, size: "xx-small", margin: "none", color: "currentColor" }))))))), h$1("div", { class: "multilevel-secondary-items" }, this.processedSecondaryItems &&
6133
+ this.processedSecondaryItems.map(item => (h$1("a", { class: "duet-footer-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleItemClick(event, item) }, h$1("span", null, item.label), item.external && (h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal)), h$1("div", { class: "duet-footer-arrow" }, item.external ? (h$1("duet-icon", { icon: actionNewWindow.svg, size: "xx-small", margin: "none", color: "currentColor" })) : (h$1("duet-icon", { icon: actionArrowRightSmall.svg, size: "auto", margin: "none", color: "currentColor" })))))))), h$1("div", { class: "multilevel-right" }, this.processedTertiaryMainItem && (h$1("span", { class: "duet-footer-link tertiary-main-item", id: this.processedTertiaryMainItem.id }, h$1("span", null, this.processedTertiaryMainItem.label), this.processedTertiaryMainItem.external && (h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal)), h$1("div", { class: "duet-footer-arrow" }, h$1("duet-icon", { icon: actionArrowDownSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))), this.processedTertiaryItems &&
6134
+ this.processedTertiaryItems.map(item => (h$1("a", { class: "duet-footer-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleItemClick(event, item) }, h$1("span", null, item.label), item.external && h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h$1("div", { class: "duet-footer-arrow" }, item.external && (h$1("duet-icon", { icon: actionNewWindow.svg, size: "xx-small", margin: "none", color: "currentColor" })))))))))), h$1("slot", { name: "extra" }), h$1("p", { class: "duet-footer-menu", part: "menu" }, h$1("span", { class: "duet-footer-copyright" }, `${copyrightLabel} ${new Date().getFullYear()}`), this.processedMenu && (h$1(Fragment$1, null, this.variation !== "multilevel" && (h$1("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/")), this.processedMenu.map(item => (h$1("a", { href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleMenuClick(event, item) }, item.label, item.external && (h$1(Fragment$1, null, h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h$1("div", { class: "duet-footer-external" }, h$1("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))), h$1("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/"))))))), this.variation === "multilevel" && (h$1("p", { class: "duet-footer-copyright duet-footer-copyright-mobile" }, `${copyrightLabel} ${new Date().getFullYear()}`)))));
6087
6135
  }
6088
6136
  get element() { return this; }
6089
6137
  static get watchers() { return {
@@ -7651,7 +7699,7 @@ function cleanValue(input, regex) {
7651
7699
  return newValue;
7652
7700
  }
7653
7701
 
7654
- const duetInputCss = "*.sc-duet-input,*.sc-duet-input::after,*.sc-duet-input::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-input-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:bottom}.sc-duet-input-h:last-child,.sc-duet-input-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-input-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-input-h{width:100% !important}.duet-m-0.sc-duet-input-h{margin:0 !important}duet-tooltip.sc-duet-input{position:absolute;top:12px;right:0}@media (min-width: 48em){duet-tooltip.sc-duet-input{position:relative;top:4px;right:auto}}duet-caption.sc-duet-input:not(:last-of-type){margin-bottom:0}.duet-input-placeholder.sc-duet-input{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:white}.duet-input-icon.sc-duet-input{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;font-size:0;line-height:normal;color:#00294d;pointer-events:none;transform:translateY(-50%)}.duet-theme-turva.sc-duet-input .duet-input-icon.sc-duet-input{color:#171c3a}.duet-input-container.sc-duet-input{position:relative;width:100%;height:100%}.duet-input.sc-duet-input{position:relative;z-index:100;display:block !important;width:100% !important;min-width:8rem;max-width:initial !important;height:auto !important;padding:12px 14px !important;margin:initial !important;margin-bottom:initial !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400 !important;font-variant-numeric:tabular-nums;line-height:1.5 !important;color:#00294d !important;cursor:initial !important;background:white !important;background-clip:initial !important;border:1px solid #909599 !important;border-radius:4px !important;box-shadow:initial !important;transition:box-shadow 150ms ease, border 150ms ease !important}.duet-input.is-number.sc-duet-input{padding-right:112px !important}.duet-input.is-date.sc-duet-input{padding-right:64px !important}.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:#de2362 !important}.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:#de2362 !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:#e02a0d !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:#e02a0d !important}.has-icon.sc-duet-input .duet-input.sc-duet-input{padding-right:48px !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a !important;border-color:#747475 !important}.duet-input.sc-duet-input::-ms-clear{display:none}.duet-input.sc-duet-input::-webkit-contacts-auto-fill-button{display:none !important}.duet-input.sc-duet-input::-webkit-input-placeholder{color:#657787;opacity:1 !important;transition:color 300ms ease}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-webkit-input-placeholder{color:#747475}.duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:#cfcfd1}.duet-input.sc-duet-input::-moz-placeholder{color:#657787;opacity:1 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-moz-placeholder{color:#747475}.duet-input.sc-duet-input:focus::-moz-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-moz-placeholder{color:#cfcfd1}.duet-input.sc-duet-input:-ms-input-placeholder{color:#657787}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:-ms-input-placeholder{color:#747475}.duet-input.sc-duet-input:focus:-ms-input-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus:-ms-input-placeholder{color:#cfcfd1}.duet-input[disabled].sc-duet-input{color:#00294d !important;cursor:text !important;background:#f5f8fa !important;border-color:#f5f8fa !important;box-shadow:none !important;opacity:1 !important;-webkit-text-fill-color:#00294d !important}.duet-theme-turva.sc-duet-input .duet-input[disabled].sc-duet-input{color:#171c3a !important;background:#f5f5f7 !important;border-color:#f5f5f7 !important;-webkit-text-fill-color:#171c3a !important}.duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #909599 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #747475 !important}.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #e02a0d}.duet-input.sc-duet-input:focus{border-color:#0077b3 !important;outline:0;box-shadow:0 0 0 1px #0077b3 !important;transition:none}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus{border-color:#171c3a !important;box-shadow:0 0 0 1px #171c3a !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:#171c3a}.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #e02a0d}.duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:#0077b3}.duet-input[type=search].sc-duet-input:not(:placeholder-shown):focus+.duet-input-icon.sc-duet-input{display:none}.duet-input.sc-duet-input:not(:focus):not(:hover):invalid{box-shadow:none !important}.duet-input[type=number].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=number].sc-duet-input::-webkit-outer-spin-button,.duet-input[type=time].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=time].sc-duet-input::-webkit-outer-spin-button{display:none;margin:0;-webkit-appearance:none}.duet-input.sc-duet-input::-webkit-search-cancel-button{margin-right:-28px}.duet-input-help.sc-duet-input{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#657787;border-radius:4px}.duet-input-help.sc-duet-input span.sc-duet-input{display:block;margin-top:8px}.duet-theme-turva.sc-duet-input .duet-input-help.sc-duet-input{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#747475}.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:#de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:#e02a0d}.duet-label-hidden.sc-duet-input duet-label.sc-duet-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.duet-input-relative.sc-duet-input{position:relative;width:100%}";
7702
+ const duetInputCss = "*.sc-duet-input,*.sc-duet-input::after,*.sc-duet-input::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-input-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:bottom}.sc-duet-input-h:last-child,.sc-duet-input-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-input-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-input-h{width:100% !important}.duet-m-0.sc-duet-input-h{margin:0 !important}duet-tooltip.sc-duet-input{position:absolute;top:12px;right:0}@media (min-width: 48em){duet-tooltip.sc-duet-input{position:relative;top:4px;right:auto}}duet-caption.sc-duet-input:not(:last-of-type){margin-bottom:0}.duet-input-placeholder.sc-duet-input{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:white}.duet-input-icon.sc-duet-input{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;font-size:0;line-height:normal;color:#00294d;pointer-events:none;transform:translateY(-50%)}.duet-theme-turva.sc-duet-input .duet-input-icon.sc-duet-input{color:#171c3a}.duet-input-container.sc-duet-input{position:relative;width:100%;height:100%}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input{position:relative;z-index:250}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input{position:absolute;top:-24px;right:0;min-width:48px;min-height:48px}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva.sc-duet-input .duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:active{opacity:0.75;transition:none}.duet-input-container.has-clear.has-icon.sc-duet-input .duet-input-clear-icon.sc-duet-input{top:-24px;right:24px}.duet-input.sc-duet-input{position:relative;z-index:100;display:block !important;width:100% !important;min-width:8rem;max-width:initial !important;height:auto !important;padding:12px 14px !important;margin:initial !important;margin-bottom:initial !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400 !important;font-variant-numeric:tabular-nums;line-height:1.5 !important;color:#00294d !important;cursor:initial !important;background:white !important;background-clip:initial !important;border:1px solid #909599 !important;border-radius:4px !important;box-shadow:initial !important;transition:box-shadow 150ms ease, border 150ms ease !important}.duet-input.is-number.sc-duet-input{padding-right:112px !important}.duet-input.is-date.sc-duet-input{padding-right:64px !important}.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:#de2362 !important}.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:#de2362 !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:#e02a0d !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:#e02a0d !important}.has-icon.sc-duet-input .duet-input.sc-duet-input{padding-right:48px !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a !important;border-color:#747475 !important}.duet-input.sc-duet-input::-ms-clear{display:none}.duet-input.sc-duet-input::-webkit-contacts-auto-fill-button{display:none !important}.duet-input.sc-duet-input::-webkit-input-placeholder{color:#657787;opacity:1 !important;transition:color 300ms ease}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-webkit-input-placeholder{color:#747475}.duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:#cfcfd1}.duet-input.sc-duet-input::-moz-placeholder{color:#657787;opacity:1 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-moz-placeholder{color:#747475}.duet-input.sc-duet-input:focus::-moz-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-moz-placeholder{color:#cfcfd1}.duet-input.sc-duet-input:-ms-input-placeholder{color:#657787}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:-ms-input-placeholder{color:#747475}.duet-input.sc-duet-input:focus:-ms-input-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus:-ms-input-placeholder{color:#cfcfd1}.duet-input[disabled].sc-duet-input{color:#00294d !important;cursor:text !important;background:#f5f8fa !important;border-color:#f5f8fa !important;box-shadow:none !important;opacity:1 !important;-webkit-text-fill-color:#00294d !important}.duet-theme-turva.sc-duet-input .duet-input[disabled].sc-duet-input{color:#171c3a !important;background:#f5f5f7 !important;border-color:#f5f5f7 !important;-webkit-text-fill-color:#171c3a !important}.duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #909599 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #747475 !important}.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #e02a0d}.duet-input.sc-duet-input:focus{border-color:#0077b3 !important;outline:0;box-shadow:0 0 0 1px #0077b3 !important;transition:none}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus{border-color:#171c3a !important;box-shadow:0 0 0 1px #171c3a !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:#171c3a}.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #e02a0d}.duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:#0077b3}.duet-input[type=search].sc-duet-input:not(:placeholder-shown):focus+.duet-input-icon.sc-duet-input{display:none}.duet-input.sc-duet-input:not(:focus):not(:hover):invalid{box-shadow:none !important}.duet-input[type=number].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=number].sc-duet-input::-webkit-outer-spin-button,.duet-input[type=time].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=time].sc-duet-input::-webkit-outer-spin-button{display:none;margin:0;-webkit-appearance:none}.duet-input.sc-duet-input::-webkit-search-cancel-button{margin-right:-28px}.duet-input-help.sc-duet-input{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#657787;border-radius:4px}.duet-input-help.sc-duet-input span.sc-duet-input{display:block;margin-top:8px}.duet-theme-turva.sc-duet-input .duet-input-help.sc-duet-input{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#747475}.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:#de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:#e02a0d}.duet-label-hidden.sc-duet-input duet-label.sc-duet-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.duet-input-relative.sc-duet-input{position:relative;width:100%}.duet-input-variation-button.sc-duet-input{position:relative;width:100%}.duet-input-variation-button.sc-duet-input .duet-input-relative.sc-duet-input{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;width:auto}.duet-input-variation-button.sc-duet-input .duet-input-relative.sc-duet-input duet-button.sc-duet-input{z-index:250;margin-bottom:0}.duet-input-variation-button.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input{border-right-width:0 !important;border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}";
7655
7703
 
7656
7704
  const icons = {
7657
7705
  search: formSearch,
@@ -7664,16 +7712,23 @@ const DuetInput$1 = class extends H {
7664
7712
  this.duetInput = createEvent$2(this, "duetInput", 7);
7665
7713
  this.duetChange = createEvent$2(this, "duetChange", 3);
7666
7714
  this.duetBlur = createEvent$2(this, "duetBlur", 7);
7715
+ this.duetClear = createEvent$2(this, "duetClear", 7);
7667
7716
  this.duetFocus = createEvent$2(this, "duetFocus", 7);
7668
7717
  /**
7669
7718
  * Own Properties
7670
7719
  */
7671
7720
  this.inputId = createID("DuetInput");
7721
+ this.clearId = createID("DuetInputClear");
7672
7722
  this.labelId = createID("DuetLabel");
7673
7723
  this.topCaptionId = createID("DuetCaptionTop");
7674
7724
  this.topCaptionPlaceholderId = createID("DuetCaptionPlaceholderTop");
7675
7725
  this.errorId = createID("DuetError");
7676
7726
  this.disallowPatternRegex = null;
7727
+ this.clearLabel = getLocaleString({
7728
+ en: "Clear",
7729
+ fi: "Tyhjennä",
7730
+ sv: "Rensa",
7731
+ });
7677
7732
  /**
7678
7733
  * Indicates the id of a component that describes the input.
7679
7734
  */
@@ -7687,6 +7742,10 @@ const DuetInput$1 = class extends H {
7687
7742
  * event after each keystroke.
7688
7743
  */
7689
7744
  this.debounce = 0;
7745
+ /**
7746
+ * If set, the input field will display a clear button that can be accessed with tabbing.
7747
+ */
7748
+ this.clear = false;
7690
7749
  /**
7691
7750
  * If form input field has a placeholder text, and user types anything (causing the placeholder text to disappear),
7692
7751
  * settings this to true will "echo" it into the caption slot - this option will be false by default for the next few versions, but will eventually be true by default (scheduled for 4.30.0)
@@ -7720,6 +7779,10 @@ const DuetInput$1 = class extends H {
7720
7779
  * Type of the input.
7721
7780
  */
7722
7781
  this.type = "text";
7782
+ /**
7783
+ * Variation of button.
7784
+ */
7785
+ this.variation = "default";
7723
7786
  /**
7724
7787
  * Label for the input.
7725
7788
  */
@@ -7787,6 +7850,13 @@ const DuetInput$1 = class extends H {
7787
7850
  component: "duet-input",
7788
7851
  });
7789
7852
  };
7853
+ this.onClear = (ev) => {
7854
+ this.duetFocus.emit({
7855
+ originalEvent: ev,
7856
+ value: this.value,
7857
+ component: "duet-input",
7858
+ });
7859
+ };
7790
7860
  /** Private functions
7791
7861
  *
7792
7862
  */
@@ -7806,6 +7876,17 @@ const DuetInput$1 = class extends H {
7806
7876
  }
7807
7877
  return describedBy;
7808
7878
  };
7879
+ this.handleClearClick = event => {
7880
+ const clearing = this.clearInput();
7881
+ this.onClear(event);
7882
+ return clearing;
7883
+ };
7884
+ this.keyHandler = event => {
7885
+ if (isEscapeKey(event) && this.clear) {
7886
+ this.handleClearClick(event);
7887
+ }
7888
+ return event;
7889
+ };
7809
7890
  }
7810
7891
  disallowedPatternChange() {
7811
7892
  this.disallowPatternRegex = this.disallowPattern ? new RegExp(this.disallowPattern, "g") : null;
@@ -7860,6 +7941,16 @@ const DuetInput$1 = class extends H {
7860
7941
  restoreCursor();
7861
7942
  }
7862
7943
  }
7944
+ /**
7945
+ * Reset the cursor position on the native element
7946
+ * `input.resetCursor()`.
7947
+ */
7948
+ async clearInput() {
7949
+ if (this.nativeInput) {
7950
+ this.nativeInput.value = "";
7951
+ this.value = "";
7952
+ }
7953
+ }
7863
7954
  /**
7864
7955
  * render() function
7865
7956
  * Always the last one in the class.
@@ -7877,19 +7968,25 @@ const DuetInput$1 = class extends H {
7877
7968
  else if (!this.pattern && this.type === "tel") {
7878
7969
  inputProps.pattern = "[0-9+ ]+";
7879
7970
  }
7880
- return (h$1(Host, { class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" } }, h$1("div", { class: {
7971
+ return (h$1(Host, { class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" }, onKeyUp: e => this.keyHandler(e) }, h$1("div", { class: {
7881
7972
  "duet-input-container": true,
7882
7973
  "duet-theme-turva": this.theme === "turva",
7974
+ [`duet-input-variation-${this.variation}`]: true,
7883
7975
  "duet-label-hidden": this.labelHidden,
7884
7976
  "duet-input-top-caption-shown": this.isCaptionVisible,
7885
7977
  "has-icon": !!this.icon || (this.type !== "text" && this.type !== "tel" && this.type !== "password"),
7886
7978
  "has-error": !!this.error,
7979
+ "has-clear": this.clear,
7887
7980
  } }, h$1("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), this.tooltip && (h$1("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), this.caption && (h$1("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), h$1("div", { class: "duet-input-relative" }, this.placeholder && this.echoPlaceholder && this.value && (h$1("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-input-placeholder", margin: "none", size: "small" }, this.placeholder)), h$1("input", Object.assign({ ref: input => (this.nativeInput = input), onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, type: this.type, class: {
7888
7981
  "duet-input": true,
7889
7982
  disabled: this.disabled,
7890
7983
  "is-number": this.component === "number",
7891
7984
  "is-date": this.component === "date",
7892
- }, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": `${this.labelId} ${this.errorId}`, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-expanded": this.accessibleExpanded, "aria-haspopup": this.accessibleHasPopup, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), placeholder: this.placeholder, spellcheck: "false", minlength: this.minlength, maxlength: this.maxlength, autocomplete: this.autoComplete, required: this.required, role: this.role, name: this.name, id: identifier }, inputProps)), !this.icon && this.type !== "text" && this.type !== "tel" && this.type !== "password" && (h$1("div", { class: "duet-input-icon" }, h$1("duet-icon", { margin: "none", size: "small", icon: icons[this.type].svg, color: "currentColor" }))), this.icon && (h$1("div", { class: "duet-input-icon" }, h$1("duet-icon", { margin: "none", size: "small", name: this.icon, color: "currentColor" }))), h$1("slot", null)), h$1("span", { class: "duet-input-help", id: this.errorId, "aria-live": "assertive", "aria-relevant": "additions removals" }, this.error && h$1("span", { class: "duet-input-error" }, this.error)))));
7985
+ }, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": `${this.labelId} ${this.errorId}`, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-expanded": this.accessibleExpanded, "aria-haspopup": this.accessibleHasPopup, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), placeholder: this.placeholder, spellcheck: "false", minlength: this.minlength, maxlength: this.maxlength, autocomplete: this.autoComplete, required: this.required, role: this.role, name: this.name, id: identifier }, inputProps)), !this.icon &&
7986
+ this.type !== "text" &&
7987
+ this.type !== "tel" &&
7988
+ this.type !== "password" &&
7989
+ this.variation !== "button" && (h$1("div", { class: "duet-input-icon" }, h$1("duet-icon", { margin: "none", size: "small", icon: icons[this.type].svg, color: "currentColor" }))), this.clear && this.value && (h$1("div", { class: "duet-input-clear-icon" }, h$1("button", { onClick: this.handleClearClick, id: this.clearId, "aria-label": this.clearLabel, "aria-keyshortcuts": "Escape" }, h$1("duet-icon", { margin: "none", size: "xx-small", name: "activity-close", color: "currentColor" })))), this.icon && this.variation !== "button" && (h$1("div", { class: "duet-input-icon" }, h$1("duet-icon", { margin: "none", size: "small", name: this.icon, color: "currentColor" }))), this.variation === "button" && h$1("slot", { name: "button" }), h$1("slot", null)), h$1("span", { class: "duet-input-help", id: this.errorId, "aria-live": "assertive", "aria-relevant": "additions removals" }, this.error && h$1("span", { class: "duet-input-error" }, this.error)))));
7893
7990
  }
7894
7991
  get element() { return this; }
7895
7992
  static get watchers() { return {
@@ -10630,7 +10727,7 @@ const DuetStep$1 = class extends H {
10630
10727
  "rounded-top": this.roundedTop,
10631
10728
  "rounded-bottom": this.roundedBottom,
10632
10729
  "duet-theme-turva": this.theme === "turva",
10633
- } }, h$1("div", { class: "duet-step-heading", id: this.buttonId, role: "button", tabindex: this.state !== "incomplete" ? "0" : undefined, "aria-disabled": this.isClickDisabled().toString(), "aria-expanded": (this.state === "current").toString(), "aria-controls": this.contentId, onClick: this.handleClick, onKeyDown: this.handleKeyDown, ref: element => (this.buttonElement = element) }, h$1("div", { "aria-hidden": "true" }, h$1("div", { class: "duet-step-counter" }, this.renderStepCounter())), h$1("duet-spacer", { direction: "horizontal", size: "large", breakpoint: "small" }), h$1("duet-spacer", { direction: "horizontal", size: "medium", breakpoint: "x-small" }), h$1("div", null, h$1("duet-heading", { theme: this.theme, level: this.headingLevel, visualLevel: "h4", color: this.headingColor(), margin: "none" }, this.heading)), h$1("duet-spacer", { direction: "horizontal", size: "large" }), h$1("div", { class: "duet-step-heading-slot" }, h$1("slot", { name: "heading-content" }))), h$1("div", { class: "duet-step-content-wrapper" }, h$1("div", { class: "duet-step-content", role: "region", "aria-labelledby": this.buttonId, id: this.contentId }, h$1("slot", null)))));
10730
+ } }, h$1("div", { class: "duet-step-heading", id: this.buttonId, role: this.state !== "current" ? "button" : "region", "aria-current": this.state === "current" ? "step" : undefined, tabindex: this.state !== "current" ? "0" : undefined, "aria-disabled": this.isClickDisabled().toString(), "aria-expanded": (this.state === "current").toString(), "aria-controls": this.contentId, "aria-selected": (this.state === "current").toString(), onClick: this.handleClick, onKeyDown: this.handleKeyDown, ref: element => (this.buttonElement = element) }, h$1("div", { "aria-hidden": "true" }, h$1("div", { class: "duet-step-counter" }, this.renderStepCounter())), h$1("duet-spacer", { direction: "horizontal", size: "large", breakpoint: "small" }), h$1("duet-spacer", { direction: "horizontal", size: "medium", breakpoint: "x-small" }), h$1("div", null, h$1("duet-heading", { theme: this.theme, level: this.headingLevel, visualLevel: "h4", color: this.headingColor(), margin: "none" }, this.heading)), h$1("duet-spacer", { direction: "horizontal", size: "large" }), h$1("div", { class: "duet-step-heading-slot" }, h$1("slot", { name: "heading-content" }))), h$1("div", { class: "duet-step-content-wrapper" }, h$1("div", { class: "duet-step-content", role: "region", "aria-labelledby": this.buttonId, id: this.contentId }, h$1("slot", null)))));
10634
10731
  }
10635
10732
  }
10636
10733
  get element() { return this; }
@@ -11098,7 +11195,7 @@ const DuetTable$1 = class extends H {
11098
11195
  // this clears all pending mutations,
11099
11196
  // that way we avoid dealing with any initial changes
11100
11197
  // and only get genuine mutations as rows are added/removed
11101
- this.observer.takeRecords();
11198
+ this.observer ? this.observer.takeRecords() : null;
11102
11199
  }
11103
11200
  disconnectedCallback() {
11104
11201
  this.observer.disconnect();
@@ -11935,6 +12032,10 @@ const ProgressItem = ({ progress, name }) => (h("span", null,
11935
12032
  h("duet-spacer", { size: "xx-small" }),
11936
12033
  h("duet-progress", { progress: Math.ceil(progress), "aria-hidden": true })));
11937
12034
 
12035
+ const PendingItem = ({ name }) => (h("span", null,
12036
+ h("duet-paragraph", { color: "secondary", margin: "none", size: "small" }, name),
12037
+ h("duet-spacer", { size: "xx-small" })));
12038
+
11938
12039
  const formatBytes = (bytes, decimals = 2) => {
11939
12040
  if (bytes === 0) {
11940
12041
  return "0 Bytes";
@@ -12114,9 +12215,13 @@ const DuetUpload$1 = class extends H {
12114
12215
  * it will be up to you to handle the upload and return progress information to the upload-component
12115
12216
  */
12116
12217
  this.external = false;
12218
+ /**
12219
+ * If defer-upload is true, duet-upload will not (as recommended) instantly upload files but await a call to uploadPending()
12220
+ */
12221
+ this.deferUpload = false;
12117
12222
  /**
12118
12223
  * If set the upload component will not display an upload button, you will have to create one yourself
12119
- * and call the exposed method startUpload
12224
+ * and call the exposed method startUpload to open the upload dialog
12120
12225
  */
12121
12226
  this.hideButton = false;
12122
12227
  /**
@@ -12129,7 +12234,7 @@ const DuetUpload$1 = class extends H {
12129
12234
  size: "x-small",
12130
12235
  background: "gray-lightest",
12131
12236
  name: "delete",
12132
- map: ["success", "failure"],
12237
+ map: ["success", "failure", "pending"],
12133
12238
  label: {
12134
12239
  fi: "Poista tiedosto",
12135
12240
  en: "Poista tiedosto",
@@ -12383,6 +12488,7 @@ const DuetUpload$1 = class extends H {
12383
12488
  this.DefaultGroups = {
12384
12489
  inprogress: "inprogress",
12385
12490
  success: "success",
12491
+ pending: "pending",
12386
12492
  failure: "failure",
12387
12493
  };
12388
12494
  /**
@@ -12399,6 +12505,14 @@ const DuetUpload$1 = class extends H {
12399
12505
  en: "Files inprogress",
12400
12506
  },
12401
12507
  },
12508
+ {
12509
+ id: this.DefaultGroups.pending,
12510
+ label: {
12511
+ en: "Files to upload",
12512
+ sv: "Filer att ladda",
12513
+ fi: "Tiedostot ladattavat",
12514
+ },
12515
+ },
12402
12516
  {
12403
12517
  id: this.DefaultGroups.success,
12404
12518
  label: {
@@ -12426,7 +12540,6 @@ const DuetUpload$1 = class extends H {
12426
12540
  this.element.addEventListener("duetActionEvent", (e) => {
12427
12541
  const detail = e.detail;
12428
12542
  const { action, id, originalEvent } = detail;
12429
- console.log(e);
12430
12543
  switch (action) {
12431
12544
  case "delete":
12432
12545
  this.onDelete(id, originalEvent);
@@ -12454,9 +12567,6 @@ const DuetUpload$1 = class extends H {
12454
12567
  if (item.valid && item.progress === 100) {
12455
12568
  // if the item has a group, move the file to that group instead
12456
12569
  // of into the standard success group
12457
- if (item.group) {
12458
- return item.group;
12459
- }
12460
12570
  return this.DefaultGroups.success;
12461
12571
  }
12462
12572
  else if (item.progress > 0 && item.progress !== 100) {
@@ -12465,6 +12575,9 @@ const DuetUpload$1 = class extends H {
12465
12575
  else if (!item.valid) {
12466
12576
  return this.DefaultGroups.failure;
12467
12577
  }
12578
+ else if (item.pending) {
12579
+ return this.DefaultGroups.pending;
12580
+ }
12468
12581
  else if (item.group) {
12469
12582
  return item.group;
12470
12583
  }
@@ -12479,6 +12592,9 @@ const DuetUpload$1 = class extends H {
12479
12592
  else if (group === this.DefaultGroups.inprogress) {
12480
12593
  return h$1(ProgressItem, { progress: data.progress, name: data.item.name });
12481
12594
  }
12595
+ else if (group === this.DefaultGroups.pending) {
12596
+ return h$1(PendingItem, { name: data.item.name });
12597
+ }
12482
12598
  else if (group === this.DefaultGroups.failure) {
12483
12599
  return h$1(ErrorItem, { data: data });
12484
12600
  }
@@ -12491,9 +12607,16 @@ const DuetUpload$1 = class extends H {
12491
12607
  };
12492
12608
  this.genHashName = () => Date.now().toString(36) + Math.random();
12493
12609
  this.updateValueInMap = (item, key, value, kick = true) => {
12494
- const fileItem = this.files.get(item);
12495
- fileItem[key] = value;
12496
- this.files.set(item, fileItem);
12610
+ try {
12611
+ const fileItem = this.files.get(item);
12612
+ fileItem[key] = value;
12613
+ this.files.set(item, fileItem);
12614
+ }
12615
+ catch (e) {
12616
+ // if a users tries to update entries on a file that doesn't exist,
12617
+ // this will blow up - so we're swallowing the errors here on purpose
12618
+ // console.warn("operation on missing items")
12619
+ }
12497
12620
  if (kick) {
12498
12621
  this.kick();
12499
12622
  }
@@ -12611,6 +12734,46 @@ const DuetUpload$1 = class extends H {
12611
12734
  fileMaxReached: isTotalFileAmountAboveMax,
12612
12735
  };
12613
12736
  };
12737
+ this.uploadFile = async (fileListItem, force = false, key) => {
12738
+ if (!force && this.deferUpload) {
12739
+ this.updateValueInMap(fileListItem.item.name, "pending", true, false);
12740
+ this.updateValueInMap(fileListItem.item.name, "group", "pending", true);
12741
+ }
12742
+ else if (force) {
12743
+ this.updateValueInMap(fileListItem.item.name, "pending", false, false);
12744
+ this.updateValueInMap(fileListItem.item.name, "group", undefined, true);
12745
+ }
12746
+ try {
12747
+ if (!this.deferUpload || force) {
12748
+ // if all is well AND external file upload handling has not been set, start upload
12749
+ const data = new FormData();
12750
+ data.append("file", fileListItem.item);
12751
+ if (key) {
12752
+ data.append("key", key);
12753
+ }
12754
+ data.append("uid", fileListItem.uid);
12755
+ data.append("name", fileListItem.item.name);
12756
+ data.append("metadata", JSON.stringify({
12757
+ uid: fileListItem.uid,
12758
+ url: this.uri,
12759
+ size: fileListItem.item.size,
12760
+ meta: fileListItem.meta,
12761
+ }));
12762
+ fileListItem.xhr = await this.makeXHRPostRequest(data);
12763
+ }
12764
+ }
12765
+ catch (e) {
12766
+ // in case one of the global maxes have been reached, invalidate the file
12767
+ this.updateValueInMap(fileListItem.item.name, "valid", false, false);
12768
+ }
12769
+ };
12770
+ this.uploadPendingFiles = () => {
12771
+ for (const [key, value] of this.files.entries()) {
12772
+ if (value.group === "pending" && value.pending === true) {
12773
+ this.uploadFile(value, true, key);
12774
+ }
12775
+ }
12776
+ };
12614
12777
  this.getItemFromUID = (uid) => {
12615
12778
  for (const [key, value] of this.files.entries()) {
12616
12779
  if (value.uid === uid) {
@@ -12620,7 +12783,8 @@ const DuetUpload$1 = class extends H {
12620
12783
  return null;
12621
12784
  };
12622
12785
  this.onDelete = (key, ev) => {
12623
- const retrievedKey = this.getItemFromUID(key).key;
12786
+ const item = this.getItemFromUID(key);
12787
+ const retrievedKey = item.key;
12624
12788
  const deletedItem = this.files.get(retrievedKey);
12625
12789
  this.files.delete(retrievedKey);
12626
12790
  this.validateTotals();
@@ -12630,7 +12794,8 @@ const DuetUpload$1 = class extends H {
12630
12794
  data: { deletion: deletedItem },
12631
12795
  component: "duet-upload",
12632
12796
  });
12633
- if (!this.external) {
12797
+ // don't send a xhr request if the item was pending, just remove it from the list
12798
+ if (!this.external && !deletedItem.pending) {
12634
12799
  this.makeXHRDeleteRequest(deletedItem);
12635
12800
  }
12636
12801
  this.resetFormFields();
@@ -12695,6 +12860,7 @@ const DuetUpload$1 = class extends H {
12695
12860
  const all = [...this.files.values()];
12696
12861
  const inprogress = [];
12697
12862
  const failure = [];
12863
+ const pending = [];
12698
12864
  const success = [];
12699
12865
  all.forEach(data => {
12700
12866
  const group = this.getGroupFromItemData(data);
@@ -12713,6 +12879,13 @@ const DuetUpload$1 = class extends H {
12713
12879
  group,
12714
12880
  });
12715
12881
  }
12882
+ else if (group === this.DefaultGroups.pending) {
12883
+ pending.push({
12884
+ uid: data.uid,
12885
+ item,
12886
+ group,
12887
+ });
12888
+ }
12716
12889
  else if (group === this.DefaultGroups.failure) {
12717
12890
  failure.push({
12718
12891
  uid: data.uid,
@@ -12730,6 +12903,7 @@ const DuetUpload$1 = class extends H {
12730
12903
  });
12731
12904
  return {
12732
12905
  inprogress,
12906
+ pending,
12733
12907
  failure,
12734
12908
  success,
12735
12909
  };
@@ -12803,6 +12977,12 @@ const DuetUpload$1 = class extends H {
12803
12977
  this.nativeInput.click();
12804
12978
  return;
12805
12979
  }
12980
+ /**
12981
+ * Method for uploading pending files
12982
+ */
12983
+ async uploadPending() {
12984
+ this.uploadPendingFiles();
12985
+ }
12806
12986
  /**
12807
12987
  * Method for forcing a render of the upload list, element.files can be changed externally
12808
12988
  * But it will only rerender on a new Map or a top Level change - this can be used to update
@@ -12941,19 +13121,14 @@ const DuetUpload$1 = class extends H {
12941
13121
  this.updateValueInMap(item.name, "valid", false, false);
12942
13122
  }
12943
13123
  else if (valid && !this.external) {
12944
- // if all is well AND external file upload handling has not been set, start upload
12945
- const data = new FormData();
12946
- data.append("file", item);
12947
- data.append("uid", uid);
12948
- data.append("name", item.name);
12949
- data.append("metadata", JSON.stringify({ uid, url: this.uri, size: item.size, meta: fileListItem.meta }));
12950
- try {
12951
- fileListItem.xhr = await this.makeXHRPostRequest(data);
12952
- }
12953
- catch (e) {
12954
- // in case one of the global maxes have been reached, invalidate the file
12955
- this.updateValueInMap(item.name, "valid", false, false);
12956
- }
13124
+ await this.uploadFile(fileListItem);
13125
+ }
13126
+ else if (valid && this.external) {
13127
+ this.updateValueInMap(fileListItem.item.name, "pending", true, false);
13128
+ this.updateValueInMap(fileListItem.item.name, "group", "pending", true);
13129
+ }
13130
+ else if (!valid) {
13131
+ this.updateValueInMap(item.name, "valid", false, true);
12957
13132
  }
12958
13133
  // kick the stat to force update
12959
13134
  this.kick();
@@ -13106,14 +13281,14 @@ const DuetDivider = /*@__PURE__*/proxyCustomElement(DuetDivider$1, [1,"duet-divi
13106
13281
  const DuetEditableTable = /*@__PURE__*/proxyCustomElement(DuetEditableTable$1, [6,"duet-editable-table",{"margin":[1],"variation":[1],"sticky":[4],"stickyDistance":[1,"sticky-distance"],"breakpoint":[1],"actions":[1040],"columns":[1040],"rows":[1040],"sortable":[4],"groupId":[1,"group-id"],"theme":[1025],"accessibleRole":[1,"accessible-role"]}]);
13107
13282
  const DuetEmptyState = /*@__PURE__*/proxyCustomElement(DuetEmptyState$1, [1,"duet-empty-state",{"theme":[1025],"icon":[1],"size":[1]}]);
13108
13283
  const DuetFieldset = /*@__PURE__*/proxyCustomElement(DuetFieldset$1, [1,"duet-fieldset",{"theme":[1025],"margin":[1],"caption":[1],"label":[1],"error":[1],"labelHidden":[4,"label-hidden"],"hasTooltip":[32]}]);
13109
- const DuetFooter = /*@__PURE__*/proxyCustomElement(DuetFooter$1, [1,"duet-footer",{"theme":[1025],"variation":[1],"margin":[1],"logoHref":[1,"logo-href"],"language":[1025],"items":[8],"accessibleLabelExternalDefaults":[1,"accessible-label-external-default"],"accessibleLabelExternal":[1,"accessible-label-external"],"menu":[8],"processedItems":[32],"processedMenu":[32]}]);
13284
+ const DuetFooter = /*@__PURE__*/proxyCustomElement(DuetFooter$1, [1,"duet-footer",{"theme":[1025],"variation":[1],"margin":[1],"logoHref":[1,"logo-href"],"language":[1025],"mainItem":[8,"main-item"],"items":[8],"secondaryItems":[8,"secondary-items"],"tertiaryMainItem":[8,"tertiary-main-item"],"tertiaryItems":[8,"tertiary-items"],"accessibleLabelExternalDefaults":[1,"accessible-label-external-default"],"accessibleLabelExternal":[1,"accessible-label-external"],"menu":[8],"processedMainItem":[32],"processedItems":[32],"processedSecondaryItems":[32],"processedTertiaryMainItem":[32],"processedTertiaryItems":[32],"processedMenu":[32]}]);
13110
13285
  const DuetGrid = /*@__PURE__*/proxyCustomElement(DuetGrid$1, [2,"duet-grid",{"responsive":[4],"breakpoint":[1],"direction":[1],"alignment":[1],"distribution":[1],"mobile":[1],"distributeFormElement":[32]}]);
13111
13286
  const DuetGridItem = /*@__PURE__*/proxyCustomElement(DuetGridItem$1, [2,"duet-grid-item",{"fill":[4],"maxWidth":[1,"max-width"],"minWidth":[1,"min-width"],"theme":[1025],"margin":[1],"responsive":[4],"breakpoint":[1]}]);
13112
13287
  const DuetHeader = /*@__PURE__*/proxyCustomElement(DuetHeader$1, [1,"duet-header",{"theme":[1025],"language":[1025],"accessibleI18nLabelsDefaults":[1,"accessible-labels-default"],"accessibleI18nLabels":[16],"accessibleLabelExternalDefaults":[1,"accessible-label-external-default"],"accessibleLabelExternal":[1,"accessible-label-external"],"accessibleLabelDefaults":[1,"accessible-label-default"],"accessibleLabel":[1,"accessible-label"],"user":[8],"logoHref":[1,"logo-href"],"currentHref":[1025,"current-href"],"skipToId":[1,"skip-to-id"],"items":[8],"region":[1],"session":[8],"search":[8],"back":[8],"contact":[1],"contactItems":[8,"contact-items"],"languageItems":[8,"language-items"],"isContactOpen":[32],"isLanguageOpen":[32],"isSessionOpen":[32],"isSlideOutOpen":[32],"isSegmentOpen":[32],"openMenu":[32],"closedActives":[32],"processedItems":[32],"processedLanguageItems":[32],"processedContactItems":[32],"processedSession":[32],"processedSearch":[32],"processedUser":[32],"processedBack":[32],"renderDesktopNav":[32]},[[8,"keyup","handleKeyUp"],[8,"keydown","handleKeyDown"],[4,"focus","handleDocumentClick"],[4,"click","handleDocumentClick"]]]);
13113
13288
  const DuetHeading = /*@__PURE__*/proxyCustomElement(DuetHeading$1, [1,"duet-heading",{"level":[513],"margin":[1],"visualLevel":[1,"visual-level"],"border":[8],"weight":[1],"color":[1],"theme":[1025],"hyphenate":[4]}]);
13114
13289
  const DuetHero = /*@__PURE__*/proxyCustomElement(DuetHero$1, [1,"duet-hero",{"theme":[1025],"heading":[1],"preHeading":[1,"pre-heading"],"level":[1],"description":[1],"icon":[1],"iconSize":[1,"icon-size"],"iconRight":[4,"icon-right"],"categoryIcon":[1,"category-icon"],"categoryIconColor":[1,"category-icon-color"],"buttonLabel":[1,"button-label"],"language":[1025],"accessibleLabelExternalDefaults":[1,"accessible-label-external-default"],"accessibleLabelExternal":[1,"accessible-label-external"],"buttonUrl":[1,"button-url"],"buttonId":[1,"button-id"],"buttonData":[16],"textCenter":[4,"text-center"],"leftAlign":[4,"left-align"],"image":[1],"variation":[1],"back":[8],"listItems":[8,"list-items"],"actions":[8],"processedListItems":[32],"processedActions":[32],"processedBack":[32]}]);
13115
13290
  const DuetIcon = /*@__PURE__*/proxyCustomElement(DuetIcon$1, [1,"duet-icon",{"theme":[1025],"icon":[1],"src":[1],"name":[1],"margin":[1],"responsive":[4],"color":[513],"background":[1],"size":[1],"outline":[1],"svgContent":[32]}]);
13116
- const DuetInput = /*@__PURE__*/proxyCustomElement(DuetInput$1, [6,"duet-input",{"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleAutocomplete":[1,"accessible-autocomplete"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleExpanded":[1,"accessible-expanded"],"accessibleDescribedBy":[1,"accessible-described-by"],"accessibleHasPopup":[1,"accessible-has-popup"],"debounce":[2],"caption":[1],"echoPlaceholder":[4,"echo-placeholder"],"theme":[1025],"expand":[4],"disabled":[516],"identifier":[1],"margin":[1],"required":[4],"type":[1],"label":[1],"error":[1],"labelHidden":[4,"label-hidden"],"numericKeyboard":[4,"numeric-keyboard"],"name":[1],"pattern":[1],"maxlength":[2],"minlength":[2],"placeholder":[1],"component":[1],"role":[1],"icon":[1],"autoComplete":[1,"auto-complete"],"disallowPattern":[1,"disallow-pattern"],"value":[1025],"tooltip":[1],"tooltipDirection":[1,"tooltip-direction"]}]);
13291
+ const DuetInput = /*@__PURE__*/proxyCustomElement(DuetInput$1, [6,"duet-input",{"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleAutocomplete":[1,"accessible-autocomplete"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleExpanded":[1,"accessible-expanded"],"accessibleDescribedBy":[1,"accessible-described-by"],"accessibleHasPopup":[1,"accessible-has-popup"],"debounce":[2],"clear":[4],"caption":[1],"echoPlaceholder":[4,"echo-placeholder"],"theme":[1025],"expand":[4],"disabled":[516],"identifier":[1],"margin":[1],"required":[4],"type":[1],"variation":[1],"label":[1],"error":[1],"labelHidden":[4,"label-hidden"],"numericKeyboard":[4,"numeric-keyboard"],"name":[1],"pattern":[1],"maxlength":[2],"minlength":[2],"placeholder":[1],"component":[1],"role":[1],"icon":[1],"autoComplete":[1,"auto-complete"],"disallowPattern":[1,"disallow-pattern"],"value":[1025],"tooltip":[1],"tooltipDirection":[1,"tooltip-direction"]}]);
13117
13292
  const DuetLabel = /*@__PURE__*/proxyCustomElement(DuetLabel$1, [6,"duet-label",{"theme":[1025],"for":[1],"margin":[1],"size":[1]}]);
13118
13293
  const DuetLayout = /*@__PURE__*/proxyCustomElement(DuetLayout$1, [1,"duet-layout",{"sticky":[4],"margin":[1],"stickyDistance":[1,"sticky-distance"],"center":[4],"tabs":[4],"middle":[4]}]);
13119
13294
  const DuetLink = /*@__PURE__*/proxyCustomElement(DuetLink$1, [17,"duet-link",{"accessibleLabel":[1,"accessible-label"],"language":[1025],"accessibleLabelExternalDefaults":[1,"accessible-label-external-default"],"accessibleLabelExternal":[1,"accessible-label-external"],"identifier":[1],"theme":[1025],"url":[513],"external":[4]}]);
@@ -13136,7 +13311,7 @@ const DuetSelect = /*@__PURE__*/proxyCustomElement(DuetSelect$1, [2,"duet-select
13136
13311
  const DuetSpacer = /*@__PURE__*/proxyCustomElement(DuetSpacer$1, [1,"duet-spacer",{"size":[1],"direction":[1],"breakpoint":[1]}]);
13137
13312
  const DuetSpinner = /*@__PURE__*/proxyCustomElement(DuetSpinner$1, [1,"duet-spinner",{"accessibleLabel":[1,"accessible-label"],"color":[1],"size":[1],"theme":[1025]}]);
13138
13313
  const DuetStep = /*@__PURE__*/proxyCustomElement(DuetStep$1, [6,"duet-step",{"theme":[1025],"heading":[1],"headingLevel":[1,"heading-level"],"stepIndex":[2,"step-index"],"state":[1],"roundedTop":[4,"rounded-top"],"roundedBottom":[4,"rounded-bottom"]}]);
13139
- const DuetStepper = /*@__PURE__*/proxyCustomElement(DuetStepper$1, [1,"duet-stepper",{"theme":[1025],"accessibleLive":[1,"accessible-live"],"margin":[1],"backDisabled":[4,"back-disabled"],"selected":[514]},[[0,"duetStepClick","onDuetStepClick"]]]);
13314
+ const DuetStepper = /*@__PURE__*/proxyCustomElement(DuetStepper$1, [1,"duet-stepper",{"theme":[1025],"accessibleLive":[1,"accessible-live"],"margin":[1],"backDisabled":[4,"back-disabled"],"selected":[1538]},[[0,"duetStepClick","onDuetStepClick"]]]);
13140
13315
  const DuetTab = /*@__PURE__*/proxyCustomElement(DuetTab$1, [6,"duet-tab",{"label":[513],"selected":[516],"accessibleDescriptionDefault":[1,"accessible-description-defaults"],"accessibleDescription":[1,"accessible-description"]}]);
13141
13316
  const DuetTabGroup = /*@__PURE__*/proxyCustomElement(DuetTabGroup$1, [1,"duet-tab-group",{"theme":[1025],"scrolls":[4],"collapses":[4],"accessibleLabel":[1,"accessible-label"],"variation":[1],"language":[1025],"labelDefaults":[1,"label-default"],"label":[1],"labelHidden":[4,"label-hidden"],"identifier":[1],"margin":[1],"padding":[1],"tabs":[32],"selected":[32]}]);
13142
13317
  const DuetTable = /*@__PURE__*/proxyCustomElement(DuetTable$1, [4,"duet-table",{"theme":[1025],"margin":[1],"variation":[1],"sticky":[4],"stickyDistance":[1,"sticky-distance"],"breakpoint":[1],"matchesBreakpoint":[32]}]);
@@ -13144,7 +13319,7 @@ const DuetTextarea = /*@__PURE__*/proxyCustomElement(DuetTextarea$1, [2,"duet-te
13144
13319
  const DuetToggle = /*@__PURE__*/proxyCustomElement(DuetToggle$1, [2,"duet-toggle",{"theme":[1025],"margin":[1],"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"label":[1],"required":[4],"disabled":[516],"checked":[1540],"value":[1537],"identifier":[1],"name":[1],"role":[1]}]);
13145
13320
  const DuetTooltip = /*@__PURE__*/proxyCustomElement(DuetTooltip$1, [1,"duet-tooltip",{"theme":[1025],"language":[1025],"accessibleLabelDefault":[1,"accessible-label-default"],"accessibleLabel":[1,"accessible-label"],"accessibleInputLabel":[1,"accessible-input-label"],"accessibleCloseLabelDefault":[1,"accessible-close-label-default"],"accessibleCloseLabel":[1,"accessible-close-label"],"label":[1],"breakpoint":[1],"direction":[1],"positionVertical":[513,"position-vertical"],"positionHorizontal":[513,"position-horizontal"],"active":[1540],"openDown":[32]},[[9,"scroll","onScroll"],[4,"click","handleDocumentClick"]]]);
13146
13321
  const DuetTray = /*@__PURE__*/proxyCustomElement(DuetTray$1, [1,"duet-tray",{"language":[1025],"accessibleCloseLabelDefaults":[1,"accessible-close-label-default"],"accessibleCloseLabel":[1,"accessible-close-label"],"accessibleOpenLabelDefaults":[1,"accessible-open-label-default"],"accessibleOpenLabel":[1,"accessible-open-label"],"theme":[1025],"active":[516],"autoHide":[4,"auto-hide"],"responsive":[4],"expanded":[32],"hiddenState":[32]},[[9,"scroll","getFrame"],[16,"click","handleBodyClick"]]]);
13147
- const DuetUpload = /*@__PURE__*/proxyCustomElement(DuetUpload$1, [1,"duet-upload",{"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleDescribedBy":[1,"accessible-described-by"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"external":[4],"hideButton":[4,"hide-upload-button"],"actions":[16],"uri":[1],"showLinks":[4,"show-links"],"caption":[1],"statusLabelDefaults":[1,"status-label-default"],"statusMessageLabel":[1,"status-message-label"],"buttonLabelDefaults":[1,"button-label-default"],"buttonLabel":[1,"button-label"],"accessibleButtonLabel":[1,"accessible-button-label"],"theme":[1025],"disabled":[516],"identifier":[1],"margin":[1],"required":[4],"alignment":[1],"hideGroups":[4,"hide-table-labels"],"files":[1040],"valid":[1540],"labelDefaults":[1,"label-default"],"label":[1],"descriptionDefaults":[1,"description-default"],"description":[1],"fileListEmptyDefaults":[1,"list-empty-default"],"fileListEmpty":[1,"file-list-empty"],"error":[1],"name":[1],"maxBytes":[2,"max-bytes"],"maxBytesTotal":[2,"max-bytes-total"],"maxFiles":[2,"max-files"],"allowedExtensions":[1,"allowed-extensions"],"allowedMimetypes":[1,"allowed-mimetypes"],"multiple":[4],"limitSelection":[4,"limit-selection"],"value":[1025],"groups":[16],"tick":[32]}]);
13322
+ const DuetUpload = /*@__PURE__*/proxyCustomElement(DuetUpload$1, [1,"duet-upload",{"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleDescribedBy":[1,"accessible-described-by"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"external":[4],"deferUpload":[4,"defer-upload"],"hideButton":[4,"hide-upload-button"],"actions":[16],"uri":[1],"showLinks":[4,"show-links"],"caption":[1],"statusLabelDefaults":[1,"status-label-default"],"statusMessageLabel":[1,"status-message-label"],"buttonLabelDefaults":[1,"button-label-default"],"buttonLabel":[1,"button-label"],"accessibleButtonLabel":[1,"accessible-button-label"],"theme":[1025],"disabled":[516],"identifier":[1],"margin":[1],"required":[4],"alignment":[1],"hideGroups":[4,"hide-table-labels"],"files":[1040],"valid":[1540],"labelDefaults":[1,"label-default"],"label":[1],"descriptionDefaults":[1,"description-default"],"description":[1],"fileListEmptyDefaults":[1,"list-empty-default"],"fileListEmpty":[1,"file-list-empty"],"error":[1],"name":[1],"maxBytes":[2,"max-bytes"],"maxBytesTotal":[2,"max-bytes-total"],"maxFiles":[2,"max-files"],"allowedExtensions":[1,"allowed-extensions"],"allowedMimetypes":[1,"allowed-mimetypes"],"multiple":[4],"limitSelection":[4,"limit-selection"],"value":[1025],"groups":[16],"tick":[32]}]);
13148
13323
  const DuetUploadAriaStatus = /*@__PURE__*/proxyCustomElement(DuetUploadAriaStatus$1, [1,"duet-upload-aria-status",{"statusMessageLabel":[16],"accessibleAriaLive":[1,"accessible-aria-live"],"valid":[2],"total":[2],"invalid":[2],"inprogress":[2],"statusMessage":[32]}]);
13149
13324
  const DuetVisuallyHidden = /*@__PURE__*/proxyCustomElement(DuetVisuallyHidden$1, [1,"duet-visually-hidden"]);
13150
13325
  const defineCustomElements = (opts) => {