@duetds/components 8.4.3 → 8.4.4

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 (621) hide show
  1. package/hydrate/index.js +103 -21
  2. package/lib/cjs/action-new-window-50c8aed0.js +11 -0
  3. package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
  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-banner.cjs.entry.js +8 -7
  7. package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
  8. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +3 -3
  9. package/lib/cjs/duet-button_2.cjs.entry.js +3 -3
  10. package/lib/cjs/duet-callout.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-caption_4.cjs.entry.js +45 -21
  12. package/lib/cjs/duet-card.cjs.entry.js +3 -3
  13. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-chip.cjs.entry.js +1 -1
  16. package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
  17. package/lib/cjs/duet-collapsible.cjs.entry.js +2 -2
  18. package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-contact-card.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  22. package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
  23. package/lib/cjs/duet-editable-table_3.cjs.entry.js +46 -4
  24. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-file-chooser.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-footer.cjs.entry.js +3 -5
  28. package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
  29. package/lib/cjs/duet-header_2.cjs.entry.js +3 -3
  30. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-icon.cjs.entry.js +3 -3
  32. package/lib/cjs/duet-input_2.cjs.entry.js +3 -3
  33. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +2 -2
  36. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +2 -2
  38. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +2 -2
  39. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +2 -2
  40. package/lib/cjs/duet-menu-bar.cjs.entry.js +2 -2
  41. package/lib/cjs/duet-modal.cjs.entry.js +3 -3
  42. package/lib/cjs/duet-multiselect.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-nav.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  45. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  46. package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
  47. package/lib/cjs/duet-pagination_2.cjs.entry.js +4 -4
  48. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +1 -1
  49. package/lib/cjs/duet-popup-menu.cjs.entry.js +8 -3
  50. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  51. package/lib/cjs/duet-promo-card.cjs.entry.js +3 -3
  52. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  53. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  54. package/lib/cjs/duet-scrollable_3.cjs.entry.js +3 -3
  55. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  56. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  57. package/lib/cjs/duet-shaped-image.cjs.entry.js +1 -1
  58. package/lib/cjs/duet-show-more.cjs.entry.js +1 -1
  59. package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
  60. package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
  61. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
  62. package/lib/cjs/duet-slideout-panel.cjs.entry.js +4 -4
  63. package/lib/cjs/duet-slideout.cjs.entry.js +4 -4
  64. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  65. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +1 -1
  66. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +2 -2
  67. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +2 -2
  68. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +2 -2
  69. package/lib/cjs/duet-submenu-bar.cjs.entry.js +5 -4
  70. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  71. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  72. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -1
  73. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +1 -1
  74. package/lib/cjs/duet-toolbar-item.cjs.entry.js +1 -1
  75. package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -1
  76. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
  77. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +2 -2
  78. package/lib/cjs/duet-tooltip.cjs.entry.js +2 -2
  79. package/lib/cjs/duet-tray.cjs.entry.js +2 -2
  80. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  81. package/lib/cjs/duet-upload-item.cjs.entry.js +1 -1
  82. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  83. package/lib/cjs/duet.cjs.js +2 -2
  84. package/lib/cjs/{focus-utils-a8f819a3.js → focus-utils-a2fa36c7.js} +1 -1
  85. package/lib/cjs/{index-cb4d7840.js → index-321cd5c2.js} +1 -1
  86. package/lib/cjs/loader.cjs.js +2 -2
  87. package/lib/cjs/{token-utils-7a618677.js → token-utils-c8094d1e.js} +1 -1
  88. package/lib/cjs/{tokens-c3eecae6.js → tokens-5b487d39.js} +3 -0
  89. package/lib/cjs/{tokens.module-bc323a09.js → tokens.module-450a747b.js} +2 -0
  90. package/lib/collection/components/duet-banner/duet-banner.js +5 -4
  91. package/lib/collection/components/duet-link/duet-link.css +95 -9
  92. package/lib/collection/components/duet-link/duet-link.js +73 -20
  93. package/lib/collection/components/duet-modal/duet-modal.js +1 -1
  94. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +24 -1
  95. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +1 -1
  96. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +3 -2
  97. package/lib/collection/components/duet-upload/duet-upload.js +61 -1
  98. package/lib/collection/utils/string-utils.js +6 -0
  99. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  100. package/lib/dist-custom-elements/duet-alert.js +1 -1
  101. package/lib/dist-custom-elements/duet-badge.js +1 -1
  102. package/lib/dist-custom-elements/duet-banner.js +9 -8
  103. package/lib/dist-custom-elements/duet-breadcrumb.js +3 -3
  104. package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
  105. package/lib/dist-custom-elements/duet-button.js +1 -1
  106. package/lib/dist-custom-elements/duet-callout.js +2 -2
  107. package/lib/dist-custom-elements/duet-caption.js +1 -1
  108. package/lib/dist-custom-elements/duet-card.js +4 -4
  109. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  110. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  111. package/lib/dist-custom-elements/duet-chip.js +2 -2
  112. package/lib/dist-custom-elements/duet-choice-group.js +8 -8
  113. package/lib/dist-custom-elements/duet-choice.js +5 -5
  114. package/lib/dist-custom-elements/duet-collapsible.js +3 -3
  115. package/lib/dist-custom-elements/duet-combobox.js +2 -2
  116. package/lib/dist-custom-elements/duet-contact-card.js +8 -8
  117. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  118. package/lib/dist-custom-elements/duet-date-picker.js +12 -12
  119. package/lib/dist-custom-elements/duet-divider.js +1 -1
  120. package/lib/dist-custom-elements/duet-editable-table.js +7 -7
  121. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  122. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  123. package/lib/dist-custom-elements/duet-file-chooser.js +2 -2
  124. package/lib/dist-custom-elements/duet-footer.js +5 -7
  125. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  126. package/lib/dist-custom-elements/duet-grid.js +1 -1
  127. package/lib/dist-custom-elements/duet-header.js +9 -9
  128. package/lib/dist-custom-elements/duet-heading.js +1 -1
  129. package/lib/dist-custom-elements/duet-hero.js +9 -9
  130. package/lib/dist-custom-elements/duet-icon.js +1 -1
  131. package/lib/dist-custom-elements/duet-input.js +1 -1
  132. package/lib/dist-custom-elements/duet-label.js +1 -1
  133. package/lib/dist-custom-elements/duet-layout.js +1 -1
  134. package/lib/dist-custom-elements/duet-link.js +1 -1
  135. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  136. package/lib/dist-custom-elements/duet-list.js +1 -1
  137. package/lib/dist-custom-elements/duet-logo.js +1 -1
  138. package/lib/dist-custom-elements/duet-menu-bar-button.js +3 -3
  139. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
  140. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +3 -3
  141. package/lib/dist-custom-elements/duet-menu-bar-item.js +3 -3
  142. package/lib/dist-custom-elements/duet-menu-bar-link.js +3 -3
  143. package/lib/dist-custom-elements/duet-menu-bar.js +3 -3
  144. package/lib/dist-custom-elements/duet-modal.js +8 -8
  145. package/lib/dist-custom-elements/duet-multiselect.js +9 -9
  146. package/lib/dist-custom-elements/duet-nav.js +1 -1
  147. package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
  148. package/lib/dist-custom-elements/duet-notification.js +2 -2
  149. package/lib/dist-custom-elements/duet-number-input.js +11 -11
  150. package/lib/dist-custom-elements/duet-page-heading.js +2 -2
  151. package/lib/dist-custom-elements/duet-pagination.js +14 -14
  152. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  153. package/lib/dist-custom-elements/duet-popup-menu-item.js +2 -2
  154. package/lib/dist-custom-elements/duet-popup-menu.js +8 -2
  155. package/lib/dist-custom-elements/duet-progress.js +1 -1
  156. package/lib/dist-custom-elements/duet-promo-card.js +4 -4
  157. package/lib/dist-custom-elements/duet-radio-group.js +8 -8
  158. package/lib/dist-custom-elements/duet-radio.js +1 -1
  159. package/lib/dist-custom-elements/duet-range-slider.js +3 -3
  160. package/lib/dist-custom-elements/duet-range-stepper.js +5 -5
  161. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  162. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  163. package/lib/dist-custom-elements/duet-select.js +1 -1
  164. package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
  165. package/lib/dist-custom-elements/duet-show-more.js +5 -5
  166. package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
  167. package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
  168. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
  169. package/lib/dist-custom-elements/duet-slideout-panel.js +3 -3
  170. package/lib/dist-custom-elements/duet-slideout.js +3 -3
  171. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  172. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  173. package/lib/dist-custom-elements/duet-step.js +4 -4
  174. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  175. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +2 -2
  176. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +3 -3
  177. package/lib/dist-custom-elements/duet-submenu-bar-item.js +3 -3
  178. package/lib/dist-custom-elements/duet-submenu-bar-link.js +3 -3
  179. package/lib/dist-custom-elements/duet-submenu-bar.js +6 -5
  180. package/lib/dist-custom-elements/duet-tab-group.js +13 -13
  181. package/lib/dist-custom-elements/duet-tab.js +2 -2
  182. package/lib/dist-custom-elements/duet-table.js +1 -1
  183. package/lib/dist-custom-elements/duet-textarea.js +10 -10
  184. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  185. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
  186. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +2 -2
  187. package/lib/dist-custom-elements/duet-toolbar-item.js +2 -2
  188. package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
  189. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  190. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  191. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  192. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  193. package/lib/dist-custom-elements/duet-tray.js +4 -4
  194. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  195. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  196. package/lib/dist-custom-elements/duet-upload.js +62 -19
  197. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  198. package/lib/dist-custom-elements/index.js +1 -1
  199. package/lib/dist-custom-elements/{p-8d2fe91f.js → p-00766c1c.js} +10 -10
  200. package/lib/dist-custom-elements/{p-3e7280f6.js → p-01cc0070.js} +8 -8
  201. package/lib/dist-custom-elements/{p-c5d64549.js → p-16110f9e.js} +10 -10
  202. package/lib/dist-custom-elements/{p-cbac9ed5.js → p-2807b16f.js} +1 -1
  203. package/lib/dist-custom-elements/{p-d37a3cec.js → p-2f3ee599.js} +2 -0
  204. package/lib/dist-custom-elements/{p-613dba69.js → p-37ed08ff.js} +5 -5
  205. package/lib/dist-custom-elements/{p-2103fc77.js → p-37fda12a.js} +1 -1
  206. package/lib/dist-custom-elements/{p-cd25ec2f.js → p-4ea72812.js} +2 -2
  207. package/lib/dist-custom-elements/{p-d9f82ff4.js → p-5d23f8e5.js} +1 -1
  208. package/lib/dist-custom-elements/{p-d0cf13fd.js → p-60825051.js} +1 -1
  209. package/lib/dist-custom-elements/{p-b7f8263a.js → p-694eb563.js} +2 -2
  210. package/lib/dist-custom-elements/{p-29282584.js → p-6d154d20.js} +1 -1
  211. package/lib/dist-custom-elements/{p-d940c692.js → p-6e276517.js} +2 -2
  212. package/lib/dist-custom-elements/{p-a225fccd.js → p-70db33ff.js} +5 -5
  213. package/lib/dist-custom-elements/{p-04a28e53.js → p-769f67db.js} +2 -2
  214. package/lib/dist-custom-elements/{p-c7bbc1bd.js → p-7a282561.js} +2 -2
  215. package/lib/dist-custom-elements/{p-6a2c4e3a.js → p-80658678.js} +6 -6
  216. package/lib/dist-custom-elements/p-8855e26a.js +8 -0
  217. package/lib/dist-custom-elements/{p-010b0059.js → p-95edd984.js} +4 -4
  218. package/lib/dist-custom-elements/{p-101df5e0.js → p-9a68c9c3.js} +2 -2
  219. package/lib/dist-custom-elements/{p-9b8fa220.js → p-a0e148ea.js} +2 -2
  220. package/lib/dist-custom-elements/{p-3da9e71c.js → p-add43228.js} +5 -5
  221. package/lib/dist-custom-elements/{p-09ac88f3.js → p-b72908a4.js} +3 -3
  222. package/lib/dist-custom-elements/{p-c8659f64.js → p-b8be34fe.js} +3 -3
  223. package/lib/dist-custom-elements/{p-3fa35111.js → p-bc9b66e3.js} +2 -2
  224. package/lib/dist-custom-elements/{p-e6920cf3.js → p-c3bf10f0.js} +2 -2
  225. package/lib/dist-custom-elements/{p-bb06c3ac.js → p-c92fc106.js} +2 -2
  226. package/lib/dist-custom-elements/{p-22530bf0.js → p-c9e9fcdd.js} +1 -1
  227. package/lib/dist-custom-elements/{p-34f86ab2.js → p-cd43ed13.js} +1 -1
  228. package/lib/dist-custom-elements/p-d0e58f2f.js +195 -0
  229. package/lib/dist-custom-elements/{p-ea4b4bbb.js → p-d98e622c.js} +2 -2
  230. package/lib/dist-custom-elements/{p-44cdc06d.js → p-d9ce7d34.js} +2 -2
  231. package/lib/dist-custom-elements/{p-252800e5.js → p-e0da6a34.js} +1 -1
  232. package/lib/dist-custom-elements/{p-8af17456.js → p-e20f6c37.js} +1 -1
  233. package/lib/dist-custom-elements/{p-f79a36ee.js → p-eb8112d7.js} +1 -1
  234. package/lib/{esm/tokens-30d01e1d.js → dist-custom-elements/p-ed995372.js} +3 -0
  235. package/lib/dist-custom-elements/{p-4da748b2.js → p-f6bb0a14.js} +1 -1
  236. package/lib/dist-custom-elements/{p-c7343af9.js → p-f971e88a.js} +2 -2
  237. package/lib/duet/duet.esm.js +1 -1
  238. package/lib/duet/duet.js +1 -1
  239. package/lib/duet/{p-29d5a763.system.entry.js → p-010dd9f1.system.entry.js} +1 -1
  240. package/lib/duet/{p-57a3bf19.entry.js → p-021e6c41.entry.js} +1 -1
  241. package/lib/duet/{p-a25a5bda.entry.js → p-03ecd2e4.entry.js} +1 -1
  242. package/lib/duet/{p-f2aa1623.js → p-03f6f09a.js} +1 -1
  243. package/lib/duet/p-04cc1871.entry.js +4 -0
  244. package/lib/duet/{p-29e18bae.entry.js → p-0ae402bc.entry.js} +1 -1
  245. package/lib/duet/{p-916c05c0.system.entry.js → p-0bbc8e7d.system.entry.js} +1 -1
  246. package/lib/duet/{p-9ff8f713.system.entry.js → p-0c7b4d0b.system.entry.js} +1 -1
  247. package/lib/duet/p-0ee178f3.entry.js +4 -0
  248. package/lib/duet/{p-b6168b5a.system.entry.js → p-11d504bb.system.entry.js} +1 -1
  249. package/lib/duet/{p-9dd9783c.entry.js → p-14dd96f6.entry.js} +1 -1
  250. package/lib/duet/{p-f3bcdaa7.system.entry.js → p-1a90862e.system.entry.js} +1 -1
  251. package/lib/duet/{p-b9fe5e8a.entry.js → p-1b7067b9.entry.js} +1 -1
  252. package/lib/duet/{p-bee1c0ab.system.entry.js → p-1c6ac55a.system.entry.js} +1 -1
  253. package/lib/duet/{p-c1502939.system.entry.js → p-1d6732e5.system.entry.js} +1 -1
  254. package/lib/duet/{p-da899a00.entry.js → p-1f1ea2e1.entry.js} +1 -1
  255. package/lib/duet/{p-80ab419c.entry.js → p-1f51448a.entry.js} +1 -1
  256. package/lib/duet/{p-2bfe2f51.entry.js → p-1f6614f2.entry.js} +1 -1
  257. package/lib/duet/p-1fd2d87d.entry.js +4 -0
  258. package/lib/duet/{p-7ac66521.entry.js → p-218929dd.entry.js} +1 -1
  259. package/lib/duet/{p-ba1d9ad1.entry.js → p-24707dfe.entry.js} +1 -1
  260. package/lib/duet/p-290fd0ec.entry.js +4 -0
  261. package/lib/duet/{p-2765967c.entry.js → p-296bce73.entry.js} +1 -1
  262. package/lib/duet/{p-d915620f.entry.js → p-2a67d274.entry.js} +1 -1
  263. package/lib/duet/{p-3d74d9ba.system.entry.js → p-2accb711.system.entry.js} +1 -1
  264. package/lib/duet/{p-4128d086.entry.js → p-2ad9975b.entry.js} +1 -1
  265. package/lib/duet/{p-d1acd619.entry.js → p-2c3a0e0b.entry.js} +1 -1
  266. package/lib/duet/{p-22d2d468.system.entry.js → p-2c7a4ccf.system.entry.js} +1 -1
  267. package/lib/duet/{p-d2fff81e.system.entry.js → p-2d505c84.system.entry.js} +1 -1
  268. package/lib/duet/{p-611fc71b.system.entry.js → p-2d5eea69.system.entry.js} +1 -1
  269. package/lib/duet/p-2e68af22.system.js +4 -0
  270. package/lib/duet/{p-389ec8d1.entry.js → p-30694f50.entry.js} +1 -1
  271. package/lib/duet/{p-88f72255.system.entry.js → p-30b37984.system.entry.js} +1 -1
  272. package/lib/duet/{p-205c1d86.entry.js → p-324a6828.entry.js} +1 -1
  273. package/lib/duet/{p-665cd245.system.entry.js → p-328a40de.system.entry.js} +1 -1
  274. package/lib/duet/{p-029e0713.system.entry.js → p-3350f9aa.system.entry.js} +1 -1
  275. package/lib/duet/{p-34eeb826.entry.js → p-34620d0d.entry.js} +1 -1
  276. package/lib/duet/{p-091d343c.system.entry.js → p-350fc5f7.system.entry.js} +1 -1
  277. package/lib/duet/{p-67af148d.entry.js → p-368a4f49.entry.js} +1 -1
  278. package/lib/duet/{p-83d69e66.system.entry.js → p-36cce3f9.system.entry.js} +2 -2
  279. package/lib/duet/{p-ee3003f9.system.entry.js → p-383719e3.system.entry.js} +1 -1
  280. package/lib/duet/{p-31322a2c.system.entry.js → p-3a7594d3.system.entry.js} +1 -1
  281. package/lib/duet/{p-4219a6cc.system.entry.js → p-3cd30915.system.entry.js} +1 -1
  282. package/lib/duet/p-3d88b644.system.entry.js +4 -0
  283. package/lib/duet/p-3d951794.entry.js +4 -0
  284. package/lib/duet/{p-cacd3719.entry.js → p-3e26c389.entry.js} +1 -1
  285. package/lib/duet/{p-f441c24f.system.entry.js → p-3f0589bb.system.entry.js} +1 -1
  286. package/lib/duet/{p-3c47cc95.entry.js → p-40c29b8e.entry.js} +1 -1
  287. package/lib/duet/{p-abdbce02.system.js → p-41ba30b7.system.js} +1 -1
  288. package/lib/duet/{p-a8b99baa.system.entry.js → p-41e13b83.system.entry.js} +1 -1
  289. package/lib/duet/{p-ae31c909.system.js → p-42101548.system.js} +1 -1
  290. package/lib/duet/{p-580aed81.system.entry.js → p-432df72f.system.entry.js} +1 -1
  291. package/lib/duet/{p-c8405ffe.entry.js → p-43cd9f87.entry.js} +1 -1
  292. package/lib/duet/{p-5ea4fe7b.system.entry.js → p-44c81d6b.system.entry.js} +1 -1
  293. package/lib/duet/{p-904b6f63.entry.js → p-460aada9.entry.js} +1 -1
  294. package/lib/duet/p-4861c4a4.entry.js +4 -0
  295. package/lib/duet/{p-2f82c4d4.entry.js → p-48bd3e10.entry.js} +1 -1
  296. package/lib/duet/{p-3a93f309.entry.js → p-4f779b7b.entry.js} +1 -1
  297. package/lib/duet/{p-2a594105.system.entry.js → p-507f807b.system.entry.js} +1 -1
  298. package/lib/duet/p-5091eb50.entry.js +4 -0
  299. package/lib/duet/p-52e38899.system.js +4 -0
  300. package/lib/duet/{p-01bf6506.entry.js → p-5555f60d.entry.js} +1 -1
  301. package/lib/duet/{p-deb7a598.system.entry.js → p-55b5929c.system.entry.js} +1 -1
  302. package/lib/duet/{p-93872497.js → p-593e28ac.js} +1 -1
  303. package/lib/duet/{p-7a79672d.system.entry.js → p-5ca7f7cb.system.entry.js} +2 -2
  304. package/lib/duet/{p-ef3fb30c.entry.js → p-5d5b6fbd.entry.js} +1 -1
  305. package/lib/duet/{p-0ad0dc08.entry.js → p-5e8c47fe.entry.js} +1 -1
  306. package/lib/duet/{p-f8ce87ee.system.entry.js → p-5f0c7704.system.entry.js} +1 -1
  307. package/lib/duet/{p-8ad68512.entry.js → p-607be10a.entry.js} +1 -1
  308. package/lib/duet/{p-d9cbeb06.system.entry.js → p-60ca48d1.system.entry.js} +1 -1
  309. package/lib/duet/{p-4dc1f780.system.entry.js → p-62ce745e.system.entry.js} +1 -1
  310. package/lib/duet/p-650a419d.system.js +4 -0
  311. package/lib/duet/{p-39b31261.entry.js → p-66f4c2bb.entry.js} +1 -1
  312. package/lib/duet/{p-0cfba791.entry.js → p-67956ba7.entry.js} +1 -1
  313. package/lib/duet/{p-f24be27e.system.entry.js → p-6a6136ac.system.entry.js} +1 -1
  314. package/lib/duet/p-6c3a10a7.system.entry.js +4 -0
  315. package/lib/duet/{p-d40d6372.system.entry.js → p-6cce9324.system.entry.js} +1 -1
  316. package/lib/duet/{p-46efd28d.system.entry.js → p-6d5bbd9d.system.entry.js} +1 -1
  317. package/lib/duet/{p-88f9880c.system.entry.js → p-6d67ee47.system.entry.js} +1 -1
  318. package/lib/duet/{p-f7dc3756.system.entry.js → p-6ef5d34b.system.entry.js} +1 -1
  319. package/lib/duet/{p-30a6959f.entry.js → p-70961fe6.entry.js} +1 -1
  320. package/lib/duet/{p-778af8b7.system.entry.js → p-7329324b.system.entry.js} +1 -1
  321. package/lib/duet/{p-a82cd36e.system.entry.js → p-78c560b1.system.entry.js} +1 -1
  322. package/lib/duet/{p-0806aac6.system.entry.js → p-797eaeab.system.entry.js} +1 -1
  323. package/lib/duet/{p-16669185.entry.js → p-79f72cff.entry.js} +1 -1
  324. package/lib/duet/{p-5f87ea3d.js → p-7a66b632.js} +1 -1
  325. package/lib/duet/{p-9bfa5c62.entry.js → p-7a6ed189.entry.js} +1 -1
  326. package/lib/duet/{p-e2d770ba.entry.js → p-7c0afcee.entry.js} +1 -1
  327. package/lib/duet/{p-0995d4db.entry.js → p-7c2ceea1.entry.js} +1 -1
  328. package/lib/duet/{p-98f8ad8c.system.entry.js → p-7e14f80d.system.entry.js} +1 -1
  329. package/lib/duet/{p-543bc859.entry.js → p-7ecb4a30.entry.js} +1 -1
  330. package/lib/duet/{p-19348034.entry.js → p-7f0e15ec.entry.js} +1 -1
  331. package/lib/duet/{p-7e7d991d.entry.js → p-7fd57091.entry.js} +1 -1
  332. package/lib/duet/p-80dc1362.system.entry.js +4 -0
  333. package/lib/duet/{p-8814dca5.system.entry.js → p-81363d5b.system.entry.js} +1 -1
  334. package/lib/duet/{p-85695c74.entry.js → p-81a65ba4.entry.js} +1 -1
  335. package/lib/duet/{p-1bf2c055.entry.js → p-81a72ffe.entry.js} +1 -1
  336. package/lib/duet/{p-3b930917.system.entry.js → p-84c8b5a1.system.entry.js} +1 -1
  337. package/lib/duet/{p-f102b3c6.system.entry.js → p-86069994.system.entry.js} +1 -1
  338. package/lib/duet/{p-17130b15.system.entry.js → p-87c91115.system.entry.js} +2 -2
  339. package/lib/duet/{p-e9a89efc.system.entry.js → p-87e6b946.system.entry.js} +1 -1
  340. package/lib/duet/p-8855e26a.js +4 -0
  341. package/lib/duet/{p-0b80e74d.system.entry.js → p-89310816.system.entry.js} +1 -1
  342. package/lib/duet/{p-3736f46a.system.entry.js → p-89daabf5.system.entry.js} +1 -1
  343. package/lib/duet/p-8a5fcb79.system.entry.js +4 -0
  344. package/lib/duet/{p-841e2acc.entry.js → p-8b929d17.entry.js} +1 -1
  345. package/lib/duet/{p-2c1f79ac.system.entry.js → p-8c5009b8.system.entry.js} +1 -1
  346. package/lib/duet/{p-7df9ed1a.system.entry.js → p-8cb77e1f.system.entry.js} +1 -1
  347. package/lib/duet/{p-3e86fc2f.entry.js → p-935dbe23.entry.js} +1 -1
  348. package/lib/duet/{p-97574cd9.entry.js → p-94ec5a34.entry.js} +1 -1
  349. package/lib/duet/{p-e066623e.system.entry.js → p-97d09535.system.entry.js} +1 -1
  350. package/lib/duet/p-98c4123d.entry.js +4 -0
  351. package/lib/duet/{p-d5e31ef5.entry.js → p-9b42d132.entry.js} +1 -1
  352. package/lib/duet/{p-a7e7dc8e.entry.js → p-9c5592a0.entry.js} +1 -1
  353. package/lib/duet/{p-bb134fb0.entry.js → p-9e58080f.entry.js} +1 -1
  354. package/lib/duet/{p-7b220ee3.system.entry.js → p-9f780397.system.entry.js} +1 -1
  355. package/lib/duet/{p-6b9228dd.entry.js → p-a0978112.entry.js} +1 -1
  356. package/lib/duet/{p-18b21092.system.entry.js → p-a09a9abe.system.entry.js} +1 -1
  357. package/lib/duet/{p-660c33d4.system.entry.js → p-a144a9ba.system.entry.js} +1 -1
  358. package/lib/duet/{p-2e53172a.system.entry.js → p-a1c81497.system.entry.js} +1 -1
  359. package/lib/duet/{p-1e3a9599.system.entry.js → p-a225a097.system.entry.js} +1 -1
  360. package/lib/duet/{p-9fa80a0d.entry.js → p-a2ab881c.entry.js} +1 -1
  361. package/lib/duet/{p-1a2ff25f.system.entry.js → p-a2ac806b.system.entry.js} +1 -1
  362. package/lib/duet/{p-dfedf8dc.system.entry.js → p-a2f3f775.system.entry.js} +1 -1
  363. package/lib/duet/p-a46b4450.system.js +4 -0
  364. package/lib/duet/{p-1b32fc71.system.entry.js → p-a5066804.system.entry.js} +1 -1
  365. package/lib/duet/{p-c782fbd2.system.entry.js → p-ac1cf4f6.system.entry.js} +1 -1
  366. package/lib/duet/{p-849e68d1.entry.js → p-adf1bd67.entry.js} +1 -1
  367. package/lib/duet/{p-e4206eb5.system.entry.js → p-afcd0356.system.entry.js} +1 -1
  368. package/lib/duet/{p-8606a8a4.system.entry.js → p-b8182937.system.entry.js} +1 -1
  369. package/lib/duet/{p-0f33db5a.system.entry.js → p-b86feb9d.system.entry.js} +1 -1
  370. package/lib/duet/{p-8cf21e97.system.entry.js → p-bb4a6a02.system.entry.js} +1 -1
  371. package/lib/duet/{p-d79938f5.entry.js → p-bbd94845.entry.js} +1 -1
  372. package/lib/duet/{p-682cc430.system.entry.js → p-bdec8ea8.system.entry.js} +1 -1
  373. package/lib/duet/{p-01a3e3f8.entry.js → p-bf2f9155.entry.js} +1 -1
  374. package/lib/duet/{p-bc715683.entry.js → p-bfc33dbb.entry.js} +1 -1
  375. package/lib/duet/{p-99528b33.system.entry.js → p-c24529b8.system.entry.js} +1 -1
  376. package/lib/duet/{p-7ad16b5f.entry.js → p-c4a1468e.entry.js} +1 -1
  377. package/lib/duet/{p-0f9796d8.entry.js → p-c6995ff3.entry.js} +1 -1
  378. package/lib/duet/{p-51f24687.system.entry.js → p-c7b3d9fd.system.entry.js} +1 -1
  379. package/lib/duet/p-c8564169.entry.js +4 -0
  380. package/lib/duet/{p-be48cfce.system.entry.js → p-c9e8f35b.system.entry.js} +1 -1
  381. package/lib/duet/{p-6aaaa6e6.system.entry.js → p-cdb63bbf.system.entry.js} +1 -1
  382. package/lib/duet/{p-098dcfbc.system.entry.js → p-d156e8f9.system.entry.js} +1 -1
  383. package/lib/duet/{p-473f2aeb.entry.js → p-d547e4b8.entry.js} +1 -1
  384. package/lib/duet/{p-56c12a47.system.entry.js → p-d5e534d5.system.entry.js} +1 -1
  385. package/lib/duet/{p-44dd3f6b.entry.js → p-d6f9146f.entry.js} +1 -1
  386. package/lib/duet/{p-f63c4cea.system.entry.js → p-d76fa43c.system.entry.js} +1 -1
  387. package/lib/duet/{p-e45c589a.js → p-d82b4974.js} +1 -1
  388. package/lib/duet/{p-fa9802a4.entry.js → p-d8d7c90b.entry.js} +1 -1
  389. package/lib/duet/{p-76d99102.system.entry.js → p-d936b946.system.entry.js} +1 -1
  390. package/lib/duet/{p-4ebf7879.entry.js → p-da9e040d.entry.js} +1 -1
  391. package/lib/duet/{p-9d3ff1f9.entry.js → p-db5e6b96.entry.js} +1 -1
  392. package/lib/duet/{p-ebc5c075.entry.js → p-ddb1fc3d.entry.js} +1 -1
  393. package/lib/duet/p-def3d03c.system.js +4 -0
  394. package/lib/duet/{p-aaa9d7f0.entry.js → p-e0e04af9.entry.js} +1 -1
  395. package/lib/duet/{p-c946fab0.entry.js → p-e1fbb2f0.entry.js} +1 -1
  396. package/lib/duet/{p-1d7f59a7.entry.js → p-e31f82e8.entry.js} +1 -1
  397. package/lib/duet/{p-5e396e57.system.entry.js → p-e3832e69.system.entry.js} +1 -1
  398. package/lib/duet/{p-142fffe3.system.entry.js → p-e39b3463.system.entry.js} +1 -1
  399. package/lib/duet/{p-4999bd59.entry.js → p-eb2092ea.entry.js} +1 -1
  400. package/lib/duet/{p-d5366eb5.system.entry.js → p-ebd9d168.system.entry.js} +1 -1
  401. package/lib/duet/p-ed995372.js +4 -0
  402. package/lib/duet/{p-bef5842c.entry.js → p-f10c1b71.entry.js} +1 -1
  403. package/lib/duet/{p-c746fdd9.system.entry.js → p-f11ee829.system.entry.js} +1 -1
  404. package/lib/duet/{p-3266adc5.entry.js → p-f442a901.entry.js} +1 -1
  405. package/lib/duet/{p-afa55acc.entry.js → p-f75d4521.entry.js} +1 -1
  406. package/lib/duet/{p-977832d7.entry.js → p-f860fa92.entry.js} +1 -1
  407. package/lib/duet/{p-f624f421.system.entry.js → p-f9567972.system.entry.js} +1 -1
  408. package/lib/duet/{p-f0233912.entry.js → p-f97b0583.entry.js} +1 -1
  409. package/lib/duet/{p-876f9b62.entry.js → p-fcda7bb3.entry.js} +1 -1
  410. package/lib/duet/{p-04e058bc.system.entry.js → p-fdf3ee51.system.entry.js} +1 -1
  411. package/lib/duet/{p-f598c39f.entry.js → p-ff048b43.entry.js} +1 -1
  412. package/lib/esm/action-new-window-9c8f7830.js +8 -0
  413. package/lib/esm/duet-action-button.entry.js +3 -3
  414. package/lib/esm/duet-alert.entry.js +1 -1
  415. package/lib/esm/duet-badge.entry.js +1 -1
  416. package/lib/esm/duet-banner.entry.js +8 -7
  417. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  418. package/lib/esm/duet-breadcrumbs.entry.js +3 -3
  419. package/lib/esm/duet-button_2.entry.js +3 -3
  420. package/lib/esm/duet-callout.entry.js +1 -1
  421. package/lib/esm/duet-caption_4.entry.js +45 -21
  422. package/lib/esm/duet-card.entry.js +3 -3
  423. package/lib/esm/duet-checkbox.entry.js +1 -1
  424. package/lib/esm/duet-checkmark.entry.js +1 -1
  425. package/lib/esm/duet-chip.entry.js +1 -1
  426. package/lib/esm/duet-choice_2.entry.js +2 -2
  427. package/lib/esm/duet-collapsible.entry.js +2 -2
  428. package/lib/esm/duet-combobox.entry.js +1 -1
  429. package/lib/esm/duet-contact-card.entry.js +1 -1
  430. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  431. package/lib/esm/duet-date-picker.entry.js +2 -2
  432. package/lib/esm/duet-divider_2.entry.js +3 -3
  433. package/lib/esm/duet-editable-table_3.entry.js +46 -4
  434. package/lib/esm/duet-empty-state.entry.js +1 -1
  435. package/lib/esm/duet-fieldset.entry.js +1 -1
  436. package/lib/esm/duet-file-chooser.entry.js +1 -1
  437. package/lib/esm/duet-footer.entry.js +2 -4
  438. package/lib/esm/duet-grid_2.entry.js +2 -2
  439. package/lib/esm/duet-header_2.entry.js +3 -3
  440. package/lib/esm/duet-hero.entry.js +1 -1
  441. package/lib/esm/duet-icon.entry.js +3 -3
  442. package/lib/esm/duet-input_2.entry.js +3 -3
  443. package/lib/esm/duet-layout.entry.js +1 -1
  444. package/lib/esm/duet-list_2.entry.js +1 -1
  445. package/lib/esm/duet-menu-bar-button.entry.js +2 -2
  446. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -1
  447. package/lib/esm/duet-menu-bar-dropdown.entry.js +2 -2
  448. package/lib/esm/duet-menu-bar-item.entry.js +2 -2
  449. package/lib/esm/duet-menu-bar-link.entry.js +2 -2
  450. package/lib/esm/duet-menu-bar.entry.js +2 -2
  451. package/lib/esm/duet-modal.entry.js +3 -3
  452. package/lib/esm/duet-multiselect.entry.js +1 -1
  453. package/lib/esm/duet-nav.entry.js +1 -1
  454. package/lib/esm/duet-notification_2.entry.js +1 -1
  455. package/lib/esm/duet-number-input.entry.js +1 -1
  456. package/lib/esm/duet-page-heading.entry.js +1 -1
  457. package/lib/esm/duet-pagination_2.entry.js +4 -4
  458. package/lib/esm/duet-popup-menu-item.entry.js +1 -1
  459. package/lib/esm/duet-popup-menu.entry.js +8 -3
  460. package/lib/esm/duet-progress.entry.js +1 -1
  461. package/lib/esm/duet-promo-card.entry.js +3 -3
  462. package/lib/esm/duet-radio_2.entry.js +1 -1
  463. package/lib/esm/duet-range-slider.entry.js +2 -2
  464. package/lib/esm/duet-scrollable_3.entry.js +3 -3
  465. package/lib/esm/duet-section-layout.entry.js +1 -1
  466. package/lib/esm/duet-select.entry.js +1 -1
  467. package/lib/esm/duet-shaped-image.entry.js +1 -1
  468. package/lib/esm/duet-show-more.entry.js +1 -1
  469. package/lib/esm/duet-slideout-lang.entry.js +1 -1
  470. package/lib/esm/duet-slideout-link.entry.js +1 -1
  471. package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
  472. package/lib/esm/duet-slideout-panel.entry.js +4 -4
  473. package/lib/esm/duet-slideout.entry.js +4 -4
  474. package/lib/esm/duet-step_2.entry.js +1 -1
  475. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +1 -1
  476. package/lib/esm/duet-submenu-bar-dropdown.entry.js +2 -2
  477. package/lib/esm/duet-submenu-bar-item.entry.js +2 -2
  478. package/lib/esm/duet-submenu-bar-link.entry.js +2 -2
  479. package/lib/esm/duet-submenu-bar.entry.js +5 -4
  480. package/lib/esm/duet-textarea.entry.js +1 -1
  481. package/lib/esm/duet-toggle.entry.js +1 -1
  482. package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
  483. package/lib/esm/duet-toolbar-dropdown.entry.js +1 -1
  484. package/lib/esm/duet-toolbar-item.entry.js +1 -1
  485. package/lib/esm/duet-toolbar-link.entry.js +1 -1
  486. package/lib/esm/duet-toolbar.entry.js +1 -1
  487. package/lib/esm/duet-tooltip-button_2.entry.js +2 -2
  488. package/lib/esm/duet-tooltip.entry.js +2 -2
  489. package/lib/esm/duet-tray.entry.js +2 -2
  490. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  491. package/lib/esm/duet-upload-item.entry.js +1 -1
  492. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  493. package/lib/esm/duet.js +3 -3
  494. package/lib/esm/{focus-utils-68697c1f.js → focus-utils-c70f9fb9.js} +1 -1
  495. package/lib/esm/{index-090eaa9b.js → index-3c6b5eb8.js} +1 -1
  496. package/lib/esm/loader.js +3 -3
  497. package/lib/esm/{token-utils-0c77cb3c.js → token-utils-be83d039.js} +1 -1
  498. package/lib/{dist-custom-elements/p-d81ec707.js → esm/tokens-94133fa9.js} +3 -0
  499. package/lib/esm/{tokens.module-c9866649.js → tokens.module-3547915d.js} +2 -0
  500. package/lib/esm-es5/action-new-window-9c8f7830.js +4 -0
  501. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  502. package/lib/esm-es5/duet-alert.entry.js +1 -1
  503. package/lib/esm-es5/duet-badge.entry.js +1 -1
  504. package/lib/esm-es5/duet-banner.entry.js +1 -1
  505. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  506. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  507. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  508. package/lib/esm-es5/duet-callout.entry.js +1 -1
  509. package/lib/esm-es5/duet-caption_4.entry.js +2 -2
  510. package/lib/esm-es5/duet-card.entry.js +1 -1
  511. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  512. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  513. package/lib/esm-es5/duet-chip.entry.js +1 -1
  514. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  515. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  516. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  517. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  518. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  519. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  520. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  521. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  522. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  523. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  524. package/lib/esm-es5/duet-file-chooser.entry.js +1 -1
  525. package/lib/esm-es5/duet-footer.entry.js +1 -1
  526. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  527. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  528. package/lib/esm-es5/duet-hero.entry.js +1 -1
  529. package/lib/esm-es5/duet-icon.entry.js +1 -1
  530. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  531. package/lib/esm-es5/duet-layout.entry.js +1 -1
  532. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  533. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  534. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  535. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +2 -2
  536. package/lib/esm-es5/duet-menu-bar-item.entry.js +1 -1
  537. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  538. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  539. package/lib/esm-es5/duet-modal.entry.js +1 -1
  540. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  541. package/lib/esm-es5/duet-nav.entry.js +1 -1
  542. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  543. package/lib/esm-es5/duet-number-input.entry.js +2 -2
  544. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  545. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  546. package/lib/esm-es5/duet-popup-menu-item.entry.js +1 -1
  547. package/lib/esm-es5/duet-popup-menu.entry.js +1 -1
  548. package/lib/esm-es5/duet-progress.entry.js +1 -1
  549. package/lib/esm-es5/duet-promo-card.entry.js +2 -2
  550. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  551. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  552. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  553. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  554. package/lib/esm-es5/duet-select.entry.js +1 -1
  555. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  556. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  557. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  558. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  559. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  560. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  561. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  562. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  563. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  564. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  565. package/lib/esm-es5/duet-submenu-bar-item.entry.js +1 -1
  566. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  567. package/lib/esm-es5/duet-submenu-bar.entry.js +2 -2
  568. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  569. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  570. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  571. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  572. package/lib/esm-es5/duet-toolbar-item.entry.js +1 -1
  573. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  574. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  575. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  576. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  577. package/lib/esm-es5/duet-tray.entry.js +1 -1
  578. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  579. package/lib/esm-es5/duet-upload-item.entry.js +1 -1
  580. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  581. package/lib/esm-es5/duet.js +1 -1
  582. package/lib/esm-es5/{focus-utils-68697c1f.js → focus-utils-c70f9fb9.js} +1 -1
  583. package/lib/esm-es5/{index-090eaa9b.js → index-3c6b5eb8.js} +1 -1
  584. package/lib/esm-es5/loader.js +1 -1
  585. package/lib/esm-es5/{token-utils-0c77cb3c.js → token-utils-be83d039.js} +1 -1
  586. package/lib/esm-es5/tokens-94133fa9.js +4 -0
  587. package/lib/esm-es5/tokens.module-3547915d.js +4 -0
  588. package/lib/types/common-types.d.ts +1 -1
  589. package/lib/types/components/duet-link/duet-link.d.ts +13 -5
  590. package/lib/types/components/duet-popup-menu/duet-popup-menu.d.ts +4 -0
  591. package/lib/types/components/duet-upload/duet-upload.d.ts +6 -0
  592. package/lib/types/components.d.ts +28 -4
  593. package/lib/types/utils/string-utils.d.ts +4 -0
  594. package/package.json +5 -5
  595. package/lib/cjs/action-arrow-right-24fe06be.js +0 -8
  596. package/lib/dist-custom-elements/p-3a2a46d4.js +0 -169
  597. package/lib/dist-custom-elements/p-6fa39608.js +0 -6
  598. package/lib/duet/p-02833fe6.system.entry.js +0 -4
  599. package/lib/duet/p-15fde8cc.system.js +0 -4
  600. package/lib/duet/p-41faac57.entry.js +0 -4
  601. package/lib/duet/p-4e22efae.entry.js +0 -4
  602. package/lib/duet/p-6fa39608.js +0 -4
  603. package/lib/duet/p-71fc3743.entry.js +0 -4
  604. package/lib/duet/p-720b866c.entry.js +0 -4
  605. package/lib/duet/p-81a240d4.entry.js +0 -4
  606. package/lib/duet/p-89beef33.entry.js +0 -4
  607. package/lib/duet/p-8c6521c9.entry.js +0 -4
  608. package/lib/duet/p-9ce7e4da.entry.js +0 -4
  609. package/lib/duet/p-b9678b20.system.entry.js +0 -4
  610. package/lib/duet/p-d1a08c91.system.entry.js +0 -4
  611. package/lib/duet/p-d81ec707.js +0 -4
  612. package/lib/duet/p-dd994793.system.js +0 -4
  613. package/lib/duet/p-e1868c94.system.js +0 -4
  614. package/lib/duet/p-e56fe6af.system.js +0 -4
  615. package/lib/duet/p-e94af0bf.entry.js +0 -4
  616. package/lib/duet/p-f2eee8be.system.entry.js +0 -4
  617. package/lib/duet/p-f65457b0.system.js +0 -4
  618. package/lib/esm/action-arrow-right-f7d56681.js +0 -6
  619. package/lib/esm-es5/action-arrow-right-f7d56681.js +0 -4
  620. package/lib/esm-es5/tokens-30d01e1d.js +0 -4
  621. package/lib/esm-es5/tokens.module-c9866649.js +0 -4
