@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
@@ -0,0 +1,8 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ 'use strict';
5
+
6
+ var actionArrowRightSmall={"title":"action-arrow-right-small","tags":"action arrow right small caret","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M19.5 12a2.3 2.3 0 0 1-.78 1.729L7.568 23.54a1.847 1.847 0 0 1-2.439-2.773l9.752-8.579a.25.25 0 0 0 0-.376L5.129 3.233A1.847 1.847 0 0 1 7.568.46l11.148 9.808A2.31 2.31 0 0 1 19.5 12z\"/></svg>"};
7
+
8
+ exports.actionArrowRightSmall = actionArrowRightSmall;
@@ -5,17 +5,17 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
10
  const jsUtils = require('./js-utils-be1d29ae.js');
11
11
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
12
12
  const languageUtils = require('./language-utils-4f62a7db.js');
13
13
  const themeableComponent = require('./themeable-component-940d3b50.js');
14
- const tokenUtils = require('./token-utils-f402e205.js');
14
+ const tokenUtils = require('./token-utils-50a1f7e2.js');
15
15
  require('./string-utils-5cadd058.js');
16
- require('./tokens.module-6b2df1c2.js');
16
+ require('./tokens.module-ef598645.js');
17
17
 
18
- 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}";
18
+ 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}";
19
19
 
