@duetds/components 9.2.4 → 9.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (638) hide show
  1. package/hydrate/index.js +156 -94
  2. package/lib/cjs/{app-globals-452e6cb2.js → app-globals-78dc4702.js} +1 -1
  3. package/lib/cjs/duet-action-button.cjs.entry.js +4 -4
  4. package/lib/cjs/duet-alert.cjs.entry.js +3 -3
  5. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-banner.cjs.entry.js +4 -4
  7. package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -2
  8. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +4 -4
  9. package/lib/cjs/duet-button_2.cjs.entry.js +50 -40
  10. package/lib/cjs/duet-callout.cjs.entry.js +2 -2
  11. package/lib/cjs/duet-caption_4.cjs.entry.js +19 -10
  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_3.cjs.entry.js +28 -16
  16. package/lib/cjs/duet-choice_2.cjs.entry.js +3 -3
  17. package/lib/cjs/duet-collapsible.cjs.entry.js +6 -5
  18. package/lib/cjs/duet-combobox.cjs.entry.js +31 -18
  19. package/lib/cjs/duet-contact-card.cjs.entry.js +2 -2
  20. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-date-picker.cjs.entry.js +8 -8
  22. package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
  23. package/lib/cjs/duet-editable-table_3.cjs.entry.js +5 -5
  24. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-fieldset.cjs.entry.js +2 -2
  26. package/lib/cjs/duet-file-chooser.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-footer.cjs.entry.js +3 -3
  28. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  29. package/lib/cjs/duet-header_2.cjs.entry.js +3 -3
  30. package/lib/cjs/duet-hero.cjs.entry.js +3 -3
  31. package/lib/cjs/duet-icon.cjs.entry.js +3 -3
  32. package/lib/cjs/duet-input_2.cjs.entry.js +5 -5
  33. package/lib/cjs/duet-layout.cjs.entry.js +2 -2
  34. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +1 -1
  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 +1 -1
  38. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +2 -2
  39. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-menu-bar.cjs.entry.js +2 -2
  41. package/lib/cjs/duet-modal.cjs.entry.js +4 -4
  42. package/lib/cjs/duet-multiselect.cjs.entry.js +3 -3
  43. package/lib/cjs/duet-nav.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-notification_2.cjs.entry.js +3 -3
  45. package/lib/cjs/duet-number-input.cjs.entry.js +12 -6
  46. package/lib/cjs/duet-overlay.cjs.entry.js +1 -1
  47. package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
  48. package/lib/cjs/duet-pagination_2.cjs.entry.js +4 -4
  49. package/lib/cjs/duet-progress.cjs.entry.js +2 -2
  50. package/lib/cjs/duet-promo-card.cjs.entry.js +4 -4
  51. package/lib/cjs/duet-radio_2.cjs.entry.js +2 -2
  52. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  53. package/lib/cjs/duet-scrollable_3.cjs.entry.js +5 -5
  54. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  55. package/lib/cjs/duet-select.cjs.entry.js +2 -2
  56. package/lib/cjs/duet-shaped-image.cjs.entry.js +1 -1
  57. package/lib/cjs/duet-show-more.cjs.entry.js +2 -2
  58. package/lib/cjs/duet-slideout-lang.cjs.entry.js +2 -2
  59. package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
  60. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
  61. package/lib/cjs/duet-slideout-panel.cjs.entry.js +6 -6
  62. package/lib/cjs/duet-slideout.cjs.entry.js +27 -18
  63. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  64. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +1 -1
  65. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +1 -1
  66. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +2 -2
  67. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +1 -1
  68. package/lib/cjs/duet-submenu-bar.cjs.entry.js +1 -1
  69. package/lib/cjs/duet-textarea.cjs.entry.js +3 -3
  70. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  71. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -1
  72. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +1 -1
  73. package/lib/cjs/duet-toolbar-item.cjs.entry.js +2 -2
  74. package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -1
  75. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
  76. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +2 -2
  77. package/lib/cjs/duet-tooltip.cjs.entry.js +2 -2
  78. package/lib/cjs/duet-tray.cjs.entry.js +3 -3
  79. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  80. package/lib/cjs/duet-upload-item.cjs.entry.js +3 -3
  81. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  82. package/lib/cjs/duet.cjs.js +3 -3
  83. package/lib/cjs/{errorcodes.utils-fa1119ad.js → errorcodes.utils-e044ec9a.js} +1 -1
  84. package/lib/cjs/{focus-utils-deb8c93f.js → focus-utils-a25e1b26.js} +1 -1
  85. package/lib/cjs/{index-d9b6d20e.js → index-efe7ea48.js} +2 -2
  86. package/lib/cjs/{language-utils-dbe5d8aa.js → language-utils-041b3463.js} +1 -1
  87. package/lib/cjs/loader.cjs.js +3 -3
  88. package/lib/cjs/{slot-utils-39adb320.js → slot-utils-c1e99a43.js} +1 -1
  89. package/lib/cjs/{token-utils-453a4e75.js → token-utils-12717808.js} +1 -1
  90. package/lib/cjs/{tokens.module-fcba867f.js → tokens.module-46ddb47a.js} +1 -0
  91. package/lib/collection/components/duet-button/duet-button.js +65 -45
  92. package/lib/collection/components/duet-collapsible/duet-collapsible.css +6 -0
  93. package/lib/collection/components/duet-collapsible/duet-collapsible.js +23 -2
  94. package/lib/collection/components/duet-combobox/duet-combobox.js +31 -16
  95. package/lib/collection/components/duet-date-picker/date-picker-input.js +1 -1
  96. package/lib/collection/components/duet-date-picker/duet-date-picker.css +6 -0
  97. package/lib/collection/components/duet-date-picker/duet-date-picker.js +2 -2
  98. package/lib/collection/components/duet-link/duet-link.css +89 -24
  99. package/lib/collection/components/duet-link/duet-link.js +15 -6
  100. package/lib/collection/components/duet-notification/duet-notification.css +4 -0
  101. package/lib/collection/components/duet-number-input/duet-number-input.js +9 -3
  102. package/lib/collection/components/duet-popup-menu/duet-popup-menu.css +4 -0
  103. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +41 -10
  104. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  105. package/lib/collection/components/duet-slideout/duet-slideout.js +47 -12
  106. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  107. package/lib/dist-custom-elements/duet-alert.js +1 -1
  108. package/lib/dist-custom-elements/duet-badge.js +1 -1
  109. package/lib/dist-custom-elements/duet-banner.js +4 -4
  110. package/lib/dist-custom-elements/duet-breadcrumb.js +3 -3
  111. package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
  112. package/lib/dist-custom-elements/duet-button.js +1 -1
  113. package/lib/dist-custom-elements/duet-callout.js +2 -2
  114. package/lib/dist-custom-elements/duet-caption.js +1 -1
  115. package/lib/dist-custom-elements/duet-card.js +4 -4
  116. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  117. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  118. package/lib/dist-custom-elements/duet-chip.js +1 -1
  119. package/lib/dist-custom-elements/duet-choice-group.js +8 -8
  120. package/lib/dist-custom-elements/duet-choice.js +4 -4
  121. package/lib/dist-custom-elements/duet-collapsible.js +7 -5
  122. package/lib/dist-custom-elements/duet-combobox.js +44 -30
  123. package/lib/dist-custom-elements/duet-contact-card.js +8 -8
  124. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  125. package/lib/dist-custom-elements/duet-date-picker.js +17 -17
  126. package/lib/dist-custom-elements/duet-divider.js +1 -1
  127. package/lib/dist-custom-elements/duet-editable-table.js +7 -7
  128. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  129. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  130. package/lib/dist-custom-elements/duet-file-chooser.js +2 -2
  131. package/lib/dist-custom-elements/duet-footer.js +7 -7
  132. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  133. package/lib/dist-custom-elements/duet-grid.js +1 -1
  134. package/lib/dist-custom-elements/duet-header.js +8 -8
  135. package/lib/dist-custom-elements/duet-heading.js +1 -1
  136. package/lib/dist-custom-elements/duet-hero.js +9 -9
  137. package/lib/dist-custom-elements/duet-icon.js +1 -1
  138. package/lib/dist-custom-elements/duet-input.js +1 -1
  139. package/lib/dist-custom-elements/duet-label.js +1 -1
  140. package/lib/dist-custom-elements/duet-layout.js +1 -1
  141. package/lib/dist-custom-elements/duet-link.js +1 -1
  142. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  143. package/lib/dist-custom-elements/duet-list.js +1 -1
  144. package/lib/dist-custom-elements/duet-logo.js +1 -1
  145. package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -2
  146. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
  147. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -2
  148. package/lib/dist-custom-elements/duet-menu-bar-item.js +2 -2
  149. package/lib/dist-custom-elements/duet-menu-bar-link.js +2 -2
  150. package/lib/dist-custom-elements/duet-menu-bar.js +2 -2
  151. package/lib/dist-custom-elements/duet-modal.js +8 -8
  152. package/lib/dist-custom-elements/duet-multiselect.js +9 -9
  153. package/lib/dist-custom-elements/duet-nav.js +1 -1
  154. package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
  155. package/lib/dist-custom-elements/duet-notification.js +3 -3
  156. package/lib/dist-custom-elements/duet-number-input.js +20 -14
  157. package/lib/dist-custom-elements/duet-overlay.js +1 -1
  158. package/lib/dist-custom-elements/duet-page-heading.js +3 -3
  159. package/lib/dist-custom-elements/duet-pagination.js +14 -14
  160. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  161. package/lib/dist-custom-elements/duet-popup-menu-item.js +1 -1
  162. package/lib/dist-custom-elements/duet-popup-menu.js +1 -1
  163. package/lib/dist-custom-elements/duet-progress.js +1 -1
  164. package/lib/dist-custom-elements/duet-promo-card.js +4 -4
  165. package/lib/dist-custom-elements/duet-radio-group.js +8 -8
  166. package/lib/dist-custom-elements/duet-radio.js +1 -1
  167. package/lib/dist-custom-elements/duet-range-slider.js +3 -3
  168. package/lib/dist-custom-elements/duet-range-stepper.js +4 -4
  169. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  170. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  171. package/lib/dist-custom-elements/duet-select.js +1 -1
  172. package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
  173. package/lib/dist-custom-elements/duet-show-more.js +1 -1
  174. package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
  175. package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
  176. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
  177. package/lib/dist-custom-elements/duet-slideout-panel.js +3 -3
  178. package/lib/dist-custom-elements/duet-slideout.js +27 -17
  179. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  180. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  181. package/lib/dist-custom-elements/duet-step.js +4 -4
  182. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  183. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +2 -2
  184. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +2 -2
  185. package/lib/dist-custom-elements/duet-submenu-bar-item.js +2 -2
  186. package/lib/dist-custom-elements/duet-submenu-bar-link.js +2 -2
  187. package/lib/dist-custom-elements/duet-submenu-bar.js +3 -3
  188. package/lib/dist-custom-elements/duet-tab-group.js +13 -13
  189. package/lib/dist-custom-elements/duet-tab.js +2 -2
  190. package/lib/dist-custom-elements/duet-table.js +1 -1
  191. package/lib/dist-custom-elements/duet-textarea.js +10 -10
  192. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  193. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
  194. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +2 -2
  195. package/lib/dist-custom-elements/duet-toolbar-item.js +2 -2
  196. package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
  197. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  198. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  199. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  200. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  201. package/lib/dist-custom-elements/duet-tray.js +4 -4
  202. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  203. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  204. package/lib/dist-custom-elements/duet-upload.js +19 -19
  205. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  206. package/lib/dist-custom-elements/index.js +1 -1
  207. package/lib/dist-custom-elements/{p-3b812ded.js → p-02e8f591.js} +6 -6
  208. package/lib/dist-custom-elements/{p-c87df135.js → p-16c8b661.js} +1 -1
  209. package/lib/dist-custom-elements/{p-7ead8f48.js → p-247254f4.js} +1 -1
  210. package/lib/dist-custom-elements/{p-69c07319.js → p-3100da6e.js} +3 -3
  211. package/lib/dist-custom-elements/{p-18b56e3d.js → p-324773e2.js} +1 -1
  212. package/lib/dist-custom-elements/{p-e7733e82.js → p-326e709b.js} +8 -8
  213. package/lib/dist-custom-elements/{p-0875d52d.js → p-44576862.js} +2 -2
  214. package/lib/dist-custom-elements/{p-0e77715d.js → p-4c179c1e.js} +1 -1
  215. package/lib/dist-custom-elements/{p-7e2739b2.js → p-5096f482.js} +2 -2
  216. package/lib/dist-custom-elements/{p-c9787e5e.js → p-561b46f4.js} +3 -3
  217. package/lib/dist-custom-elements/{p-cd6d3c5d.js → p-583817e7.js} +1 -1
  218. package/lib/dist-custom-elements/{p-905ec46b.js → p-58f4ac3e.js} +52 -46
  219. package/lib/dist-custom-elements/{p-cd3e7d26.js → p-5b74ff74.js} +4 -4
  220. package/lib/dist-custom-elements/{p-1cd26b78.js → p-5d5b0bf3.js} +1 -1
  221. package/lib/dist-custom-elements/{p-6ecce492.js → p-60125797.js} +1 -1
  222. package/lib/dist-custom-elements/{p-8b3f67c1.js → p-64ab1e7f.js} +1 -1
  223. package/lib/dist-custom-elements/{p-d53e4d53.js → p-6fcd56d1.js} +2 -2
  224. package/lib/dist-custom-elements/{p-ed73a017.js → p-79508a54.js} +2 -2
  225. package/lib/dist-custom-elements/{p-54fcbd1e.js → p-839fb8d6.js} +25 -12
  226. package/lib/dist-custom-elements/{p-34992550.js → p-8636a95c.js} +2 -2
  227. package/lib/dist-custom-elements/{p-b2e2b6dc.js → p-8778bcdf.js} +4 -4
  228. package/lib/dist-custom-elements/{p-9fa78368.js → p-88ed3495.js} +1 -1
  229. package/lib/dist-custom-elements/{p-c7c1a1b2.js → p-a9d05a98.js} +1 -1
  230. package/lib/dist-custom-elements/{p-8da7bd75.js → p-ab0d3de7.js} +5 -5
  231. package/lib/dist-custom-elements/{p-91c13425.js → p-ab4a29e9.js} +2 -2
  232. package/lib/dist-custom-elements/{p-e9a7ac8f.js → p-b597eea5.js} +1 -1
  233. package/lib/dist-custom-elements/{p-9fe78f80.js → p-bfa56fd6.js} +5 -5
  234. package/lib/dist-custom-elements/{p-d2417cc3.js → p-c14e6ca4.js} +10 -10
  235. package/lib/dist-custom-elements/{p-ed15e4de.js → p-c92b6a37.js} +18 -9
  236. package/lib/dist-custom-elements/{p-01dc62e0.js → p-c9b46160.js} +2 -2
  237. package/lib/dist-custom-elements/{p-87457587.js → p-d44fe5d0.js} +10 -10
  238. package/lib/dist-custom-elements/{p-152ae732.js → p-d71e24a5.js} +2 -2
  239. package/lib/dist-custom-elements/{p-a847fd5c.js → p-d84ba8f5.js} +2 -2
  240. package/lib/dist-custom-elements/{p-18790b2b.js → p-d84f6aae.js} +2 -2
  241. package/lib/dist-custom-elements/{p-e74a12bb.js → p-da3148b6.js} +2 -2
  242. package/lib/dist-custom-elements/{p-9b7883f9.js → p-db58dd65.js} +1 -1
  243. package/lib/dist-custom-elements/{p-e1dea5ff.js → p-dbc0966a.js} +2 -2
  244. package/lib/dist-custom-elements/{p-6142f327.js → p-ddaf17a4.js} +2 -2
  245. package/lib/dist-custom-elements/{p-4adfb795.js → p-e1289f43.js} +1 -1
  246. package/lib/dist-custom-elements/{p-89343aa8.js → p-ec438ba9.js} +2 -2
  247. package/lib/dist-custom-elements/{p-dfac3130.js → p-f6926397.js} +5 -5
  248. package/lib/duet/duet.esm.js +1 -1
  249. package/lib/duet/duet.js +1 -1
  250. package/lib/duet/{p-6f2ad6b4.system.entry.js → p-008e68b4.system.entry.js} +1 -1
  251. package/lib/duet/{p-1c426c1d.entry.js → p-03b72e84.entry.js} +1 -1
  252. package/lib/duet/{p-8270417c.system.entry.js → p-08b2f3dd.system.entry.js} +1 -1
  253. package/lib/duet/p-08eb8156.entry.js +4 -0
  254. package/lib/duet/{p-fbbfa934.entry.js → p-092ce0f1.entry.js} +1 -1
  255. package/lib/duet/{p-60bf0c2e.entry.js → p-0991986c.entry.js} +1 -1
  256. package/lib/duet/p-0a42e97a.system.entry.js +4 -0
  257. package/lib/duet/{p-acb9e573.system.entry.js → p-0adec9cf.system.entry.js} +1 -1
  258. package/lib/duet/{p-210280af.entry.js → p-0b2b9fa2.entry.js} +1 -1
  259. package/lib/duet/{p-db2186c9.entry.js → p-0ebc6e34.entry.js} +1 -1
  260. package/lib/duet/p-1004af75.js +4 -0
  261. package/lib/duet/{p-3d9a63aa.js → p-10c530d1.js} +1 -1
  262. package/lib/duet/{p-87ed537a.entry.js → p-11fb9dc4.entry.js} +1 -1
  263. package/lib/duet/{p-45271738.entry.js → p-18d7d777.entry.js} +1 -1
  264. package/lib/duet/{p-8d76cbf3.system.entry.js → p-1b538c45.system.entry.js} +1 -1
  265. package/lib/duet/{p-7549ad4b.entry.js → p-1d1addfe.entry.js} +1 -1
  266. package/lib/duet/{p-9f714fa0.system.entry.js → p-1e3d71f9.system.entry.js} +1 -1
  267. package/lib/duet/{p-60b0947c.entry.js → p-1eb3f237.entry.js} +1 -1
  268. package/lib/duet/{p-c0bbcfcc.system.entry.js → p-1fa48eac.system.entry.js} +1 -1
  269. package/lib/duet/{p-a5849a0b.entry.js → p-200ce847.entry.js} +1 -1
  270. package/lib/duet/{p-1d4135ca.system.entry.js → p-20645770.system.entry.js} +1 -1
  271. package/lib/duet/{p-6e73f832.system.entry.js → p-207ea7e9.system.entry.js} +1 -1
  272. package/lib/duet/{p-e319cf5e.system.entry.js → p-23aa27b2.system.entry.js} +1 -1
  273. package/lib/duet/{p-986a7b1e.system.entry.js → p-266639f9.system.entry.js} +1 -1
  274. package/lib/duet/{p-391ef0db.entry.js → p-27480faf.entry.js} +1 -1
  275. package/lib/duet/{p-639fa1be.entry.js → p-29d9ff1e.entry.js} +1 -1
  276. package/lib/duet/{p-4f6ac285.system.entry.js → p-2aaf03e1.system.entry.js} +1 -1
  277. package/lib/duet/{p-05b48f49.entry.js → p-2c65fead.entry.js} +1 -1
  278. package/lib/duet/{p-11c1e43d.system.entry.js → p-2e78b185.system.entry.js} +1 -1
  279. package/lib/duet/{p-6db9af7a.system.entry.js → p-30598218.system.entry.js} +2 -2
  280. package/lib/duet/{p-11fcafeb.entry.js → p-377315e2.entry.js} +1 -1
  281. package/lib/duet/{p-3cf012fb.entry.js → p-3a8d65e6.entry.js} +1 -1
  282. package/lib/duet/{p-d1e2c9cf.system.entry.js → p-3ac94cc4.system.entry.js} +1 -1
  283. package/lib/duet/p-3f3bcada.entry.js +4 -0
  284. package/lib/duet/{p-544cdd2f.system.entry.js → p-421f851f.system.entry.js} +1 -1
  285. package/lib/duet/{p-9f1da60b.system.entry.js → p-42778d18.system.entry.js} +1 -1
  286. package/lib/duet/{p-7446f33f.entry.js → p-44156252.entry.js} +1 -1
  287. package/lib/duet/{p-75f73c8c.entry.js → p-45bb56a8.entry.js} +1 -1
  288. package/lib/duet/{p-a61c6e59.system.entry.js → p-476b2cf2.system.entry.js} +1 -1
  289. package/lib/duet/{p-3113b50e.system.entry.js → p-49ca595b.system.entry.js} +1 -1
  290. package/lib/duet/p-4b961592.entry.js +4 -0
  291. package/lib/duet/{p-6896514c.system.entry.js → p-4c2d2ce0.system.entry.js} +1 -1
  292. package/lib/duet/p-4d8ebbe4.entry.js +4 -0
  293. package/lib/duet/{p-974f67c1.system.entry.js → p-4ec14860.system.entry.js} +1 -1
  294. package/lib/duet/{p-bf0a3ef8.entry.js → p-4efe4a6c.entry.js} +1 -1
  295. package/lib/duet/{p-40bc0b7d.system.entry.js → p-50260da1.system.entry.js} +1 -1
  296. package/lib/duet/{p-0650bad8.entry.js → p-50ac9df8.entry.js} +1 -1
  297. package/lib/duet/{p-1373db77.js → p-520ac4b7.js} +1 -1
  298. package/lib/duet/{p-abba7304.entry.js → p-521d978e.entry.js} +1 -1
  299. package/lib/duet/{p-9cd03739.system.entry.js → p-5298f539.system.entry.js} +1 -1
  300. package/lib/duet/p-539938fb.js +4 -0
  301. package/lib/duet/{p-71e50550.system.entry.js → p-53dee3c7.system.entry.js} +1 -1
  302. package/lib/duet/{p-f41951bb.entry.js → p-572652e8.entry.js} +1 -1
  303. package/lib/duet/{p-d5dd6d15.system.entry.js → p-58c73080.system.entry.js} +1 -1
  304. package/lib/duet/{p-080a4eb6.system.entry.js → p-59f7aa7f.system.entry.js} +1 -1
  305. package/lib/duet/{p-cd4d12b0.entry.js → p-5ae47d2b.entry.js} +1 -1
  306. package/lib/duet/{p-2f1dcd53.system.entry.js → p-5c1467cf.system.entry.js} +1 -1
  307. package/lib/duet/{p-26008ae7.system.entry.js → p-5d3ba53d.system.entry.js} +1 -1
  308. package/lib/duet/{p-c0881fa6.system.entry.js → p-5d5f4146.system.entry.js} +1 -1
  309. package/lib/duet/{p-a5c7e697.system.js → p-5d89c45e.system.js} +1 -1
  310. package/lib/duet/p-60a0cb7f.system.js +4 -0
  311. package/lib/duet/p-615a6764.system.js +4 -0
  312. package/lib/duet/{p-b228a3c3.system.entry.js → p-6181c1f5.system.entry.js} +1 -1
  313. package/lib/duet/{p-eb20c18e.system.entry.js → p-626efe62.system.entry.js} +1 -1
  314. package/lib/duet/p-63c5fd6b.entry.js +4 -0
  315. package/lib/duet/p-63fd1f1b.entry.js +4 -0
  316. package/lib/duet/{p-69a80411.system.entry.js → p-64027802.system.entry.js} +1 -1
  317. package/lib/duet/{p-f383657a.entry.js → p-6428de74.entry.js} +1 -1
  318. package/lib/duet/{p-2b5456e2.system.entry.js → p-65de8d51.system.entry.js} +1 -1
  319. package/lib/duet/{p-3fc43d94.entry.js → p-6b3a8a12.entry.js} +1 -1
  320. package/lib/duet/{p-1e94efe3.entry.js → p-6bd8fb57.entry.js} +1 -1
  321. package/lib/duet/{p-c6d82f55.system.entry.js → p-6bfc098e.system.entry.js} +1 -1
  322. package/lib/duet/{p-c223e6b4.entry.js → p-6decccda.entry.js} +1 -1
  323. package/lib/duet/{p-a600718b.entry.js → p-6f21adbf.entry.js} +1 -1
  324. package/lib/duet/{p-6f3b0043.entry.js → p-6f66ba45.entry.js} +1 -1
  325. package/lib/duet/p-73c4bdf7.js +4 -0
  326. package/lib/duet/p-73e0f5cf.system.entry.js +4 -0
  327. package/lib/duet/{p-8727f234.entry.js → p-7478fc5e.entry.js} +1 -1
  328. package/lib/duet/{p-1174088c.system.entry.js → p-749267a3.system.entry.js} +1 -1
  329. package/lib/duet/{p-1458593e.entry.js → p-7956df66.entry.js} +1 -1
  330. package/lib/duet/{p-3afc91eb.system.entry.js → p-79ccf9ad.system.entry.js} +1 -1
  331. package/lib/duet/{p-caec0ae0.system.entry.js → p-79f305ba.system.entry.js} +1 -1
  332. package/lib/duet/{p-bb8a20ce.entry.js → p-7d0fcdcd.entry.js} +1 -1
  333. package/lib/duet/{p-d25a005e.system.entry.js → p-7ec5ee46.system.entry.js} +1 -1
  334. package/lib/duet/{p-c3b30540.entry.js → p-7f93593e.entry.js} +1 -1
  335. package/lib/duet/{p-80878906.system.entry.js → p-7fadfb31.system.entry.js} +1 -1
  336. package/lib/duet/{p-c328ff56.system.entry.js → p-818bb33d.system.entry.js} +1 -1
  337. package/lib/duet/{p-75bd16ec.system.entry.js → p-83dabfc5.system.entry.js} +1 -1
  338. package/lib/duet/p-849ffaec.system.entry.js +4 -0
  339. package/lib/duet/p-854808cd.entry.js +4 -0
  340. package/lib/duet/{p-c106a592.entry.js → p-86a3bc38.entry.js} +1 -1
  341. package/lib/duet/{p-5f75e4a2.entry.js → p-8a9fe70c.entry.js} +1 -1
  342. package/lib/duet/{p-81d6c23b.entry.js → p-8b5976ca.entry.js} +1 -1
  343. package/lib/duet/{p-83241e2a.system.entry.js → p-8d051bf2.system.entry.js} +1 -1
  344. package/lib/duet/{p-bd05c841.system.entry.js → p-8d6dcdb1.system.entry.js} +1 -1
  345. package/lib/duet/{p-7685d441.system.entry.js → p-8ef9cba1.system.entry.js} +1 -1
  346. package/lib/duet/{p-2bf89772.system.entry.js → p-914a0898.system.entry.js} +1 -1
  347. package/lib/duet/p-93ce45ce.system.entry.js +4 -0
  348. package/lib/duet/{p-744bd7cf.entry.js → p-9432f9ec.entry.js} +1 -1
  349. package/lib/duet/p-94c63013.system.js +4 -0
  350. package/lib/duet/{p-6012e82f.entry.js → p-96714a74.entry.js} +1 -1
  351. package/lib/duet/{p-98a29d5f.system.entry.js → p-9675e1d5.system.entry.js} +1 -1
  352. package/lib/duet/{p-73462771.system.entry.js → p-9aee8a81.system.entry.js} +1 -1
  353. package/lib/duet/{p-e8de57d3.system.entry.js → p-9b90f38e.system.entry.js} +1 -1
  354. package/lib/duet/{p-5810ba83.system.entry.js → p-a0b111e3.system.entry.js} +1 -1
  355. package/lib/duet/{p-0587ebcf.entry.js → p-a1c780b5.entry.js} +1 -1
  356. package/lib/duet/{p-a8b7091a.entry.js → p-a29e4976.entry.js} +1 -1
  357. package/lib/duet/{p-5395ddc8.entry.js → p-a4164a2d.entry.js} +1 -1
  358. package/lib/duet/{p-e77ac510.entry.js → p-a54ec315.entry.js} +1 -1
  359. package/lib/duet/p-a60f3669.system.entry.js +4 -0
  360. package/lib/duet/{p-431d59a3.system.entry.js → p-a7d46fef.system.entry.js} +1 -1
  361. package/lib/duet/{p-088fce9c.entry.js → p-a81baadd.entry.js} +1 -1
  362. package/lib/duet/{p-6e3906df.entry.js → p-a987ab9d.entry.js} +1 -1
  363. package/lib/duet/{p-39e9e000.system.entry.js → p-af35e151.system.entry.js} +1 -1
  364. package/lib/duet/{p-cf4e7590.entry.js → p-b038b80c.entry.js} +1 -1
  365. package/lib/duet/{p-1ae31ca3.system.entry.js → p-b37f9402.system.entry.js} +1 -1
  366. package/lib/duet/{p-8f15eb9c.system.entry.js → p-b3a2ecfc.system.entry.js} +1 -1
  367. package/lib/duet/p-b4e05d38.entry.js +4 -0
  368. package/lib/duet/p-b575bed5.entry.js +4 -0
  369. package/lib/duet/{p-8b0de573.system.entry.js → p-b75f0c5b.system.entry.js} +1 -1
  370. package/lib/duet/{p-48ca823e.system.entry.js → p-b7996eff.system.entry.js} +1 -1
  371. package/lib/duet/{p-4a44d6b5.system.entry.js → p-b7a606a0.system.entry.js} +1 -1
  372. package/lib/duet/{p-3a006e78.system.entry.js → p-b84965cf.system.entry.js} +1 -1
  373. package/lib/duet/{p-58088232.entry.js → p-b9f092f2.entry.js} +1 -1
  374. package/lib/duet/{p-67ee9418.entry.js → p-bae3eb9c.entry.js} +1 -1
  375. package/lib/duet/{p-d7f565bd.system.entry.js → p-be815d6f.system.entry.js} +1 -1
  376. package/lib/duet/{p-11868ab7.entry.js → p-bf804ab7.entry.js} +1 -1
  377. package/lib/duet/{p-dc2586c4.entry.js → p-c152f45c.entry.js} +1 -1
  378. package/lib/duet/{p-12563d2c.system.entry.js → p-c1b9e00b.system.entry.js} +1 -1
  379. package/lib/duet/{p-81da236f.entry.js → p-c2626d64.entry.js} +1 -1
  380. package/lib/duet/{p-a7b23ef5.system.entry.js → p-c41b616b.system.entry.js} +1 -1
  381. package/lib/duet/{p-899541f6.system.entry.js → p-c42ba43f.system.entry.js} +1 -1
  382. package/lib/duet/p-c54aec23.entry.js +4 -0
  383. package/lib/duet/{p-c4e7b543.system.entry.js → p-c9fbbebc.system.entry.js} +1 -1
  384. package/lib/duet/{p-6e2a6ba2.system.entry.js → p-cb0513ed.system.entry.js} +1 -1
  385. package/lib/duet/{p-d5e0b809.entry.js → p-cb26eeef.entry.js} +1 -1
  386. package/lib/duet/{p-20de631c.system.entry.js → p-cb39f212.system.entry.js} +1 -1
  387. package/lib/duet/{p-23fb1498.entry.js → p-cb840c6d.entry.js} +1 -1
  388. package/lib/duet/{p-6a95a2e3.system.js → p-cbbf6d6a.system.js} +1 -1
  389. package/lib/duet/{p-eb01ad49.system.entry.js → p-cbcfcf2f.system.entry.js} +1 -1
  390. package/lib/duet/{p-b3db918f.system.js → p-ce9ccf2d.system.js} +1 -1
  391. package/lib/duet/{p-0dc6b624.entry.js → p-cf99e1f3.entry.js} +1 -1
  392. package/lib/duet/{p-4089860d.entry.js → p-d183f34f.entry.js} +1 -1
  393. package/lib/duet/{p-9142977a.system.entry.js → p-d4756796.system.entry.js} +1 -1
  394. package/lib/duet/{p-968b499b.system.entry.js → p-d4de8d9f.system.entry.js} +1 -1
  395. package/lib/duet/{p-d5515fac.entry.js → p-d53821a2.entry.js} +1 -1
  396. package/lib/duet/{p-0b378a70.entry.js → p-d7c2f4d7.entry.js} +1 -1
  397. package/lib/duet/{p-b7bf4009.entry.js → p-d8097437.entry.js} +1 -1
  398. package/lib/duet/{p-74dfe55a.system.entry.js → p-db17c060.system.entry.js} +1 -1
  399. package/lib/duet/{p-5454ec0d.entry.js → p-dbcafad8.entry.js} +1 -1
  400. package/lib/duet/{p-c8dbbdb3.entry.js → p-dd3427ef.entry.js} +1 -1
  401. package/lib/duet/{p-cf909acf.entry.js → p-de0a78f9.entry.js} +1 -1
  402. package/lib/duet/{p-d7a3e71f.entry.js → p-e10e1117.entry.js} +1 -1
  403. package/lib/duet/{p-5477fad9.entry.js → p-e1e65613.entry.js} +1 -1
  404. package/lib/duet/{p-e84bace7.system.entry.js → p-e32ff504.system.entry.js} +1 -1
  405. package/lib/duet/{p-f3826346.entry.js → p-e3d448c5.entry.js} +1 -1
  406. package/lib/duet/{p-f0045080.entry.js → p-e3e5f427.entry.js} +1 -1
  407. package/lib/duet/{p-983cfc54.entry.js → p-e44f1b3a.entry.js} +1 -1
  408. package/lib/duet/{p-b7356342.system.entry.js → p-e53164d0.system.entry.js} +2 -2
  409. package/lib/duet/p-e7c62f85.js +4 -0
  410. package/lib/duet/{p-178bcd12.entry.js → p-e7e3b445.entry.js} +1 -1
  411. package/lib/duet/{p-ed4f4aad.system.entry.js → p-e87b84f3.system.entry.js} +1 -1
  412. package/lib/duet/{p-3015a884.system.js → p-e88c356e.system.js} +1 -1
  413. package/lib/duet/{p-5af61a5f.entry.js → p-ea386f3b.entry.js} +1 -1
  414. package/lib/duet/{p-bd983df7.system.entry.js → p-eb5844f6.system.entry.js} +1 -1
  415. package/lib/duet/{p-7b8ac676.system.entry.js → p-ef65048c.system.entry.js} +1 -1
  416. package/lib/duet/{p-94eab61e.system.js → p-ef731dfb.system.js} +1 -1
  417. package/lib/duet/{p-eb1a935b.js → p-f1e02e7b.js} +1 -1
  418. package/lib/duet/{p-4a043858.entry.js → p-f35b246d.entry.js} +1 -1
  419. package/lib/duet/p-f3e84569.js +5 -0
  420. package/lib/duet/{p-0d304014.system.entry.js → p-f4be3ed1.system.entry.js} +1 -1
  421. package/lib/duet/p-f4c1b623.system.js +5 -0
  422. package/lib/duet/p-f5546613.entry.js +4 -0
  423. package/lib/duet/{p-b16949ab.entry.js → p-f6e819df.entry.js} +1 -1
  424. package/lib/duet/{p-3bbea70e.system.entry.js → p-fcc9506a.system.entry.js} +1 -1
  425. package/lib/esm/{app-globals-69cf92e7.js → app-globals-60b4029b.js} +1 -1
  426. package/lib/esm/duet-action-button.entry.js +4 -4
  427. package/lib/esm/duet-alert.entry.js +3 -3
  428. package/lib/esm/duet-badge.entry.js +1 -1
  429. package/lib/esm/duet-banner.entry.js +4 -4
  430. package/lib/esm/duet-breadcrumb.entry.js +2 -2
  431. package/lib/esm/duet-breadcrumbs.entry.js +4 -4
  432. package/lib/esm/duet-button_2.entry.js +50 -40
  433. package/lib/esm/duet-callout.entry.js +2 -2
  434. package/lib/esm/duet-caption_4.entry.js +19 -10
  435. package/lib/esm/duet-card.entry.js +3 -3
  436. package/lib/esm/duet-checkbox.entry.js +1 -1
  437. package/lib/esm/duet-checkmark.entry.js +1 -1
  438. package/lib/esm/duet-chip_3.entry.js +28 -16
  439. package/lib/esm/duet-choice_2.entry.js +3 -3
  440. package/lib/esm/duet-collapsible.entry.js +6 -5
  441. package/lib/esm/duet-combobox.entry.js +31 -18
  442. package/lib/esm/duet-contact-card.entry.js +2 -2
  443. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  444. package/lib/esm/duet-date-picker.entry.js +8 -8
  445. package/lib/esm/duet-divider_2.entry.js +3 -3
  446. package/lib/esm/duet-editable-table_3.entry.js +5 -5
  447. package/lib/esm/duet-empty-state.entry.js +1 -1
  448. package/lib/esm/duet-fieldset.entry.js +2 -2
  449. package/lib/esm/duet-file-chooser.entry.js +1 -1
  450. package/lib/esm/duet-footer.entry.js +3 -3
  451. package/lib/esm/duet-grid_2.entry.js +1 -1
  452. package/lib/esm/duet-header_2.entry.js +3 -3
  453. package/lib/esm/duet-hero.entry.js +3 -3
  454. package/lib/esm/duet-icon.entry.js +3 -3
  455. package/lib/esm/duet-input_2.entry.js +5 -5
  456. package/lib/esm/duet-layout.entry.js +2 -2
  457. package/lib/esm/duet-list_2.entry.js +1 -1
  458. package/lib/esm/duet-menu-bar-button.entry.js +1 -1
  459. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -1
  460. package/lib/esm/duet-menu-bar-dropdown.entry.js +1 -1
  461. package/lib/esm/duet-menu-bar-item.entry.js +2 -2
  462. package/lib/esm/duet-menu-bar-link.entry.js +1 -1
  463. package/lib/esm/duet-menu-bar.entry.js +2 -2
  464. package/lib/esm/duet-modal.entry.js +4 -4
  465. package/lib/esm/duet-multiselect.entry.js +3 -3
  466. package/lib/esm/duet-nav.entry.js +1 -1
  467. package/lib/esm/duet-notification_2.entry.js +3 -3
  468. package/lib/esm/duet-number-input.entry.js +12 -6
  469. package/lib/esm/duet-overlay.entry.js +1 -1
  470. package/lib/esm/duet-page-heading.entry.js +1 -1
  471. package/lib/esm/duet-pagination_2.entry.js +4 -4
  472. package/lib/esm/duet-progress.entry.js +2 -2
  473. package/lib/esm/duet-promo-card.entry.js +4 -4
  474. package/lib/esm/duet-radio_2.entry.js +2 -2
  475. package/lib/esm/duet-range-slider.entry.js +2 -2
  476. package/lib/esm/duet-scrollable_3.entry.js +5 -5
  477. package/lib/esm/duet-section-layout.entry.js +1 -1
  478. package/lib/esm/duet-select.entry.js +2 -2
  479. package/lib/esm/duet-shaped-image.entry.js +1 -1
  480. package/lib/esm/duet-show-more.entry.js +2 -2
  481. package/lib/esm/duet-slideout-lang.entry.js +2 -2
  482. package/lib/esm/duet-slideout-link.entry.js +1 -1
  483. package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
  484. package/lib/esm/duet-slideout-panel.entry.js +6 -6
  485. package/lib/esm/duet-slideout.entry.js +27 -18
  486. package/lib/esm/duet-step_2.entry.js +1 -1
  487. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +1 -1
  488. package/lib/esm/duet-submenu-bar-dropdown.entry.js +1 -1
  489. package/lib/esm/duet-submenu-bar-item.entry.js +2 -2
  490. package/lib/esm/duet-submenu-bar-link.entry.js +1 -1
  491. package/lib/esm/duet-submenu-bar.entry.js +1 -1
  492. package/lib/esm/duet-textarea.entry.js +3 -3
  493. package/lib/esm/duet-toggle.entry.js +1 -1
  494. package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
  495. package/lib/esm/duet-toolbar-dropdown.entry.js +1 -1
  496. package/lib/esm/duet-toolbar-item.entry.js +2 -2
  497. package/lib/esm/duet-toolbar-link.entry.js +1 -1
  498. package/lib/esm/duet-toolbar.entry.js +1 -1
  499. package/lib/esm/duet-tooltip-button_2.entry.js +2 -2
  500. package/lib/esm/duet-tooltip.entry.js +2 -2
  501. package/lib/esm/duet-tray.entry.js +3 -3
  502. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  503. package/lib/esm/duet-upload-item.entry.js +3 -3
  504. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  505. package/lib/esm/duet.js +4 -4
  506. package/lib/esm/{errorcodes.utils-6d8b4e99.js → errorcodes.utils-b639fe8c.js} +1 -1
  507. package/lib/esm/{focus-utils-32a6966b.js → focus-utils-fad21cfb.js} +1 -1
  508. package/lib/esm/{index-fd030e61.js → index-4160b620.js} +2 -2
  509. package/lib/esm/{language-utils-58773b88.js → language-utils-afb0d677.js} +1 -1
  510. package/lib/esm/loader.js +4 -4
  511. package/lib/esm/{slot-utils-b0edb3d8.js → slot-utils-fdd6c75c.js} +1 -1
  512. package/lib/esm/{token-utils-3c2fb643.js → token-utils-a32eb753.js} +1 -1
  513. package/lib/esm/{tokens.module-216c2ae9.js → tokens.module-a746651a.js} +1 -1
  514. package/lib/esm-es5/{app-globals-69cf92e7.js → app-globals-60b4029b.js} +1 -1
  515. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  516. package/lib/esm-es5/duet-alert.entry.js +1 -1
  517. package/lib/esm-es5/duet-badge.entry.js +1 -1
  518. package/lib/esm-es5/duet-banner.entry.js +1 -1
  519. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  520. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  521. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  522. package/lib/esm-es5/duet-callout.entry.js +1 -1
  523. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  524. package/lib/esm-es5/duet-card.entry.js +1 -1
  525. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  526. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  527. package/lib/esm-es5/duet-chip_3.entry.js +1 -1
  528. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  529. package/lib/esm-es5/duet-collapsible.entry.js +2 -2
  530. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  531. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  532. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  533. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  534. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  535. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  536. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  537. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  538. package/lib/esm-es5/duet-file-chooser.entry.js +1 -1
  539. package/lib/esm-es5/duet-footer.entry.js +1 -1
  540. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  541. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  542. package/lib/esm-es5/duet-hero.entry.js +2 -2
  543. package/lib/esm-es5/duet-icon.entry.js +1 -1
  544. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  545. package/lib/esm-es5/duet-layout.entry.js +1 -1
  546. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  547. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  548. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  549. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +2 -2
  550. package/lib/esm-es5/duet-menu-bar-item.entry.js +1 -1
  551. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  552. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  553. package/lib/esm-es5/duet-modal.entry.js +1 -1
  554. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  555. package/lib/esm-es5/duet-nav.entry.js +1 -1
  556. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  557. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  558. package/lib/esm-es5/duet-overlay.entry.js +1 -1
  559. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  560. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  561. package/lib/esm-es5/duet-progress.entry.js +1 -1
  562. package/lib/esm-es5/duet-promo-card.entry.js +1 -1
  563. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  564. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  565. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  566. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  567. package/lib/esm-es5/duet-select.entry.js +1 -1
  568. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  569. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  570. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  571. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  572. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  573. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  574. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  575. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  576. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  577. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  578. package/lib/esm-es5/duet-submenu-bar-item.entry.js +2 -2
  579. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  580. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  581. package/lib/esm-es5/duet-textarea.entry.js +2 -2
  582. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  583. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  584. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  585. package/lib/esm-es5/duet-toolbar-item.entry.js +2 -2
  586. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  587. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  588. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  589. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  590. package/lib/esm-es5/duet-tray.entry.js +1 -1
  591. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  592. package/lib/esm-es5/duet-upload-item.entry.js +1 -1
  593. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  594. package/lib/esm-es5/duet.js +1 -1
  595. package/lib/esm-es5/{errorcodes.utils-6d8b4e99.js → errorcodes.utils-b639fe8c.js} +1 -1
  596. package/lib/esm-es5/focus-utils-fad21cfb.js +4 -0
  597. package/lib/esm-es5/index-4160b620.js +5 -0
  598. package/lib/esm-es5/{language-utils-58773b88.js → language-utils-afb0d677.js} +1 -1
  599. package/lib/esm-es5/loader.js +1 -1
  600. package/lib/esm-es5/{slot-utils-b0edb3d8.js → slot-utils-fdd6c75c.js} +1 -1
  601. package/lib/esm-es5/{token-utils-3c2fb643.js → token-utils-a32eb753.js} +1 -1
  602. package/lib/esm-es5/{tokens.module-216c2ae9.js → tokens.module-a746651a.js} +1 -1
  603. package/lib/types/common-types.d.ts +1 -1
  604. package/lib/types/components/duet-button/duet-button.d.ts +6 -1
  605. package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +4 -0
  606. package/lib/types/components/duet-combobox/duet-combobox.d.ts +1 -0
  607. package/lib/types/components/duet-link/duet-link.d.ts +1 -1
  608. package/lib/types/components/duet-popup-menu/duet-popup-menu.d.ts +5 -1
  609. package/lib/types/components/duet-slideout/duet-slideout.d.ts +5 -1
  610. package/lib/types/components.d.ts +32 -0
  611. package/package.json +4 -4
  612. package/lib/duet/p-019b2e71.entry.js +0 -4
  613. package/lib/duet/p-103ca5a4.system.entry.js +0 -4
  614. package/lib/duet/p-11c247e4.system.entry.js +0 -4
  615. package/lib/duet/p-1a0f2b4f.entry.js +0 -4
  616. package/lib/duet/p-29280b69.system.js +0 -4
  617. package/lib/duet/p-3e99f641.entry.js +0 -4
  618. package/lib/duet/p-4cb1e4cb.js +0 -5
  619. package/lib/duet/p-4cd53729.entry.js +0 -4
  620. package/lib/duet/p-50b6a535.entry.js +0 -4
  621. package/lib/duet/p-54029779.js +0 -4
  622. package/lib/duet/p-5901fd99.js +0 -4
  623. package/lib/duet/p-71a4f317.js +0 -4
  624. package/lib/duet/p-71a7b2a4.system.entry.js +0 -4
  625. package/lib/duet/p-71eaba09.system.entry.js +0 -4
  626. package/lib/duet/p-7592ae1c.entry.js +0 -4
  627. package/lib/duet/p-76268cc3.entry.js +0 -4
  628. package/lib/duet/p-77103998.entry.js +0 -4
  629. package/lib/duet/p-83466781.entry.js +0 -4
  630. package/lib/duet/p-8b3b5673.js +0 -4
  631. package/lib/duet/p-9c371796.entry.js +0 -4
  632. package/lib/duet/p-ae0a58ae.entry.js +0 -4
  633. package/lib/duet/p-b4485a1c.system.js +0 -4
  634. package/lib/duet/p-c87a4d77.system.js +0 -4
  635. package/lib/duet/p-cbde8507.system.js +0 -5
  636. package/lib/duet/p-d82677e9.system.entry.js +0 -4
  637. package/lib/esm-es5/focus-utils-32a6966b.js +0 -4
  638. package/lib/esm-es5/index-fd030e61.js +0 -5