@@ -1,15 +1,15 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement, F as Fragment } from './index-090eaa9b.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement, F as Fragment } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { s as sanitizeString } from './string-utils-ca039233.js';
7
- import { g as getColorByName, a as breakpointToToken } from './token-utils-0c77cb3c.js';
8
- import { a as actionArrowRight } from './action-arrow-right-f7d56681.js';
7
+ import { g as getColorByName, a as breakpointToToken } from './token-utils-be83d039.js';
8
+ import { a as actionNewWindow, b as actionArrowRight } from './action-new-window-9c8f7830.js';
9
9
  import { a as actionNewWindowSmall } from './action-new-window-small-1945be91.js';
10
10
  import { D as DuetStringsExternalDefaults, b as DuetStringsDownloadLinkDefaults } from './common-strings-7c7f8e40.js';
11
11
  import { a as getLanguage, g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-00ca4c55.js';
12
- import './tokens.module-c9866649.js';
12
+ import './tokens.module-3547915d.js';
13
13
 
14
14
  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:rgb(101, 119, 135);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:rgb(116, 116, 117)}:host(.duet-caption-selected){color:rgb(0, 119, 179)}:host(.duet-caption-selected.duet-theme-turva){color:rgb(23, 28, 58)}:host(.duet-m-0){margin:0 !important}";