20
20
  const DuetActionButton = class {
21
21
  constructor(hostRef) {
@@ -143,14 +143,25 @@ const DuetActionButton = class {
143
143
  */
144
144
  render() {
145
145
  const color = this.color === "currentColor" ? "currentColor" : tokenUtils.getColorByName(this.color, this.theme);
146
+ const backgroundColor = tokenUtils.getColorByName(this.background, this.theme);
147
+ const backgroundHoverColor = backgroundColor ? tokenUtils.shadeRGBColor(backgroundColor, -0.1) : backgroundColor;
148
+ const backgroundStyles = backgroundColor
149
+ ? `
150
+ button.duet-action-button {
151
+ background: ${backgroundColor} !important;
152
+ }
153
+ button.duet-action-button:not(:disabled):hover {
154
+ background: ${backgroundHoverColor} !important;
155
+ }
156
+ `
157
+ : "";
146
158
  const styles = {
147
159
  color,
148
- background: tokenUtils.getColorByName(this.background, this.theme),
149
160
  "border-color": tokenUtils.getColorByName(this.iconColor, this.theme),
150
161
  "border-width": "1px",
151
162
  "border-style": "solid",
152
163
  };
153
- return (index.h(index.Host, { onKeyDown: e => this.onKeyboardDown(e) }, index.h("button", { part: "button", style: styles, disabled: this.disabled, id: this.listId, class: {
164
+ return (index.h(index.Host, { onKeyDown: e => this.onKeyboardDown(e) }, index.h("style", { innerHTML: backgroundStyles }), index.h("button", { part: "button", style: styles, disabled: this.disabled, id: this.listId, class: {
154
165
  "duet-action-button": true,
155
166
  "duet-action-button--disabled": this.disabled,
156
167
  [`duet-action-button--${this.theme}`]: this.theme !== "",
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
9
  const languageUtils = require('./language-utils-4f62a7db.js');
10
10
  const themeableComponent = require('./themeable-component-940d3b50.js');
11
11
  require('./string-utils-5cadd058.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
9
  const themeableComponent = require('./themeable-component-940d3b50.js');
10
10
 
11
11
  const duetBadgeCss = "*,*::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:4px !important;margin-bottom:2px !important;display:inline-block;width:auto;vertical-align:middle}:host:last-child,:host:last-of-type{margin-right:0 !important}:host(.duet-m-0){margin:0 !important}.duet-badge{width:100%;padding:4.4444444444px 12px 5.4444444444px;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.75rem;font-style:normal;font-weight:600;line-height:1.25;color:#00294d;text-align:center;word-break:break-word;vertical-align:middle;background:#e6f1f7;border-radius:20rem}.duet-badge.duet-p-0{padding:0 !important}.duet-badge.duet-m-0{margin:0 !important}.duet-badge.duet-theme-turva{padding:5.4444444444px 12px 4.4444444444px;font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-weight:700;color:#171c3a;background:#e8e8eb}.duet-badge.warning{background:#fef3df}.duet-badge.warning.duet-theme-turva{background:#fef1db}.duet-badge.danger{background:#fce9ef}.duet-badge.danger.duet-theme-turva{background:#fceae7}.duet-badge.success{background:#e6f3ef}.duet-badge.success.duet-theme-turva{background:#e6f3ed}";
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
9
  const themeableComponent = require('./themeable-component-940d3b50.js');
10
10
 
11
11
  const duetBreadcrumbCss = "*,*::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;width:100%}.duet-breadcrumb{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;height:100%;font-size:0.875rem;color:#00294d;text-decoration:none}.duet-breadcrumb:hover{color:#004d80}.duet-breadcrumb.duet-theme-turva{color:#171c3a}.duet-breadcrumb.duet-theme-turva:hover{color:#940925}.duet-breadcrumb:focus{outline:0}.duet-breadcrumb:active{opacity:0.75}:host(.user-is-tabbing) .duet-breadcrumb:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-breadcrumb.duet-theme-turva:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}";
@@ -5,13 +5,12 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
+ const actionArrowRightSmall = require('./action-arrow-right-small-a25eb475.js');
9
10
  const languageUtils = require('./language-utils-4f62a7db.js');
10
11
  const themeableComponent = require('./themeable-component-940d3b50.js');
11
12
  require('./string-utils-5cadd058.js');
12
13
 
13
- var actionArrowRightSmall={"title":"action-arrow-right-small","tags":"action arrow right small caret","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M19.5 12a2.3 2.3 0 0 1-.78 1.729L7.568 23.54a1.847 1.847 0 0 1-2.439-2.773l9.752-8.579a.25.25 0 0 0 0-.376L5.129 3.233A1.847 1.847 0 0 1 7.568.46l11.148 9.808A2.31 2.31 0 0 1 19.5 12z\"/></svg>"};
14
-
15
14
  const duetBreadcrumbsCss = "*,*::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}.duet-breadcrumbs{font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-breadcrumbs ol{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-start;padding:10px 16px;color:#00294d;list-style:none;background:#f3f9fc;border-bottom:1px solid #e1e3e6}@media (min-width: 62em){.duet-breadcrumbs ol{padding:10px 36px}}.duet-breadcrumbs.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\"}.duet-breadcrumbs.duet-theme-turva ol{color:#171c3a;background:#fcf3f4}.duet-breadcrumbs .duet-breadrumbs-arrow{display:inherit;align-items:center;justify-content:center;width:0.375rem;height:0.375rem}.duet-breadcrumbs .hide{display:none}";
16
15
 
17
16
  const DuetBreadcrumbs = class {
@@ -59,7 +58,7 @@ const DuetBreadcrumbs = class {
59
58
  return (index.h(index.Host, null, index.h("nav", { "aria-label": this.breadcrumbsAriaLabel, class: {
60
59
  "duet-breadcrumbs": true,
61
60
  "duet-theme-turva": this.theme === "turva",
62
- } }, index.h("ol", null, this.children.map((child, index$1) => (index.h(index.Fragment, null, index$1 > 0 && (index.h("li", { "aria-hidden": "true" }, index.h("duet-icon", { class: "duet-breadrumbs-arrow", size: "auto", icon: actionArrowRightSmall.svg, margin: "none", color: "currentColor" }))), index.h("li", { innerHTML: child.outerHTML }), index.h("div", { class: "hide" }, index.h("slot", null)))))))));
61
+ } }, index.h("ol", null, this.children.map((child, index$1) => (index.h(index.Fragment, null, index$1 > 0 && (index.h("li", { "aria-hidden": "true" }, index.h("duet-icon", { class: "duet-breadrumbs-arrow", size: "auto", icon: actionArrowRightSmall.actionArrowRightSmall.svg, margin: "none", color: "currentColor" }))), index.h("li", { innerHTML: child.outerHTML }), index.h("div", { class: "hide" }, index.h("slot", null)))))))));
63
62
  }
64
63
  get element() { return index.getElement(this); }
65
64
  };
@@ -5,15 +5,15 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
9
  const commonStrings = require('./common-strings-de17f887.js');
10
10
  const languageUtils = require('./language-utils-4f62a7db.js');
11
11
  const themeableComponent = require('./themeable-component-940d3b50.js');
12
- const tokenUtils = require('./token-utils-f402e205.js');
12
+ const tokenUtils = require('./token-utils-50a1f7e2.js');
13
13
  require('./string-utils-5cadd058.js');
14
- require('./tokens.module-6b2df1c2.js');
14
+ require('./tokens.module-ef598645.js');
15
15
 
16
- 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}";
16
+ 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}";
17
17
 
18
18
  const DuetButton = class {
19
19
  constructor(hostRef) {
@@ -238,6 +238,7 @@ const DuetButton = class {
238
238
  "duet-small": this.size === "small",
239
239
  "duet-fixed": this.fixed,
240
240
  "duet-expand": this.expand,
241
+ "input-button": this.variation === "input-button-primary" || this.variation === "input-button-secondary",
241
242
  } }, index.h("div", { class: {
242
243
  "duet-button-container": true,
243
244
  "duet-button-is-loading": this.loading,
@@ -5,14 +5,14 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
9
  const themeableComponent = require('./themeable-component-940d3b50.js');
10
10
  const stringUtils = require('./string-utils-5cadd058.js');
11
- const tokenUtils = require('./token-utils-f402e205.js');
11
+ const tokenUtils = require('./token-utils-50a1f7e2.js');
12
12
  const actionNewWindowSmall = require('./action-new-window-small-fa51dfb9.js');
13
13
  const commonStrings = require('./common-strings-de17f887.js');
14
14
  const languageUtils = require('./language-utils-4f62a7db.js');
15
- require('./tokens.module-6b2df1c2.js');
15
+ require('./tokens.module-ef598645.js');
16
16
 
17
17
  const duetCaptionCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:16px !important;display:flex;flex:0 0 100%;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:#657787;vertical-align:top}:host.duet-p-0{padding:0 !important}:host.duet-m-0{margin:0 !important}:host(.duet-caption-small){font-size:0.875rem;line-height:1.25}:host(.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\";color:#747475}:host(.duet-caption-selected){color:#0077b3}:host(.duet-caption-selected.duet-theme-turva){color:#171c3a}:host(.duet-m-0){margin:0 !important}";
18
18
 
@@ -5,13 +5,13 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
10
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
11
11
  const stringUtils = require('./string-utils-5cadd058.js');
12
12
  const themeableComponent = require('./themeable-component-940d3b50.js');
13
- const tokenUtils = require('./token-utils-f402e205.js');
14
- require('./tokens.module-6b2df1c2.js');
13
+ const tokenUtils = require('./token-utils-50a1f7e2.js');
14
+ require('./tokens.module-ef598645.js');
15
15
 
16
16
  var actionArrowUp={"title":"action-arrow-up","tags":"action arrow up caret","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M.75 17.939a.752.752 0 0 1-.53-1.281L10.94 5.94c.283-.284.659-.44 1.059-.44.401 0 .777.156 1.06.438l10.721 10.72a.752.752 0 0 1-.53 1.281.743.743 0 0 1-.53-.22L12 7 1.28 17.719a.743.743 0 0 1-.53.22z\"/></svg>"};
17
17
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
10
  const themeableComponent = require('./themeable-component-940d3b50.js');
11
11
 
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
9
  const commonStrings = require('./common-strings-de17f887.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
- const focusUtils = require('./focus-utils-85b1fb81.js');
11
+ const focusUtils = require('./focus-utils-9ccade35.js');
12
12
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
13
13
  const languageUtils = require('./language-utils-4f62a7db.js');
14
14
  const themeableComponent = require('./themeable-component-940d3b50.js');
@@ -5,9 +5,9 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
9
  const actionArrowDownSmall = require('./action-arrow-down-small-ef77a2d1.js');
10
- const tokens = require('./tokens-8596cece.js');
10
+ const tokens = require('./tokens-29450bcb.js');
11
11
  const createId = require('./create-id-c3b984b1.js');
12
12
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
13
13
  const stringUtils = require('./string-utils-5cadd058.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
9
  const jsUtils = require('./js-utils-be1d29ae.js');
10
10
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
11
11
  const languageUtils = require('./language-utils-4f62a7db.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
9
  const themeableComponent = require('./themeable-component-940d3b50.js');
10
10
 
11
11
  const duetCookieConsentCss = "*,*::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;position:fixed;right:0;bottom:0;left:0;z-index:950;display:block;width:100%;box-shadow:0 2px 20px 0 rgba(0, 0, 0, 0.2)}@media (min-width: 48em){:host{right:28px;bottom:28px;left:auto;width:25rem}}:host(:focus){outline:0}:host(.user-is-tabbing:focus){border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing.duet-theme-turva:focus){box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-cookie-consent{padding:20px;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;color:white !important;background-color:rgba(0, 21, 39, 0.9)}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){.duet-cookie-consent{background:rgba(0, 21, 39, 0.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.duet-cookie-consent.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-color:rgba(12, 14, 29, 0.9)}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){.duet-cookie-consent.duet-theme-turva{background:rgba(12, 14, 29, 0.8)}}@media (min-width: 48em){.duet-cookie-consent{padding:20px;border-radius:4px}}.duet-cookie-consent-content{display:flex;align-items:center;max-width:1110px;margin:0 auto}.duet-cookie-consent-content .expand{flex:1}::slotted(a){font-weight:600;color:white !important;text-decoration:underline;white-space:nowrap}::slotted(a[target=_blank]){padding-right:16px;background:url(\"data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZmZmIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwLjUgMmExLjUgMS41IDAgMDEuMTQgM0gzLjc1Yy0uMzggMC0uNy4yOC0uNzQuNjVsLS4wMS4xdjE0LjVjMCAuMzguMjguNy42NS43NGwuMS4wMWgxNC41Yy4zOCAwIC43LS4yOC43NC0uNjVsLjAxLS4xdi02Ljg5YTEuNSAxLjUgMCAwMTMgMHY2Ljg5QTMuNzUgMy43NSAwIDAxMTguMjUgMjRIMy43NUEzLjc1IDMuNzUgMCAwMTAgMjAuMjVWNS43NUEzLjc1IDMuNzUgMCAwMTMuNzUgMnptMTItMmMuNzggMCAxLjQyLjYgMS41IDEuMzZWNy41YTEuNSAxLjUgMCAwMS0zIC4xNFY1LjEybC01LjQ0IDUuNDRhMS41IDEuNSAwIDAxLTIuMjItMmwuMS0uMTJMMTguODggM0gxNi41QTEuNSAxLjUgMCAwMTE1IDEuNjRWMS41YzAtLjc4LjYtMS40MiAxLjM2LTEuNWguMTR6Ii8+PC9zdmc+\") no-repeat right 50%;background-size:12px 10px}::slotted(a:focus){outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva ::slotted(a:focus){outline:0;box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}";
@@ -5,9 +5,9 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
- const focusUtils = require('./focus-utils-85b1fb81.js');
10
+ const focusUtils = require('./focus-utils-9ccade35.js');
11
11
  const languageUtils = require('./language-utils-4f62a7db.js');
12
12
  const themeableComponent = require('./themeable-component-940d3b50.js');
13
13
  require('./string-utils-5cadd058.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
9
  const themeableComponent = require('./themeable-component-940d3b50.js');
10
10
 
11
11
  const duetDividerCss = "*,*::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;width:100%}.duet-divider{-webkit-user-select:none;user-select:none;display:block;width:100%;height:1px;margin-top:36px !important;margin-bottom:28px;background:#e1e3e6}.duet-divider.duet-p-0{padding:0 !important}.duet-divider.duet-m-0{margin:0 !important}.duet-divider.duet-m-s{margin-bottom:16px !important;margin-top:0 !important}.duet-divider.duet-theme-turva{background:#e4e4e6}";
@@ -5,12 +5,12 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
9
  const jsUtils = require('./js-utils-be1d29ae.js');
10
10
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
11
11
  const languageUtils = require('./language-utils-4f62a7db.js');
12
12
  const themeableComponent = require('./themeable-component-940d3b50.js');
13
- const tokens_module = require('./tokens.module-6b2df1c2.js');
13
+ const tokens_module = require('./tokens.module-ef598645.js');
14
14
  const createId = require('./create-id-c3b984b1.js');
15
15
  require('./string-utils-5cadd058.js');
16
16
 
@@ -310,7 +310,7 @@ const DuetTable = class {
310
310
  // this clears all pending mutations,
311
311
  // that way we avoid dealing with any initial changes
312
312
  // and only get genuine mutations as rows are added/removed
313
- this.observer.takeRecords();
313
+ this.observer ? this.observer.takeRecords() : null;
314
314
  }
315
315
  disconnectedCallback() {
316
316
  this.observer.disconnect();
@@ -523,6 +523,10 @@ const ProgressItem = ({ progress, name }) => (index.h("span", null,
523
523
  index.h("duet-spacer", { size: "xx-small" }),
524
524
  index.h("duet-progress", { progress: Math.ceil(progress), "aria-hidden": true })));
525
525
 
526
+ const PendingItem = ({ name }) => (index.h("span", null,
527
+ index.h("duet-paragraph", { color: "secondary", margin: "none", size: "small" }, name),
528
+ index.h("duet-spacer", { size: "xx-small" })));
529
+
526
530
  const formatBytes = (bytes, decimals = 2) => {
527
531
  if (bytes === 0) {
528
532
  return "0 Bytes";
@@ -700,9 +704,13 @@ const DuetUpload = class {
700
704
  * it will be up to you to handle the upload and return progress information to the upload-component
701
705
  */
702
706
  this.external = false;
707
+ /**
708
+ * If defer-upload is true, duet-upload will not (as recommended) instantly upload files but await a call to uploadPending()
709
+ */
710
+ this.deferUpload = false;
703
711
  /**
704
712
  * If set the upload component will not display an upload button, you will have to create one yourself
705
- * and call the exposed method startUpload
713
+ * and call the exposed method startUpload to open the upload dialog
706
714
  */
707
715
  this.hideButton = false;
708
716
  /**
@@ -715,7 +723,7 @@ const DuetUpload = class {
715
723
  size: "x-small",
716
724
  background: "gray-lightest",
717
725
  name: "delete",
718
- map: ["success", "failure"],
726
+ map: ["success", "failure", "pending"],
719
727
  label: {
720
728
  fi: "Poista tiedosto",
721
729
  en: "Poista tiedosto",
@@ -969,6 +977,7 @@ const DuetUpload = class {
969
977
  this.DefaultGroups = {
970
978
  inprogress: "inprogress",
971
979
  success: "success",
980
+ pending: "pending",
972
981
  failure: "failure",
973
982
  };
974
983
  /**
@@ -985,6 +994,14 @@ const DuetUpload = class {
985
994
  en: "Files inprogress",
986
995
  },
987
996
  },
997
+ {
998
+ id: this.DefaultGroups.pending,
999
+ label: {
1000
+ en: "Files to upload",
1001
+ sv: "Filer att ladda",
1002
+ fi: "Tiedostot ladattavat",
1003
+ },
1004
+ },
988
1005
  {
989
1006
  id: this.DefaultGroups.success,
990
1007
  label: {
@@ -1012,7 +1029,6 @@ const DuetUpload = class {
1012
1029
  this.element.addEventListener("duetActionEvent", (e) => {
1013
1030
  const detail = e.detail;
1014
1031
  const { action, id, originalEvent } = detail;
1015
- console.log(e);
1016
1032
  switch (action) {
1017
1033
  case "delete":
1018
1034
  this.onDelete(id, originalEvent);
@@ -1040,9 +1056,6 @@ const DuetUpload = class {
1040
1056
  if (item.valid && item.progress === 100) {
1041
1057
  // if the item has a group, move the file to that group instead
1042
1058
  // of into the standard success group
1043
- if (item.group) {
1044
- return item.group;
1045
- }
1046
1059
  return this.DefaultGroups.success;
1047
1060
  }
1048
1061
  else if (item.progress > 0 && item.progress !== 100) {
@@ -1051,6 +1064,9 @@ const DuetUpload = class {
1051
1064
  else if (!item.valid) {
1052
1065
  return this.DefaultGroups.failure;
1053
1066
  }
1067
+ else if (item.pending) {
1068
+ return this.DefaultGroups.pending;
1069
+ }
1054
1070
  else if (item.group) {
1055
1071
  return item.group;
1056
1072
  }
@@ -1065,6 +1081,9 @@ const DuetUpload = class {
1065
1081
  else if (group === this.DefaultGroups.inprogress) {
1066
1082
  return index.h(ProgressItem, { progress: data.progress, name: data.item.name });
1067
1083
  }
1084
+ else if (group === this.DefaultGroups.pending) {
1085
+ return index.h(PendingItem, { name: data.item.name });
1086
+ }
1068
1087
  else if (group === this.DefaultGroups.failure) {
1069
1088
  return index.h(ErrorItem, { data: data });
1070
1089
  }
@@ -1077,9 +1096,16 @@ const DuetUpload = class {
1077
1096
  };
1078
1097
  this.genHashName = () => Date.now().toString(36) + Math.random();
1079
1098
  this.updateValueInMap = (item, key, value, kick = true) => {
1080
- const fileItem = this.files.get(item);
1081
- fileItem[key] = value;
1082
- this.files.set(item, fileItem);
1099
+ try {
1100
+ const fileItem = this.files.get(item);
1101
+ fileItem[key] = value;
1102
+ this.files.set(item, fileItem);
1103
+ }
1104
+ catch (e) {
1105
+ // if a users tries to update entries on a file that doesn't exist,
1106
+ // this will blow up - so we're swallowing the errors here on purpose
1107
+ // console.warn("operation on missing items")
1108
+ }
1083
1109
  if (kick) {
1084
1110
  this.kick();
1085
1111
  }
@@ -1197,6 +1223,46 @@ const DuetUpload = class {
1197
1223
  fileMaxReached: isTotalFileAmountAboveMax,
1198
1224
  };
1199
1225
  };
1226
+ this.uploadFile = async (fileListItem, force = false, key) => {
1227
+ if (!force && this.deferUpload) {
1228
+ this.updateValueInMap(fileListItem.item.name, "pending", true, false);
1229
+ this.updateValueInMap(fileListItem.item.name, "group", "pending", true);
1230
+ }
1231
+ else if (force) {
1232
+ this.updateValueInMap(fileListItem.item.name, "pending", false, false);
1233
+ this.updateValueInMap(fileListItem.item.name, "group", undefined, true);
1234
+ }
1235
+ try {
1236
+ if (!this.deferUpload || force) {
1237
+ // if all is well AND external file upload handling has not been set, start upload
1238
+ const data = new FormData();
1239
+ data.append("file", fileListItem.item);
1240
+ if (key) {
1241
+ data.append("key", key);
1242
+ }
1243
+ data.append("uid", fileListItem.uid);
1244
+ data.append("name", fileListItem.item.name);
1245
+ data.append("metadata", JSON.stringify({
1246
+ uid: fileListItem.uid,
1247
+ url: this.uri,
1248
+ size: fileListItem.item.size,
1249
+ meta: fileListItem.meta,
1250
+ }));
1251
+ fileListItem.xhr = await this.makeXHRPostRequest(data);
1252
+ }
1253
+ }
1254
+ catch (e) {
1255
+ // in case one of the global maxes have been reached, invalidate the file
1256
+ this.updateValueInMap(fileListItem.item.name, "valid", false, false);
1257
+ }
1258
+ };
1259
+ this.uploadPendingFiles = () => {
1260
+ for (const [key, value] of this.files.entries()) {
1261
+ if (value.group === "pending" && value.pending === true) {
1262
+ this.uploadFile(value, true, key);
1263
+ }
1264
+ }
1265
+ };
1200
1266
  this.getItemFromUID = (uid) => {
1201
1267
  for (const [key, value] of this.files.entries()) {
1202
1268
  if (value.uid === uid) {
@@ -1206,7 +1272,8 @@ const DuetUpload = class {
1206
1272
  return null;
1207
1273
  };
1208
1274
  this.onDelete = (key, ev) => {
1209
- const retrievedKey = this.getItemFromUID(key).key;
1275
+ const item = this.getItemFromUID(key);
1276
+ const retrievedKey = item.key;
1210
1277
  const deletedItem = this.files.get(retrievedKey);
1211
1278
  this.files.delete(retrievedKey);
1212
1279
  this.validateTotals();
@@ -1216,7 +1283,8 @@ const DuetUpload = class {
1216
1283
  data: { deletion: deletedItem },
1217
1284
  component: "duet-upload",
1218
1285
  });
1219
- if (!this.external) {
1286
+ // don't send a xhr request if the item was pending, just remove it from the list
1287
+ if (!this.external && !deletedItem.pending) {
1220
1288
  this.makeXHRDeleteRequest(deletedItem);
1221
1289
  }
1222
1290
  this.resetFormFields();
@@ -1281,6 +1349,7 @@ const DuetUpload = class {
1281
1349
  const all = [...this.files.values()];
1282
1350
  const inprogress = [];
1283
1351
  const failure = [];
1352
+ const pending = [];
1284
1353
  const success = [];
1285
1354
  all.forEach(data => {
1286
1355
  const group = this.getGroupFromItemData(data);
@@ -1299,6 +1368,13 @@ const DuetUpload = class {
1299
1368
  group,
1300
1369
  });
1301
1370
  }
1371
+ else if (group === this.DefaultGroups.pending) {
1372
+ pending.push({
1373
+ uid: data.uid,
1374
+ item,
1375
+ group,
1376
+ });
1377
+ }
1302
1378
  else if (group === this.DefaultGroups.failure) {
1303
1379
  failure.push({
1304
1380
  uid: data.uid,
@@ -1316,6 +1392,7 @@ const DuetUpload = class {
1316
1392
  });
1317
1393
  return {
1318
1394
  inprogress,
1395
+ pending,
1319
1396
  failure,
1320
1397
  success,
1321
1398
  };
@@ -1389,6 +1466,12 @@ const DuetUpload = class {
1389
1466
  this.nativeInput.click();
1390
1467
  return;
1391
1468
  }
1469
+ /**
1470
+ * Method for uploading pending files
1471
+ */
1472
+ async uploadPending() {
1473
+ this.uploadPendingFiles();
1474
+ }
1392
1475
  /**
1393
1476
  * Method for forcing a render of the upload list, element.files can be changed externally
1394
1477
  * But it will only rerender on a new Map or a top Level change - this can be used to update
@@ -1527,19 +1610,14 @@ const DuetUpload = class {
1527
1610
  this.updateValueInMap(item.name, "valid", false, false);
1528
1611
  }
1529
1612
  else if (valid && !this.external) {
1530
- // if all is well AND external file upload handling has not been set, start upload
1531
- const data = new FormData();
1532
- data.append("file", item);
1533
- data.append("uid", uid);
1534
- data.append("name", item.name);
1535
- data.append("metadata", JSON.stringify({ uid, url: this.uri, size: item.size, meta: fileListItem.meta }));
1536
- try {
1537
- fileListItem.xhr = await this.makeXHRPostRequest(data);
1538
- }
1539
- catch (e) {
1540
- // in case one of the global maxes have been reached, invalidate the file
1541
- this.updateValueInMap(item.name, "valid", false, false);
1542
- }
1613
+ await this.uploadFile(fileListItem);
1614
+ }
1615
+ else if (valid && this.external) {
1616
+ this.updateValueInMap(fileListItem.item.name, "pending", true, false);
1617
+ this.updateValueInMap(fileListItem.item.name, "group", "pending", true);
1618
+ }
1619
+ else if (!valid) {
1620
+ this.updateValueInMap(item.name, "valid", false, true);
1543
1621
  }
1544
1622
  // kick the stat to force update
1545
1623
  this.kick();
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
9
  const themeableComponent = require('./themeable-component-940d3b50.js');
10
10
 
11
11
  const duetEmptyStateCss = "*,*::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;width:100%;height:100%}.duet-empty-state{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%;padding:48px;color:#00294d;text-align:center;background:#f5f8fa;border-radius:4px}.duet-empty-state.duet-theme-turva{color:#171c3a;background:#f5f5f7}";
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-a29ba279.js');
8
+ const index = require('./index-014f74e2.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
10
  const themeableComponent = require('./themeable-component-940d3b50.js');
11
11