@duetds/components 4.34.2 → 4.35.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/hydrate/index.js +386 -25
  2. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  3. package/lib/cjs/duet-badge.cjs.entry.js +2 -2
  4. package/lib/cjs/duet-breadcrumb.cjs.entry.js +48 -0
  5. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +68 -0
  6. package/lib/cjs/duet-button_2.cjs.entry.js +4 -3
  7. package/lib/cjs/duet-caption_4.cjs.entry.js +2 -2
  8. package/lib/cjs/duet-card.cjs.entry.js +1 -1
  9. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  10. package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
  11. package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
  12. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  13. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  14. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-editable-table-button.cjs.entry.js +1 -1
  16. package/lib/cjs/duet-editable-table_4.cjs.entry.js +12 -3
  17. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  18. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-footer.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-header_2.cjs.entry.js +1 -1
  22. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  23. package/lib/cjs/duet-icon.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-modal.cjs.entry.js +15 -3
  28. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  29. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  30. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  32. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-scrollable_3.cjs.entry.js +414 -0
  34. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-tray.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  41. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  42. package/lib/cjs/duet.cjs.js +2 -2
  43. package/lib/cjs/{focus-utils-b57facfe.js → focus-utils-e1efc65c.js} +1 -1
  44. package/lib/cjs/{index-e2021bf7.js → index-6128deac.js} +1 -1
  45. package/lib/cjs/loader.cjs.js +2 -2
  46. package/lib/collection/collection-manifest.json +10 -6
  47. package/lib/collection/components/duet-badge/duet-badge.js +1 -1
  48. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.css +57 -0
  49. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +131 -0
  50. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.css +63 -0
  51. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +104 -0
  52. package/lib/collection/components/duet-button/duet-button.css +22 -4
  53. package/lib/collection/components/duet-button/duet-button.js +6 -2
  54. package/lib/collection/components/duet-link/duet-link.js +1 -1
  55. package/lib/collection/components/duet-modal/duet-modal.js +33 -3
  56. package/lib/collection/components/duet-scrollable/duet-scrollable.css +83 -0
  57. package/lib/collection/components/duet-scrollable/duet-scrollable.js +240 -0
  58. package/lib/collection/components/duet-tab/duet-tab.js +63 -1
  59. package/lib/collection/components/duet-tab-group/duet-tab-group.css +12 -13
  60. package/lib/collection/components/duet-tab-group/duet-tab-group.js +101 -16
  61. package/lib/collection/components/duet-upload/duet-upload.js +32 -4
  62. package/lib/custom-elements-bundle/index.d.ts +18 -0
  63. package/lib/custom-elements-bundle/index.js +356 -29
  64. package/lib/duet/duet.esm.js +1 -1
  65. package/lib/duet/duet.js +1 -1
  66. package/lib/duet/p-00b447fe.entry.js +4 -0
  67. package/lib/duet/{p-69133107.system.entry.js → p-02f369f0.system.entry.js} +1 -1
  68. package/lib/duet/{p-d3b5d2ef.system.entry.js → p-03bb1f47.system.entry.js} +1 -1
  69. package/lib/duet/{p-c67a63cc.system.entry.js → p-0569a7ac.system.entry.js} +1 -1
  70. package/lib/duet/{p-f7f4f98a.system.entry.js → p-08e5b6ec.system.entry.js} +1 -1
  71. package/lib/duet/{p-75261615.system.entry.js → p-096c0b9e.system.entry.js} +1 -1
  72. package/lib/duet/{p-7a0a375e.system.entry.js → p-09ba1ab9.system.entry.js} +2 -2
  73. package/lib/duet/{p-ddbdac54.entry.js → p-0d9989c5.entry.js} +1 -1
  74. package/lib/duet/{p-8b01f978.system.entry.js → p-0f20c5c4.system.entry.js} +1 -1
  75. package/lib/duet/{p-a900d55b.entry.js → p-1229b08d.entry.js} +1 -1
  76. package/lib/duet/{p-2524481a.system.entry.js → p-1b0b462f.system.entry.js} +1 -1
  77. package/lib/duet/{p-f01494f9.system.entry.js → p-1b134dc3.system.entry.js} +1 -1
  78. package/lib/duet/p-1fbcd741.entry.js +4 -0
  79. package/lib/duet/{p-8d42cb7c.entry.js → p-26ab4386.entry.js} +1 -1
  80. package/lib/duet/{p-08d1abc7.entry.js → p-29d1e8dc.entry.js} +1 -1
  81. package/lib/duet/{p-4a742d83.entry.js → p-2c8d7bbb.entry.js} +1 -1
  82. package/lib/duet/{p-5c67bb73.system.entry.js → p-2cc5934d.system.entry.js} +1 -1
  83. package/lib/duet/{p-8e16057d.system.entry.js → p-2dcc9779.system.entry.js} +1 -1
  84. package/lib/duet/{p-e1c6f74b.entry.js → p-30cde172.entry.js} +1 -1
  85. package/lib/duet/{p-e0038277.system.entry.js → p-34381bd0.system.entry.js} +1 -1
  86. package/lib/duet/{p-baef2241.entry.js → p-39d4e2d4.entry.js} +1 -1
  87. package/lib/duet/{p-488addbc.entry.js → p-3cc68d7d.entry.js} +1 -1
  88. package/lib/duet/{p-e242bf98.entry.js → p-3e67d7a2.entry.js} +1 -1
  89. package/lib/duet/{p-354bf924.entry.js → p-3ea21701.entry.js} +1 -1
  90. package/lib/duet/{p-c50bbff5.entry.js → p-3f2ac2e1.entry.js} +1 -1
  91. package/lib/duet/{p-5f2fb5db.entry.js → p-3f954a67.entry.js} +1 -1
  92. package/lib/duet/{p-a52d436c.entry.js → p-41019921.entry.js} +1 -1
  93. package/lib/duet/{p-c6ba80c6.entry.js → p-47986fa6.entry.js} +1 -1
  94. package/lib/duet/{p-ee74ff67.entry.js → p-482f91b0.entry.js} +1 -1
  95. package/lib/duet/p-4ac19266.entry.js +4 -0
  96. package/lib/duet/{p-ae8401c9.system.entry.js → p-4cdfa148.system.entry.js} +1 -1
  97. package/lib/duet/{p-939bf739.system.entry.js → p-4e0cca44.system.entry.js} +1 -1
  98. package/lib/duet/{p-f6e1fb0f.system.entry.js → p-4e588759.system.entry.js} +1 -1
  99. package/lib/duet/{p-5f866721.entry.js → p-4eda81b6.entry.js} +1 -1
  100. package/lib/duet/{p-ae46a7d2.system.entry.js → p-4f77c165.system.entry.js} +1 -1
  101. package/lib/duet/{p-4d5531be.entry.js → p-58832650.entry.js} +1 -1
  102. package/lib/duet/p-638ec570.system.entry.js +4 -0
  103. package/lib/duet/{p-f3c258d8.system.entry.js → p-65d61e92.system.entry.js} +1 -1
  104. package/lib/duet/p-66ada8c2.system.entry.js +4 -0
  105. package/lib/duet/{p-ec5d0cda.entry.js → p-6994cca1.entry.js} +1 -1
  106. package/lib/duet/p-6bbe6707.entry.js +4 -0
  107. package/lib/duet/{p-62de4645.system.entry.js → p-6bc17eac.system.entry.js} +1 -1
  108. package/lib/duet/{p-9849a4ab.system.entry.js → p-73cd52c3.system.entry.js} +1 -1
  109. package/lib/duet/{p-db87c4b1.system.entry.js → p-75d53642.system.entry.js} +1 -1
  110. package/lib/duet/{p-1fff32a9.system.entry.js → p-796becd9.system.entry.js} +1 -1
  111. package/lib/duet/{p-e3973f41.system.js → p-7d3a5621.system.js} +1 -1
  112. package/lib/duet/{p-3998eed6.entry.js → p-8040cc39.entry.js} +1 -1
  113. package/lib/duet/{p-45a6838d.system.entry.js → p-821da899.system.entry.js} +1 -1
  114. package/lib/duet/{p-b70f164d.entry.js → p-85170cb2.entry.js} +1 -1
  115. package/lib/duet/{p-90e7e876.entry.js → p-8a4a55a9.entry.js} +1 -1
  116. package/lib/duet/{p-3e0a774d.entry.js → p-905e62f0.entry.js} +1 -1
  117. package/lib/duet/{p-2862054c.entry.js → p-93bd2040.entry.js} +1 -1
  118. package/lib/duet/{p-13d5fe80.system.entry.js → p-9b56c174.system.entry.js} +1 -1
  119. package/lib/duet/{p-cdaa629d.system.entry.js → p-9b7a869e.system.entry.js} +1 -1
  120. package/lib/duet/{p-9793f3d8.entry.js → p-9d1ac81f.entry.js} +1 -1
  121. package/lib/duet/p-9ee29b96.js +4 -0
  122. package/lib/duet/{p-a58f0665.system.entry.js → p-9f53bfcc.system.entry.js} +1 -1
  123. package/lib/duet/{p-0dc01111.system.entry.js → p-a13cceae.system.entry.js} +1 -1
  124. package/lib/duet/p-a28308b5.entry.js +4 -0
  125. package/lib/duet/{p-de23ae41.entry.js → p-a5082840.entry.js} +1 -1
  126. package/lib/duet/{p-5f813e15.entry.js → p-a5d1c883.entry.js} +1 -1
  127. package/lib/duet/{p-58d7f2d1.entry.js → p-a5f67f2f.entry.js} +1 -1
  128. package/lib/duet/{p-5e03b63f.system.entry.js → p-ac525a17.system.entry.js} +1 -1
  129. package/lib/duet/p-ae5596da.js +4 -0
  130. package/lib/duet/{p-b8dde0c8.system.entry.js → p-af38d5b2.system.entry.js} +1 -1
  131. package/lib/duet/{p-0e742087.system.entry.js → p-b4fd3539.system.entry.js} +1 -1
  132. package/lib/duet/{p-f9a096a9.system.entry.js → p-b63dad81.system.entry.js} +1 -1
  133. package/lib/duet/p-b9bb03cb.system.js +4 -0
  134. package/lib/duet/{p-eed6f9cc.system.entry.js → p-bae3ae1d.system.entry.js} +1 -1
  135. package/lib/duet/{p-6a8b3cf0.system.entry.js → p-bf35379f.system.entry.js} +1 -1
  136. package/lib/duet/{p-72ad7798.entry.js → p-cc916a11.entry.js} +1 -1
  137. package/lib/duet/{p-4db07868.entry.js → p-d09f2dd8.entry.js} +1 -1
  138. package/lib/duet/{p-00bf3bbb.system.entry.js → p-d87aa545.system.entry.js} +1 -1
  139. package/lib/duet/{p-3e47c910.entry.js → p-da6aa538.entry.js} +1 -1
  140. package/lib/duet/p-ddda5f80.system.js +4 -0
  141. package/lib/duet/{p-760d2226.entry.js → p-e14ab836.entry.js} +1 -1
  142. package/lib/duet/{p-582f9135.system.entry.js → p-e193d6f7.system.entry.js} +1 -1
  143. package/lib/duet/{p-3e273d8d.entry.js → p-e4ebd229.entry.js} +1 -1
  144. package/lib/duet/{p-ffd449ef.system.entry.js → p-e5224000.system.entry.js} +1 -1
  145. package/lib/duet/{p-66c35cd2.entry.js → p-ec3cf4d1.entry.js} +1 -1
  146. package/lib/duet/{p-12941c46.system.entry.js → p-edcd137c.system.entry.js} +1 -1
  147. package/lib/duet/p-ee13c2e9.system.entry.js +4 -0
  148. package/lib/duet/{p-4836f66d.entry.js → p-f1013864.entry.js} +1 -1
  149. package/lib/duet/{p-5a5e7977.entry.js → p-f10d3f3d.entry.js} +1 -1
  150. package/lib/duet/p-f863e4f8.system.entry.js +4 -0
  151. package/lib/esm/duet-alert.entry.js +1 -1
  152. package/lib/esm/duet-badge.entry.js +2 -2
  153. package/lib/esm/duet-breadcrumb.entry.js +44 -0
  154. package/lib/esm/duet-breadcrumbs.entry.js +64 -0
  155. package/lib/esm/duet-button_2.entry.js +4 -3
  156. package/lib/esm/duet-caption_4.entry.js +2 -2
  157. package/lib/esm/duet-card.entry.js +1 -1
  158. package/lib/esm/duet-checkbox.entry.js +1 -1
  159. package/lib/esm/duet-choice_2.entry.js +2 -2
  160. package/lib/esm/duet-collapsible.entry.js +1 -1
  161. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  162. package/lib/esm/duet-date-picker.entry.js +2 -2
  163. package/lib/esm/duet-divider_2.entry.js +1 -1
  164. package/lib/esm/duet-editable-table-button.entry.js +1 -1
  165. package/lib/esm/duet-editable-table_4.entry.js +12 -3
  166. package/lib/esm/duet-empty-state.entry.js +1 -1
  167. package/lib/esm/duet-fieldset.entry.js +1 -1
  168. package/lib/esm/duet-footer.entry.js +1 -1
  169. package/lib/esm/duet-grid_2.entry.js +1 -1
  170. package/lib/esm/duet-header_2.entry.js +1 -1
  171. package/lib/esm/duet-hero.entry.js +1 -1
  172. package/lib/esm/duet-icon.entry.js +1 -1
  173. package/lib/esm/duet-input_2.entry.js +1 -1
  174. package/lib/esm/duet-layout.entry.js +1 -1
  175. package/lib/esm/duet-list_2.entry.js +1 -1
  176. package/lib/esm/duet-modal.entry.js +15 -3
  177. package/lib/esm/duet-notification_2.entry.js +1 -1
  178. package/lib/esm/duet-number-input.entry.js +1 -1
  179. package/lib/esm/duet-progress.entry.js +1 -1
  180. package/lib/esm/duet-radio_2.entry.js +1 -1
  181. package/lib/esm/duet-range-slider.entry.js +1 -1
  182. package/lib/esm/duet-scrollable_3.entry.js +408 -0
  183. package/lib/esm/duet-select.entry.js +1 -1
  184. package/lib/esm/duet-step_2.entry.js +1 -1
  185. package/lib/esm/duet-textarea.entry.js +1 -1
  186. package/lib/esm/duet-toggle.entry.js +1 -1
  187. package/lib/esm/duet-tooltip.entry.js +1 -1
  188. package/lib/esm/duet-tray.entry.js +1 -1
  189. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  190. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  191. package/lib/esm/duet.js +2 -2
  192. package/lib/esm/{focus-utils-fc14cf36.js → focus-utils-5b40a8be.js} +1 -1
  193. package/lib/esm/{index-9ef5d3bc.js → index-795979f3.js} +1 -1
  194. package/lib/esm/loader.js +2 -2
  195. package/lib/esm-es5/duet-alert.entry.js +1 -1
  196. package/lib/esm-es5/duet-badge.entry.js +1 -1
  197. package/lib/esm-es5/duet-breadcrumb.entry.js +4 -0
  198. package/lib/esm-es5/duet-breadcrumbs.entry.js +4 -0
  199. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  200. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  201. package/lib/esm-es5/duet-card.entry.js +1 -1
  202. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  203. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  204. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  205. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  206. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  207. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  208. package/lib/esm-es5/duet-editable-table-button.entry.js +1 -1
  209. package/lib/esm-es5/duet-editable-table_4.entry.js +1 -1
  210. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  211. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  212. package/lib/esm-es5/duet-footer.entry.js +1 -1
  213. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  214. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  215. package/lib/esm-es5/duet-hero.entry.js +1 -1
  216. package/lib/esm-es5/duet-icon.entry.js +1 -1
  217. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  218. package/lib/esm-es5/duet-layout.entry.js +1 -1
  219. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  220. package/lib/esm-es5/duet-modal.entry.js +1 -1
  221. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  222. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  223. package/lib/esm-es5/duet-progress.entry.js +1 -1
  224. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  225. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  226. package/lib/esm-es5/duet-scrollable_3.entry.js +4 -0
  227. package/lib/esm-es5/duet-select.entry.js +1 -1
  228. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  229. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  230. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  231. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  232. package/lib/esm-es5/duet-tray.entry.js +1 -1
  233. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  234. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  235. package/lib/esm-es5/duet.js +1 -1
  236. package/lib/esm-es5/focus-utils-5b40a8be.js +4 -0
  237. package/lib/esm-es5/index-795979f3.js +4 -0
  238. package/lib/esm-es5/loader.js +1 -1
  239. package/lib/types/components/duet-badge/duet-badge.d.ts +1 -1
  240. package/lib/types/components/duet-breadcrumbs/duet-breadcrumb.d.ts +31 -0
  241. package/lib/types/components/duet-breadcrumbs/duet-breadcrumbs.d.ts +23 -0
  242. package/lib/types/components/duet-button/duet-button.d.ts +2 -1
  243. package/lib/types/components/duet-modal/duet-modal.d.ts +5 -1
  244. package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +51 -0
  245. package/lib/types/components/duet-tab/duet-tab.d.ts +11 -0
  246. package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +15 -0
  247. package/lib/types/components/duet-upload/duet-upload.d.ts +9 -0
  248. package/lib/types/components.d.ts +162 -1
  249. package/package.json +6 -5
  250. package/lib/cjs/duet-tab_2.cjs.entry.js +0 -213
  251. package/lib/duet/p-13bc14a6.system.js +0 -4
  252. package/lib/duet/p-30d13a27.system.js +0 -4
  253. package/lib/duet/p-60aa83c0.js +0 -4
  254. package/lib/duet/p-746b3bee.entry.js +0 -4
  255. package/lib/duet/p-9d487a0d.entry.js +0 -4
  256. package/lib/duet/p-c92b1af1.system.entry.js +0 -4
  257. package/lib/duet/p-ce566b2b.js +0 -4
  258. package/lib/duet/p-d1adeb76.entry.js +0 -4
  259. package/lib/duet/p-f2c402a9.system.entry.js +0 -4
  260. package/lib/esm/duet-tab_2.entry.js +0 -208
  261. package/lib/esm-es5/duet-tab_2.entry.js +0 -4
  262. package/lib/esm-es5/focus-utils-fc14cf36.js +0 -4
  263. package/lib/esm-es5/index-9ef5d3bc.js +0 -4
  264. package/lib/html.html-data.json +0 -4925
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const languageUtils = require('./language-utils-aa282901.js');
10
10
  const themeableComponent = require('./themeable-component-0c1be552.js');