15
15
 
@@ -91,7 +91,7 @@ DuetHeading.style = duetHeadingCss;
91
91
 
92
92
  var actionDownloadSmall={"title":"action-download-small","tags":"action download arrow down small","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M13.193 1.7c0-.658-.542-1.2-1.2-1.2-.657 0-1.199.542-1.199 1.2v8.922l-2.778-2.6a1.2 1.2 0 0 0-1.64 1.751l4.797 4.498c.458.43 1.183.43 1.64 0l4.798-4.498c.242-.228.379-.544.379-.875a1.2 1.2 0 0 0-2.02-.876l-2.777 2.603V1.699Z\"/><path d=\"M1.5 13.544a1.5 1.5 0 0 1 1.498 1.5v1.498a1.61 1.61 0 0 0 .418 1.096h-.003c0-.002.036.032.13.082.39.194.818.305 1.254.321H19.19a3.085 3.085 0 0 0 1.255-.32c.096-.051.13-.085.13-.085.27-.3.42-.69.414-1.096v-1.5c0-.822.677-1.498 1.5-1.498.822 0 1.499.676 1.499 1.499v1.499c0 1.16-.43 2.293-1.224 3.142-.518.557-1.235.876-1.791 1.056a5.976 5.976 0 0 1-1.783.302H4.797a6.053 6.053 0 0 1-1.782-.302c-.556-.18-1.274-.5-1.792-1.056A4.613 4.613 0 0 1 0 16.542v-1.499a1.5 1.5 0 0 1 1.5-1.499Z\"/></svg>"};