package/hydrate/index.js CHANGED
@@ -479,7 +479,7 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
479
479
  }
480
480
  };
481
481
  var parseClassListRegex = /\s/;
482
- var parseClassList = (value) => !value ? [] : value.split(parseClassListRegex);
482
+ var parseClassList=s=>("object"==typeof s&&"baseVal"in s&&(s=s.baseVal),s?s.split(parseClassListRegex):[]);
483
483
  var CAPTURE_EVENT_SUFFIX = "Capture";
484
484
  var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
485
485
 
@@ -4301,6 +4301,42 @@ class DuetButton {
4301
4301
  registerInstance(this, hostRef);
4302
4302
  this.duetFocus = createEvent$2(this, "duetFocus", 7);
4303
4303
  this.duetBlur = createEvent$2(this, "duetBlur", 7);
4304
+ this.proxyButtonSetUp = () => {
4305
+ const slottedElement = this.element.querySelector("button[slot=proxybutton]");
4306
+ const button = slottedElement || document.createElement("button");
4307
+ if (this.url) {
4308
+ if (slottedElement) {
4309
+ slottedElement.remove();
4310
+ }
4311
+ this.proxyButton = null;
4312
+ return;
4313
+ }
4314
+ button.setAttribute("slot", "proxybutton");
4315
+ button.style.display = "none";
4316
+ button.type = this.getButtonType();
4317
+ button.disabled = this.disabled;
4318
+ button.setAttribute("form", this.form);
4319
+ if (!this.form) {
4320
+ button.removeAttribute("form");
4321
+ }
4322
+ // attributes should be removed in cases where name/value is not set
4323
+ if (this.name != null) {
4324
+ button.name = this.name;
4325
+ }
4326
+ else {
4327
+ button.removeAttribute("name");
4328
+ }
4329
+ if (this.value != null) {
4330
+ button.value = this.value;
4331
+ }
4332
+ else {
4333
+ button.removeAttribute("value");
4334
+ }
4335
+ if (!slottedElement) {
4336
+ this.element.appendChild(button);
4337
+ }
4338
+ this.proxyButton = button;
4339
+ };
4304
4340
  /**
4305
4341
  * Component event handling.
4306
4342
  */
@@ -4309,7 +4345,7 @@ class DuetButton {
4309
4345
  // climb up the dom to see if we're in a <form>
4310
4346
  // and if so, then use JS to submit it.
4311
4347
  // To understand better, see: https://www.hjorthhansen.dev/shadow-dom-form-participation/
4312
- if (!this.url && this.element.closest("form")) {
4348
+ if (!this.url && (this.element.closest("form") || this.form) && ev.target === this.element) {
4313
4349
  ev.preventDefault();
4314
4350
  this.proxyButton.click();
4315
4351
  }
@@ -4336,6 +4372,7 @@ class DuetButton {
4336
4372
  this.negative = false;
4337
4373
  this.theme = "";
4338
4374
  this.margin = "auto";
4375
+ this.form = undefined;
4339
4376
  this.padding = "auto";
4340
4377
  this.centerText = false;
4341
4378
  this.wrapping = "auto";
@@ -4370,9 +4407,6 @@ class DuetButton {
4370
4407
  }
4371
4408
  }
4372
4409
  connectedCallback() {
4373
- this.proxyButton = document.createElement("button");
4374
- this.proxyButton.style.display = "none";
4375
- this.syncToProxyButton();
4376
4410
  connectLanguageChangeObserver(this, [
4377
4411
  {
4378
4412
  prop: "accessibleLabelExternal",
@@ -4383,36 +4417,18 @@ class DuetButton {
4383
4417
  defaults: "accessibleLabelLoadingDefaults",
4384
4418
  },
4385
4419
  ]);
4386
- if (!this.url && this.element.closest("form")) {
4387
- this.element.insertAdjacentElement("beforebegin", this.proxyButton);
4388
- }
4389
4420
  }
4390
4421
  disconnectedCallback() {
4391
4422
  if (this.proxyButton) {
4392
- this.proxyButton.remove();
4423
+ this.proxyButton = null;
4393
4424
  }
4394
- this.proxyButton = null;
4395
4425
  disconnectLanguageChangeObserver(this);
4396
4426
  }
4397
- syncToProxyButton() {
4427
+ componentDidRender() {
4398
4428
  if (this.disabled === false) {
4399
4429
  this.element.removeAttribute("disabled");
4400
4430
  }
4401
- this.proxyButton.type = this.getButtonType();
4402
- this.proxyButton.disabled = this.disabled;
4403
- // attributes should be removed in cases where name/value is not set
4404
- if (this.name != null) {
4405
- this.proxyButton.name = this.name;
4406
- }
4407
- else {
4408
- this.proxyButton.removeAttribute("name");
4409
- }
4410
- if (this.value != null) {
4411
- this.proxyButton.value = this.value;
4412
- }
4413
- else {
4414
- this.proxyButton.removeAttribute("value");
4415
- }
4431
+ this.proxyButtonSetUp();
4416
4432
  }
4417
4433
  getButtonType() {
4418
4434
  return this.submit ? "submit" : "button";
@@ -4450,12 +4466,12 @@ class DuetButton {
4450
4466
  // enforce consistency for external links
4451
4467
  const icon = isExternalLink ? "action-new-window" : this.icon;
4452
4468
  const iconRight = isExternalLink ? true : this.iconRight;
4453
- const commonChildren = (hAsync("span", { key: '175bb8af989887b1f3c09549b95757984fafda22', class: { "duet-button-contents": true, "icon-right": iconRight }, style: { color: getColorByName(this.color) } }, icon && (hAsync("span", { key: 'c27d4012076d19e697ca12056499d02bbaaf5667', "aria-hidden": "true", class: {
4469
+ const commonChildren = (hAsync("span", { key: '5a0c6410ac691a86fc5015ab7db83c969dc3bad1', class: { "duet-button-contents": true, "icon-right": iconRight }, style: { color: getColorByName(this.color) } }, icon && (hAsync("span", { key: 'e40d495dc3100c27f283c4e35c5e9a27c98464c2', "aria-hidden": "true", class: {
4454
4470
  "duet-button-icon": true,
4455
4471
  left: !iconRight,
4456
4472
  right: iconRight,
4457
4473
  [this.getButtonIconSize()]: true,
4458
- } }, hAsync("duet-icon", { key: '55ff5f4e621ff4396287b2478b626805f6b4cc18', size: "auto", margin: "none", name: icon, color: "currentColor" }))), hAsync("span", { key: '2686f673bf2aa13133b810e9aa8e2a2041e426b3', class: "duet-button-contents-slot" }, hAsync("slot", { key: '11a7a6dac5f579e19e7ded9914c954d0edd1e8db' }))));
4474
+ } }, hAsync("duet-icon", { key: '96a0389f3704e534f2c4da39243f6f7b87038f6f', size: "auto", margin: "none", name: icon, color: "currentColor" }))), hAsync("span", { key: 'cbc6c347c96296ed4f4afa3963a12495fea09884', class: "duet-button-contents-slot" }, hAsync("slot", { key: '894a6a4e9f03f813a7e8918abf87ef9ceabecbc3' }))));
4459
4475
  const size = this.size == "medium" || this.size == "small" || this.size == "x-small" ? this.size : "medium";
4460
4476
  const commonProps = {
4461
4477
  onFocus: this.onFocus,
@@ -4490,7 +4506,7 @@ class DuetButton {
4490
4506
  "aria-details": this.accessibleDetails,
4491
4507
  "aria-description": this.accessibleDescription,
4492
4508
  };
4493
- return (hAsync(Host, { key: '00b0b4bff689bbe5c51d3fabdfb8093c13816cd0', onClick: this.handleClick, class: {
4509
+ return (hAsync(Host, { key: '24621240c8dcf778398f04e79c780bade455090f', onClick: this.handleClick, class: {
4494
4510
  "duet-m-0": this.margin === "none",
4495
4511
  "duet-small": this.size === "small",
4496
4512
  "duet-x-small": this.size === "x-small",
@@ -4498,21 +4514,15 @@ class DuetButton {
4498
4514
  "duet-expand": this.expand,
4499
4515
  [this.variation]: true,
4500
4516
  "input-button": (_b = this.variation) === null || _b === void 0 ? void 0 : _b.startsWith("input-button"),
4501
- } }, hAsync("span", { key: '21b30db85548fad9886350e172f74455407d9f6d', class: {
4517
+ } }, hAsync("span", { key: 'ca827a33826b3c42662ccd5a079d8327b9b6175e', class: {
4502
4518
  "duet-button-container": true,
4503
4519
  "duet-button-is-loading": this.loading,
4504
4520
  "duet-theme-turva": this.theme === "turva",
4505
4521
  "duet-button-negative": this.negative || this.variation === "negative",
4506
4522
  [this.variation]: true,
4507
- } }, this.url ? (hAsync("a", Object.assign({}, commonProps, { href: this.url, target: this.external ? "_blank" : "_self", rel: this.external ? "noopener" : undefined }), commonChildren, this.external && hAsync("duet-visually-hidden", null, ", ", this.accessibleLabelExternal))) : (hAsync("button", Object.assign({}, commonProps, { type: this.getButtonType(), disabled: this.disabled, name: this.name, value: this.value, "aria-pressed": this.accessiblePressed != null ? this.accessiblePressed.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined, "aria-disabled": this.disabled }), commonChildren, this.loading && hAsync("duet-visually-hidden", null, " ", this.accessibleLabelLoading, " "))), this.loading && hAsync("duet-spinner", { key: 'dc75e3801e61c06621520d7589945b59a61664fc', color: "currentColor" }))));
4523
+ } }, this.url ? (hAsync("a", Object.assign({}, commonProps, { href: this.url, target: this.external ? "_blank" : "_self", rel: this.external ? "noopener" : undefined }), commonChildren, this.external && hAsync("duet-visually-hidden", null, ", ", this.accessibleLabelExternal))) : (hAsync("button", Object.assign({}, commonProps, { type: this.getButtonType(), disabled: this.disabled, name: this.name, value: this.value, "aria-pressed": this.accessiblePressed != null ? this.accessiblePressed.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined, "aria-disabled": this.disabled }), commonChildren, this.loading && hAsync("duet-visually-hidden", null, " ", this.accessibleLabelLoading, " "), hAsync("slot", { name: "proxybutton" }))), this.loading && hAsync("duet-spinner", { key: '7e1e99a1cc8724ea6db15316084259e62926b82b', color: "currentColor" }))));
4508
4524
  }
4509
4525
  get element() { return getElement(this); }
4510
- static get watchers() { return {
4511
- "disabled": ["syncToProxyButton"],
4512
- "submit": ["syncToProxyButton"],
4513
- "value": ["syncToProxyButton"],
4514
- "name": ["syncToProxyButton"]
4515
- }; }
4516
4526
  static get style() { return DuetButtonStyle0; }
4517
4527
  static get cmpMeta() { return {
4518
4528
  "$flags$": 9,
@@ -4534,6 +4544,7 @@ class DuetButton {
4534
4544
  "negative": [4],
4535
4545
  "theme": [1025],
4536
4546
  "margin": [1],
4547
+ "form": [1],
4537
4548
  "padding": [1],
4538
4549
  "centerText": [4, "center-text"],
4539
4550
  "wrapping": [1],
@@ -6546,7 +6557,7 @@ var tokens$1 = /*#__PURE__*/Object.freeze({
6546
6557
  'default': tokens
6547
6558
  });
6548
6559
 
6549
- const duetCollapsibleCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}::slotted([slot=after-heading]){display:inline-block}: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:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:rgb(8, 42, 77)}: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(23, 28, 58)}:host(.duet-m-0){margin:0 !important}.duet-collapsible-content{display:none;padding-left:18px;margin-top:8px;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;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;color:rgb(8, 42, 77)}@media (max-width: 35.9375em){.duet-collapsible-content{font-size:0.875rem}}.duet-collapsible-content.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(23, 28, 58)}:host([open])>.duet-collapsible-content{display:block}.duet-collapsible-heading{-webkit-user-select:none;user-select:none;display:flex;align-items:center;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:rgb(8, 42, 77);text-align:left;cursor:pointer;border-radius:4px}.duet-collapsible-heading.full-width{width:100%}.duet-collapsible-heading.duet-collapsible-heading-centered{margin:auto}.duet-collapsible-heading.duet-collapsible-normal-weight{font-weight:400}.duet-collapsible-heading.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(23, 28, 58)}.duet-collapsible-heading .duet-collapsible-heading-content{min-width:0}.duet-collapsible-heading.has-after-heading .duet-collapsible-heading-content+div{margin-left:16px}.duet-collapsible-heading.has-after-heading .duet-collapsible-heading-content+div.float-right{margin-left:auto}.duet-collapsible-heading:focus{outline:0}:host(.user-is-tabbing) .duet-collapsible-heading:focus{border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-collapsible-heading.duet-theme-turva:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-collapsible-heading-icon{margin-right:8px !important;display:flex;align-items:center;justify-content:center;color:rgb(8, 42, 77);transition:transform 300ms ease}.duet-collapsible-heading-icon:last-child,.duet-collapsible-heading-icon:last-of-type{margin-right:0 !important}[aria-expanded=true] .duet-collapsible-heading-icon{transform:rotate(180deg)}";
6560
+ const duetCollapsibleCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}::slotted([slot=after-heading]){display:inline-block}: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:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:rgb(8, 42, 77)}: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(23, 28, 58)}:host(.duet-m-0){margin:0 !important}.duet-collapsible-content{display:none;padding-left:18px;margin-top:8px;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;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;color:rgb(8, 42, 77)}@media (max-width: 35.9375em){.duet-collapsible-content{font-size:0.875rem}}.duet-collapsible-content.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(23, 28, 58)}:host([open])>.duet-collapsible-content{display:block}.duet-collapsible-heading{-webkit-user-select:none;user-select:none;display:flex;align-items:center;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:rgb(8, 42, 77);text-align:left;cursor:pointer;border-radius:4px}.duet-collapsible-heading.full-width{width:100%}.duet-collapsible-heading.duet-collapsible-heading-centered{margin:auto}.duet-collapsible-heading.duet-collapsible-normal-weight{font-weight:400}.duet-collapsible-heading.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(23, 28, 58)}.duet-collapsible-heading .duet-collapsible-heading-content{min-width:0}.duet-collapsible-heading.has-after-heading .duet-collapsible-heading-content+div{margin-left:16px}.duet-collapsible-heading.has-after-heading .duet-collapsible-heading-content+div.float-right{margin-left:auto}.duet-collapsible-heading:focus{outline:0}:host(.user-is-tabbing) .duet-collapsible-heading:focus{border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-collapsible-heading.duet-theme-turva:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-collapsible-heading-icon{margin-right:8px !important;display:flex;align-items:center;justify-content:center;color:rgb(8, 42, 77);transition:transform 300ms ease}.duet-collapsible-heading-icon:last-child,.duet-collapsible-heading-icon:last-of-type{margin-right:0 !important}[aria-expanded=true] .duet-collapsible-heading-icon{transform:rotate(180deg)}:host(.negative) .duet-collapsible-heading,:host(.negative) .duet-collapsible-content,:host(.negative) .duet-collapsible-heading-icon{color:rgb(255, 255, 255)}";
6550
6561
  var DuetCollapsibleStyle0 = duetCollapsibleCss;
6551
6562
 
6552
6563
  /**
@@ -6607,6 +6618,7 @@ class DuetCollapsible {
6607
6618
  });
6608
6619
  };
6609
6620
  this.theme = "";
6621
+ this.negative = false;
6610
6622
  this.accessibleLabel = undefined;
6611
6623
  this.heading = "";
6612
6624
  this.headingFullWidth = false;
@@ -6646,14 +6658,14 @@ class DuetCollapsible {
6646
6658
  */
6647
6659
  render() {
6648
6660
  const HeadingTagName = this.headingLevel ? sanitizeString$1(this.headingLevel) : "div";
6649
- return (hAsync(Host, { key: 'aafe219a93ff8b806e05ecf9c0203f7afd6929e1', class: { "duet-m-0": this.margin === "none" } }, hAsync(HeadingTagName, { key: 'c6f7409213132914e3ec49ba138a10aee197fb03' }, hAsync("button", { key: '988a8b779e70e27852ac15b271ee8ad6eeb53f52', class: {
6661
+ return (hAsync(Host, { key: 'aff15bb7d7a183ad8717bd077ed5e692549479e2', class: { "duet-m-0": this.margin === "none", negative: this.negative } }, hAsync(HeadingTagName, { key: '8c8b350ac427399cf5e694ae5045b5d757b17324' }, hAsync("button", { key: '16304aab427f0c1493c1d464a5959d0c063433f8', class: {
6650
6662
  "duet-collapsible-heading": true,
6651
6663
  "duet-collapsible-heading-centered": this.centerHeading,
6652
6664
  "duet-theme-turva": this.theme === "turva",
6653
6665
  "duet-collapsible-normal-weight": this.headingWeight === "normal",
6654
6666
  "has-after-heading": this.hasAfterHeading,
6655
6667
  "full-width": this.headingFullWidth,
6656
- }, style: { "font-size": this.getFontSizeFromTokens() }, role: "button", ref: button => (this.nativeButton = button), "aria-label": this.accessibleLabel, "aria-expanded": this.open ? "true" : "false", "aria-controls": this.id, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, hAsync("div", { key: '7ad9554421eb7d8777b207721224268ba575b832', class: "duet-collapsible-heading-icon" }, hAsync("duet-icon", { key: '057dd8ded09e313bc868f3f349d80b37d565f1da', margin: "none", color: this.theme === "turva" ? "secondary-turva" : "secondary", size: this.getEquivalentIconSize(), icon: actionArrowDownSmall.svg })), hAsync("div", { key: '4a929efd3b1cd2b1725e1d2dc3a68b3656ad32f3', class: "duet-collapsible-heading-content", part: "duet-collapsible-heading-content" }, this.heading), this.hasAfterHeading && (hAsync("div", { key: 'a8a3051f9f9fa0e01619a2c8cf82dde1e117aa3e', part: "duet-collapsible-after-heading" }, hAsync("slot", { key: '5eb5fbcdacf0edcb52f3fcc4c196dc308a1c5ac2', name: "after-heading" }))))), hAsync("div", { key: '1cae60d79f74a0961eb0a280b3f31b457ba82c86', id: this.id, class: { "duet-collapsible-content": true, "duet-theme-turva": this.theme === "turva" }, part: "duet-collapsible-content" }, hAsync("slot", { key: '1c8fb0d10608e14f55023891f331b4a7a538f527' }))));
6668
+ }, style: { "font-size": this.getFontSizeFromTokens() }, role: "button", ref: button => (this.nativeButton = button), "aria-label": this.accessibleLabel, "aria-expanded": this.open ? "true" : "false", "aria-controls": this.id, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, hAsync("div", { key: 'e2943d02487fd97319e47030dba988b6e90ab8e8', class: "duet-collapsible-heading-icon" }, hAsync("duet-icon", { key: '2e80461c2e5eb1d3cae6552ebdae873e6430a433', margin: "none", size: this.getEquivalentIconSize(), icon: actionArrowDownSmall.svg })), hAsync("div", { key: 'fdaecea0fa4dbb325e7bc460d5ca016ccf083111', class: "duet-collapsible-heading-content", part: "duet-collapsible-heading-content" }, this.heading), this.hasAfterHeading && (hAsync("div", { key: '3b1a1f5cd79b5cd31b1204ae9dd3db28601f8fa9', part: "duet-collapsible-after-heading" }, hAsync("slot", { key: '2c8a5041e7264addf9840a3cecf6c7ebbddeb871', name: "after-heading" }))))), hAsync("div", { key: '151b1f002a2745bf31ff97496f53b4a81c77b524', id: this.id, class: { "duet-collapsible-content": true, "duet-theme-turva": this.theme === "turva" }, part: "duet-collapsible-content" }, hAsync("slot", { key: '6b729485bb03d25d5529b23b4a2ce502d5a58a32' }))));
6657
6669
  }
6658
6670
  get element() { return getElement(this); }
6659
6671
  static get style() { return DuetCollapsibleStyle0; }
@@ -6662,6 +6674,7 @@ class DuetCollapsible {
6662
6674
  "$tagName$": "duet-collapsible",
6663
6675
  "$members$": {
6664
6676
  "theme": [1025],
6677
+ "negative": [4],
6665
6678
  "accessibleLabel": [1, "accessible-label"],
6666
6679
  "heading": [1],
6667
6680
  "headingFullWidth": [4, "heading-full-width"],
@@ -6728,6 +6741,7 @@ class DuetCombobox {
6728
6741
  this.listOpen = String(newValue).length >= this.minCharacters && ((_a = this.getFilteredItems()) === null || _a === void 0 ? void 0 : _a.length) > 0;
6729
6742
  };
6730
6743
  this.onKeyDown = (e) => {
6744
+ var _a, _b, _c;
6731
6745
  //if selection is made, close the list and update internal and external values
6732
6746
  const listItems = this.returnFilteredOrNonFiltered();
6733
6747
  const listItemsSuggestions = listItems.filter(i => !this.selectedItems.has(i.id));
@@ -6736,7 +6750,10 @@ class DuetCombobox {
6736
6750
  this.input.accessibleActiveDescendant = undefined;
6737
6751
  if (isEnterKey(e)) {
6738
6752
  e.preventDefault();
6739
- if (this.listOpen && this.activeItem !== undefined && listItems[this.activeItem]) {
6753
+ if (this.listOpen &&
6754
+ this.activeItem !== undefined &&
6755
+ listItems[this.activeItem] &&
6756
+ !this.selectedItems.has(listItems[this.activeItem].id)) {
6740
6757
  if (this.multiple) {
6741
6758
  this.addSelectedItem(listItems[this.activeItem].id, true);
6742
6759
  }
@@ -6770,6 +6787,9 @@ class DuetCombobox {
6770
6787
  nextActiveItem = this.activeItem - 1;
6771
6788
  }
6772
6789
  else if (isArrowDownKey(e)) {
6790
+ if (((_c = (_b = (_a = this.input) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) < this.minCharacters) {
6791
+ return;
6792
+ }
6773
6793
  e.preventDefault();
6774
6794
  nextActiveItem = this.listOpen ? this.activeItem + 1 : this.activeItem;
6775
6795
  this.listOpen = true;
@@ -6820,7 +6840,7 @@ class DuetCombobox {
6820
6840
  this.items = undefined;
6821
6841
  this.formatter = (item) => item && item.name ? item.name : "";
6822
6842
  this.value = undefined;
6823
- this.minCharacters = 1;
6843
+ this.minCharacters = 0;
6824
6844
  this.openListOnClick = false;
6825
6845
  this.filterType = "startsWith";
6826
6846
  }
@@ -6835,6 +6855,15 @@ class DuetCombobox {
6835
6855
  activeItemHandler(state) {
6836
6856
  this.input.accessibleActiveDescendant = this.listOpen && (state || state === 0) ? this.activeDescendantId : "";
6837
6857
  }
6858
+ inputValueHandler() {
6859
+ setTimeout(async () => {
6860
+ const label = await this.getSelectedItemLabel();
6861
+ if (this.input.value == "" && label) {
6862
+ this.input.value = "";
6863
+ this.value = undefined;
6864
+ }
6865
+ }, 200);
6866
+ }
6838
6867
  handleDocumentClick(e) {
6839
6868
  //we want to remove all user text if they have NOT selected from the dropdown
6840
6869
  const path = e.composedPath();
@@ -6942,7 +6971,11 @@ class DuetCombobox {
6942
6971
  * Helper function that checks inputs in the field, compares it with the item list and returns true when inputvalue matches selectedItem id
6943
6972
  */
6944
6973
  shouldListBeFiltered() {
6945
- if (!this.multiple && this.selectedItems.size && this.input.value === this.inputValue) {
6974
+ var _a;
6975
+ if (!this.multiple &&
6976
+ this.selectedItems.size &&
6977
+ this.input.value === this.inputValue &&
6978
+ ((_a = this.inputValue) === null || _a === void 0 ? void 0 : _a.length) < this.minCharacters) {
6946
6979
  const item = this.processedItems.find(item => this.selectedItems.has(item.id));
6947
6980
  return !(this.formatter(item).toLowerCase() === this.input.value.toLowerCase());
6948
6981
  }
@@ -7005,17 +7038,9 @@ class DuetCombobox {
7005
7038
  * Updates the selected item based on the item id. Used only when multiple is false.
7006
7039
  */
7007
7040
  async updateSelectedItem(id, emitEvent) {
7008
- if (this.selectedItems.has(id)) {
7009
- this.selectedItems.delete(id);
7010
- this.value = undefined;
7011
- this.input.value = "";
7012
- await this.input.setFocus();
7013
- }
7014
- else {
7015
- this.selectedItems.clear();
7016
- this.selectedItems.add(id);
7017
- this.value = this.processedItems.find(item => item.id === id).value;
7018
- }
7041
+ this.selectedItems.clear();
7042
+ this.selectedItems.add(id);
7043
+ this.value = this.processedItems.find(item => item.id === id).value;
7019
7044
  if (emitEvent) {
7020
7045
  this.emitChangeEvent(this.value && id);
7021
7046
  }
@@ -7102,7 +7127,7 @@ class DuetCombobox {
7102
7127
  }
7103
7128
  //function that scrolls to the li element with the class "active"
7104
7129
  scrollToActive() {
7105
- const activeElement = document.getElementById(`${this.activeDescendantId}`); // this is undefined on 1st keydown, make it be valid to fix the issue
7130
+ const activeElement = document.getElementById(`${this.activeDescendantId}`);
7106
7131
  if (activeElement) {
7107
7132
  activeElement.scrollIntoView({
7108
7133
  behavior: "smooth",
@@ -7178,6 +7203,7 @@ class DuetCombobox {
7178
7203
  static get watchers() { return {
7179
7204
  "listOpen": ["popupMenuOpenHandler", "processListOpenChange"],
7180
7205
  "activeItem": ["activeItemHandler"],
7206
+ "inputValue": ["inputValueHandler"],
7181
7207
  "items": ["processItems"],
7182
7208
  "value": ["processValue"]
7183
7209
  }; }
@@ -7539,7 +7565,7 @@ function createShortcuts(shortcuts) {
7539
7565
  };
7540
7566
  }
7541
7567
 
7542
- const duetDatePickerCss = "*.sc-duet-date-picker,*.sc-duet-date-picker::after,*.sc-duet-date-picker::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-date-picker-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;position:relative;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:top}.sc-duet-date-picker-h:last-child,.sc-duet-date-picker-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-date-picker-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-date-picker-h{width:100% !important}.duet-m-0.sc-duet-date-picker-h{margin:0 !important}.duet-date.sc-duet-date-picker{position:relative;width:100%}.duet-date.sc-duet-date-picker button.sc-duet-date-picker,.duet-date-dialog.sc-duet-date-picker button.sc-duet-date-picker{max-width:initial !important;min-height:initial !important;padding:0 !important;margin:0 !important;transition:initial}.duet-date-button.sc-duet-date-picker{-webkit-user-select:none;user-select:none;position:relative;z-index:200;box-sizing:content-box;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:47px;height:48px;color:rgb(8, 42, 77);cursor:pointer;background:rgb(255, 255, 255);border:1px solid rgb(127, 150, 165);border-left-color:rgb(181, 198, 208);border-radius:0 4px 4px 0;transition:box-shadow 150ms ease, border 150ms ease !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker{color:rgb(23, 28, 58);border-color:rgb(199, 202, 207)}.duet-date-button.sc-duet-date-picker::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:\"\";background:linear-gradient(to left, rgba(181, 198, 208, 0.2) 0%, rgba(181, 198, 208, 0.2) 1px, rgba(181, 198, 208, 0.1) 1px, rgba(181, 198, 208, 0) 100%)}.duet-date-button.sc-duet-date-picker:hover:not(:disabled){box-shadow:0 0 0 1px #909599 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:hover:not(:disabled){box-shadow:0 0 0 1px #747475 !important}.duet-date-button.sc-duet-date-picker:disabled{pointer-events:none;cursor:not-allowed;background:rgb(245, 248, 250) !important;border:0 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:disabled{background:rgb(245, 247, 250) !important}.duet-date-button.sc-duet-date-picker:disabled::before{display:none}.duet-date-button.sc-duet-date-picker:disabled duet-icon.sc-duet-date-picker{opacity:0.4}.duet-date-button.sc-duet-date-picker duet-icon.sc-duet-date-picker{transform:translateY(-1px)}.duet-date-button.sc-duet-date-picker:active duet-icon.sc-duet-date-picker{transform:translateY(0)}.duet-date-input-has-focus.sc-duet-date-picker .duet-date-button.sc-duet-date-picker,.duet-date-button.sc-duet-date-picker:focus{height:46px;color:rgb(0, 119, 179);border-color:transparent;outline:0;box-shadow:0 0 0 2px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-input-has-focus.sc-duet-date-picker .duet-date-button.sc-duet-date-picker,.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:focus{color:rgb(23, 28, 58);box-shadow:0 0 0 2px #171c3a !important}.duet-date-dialog.sc-duet-date-picker{position:absolute;top:100%;left:0;z-index:900;display:flex;width:100%;visibility:hidden;opacity:0;transition:transform 300ms ease, opacity 300ms ease, visibility 300ms ease;transform:scale(0.96) translateZ(0) translateY(-20px);transform-origin:top right}@media (min-width: 36em){.duet-date-dialog.left.sc-duet-date-picker{right:0;left:auto;width:auto}}@media (max-width: 35.9375em){.duet-date-dialog.sc-duet-date-picker{position:fixed;top:0;right:0;bottom:0;transition:opacity 400ms ease, visibility 400ms ease;transform:translateZ(0);transform-origin:bottom center}}.duet-date-dialog.active.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:scale(1.0001) translateZ(0) translateY(0)}@media (min-width: 36em){.duet-date-dialog.error.sc-duet-date-picker{top:calc(100% - 28px);margin-top:4px}}.duet-date-dialog-wrapper.sc-duet-date-picker{position:relative;z-index:600;width:100%;min-width:290px;max-width:310px;padding:16px 16px 20px;margin-top:8px;margin-left:auto;background:rgb(255, 255, 255);border:1px solid rgb(212, 223, 229);border-radius:4px;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);transform:none}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{border-color:rgb(222, 224, 228)}@media (max-width: 35.9375em){.duet-date-dialog-wrapper.sc-duet-date-picker{position:absolute;bottom:0;left:0;z-index:900;max-width:none;min-height:25em;padding:0 8% 20px;margin:0;visibility:hidden;border:0;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;opacity:0;transition:transform 400ms ease, opacity 400ms ease, visibility 400ms ease;transform:translateZ(0) translateY(100%)}.active.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:translateZ(0) translateY(0)}}.duet-date-table.sc-duet-date-picker{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.25;color:rgb(8, 42, 77);text-align:center;border-spacing:0;border-collapse:collapse}.duet-date-table.duet-theme-turva.sc-duet-date-picker{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(23, 28, 58)}.duet-date-table.sc-duet-date-picker th.sc-duet-date-picker{padding-bottom:8px;font-size:0.75rem;font-weight:600;line-height:1.25;text-decoration:none;text-transform:uppercase;letter-spacing:1px}.duet-date-table.sc-duet-date-picker .duet-date-table-cell.sc-duet-date-picker{text-align:center}.duet-date-table.sc-duet-date-picker .duet-date-table-cell.sc-duet-date-picker:focus{outline:none}.duet-date-table-button.sc-duet-date-picker{position:relative;z-index:100;display:inline-block !important;width:36.9230769231px !important;height:36.9230769231px !important;min-height:initial !important;padding:0 !important;margin:0 !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:2.6 !important;color:rgb(8, 42, 77) !important;text-align:center;vertical-align:initial !important;cursor:pointer;background:transparent !important;border-radius:50% !important;transition:initial !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !important;color:rgb(23, 28, 58) !important}.duet-date-table-button.sc-duet-date-picker:hover{background:rgb(228, 241, 247) !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:hover{background:rgb(255, 227, 228) !important}.duet-date-table-button.today.sc-duet-date-picker{z-index:200;color:rgb(0, 75, 129) !important;background:rgb(240, 247, 250) !important;box-shadow:0 0 0 1px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.today.sc-duet-date-picker{color:rgb(126, 2, 35) !important;background:rgb(255, 241, 241) !important;box-shadow:0 0 0 1px #171c3a !important}[aria-pressed=true].sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker,.sc-duet-date-picker:focus .duet-date-table-button.sc-duet-date-picker{color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179) !important;outline:0}.duet-theme-turva.sc-duet-date-picker [aria-pressed=true].sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker,.duet-theme-turva.sc-duet-date-picker .sc-duet-date-picker:focus .duet-date-table-button.sc-duet-date-picker{color:rgb(255, 255, 255) !important;background:rgb(198, 12, 48) !important}.duet-date-table-button.sc-duet-date-picker:active{z-index:200;color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179) !important;box-shadow:0 0 5px 0 #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:active{color:rgb(255, 255, 255) !important;background:rgb(198, 12, 48) !important;box-shadow:0 0 5px 0 #171c3a !important}.sc-duet-date-picker:focus .duet-date-table-button.sc-duet-date-picker{z-index:200;box-shadow:0 0 5px 0 #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .sc-duet-date-picker:focus .duet-date-table-button.sc-duet-date-picker{box-shadow:0 0 5px 0 #171c3a !important}.duet-date-table-button.disabled.sc-duet-date-picker{color:rgb(127, 150, 165) !important;cursor:default;background:transparent !important;box-shadow:none !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.disabled.sc-duet-date-picker{color:rgb(143, 147, 158) !important;background:transparent !important;box-shadow:none !important}.duet-date-table-button.outside.sc-duet-date-picker{color:rgb(127, 150, 165) !important;pointer-events:none;cursor:default;background:rgb(245, 248, 250) !important;box-shadow:none;opacity:0.75}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.outside.sc-duet-date-picker{color:rgb(143, 147, 158);background:rgb(245, 247, 250);box-shadow:none}.duet-date-dialog-header.sc-duet-date-picker{margin-bottom:16px !important;display:flex;align-items:center;justify-content:space-between;width:100%}.duet-date-dialog-buttons.sc-duet-date-picker{white-space:nowrap}.duet-date-dialog-buttons.sc-duet-date-picker .sc-duet-date-picker::part(button){border:0}.duet-date-dialog-select.sc-duet-date-picker{position:relative;display:inline-flex;margin-top:4px}.duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{position:relative;z-index:1;display:flex;align-items:center;width:100%;padding:0 8px;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:1.25rem;font-weight:600;line-height:1.25;color:rgb(8, 42, 77);pointer-events:none;border-radius:4px}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{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(23, 28, 58)}.duet-date-dialog-select.sc-duet-date-picker span.sc-duet-date-picker{margin-right:4px}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;font-size:1rem;cursor:pointer;opacity:0}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #171c3a !important}.duet-date-dialog-mobile-header.sc-duet-date-picker{position:relative;display:flex;align-items:center;justify-content:space-between;width:120%;padding:12px 20px;margin-bottom:20px;margin-left:-10%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid rgb(181, 198, 208)}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker{position:absolute;top:-8px;right:-8px;width:auto;padding:0;margin:0;overflow:visible;border:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-mobile-header.sc-duet-date-picker{border-color:rgb(199, 202, 207)}.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:inline-block;max-width:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:none}}.duet-date-picker-close.sc-duet-date-picker{display:flex;align-items:center;justify-content:center;width:24px;height:24px !important;padding:0 !important;color:rgb(8, 42, 77) !important;cursor:pointer;background:rgb(245, 248, 250) !important;border-radius:50%;-webkit-appearance:none;appearance:none}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker{opacity:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker{background:rgb(245, 247, 250) !important}.duet-date-picker-close.sc-duet-date-picker:hover{background:rgb(245, 248, 250) !important}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:hover{background:rgb(245, 247, 250) !important}.duet-date-picker-close.sc-duet-date-picker:focus{outline:none;box-shadow:0 0 0 2px #0077b3 !important}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker:focus{opacity:1}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:focus{box-shadow:0 0 0 2px #171c3a !important}";
7568
+ const duetDatePickerCss = "*.sc-duet-date-picker,*.sc-duet-date-picker::after,*.sc-duet-date-picker::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-date-picker-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;position:relative;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:top}.sc-duet-date-picker-h:last-child,.sc-duet-date-picker-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-date-picker-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-date-picker-h{width:100% !important}.duet-m-0.sc-duet-date-picker-h{margin:0 !important}.duet-date.sc-duet-date-picker{position:relative;width:100%}.duet-date.sc-duet-date-picker button.sc-duet-date-picker,.duet-date-dialog.sc-duet-date-picker button.sc-duet-date-picker{max-width:initial !important;min-height:initial !important;padding:0 !important;margin:0 !important;transition:initial}.duet-date-button.sc-duet-date-picker{-webkit-user-select:none;user-select:none;position:relative;z-index:200;box-sizing:content-box;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:47px;height:48px;color:rgb(8, 42, 77);cursor:pointer;background:rgb(255, 255, 255);border:1px solid rgb(127, 150, 165);border-left-color:rgb(181, 198, 208);border-radius:0 4px 4px 0;transition:box-shadow 150ms ease, border 150ms ease !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker{color:rgb(23, 28, 58);border-color:rgb(199, 202, 207)}.duet-date-button.sc-duet-date-picker::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:\"\";background:linear-gradient(to left, rgba(181, 198, 208, 0.2) 0%, rgba(181, 198, 208, 0.2) 1px, rgba(181, 198, 208, 0.1) 1px, rgba(181, 198, 208, 0) 100%)}.duet-date-button.sc-duet-date-picker:hover:not(:disabled){box-shadow:0 0 0 1px #909599 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:hover:not(:disabled){box-shadow:0 0 0 1px #747475 !important}.duet-date-button.sc-duet-date-picker:disabled{pointer-events:none;cursor:not-allowed;background:rgb(245, 248, 250) !important;border:0 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:disabled{background:rgb(245, 247, 250) !important}.duet-date-button.sc-duet-date-picker:disabled::before{display:none}.duet-date-button.sc-duet-date-picker:disabled duet-icon.sc-duet-date-picker{opacity:0.4}.duet-date-button.sc-duet-date-picker duet-icon.sc-duet-date-picker{transform:translateY(-1px)}.duet-date-button.sc-duet-date-picker:active duet-icon.sc-duet-date-picker{transform:translateY(0)}.duet-date-input-has-focus.sc-duet-date-picker .duet-date-button.sc-duet-date-picker,.duet-date-button.sc-duet-date-picker:focus{height:46px;color:rgb(0, 119, 179);border-color:transparent;outline:0;box-shadow:0 0 0 2px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-input-has-focus.sc-duet-date-picker .duet-date-button.sc-duet-date-picker,.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:focus{color:rgb(23, 28, 58);box-shadow:0 0 0 2px #171c3a !important}.input-error.sc-duet-date-picker{border-top-color:rgb(214, 28, 82);border-right-color:rgb(214, 28, 82);border-bottom-color:rgb(214, 28, 82)}.duet-date-dialog.sc-duet-date-picker{position:absolute;top:100%;left:0;z-index:900;display:flex;width:100%;visibility:hidden;opacity:0;transition:transform 300ms ease, opacity 300ms ease, visibility 300ms ease;transform:scale(0.96) translateZ(0) translateY(-20px);transform-origin:top right}@media (min-width: 36em){.duet-date-dialog.left.sc-duet-date-picker{right:0;left:auto;width:auto}}@media (max-width: 35.9375em){.duet-date-dialog.sc-duet-date-picker{position:fixed;top:0;right:0;bottom:0;transition:opacity 400ms ease, visibility 400ms ease;transform:translateZ(0);transform-origin:bottom center}}.duet-date-dialog.active.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:scale(1.0001) translateZ(0) translateY(0)}@media (min-width: 36em){.duet-date-dialog.error.sc-duet-date-picker{top:calc(100% - 28px);margin-top:4px}}.duet-date-dialog-wrapper.sc-duet-date-picker{position:relative;z-index:600;width:100%;min-width:290px;max-width:310px;padding:16px 16px 20px;margin-top:8px;margin-left:auto;background:rgb(255, 255, 255);border:1px solid rgb(212, 223, 229);border-radius:4px;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);transform:none}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{border-color:rgb(222, 224, 228)}@media (max-width: 35.9375em){.duet-date-dialog-wrapper.sc-duet-date-picker{position:absolute;bottom:0;left:0;z-index:900;max-width:none;min-height:25em;padding:0 8% 20px;margin:0;visibility:hidden;border:0;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;opacity:0;transition:transform 400ms ease, opacity 400ms ease, visibility 400ms ease;transform:translateZ(0) translateY(100%)}.active.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:translateZ(0) translateY(0)}}.duet-date-table.sc-duet-date-picker{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.25;color:rgb(8, 42, 77);text-align:center;border-spacing:0;border-collapse:collapse}.duet-date-table.duet-theme-turva.sc-duet-date-picker{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(23, 28, 58)}.duet-date-table.sc-duet-date-picker th.sc-duet-date-picker{padding-bottom:8px;font-size:0.75rem;font-weight:600;line-height:1.25;text-decoration:none;text-transform:uppercase;letter-spacing:1px}.duet-date-table.sc-duet-date-picker .duet-date-table-cell.sc-duet-date-picker{text-align:center}.duet-date-table.sc-duet-date-picker .duet-date-table-cell.sc-duet-date-picker:focus{outline:none}.duet-date-table-button.sc-duet-date-picker{position:relative;z-index:100;display:inline-block !important;width:36.9230769231px !important;height:36.9230769231px !important;min-height:initial !important;padding:0 !important;margin:0 !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:2.6 !important;color:rgb(8, 42, 77) !important;text-align:center;vertical-align:initial !important;cursor:pointer;background:transparent !important;border-radius:50% !important;transition:initial !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !important;color:rgb(23, 28, 58) !important}.duet-date-table-button.sc-duet-date-picker:hover{background:rgb(228, 241, 247) !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:hover{background:rgb(255, 227, 228) !important}.duet-date-table-button.today.sc-duet-date-picker{z-index:200;color:rgb(0, 75, 129) !important;background:rgb(240, 247, 250) !important;box-shadow:0 0 0 1px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.today.sc-duet-date-picker{color:rgb(126, 2, 35) !important;background:rgb(255, 241, 241) !important;box-shadow:0 0 0 1px #171c3a !important}[aria-pressed=true].sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker,.sc-duet-date-picker:focus .duet-date-table-button.sc-duet-date-picker{color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179) !important;outline:0}.duet-theme-turva.sc-duet-date-picker [aria-pressed=true].sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker,.duet-theme-turva.sc-duet-date-picker .sc-duet-date-picker:focus .duet-date-table-button.sc-duet-date-picker{color:rgb(255, 255, 255) !important;background:rgb(198, 12, 48) !important}.duet-date-table-button.sc-duet-date-picker:active{z-index:200;color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179) !important;box-shadow:0 0 5px 0 #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:active{color:rgb(255, 255, 255) !important;background:rgb(198, 12, 48) !important;box-shadow:0 0 5px 0 #171c3a !important}.sc-duet-date-picker:focus .duet-date-table-button.sc-duet-date-picker{z-index:200;box-shadow:0 0 5px 0 #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .sc-duet-date-picker:focus .duet-date-table-button.sc-duet-date-picker{box-shadow:0 0 5px 0 #171c3a !important}.duet-date-table-button.disabled.sc-duet-date-picker{color:rgb(127, 150, 165) !important;cursor:default;background:transparent !important;box-shadow:none !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.disabled.sc-duet-date-picker{color:rgb(143, 147, 158) !important;background:transparent !important;box-shadow:none !important}.duet-date-table-button.outside.sc-duet-date-picker{color:rgb(127, 150, 165) !important;pointer-events:none;cursor:default;background:rgb(245, 248, 250) !important;box-shadow:none;opacity:0.75}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.outside.sc-duet-date-picker{color:rgb(143, 147, 158);background:rgb(245, 247, 250);box-shadow:none}.duet-date-dialog-header.sc-duet-date-picker{margin-bottom:16px !important;display:flex;align-items:center;justify-content:space-between;width:100%}.duet-date-dialog-buttons.sc-duet-date-picker{white-space:nowrap}.duet-date-dialog-buttons.sc-duet-date-picker .sc-duet-date-picker::part(button){border:0}.duet-date-dialog-select.sc-duet-date-picker{position:relative;display:inline-flex;margin-top:4px}.duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{position:relative;z-index:1;display:flex;align-items:center;width:100%;padding:0 8px;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:1.25rem;font-weight:600;line-height:1.25;color:rgb(8, 42, 77);pointer-events:none;border-radius:4px}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{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(23, 28, 58)}.duet-date-dialog-select.sc-duet-date-picker span.sc-duet-date-picker{margin-right:4px}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;font-size:1rem;cursor:pointer;opacity:0}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #171c3a !important}.duet-date-dialog-mobile-header.sc-duet-date-picker{position:relative;display:flex;align-items:center;justify-content:space-between;width:120%;padding:12px 20px;margin-bottom:20px;margin-left:-10%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid rgb(181, 198, 208)}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker{position:absolute;top:-8px;right:-8px;width:auto;padding:0;margin:0;overflow:visible;border:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-mobile-header.sc-duet-date-picker{border-color:rgb(199, 202, 207)}.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:inline-block;max-width:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:none}}.duet-date-picker-close.sc-duet-date-picker{display:flex;align-items:center;justify-content:center;width:24px;height:24px !important;padding:0 !important;color:rgb(8, 42, 77) !important;cursor:pointer;background:rgb(245, 248, 250) !important;border-radius:50%;-webkit-appearance:none;appearance:none}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker{opacity:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker{background:rgb(245, 247, 250) !important}.duet-date-picker-close.sc-duet-date-picker:hover{background:rgb(245, 248, 250) !important}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:hover{background:rgb(245, 247, 250) !important}.duet-date-picker-close.sc-duet-date-picker:focus{outline:none;box-shadow:0 0 0 2px #0077b3 !important}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker:focus{opacity:1}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:focus{box-shadow:0 0 0 2px #171c3a !important}";
7543
7569
  var DuetDatePickerStyle0 = duetDatePickerCss;
7544
7570
 
7545
7571
  /**
@@ -7565,12 +7591,12 @@ class DuetDatePicker {
7565
7591
  },
7566
7592
  rangeUnderflow: {
7567
7593
  en: "Date too early",
7568
- fi: "Päivämäärä liian aikainen",
7594
+ fi: "Liian aikainen päivämäärä",
7569
7595
  sv: "Datum för tidigt",
7570
7596
  },
7571
7597
  rangeOverflow: {
7572
7598
  en: "Date too late",
7573
- fi: "Päivämäärä liian aikainen",
7599
+ fi: "Liian myöhäinen päivämäärä",
7574
7600
  sv: "Datum för sent",
7575
7601
  },
7576
7602
  };
@@ -10643,7 +10669,7 @@ function getAccessibleLinkLabel(component) {
10643
10669
  return null;
10644
10670
  }
10645
10671
 
10646
- 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}:host(.duet-m-0){margin: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, 97, 155);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(164, 4, 40)}.duet-link:hover{color:rgb(0, 75, 129);text-decoration:none}.duet-link:hover.duet-theme-turva{color:rgb(126, 2, 35)}.duet-link:active{opacity:0.75;transition:none}button{font-size:inherit;cursor:pointer}.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(8, 42, 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__icon{display:flex}.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:14px 16px;line-height:1.25;text-decoration:none;background-color:rgb(255, 255, 255);border:solid 1px rgb(181, 198, 208);border-radius:12px;outline:0 solid rgb(181, 198, 208);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(8, 42, 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;padding:12px;padding-right:20px;line-height:1.5}.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{min-height:50px}.duet-link.button.duet-link-has-icon-background{gap:16px;min-height:72px;border-radius:16px}.duet-link.button.duet-link-has-icon-background .icon-wrap{width:48px;height:48px;border-radius:12px}.duet-link.button.duet-link-has-icon-background .duet-link-content{font-size:1.1rem}}.duet-link.button.duet-theme-turva{border-color:rgb(199, 202, 207)}.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 .block__chevron-icon{transition:300ms ease}.duet-link.button:not(.duet-link-is-external):hover .block__chevron-icon{transform:translateX(4px)}";
10672
+ 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}:host(.duet-m-0){margin: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, 97, 155);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(164, 4, 40)}.duet-link:hover{color:rgb(0, 75, 129);text-decoration:none}.duet-link:hover.duet-theme-turva{color:rgb(126, 2, 35)}.duet-link:active{opacity:0.75;transition:none}button{font-size:inherit;cursor:pointer}.duet-link-is-external.duet-link:not(.block,.button,.card),.duet-link-is-download.duet-link:not(.block,.button,.card){text-decoration:none}.duet-link-is-external.duet-link:not(.block,.button,.card) .duet-link-content,.duet-link-is-download.duet-link:not(.block,.button,.card) .duet-link-content{text-decoration:underline}.duet-link-is-external.duet-link:not(.block,.button,.card):hover>.duet-link-content,.duet-link-is-download.duet-link:not(.block,.button,.card):hover>.duet-link-content{text-decoration:none}.duet-link-is-external.duet-link:not(.block,.button,.card) .duet-link-icon-tail,.duet-link-is-download.duet-link:not(.block,.button,.card) .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(8, 42, 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__icon{display:flex}.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,.duet-link.card{display:flex;gap:12px;align-items:center;width:100%;min-height:48px;padding:14px 16px;line-height:1.25;text-decoration:none;background-color:rgb(255, 255, 255);border:solid 1px rgb(181, 198, 208);border-radius:12px;outline:0 solid rgb(181, 198, 208);outline-offset:-2px;transition:all 300ms ease}.duet-link.button>*,.duet-link.card>*{flex-shrink:0}.duet-link.button .duet-link-content,.duet-link.card .duet-link-content{flex-grow:1;flex-shrink:1;font-size:1rem;font-weight:600;color:rgb(8, 42, 77);text-align:left}.duet-link.button .icon-wrap,.duet-link.card .icon-wrap{display:flex;align-items:center;justify-content:center}.duet-link.button.duet-link-has-icon-background,.duet-link.card.duet-link-has-icon-background{min-height:60px;padding:12px;padding-right:20px;line-height:1.5}.duet-link.button.duet-link-has-icon-background .icon-wrap,.duet-link.card.duet-link-has-icon-background .icon-wrap{width:36px;height:36px;border-radius:8px}.duet-link.button:hover,.duet-link.card:hover{border-color:rgb(0, 119, 179);outline:2px solid rgb(0, 119, 179)}@media (min-width: 48em){.duet-link.button,.duet-link.card{min-height:50px}.duet-link.button.duet-link-has-icon-background,.duet-link.card.duet-link-has-icon-background{gap:16px;min-height:72px;border-radius:16px}.duet-link.button.duet-link-has-icon-background .icon-wrap,.duet-link.card.duet-link-has-icon-background .icon-wrap{width:48px;height:48px;border-radius:12px}.duet-link.button.duet-link-has-icon-background .duet-link-content,.duet-link.card.duet-link-has-icon-background .duet-link-content{font-size:1.1rem}}.duet-link.button.duet-theme-turva,.duet-link.card.duet-theme-turva{border-color:rgb(199, 202, 207)}.duet-link.button.duet-theme-turva .duet-link-content,.duet-link.card.duet-theme-turva .duet-link-content{color:rgb(23, 28, 58)}.duet-link.button.duet-theme-turva:hover,.duet-link.card.duet-theme-turva:hover{border-color:rgb(198, 12, 48);outline-color:rgb(198, 12, 48)}.duet-link.button .block__chevron-icon,.duet-link.card .block__chevron-icon{transition:300ms ease}.duet-link.button:not(.duet-link-is-external):hover .block__chevron-icon,.duet-link.card:not(.duet-link-is-external):hover .block__chevron-icon{transform:translateX(4px)}.duet-link.card{border-color:rgb(228, 236, 239);box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}.duet-link.card.duet-theme-turva{border-color:rgb(234, 235, 239);box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}.duet-link.card:not(.duet-link-has-icon){gap:12px;padding:16px}.duet-link.card .chevron-wrap{display:flex;align-items:center;height:100%}.duet-link.card.duet-link-has-icon{gap:12px;align-items:flex-start;padding:16px}.duet-link.card.duet-link-has-icon .icon-wrap{width:48px;height:48px;border-radius:12px}.duet-link.card.duet-link-has-icon .chevron-wrap{height:48px}@media (min-width: 48em){.duet-link.card:not(.duet-link-has-icon){gap:20px;padding:24px}.duet-link.card.duet-link-has-icon{gap:20px;padding:24px}.duet-link.card.duet-link-has-icon .icon-wrap{width:62px;height:62px;border-radius:16px}.duet-link.card.duet-link-has-icon .chevron-wrap{height:62px}}";
10647
10673
  var DuetLinkStyle0 = duetLinkCss;
10648
10674
 
10649
10675
  /**
@@ -10719,6 +10745,7 @@ class DuetLink {
10719
10745
  }
10720
10746
  screenTest(event) {
10721
10747
  this.isSmallScreen = event.matches;
10748
+ this.isMediumScreen = event.matches;
10722
10749
  }
10723
10750
  resolveDownload() {
10724
10751
  if (this.download === "") {
@@ -10734,11 +10761,17 @@ class DuetLink {
10734
10761
  renderBlockContent() {
10735
10762
  return (hAsync(Fragment, null, this.icon && (hAsync("span", { class: "block__icon" }, hAsync("duet-icon", { size: this.iconResponsive ? (this.isSmallScreen ? "medium" : "large") : "x-small", name: this.icon, margin: "none", color: this.iconColor }))), hAsync("span", { class: "block__content" }, this.renderDefaultContent()), hAsync("span", { class: "block__chevron", part: "block-chevron" }, hAsync("duet-icon", { class: "block__chevron-icon", icon: this.external ? actionNewWindow.svg : actionArrowRight.svg, size: "x-small", margin: "none", color: "primary-dark" }))));
10736
10763
  }
10737
- renderButtonContent() {
10764
+ renderButtonCardContent() {
10738
10765
  const iconWrapStyle = {
10739
10766
  "background-color": getColorByName(this.iconBackground, this.theme),
10740
10767
  };
10741
- return (hAsync(Fragment, null, hAsync("span", { class: "icon-wrap", style: iconWrapStyle }, hAsync("duet-icon", { size: !this.iconBackground || this.isMediumScreen ? "small" : "medium", name: this.icon, margin: "none", color: this.iconColor })), hAsync("span", { class: "duet-link-content", part: "duet-link-content" }, hAsync("slot", null)), hAsync("duet-icon", { class: "block__chevron-icon", icon: this.external ? actionNewWindow.svg : actionArrowRight.svg, size: "x-small", margin: "none", color: "primary-dark" })));
10768
+ const iconSize = () => {
10769
+ if (this.variation === "button") {
10770
+ return this.iconBackground && this.isMediumScreen ? "medium" : "small";
10771
+ }
10772
+ return this.isMediumScreen ? "large" : "medium";
10773
+ };
10774
+ return (hAsync(Fragment, null, this.icon && (hAsync("span", { class: "icon-wrap", style: iconWrapStyle }, hAsync("duet-icon", { size: iconSize(), name: this.icon, margin: "none", color: this.iconColor }))), hAsync("div", { class: "duet-link-content", part: "duet-link-content" }, hAsync("slot", null)), hAsync("span", { class: "chevron-wrap" }, hAsync("duet-icon", { class: "block__chevron-icon", icon: this.external ? actionNewWindow.svg : actionArrowRight.svg, size: "x-small", margin: "none", color: "primary-dark" }))));
10742
10775
  }
10743
10776
  renderContent() {
10744
10777
  switch (this.variation) {
@@ -10747,7 +10780,8 @@ class DuetLink {
10747
10780
  case "block":
10748
10781
  return this.renderBlockContent();
10749
10782
  case "button":
10750
- return this.renderButtonContent();
10783
+ case "card":
10784
+ return this.renderButtonCardContent();
10751
10785
  }
10752
10786
  }
10753
10787
  /**
@@ -10757,10 +10791,10 @@ class DuetLink {
10757
10791
  render() {
10758
10792
  const Tag = !this.url ? "button" : "a";
10759
10793
  const isButton = Tag === "button";
10760
- return (hAsync(Host, { key: 'aad1a5cfaf3fb8d502c12de032a4fed3069f3927', class: {
10794
+ return (hAsync(Host, { key: '2025edd3774d559f0d6877498e0a806532fb310c', class: {
10761
10795
  [`duet-link-${this.variation}`]: true,
10762
10796
  "duet-m-0": this.margin === "none",
10763
- } }, hAsync(Tag, { key: 'c4dc2d9716f29769b6aa60d07788ab96b4946f15', href: this.url, class: {
10797
+ } }, hAsync(Tag, { key: 'ee013e25058fdfe22cf04784e06162181b9ff5a2', href: this.url, class: {
10764
10798
  "duet-link": true,
10765
10799
  "duet-link-is-external": this.external,
10766
10800
  "duet-link-is-download": !!this.download,
@@ -12222,7 +12256,7 @@ class DuetNav {
12222
12256
  }; }
12223
12257
  }
12224
12258
 
12225
- const duetNotificationCss = "*,*::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%}:host(:not([highlight])) ::slotted(duet-heading),:host(:not([highlight])) ::slotted(duet-paragraph){opacity:0.7}.duet-notification{display:block;padding:16px;cursor:pointer}:host(:first-of-type) .duet-notification{border-top-left-radius:8px;border-top-right-radius:8px}:host(:last-of-type) .duet-notification{border-bottom:0;border-bottom-right-radius:8px;border-bottom-left-radius:8px}.duet-notification.duet-theme-turva{color:rgb(23, 28, 58);border-bottom-color:rgb(222, 224, 228)}.duet-notification.duet-notification-highlight{font-weight:600}.duet-notification.duet-notification-highlight.duet-theme-turva{background:rgb(245, 247, 250)}@media (min-width: 62em){.duet-notification:hover{background:rgb(240, 247, 250)}.duet-notification:hover.duet-theme-turva{background:rgb(245, 247, 250)}}.duet-notification a{text-decoration:none}.duet-notification a:focus{outline:0}:host(.user-is-tabbing) .duet-notification:focus-within{z-index:1;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-notification:focus-within.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-notification-container{position:relative;display:flex;border-bottom:1px solid rgb(212, 223, 229)}.duet-notification-badge-container{position:relative;width:16px}.duet-notification-badge{position:absolute;top:6px;left:-2px;width:8px;height:8px;background:rgb(0, 119, 179);border-radius:50%}.duet-theme-turva .duet-notification-badge{background:rgb(198, 12, 48)}.duet-notification-content{flex:1}.duet-notification-date{position:absolute;top:2px;right:0;width:96px;font-size:0.75rem;font-weight:600;line-height:1.25;color:rgb(8, 42, 77);text-align:right;text-transform:uppercase;opacity:0.7}@media (max-width: 35.9375em){.duet-notification-date{width:auto}}.duet-theme-turva .duet-notification-date{color:rgb(113, 118, 132)}@media (min-width: 62em){:host(:not([highlight])) ::slotted(duet-heading),:host(:not([highlight])) ::slotted(duet-paragraph){opacity:1}.duet-notification{border-bottom:1px solid rgb(212, 223, 229)}.duet-notification:hover{background:rgb(228, 241, 247)}.duet-notification.duet-notification-highlight{font-weight:600;background:rgb(240, 247, 250)}.duet-notification-container{border-bottom-style:none}}::slotted(duet-heading){padding-right:80px !important}::slotted(duet-paragraph){margin-bottom:2px !important}";
12259
+ const duetNotificationCss = "*,*::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%}:host(:not([highlight])) ::slotted(duet-heading),:host(:not([highlight])) ::slotted(duet-paragraph){opacity:0.7}.duet-notification{display:block;padding:16px;padding-bottom:0;cursor:pointer}:host(:first-of-type) .duet-notification{border-top-left-radius:8px;border-top-right-radius:8px}:host(:last-of-type) .duet-notification{border-bottom:0;border-bottom-right-radius:8px;border-bottom-left-radius:8px}.duet-notification.duet-theme-turva{color:rgb(23, 28, 58);border-bottom-color:rgb(222, 224, 228)}.duet-notification.duet-notification-highlight{font-weight:600}.duet-notification.duet-notification-highlight.duet-theme-turva{background:rgb(245, 247, 250)}@media (min-width: 62em){.duet-notification:hover{background:rgb(240, 247, 250)}.duet-notification:hover.duet-theme-turva{background:rgb(245, 247, 250)}}.duet-notification a{text-decoration:none}.duet-notification a:focus{outline:0}:host(.user-is-tabbing) .duet-notification:focus-within{z-index:1;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-notification:focus-within.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-notification-container{position:relative;display:flex;padding-bottom:16px;border-bottom:1px solid rgb(212, 223, 229)}.duet-notification-badge-container{position:relative;width:16px}.duet-notification-badge{position:absolute;top:6px;left:-2px;width:8px;height:8px;background:rgb(0, 119, 179);border-radius:50%}.duet-theme-turva .duet-notification-badge{background:rgb(198, 12, 48)}.duet-notification-content{flex:1}.duet-notification-date{position:absolute;top:2px;right:0;width:96px;font-size:0.75rem;font-weight:600;line-height:1.25;color:rgb(8, 42, 77);text-align:right;text-transform:uppercase;opacity:0.7}@media (max-width: 35.9375em){.duet-notification-date{width:auto}}.duet-theme-turva .duet-notification-date{color:rgb(113, 118, 132)}@media (min-width: 62em){:host(:not([highlight])) ::slotted(duet-heading),:host(:not([highlight])) ::slotted(duet-paragraph){opacity:1}.duet-notification{padding:16px;border-bottom:1px solid rgb(212, 223, 229)}.duet-notification:hover{background:rgb(228, 241, 247)}.duet-notification.duet-notification-highlight{font-weight:600;background:rgb(240, 247, 250)}.duet-notification-container{padding-bottom:0;border-bottom-style:none}}::slotted(duet-heading){padding-right:80px !important}::slotted(duet-paragraph){margin-bottom:2px !important}";
12226
12260
  var DuetNotificationStyle0 = duetNotificationCss;
12227
12261
 
12228
12262
  class DuetNotification {
@@ -12508,7 +12542,7 @@ class DuetNumberInput {
12508
12542
  this.subtract(ev);
12509
12543
  }
12510
12544
  else if (isBackspaceKey(ev)) {
12511
- this.clearValue();
12545
+ this.clearValue(ev);
12512
12546
  }
12513
12547
  };
12514
12548
  this.handleChange = (ev) => {
@@ -12530,6 +12564,9 @@ class DuetNumberInput {
12530
12564
  });
12531
12565
  }
12532
12566
  catch (e) {
12567
+ if (input.value !== "-") {
12568
+ this.clearValue(ev);
12569
+ }
12533
12570
  this.duetInput.emit({
12534
12571
  component: "duet-number-input",
12535
12572
  originalEvent: ev,
@@ -12743,9 +12780,12 @@ class DuetNumberInput {
12743
12780
  const currentValue = SafeParseFloat(this.value, this.locale);
12744
12781
  return this.value === undefined || this.value === null || isNaN(currentValue) ? null : currentValue;
12745
12782
  }
12746
- clearValue() {
12747
- this.value = null;
12783
+ clearValue(ev) {
12748
12784
  this.duetInputElement.value = "";
12785
+ if (this.value !== null) {
12786
+ this.value = null;
12787
+ this.emitNull(ev);
12788
+ }
12749
12789
  }
12750
12790
  formatAnnouncement() {
12751
12791
  const current = !!this.value ? SafeParseFloat(this.value, this.locale) : null;
@@ -14752,7 +14792,7 @@ const computePosition = (reference, floating, options) => {
14752
14792
  });
14753
14793
  };
14754
14794
 
14755
- const duetPopupMenuCss = "*,*::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}.duet-popup-menu-list{position:absolute;top:0;left:0;z-index:950;width:max-content;min-width:175px;padding:8px;margin:0;color:rgb(8, 42, 77);list-style:none;visibility:hidden !important;background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15);opacity:0;transition:transform 300ms ease, visibility 300ms ease, opacity 300ms ease;transform:scaleY(0);transform-origin:top center}.duet-popup-menu-list.open{visibility:visible !important;opacity:1;transform:scaleY(1)}.duet-popup-menu-list.fixed{position:fixed}.duet-popup-menu-list.duet-theme-turva{color:rgb(23, 28, 58) !important;background:rgb(255, 255, 255)}::slotted(duet-notification){max-width:360px}";
14795
+ const duetPopupMenuCss = "*,*::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}.duet-popup-menu-list{position:absolute;top:0;left:0;z-index:950;width:max-content;min-width:175px;padding:8px;margin:0;color:rgb(8, 42, 77);list-style:none;visibility:hidden !important;background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15);opacity:0;transition:transform 300ms ease, visibility 300ms ease, opacity 300ms ease;transform:scaleY(0);transform-origin:top center}.duet-popup-menu-list.open{visibility:visible !important;opacity:1;transform:scaleY(1)}.duet-popup-menu-list.fixed{position:fixed}.duet-popup-menu-list.scroll-visible{overflow-y:scroll;scroll-margin:20px}.duet-popup-menu-list.duet-theme-turva{color:rgb(23, 28, 58) !important;background:rgb(255, 255, 255)}::slotted(duet-notification){max-width:360px}";
14756
14796
  var DuetPopupMenuStyle0 = duetPopupMenuCss;
14757
14797
 
14758
14798
  class DuetPopupMenu {
@@ -14808,6 +14848,7 @@ class DuetPopupMenu {
14808
14848
  this.mainAxisOffset = 0;
14809
14849
  this.crossAxisOffset = 0;
14810
14850
  this.controllerIcon = "action-arrow-down-small";
14851
+ this.scrollLimit = undefined;
14811
14852
  }
14812
14853
  /**
14813
14854
  * Element, or id of an element, that controls the opening and closing of the popup menu. If id is given,
@@ -14817,9 +14858,10 @@ class DuetPopupMenu {
14817
14858
  return this._controller;
14818
14859
  }
14819
14860
  set controller(value) {
14820
- if (this.controller === value) {
14861
+ if (this._controller === value) {
14821
14862
  return;
14822
14863
  }
14864
+ this._controller = value;
14823
14865
  if (typeof value === "string") {
14824
14866
  this.setOpenButton(document.getElementById(value));
14825
14867
  if (this.openButton) {
@@ -14870,7 +14912,6 @@ class DuetPopupMenu {
14870
14912
  if (this.open) {
14871
14913
  // When Esc is pressed the menu should be closed
14872
14914
  if (isEscapeKey(evt)) {
14873
- this.focusOpenButton();
14874
14915
  this.hide();
14875
14916
  }
14876
14917
  }
@@ -14978,7 +15019,7 @@ class DuetPopupMenu {
14978
15019
  }
14979
15020
  setTimeout(() => {
14980
15021
  if (this.accessibleRole === "menu") {
14981
- this.focusOpenButton();
15022
+ focusElement(this.openButton);
14982
15023
  }
14983
15024
  this.duetToggle.emit({ open: this.open, component: "duet-popup-menu" });
14984
15025
  if (this.accessibleRole !== "listbox") {
@@ -14987,14 +15028,18 @@ class DuetPopupMenu {
14987
15028
  }, 200);
14988
15029
  }
14989
15030
  }
14990
- focusOpenButton() {
14991
- if (this.open) {
14992
- focusElement(this.openButton);
14993
- }
14994
- }
14995
15031
  get itemElements() {
14996
15032
  return Array.from(this.element.querySelectorAll(":scope duet-popup-menu-item"));
14997
15033
  }
15034
+ get popupMenuStyleHeight() {
15035
+ if (this.itemElements.length > 0 && this.scrollLimit) {
15036
+ const paddings = Number(spaceXSmall.replace("px", "")) * 2;
15037
+ return `${this.itemElements[0].offsetHeight * this.scrollLimit + paddings}px`;
15038
+ }
15039
+ else {
15040
+ return "auto";
15041
+ }
15042
+ }
14998
15043
  async getFocusedItemIndex() {
14999
15044
  const items = this.itemElements;
15000
15045
  for (let i = 0; i < items.length; i++) {
@@ -15010,10 +15055,16 @@ class DuetPopupMenu {
15010
15055
  left: `${this.menuX}px`,
15011
15056
  position: this.position,
15012
15057
  overflowY: "auto",
15058
+ height: this.popupMenuStyleHeight,
15013
15059
  };
15014
- return (hAsync(Host, { key: '1573445d7c27f2e19d2ce614aba54a6af305ff86' }, hAsync("div", { key: '15d45b18fb7164b94698327e601076a3f51b1216', ref: element => {
15060
+ return (hAsync(Host, { key: '4754c8522cdd93a4e90398840cb321821636b489' }, hAsync("div", { key: '45ceb31093aa93bf21e61daed2c77c4ba816556f', ref: element => {
15015
15061
  this.menuElement = element;
15016
- }, style: styles, class: { open: this.open, "duet-popup-menu-list": true, "duet-theme-turva": this.theme === "turva" }, role: this.accessibleRole, "aria-label": this.accessibleLabel }, hAsync("slot", { key: 'ea1ea99244036c122bb61dff60cb09c0b4393979' }))));
15062
+ }, style: styles, class: {
15063
+ open: this.open,
15064
+ "duet-popup-menu-list": true,
15065
+ "duet-theme-turva": this.theme === "turva",
15066
+ "scroll-visible": this.scrollLimit < this.itemElements.length,
15067
+ }, role: this.accessibleRole, "aria-label": this.accessibleLabel }, hAsync("slot", { key: '88dde9607c352adc70eb6a27b5fab917585cef1e' }))));
15017
15068
  }
15018
15069
  get element() { return getElement(this); }
15019
15070
  static get watchers() { return {
@@ -15037,6 +15088,7 @@ class DuetPopupMenu {
15037
15088
  "mainAxisOffset": [2, "main-axis-offset"],
15038
15089
  "crossAxisOffset": [2, "cross-axis-offset"],
15039
15090
  "controllerIcon": [1, "controller-icon"],
15091
+ "scrollLimit": [2, "scroll-limit"],
15040
15092
  "open": [32],
15041
15093
  "menuY": [32],
15042
15094
  "menuX": [32],
@@ -15119,11 +15171,11 @@ class DuetPopupMenuItem {
15119
15171
  "duet-theme-turva": this.theme === "turva",
15120
15172
  "active-descendant": this.activeDescendant,
15121
15173
  };
15122
- return (hAsync(Host, { key: '02e7a087e9f8df28e015c45b2182ab19167c39a2', role: this.accessibleRole }, hAsync(TagName, { key: 'aafbfd9c8bd9cab5f2b2ba259efc8c31964bad10', ref: element => (this.itemElement = element), tabIndex: this.accessibleRole === "menuitem" || "option" ? -1 : 0, onFocus: this.onFocus, onBlur: this.onBlur, role: `${TagName === "a" ? "link" : "button"}`, "aria-label": this.accessibleLabel, class: classes, value: this.value, href: this.url, target: this.external ? "_blank" : undefined, rel: this.external ? "noopener" : undefined, lang: TagName === "button" ? undefined : this.targetLanguage, hreflang: TagName === "button" ? undefined : this.targetLanguage }, this.leadingIcon && (hAsync("duet-icon", { key: '571151b958d0ef9af6f52cda7785555978c9d942', name: this.leadingIcon, size: "x-small", color: this.leadingIconColor ? this.leadingIconColor : "currentColor", class: "duet-popup-menu-item-leading", margin: "none" })), hAsync("span", { key: '99b4a1e46f824fdc684531dfe55b7bc66e06370c', class: "duet-popup-menu-item-label" }, hAsync("slot", { key: 'f76853aa6c7b441dcca9193dd8e73a117a49916f' })), (this.trailingIcon || this.active || (this.url && this.external)) && (hAsync("duet-icon", { key: 'c0a0f628bec874ca8d2d1fe9f1a0992703cfd1c2', name: this.url && this.external
15174
+ return (hAsync(Host, { key: '02e7a087e9f8df28e015c45b2182ab19167c39a2', role: this.accessibleRole }, hAsync(TagName, { key: 'ac6c8e523bb7dbd6ce78dfb8e5ba1a34c765f538', ref: element => (this.itemElement = element), tabIndex: this.accessibleRole === "listitem" ? 0 : -1, onFocus: this.onFocus, onBlur: this.onBlur, role: `${TagName === "a" ? "link" : "button"}`, "aria-label": this.accessibleLabel, class: classes, value: this.value, href: this.url, target: this.external ? "_blank" : undefined, rel: this.external ? "noopener" : undefined, lang: TagName === "button" ? undefined : this.targetLanguage, hreflang: TagName === "button" ? undefined : this.targetLanguage }, this.leadingIcon && (hAsync("duet-icon", { key: '003f72c807601366ce44ba41c92d01cc3867a995', name: this.leadingIcon, size: "x-small", color: this.leadingIconColor ? this.leadingIconColor : "currentColor", class: "duet-popup-menu-item-leading", margin: "none" })), hAsync("span", { key: '5936e48916d5c665070e490074e5310b52ad0cd9', class: "duet-popup-menu-item-label" }, hAsync("slot", { key: '4f365167fa1ae20a9a26f91352791b8b94007088' })), (this.trailingIcon || this.active || (this.url && this.external)) && (hAsync("duet-icon", { key: '52e54059ac3b56ad022ed42085029a58b7010806', name: this.url && this.external
15123
15175
  ? actionNewWindowSmall.title
15124
15176
  : this.active
15125
15177
  ? "messaging-checked-small"
15126
- : this.trailingIcon, size: (this.url && this.external) || this.active ? "xx-small" : "x-small", color: "currentColor", class: "duet-popup-menu-item-trailing", margin: "none" })), this.trailingText && hAsync("span", { key: 'f4287b3ef8b66ce1512254aa8e6383907650283d', class: "duet-popup-menu-item-trailing" }, this.trailingText))));
15178
+ : this.trailingIcon, size: (this.url && this.external) || this.active ? "xx-small" : "x-small", color: "currentColor", class: "duet-popup-menu-item-trailing", margin: "none" })), this.trailingText && hAsync("span", { key: '16fb5260a8d79c5b20bc7dcbb0d6fb078d41f0d5', class: "duet-popup-menu-item-trailing" }, this.trailingText))));
15127
15179
  }
15128
15180
  get element() { return getElement(this); }
15129
15181
  static get style() { return DuetPopupMenuItemStyle0; }
@@ -16881,11 +16933,6 @@ class DuetSlideout {
16881
16933
  component: "duet-slideout",
16882
16934
  });
16883
16935
  };
16884
- this.bgOnClick = (e) => {
16885
- if (this.open) {
16886
- this.toggleMenu(e);
16887
- }
16888
- };
16889
16936
  this.onClick = (e) => {
16890
16937
  this.toggleMenu(e);
16891
16938
  };
@@ -16896,6 +16943,7 @@ class DuetSlideout {
16896
16943
  this.accessibleRole = "menubar";
16897
16944
  this.open = false;
16898
16945
  this.backgroundColor = "gray-lightest";
16946
+ this.modal = true;
16899
16947
  }
16900
16948
  /**
16901
16949
  * DuetMenuBarButton or DuetButton element, or id of an element, that opens the slideout. If id is given,
@@ -16942,7 +16990,7 @@ class DuetSlideout {
16942
16990
  }
16943
16991
  disconnectedCallback() {
16944
16992
  disconnectLanguageChangeObserver(this);
16945
- if (this.dialog) {
16993
+ if (this.dialog && this.modal) {
16946
16994
  enableBodyScroll(this.dialog);
16947
16995
  }
16948
16996
  if (this.mutationObserver) {
@@ -16963,7 +17011,9 @@ class DuetSlideout {
16963
17011
  }
16964
17012
  const openPanel = this.getOpenPanel();
16965
17013
  this.teleport.makeSiblingsInert();
16966
- disableBodyScroll(this.dialog, { reserveScrollBarGap: true });
17014
+ if (this.modal) {
17015
+ disableBodyScroll(this.dialog, { reserveScrollBarGap: true });
17016
+ }
16967
17017
  if (openPanel) {
16968
17018
  openPanel.setFocus();
16969
17019
  }
@@ -16979,7 +17029,9 @@ class DuetSlideout {
16979
17029
  }
16980
17030
  setTimeout(() => {
16981
17031
  focusElement(this.openButton);
16982
- enableBodyScroll(this.dialog);
17032
+ if (this.modal) {
17033
+ enableBodyScroll(this.dialog);
17034
+ }
16983
17035
  this.teleport.removeInertFromSiblings();
16984
17036
  }, 200);
16985
17037
  }
@@ -16995,6 +17047,15 @@ class DuetSlideout {
16995
17047
  }
16996
17048
  }
16997
17049
  }
17050
+ handleDocumentClick(ev) {
17051
+ if (!this.open) {
17052
+ return;
17053
+ }
17054
+ const path = ev.composedPath();
17055
+ if (!path.includes(this.dialog) && !path.includes(this.openButton)) {
17056
+ this.toggleMenu(ev);
17057
+ }
17058
+ }
16998
17059
  /**
16999
17060
  * Sets focus. Use this method instead of the global focus().
17000
17061
  */
@@ -17044,15 +17105,15 @@ class DuetSlideout {
17044
17105
  };
17045
17106
  const topLevelOpenMenuBarTranslation = getLocaleString(this.topLevelOpenMenuBarLangObject);
17046
17107
  const exitTranslation = getLocaleString(this.exitLangObject);
17047
- return (hAsync(Host, { key: '289093e61e89d5724e3bb15cd7945fd39734ed53' }, hAsync("div", { key: '3514ce08bf8d7a529cfbff42be55b8bcf192cc8f', class: { "duet-slideout": true, "duet-theme-turva": this.theme === "turva" } }, hAsync("duet-overlay", { key: 'b78a47d52483e0eb360dc0ccc9e657b5ccb9b030', onClick: this.bgOnClick, visible: this.open, "display-device": "large", zIndex: "600" }), hAsync("div", { key: '95a7f2593ddf2def5019b3d6c84d5374f67fefb3', ref: element => (this.dialog = element), tabindex: "-1", role: "dialog", id: "dialog", "aria-labelledby": "button", "aria-modal": this.isSafariBrowser ? false : true, "aria-flowto": "slot-container", class: {
17108
+ return (hAsync(Host, { key: 'c5dc68c63efc7dfaae9700972fb7e804f113a5a7' }, hAsync("div", { key: '4af227670e861029e9e7991487c2210fcfa9ae63', class: { "duet-slideout": true, "duet-theme-turva": this.theme === "turva" } }, this.modal && hAsync("duet-overlay", { key: '6ffa8d92692ab324124f8ff994494faf9a981498', visible: this.open, "display-device": "large", zIndex: "600" }), hAsync("div", { key: 'b387e5fbd6663d444332c9ca102d76ae953ab3ec', ref: element => (this.dialog = element), tabindex: "-1", role: "dialog", id: "dialog", "aria-labelledby": "button", "aria-modal": this.isSafariBrowser ? false : true, "aria-flowto": "slot-container", class: {
17048
17109
  dialog: true,
17049
17110
  hidden: !this.open,
17050
- }, style: styles }, hAsync(FocusGuard, { key: '8d2774b7413c3a4348831ea8f3484763560496d4', moveFocusTo: this.closeButton }), hAsync("div", { key: '0ab02fea0fc88c1cad4e7964cf64ddd4e0991d3c', class: { "top-container": true, "has-sticky-header-slot": this.hasStickyHeaderSlot } }, hAsync("div", { key: '12b34a66f05a9d7d65c8d06a36aab27b9190c8ac', class: "top" }, hAsync("button", { key: '7ffb3f3bace1d7983094573171a38dbac5c8a410', ref: element => (this.closeButton = element), "aria-haspopup": "dialog", "aria-controls": "dialog", "aria-expanded": this.open ? "true" : "false", "aria-label": `${exitTranslation}`, type: "button", class: {
17111
+ }, style: styles }, hAsync(FocusGuard, { key: 'ba639a4f17cf9c92849bdad56a69a96948e46915', moveFocusTo: this.closeButton }), hAsync("div", { key: '76d1cc048043e127d91449e2d7570190c7668779', class: { "top-container": true, "has-sticky-header-slot": this.hasStickyHeaderSlot } }, hAsync("div", { key: '1c0459f248a91c0a3c594b8f4970b700c9992e56', class: "top" }, hAsync("button", { key: 'd58f3070c1e5f371200d689cde0e2a09bedd0473', ref: element => (this.closeButton = element), "aria-haspopup": "dialog", "aria-controls": "dialog", "aria-expanded": this.open ? "true" : "false", "aria-label": `${exitTranslation}`, type: "button", class: {
17051
17112
  "slideout-close": true,
17052
17113
  active: this.open,
17053
- }, onClick: this.onClick, inert: this.openPanel }, hAsync("duet-icon", { key: 'f25d28342f722a6d4b7705e45498a8036468bf74', name: "navigation-close", size: "small", margin: "none", color: "secondary" }))), hAsync("div", { key: '0162ecd6fc8db33a7053a1bf44bdb0b7b220ec6f', class: "sticky-header" }, hAsync("slot", { key: '6d47a428f6f63a9ea306af7b1553dcc5144e84c7', name: "sticky-header" }))), hAsync("div", { key: '7fe090f9ad0f6eb825809a17b8610f5aefbd2ab2', id: "slot-container", role: this.accessibleRole, "aria-label": this.openPanel ? topLevelOpenMenuBarTranslation : null, class: {
17114
+ }, onClick: this.onClick, inert: this.openPanel }, hAsync("duet-icon", { key: 'e0047f0d5c7d1780dd80c924da5f8cd31960efc8', name: "navigation-close", size: "small", margin: "none", color: "secondary" }))), hAsync("div", { key: '5ef0c4df0077b3af2a371fef1f22b5e6e344e6a4', class: "sticky-header" }, hAsync("slot", { key: '59db3342c0a3fc083c38d546fd02333344f363a1', name: "sticky-header" }))), hAsync("div", { key: 'b2be934939363da36c080b5d03b9f3137a026e6e', id: "slot-container", role: this.accessibleRole, "aria-label": this.openPanel ? topLevelOpenMenuBarTranslation : null, class: {
17054
17115
  items: true,
17055
- } }, hAsync("slot", { key: 'bf013947faa4f1951dbb34616040b35d90e4770c' })), hAsync(FocusGuard, { key: '388318c3a94cd035f6e02eb83e49e0d97ad56995', moveFocusTo: this.closeButton })))));
17116
+ } }, hAsync("slot", { key: '8ecd75055940b309d013a92406a4f8f3e51141e7' })), hAsync(FocusGuard, { key: 'e31a31d2d63ece57c247803e3ffa3fbb193af5ee', moveFocusTo: this.closeButton })))));
17056
17117
  }
17057
17118
  get element() { return getElement(this); }
17058
17119
  static get watchers() { return {
@@ -17069,6 +17130,7 @@ class DuetSlideout {
17069
17130
  "opener": [6145],
17070
17131
  "controller": [6145],
17071
17132
  "backgroundColor": [1537, "background-color"],
17133
+ "modal": [4],
17072
17134
  "language": [32],
17073
17135
  "displaying": [32],
17074
17136
  "openPanel": [32],
@@ -17077,7 +17139,7 @@ class DuetSlideout {
17077
17139
  "show": [64],
17078
17140
  "hide": [64]
17079
17141
  },
17080
- "$listeners$": [[8, "keyup", "handleKeyUp"]],
17142
+ "$listeners$": [[8, "keyup", "handleKeyUp"], [4, "click", "handleDocumentClick"]],
17081
17143
  "$lazyBundleId$": "-",
17082
17144
  "$attrsToReflect$": [["open", "open"], ["backgroundColor", "background-color"]]
17083
17145
  }; }