11
11
  require('./string-utils-267e3dbb.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const themeableComponent = require('./themeable-component-0c1be552.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}";
@@ -34,7 +34,7 @@ let DuetBadge = class {
34
34
  }
35
35
  /**
36
36
  * render() function
37
- * Always the last one in the class.
37
+ * Always the last one of the class.
38
38
  */
39
39
  render() {
40
40
  return (index.h(index.Host, { class: { "duet-m-0": this.margin === "none" } }, index.h("div", { class: {
@@ -0,0 +1,48 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ 'use strict';
5
+
6
+ Object.defineProperty(exports, '__esModule', { value: true });
7
+
8
+ const index = require('./index-6128deac.js');
9
+ const themeableComponent = require('./themeable-component-0c1be552.js');
10
+
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}";
12
+
13
+ let DuetBreadcrumb = class {
14
+ constructor(hostRef) {
15
+ index.registerInstance(this, hostRef);
16
+ /**
17
+ * Theme
18
+ */
19
+ this.theme = "";
20
+ /**
21
+ * Href
22
+ */
23
+ this.href = "";
24
+ /**
25
+ * Icon
26
+ */
27
+ this.icon = "";
28
+ }
29
+ /**
30
+ * Component lifecycle events.
31
+ */
32
+ componentWillLoad() {
33
+ themeableComponent.inheritGlobalTheme(this);
34
+ }
35
+ /**
36
+ * render() function
37
+ * Always the last one in the class.
38
+ */
39
+ render() {
40
+ return (index.h(index.Host, null, index.h("a", { class: {
41
+ "duet-breadcrumb": true,
42
+ "duet-theme-turva": this.theme === "turva",
43
+ }, href: this.href, "aria-label": this.accessibleLabel }, this.icon && index.h("duet-icon", { size: "x-small", name: this.icon, margin: "none", color: "currentColor" }), !this.icon && index.h("slot", null))));
44
+ }
45
+ };
46
+ DuetBreadcrumb.style = duetBreadcrumbCss;
47
+
48
+ exports.duet_breadcrumb = DuetBreadcrumb;
@@ -0,0 +1,68 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ 'use strict';
5
+
6
+ Object.defineProperty(exports, '__esModule', { value: true });
7
+
8
+ const index = require('./index-6128deac.js');
9
+ const languageUtils = require('./language-utils-aa282901.js');
10
+ const themeableComponent = require('./themeable-component-0c1be552.js');
11
+ require('./string-utils-267e3dbb.js');
12
+
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
+ 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
+
17
+ let DuetBreadcrumbs = class {
18
+ constructor(hostRef) {
19
+ index.registerInstance(this, hostRef);
20
+ this.observers = [];
21
+ this.breadcrumbsAriaLabel = languageUtils.getLocaleString({
22
+ fi: "Murupolku",
23
+ sv: "Ströbröd",
24
+ en: "Breadcrumbs",
25
+ });
26
+ /**
27
+ * Theme
28
+ */
29
+ this.theme = "";
30
+ }
31
+ /**
32
+ * Component lifecycle events.
33
+ */
34
+ componentWillLoad() {
35
+ themeableComponent.inheritGlobalTheme(this);
36
+ this.children = Array.from(this.element.children);
37
+ }
38
+ connectedCallback() {
39
+ Array.from(this.element.children).forEach(child => {
40
+ const observer = new MutationObserver(() => (this.children = Array.from(this.element.children)));
41
+ observer.observe(child, {
42
+ childList: true,
43
+ subtree: true,
44
+ attributes: true,
45
+ characterData: true,
46
+ });
47
+ this.observers = [...this.observers, observer];
48
+ });
49
+ }
50
+ disconnectedCallback() {
51
+ this.observers.forEach(observer => observer.disconnect());
52
+ this.observers = [];
53
+ }
54
+ /**
55
+ * render() function
56
+ * Always the last one in the class.
57
+ */
58
+ render() {
59
+ return (index.h(index.Host, null, index.h("nav", { "aria-label": this.breadcrumbsAriaLabel, class: {
60
+ "duet-breadcrumbs": true,
61
+ "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)))))))));
63
+ }
64
+ get element() { return index.getElement(this); }
65
+ };
66
+ DuetBreadcrumbs.style = duetBreadcrumbsCss;
67
+
68
+ exports.duet_breadcrumbs = DuetBreadcrumbs;
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const commonStrings = require('./common-strings-de17f887.js');
10
10
  const languageUtils = require('./language-utils-aa282901.js');
11
11
  const themeableComponent = require('./themeable-component-0c1be552.js');
@@ -13,7 +13,7 @@ const tokenUtils = require('./token-utils-05bd23b4.js');
13
13
  require('./string-utils-267e3dbb.js');
14
14
  require('./tokens.module-6b2df1c2.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-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{color:#de2362 !important;background:white;border-color:#de2362}.duet-theme-turva .duet-button.destructive{color:#e02a0d !important;background:white;border-color:#e02a0d}.duet-button.destructive:hover{color:white !important;background:#b21c4e;border-color:#b21c4e}.duet-theme-turva .duet-button.destructive: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(.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-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}";
17
17
 
18
18
  let DuetButton = class {
19
19
  constructor(hostRef) {
@@ -27,6 +27,7 @@ let DuetButton = class {
27
27
  /**
28
28
  * Style variation of the button.
29
29
  * @negative - value is deprecated and should be used in combination with negative prop in the future
30
+ * @destructive - value is deprecated and should be replace with destructive-secondary
30
31
  */
31
32
  this.variation = "default";
32
33
  /**
@@ -234,7 +235,7 @@ let DuetButton = class {
234
235
  "duet-theme-turva": this.theme === "turva",
235
236
  "duet-button-negative": this.negative || this.variation === "negative",
236
237
  [this.variation]: true,
237
- } }, this.url ? (index.h("a", Object.assign({}, commonProps, { href: this.url, target: this.external ? "_blank" : "_self" }), commonChildren, this.external && index.h("duet-visually-hidden", null, ", ", this.accessibleLabelExternal))) : (index.h("button", Object.assign({}, commonProps, { type: this.getButtonType(), disabled: this.disabled, name: this.name, value: this.value, "aria-pressed": this.accessiblePressed != null ? this.accessiblePressed.toString() : undefined }), commonChildren)), this.loading && index.h("duet-spinner", { color: "currentColor" }))));
238
+ } }, this.url ? (index.h("a", Object.assign({}, commonProps, { href: this.url, target: this.external ? "_blank" : "_self", rel: this.external ? "noopener" : undefined }), commonChildren, this.external && index.h("duet-visually-hidden", null, ", ", this.accessibleLabelExternal))) : (index.h("button", Object.assign({}, commonProps, { type: this.getButtonType(), disabled: this.disabled, name: this.name, value: this.value, "aria-pressed": this.accessiblePressed != null ? this.accessiblePressed.toString() : undefined }), commonChildren)), this.loading && index.h("duet-spinner", { color: "currentColor" }))));
238
239
  }
239
240
  get element() { return index.getElement(this); }
240
241
  static get watchers() { return {
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const themeableComponent = require('./themeable-component-0c1be552.js');
10
10
  const stringUtils = require('./string-utils-267e3dbb.js');
11
11
  const tokenUtils = require('./token-utils-05bd23b4.js');
@@ -179,7 +179,7 @@ let DuetLink = class {
179
179
  "duet-link": true,
180
180
  "duet-link-is-external": this.external,
181
181
  "duet-theme-turva": this.theme === "turva",
182
- }, target: this.external ? "_blank" : "_self", "aria-label": this.accessibleLabel, id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link" }, index.h("slot", null), this.external && (index.h(index.Fragment, null, index.h("duet-visually-hidden", null, this.accessibleLabelExternal), index.h("span", { class: "duet-link-external" }, index.h("duet-icon", { icon: actionNewWindowSmall.actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))))));
182
+ }, target: this.external ? "_blank" : "_self", "aria-label": this.accessibleLabel, id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link", rel: this.external ? "noopener" : undefined }, index.h("slot", null), this.external && (index.h(index.Fragment, null, index.h("duet-visually-hidden", null, this.accessibleLabelExternal), index.h("span", { class: "duet-link-external" }, index.h("duet-icon", { icon: actionNewWindowSmall.actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))))));
183
183
  }
184
184
  static get delegatesFocus() { return true; }
185
185
  };
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
10
  const keyboardUtils = require('./keyboard-utils-b4e3d1d3.js');
11
11
  const stringUtils = require('./string-utils-267e3dbb.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
10
  const themeableComponent = require('./themeable-component-0c1be552.js');
11
11
 
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.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-b57facfe.js');
11
+ const focusUtils = require('./focus-utils-e1efc65c.js');
12
12
  const keyboardUtils = require('./keyboard-utils-b4e3d1d3.js');
13
13
  const languageUtils = require('./language-utils-aa282901.js');
14
14
  const themeableComponent = require('./themeable-component-0c1be552.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const actionArrowDownSmall = require('./action-arrow-down-small-ef77a2d1.js');
10
10
  const tokens = require('./tokens-8596cece.js');
11
11
  const createId = require('./create-id-c3b984b1.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const themeableComponent = require('./themeable-component-0c1be552.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-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
- const focusUtils = require('./focus-utils-b57facfe.js');
10
+ const focusUtils = require('./focus-utils-e1efc65c.js');
11
11
  const languageUtils = require('./language-utils-aa282901.js');
12
12
  const themeableComponent = require('./themeable-component-0c1be552.js');
13
13
  require('./string-utils-267e3dbb.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const themeableComponent = require('./themeable-component-0c1be552.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,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const languageUtils = require('./language-utils-aa282901.js');
10
10
  const themeableComponent = require('./themeable-component-0c1be552.js');
11
11
  const tokenUtils = require('./token-utils-05bd23b4.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const languageUtils = require('./language-utils-aa282901.js');
10
10
  const themeableComponent = require('./themeable-component-0c1be552.js');
11
11
  const tokens_module = require('./tokens.module-6b2df1c2.js');
@@ -1473,6 +1473,15 @@ let DuetUpload = class {
1473
1473
  this.nativeInput.click();
1474
1474
  return;
1475
1475
  }
1476
+ /**
1477
+ * Method for forcing a render of the upload list, element.files can be changed externally
1478
+ * But it will only rerender on a new Map or a top Level change - this can be used to update
1479
+ * the tabular data if the automatic re-render is no sufficient
1480
+ */
1481
+ async refresh() {
1482
+ this.kick();
1483
+ await this.setFocus();
1484
+ }
1476
1485
  /**
1477
1486
  * Get list of files, divided in errors and valid sections
1478
1487
  */
@@ -1497,11 +1506,11 @@ let DuetUpload = class {
1497
1506
  let caption = this.description.replace(/{maxfiles}/g, this.maxFiles.toString());
1498
1507
  caption = caption.replace(/{maxbytes}/g, `${Math.floor(this.maxBytes / 1024 / 1024)} MB`);
1499
1508
  caption = caption.replace(/{filetypes}/g, this.allowedExtensions.split(",").join(", "));
1500
- return (index.h(index.Host, { class: { "duet-m-0": this.margin === "none" } }, index.h("duet-fieldset", { label: this.label, caption: caption }, index.h("slot", { name: "header" }), !this.files.size && (index.h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", size: "small", class: {
1509
+ return (index.h(index.Host, { class: { "duet-m-0": this.margin === "none" } }, index.h("duet-fieldset", { label: this.label, caption: caption }, index.h("slot", { name: "header" }), !this.files.size && (index.h("duet-label", { part: this.identifier ? `${this.identifier}-empty-state` : "duet-upload-empty-state", theme: this.theme === "turva" ? "turva" : "default", size: "small", class: {
1501
1510
  "duet-upload-filelist-empty": !this.files.size,
1502
1511
  "duet-upload-filelist": true,
1503
1512
  "duet-upload-filelist-filled": this.files.size,
1504
- }, id: this.labelId, for: identifier }, this.fileListEmpty)), !!this.files.size && index.h("slot", { name: "fileheader" }), !!this.files.size && (index.h("duet-upload-aria-status", { invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && (index.h("duet-editable-table", { "aria-live": "polite", "aria-relevant": "removals", accessibleRole: "log", id: this.editableTableId, groups: this.groups, actions: this.actions, hideGroups: this.hideGroups, alignment: this.alignment, items: this.convertToDuetEditableTableItems() })), !!this.files.size && index.h("slot", { name: "filefooter" }), index.h("duet-spacer", { size: "large" }), !this.hideButton && (index.h("duet-button", { id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle" }, this.buttonLabel)), index.h("duet-spacer", { size: "medium" }), (this.fileMaxReached || this.bytesMaxReached) && (index.h("duet-alert", null, this.fileMaxReached && getI18nError("duet-upload-301"), this.bytesMaxReached && getI18nError("duet-upload-202"))), index.h("duet-spacer", { size: "medium" }), index.h("duet-visually-hidden", null, index.h("input", { ref: input => {
1513
+ }, id: this.labelId, for: identifier }, this.fileListEmpty)), !!this.files.size && index.h("slot", { name: "fileheader" }), !!this.files.size && (index.h("duet-upload-aria-status", { invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && (index.h("duet-editable-table", { part: this.identifier ? `${this.identifier}-editable-table` : "duet-upload-editable-table", "aria-live": "polite", "aria-relevant": "removals", accessibleRole: "log", id: this.editableTableId, groups: this.groups, actions: this.actions, hideGroups: this.hideGroups, alignment: this.alignment, items: this.convertToDuetEditableTableItems() })), !!this.files.size && index.h("slot", { name: "filefooter" }), index.h("duet-spacer", { size: "large" }), !this.hideButton && (index.h("duet-button", { id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel)), index.h("duet-spacer", { size: "medium" }), (this.fileMaxReached || this.bytesMaxReached) && (index.h("duet-alert", { part: this.identifier ? `${this.identifier}-error-notification` : "duet-upload-error-notification" }, this.fileMaxReached && getI18nError("duet-upload-301"), this.bytesMaxReached && getI18nError("duet-upload-202"))), index.h("duet-spacer", { size: "medium" }), index.h("duet-visually-hidden", null, index.h("input", { ref: input => {
1505
1514
  this.nativeInput = input;
1506
1515
  }, accept: !this.limitSelection ? undefined : `${this.allowedMimetypes},${this.allowedExtensions}`, onBlur: this.onBlur, onFocus: this.onFocus, onChange: e => this.onChange(e), type: "file", class: {
1507
1516
  "duet-upload": true,
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const themeableComponent = require('./themeable-component-0c1be552.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-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
10
  const themeableComponent = require('./themeable-component-0c1be552.js');
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const actionNewWindowSmall = require('./action-new-window-small-fa51dfb9.js');
10
10
  const commonStrings = require('./common-strings-de17f887.js');
11
11
  const languageUtils = require('./language-utils-aa282901.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const tokens = require('./tokens-8596cece.js');
10
10
  const watchOptions = require('./watch-options-d88afac0.js');
11
11
  const themeableComponent = require('./themeable-component-0c1be552.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const formSearch = require('./form-search-d61b2843.js');
10
10
  const tokens = require('./tokens-8596cece.js');
11
11
  const bodyScrollLock_es6 = require('./bodyScrollLock.es6-6ef1142a.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const actionNewWindowSmall = require('./action-new-window-small-fa51dfb9.js');
10
10
  const commonStrings = require('./common-strings-de17f887.js');
11
11
  const languageUtils = require('./language-utils-aa282901.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const themeableComponent = require('./themeable-component-0c1be552.js');
10
10
  const tokenUtils = require('./token-utils-05bd23b4.js');
11
11
  require('./tokens.module-6b2df1c2.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const formSearch = require('./form-search-d61b2843.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const inputUtils = require('./input-utils-f3e3854c.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const isInternetExplorer = require('./is-internet-explorer-91361c56.js');
10
10
 
11
11
  const duetLayoutCss = "*,*::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:1 0 auto;width:100%}:host(.duet-middle){display:flex}:host(.duet-middle) .duet-layout{padding:36px 28px !important}@media (min-width: 36em){:host(.duet-middle) .duet-layout{padding:48px 36px !important}}@media (min-width: 62em){:host(.duet-middle) .duet-layout{padding:56px !important}}:host(.duet-ie){height:100%}:host(.duet-middle.duet-ie){height:auto}.duet-layout{position:relative;padding:0 16px;margin:48px auto 36px}@media (min-width: 36em){.duet-layout{margin-top:72px}}.duet-layout.duet-layout-has-top{margin-top:0}.duet-layout.duet-m-0{margin-top:0 !important;margin-bottom:0 !important}.duet-layout.duet-center{display:flex;align-items:center;justify-content:center;width:100%;max-width:888px}@media (min-width: 36em){.duet-layout.duet-center{padding:0 48px}}@media (min-width: 48em){.duet-layout.duet-center{padding:0 72px}}@media (min-width: 62em){.duet-layout.duet-center{width:100%}}@media (min-width: 36em){.duet-layout{padding:0 28px}}@media (min-width: 62em){.duet-layout{display:flex;flex-direction:row;padding:0 56px;margin-bottom:48px}}@media (min-width: 76.25em){.duet-layout{max-width:1110px;padding:0}}.duet-main,.duet-sidebar,.duet-layout-top,.duet-layout-bottom{display:block;width:100%}.duet-layout-top{position:relative;display:block;width:100%;margin:72px auto 0}.duet-layout-top.duet-m-0{margin-top:0 !important;margin-bottom:0 !important}.duet-layout-top .duet-layout-top-wrapper{padding:0 20px;margin:0 auto}@media (min-width: 36em){.duet-layout-top .duet-layout-top-wrapper{padding:0 28px}}@media (min-width: 62em){.duet-layout-top .duet-layout-top-wrapper{padding:0 56px}}@media (min-width: 76.25em){.duet-layout-top .duet-layout-top-wrapper{max-width:1110px;padding:0}}.duet-center .duet-layout-top-wrapper{max-width:888px}@media (min-width: 36em){.duet-center .duet-layout-top-wrapper{padding:0 48px}}@media (min-width: 48em){.duet-center .duet-layout-top-wrapper{padding:0 72px}}@media (min-width: 62em){.duet-main{min-width:600px;margin:0 auto}.has-sidebar .duet-main{max-width:734px;margin-right:20px}}@media (min-width: 62em){.duet-sidebar{min-width:256px;max-width:356px}}@media (min-width: 62em){.duet-sidebar-container{width:auto;max-width:356px}}@media (min-width: 62em){.duet-sidebar-container.has-tabs{margin-top:89px}}@media (min-width: 62em){.duet-sidebar-container.sticky{position:sticky}.duet-sidebar-container.sticky.with-links{top:calc(3rem + 20px)}.duet-sidebar-container.sticky.without-links{top:calc(4rem + 20px)}}";
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const themeableComponent = require('./themeable-component-0c1be552.js');
10
10
  const watchOptions = require('./watch-options-d88afac0.js');
11
11
 
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const bodyScrollLock_es6 = require('./bodyScrollLock.es6-6ef1142a.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
- const focusUtils = require('./focus-utils-b57facfe.js');
11
+ const focusUtils = require('./focus-utils-e1efc65c.js');
12
12
  const keyboardUtils = require('./keyboard-utils-b4e3d1d3.js');
13
13
  const languageUtils = require('./language-utils-aa282901.js');
14
14
  const themeableComponent = require('./themeable-component-0c1be552.js');
@@ -112,6 +112,10 @@ let DuetModal = class {
112
112
  * Use this property when you need to have the modal dialog initially active.
113
113
  */
114
114
  this.active = false;
115
+ /**
116
+ * Use this property when you want the modal to close when clicked outside of modal.
117
+ */
118
+ this.closeOnBlur = false;
115
119
  }
116
120
  openChanged() {
117
121
  if (this.open) {
@@ -224,7 +228,15 @@ let DuetModal = class {
224
228
  } }, index.h(focusUtils.FocusGuard, { moveFocusTo: this.buttonEl }), index.h("div", { class: {
225
229
  "duet-modal-inner": true,
226
230
  "duet-modal-large": this.size === "large",
227
- }, role: "document" }, index.h("div", { class: { "duet-modal": true, [this.size]: true } }, index.h("duet-spacer", null), index.h("div", { class: "duet-modal-close" }, index.h("duet-button", { ref: button => (this.buttonEl = button), variation: "plain", accessibleLabel: this.accessibleCloseLabel, color: closeColor, iconSize: "large", icon: "navigation-close", iconOnly: true, margin: "none", theme: this.theme, onClick: ev => this.closeModal(ev), fixed: true })), index.h("div", { class: {
231
+ }, role: "document", onClick: e => {
232
+ if (this.closeOnBlur) {
233
+ this.closeModal(e);
234
+ }
235
+ } }, index.h("div", { class: { "duet-modal": true, [this.size]: true }, onClick: e => {
236
+ if (this.closeOnBlur) {
237
+ e.stopPropagation();
238
+ }
239
+ } }, index.h("duet-spacer", null), index.h("div", { class: "duet-modal-close" }, index.h("duet-button", { ref: button => (this.buttonEl = button), variation: "plain", accessibleLabel: this.accessibleCloseLabel, color: closeColor, iconSize: "large", icon: "navigation-close", iconOnly: true, margin: "none", theme: this.theme, onClick: ev => this.closeModal(ev), fixed: true })), index.h("div", { class: {
228
240
  "duet-modal-body": true,
229
241
  "duet-modal-gutter-small": this.gutterSize === "small",
230
242
  "duet-modal-gutter-medium": this.gutterSize === "medium",
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const languageUtils = require('./language-utils-aa282901.js');
10
10
  const themeableComponent = require('./themeable-component-0c1be552.js');
11
11
  const actionArrowDownSmall = require('./action-arrow-down-small-ef77a2d1.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
10
  const keyboardUtils = require('./keyboard-utils-b4e3d1d3.js');
11
11
  const languageUtils = require('./language-utils-aa282901.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
10
  const languageUtils = require('./language-utils-aa282901.js');
11
11
  const themeableComponent = require('./themeable-component-0c1be552.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const createId = require('./create-id-c3b984b1.js');
10
10
  const themeableComponent = require('./themeable-component-0c1be552.js');
11
11
  const watchOptions = require('./watch-options-d88afac0.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e2021bf7.js');
8
+ const index = require('./index-6128deac.js');
9
9
  const tokens_module = require('./tokens.module-6b2df1c2.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const isInternetExplorer = require('./is-internet-explorer-91361c56.js');