93
93
 
94
- const duetLinkCss = "*,*::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}:host(.duet-link-block){display:block}.duet-link{display:inline;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;font-weight:400;color:rgb(0, 119, 179);text-decoration:underline;border-radius:4px;transition:300ms ease}.duet-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-link:focus,.duet-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-link.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:rgb(198, 12, 48)}.duet-link:hover{color:rgb(0, 77, 128);text-decoration:none}.duet-link:hover.duet-theme-turva{color:rgb(148, 9, 37)}.duet-link:active{opacity:0.75;transition:none}.duet-link-is-external.duet-link:not(.block),.duet-link-is-download.duet-link:not(.block){text-decoration:none}.duet-link-is-external.duet-link:not(.block) .duet-link-content,.duet-link-is-download.duet-link:not(.block) .duet-link-content{text-decoration:underline}.duet-link-is-external.duet-link:not(.block):hover>.duet-link-content,.duet-link-is-download.duet-link:not(.block):hover>.duet-link-content{text-decoration:none}.duet-link-is-external.duet-link:not(.block) .duet-link-icon-tail,.duet-link-is-download.duet-link:not(.block) .duet-link-icon-tail{text-decoration:none;white-space:nowrap}.duet-tab-to-link{padding:15px 28px 16px !important;position:absolute;top:-100%;left:-100%;z-index:200;width:1px;min-width:190px;height:1px;overflow:hidden;font-weight:600;color:rgb(0, 119, 179);text-align:center;text-decoration:none;background:rgb(255, 255, 255);border-radius:4px;opacity:0;transition:none}.duet-tab-to-link.duet-theme-turva{min-width:120px;color:rgb(23, 28, 58)}@media (min-width: 106.25em){.duet-tab-to-link{margin-left:20px}}.duet-tab-to-link:focus{top:12px;left:20px;width:auto;height:auto;outline:0;opacity:1}.block.duet-link{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;padding:16px;font-weight:600;color:rgb(0, 41, 77);text-decoration:none}.block.duet-link.duet-link-has-icon{grid-template-columns:auto 1fr auto}.block.duet-link.none{padding:0}.block .block__content{position:relative;bottom:2px}.block .block__chevron{align-self:center}.block .block__chevron-icon{transition:300ms ease}.block:hover .block__chevron-icon{transform:translateX(4px)}";
94
+ const duetLinkCss = "*,*::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}:host(.duet-link-block){display:block}:host(.duet-link-button){margin-right:8px !important;margin-bottom:12px !important;display:inline-block;width:100%}:host(.duet-link-button):last-child,:host(.duet-link-button):last-of-type{margin-right:0 !important}.duet-link{display:inline;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;font-weight:400;color:rgb(0, 119, 179);text-decoration:underline;border-radius:4px;transition:300ms ease}.duet-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-link:focus,.duet-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-link.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:rgb(198, 12, 48)}.duet-link:hover{color:rgb(0, 77, 128);text-decoration:none}.duet-link:hover.duet-theme-turva{color:rgb(148, 9, 37)}.duet-link:active{opacity:0.75;transition:none}.duet-link-is-external.duet-link:not(.block,.button),.duet-link-is-download.duet-link:not(.block,.button){text-decoration:none}.duet-link-is-external.duet-link:not(.block,.button) .duet-link-content,.duet-link-is-download.duet-link:not(.block,.button) .duet-link-content{text-decoration:underline}.duet-link-is-external.duet-link:not(.block,.button):hover>.duet-link-content,.duet-link-is-download.duet-link:not(.block,.button):hover>.duet-link-content{text-decoration:none}.duet-link-is-external.duet-link:not(.block,.button) .duet-link-icon-tail,.duet-link-is-download.duet-link:not(.block,.button) .duet-link-icon-tail{text-decoration:none;white-space:nowrap}.duet-tab-to-link{padding:15px 28px 16px !important;position:absolute;top:-100%;left:-100%;z-index:200;width:1px;min-width:190px;height:1px;overflow:hidden;font-weight:600;color:rgb(0, 119, 179);text-align:center;text-decoration:none;background:rgb(255, 255, 255);border-radius:4px;opacity:0;transition:none}.duet-tab-to-link.duet-theme-turva{min-width:120px;color:rgb(23, 28, 58)}@media (min-width: 106.25em){.duet-tab-to-link{margin-left:20px}}.duet-tab-to-link:focus{top:12px;left:20px;width:auto;height:auto;outline:0;opacity:1}.block.duet-link{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;padding:16px;font-weight:600;color:rgb(0, 41, 77);text-decoration:none}.block.duet-link.duet-link-has-icon{grid-template-columns:auto 1fr auto}.block.duet-link.none{padding:0}.block .block__content{position:relative;bottom:2px}.block .block__chevron{align-self:center}.block .block__chevron-icon{transition:300ms ease}.block:not(.duet-link-is-external):hover .block__chevron-icon{transform:translateX(4px)}.duet-link.button{display:flex;gap:12px;align-items:center;width:100%;min-height:48px;padding:12px;padding-right:20px;text-decoration:none;background-color:rgb(255, 255, 255);border:solid 1px rgb(207, 210, 212);border-radius:12px;outline:0 solid rgb(207, 210, 212);outline-offset:-2px;transition:all 300ms ease}.duet-link.button>*{flex-shrink:0}.duet-link.button .duet-link-content{flex-grow:1;flex-shrink:1;font-size:1rem;font-weight:600;color:rgb(0, 41, 77);text-align:left}.duet-link.button .icon-wrap{display:flex;align-items:center;justify-content:center}.duet-link.button.duet-link-has-icon-background{min-height:60px}.duet-link.button.duet-link-has-icon-background .icon-wrap{width:36px;height:36px;border-radius:8px}.duet-link.button:hover{border-color:rgb(0, 119, 179);outline:2px solid rgb(0, 119, 179)}@media (min-width: 48em){.duet-link.button{gap:16px;min-height:60px;border-radius:16px}.duet-link.button.duet-link-has-icon-background{min-height:72px}.duet-link.button.duet-link-has-icon-background .icon-wrap{width:48px;height:48px;border-radius:12px}.duet-link.button .duet-link-content{font-size:1.1rem}}.duet-link.button.duet-theme-turva{border-color:rgb(207, 207, 209)}.duet-link.button.duet-theme-turva .duet-link-content{color:rgb(23, 28, 58)}.duet-link.button.duet-theme-turva:hover{border-color:rgb(198, 12, 48);outline-color:rgb(198, 12, 48)}.duet-link.button:not(.duet-link-is-external):hover .block__chevron-icon{transform:translateX(4px)}";
95
95
 
96
96
  const DuetLink = class {
97
97
  constructor(hostRef) {
@@ -111,9 +111,11 @@ const DuetLink = class {
111
111
  this.tabToLink = false;
112
112
  this.icon = undefined;
113
113
  this.iconColor = "currentColor";
114
+ this.iconBackground = null;
114
115
  this.iconResponsive = false;
115
116
  this.padding = "auto";
116
117
  this.isSmallScreen = false;
118
+ this.isMediumScreen = false;
117
119
  }
118
120
  /**
119
121
  * Component lifecycle events.
@@ -122,6 +124,10 @@ const DuetLink = class {
122
124
  inheritGlobalTheme(this);
123
125
  this.initMediaQuery();
124
126
  this.resolvedDownload = this.resolveDownload();
127
+ // button variation renders a button element when no url is provided
128
+ if (this.variation === "button" && this.url === "#") {
129
+ this.url = undefined;
130
+ }
125
131
  }
126
132
  connectedCallback() {
127
133
  connectLanguageChangeObserver(this, {
@@ -142,15 +148,15 @@ const DuetLink = class {
142
148
  }
143
149
  initMediaQuery() {
144
150
  this.screenTestBound = this.screenTest.bind(this);
145
- this.mediaQuery = window.matchMedia(breakpointToToken["xx-small"]);
146
- this.isSmallScreen = this.mediaQuery.matches;
147
- this.mediaQuery.addEventListener("change", this.screenTestBound);
151
+ this.mediaQuerySmall = window.matchMedia(breakpointToToken["xx-small"]);
152
+ this.mediaQueryMedium = window.matchMedia(breakpointToToken["medium"]);
153
+ this.isSmallScreen = this.mediaQuerySmall.matches;
154
+ this.mediaQuerySmall.addEventListener("change", this.screenTestBound);
155
+ this.mediaQueryMedium.addEventListener("change", this.screenTestBound);
148
156
  }
149
157
  destroyMediaQuery() {
150
- if (!this.mediaQuery) {
151
- return;
152
- }
153
- this.mediaQuery.removeEventListener("change", this.screenTestBound);
158
+ this.mediaQuerySmall.removeEventListener("change", this.screenTestBound);
159
+ this.mediaQueryMedium.removeEventListener("change", this.screenTestBound);
154
160
  }
155
161
  screenTest(event) {
156
162
  this.isSmallScreen = event.matches;
@@ -173,32 +179,50 @@ const DuetLink = class {
173
179
  }
174
180
  return this.download;
175
181
  }
176
- renderContent() {
177
- return (h(Fragment, null, h("span", { class: "duet-link-content", part: "duet-link-content" }, h("slot", null)), (this.resolvedDownload || this.external) && (h(Fragment, null, h("span", { class: "duet-link-icon-tail" }, "\u00A0", h("duet-icon", { icon: this.resolvedDownload ? actionDownloadSmall.svg : actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" }))))));
182
+ renderDefaultContent() {
183
+ // Notice that the external icon needs to be placed right after the last word of the link.
184
+ // This is why we use &nbps; to keep everything on the same line.
185
+ return (h(Fragment, null, h("span", { class: "duet-link-content", part: "duet-link-content" }, h("slot", null)), (this.resolvedDownload || this.external) && this.variation === "default" && (h(Fragment, null, h("span", { class: "duet-link-icon-tail" }, "\u00A0", h("duet-icon", { icon: this.resolvedDownload ? actionDownloadSmall.svg : actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" }))))));
186
+ }
187
+ renderBlockContent() {
188
+ return (h(Fragment, null, this.icon && (h("span", { class: "block__icon" }, h("duet-icon", { size: this.iconResponsive ? (this.isSmallScreen ? "medium" : "large") : "x-small", name: this.icon, margin: "none", color: this.iconColor }))), h("span", { class: "block__content" }, this.renderDefaultContent()), h("span", { class: "block__chevron", part: "block-chevron" }, h("duet-icon", { class: "block__chevron-icon", icon: this.external ? actionNewWindow.svg : actionArrowRight.svg, size: "x-small", margin: "none", color: "primary-dark" }))));
178
189
  }
179
- renderGrid() {
180
- return (h(Fragment, null, this.icon && (h("span", { class: "block__icon" }, h("duet-icon", { size: this.iconResponsive ? (this.isSmallScreen ? "medium" : "large") : "x-small", name: this.icon, margin: "none", color: this.iconColor }))), h("span", { class: "block__content" }, this.renderContent()), h("span", { class: "block__chevron", part: "block-chevron" }, h("duet-icon", { class: "block__chevron-icon", icon: actionArrowRight.svg, size: "x-small", margin: "none", color: "primary-dark" }))));
190
+ renderButtonContent() {
191
+ const iconWrapStyle = {
192
+ "background-color": getColorByName(this.iconBackground, this.theme),
193
+ };
194
+ return (h(Fragment, null, h("span", { class: "icon-wrap", style: iconWrapStyle }, h("duet-icon", { size: this.isMediumScreen ? "small" : "medium", name: this.icon, margin: "none", color: this.iconColor })), h("span", { class: "duet-link-content", part: "duet-link-content" }, h("slot", null)), h("duet-icon", { class: "block__chevron-icon", icon: this.external ? actionNewWindow.svg : actionArrowRight.svg, size: "x-small", margin: "none", color: "primary-dark" })));
195
+ }
196
+ renderContent() {
197
+ switch (this.variation) {
198
+ case "default":
199
+ return this.renderDefaultContent();
200
+ case "block":
201
+ return this.renderBlockContent();
202
+ case "button":
203
+ return this.renderButtonContent();
204
+ }
181
205
  }
182
206
  /**
183
207
  * render() function
184
208
  * Always the last one in the class.
185
209
  */
186
210
  render() {
187
- // Notice that the external icon needs to be places right after the last word of the link.
188
- // This is why we use &nbps; to keep everything on the same line.
211
+ const Tag = this.variation === "button" && !this.url ? "button" : "a";
189
212
  return (h(Host, { class: {
190
- "duet-link-block": this.variation === "block",
191
- } }, h("a", { href: this.url, class: {
213
+ [`duet-link-${this.variation}`]: true,
214
+ } }, h(Tag, { href: this.url, class: {
192
215
  "duet-link": true,
193
216
  "duet-link-is-external": this.external,
194
217
  "duet-link-is-download": !!this.download,
195
218
  "duet-link-has-icon": !!this.icon,
219
+ "duet-link-has-icon-background": !!this.iconBackground,
196
220
  "duet-tab-to-link": this.tabToLink,
197
221
  "duet-theme-turva": this.theme === "turva",
198
222
  "duet-p-0": this.padding === "none",
199
223
  [this.padding]: true,
200
224
  [this.variation]: true,
201
- }, target: this.download ? null : this.external ? "_blank" : "_self", download: this.resolvedDownload, "aria-label": this.getAccessibleLabel(), id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link", rel: this.external ? "noopener" : undefined }, this.variation === "block" ? this.renderGrid() : this.renderContent())));
225
+ }, target: this.download || !this.url ? null : this.external ? "_blank" : "_self", download: this.resolvedDownload, "aria-label": this.getAccessibleLabel(), id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link", rel: this.external ? "noopener" : undefined }, this.renderContent())));
202
226
  }
203
227
  static get delegatesFocus() { return true; }
204
228
  get element() { return getElement(this); }
@@ -1,13 +1,13 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, F as Fragment, H as Host, g as getElement } from './index-090eaa9b.js';
4
+ import { r as registerInstance, c as createEvent, h, F as Fragment, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { c as createID } from './create-id-149a1b6d.js';
7
7
  import { i as isKeyboardClick, s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './keyboard-utils-0708be80.js';
8
8
  import { s as sanitizeString } from './string-utils-ca039233.js';
9
- import { g as getColorByName } from './token-utils-0c77cb3c.js';
10
- import './tokens.module-c9866649.js';
9
+ import { g as getColorByName } from './token-utils-be83d039.js';
10
+ import './tokens.module-3547915d.js';
11
11
 
12
12
  const duetHeadingLevels = ["h1", "h2", "h3", "h4", "h5", "h6"];
13
13
  const duetBlock = "div";
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-090eaa9b.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { c as createID } from './create-id-149a1b6d.js';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host } from './index-090eaa9b.js';
4
+ import { r as registerInstance, h, H as Host } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
 
7
7
  const duetCheckmarkCss = ".duet-checkmark-container{position:relative;width:20px;height:20px;margin-left:auto;border:1px solid rgb(144, 149, 153);border-radius:4px;transition:border 300ms ease}.duet-checkmark-container.center{margin-right:auto}.duet-theme-turva .duet-checkmark-container{border-color:rgb(116, 116, 117)}.checked .duet-checkmark-container{background:rgb(0, 119, 179);border-color:rgb(0, 119, 179);transition:none}.duet-theme-turva .checked .duet-checkmark-container{background:rgb(23, 28, 58);border-color:rgb(23, 28, 58) !important}.duet-checkmark-container.duet-checkmark-radio{border-radius:50%}[disabled]+label .duet-checkmark-container{border-color:rgb(207, 210, 212) !important}.duet-theme-turva [disabled]+label .duet-checkmark-container{border-color:rgb(207, 207, 209) !important}.checked [disabled]+label .duet-checkmark-container{background:rgb(207, 210, 212) !important}.duet-theme-turva .checked [disabled]+label .duet-checkmark-container{background:rgb(207, 207, 209) !important}.duet-checkmark{position:absolute;top:10px;left:3px;width:5.3333333333px;height:11.8518518519px;border-top:2px solid rgb(255, 255, 255);border-right:2px solid rgb(255, 255, 255);opacity:1;transform:scaleX(-1) rotate(135deg) translateZ(0);transform-origin:left top;animation-name:duet-checkmark;animation-duration:600ms;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes duet-checkmark{0%{width:0;height:0;opacity:1}20%{width:5.3333333333px;height:0;opacity:1}40%,100%{width:5.3333333333px;height:11.8518518519px;opacity:1}}";
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-090eaa9b.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { c as createID } from './create-id-149a1b6d.js';
7
7
  import { s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './keyboard-utils-0708be80.js';
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-090eaa9b.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { D as DuetStringsExternalDefaults } from './common-strings-7c7f8e40.js';
7
7
  import { c as createID } from './create-id-149a1b6d.js';
8
- import { F as FocusGuard } from './focus-utils-68697c1f.js';
8
+ import { F as FocusGuard } from './focus-utils-c70f9fb9.js';
9
9
  import { i as isKeyboardClick, h as isQuestionKey, s as subscribeTabbingChange, u as unsubscribeTabbingChange, f as isEscapeKey } from './keyboard-utils-0708be80.js';
10
10
  import { g as getLocaleString, a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-00ca4c55.js';
11
11
  import { h as hasSlot, c as checkNamedSlotElement } from './slot-utils-3c3ab3d6.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-090eaa9b.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
5
  import { a as actionArrowDownSmall } from './action-arrow-down-small-82273dc8.js';
6
- import { f as font_size_medium, t as tokens } from './tokens-30d01e1d.js';
6
+ import { f as font_size_medium, t as tokens } from './tokens-94133fa9.js';
7
7
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
8
8
  import { c as createID } from './create-id-149a1b6d.js';
9
9
  import { i as isKeyboardClick, s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './keyboard-utils-0708be80.js';
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { h, F as Fragment, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-090eaa9b.js';
4
+ import { h, F as Fragment, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { d as debounce } from './js-utils-9b9e0039.js';
7
7
  import { j as isEnterKey, f as isEscapeKey, o as isTabKey, b as isArrowUpKey, c as isArrowDownKey } from './keyboard-utils-0708be80.js';
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-090eaa9b.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-00ca4c55.js';
7
7
  import './string-utils-ca039233.js';
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-090eaa9b.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './keyboard-utils-0708be80.js';
7
7
 
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-090eaa9b.js';
4
+ import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { c as createID } from './create-id-149a1b6d.js';
7
- import { F as FocusGuard } from './focus-utils-68697c1f.js';
7
+ import { F as FocusGuard } from './focus-utils-c70f9fb9.js';
8
8
  import { a as getLanguage, g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-00ca4c55.js';
9
9
  import { c as checkNamedSlotElement } from './slot-utils-3c3ab3d6.js';
10
10
  import './string-utils-ca039233.js';
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, g as getElement, H as Host } from './index-090eaa9b.js';
4
+ import { r as registerInstance, h, g as getElement, H as Host } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
- import { g as getColorByName } from './token-utils-0c77cb3c.js';
7
- import './tokens.module-c9866649.js';
6
+ import { g as getColorByName } from './token-utils-be83d039.js';
7
+ import './tokens.module-3547915d.js';
8
8
 
9
9
  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:rgb(225, 227, 230)}.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:rgb(228, 228, 230)}";
10
10
 
@@ -1,13 +1,13 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { h, r as registerInstance, c as createEvent, H as Host, g as getElement, F as Fragment } from './index-090eaa9b.js';
4
+ import { h, r as registerInstance, c as createEvent, H as Host, g as getElement, F as Fragment } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { f as fieldSorter, d as debounce } from './js-utils-9b9e0039.js';
7
7
  import { i as isKeyboardClick } from './keyboard-utils-0708be80.js';
8
8
  import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver, g as getLocaleString, s as sanitizeString } from './language-utils-00ca4c55.js';
9
- import { p as sizeNavigation, s as sizeHeader } from './tokens.module-c9866649.js';
10
- import { b as breakpointTokensUpTo, a as breakpointToToken } from './token-utils-0c77cb3c.js';
9
+ import { p as sizeNavigation, s as sizeHeader } from './tokens.module-3547915d.js';
10
+ import { b as breakpointTokensUpTo, a as breakpointToToken } from './token-utils-be83d039.js';
11
11
  import { c as createID } from './create-id-149a1b6d.js';
12
12
  import { p as parsePossibleJSON } from './string-utils-ca039233.js';
13
13
  import { g as getError, a as getI18nError } from './errorcodes.utils-e681347c.js';
@@ -1210,6 +1210,7 @@ const DuetUpload = class {
1210
1210
  cancel: false,
1211
1211
  delete: false,
1212
1212
  };
1213
+ this.renameDuplicates = false;
1213
1214
  this.groups = [
1214
1215
  {
1215
1216
  id: this.DefaultGroups.success,
@@ -1413,12 +1414,50 @@ const DuetUpload = class {
1413
1414
  // don't present server issues to user on deletes, just remove them from the visible list
1414
1415
  return makeXhrRequest(options);
1415
1416
  }
1417
+ getRenamedFileName(newFileName, extension) {
1418
+ const re = new RegExp(`${newFileName}_\\d+\\.${extension}`);
1419
+ const lastFileName = Array.from(this.files.entries())
1420
+ .map(entry => {
1421
+ const [key, _] = entry;
1422
+ return key;
1423
+ })
1424
+ .filter(existingFileName => {
1425
+ return re.test(existingFileName) || existingFileName === `${newFileName}.${extension}`;
1426
+ })
1427
+ .sort()
1428
+ .pop()
1429
+ .split(".")
1430
+ .slice(0, -1)
1431
+ .join(".");
1432
+ if (lastFileName === newFileName) {
1433
+ return `${newFileName}_1.${extension}`;
1434
+ }
1435
+ const lastFileNumber = parseInt(lastFileName.split("_").pop());
1436
+ return `${newFileName}_${lastFileNumber + 1}.${extension}`;
1437
+ }
1438
+ renameFiles(files) {
1439
+ return files.map(file => {
1440
+ if (this.files.get(file.name)) {
1441
+ const splitName = file.name.split(".");
1442
+ const extension = splitName.pop();
1443
+ const nameWithoutExtension = splitName.join(".");
1444
+ const newName = this.getRenamedFileName(nameWithoutExtension, extension);
1445
+ return new File([file], newName, {
1446
+ type: file.type,
1447
+ lastModified: file.lastModified,
1448
+ });
1449
+ }
1450
+ else {
1451
+ return file;
1452
+ }
1453
+ });
1454
+ }
1416
1455
  /**
1417
1456
  * Component event handling.
1418
1457
  */
1419
1458
  async onChange(ev) {
1420
1459
  var _a;
1421
- const selectedFiles = Array.from((_a = this.nativeInput) === null || _a === void 0 ? void 0 : _a.files);
1460
+ let selectedFiles = Array.from((_a = this.nativeInput) === null || _a === void 0 ? void 0 : _a.files);
1422
1461
  // FileList is a nice array like structure but
1423
1462
  // to ensure uniqueness of files we use a mapping structure and
1424
1463
  // key to the name (makes it easier to delete as well)
@@ -1435,6 +1474,9 @@ const DuetUpload = class {
1435
1474
  return;
1436
1475
  }
1437
1476
  if (selectedFiles) {
1477
+ if (this.renameDuplicates) {
1478
+ selectedFiles = this.renameFiles(selectedFiles);
1479
+ }
1438
1480
  for (const item of selectedFiles) {
1439
1481
  const { valid, errorMessage, errorType, errorSystem } = validateFile(item, {
1440
1482
  maxBytes: this.maxBytes,
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-090eaa9b.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
 
7
7
  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:rgb(0, 41, 77);text-align:center;background:rgb(245, 248, 250);border-radius:4px}.duet-empty-state.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(245, 245, 247)}";
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-090eaa9b.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { c as createID } from './create-id-149a1b6d.js';
7
7
  import { h as hasSlot } from './slot-utils-3c3ab3d6.js';
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-090eaa9b.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
 
7
7
  const duetFileChooserCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.container{display:flex;flex-direction:row;gap:8px;align-items:center}.container .label{margin-bottom:8px}";
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent$1, h, F as Fragment, g as getElement } from './index-090eaa9b.js';
5
- import { a as actionArrowRight } from './action-arrow-right-f7d56681.js';
4
+ import { r as registerInstance, c as createEvent$1, h, F as Fragment, g as getElement } from './index-3c6b5eb8.js';
5
+ import { a as actionNewWindow, b as actionArrowRight } from './action-new-window-9c8f7830.js';
6
6
  import { a as actionNewWindowSmall } from './action-new-window-small-1945be91.js';
7
7
  import { D as DuetStringsExternalDefaults } from './common-strings-7c7f8e40.js';
8
8
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
@@ -10,8 +10,6 @@ import { s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './ke
10
10
  import { a as getLanguage, g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-00ca4c55.js';
11
11
  import { p as parsePossibleJSON } from './string-utils-ca039233.js';
12
12
 
13
- var actionNewWindow={"title":"action-new-window","tags":"arrow open new window tab external link square box rectangle action","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M10.25 2a.75.75 0 1 1 0 1.5h-6.5A2.252 2.252 0 0 0 1.5 5.75v14.5a2.252 2.252 0 0 0 2.25 2.25h14.5a2.252 2.252 0 0 0 2.25-2.25v-6.5a.75.75 0 0 1 1.5 0v6.5A3.754 3.754 0 0 1 18.25 24H3.75A3.754 3.754 0 0 1 0 20.25V5.75A3.754 3.754 0 0 1 3.75 2zm12.985-2c.1 0 .198.02.29.058l.025.011a.726.726 0 0 1 .15.091l.066.059a.755.755 0 0 1 .109.138l.051.1c.04.092.06.192.06.293l-.001 6.363c0 .2-.078.389-.22.53a.743.743 0 0 1-.53.22.743.743 0 0 1-.53-.22.743.743 0 0 1-.22-.53V2.559L15.28 9.764a.75.75 0 0 1-1.06-1.06l7.204-7.205h-4.553a.744.744 0 0 1-.75-.75c0-.2.078-.388.22-.53A.743.743 0 0 1 16.87 0z\"/></svg>"};
14
-
15
13
  const duetFooterCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;flex-shrink:0;width:100%}::slotted([slot=info]){padding:0 28px;margin-top:36px}@media (min-width: 62em){::slotted([slot=info]){padding:0;margin:0}}.duet-footer{display:block;width:100%;padding-top:20px;padding-bottom:16px;margin-top:48px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:rgb(255, 255, 255);text-align:left;background:rgb(0, 41, 77)}.duet-footer.duet-p-0{padding:0 !important}.duet-footer.duet-m-0{margin:0 !important}@media (min-width: 36em){.duet-footer{padding-top:36px}}@media (min-width: 62em){.duet-footer{padding-top:48px;padding-bottom:36px}}.duet-footer.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:rgb(198, 12, 48)}.duet-footer a{color:rgb(255, 255, 255);text-decoration:none}@media (min-width: 62em){.duet-footer a{border-radius:4px}}.duet-footer a:focus{outline:0}:host(.user-is-tabbing) .duet-footer a:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva a:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-footer-wrapper{position:relative;margin:0 auto}@media (min-width: 62em){.duet-footer-wrapper{padding:0 72px 0 48px}}@media (min-width: 76.25em){.duet-footer-wrapper{max-width:1110px;padding:0 20px 0 0}}.duet-footer-top{width:100%}@media (min-width: 62em){.duet-footer-top{display:flex;flex-direction:row;align-items:center;justify-content:space-between}}.duet-footer-top .footer-top-logo{flex-grow:1}.duet-footer-top .footer-top-right-container{flex-grow:1.5}.duet-footer-top .footer-top-items{display:flex;flex-direction:column;justify-content:space-between}@media (min-width: 62em){.duet-footer-top .footer-top-items{flex-direction:row}}duet-logo{margin-left:16px !important}@media (min-width: 36em){duet-logo{margin-left:28px !important}}@media (min-width: 62em){duet-logo{margin-left:0 !important}}.duet-footer-link{padding:16px !important;display:flex;flex-direction:row;align-items:center;width:100%;font-weight:600;border-bottom:1px solid rgba(255, 255, 255, 0.2);transition:background-color 300ms ease}@media (min-width: 36em){.duet-footer-link{padding-right:20px !important;padding-left:28px !important}}@media (min-width: 62em){.duet-footer-link{width:auto;min-width:0;padding-right:0 !important;padding-left:0 !important;border:0}}.duet-footer-link:first-of-type{margin-top:20px;border-top:1px solid rgba(255, 255, 255, 0.2)}@media (min-width: 62em){.duet-footer-link:first-of-type{margin:0;border:0}}.duet-footer-link span{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duet-footer-link:hover{background:rgba(0, 0, 0, 0.1)}@media (min-width: 62em){.duet-footer-link:hover{background:transparent}}.duet-footer-icon{display:flex;align-items:center;justify-content:center;padding:12px;margin-right:16px;background:rgb(0, 119, 179);border-radius:50%;transition:300ms ease}.duet-theme-turva .duet-footer-icon{background:transparent;box-shadow:0 0 0 1px #fff}a:hover .duet-footer-icon{background:#006ba1}.duet-theme-turva a:hover .duet-footer-icon{background:transparent}.duet-footer-arrow{display:flex;align-items:center;justify-content:center;width:20px;min-width:20px;max-width:20px;height:20px;max-height:20px;margin-left:auto;color:rgb(255, 255, 255);transition:transform 300ms ease}@media (min-width: 62em){.duet-footer-arrow{width:10px;min-width:10px;margin-top:3px;margin-left:8px}}@media (min-width: 62em){.duet-footer-arrow{margin-right:0}}a:hover .duet-footer-arrow{transform:translateX(4px)}.duet-footer-arrow duet-icon{width:20px;height:20px}@media (min-width: 62em){.duet-footer-arrow duet-icon{width:10px;height:10px}}.duet-footer-menu{padding:20px !important;display:flex;gap:2rem;font-size:0.875rem}@media (min-width: 36em){.duet-footer-menu{padding:28px !important}}@media (min-width: 62em){.duet-footer-menu{padding-left:8px !important}}.duet-footer-menu a{display:inline-block;text-decoration:none;overflow-wrap:break-word}.duet-footer-menu a:hover,.duet-footer-menu a:focus{text-decoration:underline}.duet-footer-menu a:hover .duet-footer-divider,.duet-footer-menu a:focus .duet-footer-divider{text-decoration:none}.duet-footer-menu .duet-footer-divider{display:inline-block;margin:0 8px}.duet-footer-menu .duet-footer-divider-copyright{display:none}.duet-footer-menu .duet-footer-menu-links{display:block;flex:1}@media (min-width: 62em){.duet-footer-menu .duet-footer-menu-links{text-align:right}}.duet-footer-menu a:last-of-type .duet-footer-divider{display:none}.duet-footer-copyright{display:none;font-size:0.875rem;color:rgb(255, 255, 255)}@media (min-width: 62em){.duet-footer-copyright{display:inline}}.duet-footer-copyright.duet-footer-copyright-mobile{display:block;padding-top:0.5rem;padding-bottom:1.25rem;padding-left:2rem;text-align:left}@media (min-width: 62em){.duet-footer-copyright.duet-footer-copyright-mobile{display:none}}.duet-footer-simple{padding:0;margin:0;margin-top:16px;color:rgb(0, 41, 77);background:transparent !important;border-top:1px solid rgb(225, 227, 230)}.duet-footer-simple .duet-footer-wrapper{max-width:100%;padding:0 20px;margin:0}@media (min-width: 62em){.duet-footer-simple .duet-footer-wrapper{padding:0 36px}}@media (min-width: 106.25em){.duet-footer-simple .duet-footer-wrapper{padding:0 48px}}.duet-footer-simple .duet-footer-copyright,.duet-footer-simple .duet-footer-menu a{color:rgb(0, 41, 77)}.duet-footer-simple .duet-footer-menu{padding:20px 0 !important}.duet-footer-simple .duet-footer-copyright-mobile{padding-left:0}.duet-footer-simple.duet-theme-turva{color:rgb(23, 28, 58);border-color:rgb(228, 228, 230)}.duet-footer-simple.duet-theme-turva .duet-footer-copyright,.duet-footer-simple.duet-theme-turva .duet-footer-menu a{color:rgb(23, 28, 58)}.duet-footer-external{display:inline-block;margin-left:4px;color:rgb(0, 119, 179)}.duet-theme-turva .duet-footer-external{color:rgb(255, 255, 255)}.duet-footer-simple.duet-theme-turva .duet-footer-external{color:rgb(198, 12, 48)}";
16
14
 
17
15
  const i18n = {
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-090eaa9b.js';
5
- import { a as media_query_large, m as media_query_medium, b as media_query_small } from './tokens-30d01e1d.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
+ import { a as media_query_large, m as media_query_medium, b as media_query_small } from './tokens-94133fa9.js';
6
6
  import { w as watchForOptions, a as watchForElement } from './watch-options-e96ecd92.js';
7
7
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
8
8
 
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { h, r as registerInstance, c as createEvent$1, B as Build, H as Host, F as Fragment, g as getElement } from './index-090eaa9b.js';
4
+ import { h, r as registerInstance, c as createEvent$1, B as Build, H as Host, F as Fragment, g as getElement } from './index-3c6b5eb8.js';
5
5
  import { f as formSearch } from './form-search-ea8e19ae.js';
6
- import { a as media_query_large } from './tokens-30d01e1d.js';
6
+ import { a as media_query_large } from './tokens-94133fa9.js';
7
7
  import { d as disableBodyScroll, e as enableBodyScroll } from './bodyScrollLock.es6-ecbf187e.js';
8
8
  import { D as DuetStringsExternalDefaults } from './common-strings-7c7f8e40.js';
9
9
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
@@ -11,7 +11,7 @@ import { s as subscribeTabbingChange, u as unsubscribeTabbingChange, f as isEsca
11
11
  import { a as getLanguage, g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-00ca4c55.js';
12
12
  import { p as parsePossibleJSON } from './string-utils-ca039233.js';
13
13
  import { a as actionArrowDownSmall } from './action-arrow-down-small-82273dc8.js';
14
- import { n as colorGrayLightest, o as colorBrandGrayTurva, i as colorPrimaryTurva, k as colorPrimary } from './tokens.module-c9866649.js';
14
+ import { n as colorGrayLightest, o as colorBrandGrayTurva, i as colorPrimaryTurva, k as colorPrimary } from './tokens.module-3547915d.js';
15
15
  import { c as createID } from './create-id-149a1b6d.js';
16
16
 
17
17
  var navigationContactDropdown={"title":"navigation-contact-dropdown","tags":"navigation contact dropdown speech bubbles","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M20.247 24a.743.743 0 0 1-.53-.22l-4.28-4.28h-.439c-3.308 0-6-2.692-6-6s2.692-6 6-6h3c3.309.001 6 2.692 6 6a5.974 5.974 0 0 1-3 5.179v4.571a.75.75 0 0 1-.751.75zm-5.25-15c-2.481 0-4.5 2.019-4.5 4.5s2.019 4.5 4.5 4.5h.75c.198 0 .391.08.53.22l3.22 3.22v-3.213c0-.289.169-.555.429-.678a4.51 4.51 0 0 0 2.571-4.049 4.504 4.504 0 0 0-4.498-4.499h-3.002z\"/><path d=\"M3.747 16.5a.747.747 0 0 1-.75-.75v-4.57a5.967 5.967 0 0 1-2.65-3.171A5.948 5.948 0 0 1 .57 3.431 6.014 6.014 0 0 1 5.985 0h3.012a6.04 6.04 0 0 1 5.752 4.286.751.751 0 0 1-.718.964.755.755 0 0 1-.719-.536A4.531 4.531 0 0 0 8.997 1.5h-3a4.511 4.511 0 0 0-4.071 2.572c-.512 1.084-.571 2.302-.167 3.431s1.224 2.032 2.308 2.545c.261.123.43.39.43.678v3.214l1.72-1.72a.744.744 0 0 1 1.06 0 .752.752 0 0 1 0 1.061l-3 3a.744.744 0 0 1-.53.219z\"/></svg>"};
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-090eaa9b.js';
4
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-3c6b5eb8.js';
5
5
  import { a as actionNewWindowSmall } from './action-new-window-small-1945be91.js';
6
6
  import { D as DuetStringsExternalDefaults } from './common-strings-7c7f8e40.js';
7
7
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { E as Env, r as registerInstance, h, H as Host, g as getElement } from './index-090eaa9b.js';
4
+ import { E as Env, r as registerInstance, h, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
- import { g as getColorByName, r as rgbaColorFromRgb } from './token-utils-0c77cb3c.js';
7
- import './tokens.module-c9866649.js';
6
+ import { g as getColorByName, r as rgbaColorFromRgb } from './token-utils-be83d039.js';
7
+ import './tokens.module-3547915d.js';
8
8
 
9
9
  const cleanupSvg = (svgContent) => {
10
10
  if (typeof document === "undefined" || !svgContent) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-090eaa9b.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
5
  import { f as formSearch } from './form-search-ea8e19ae.js';
6
6
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
7
7
  import { c as createID } from './create-id-149a1b6d.js';
@@ -9,9 +9,9 @@ import { c as cleanValue, r as resetCursor } from './input-utils-85681162.js';
9
9
  import { f as isEscapeKey, j as isEnterKey } from './keyboard-utils-0708be80.js';
10
10
  import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-00ca4c55.js';
11
11
  import { c as checkNamedSlotElement } from './slot-utils-3c3ab3d6.js';
12
- import { g as getColorByName } from './token-utils-0c77cb3c.js';
12
+ import { g as getColorByName } from './token-utils-be83d039.js';
13
13
  import './string-utils-ca039233.js';
14
- import './tokens.module-c9866649.js';
14
+ import './tokens.module-3547915d.js';
15
15
 
16
16
  var formEmail={"title":"form-email","tags":"form email","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M12 23.999c-3.205 0-6.218-1.248-8.484-3.514S.001 15.206.001 12.001s1.248-6.218 3.514-8.485C5.782 1.25 8.795.001 12 .001s6.218 1.248 8.485 3.514A11.92 11.92 0 0 1 24 12v2.25A3.754 3.754 0 0 1 20.25 18a3.77 3.77 0 0 1-3.48-2.365A6.009 6.009 0 0 1 12 18c-3.308 0-6-2.692-6-6s2.692-6 6-6 6 2.692 6 6v2.25c0 1.241 1.009 2.25 2.25 2.25s2.25-1.009 2.25-2.25V12c0-2.804-1.092-5.441-3.075-7.424A10.433 10.433 0 0 0 12 1.501c-2.804 0-5.441 1.092-7.424 3.075S1.501 9.196 1.501 12c0 2.805 1.092 5.441 3.075 7.424s4.619 3.074 7.423 3.074c2.257 0 4.494-.746 6.299-2.1a.749.749 0 1 1 .9 1.199A12.049 12.049 0 0 1 12 23.999zM12 7.5c-2.481 0-4.5 2.019-4.5 4.5s2.019 4.5 4.5 4.5 4.5-2.019 4.5-4.5-2.019-4.5-4.5-4.5z\"/></svg>"};
17
17
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-090eaa9b.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
5
  import { i as isInternetExplorer } from './is-internet-explorer-2c48f686.js';
6
6
 
7
7
  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 (max-width: 20.5em){.duet-layout.padding-xxx-small{padding:0}}@media (max-width: 22.5em){.duet-layout.padding-xx-small{padding:0}}@media (max-width: 35.9375em){.duet-layout.padding-x-small{padding:0}}@media (min-width: 36em){.duet-layout.padding-small{padding:0}}@media (min-width: 48em){.duet-layout.padding-medium{padding:0}}@media (min-width: 62em){.duet-layout.padding-large{padding:0}}@media (min-width: 64.0625em){.duet-layout.padding-x-large{padding:0}}@media (min-width: 76.25em){.duet-layout.padding-xx-large{padding:0}}@media (min-width: 106.25em){.duet-layout.padding-xxx-large{padding:0}}@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)}}";
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, g as getElement, H as Host } from './index-090eaa9b.js';
4
+ import { r as registerInstance, h, g as getElement, H as Host } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { w as watchForOptions } from './watch-options-e96ecd92.js';
7
7
 
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-090eaa9b.js';
5
- import { a as media_query_large } from './tokens-30d01e1d.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
+ import { a as media_query_large } from './tokens-94133fa9.js';
6
6
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
7
7
 
8
8
  const duetMenuBarButtonCss = "*,*::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;height:100%}.duet-menu-bar-button{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;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:inherit;color:inherit;text-align:center;text-decoration:none;cursor:pointer}.duet-menu-bar-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-menu-bar-button:focus,.duet-menu-bar-button:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-menu-bar-button.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\"}@media (min-width: 62em){.duet-menu-bar-button{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-button{padding:0 28px}}@media (min-width: 62em){.duet-menu-bar-button:hover{color:rgb(0, 119, 179)}.duet-menu-bar-button:hover.duet-theme-turva{color:rgb(198, 12, 48)}}";
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-090eaa9b.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { f as isEscapeKey } from './keyboard-utils-0708be80.js';
7
7
 
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-090eaa9b.js';
5
- import { a as media_query_large } from './tokens-30d01e1d.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-3c6b5eb8.js';
5
+ import { a as media_query_large } from './tokens-94133fa9.js';
6
6
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
7
7
  import { f as isEscapeKey } from './keyboard-utils-0708be80.js';
8
8