@duetds/components 9.2.2 → 9.2.3

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 (734) hide show
  1. package/hydrate/index.js +801 -459
  2. package/lib/cjs/{app-globals-de0a03a8.js → app-globals-76b570cd.js} +1 -1
  3. package/lib/cjs/duet-action-button.cjs.entry.js +2 -2
  4. package/lib/cjs/duet-alert.cjs.entry.js +4 -4
  5. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-banner.cjs.entry.js +2 -2
  7. package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -2
  8. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +2 -2
  9. package/lib/cjs/duet-button_2.cjs.entry.js +2 -2
  10. package/lib/cjs/duet-callout.cjs.entry.js +2 -2
  11. package/lib/cjs/duet-caption_4.cjs.entry.js +2 -2
  12. package/lib/cjs/duet-card.cjs.entry.js +1 -1
  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 +54 -25
  16. package/lib/cjs/duet-choice_2.cjs.entry.js +4 -4
  17. package/lib/cjs/duet-collapsible.cjs.entry.js +2 -2
  18. package/lib/cjs/duet-combobox.cjs.entry.js +4 -4
  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 +48 -31
  22. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  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 +2 -2
  30. package/lib/cjs/duet-hero.cjs.entry.js +3 -3
  31. package/lib/cjs/duet-icon.cjs.entry.js +1 -1
  32. package/lib/cjs/duet-input_2.cjs.entry.js +4 -4
  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 +16 -6
  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 +3 -3
  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 +2 -2
  49. package/lib/cjs/duet-progress.cjs.entry.js +2 -2
  50. package/lib/cjs/duet-promo-card.cjs.entry.js +2 -2
  51. package/lib/cjs/duet-radio_2.cjs.entry.js +2 -2
  52. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  53. package/lib/cjs/duet-scrollable_3.cjs.entry.js +3 -8
  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 +3 -3
  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 +5 -5
  61. package/lib/cjs/duet-slideout-panel.cjs.entry.js +14 -11
  62. package/lib/cjs/duet-slideout.cjs.entry.js +38 -15
  63. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  64. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +3 -3
  65. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +5 -5
  66. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +3 -3
  67. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +2 -2
  68. package/lib/cjs/duet-submenu-bar.cjs.entry.js +6 -6
  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 +3 -3
  72. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +5 -5
  73. package/lib/cjs/duet-toolbar-item.cjs.entry.js +8 -7
  74. package/lib/cjs/duet-toolbar-link.cjs.entry.js +3 -3
  75. package/lib/cjs/duet-toolbar.cjs.entry.js +3 -3
  76. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +6 -6
  77. package/lib/cjs/duet-tooltip.cjs.entry.js +2 -2
  78. package/lib/cjs/duet-tray.cjs.entry.js +4 -4
  79. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
  80. package/lib/cjs/duet-upload-item.cjs.entry.js +3 -3
  81. package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
  82. package/lib/cjs/duet.cjs.js +4 -4
  83. package/lib/cjs/{errorcodes.utils-79edbcbf.js → errorcodes.utils-ba7fae1c.js} +1 -1
  84. package/lib/cjs/{focus-utils-2f608f43.js → focus-utils-ce2b65c9.js} +1 -1
  85. package/lib/cjs/{index-2538e92d.js → index-340b85bb.js} +827 -580
  86. package/lib/cjs/{language-utils-6907a35e.js → language-utils-07b9f155.js} +1 -1
  87. package/lib/cjs/loader.cjs.js +3 -3
  88. package/lib/cjs/{slot-utils-eb411e83.js → slot-utils-ac35c5be.js} +1 -1
  89. package/lib/collection/collection-manifest.json +1 -1
  90. package/lib/collection/components/duet-action-button/duet-action-button.js +40 -2
  91. package/lib/collection/components/duet-alert/duet-alert.css +3 -0
  92. package/lib/collection/components/duet-alert/duet-alert.js +25 -1
  93. package/lib/collection/components/duet-badge/duet-badge.js +8 -0
  94. package/lib/collection/components/duet-banner/duet-banner.js +23 -1
  95. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +10 -0
  96. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +6 -0
  97. package/lib/collection/components/duet-button/duet-button.js +83 -5
  98. package/lib/collection/components/duet-callout/duet-callout.js +4 -0
  99. package/lib/collection/components/duet-caption/duet-caption.js +9 -1
  100. package/lib/collection/components/duet-card/duet-card.js +35 -3
  101. package/lib/collection/components/duet-checkbox/duet-checkbox.js +47 -3
  102. package/lib/collection/components/duet-chip/duet-chip.js +34 -6
  103. package/lib/collection/components/duet-choice/duet-checkmark.js +10 -0
  104. package/lib/collection/components/duet-choice/duet-choice.css +8 -0
  105. package/lib/collection/components/duet-choice/duet-choice.js +67 -3
  106. package/lib/collection/components/duet-choice-group/duet-choice-group.js +32 -0
  107. package/lib/collection/components/duet-collapsible/duet-collapsible.js +23 -3
  108. package/lib/collection/components/duet-combobox/duet-combobox.js +30 -4
  109. package/lib/collection/components/duet-contact-card/duet-contact-card.js +20 -0
  110. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +5 -1
  111. package/lib/collection/components/duet-date-picker/date-i18n.js +1 -1
  112. package/lib/collection/components/duet-date-picker/date-picker-day.js +2 -2
  113. package/lib/collection/components/duet-date-picker/date-picker-input.js +7 -5
  114. package/lib/collection/components/duet-date-picker/date-picker-month.js +2 -2
  115. package/lib/collection/components/duet-date-picker/duet-date-picker.css +27 -15
  116. package/lib/collection/components/duet-date-picker/duet-date-picker.js +89 -13
  117. package/lib/collection/components/duet-divider/duet-divider.js +7 -1
  118. package/lib/collection/components/duet-editable-table/duet-editable-table.js +31 -5
  119. package/lib/collection/components/duet-empty-state/duet-empty-state.js +7 -1
  120. package/lib/collection/components/duet-fieldset/duet-fieldset.js +18 -0
  121. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +7 -1
  122. package/lib/collection/components/duet-footer/duet-footer.js +27 -7
  123. package/lib/collection/components/duet-grid/duet-grid.js +19 -3
  124. package/lib/collection/components/duet-grid-item/duet-grid-item.js +18 -0
  125. package/lib/collection/components/duet-header/duet-header.js +55 -15
  126. package/lib/collection/components/duet-heading/duet-heading.js +19 -1
  127. package/lib/collection/components/duet-hero/duet-hero.js +62 -6
  128. package/lib/collection/components/duet-icon/duet-icon.js +26 -0
  129. package/lib/collection/components/duet-input/duet-input.css +3 -0
  130. package/lib/collection/components/duet-input/duet-input.js +98 -8
  131. package/lib/collection/components/duet-label/duet-label.js +14 -2
  132. package/lib/collection/components/duet-layout/duet-layout.js +15 -1
  133. package/lib/collection/components/duet-link/duet-link.js +42 -0
  134. package/lib/collection/components/duet-list/duet-list.js +19 -3
  135. package/lib/collection/components/duet-list-item/duet-list-item.js +4 -0
  136. package/lib/collection/components/duet-logo/duet-logo.js +17 -1
  137. package/lib/collection/components/duet-menu-bar/duet-menu-bar.css +5 -0
  138. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +30 -5
  139. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +26 -0
  140. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +8 -0
  141. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +8 -0
  142. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +22 -0
  143. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +10 -0
  144. package/lib/collection/components/duet-modal/duet-modal.js +42 -4
  145. package/lib/collection/components/duet-multiselect/duet-multiselect.js +44 -6
  146. package/lib/collection/components/duet-nav/duet-nav.js +4 -0
  147. package/lib/collection/components/duet-notification/duet-notification.css +33 -5
  148. package/lib/collection/components/duet-notification/duet-notification.js +16 -0
  149. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +17 -1
  150. package/lib/collection/components/duet-number-input/duet-number-input.js +74 -4
  151. package/lib/collection/components/duet-overlay/duet-overlay.js +17 -1
  152. package/lib/collection/components/duet-page-heading/duet-page-heading.js +6 -0
  153. package/lib/collection/components/duet-pagination/duet-pagination.js +34 -2
  154. package/lib/collection/components/duet-paragraph/duet-paragraph.js +15 -3
  155. package/lib/collection/components/duet-popup-menu/duet-popup-menu.css +4 -0
  156. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +137 -30
  157. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +28 -2
  158. package/lib/collection/components/duet-progress/duet-progress.js +22 -0
  159. package/lib/collection/components/duet-promo-card/duet-promo-card.js +14 -0
  160. package/lib/collection/components/duet-radio/duet-radio.js +47 -3
  161. package/lib/collection/components/duet-radio-group/duet-radio-group.js +30 -0
  162. package/lib/collection/components/duet-range-slider/duet-range-slider.js +46 -2
  163. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +17 -1
  164. package/lib/collection/components/duet-scrollable/duet-scrollable.js +16 -0
  165. package/lib/collection/components/duet-section-layout/duet-section-layout.js +6 -0
  166. package/lib/collection/components/duet-select/duet-select.js +57 -5
  167. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +10 -0
  168. package/lib/collection/components/duet-show-more/duet-show-more.css +7 -0
  169. package/lib/collection/components/duet-show-more/duet-show-more.js +29 -1
  170. package/lib/collection/components/duet-slideout/duet-slideout.js +99 -17
  171. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +2 -0
  172. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +18 -0
  173. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.css +26 -0
  174. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +41 -6
  175. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +12 -4
  176. package/lib/collection/components/duet-spacer/duet-spacer.js +8 -2
  177. package/lib/collection/components/duet-spinner/duet-spinner.js +9 -1
  178. package/lib/collection/components/duet-step/duet-step.js +16 -2
  179. package/lib/collection/components/duet-stepper/duet-stepper.js +11 -1
  180. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +13 -5
  181. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +12 -4
  182. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +14 -2
  183. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +23 -1
  184. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +9 -1
  185. package/lib/collection/components/duet-tab/duet-tab.js +18 -5
  186. package/lib/collection/components/duet-tab-group/duet-tab-group.js +33 -5
  187. package/lib/collection/components/duet-table/duet-table.js +16 -2
  188. package/lib/collection/components/duet-textarea/duet-textarea.js +70 -4
  189. package/lib/collection/components/duet-toggle/duet-toggle.js +41 -1
  190. package/lib/collection/components/duet-toolbar/duet-toolbar.js +8 -2
  191. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +16 -4
  192. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +14 -2
  193. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.css +21 -0
  194. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +49 -4
  195. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +14 -2
  196. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +12 -2
  197. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +15 -3
  198. package/lib/collection/components/duet-tooltip/duet-tooltip.js +29 -1
  199. package/lib/collection/components/duet-tray/duet-tray.js +20 -2
  200. package/lib/collection/components/duet-upload/duet-upload.js +122 -14
  201. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +13 -1
  202. package/lib/collection/components/duet-upload-item/duet-upload-item.js +30 -8
  203. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  204. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  205. package/lib/dist-custom-elements/duet-alert.js +1 -1
  206. package/lib/dist-custom-elements/duet-badge.js +1 -1
  207. package/lib/dist-custom-elements/duet-banner.js +5 -5
  208. package/lib/dist-custom-elements/duet-breadcrumb.js +4 -4
  209. package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
  210. package/lib/dist-custom-elements/duet-button.js +1 -1
  211. package/lib/dist-custom-elements/duet-callout.js +3 -3
  212. package/lib/dist-custom-elements/duet-caption.js +1 -1
  213. package/lib/dist-custom-elements/duet-card.js +3 -3
  214. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  215. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  216. package/lib/dist-custom-elements/duet-chip.js +1 -1
  217. package/lib/dist-custom-elements/duet-choice-group.js +9 -9
  218. package/lib/dist-custom-elements/duet-choice.js +7 -7
  219. package/lib/dist-custom-elements/duet-collapsible.js +3 -3
  220. package/lib/dist-custom-elements/duet-combobox.js +19 -19
  221. package/lib/dist-custom-elements/duet-contact-card.js +9 -9
  222. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  223. package/lib/dist-custom-elements/duet-date-picker.js +63 -45
  224. package/lib/dist-custom-elements/duet-divider.js +1 -1
  225. package/lib/dist-custom-elements/duet-editable-table.js +9 -9
  226. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  227. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  228. package/lib/dist-custom-elements/duet-file-chooser.js +2 -2
  229. package/lib/dist-custom-elements/duet-footer.js +9 -9
  230. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  231. package/lib/dist-custom-elements/duet-grid.js +1 -1
  232. package/lib/dist-custom-elements/duet-header.js +10 -10
  233. package/lib/dist-custom-elements/duet-heading.js +1 -1
  234. package/lib/dist-custom-elements/duet-hero.js +11 -11
  235. package/lib/dist-custom-elements/duet-icon.js +1 -1
  236. package/lib/dist-custom-elements/duet-input.js +1 -1
  237. package/lib/dist-custom-elements/duet-label.js +1 -1
  238. package/lib/dist-custom-elements/duet-layout.js +2 -2
  239. package/lib/dist-custom-elements/duet-link.js +1 -1
  240. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  241. package/lib/dist-custom-elements/duet-list.js +1 -1
  242. package/lib/dist-custom-elements/duet-logo.js +1 -1
  243. package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -2
  244. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
  245. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -2
  246. package/lib/dist-custom-elements/duet-menu-bar-item.js +3 -3
  247. package/lib/dist-custom-elements/duet-menu-bar-link.js +2 -2
  248. package/lib/dist-custom-elements/duet-menu-bar.js +19 -8
  249. package/lib/dist-custom-elements/duet-modal.js +11 -11
  250. package/lib/dist-custom-elements/duet-multiselect.js +11 -11
  251. package/lib/dist-custom-elements/duet-nav.js +1 -1
  252. package/lib/dist-custom-elements/duet-notification-drawer.js +5 -5
  253. package/lib/dist-custom-elements/duet-notification.js +4 -4
  254. package/lib/dist-custom-elements/duet-number-input.js +13 -13
  255. package/lib/dist-custom-elements/duet-overlay.js +1 -1
  256. package/lib/dist-custom-elements/duet-page-heading.js +2 -2
  257. package/lib/dist-custom-elements/duet-pagination.js +14 -14
  258. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  259. package/lib/dist-custom-elements/duet-popup-menu-item.js +1 -1
  260. package/lib/dist-custom-elements/duet-popup-menu.js +1 -1
  261. package/lib/dist-custom-elements/duet-progress.js +1 -1
  262. package/lib/dist-custom-elements/duet-promo-card.js +4 -4
  263. package/lib/dist-custom-elements/duet-radio-group.js +9 -9
  264. package/lib/dist-custom-elements/duet-radio.js +1 -1
  265. package/lib/dist-custom-elements/duet-range-slider.js +2 -2
  266. package/lib/dist-custom-elements/duet-range-stepper.js +5 -5
  267. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  268. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  269. package/lib/dist-custom-elements/duet-select.js +1 -1
  270. package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
  271. package/lib/dist-custom-elements/duet-show-more.js +1 -1
  272. package/lib/dist-custom-elements/duet-slideout-lang.js +3 -3
  273. package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
  274. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +6 -6
  275. package/lib/dist-custom-elements/duet-slideout-panel.js +16 -12
  276. package/lib/dist-custom-elements/duet-slideout.js +42 -18
  277. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  278. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  279. package/lib/dist-custom-elements/duet-step.js +4 -4
  280. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  281. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +4 -4
  282. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +6 -6
  283. package/lib/dist-custom-elements/duet-submenu-bar-item.js +4 -4
  284. package/lib/dist-custom-elements/duet-submenu-bar-link.js +3 -3
  285. package/lib/dist-custom-elements/duet-submenu-bar.js +8 -8
  286. package/lib/dist-custom-elements/duet-tab-group.js +14 -14
  287. package/lib/dist-custom-elements/duet-tab.js +2 -7
  288. package/lib/dist-custom-elements/duet-table.js +1 -1
  289. package/lib/dist-custom-elements/duet-textarea.js +12 -12
  290. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  291. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +4 -4
  292. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +6 -6
  293. package/lib/dist-custom-elements/duet-toolbar-item.js +10 -8
  294. package/lib/dist-custom-elements/duet-toolbar-link.js +4 -4
  295. package/lib/dist-custom-elements/duet-toolbar.js +3 -3
  296. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  297. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  298. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  299. package/lib/dist-custom-elements/duet-tray.js +6 -6
  300. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  301. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  302. package/lib/dist-custom-elements/duet-upload.js +21 -21
  303. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  304. package/lib/dist-custom-elements/index.js +2 -2
  305. package/lib/dist-custom-elements/{p-953d804b.js → p-0230e9f7.js} +9 -9
  306. package/lib/dist-custom-elements/{p-c47b67df.js → p-02c633ce.js} +1 -1
  307. package/lib/dist-custom-elements/{p-3882c4af.js → p-1cb8476a.js} +6 -6
  308. package/lib/dist-custom-elements/{p-fe4f9c1d.js → p-1ea54c70.js} +1 -1
  309. package/lib/dist-custom-elements/{p-18f83d4e.js → p-26b7ade3.js} +852 -613
  310. package/lib/dist-custom-elements/{p-0f66ee86.js → p-2b8ce441.js} +1 -1
  311. package/lib/dist-custom-elements/{p-317b4bb8.js → p-35375593.js} +1 -1
  312. package/lib/dist-custom-elements/{p-a96a809b.js → p-38184acb.js} +1 -1
  313. package/lib/dist-custom-elements/{p-9f1f81a3.js → p-3eae8aeb.js} +1 -1
  314. package/lib/dist-custom-elements/{p-ef70e2c7.js → p-40eaa1e8.js} +4 -4
  315. package/lib/dist-custom-elements/{p-3c10a825.js → p-4dc547d5.js} +6 -6
  316. package/lib/dist-custom-elements/{p-04e23d1d.js → p-52a71225.js} +1 -1
  317. package/lib/dist-custom-elements/{p-1b7829a1.js → p-5474eeba.js} +1 -1
  318. package/lib/dist-custom-elements/{p-3037abd6.js → p-5be05df5.js} +13 -13
  319. package/lib/dist-custom-elements/{p-8f05d29d.js → p-63d7f555.js} +5 -5
  320. package/lib/dist-custom-elements/{p-38f16dbf.js → p-6fba1a8d.js} +7 -7
  321. package/lib/dist-custom-elements/{p-bdab3956.js → p-70dc7a81.js} +2 -2
  322. package/lib/dist-custom-elements/{p-f515b36d.js → p-75e5bd55.js} +4 -4
  323. package/lib/dist-custom-elements/{p-c96e337d.js → p-78a5f782.js} +1 -1
  324. package/lib/dist-custom-elements/{p-073ee906.js → p-78ce84c0.js} +1 -1
  325. package/lib/dist-custom-elements/{p-03f58276.js → p-8a6272fd.js} +3 -3
  326. package/lib/dist-custom-elements/{p-fc9b988f.js → p-8b3decf2.js} +1 -1
  327. package/lib/dist-custom-elements/{p-2e45b8be.js → p-8d2d00df.js} +1 -1
  328. package/lib/dist-custom-elements/{p-53247748.js → p-8e6d8a49.js} +6 -6
  329. package/lib/dist-custom-elements/{p-02438b26.js → p-92271f30.js} +11 -11
  330. package/lib/dist-custom-elements/{p-06cfa40e.js → p-94084f9c.js} +57 -27
  331. package/lib/dist-custom-elements/{p-8764aea1.js → p-993aea39.js} +1 -1
  332. package/lib/dist-custom-elements/{p-c2b15a3a.js → p-9f29df11.js} +2 -2
  333. package/lib/dist-custom-elements/{p-f7720c96.js → p-a8ec8761.js} +1 -1
  334. package/lib/dist-custom-elements/{p-b33fb0bd.js → p-aee0da4a.js} +3 -3
  335. package/lib/dist-custom-elements/{p-b669630b.js → p-b0182f1f.js} +1 -1
  336. package/lib/dist-custom-elements/{p-d9cadd5e.js → p-b0a7f776.js} +1 -1
  337. package/lib/dist-custom-elements/{p-730cc2f3.js → p-b5ab185d.js} +2 -2
  338. package/lib/dist-custom-elements/{p-91faf1b9.js → p-b5e71a67.js} +2 -2
  339. package/lib/dist-custom-elements/{p-dab711d2.js → p-c5aac304.js} +3 -3
  340. package/lib/dist-custom-elements/{p-9c93e4d4.js → p-d824ce45.js} +1 -1
  341. package/lib/dist-custom-elements/{p-f0dad941.js → p-dac0f309.js} +3 -3
  342. package/lib/dist-custom-elements/{p-c3854d56.js → p-e30dc66d.js} +1 -1
  343. package/lib/dist-custom-elements/{p-adc530ba.js → p-ee7efc3d.js} +9 -9
  344. package/lib/dist-custom-elements/{p-16251bb2.js → p-f0080861.js} +2 -2
  345. package/lib/dist-custom-elements/{p-d53fce96.js → p-f4db5912.js} +3 -3
  346. package/lib/dist-custom-elements/{p-e774b5ee.js → p-f76d6e43.js} +1 -1
  347. package/lib/dist-custom-elements/{p-956bd0ac.js → p-fabc88b7.js} +4 -4
  348. package/lib/duet/duet.esm.js +1 -1
  349. package/lib/duet/duet.js +1 -1
  350. package/lib/duet/{p-c55481ce.entry.js → p-02380a84.entry.js} +1 -1
  351. package/lib/duet/{p-8bcfbfb1.entry.js → p-04422a4f.entry.js} +1 -1
  352. package/lib/duet/p-068cf24e.system.entry.js +4 -0
  353. package/lib/duet/{p-92d06b44.entry.js → p-079f9e29.entry.js} +1 -1
  354. package/lib/duet/p-08b0bbbb.entry.js +4 -0
  355. package/lib/duet/{p-137a6891.system.entry.js → p-091a5f13.system.entry.js} +1 -1
  356. package/lib/duet/{p-33fe1e1b.system.entry.js → p-0bb7e6db.system.entry.js} +1 -1
  357. package/lib/duet/{p-f943c2af.entry.js → p-0c9851a1.entry.js} +1 -1
  358. package/lib/duet/{p-30a225a6.entry.js → p-1057521d.entry.js} +1 -1
  359. package/lib/duet/{p-ad0a4c06.entry.js → p-12a7249e.entry.js} +1 -1
  360. package/lib/duet/{p-8bf78cf6.system.entry.js → p-16038e7f.system.entry.js} +1 -1
  361. package/lib/duet/{p-89b0e135.entry.js → p-17a92a57.entry.js} +1 -1
  362. package/lib/duet/{p-385618e3.entry.js → p-1a05b9bb.entry.js} +1 -1
  363. package/lib/duet/{p-0ff2881c.system.entry.js → p-217328d7.system.entry.js} +1 -1
  364. package/lib/duet/p-2247d351.system.entry.js +4 -0
  365. package/lib/duet/{p-37f88028.entry.js → p-25390477.entry.js} +1 -1
  366. package/lib/duet/{p-ae0d2d3f.system.js → p-25c77fc5.system.js} +1 -1
  367. package/lib/duet/{p-6a360967.system.entry.js → p-2665d9ca.system.entry.js} +1 -1
  368. package/lib/duet/{p-c87ca1be.entry.js → p-2993a8c3.entry.js} +1 -1
  369. package/lib/duet/{p-a044bee8.system.entry.js → p-29dbe11f.system.entry.js} +2 -2
  370. package/lib/duet/{p-df0d8f48.entry.js → p-2d3f0a48.entry.js} +1 -1
  371. package/lib/duet/{p-3881e4aa.system.entry.js → p-2e8c2654.system.entry.js} +1 -1
  372. package/lib/duet/{p-44360109.entry.js → p-2e96eecc.entry.js} +1 -1
  373. package/lib/duet/p-30e9baf8.system.js +4 -0
  374. package/lib/duet/{p-51a9bdd7.system.entry.js → p-33b69886.system.entry.js} +1 -1
  375. package/lib/duet/{p-bd8f13b7.entry.js → p-37f9b3f3.entry.js} +1 -1
  376. package/lib/duet/{p-340a9379.system.entry.js → p-38b0ae95.system.entry.js} +1 -1
  377. package/lib/duet/p-3c427358.entry.js +4 -0
  378. package/lib/duet/{p-180cc0c3.system.entry.js → p-3e580d39.system.entry.js} +1 -1
  379. package/lib/duet/{p-b0639678.entry.js → p-3f4b8a20.entry.js} +1 -1
  380. package/lib/duet/{p-927365ae.entry.js → p-416c6bd2.entry.js} +1 -1
  381. package/lib/duet/{p-e09e8b4e.system.entry.js → p-4304cb65.system.entry.js} +1 -1
  382. package/lib/duet/p-45085ca6.system.js +4 -0
  383. package/lib/duet/{p-2f2615c4.system.entry.js → p-454ce0a7.system.entry.js} +1 -1
  384. package/lib/duet/p-4b880bb3.entry.js +4 -0
  385. package/lib/duet/{p-f0574462.entry.js → p-4c513203.entry.js} +1 -1
  386. package/lib/duet/{p-7167c100.system.entry.js → p-4d5f2668.system.entry.js} +1 -1
  387. package/lib/duet/p-4f198ebe.entry.js +4 -0
  388. package/lib/duet/{p-e55a165e.system.entry.js → p-503b1f9c.system.entry.js} +1 -1
  389. package/lib/duet/{p-cd140716.system.entry.js → p-539b8b9b.system.entry.js} +1 -1
  390. package/lib/duet/p-53a79c8c.system.entry.js +4 -0
  391. package/lib/duet/{p-ee2e3a15.entry.js → p-54e46011.entry.js} +1 -1
  392. package/lib/duet/{p-a7d80cb0.system.entry.js → p-558ea33c.system.entry.js} +1 -1
  393. package/lib/duet/{p-933e6de2.system.entry.js → p-567227f2.system.entry.js} +1 -1
  394. package/lib/duet/{p-8168beae.entry.js → p-5727dc58.entry.js} +1 -1
  395. package/lib/duet/{p-45d64382.entry.js → p-582c6653.entry.js} +1 -1
  396. package/lib/duet/{p-53e5c99d.entry.js → p-5ae54542.entry.js} +1 -1
  397. package/lib/duet/{p-01c85764.entry.js → p-5bd68f1e.entry.js} +1 -1
  398. package/lib/duet/{p-39068e23.entry.js → p-5fb91cf2.entry.js} +1 -1
  399. package/lib/duet/p-618bf010.entry.js +4 -0
  400. package/lib/duet/p-626be65a.system.entry.js +4 -0
  401. package/lib/duet/{p-48efe08e.entry.js → p-63f0c13f.entry.js} +1 -1
  402. package/lib/duet/{p-51687979.system.entry.js → p-64b767a1.system.entry.js} +1 -1
  403. package/lib/duet/p-6586fb03.js +5 -0
  404. package/lib/duet/{p-16e164ca.js → p-6647e622.js} +1 -1
  405. package/lib/duet/p-672c2725.system.entry.js +4 -0
  406. package/lib/duet/{p-18886cb5.system.entry.js → p-6f86fd58.system.entry.js} +1 -1
  407. package/lib/duet/{p-4e40f582.system.entry.js → p-72d24fa8.system.entry.js} +1 -1
  408. package/lib/duet/{p-b92f970e.system.entry.js → p-72e2c5ff.system.entry.js} +1 -1
  409. package/lib/duet/p-73251b4a.system.entry.js +4 -0
  410. package/lib/duet/{p-e77d679c.entry.js → p-742e42e3.entry.js} +1 -1
  411. package/lib/duet/{p-e388b16f.system.entry.js → p-7456c30b.system.entry.js} +2 -2
  412. package/lib/duet/{p-ddfc288e.system.entry.js → p-761a7665.system.entry.js} +1 -1
  413. package/lib/duet/{p-d2215b06.system.entry.js → p-78c0a939.system.entry.js} +1 -1
  414. package/lib/duet/{p-d2ea8d68.entry.js → p-7a111f40.entry.js} +1 -1
  415. package/lib/duet/{p-816ae1ce.system.entry.js → p-7aa134f8.system.entry.js} +1 -1
  416. package/lib/duet/p-7c665c7b.system.entry.js +4 -0
  417. package/lib/duet/{p-1212ac86.entry.js → p-7c7c220c.entry.js} +1 -1
  418. package/lib/duet/{p-a5cc53ad.entry.js → p-7e709290.entry.js} +1 -1
  419. package/lib/duet/{p-0b01e52f.system.js → p-7eb1ccc1.system.js} +1 -1
  420. package/lib/duet/{p-53094306.entry.js → p-8158f08f.entry.js} +1 -1
  421. package/lib/duet/{p-fad2449e.system.entry.js → p-821e7df8.system.entry.js} +1 -1
  422. package/lib/duet/{p-df07c70e.entry.js → p-84ee5bc9.entry.js} +1 -1
  423. package/lib/duet/{p-aea6cad6.entry.js → p-86c7b940.entry.js} +1 -1
  424. package/lib/duet/{p-8648d2f5.system.entry.js → p-8845de2e.system.entry.js} +1 -1
  425. package/lib/duet/p-888e855d.entry.js +4 -0
  426. package/lib/duet/{p-63abaa65.system.entry.js → p-8a709b0d.system.entry.js} +1 -1
  427. package/lib/duet/{p-2fe9627e.entry.js → p-8c628593.entry.js} +1 -1
  428. package/lib/duet/{p-e6e10772.system.entry.js → p-8db4323f.system.entry.js} +1 -1
  429. package/lib/duet/{p-0dea58fb.system.entry.js → p-8e94ee62.system.entry.js} +1 -1
  430. package/lib/duet/{p-a4fb0b1b.entry.js → p-9050c043.entry.js} +1 -1
  431. package/lib/duet/{p-14472496.entry.js → p-91967747.entry.js} +1 -1
  432. package/lib/duet/{p-04907e86.entry.js → p-91e74580.entry.js} +1 -1
  433. package/lib/duet/{p-a332b9cc.system.entry.js → p-9220b2f7.system.entry.js} +1 -1
  434. package/lib/duet/{p-c35840fb.system.entry.js → p-94283cba.system.entry.js} +1 -1
  435. package/lib/duet/{p-cfafdabe.entry.js → p-959d0b38.entry.js} +1 -1
  436. package/lib/duet/{p-06aee98f.entry.js → p-9629f198.entry.js} +1 -1
  437. package/lib/duet/p-973eb9ef.entry.js +4 -0
  438. package/lib/duet/{p-bd1a0a0e.entry.js → p-9828d01b.entry.js} +1 -1
  439. package/lib/duet/p-98ea8c33.entry.js +4 -0
  440. package/lib/duet/{p-aacbc604.system.entry.js → p-9ac83cce.system.entry.js} +1 -1
  441. package/lib/duet/{p-5cb76db3.entry.js → p-9ad418dc.entry.js} +1 -1
  442. package/lib/duet/{p-b2abb860.entry.js → p-9ea6b9ea.entry.js} +1 -1
  443. package/lib/duet/{p-3299651e.system.entry.js → p-9f887a8b.system.entry.js} +1 -1
  444. package/lib/duet/{p-3cf77ef1.entry.js → p-9ff81f9a.entry.js} +1 -1
  445. package/lib/duet/{p-f0da6a88.entry.js → p-a120b25b.entry.js} +1 -1
  446. package/lib/duet/{p-6059af2f.system.js → p-a45b41a5.system.js} +1 -1
  447. package/lib/duet/{p-0068c16a.entry.js → p-a7873d11.entry.js} +1 -1
  448. package/lib/duet/{p-a2cb5197.entry.js → p-a84ae2da.entry.js} +1 -1
  449. package/lib/duet/{p-a736cb85.system.entry.js → p-aa908860.system.entry.js} +1 -1
  450. package/lib/duet/{p-a18e89e9.js → p-ab6f31bd.js} +1 -1
  451. package/lib/duet/{p-383de017.system.entry.js → p-ad8efcc9.system.entry.js} +1 -1
  452. package/lib/duet/{p-97cb5a51.system.entry.js → p-ad9a28ce.system.entry.js} +1 -1
  453. package/lib/duet/{p-3a4a65fb.entry.js → p-af614927.entry.js} +1 -1
  454. package/lib/duet/{p-2d1c15ca.system.entry.js → p-af70b228.system.entry.js} +2 -2
  455. package/lib/duet/{p-093abc6e.system.entry.js → p-b081da29.system.entry.js} +1 -1
  456. package/lib/duet/{p-02b18289.entry.js → p-b2c3d1b0.entry.js} +1 -1
  457. package/lib/duet/{p-fdf49d7c.system.entry.js → p-b2e5c45c.system.entry.js} +1 -1
  458. package/lib/duet/{p-bc4409b4.entry.js → p-b3512b93.entry.js} +1 -1
  459. package/lib/duet/{p-d6d5b7d2.system.entry.js → p-b4d15993.system.entry.js} +1 -1
  460. package/lib/duet/{p-735f7521.system.entry.js → p-b51e2eee.system.entry.js} +1 -1
  461. package/lib/duet/{p-9e924acb.system.entry.js → p-b69bc1e1.system.entry.js} +1 -1
  462. package/lib/duet/{p-c00af14a.entry.js → p-b79fe3aa.entry.js} +1 -1
  463. package/lib/duet/{p-b88e5d27.system.entry.js → p-b89a059e.system.entry.js} +1 -1
  464. package/lib/duet/{p-2fe4b68d.system.entry.js → p-b8faf306.system.entry.js} +1 -1
  465. package/lib/duet/{p-d5584c75.system.entry.js → p-b948418d.system.entry.js} +1 -1
  466. package/lib/duet/{p-8104d84d.system.entry.js → p-b98222bd.system.entry.js} +1 -1
  467. package/lib/duet/{p-f08f4352.system.entry.js → p-bce0fb51.system.entry.js} +1 -1
  468. package/lib/duet/{p-8e5651f6.entry.js → p-bd74bd69.entry.js} +1 -1
  469. package/lib/duet/{p-e896d463.system.entry.js → p-bf8b75d0.system.entry.js} +2 -2
  470. package/lib/duet/p-bfa34b21.js +4 -0
  471. package/lib/duet/{p-86e5ee55.entry.js → p-c01383c1.entry.js} +1 -1
  472. package/lib/duet/{p-cc59d81e.entry.js → p-c1d59f6d.entry.js} +1 -1
  473. package/lib/duet/{p-2df303e1.system.entry.js → p-c249faed.system.entry.js} +1 -1
  474. package/lib/duet/{p-bf6bf882.system.entry.js → p-c558abb2.system.entry.js} +1 -1
  475. package/lib/duet/p-c5746dd0.system.js +4 -0
  476. package/lib/duet/p-c6f946fe.entry.js +4 -0
  477. package/lib/duet/{p-c11fb31b.system.entry.js → p-c7cbe815.system.entry.js} +1 -1
  478. package/lib/duet/{p-9a7cacc6.system.entry.js → p-ccc9e30f.system.entry.js} +1 -1
  479. package/lib/duet/{p-7edd0548.entry.js → p-cccc8a6c.entry.js} +1 -1
  480. package/lib/duet/{p-efbf770c.entry.js → p-ccf771f5.entry.js} +1 -1
  481. package/lib/duet/p-cd30e156.system.entry.js +4 -0
  482. package/lib/duet/{p-f56b7b97.entry.js → p-cd7e44b4.entry.js} +1 -1
  483. package/lib/duet/{p-980e091b.entry.js → p-ce59f561.entry.js} +1 -1
  484. package/lib/duet/{p-c485556f.entry.js → p-cf4ce1f7.entry.js} +1 -1
  485. package/lib/duet/{p-e5beaaac.system.entry.js → p-d0aae845.system.entry.js} +1 -1
  486. package/lib/duet/{p-01ed3ab8.entry.js → p-d468472d.entry.js} +1 -1
  487. package/lib/duet/{p-0c7b382c.system.entry.js → p-d4a56ffe.system.entry.js} +1 -1
  488. package/lib/duet/{p-9a4af723.system.entry.js → p-d6fa4e11.system.entry.js} +1 -1
  489. package/lib/duet/p-d75c8108.system.entry.js +4 -0
  490. package/lib/duet/{p-4b9e589b.entry.js → p-d81cefba.entry.js} +1 -1
  491. package/lib/duet/{p-c806e336.system.entry.js → p-d84bf562.system.entry.js} +1 -1
  492. package/lib/duet/p-dc5c5cc4.system.js +5 -0
  493. package/lib/duet/p-df2bdfe3.system.entry.js +4 -0
  494. package/lib/duet/{p-514b8d88.entry.js → p-e04146a1.entry.js} +1 -1
  495. package/lib/duet/{p-fd3301c3.entry.js → p-e2bafc44.entry.js} +1 -1
  496. package/lib/duet/{p-63faedd1.entry.js → p-e511bbaa.entry.js} +1 -1
  497. package/lib/duet/{p-ad01fd48.entry.js → p-e6364b25.entry.js} +1 -1
  498. package/lib/duet/{p-5ea98736.js → p-e7f2c310.js} +1 -1
  499. package/lib/duet/{p-a6c255f0.system.entry.js → p-e9246c27.system.entry.js} +1 -1
  500. package/lib/duet/{p-bd071a21.entry.js → p-e9f172ff.entry.js} +1 -1
  501. package/lib/duet/{p-eb4c270f.entry.js → p-ea2463be.entry.js} +1 -1
  502. package/lib/duet/{p-06519d7d.system.entry.js → p-ee4a44f2.system.entry.js} +1 -1
  503. package/lib/duet/{p-c442e17f.system.entry.js → p-ef266490.system.entry.js} +1 -1
  504. package/lib/duet/{p-70337fa5.entry.js → p-efa9f8e3.entry.js} +1 -1
  505. package/lib/duet/{p-de6167cd.system.entry.js → p-f0017b76.system.entry.js} +1 -1
  506. package/lib/duet/{p-9f30e9ff.system.entry.js → p-f0443463.system.entry.js} +1 -1
  507. package/lib/duet/{p-5e132e66.system.entry.js → p-f06b4e50.system.entry.js} +2 -2
  508. package/lib/duet/{p-4be7217d.system.entry.js → p-f082acbe.system.entry.js} +1 -1
  509. package/lib/duet/{p-7a2ea041.entry.js → p-f263a147.entry.js} +1 -1
  510. package/lib/duet/{p-d189564a.system.entry.js → p-f3bf0f9b.system.entry.js} +1 -1
  511. package/lib/duet/{p-e13df07a.system.entry.js → p-f55a55e1.system.entry.js} +1 -1
  512. package/lib/duet/{p-7b4f66fb.entry.js → p-f6795cc3.entry.js} +1 -1
  513. package/lib/duet/{p-fd68a0b0.entry.js → p-f805492f.entry.js} +1 -1
  514. package/lib/duet/{p-ad260c1f.entry.js → p-f829fc48.entry.js} +1 -1
  515. package/lib/duet/{p-2a1cc5cd.system.entry.js → p-f98d46b5.system.entry.js} +1 -1
  516. package/lib/duet/{p-50f10190.system.entry.js → p-f9f8cc8b.system.entry.js} +1 -1
  517. package/lib/duet/p-fc406422.system.entry.js +4 -0
  518. package/lib/duet/{p-19626704.js → p-fe85cfac.js} +1 -1
  519. package/lib/duet/p-feb2f78b.entry.js +4 -0
  520. package/lib/duet/{p-4f0a578a.entry.js → p-ff664cb1.entry.js} +1 -1
  521. package/lib/esm/{app-globals-6da9dd84.js → app-globals-154dbc04.js} +1 -1
  522. package/lib/esm/duet-action-button.entry.js +2 -2
  523. package/lib/esm/duet-alert.entry.js +4 -4
  524. package/lib/esm/duet-badge.entry.js +1 -1
  525. package/lib/esm/duet-banner.entry.js +2 -2
  526. package/lib/esm/duet-breadcrumb.entry.js +2 -2
  527. package/lib/esm/duet-breadcrumbs.entry.js +2 -2
  528. package/lib/esm/duet-button_2.entry.js +2 -2
  529. package/lib/esm/duet-callout.entry.js +2 -2
  530. package/lib/esm/duet-caption_4.entry.js +2 -2
  531. package/lib/esm/duet-card.entry.js +1 -1
  532. package/lib/esm/duet-checkbox.entry.js +1 -1
  533. package/lib/esm/duet-checkmark.entry.js +1 -1
  534. package/lib/esm/duet-chip_3.entry.js +55 -26
  535. package/lib/esm/duet-choice_2.entry.js +4 -4
  536. package/lib/esm/duet-collapsible.entry.js +2 -2
  537. package/lib/esm/duet-combobox.entry.js +4 -4
  538. package/lib/esm/duet-contact-card.entry.js +2 -2
  539. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  540. package/lib/esm/duet-date-picker.entry.js +48 -31
  541. package/lib/esm/duet-divider_2.entry.js +1 -1
  542. package/lib/esm/duet-editable-table_3.entry.js +5 -5
  543. package/lib/esm/duet-empty-state.entry.js +1 -1
  544. package/lib/esm/duet-fieldset.entry.js +2 -2
  545. package/lib/esm/duet-file-chooser.entry.js +1 -1
  546. package/lib/esm/duet-footer.entry.js +3 -3
  547. package/lib/esm/duet-grid_2.entry.js +1 -1
  548. package/lib/esm/duet-header_2.entry.js +2 -2
  549. package/lib/esm/duet-hero.entry.js +3 -3
  550. package/lib/esm/duet-icon.entry.js +1 -1
  551. package/lib/esm/duet-input_2.entry.js +4 -4
  552. package/lib/esm/duet-layout.entry.js +2 -2
  553. package/lib/esm/duet-list_2.entry.js +1 -1
  554. package/lib/esm/duet-menu-bar-button.entry.js +1 -1
  555. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -1
  556. package/lib/esm/duet-menu-bar-dropdown.entry.js +1 -1
  557. package/lib/esm/duet-menu-bar-item.entry.js +2 -2
  558. package/lib/esm/duet-menu-bar-link.entry.js +1 -1
  559. package/lib/esm/duet-menu-bar.entry.js +16 -6
  560. package/lib/esm/duet-modal.entry.js +4 -4
  561. package/lib/esm/duet-multiselect.entry.js +3 -3
  562. package/lib/esm/duet-nav.entry.js +1 -1
  563. package/lib/esm/duet-notification_2.entry.js +3 -3
  564. package/lib/esm/duet-number-input.entry.js +3 -3
  565. package/lib/esm/duet-overlay.entry.js +1 -1
  566. package/lib/esm/duet-page-heading.entry.js +1 -1
  567. package/lib/esm/duet-pagination_2.entry.js +2 -2
  568. package/lib/esm/duet-progress.entry.js +2 -2
  569. package/lib/esm/duet-promo-card.entry.js +2 -2
  570. package/lib/esm/duet-radio_2.entry.js +2 -2
  571. package/lib/esm/duet-range-slider.entry.js +1 -1
  572. package/lib/esm/duet-scrollable_3.entry.js +3 -8
  573. package/lib/esm/duet-section-layout.entry.js +1 -1
  574. package/lib/esm/duet-select.entry.js +2 -2
  575. package/lib/esm/duet-shaped-image.entry.js +1 -1
  576. package/lib/esm/duet-show-more.entry.js +3 -3
  577. package/lib/esm/duet-slideout-lang.entry.js +2 -2
  578. package/lib/esm/duet-slideout-link.entry.js +1 -1
  579. package/lib/esm/duet-slideout-panel-dropdown.entry.js +5 -5
  580. package/lib/esm/duet-slideout-panel.entry.js +14 -11
  581. package/lib/esm/duet-slideout.entry.js +38 -15
  582. package/lib/esm/duet-step_2.entry.js +1 -1
  583. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +3 -3
  584. package/lib/esm/duet-submenu-bar-dropdown.entry.js +5 -5
  585. package/lib/esm/duet-submenu-bar-item.entry.js +3 -3
  586. package/lib/esm/duet-submenu-bar-link.entry.js +2 -2
  587. package/lib/esm/duet-submenu-bar.entry.js +6 -6
  588. package/lib/esm/duet-textarea.entry.js +3 -3
  589. package/lib/esm/duet-toggle.entry.js +1 -1
  590. package/lib/esm/duet-toolbar-dropdown-link.entry.js +3 -3
  591. package/lib/esm/duet-toolbar-dropdown.entry.js +5 -5
  592. package/lib/esm/duet-toolbar-item.entry.js +8 -7
  593. package/lib/esm/duet-toolbar-link.entry.js +3 -3
  594. package/lib/esm/duet-toolbar.entry.js +3 -3
  595. package/lib/esm/duet-tooltip-button_2.entry.js +6 -6
  596. package/lib/esm/duet-tooltip.entry.js +2 -2
  597. package/lib/esm/duet-tray.entry.js +4 -4
  598. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  599. package/lib/esm/duet-upload-item.entry.js +3 -3
  600. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  601. package/lib/esm/duet.js +5 -5
  602. package/lib/esm/{errorcodes.utils-a305e00b.js → errorcodes.utils-55018fd0.js} +1 -1
  603. package/lib/esm/{focus-utils-8f735598.js → focus-utils-29c235cb.js} +1 -1
  604. package/lib/esm/{index-e48e0ceb.js → index-f5d67bb6.js} +827 -580
  605. package/lib/esm/{language-utils-72de56f9.js → language-utils-bd643c5c.js} +1 -1
  606. package/lib/esm/loader.js +4 -4
  607. package/lib/esm/{slot-utils-3d27a887.js → slot-utils-5369c9ff.js} +1 -1
  608. package/lib/esm-es5/{app-globals-6da9dd84.js → app-globals-154dbc04.js} +1 -1
  609. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  610. package/lib/esm-es5/duet-alert.entry.js +1 -1
  611. package/lib/esm-es5/duet-badge.entry.js +1 -1
  612. package/lib/esm-es5/duet-banner.entry.js +1 -1
  613. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  614. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  615. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  616. package/lib/esm-es5/duet-callout.entry.js +1 -1
  617. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  618. package/lib/esm-es5/duet-card.entry.js +2 -2
  619. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  620. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  621. package/lib/esm-es5/duet-chip_3.entry.js +1 -1
  622. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  623. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  624. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  625. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  626. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  627. package/lib/esm-es5/duet-date-picker.entry.js +2 -2
  628. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  629. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  630. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  631. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  632. package/lib/esm-es5/duet-file-chooser.entry.js +1 -1
  633. package/lib/esm-es5/duet-footer.entry.js +1 -1
  634. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  635. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  636. package/lib/esm-es5/duet-hero.entry.js +2 -2
  637. package/lib/esm-es5/duet-icon.entry.js +1 -1
  638. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  639. package/lib/esm-es5/duet-layout.entry.js +1 -1
  640. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  641. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  642. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  643. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +2 -2
  644. package/lib/esm-es5/duet-menu-bar-item.entry.js +1 -1
  645. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  646. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  647. package/lib/esm-es5/duet-modal.entry.js +1 -1
  648. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  649. package/lib/esm-es5/duet-nav.entry.js +1 -1
  650. package/lib/esm-es5/duet-notification_2.entry.js +2 -2
  651. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  652. package/lib/esm-es5/duet-overlay.entry.js +1 -1
  653. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  654. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  655. package/lib/esm-es5/duet-progress.entry.js +1 -1
  656. package/lib/esm-es5/duet-promo-card.entry.js +1 -1
  657. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  658. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  659. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  660. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  661. package/lib/esm-es5/duet-select.entry.js +1 -1
  662. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  663. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  664. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  665. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  666. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +2 -2
  667. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  668. package/lib/esm-es5/duet-slideout.entry.js +2 -2
  669. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  670. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  671. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  672. package/lib/esm-es5/duet-submenu-bar-item.entry.js +2 -2
  673. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  674. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  675. package/lib/esm-es5/duet-textarea.entry.js +2 -2
  676. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  677. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  678. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  679. package/lib/esm-es5/duet-toolbar-item.entry.js +2 -2
  680. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  681. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  682. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  683. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  684. package/lib/esm-es5/duet-tray.entry.js +1 -1
  685. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  686. package/lib/esm-es5/duet-upload-item.entry.js +1 -1
  687. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  688. package/lib/esm-es5/duet.js +1 -1
  689. package/lib/esm-es5/{errorcodes.utils-a305e00b.js → errorcodes.utils-55018fd0.js} +1 -1
  690. package/lib/esm-es5/focus-utils-29c235cb.js +4 -0
  691. package/lib/esm-es5/index-f5d67bb6.js +5 -0
  692. package/lib/esm-es5/{language-utils-72de56f9.js → language-utils-bd643c5c.js} +1 -1
  693. package/lib/esm-es5/loader.js +1 -1
  694. package/lib/esm-es5/{slot-utils-3d27a887.js → slot-utils-5369c9ff.js} +1 -1
  695. package/lib/types/components/duet-date-picker/date-picker-day.d.ts +1 -1
  696. package/lib/types/components/duet-date-picker/date-picker-input.d.ts +1 -0
  697. package/lib/types/components/duet-date-picker/date-picker-month.d.ts +1 -1
  698. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +4 -2
  699. package/lib/types/components/duet-menu-bar/duet-menu-bar.d.ts +5 -0
  700. package/lib/types/components/duet-popup-menu/duet-popup-menu.d.ts +17 -5
  701. package/lib/types/components/duet-slideout/duet-slideout.d.ts +11 -3
  702. package/lib/types/components/duet-slideout-panel/duet-slideout-panel.d.ts +4 -0
  703. package/lib/types/components/duet-toolbar-item/duet-toolbar-item.d.ts +4 -0
  704. package/lib/types/components.d.ts +52 -10
  705. package/package.json +7 -6
  706. package/lib/duet/p-03c48743.entry.js +0 -4
  707. package/lib/duet/p-135b141e.entry.js +0 -4
  708. package/lib/duet/p-21256995.entry.js +0 -4
  709. package/lib/duet/p-2333196e.entry.js +0 -4
  710. package/lib/duet/p-2cc63a64.system.entry.js +0 -4
  711. package/lib/duet/p-337cab93.entry.js +0 -4
  712. package/lib/duet/p-39e7cae9.system.entry.js +0 -4
  713. package/lib/duet/p-41dcd22c.system.js +0 -4
  714. package/lib/duet/p-45b7ae86.entry.js +0 -4
  715. package/lib/duet/p-495425cd.system.entry.js +0 -4
  716. package/lib/duet/p-4a73a090.system.entry.js +0 -4
  717. package/lib/duet/p-543b87b6.system.entry.js +0 -4
  718. package/lib/duet/p-6488c9a9.system.entry.js +0 -4
  719. package/lib/duet/p-693cf3ec.entry.js +0 -4
  720. package/lib/duet/p-6a1545b0.entry.js +0 -4
  721. package/lib/duet/p-7e08d07c.system.js +0 -5
  722. package/lib/duet/p-841a55c5.system.js +0 -4
  723. package/lib/duet/p-a0932d90.system.entry.js +0 -4
  724. package/lib/duet/p-a914a79e.system.js +0 -4
  725. package/lib/duet/p-aa3ba248.entry.js +0 -4
  726. package/lib/duet/p-b58b7aa7.system.entry.js +0 -4
  727. package/lib/duet/p-d3828a36.js +0 -5
  728. package/lib/duet/p-d81917ad.system.entry.js +0 -4
  729. package/lib/duet/p-dfd8cd60.js +0 -4
  730. package/lib/duet/p-f17df5b6.system.entry.js +0 -4
  731. package/lib/duet/p-f68ba028.entry.js +0 -4
  732. package/lib/duet/p-fe803897.system.entry.js +0 -4
  733. package/lib/esm-es5/focus-utils-8f735598.js +0 -4
  734. package/lib/esm-es5/index-e48e0ceb.js +0 -5
package/hydrate/index.js CHANGED
@@ -176,7 +176,7 @@ var appGlobalScript = () => {
176
176
  const globalScripts = appGlobalScript;
177
177
 
178
178
  /*
179
- Stencil Hydrate Platform v4.22.2 | MIT Licensed | https://stenciljs.com
179
+ Stencil Hydrate Platform v4.23.0 | MIT Licensed | https://stenciljs.com
180
180
  */
181
181
  var __defProp = Object.defineProperty;
182
182
  var __export = (target, all) => {
@@ -250,26 +250,13 @@ var unwrapErr = (result) => {
250
250
  throw result.value;
251
251
  }
252
252
  };
253
- var createTime = (fnName, tagName = "") => {
254
- {
255
- return () => {
256
- return;
257
- };
258
- }
259
- };
260
- var uniqueTime = (key, measureText) => {
261
- {
262
- return () => {
263
- return;
264
- };
265
- }
266
- };
267
253
 
268
254
  // src/runtime/runtime-constants.ts
269
255
  var CONTENT_REF_ID = "r";
270
256
  var ORG_LOCATION_ID = "o";
271
257
  var SLOT_NODE_ID = "s";
272
258
  var TEXT_NODE_ID = "t";
259
+ var COMMENT_NODE_ID = "c";
273
260
  var HYDRATE_ID = "s-id";
274
261
  var HYDRATED_STYLE_ID = "sty-id";
275
262
  var HYDRATE_CHILD_ID = "c-id";
@@ -392,321 +379,6 @@ var convertToPrivate = (node) => {
392
379
  vnode.$name$ = node.vname;
393
380
  return vnode;
394
381
  };
395
-
396
- // src/runtime/client-hydrate.ts
397
- var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
398
- const endHydrate = createTime("hydrateClient", tagName);
399
- const shadowRoot = hostElm.shadowRoot;
400
- const childRenderNodes = [];
401
- const slotNodes = [];
402
- const shadowRootNodes = shadowRoot ? [] : null;
403
- const vnode = hostRef.$vnode$ = newVNode(tagName, null);
404
- if (!plt.$orgLocNodes$) {
405
- initializeDocumentHydrate(doc.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
406
- }
407
- hostElm[HYDRATE_ID] = hostId;
408
- hostElm.removeAttribute(HYDRATE_ID);
409
- clientHydrate(vnode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, hostElm, hostId);
410
- childRenderNodes.map((c) => {
411
- const orgLocationId = c.$hostId$ + "." + c.$nodeId$;
412
- const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);
413
- const node = c.$elm$;
414
- if (orgLocationNode && supportsShadow && orgLocationNode["s-en"] === "") {
415
- orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
416
- }
417
- if (!shadowRoot) {
418
- node["s-hn"] = tagName;
419
- if (orgLocationNode) {
420
- node["s-ol"] = orgLocationNode;
421
- node["s-ol"]["s-nr"] = node;
422
- }
423
- }
424
- plt.$orgLocNodes$.delete(orgLocationId);
425
- });
426
- if (shadowRoot) {
427
- shadowRootNodes.map((shadowRootNode) => {
428
- if (shadowRootNode) {
429
- shadowRoot.appendChild(shadowRootNode);
430
- }
431
- });
432
- }
433
- endHydrate();
434
- };
435
- var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId) => {
436
- let childNodeType;
437
- let childIdSplt;
438
- let childVNode;
439
- let i2;
440
- if (node.nodeType === 1 /* ElementNode */) {
441
- childNodeType = node.getAttribute(HYDRATE_CHILD_ID);
442
- if (childNodeType) {
443
- childIdSplt = childNodeType.split(".");
444
- if (childIdSplt[0] === hostId || childIdSplt[0] === "0") {
445
- childVNode = {
446
- $flags$: 0,
447
- $hostId$: childIdSplt[0],
448
- $nodeId$: childIdSplt[1],
449
- $depth$: childIdSplt[2],
450
- $index$: childIdSplt[3],
451
- $tag$: node.tagName.toLowerCase(),
452
- $elm$: node,
453
- $attrs$: null,
454
- $children$: null,
455
- $key$: null,
456
- $name$: null,
457
- $text$: null
458
- };
459
- childRenderNodes.push(childVNode);
460
- node.removeAttribute(HYDRATE_CHILD_ID);
461
- if (!parentVNode.$children$) {
462
- parentVNode.$children$ = [];
463
- }
464
- parentVNode.$children$[childVNode.$index$] = childVNode;
465
- parentVNode = childVNode;
466
- if (shadowRootNodes && childVNode.$depth$ === "0") {
467
- shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
468
- }
469
- }
470
- }
471
- if (node.shadowRoot) {
472
- for (i2 = node.shadowRoot.childNodes.length - 1; i2 >= 0; i2--) {
473
- clientHydrate(
474
- parentVNode,
475
- childRenderNodes,
476
- slotNodes,
477
- shadowRootNodes,
478
- hostElm,
479
- node.shadowRoot.childNodes[i2],
480
- hostId
481
- );
482
- }
483
- }
484
- for (i2 = node.childNodes.length - 1; i2 >= 0; i2--) {
485
- clientHydrate(
486
- parentVNode,
487
- childRenderNodes,
488
- slotNodes,
489
- shadowRootNodes,
490
- hostElm,
491
- node.childNodes[i2],
492
- hostId
493
- );
494
- }
495
- } else if (node.nodeType === 8 /* CommentNode */) {
496
- childIdSplt = node.nodeValue.split(".");
497
- if (childIdSplt[1] === hostId || childIdSplt[1] === "0") {
498
- childNodeType = childIdSplt[0];
499
- childVNode = {
500
- $flags$: 0,
501
- $hostId$: childIdSplt[1],
502
- $nodeId$: childIdSplt[2],
503
- $depth$: childIdSplt[3],
504
- $index$: childIdSplt[4],
505
- $elm$: node,
506
- $attrs$: null,
507
- $children$: null,
508
- $key$: null,
509
- $name$: null,
510
- $tag$: null,
511
- $text$: null
512
- };
513
- if (childNodeType === TEXT_NODE_ID) {
514
- childVNode.$elm$ = node.nextSibling;
515
- if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) {
516
- childVNode.$text$ = childVNode.$elm$.textContent;
517
- childRenderNodes.push(childVNode);
518
- node.remove();
519
- if (!parentVNode.$children$) {
520
- parentVNode.$children$ = [];
521
- }
522
- parentVNode.$children$[childVNode.$index$] = childVNode;
523
- if (shadowRootNodes && childVNode.$depth$ === "0") {
524
- shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
525
- }
526
- }
527
- } else if (childVNode.$hostId$ === hostId) {
528
- if (childNodeType === SLOT_NODE_ID) {
529
- childVNode.$tag$ = "slot";
530
- if (childIdSplt[5]) {
531
- node["s-sn"] = childVNode.$name$ = childIdSplt[5];
532
- } else {
533
- node["s-sn"] = "";
534
- }
535
- node["s-sr"] = true;
536
- if (shadowRootNodes) {
537
- childVNode.$elm$ = doc.createElement(childVNode.$tag$);
538
- if (childVNode.$name$) {
539
- childVNode.$elm$.setAttribute("name", childVNode.$name$);
540
- }
541
- node.parentNode.insertBefore(childVNode.$elm$, node);
542
- node.remove();
543
- if (childVNode.$depth$ === "0") {
544
- shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
545
- }
546
- }
547
- slotNodes.push(childVNode);
548
- if (!parentVNode.$children$) {
549
- parentVNode.$children$ = [];
550
- }
551
- parentVNode.$children$[childVNode.$index$] = childVNode;
552
- } else if (childNodeType === CONTENT_REF_ID) {
553
- if (shadowRootNodes) {
554
- node.remove();
555
- } else {
556
- hostElm["s-cr"] = node;
557
- node["s-cn"] = true;
558
- }
559
- }
560
- }
561
- }
562
- } else if (parentVNode && parentVNode.$tag$ === "style") {
563
- const vnode = newVNode(null, node.textContent);
564
- vnode.$elm$ = node;
565
- vnode.$index$ = "0";
566
- parentVNode.$children$ = [vnode];
567
- }
568
- };
569
- var initializeDocumentHydrate = (node, orgLocNodes) => {
570
- if (node.nodeType === 1 /* ElementNode */) {
571
- let i2 = 0;
572
- if (node.shadowRoot) {
573
- for (; i2 < node.shadowRoot.childNodes.length; i2++) {
574
- initializeDocumentHydrate(node.shadowRoot.childNodes[i2], orgLocNodes);
575
- }
576
- }
577
- for (i2 = 0; i2 < node.childNodes.length; i2++) {
578
- initializeDocumentHydrate(node.childNodes[i2], orgLocNodes);
579
- }
580
- } else if (node.nodeType === 8 /* CommentNode */) {
581
- const childIdSplt = node.nodeValue.split(".");
582
- if (childIdSplt[0] === ORG_LOCATION_ID) {
583
- orgLocNodes.set(childIdSplt[1] + "." + childIdSplt[2], node);
584
- node.nodeValue = "";
585
- node["s-en"] = childIdSplt[3];
586
- }
587
- }
588
- };
589
- var parsePropertyValue = (propValue, propType) => {
590
- if (propValue != null && !isComplexType(propValue)) {
591
- if (propType & 4 /* Boolean */) {
592
- return propValue === "false" ? false : propValue === "" || !!propValue;
593
- }
594
- if (propType & 2 /* Number */) {
595
- return parseFloat(propValue);
596
- }
597
- if (propType & 1 /* String */) {
598
- return String(propValue);
599
- }
600
- return propValue;
601
- }
602
- return propValue;
603
- };
604
- var getElement = (ref) => getHostRef(ref).$hostElement$ ;
605
-
606
- // src/runtime/event-emitter.ts
607
- var createEvent$2 = (ref, name, flags) => {
608
- const elm = getElement(ref);
609
- return {
610
- emit: (detail) => {
611
- return emitEvent(elm, name, {
612
- bubbles: !!(flags & 4 /* Bubbles */),
613
- composed: !!(flags & 2 /* Composed */),
614
- cancelable: !!(flags & 1 /* Cancellable */),
615
- detail
616
- });
617
- }
618
- };
619
- };
620
- var emitEvent = (elm, name, opts) => {
621
- const ev = plt.ce(name, opts);
622
- elm.dispatchEvent(ev);
623
- return ev;
624
- };
625
- var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
626
- var registerStyle = (scopeId2, cssText, allowCS) => {
627
- let style = styles.get(scopeId2);
628
- {
629
- style = cssText;
630
- }
631
- styles.set(scopeId2, style);
632
- };
633
- var addStyle = (styleContainerNode, cmpMeta, mode) => {
634
- var _a;
635
- const scopeId2 = getScopeId(cmpMeta);
636
- const style = styles.get(scopeId2);
637
- styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;
638
- if (style) {
639
- if (typeof style === "string") {
640
- styleContainerNode = styleContainerNode.head || styleContainerNode;
641
- let appliedStyles = rootAppliedStyles.get(styleContainerNode);
642
- let styleElm;
643
- if (!appliedStyles) {
644
- rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
645
- }
646
- if (!appliedStyles.has(scopeId2)) {
647
- if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
648
- styleElm.innerHTML = style;
649
- } else {
650
- styleElm = doc.createElement("style");
651
- styleElm.innerHTML = style;
652
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
653
- if (nonce != null) {
654
- styleElm.setAttribute("nonce", nonce);
655
- }
656
- if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
657
- styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId2);
658
- }
659
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
660
- if (styleContainerNode.nodeName === "HEAD") {
661
- const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
662
- const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
663
- styleContainerNode.insertBefore(styleElm, referenceNode2);
664
- } else if ("host" in styleContainerNode) {
665
- {
666
- const existingStyleContainer = styleContainerNode.querySelector("style");
667
- if (existingStyleContainer) {
668
- existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
669
- } else {
670
- styleContainerNode.prepend(styleElm);
671
- }
672
- }
673
- } else {
674
- styleContainerNode.append(styleElm);
675
- }
676
- }
677
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD") {
678
- styleContainerNode.insertBefore(styleElm, null);
679
- }
680
- }
681
- if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
682
- styleElm.innerHTML += SLOT_FB_CSS;
683
- }
684
- if (appliedStyles) {
685
- appliedStyles.add(scopeId2);
686
- }
687
- }
688
- }
689
- }
690
- return scopeId2;
691
- };
692
- var attachStyles = (hostRef) => {
693
- const cmpMeta = hostRef.$cmpMeta$;
694
- const elm = hostRef.$hostElement$;
695
- const flags = cmpMeta.$flags$;
696
- const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
697
- const scopeId2 = addStyle(
698
- elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
699
- cmpMeta);
700
- if (flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */) {
701
- elm["s-sc"] = scopeId2;
702
- elm.classList.add(scopeId2 + "-h");
703
- if (flags & 2 /* scopedCssEncapsulation */) {
704
- elm.classList.add(scopeId2 + "-s");
705
- }
706
- }
707
- endAttachStyles();
708
- };
709
- var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
710
382
  var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
711
383
  if (oldValue !== newValue) {
712
384
  let isProp = isMemberInElement(elm, memberName);
@@ -715,6 +387,9 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
715
387
  const classList = elm.classList;
716
388
  const oldClasses = parseClassList(oldValue);
717
389
  const newClasses = parseClassList(newValue);
390
+ if (elm["s-si"] && newClasses.indexOf(elm["s-si"]) < 0) {
391
+ newClasses.push(elm["s-si"]);
392
+ }
718
393
  classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
719
394
  classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
720
395
  } else if (memberName === "style") {
@@ -928,7 +603,7 @@ var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
928
603
  };
929
604
  var putBackInOriginalLocation = (parentElm, recursive) => {
930
605
  plt.$flags$ |= 1 /* isTmpDisconnected */;
931
- const oldSlotChildNodes = Array.from(parentElm.childNodes);
606
+ const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes);
932
607
  if (parentElm["s-sr"] && BUILD.experimentalSlotFixes) {
933
608
  let node = parentElm;
934
609
  while (node = node.nextSibling) {
@@ -1142,7 +817,7 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
1142
817
  }
1143
818
  };
1144
819
  var updateFallbackSlotVisibility = (elm) => {
1145
- const childNodes = elm.childNodes;
820
+ const childNodes = elm.__childNodes || elm.childNodes;
1146
821
  for (const childNode of childNodes) {
1147
822
  if (childNode.nodeType === 1 /* ElementNode */) {
1148
823
  if (childNode["s-sr"]) {
@@ -1155,7 +830,7 @@ var updateFallbackSlotVisibility = (elm) => {
1155
830
  childNode.hidden = true;
1156
831
  break;
1157
832
  }
1158
- } else {
833
+ } else if (slotName === siblingNode["s-sn"]) {
1159
834
  if (siblingNode.nodeType === 1 /* ElementNode */ || siblingNode.nodeType === 3 /* TextNode */ && siblingNode.textContent.trim() !== "") {
1160
835
  childNode.hidden = true;
1161
836
  break;
@@ -1173,9 +848,10 @@ var markSlotContentForRelocation = (elm) => {
1173
848
  let node;
1174
849
  let hostContentNodes;
1175
850
  let j;
1176
- for (const childNode of elm.childNodes) {
851
+ const children = elm.__childNodes || elm.childNodes;
852
+ for (const childNode of children) {
1177
853
  if (childNode["s-sr"] && (node = childNode["s-cr"]) && node.parentNode) {
1178
- hostContentNodes = node.parentNode.childNodes;
854
+ hostContentNodes = node.parentNode.__childNodes || node.parentNode.childNodes;
1179
855
  const slotName = childNode["s-sn"];
1180
856
  for (j = hostContentNodes.length - 1; j >= 0; j--) {
1181
857
  node = hostContentNodes[j];
@@ -1264,7 +940,7 @@ var updateElementScopeIds = (element, parent, iterateChildNodes = false) => {
1264
940
  if (scopeIds.size) {
1265
941
  (_a = element.classList) == null ? void 0 : _a.add(...element["s-scs"] = Array.from(scopeIds));
1266
942
  if (element["s-ol"] || iterateChildNodes) {
1267
- for (const childNode of Array.from(element.childNodes)) {
943
+ for (const childNode of Array.from(element.__childNodes || element.childNodes)) {
1268
944
  updateElementScopeIds(childNode, element, true);
1269
945
  }
1270
946
  }
@@ -1375,6 +1051,512 @@ var slotReferenceDebugNode = (slotVNode) => doc.createComment(
1375
1051
  var originalLocationDebugNode = (nodeToRelocate) => doc.createComment(
1376
1052
  `org-location for ` + (nodeToRelocate.localName ? `<${nodeToRelocate.localName}> (host=${nodeToRelocate["s-hn"]})` : `[${nodeToRelocate.textContent}]`)
1377
1053
  );
1054
+ var addSlotRelocateNode = (newChild, slotNode, prepend, position) => {
1055
+ let slottedNodeLocation;
1056
+ if (newChild["s-ol"] && newChild["s-ol"].isConnected) {
1057
+ slottedNodeLocation = newChild["s-ol"];
1058
+ } else {
1059
+ slottedNodeLocation = document.createTextNode("");
1060
+ slottedNodeLocation["s-nr"] = newChild;
1061
+ }
1062
+ if (!slotNode["s-cr"] || !slotNode["s-cr"].parentNode) return;
1063
+ const parent = slotNode["s-cr"].parentNode;
1064
+ const appendMethod = prepend ? parent.__prepend || parent.prepend : parent.__appendChild || parent.appendChild;
1065
+ if (typeof position !== "undefined") {
1066
+ {
1067
+ slottedNodeLocation["s-oo"] = position;
1068
+ const childNodes = parent.__childNodes || parent.childNodes;
1069
+ const slotRelocateNodes = [slottedNodeLocation];
1070
+ childNodes.forEach((n) => {
1071
+ if (n["s-nr"]) slotRelocateNodes.push(n);
1072
+ });
1073
+ slotRelocateNodes.sort((a, b) => {
1074
+ if (!a["s-oo"] || a["s-oo"] < b["s-oo"]) return -1;
1075
+ else if (!b["s-oo"] || b["s-oo"] < a["s-oo"]) return 1;
1076
+ return 0;
1077
+ });
1078
+ slotRelocateNodes.forEach((n) => appendMethod.call(parent, n));
1079
+ }
1080
+ } else {
1081
+ appendMethod.call(parent, slottedNodeLocation);
1082
+ }
1083
+ newChild["s-ol"] = slottedNodeLocation;
1084
+ newChild["s-sh"] = slotNode["s-hn"];
1085
+ };
1086
+ var createTime = (fnName, tagName = "") => {
1087
+ {
1088
+ return () => {
1089
+ return;
1090
+ };
1091
+ }
1092
+ };
1093
+ var uniqueTime = (key, measureText) => {
1094
+ {
1095
+ return () => {
1096
+ return;
1097
+ };
1098
+ }
1099
+ };
1100
+
1101
+ // src/runtime/client-hydrate.ts
1102
+ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1103
+ const endHydrate = createTime("hydrateClient", tagName);
1104
+ const shadowRoot = hostElm.shadowRoot;
1105
+ const childRenderNodes = [];
1106
+ const slotNodes = [];
1107
+ const slottedNodes = [];
1108
+ const shadowRootNodes = shadowRoot ? [] : null;
1109
+ const vnode = newVNode(tagName, null);
1110
+ vnode.$elm$ = hostElm;
1111
+ if (!plt.$orgLocNodes$) {
1112
+ initializeDocumentHydrate(doc.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
1113
+ }
1114
+ hostElm[HYDRATE_ID] = hostId;
1115
+ hostElm.removeAttribute(HYDRATE_ID);
1116
+ hostRef.$vnode$ = clientHydrate(
1117
+ vnode,
1118
+ childRenderNodes,
1119
+ slotNodes,
1120
+ shadowRootNodes,
1121
+ hostElm,
1122
+ hostElm,
1123
+ hostId,
1124
+ slottedNodes
1125
+ );
1126
+ let crIndex = 0;
1127
+ const crLength = childRenderNodes.length;
1128
+ let childRenderNode;
1129
+ for (crIndex; crIndex < crLength; crIndex++) {
1130
+ childRenderNode = childRenderNodes[crIndex];
1131
+ const orgLocationId = childRenderNode.$hostId$ + "." + childRenderNode.$nodeId$;
1132
+ const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);
1133
+ const node = childRenderNode.$elm$;
1134
+ if (!shadowRoot) {
1135
+ node["s-hn"] = tagName.toUpperCase();
1136
+ if (childRenderNode.$tag$ === "slot") {
1137
+ node["s-cr"] = hostElm["s-cr"];
1138
+ }
1139
+ }
1140
+ if (orgLocationNode && orgLocationNode.isConnected) {
1141
+ if (shadowRoot && orgLocationNode["s-en"] === "") {
1142
+ orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
1143
+ }
1144
+ orgLocationNode.parentNode.removeChild(orgLocationNode);
1145
+ if (!shadowRoot) {
1146
+ node["s-oo"] = parseInt(childRenderNode.$nodeId$);
1147
+ }
1148
+ }
1149
+ plt.$orgLocNodes$.delete(orgLocationId);
1150
+ }
1151
+ const hosts = [];
1152
+ let snIndex = 0;
1153
+ const snLen = slottedNodes.length;
1154
+ let slotGroup;
1155
+ let snGroupIdx;
1156
+ let snGroupLen;
1157
+ let slottedItem;
1158
+ for (snIndex; snIndex < snLen; snIndex++) {
1159
+ slotGroup = slottedNodes[snIndex];
1160
+ if (!slotGroup || !slotGroup.length) continue;
1161
+ snGroupLen = slotGroup.length;
1162
+ snGroupIdx = 0;
1163
+ for (snGroupIdx; snGroupIdx < snGroupLen; snGroupIdx++) {
1164
+ slottedItem = slotGroup[snGroupIdx];
1165
+ if (!hosts[slottedItem.hostId]) {
1166
+ hosts[slottedItem.hostId] = plt.$orgLocNodes$.get(slottedItem.hostId);
1167
+ }
1168
+ if (!hosts[slottedItem.hostId]) continue;
1169
+ const hostEle = hosts[slottedItem.hostId];
1170
+ if (!hostEle.shadowRoot || !shadowRoot) {
1171
+ slottedItem.slot["s-cr"] = hostEle["s-cr"];
1172
+ if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
1173
+ slottedItem.slot["s-cr"] = hostEle;
1174
+ } else {
1175
+ const hostChildren = hostEle.__childNodes || hostEle.childNodes;
1176
+ slottedItem.slot["s-cr"] = hostChildren[0];
1177
+ }
1178
+ addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
1179
+ }
1180
+ if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
1181
+ hostEle.appendChild(slottedItem.node);
1182
+ }
1183
+ }
1184
+ }
1185
+ if (shadowRoot) {
1186
+ let rnIdex = 0;
1187
+ const rnLen = shadowRootNodes.length;
1188
+ for (rnIdex; rnIdex < rnLen; rnIdex++) {
1189
+ shadowRoot.appendChild(shadowRootNodes[rnIdex]);
1190
+ }
1191
+ Array.from(hostElm.childNodes).forEach((node) => {
1192
+ if (node.nodeType === 8 /* CommentNode */ && typeof node["s-sn"] !== "string") {
1193
+ node.parentNode.removeChild(node);
1194
+ }
1195
+ });
1196
+ }
1197
+ hostRef.$hostElement$ = hostElm;
1198
+ endHydrate();
1199
+ };
1200
+ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId, slottedNodes = []) => {
1201
+ let childNodeType;
1202
+ let childIdSplt;
1203
+ let childVNode;
1204
+ let i2;
1205
+ const scopeId2 = hostElm["s-sc"];
1206
+ if (node.nodeType === 1 /* ElementNode */) {
1207
+ childNodeType = node.getAttribute(HYDRATE_CHILD_ID);
1208
+ if (childNodeType) {
1209
+ childIdSplt = childNodeType.split(".");
1210
+ if (childIdSplt[0] === hostId || childIdSplt[0] === "0") {
1211
+ childVNode = createSimpleVNode({
1212
+ $flags$: 0,
1213
+ $hostId$: childIdSplt[0],
1214
+ $nodeId$: childIdSplt[1],
1215
+ $depth$: childIdSplt[2],
1216
+ $index$: childIdSplt[3],
1217
+ $tag$: node.tagName.toLowerCase(),
1218
+ $elm$: node,
1219
+ // If we don't add the initial classes to the VNode, the first `vdom-render.ts` reconciliation will fail:
1220
+ // client side changes before componentDidLoad will be ignored, `set-accessor.ts` will just take the element's initial classes
1221
+ $attrs$: { class: node.className }
1222
+ });
1223
+ childRenderNodes.push(childVNode);
1224
+ node.removeAttribute(HYDRATE_CHILD_ID);
1225
+ if (!parentVNode.$children$) {
1226
+ parentVNode.$children$ = [];
1227
+ }
1228
+ const slotName = childVNode.$elm$.getAttribute("s-sn");
1229
+ if (typeof slotName === "string") {
1230
+ if (childVNode.$tag$ === "slot-fb") {
1231
+ addSlot(
1232
+ slotName,
1233
+ childIdSplt[2],
1234
+ childVNode,
1235
+ node,
1236
+ parentVNode,
1237
+ childRenderNodes,
1238
+ slotNodes,
1239
+ shadowRootNodes,
1240
+ slottedNodes
1241
+ );
1242
+ }
1243
+ childVNode.$elm$["s-sn"] = slotName;
1244
+ childVNode.$elm$.removeAttribute("s-sn");
1245
+ }
1246
+ if (childVNode.$index$ !== void 0) {
1247
+ parentVNode.$children$[childVNode.$index$] = childVNode;
1248
+ }
1249
+ if (scopeId2) node["s-si"] = scopeId2;
1250
+ parentVNode = childVNode;
1251
+ if (shadowRootNodes && childVNode.$depth$ === "0") {
1252
+ shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
1253
+ }
1254
+ }
1255
+ }
1256
+ if (node.shadowRoot) {
1257
+ for (i2 = node.shadowRoot.childNodes.length - 1; i2 >= 0; i2--) {
1258
+ clientHydrate(
1259
+ parentVNode,
1260
+ childRenderNodes,
1261
+ slotNodes,
1262
+ shadowRootNodes,
1263
+ hostElm,
1264
+ node.shadowRoot.childNodes[i2],
1265
+ hostId,
1266
+ slottedNodes
1267
+ );
1268
+ }
1269
+ }
1270
+ const nonShadowNodes = node.__childNodes || node.childNodes;
1271
+ for (i2 = nonShadowNodes.length - 1; i2 >= 0; i2--) {
1272
+ clientHydrate(
1273
+ parentVNode,
1274
+ childRenderNodes,
1275
+ slotNodes,
1276
+ shadowRootNodes,
1277
+ hostElm,
1278
+ nonShadowNodes[i2],
1279
+ hostId,
1280
+ slottedNodes
1281
+ );
1282
+ }
1283
+ } else if (node.nodeType === 8 /* CommentNode */) {
1284
+ childIdSplt = node.nodeValue.split(".");
1285
+ if (childIdSplt[1] === hostId || childIdSplt[1] === "0") {
1286
+ childNodeType = childIdSplt[0];
1287
+ childVNode = createSimpleVNode({
1288
+ $hostId$: childIdSplt[1],
1289
+ $nodeId$: childIdSplt[2],
1290
+ $depth$: childIdSplt[3],
1291
+ $index$: childIdSplt[4] || "0",
1292
+ $elm$: node,
1293
+ $attrs$: null,
1294
+ $children$: null,
1295
+ $key$: null,
1296
+ $name$: null,
1297
+ $tag$: null,
1298
+ $text$: null
1299
+ });
1300
+ if (childNodeType === TEXT_NODE_ID) {
1301
+ childVNode.$elm$ = node.nextSibling;
1302
+ if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) {
1303
+ childVNode.$text$ = childVNode.$elm$.textContent;
1304
+ childRenderNodes.push(childVNode);
1305
+ node.remove();
1306
+ if (hostId === childVNode.$hostId$) {
1307
+ if (!parentVNode.$children$) {
1308
+ parentVNode.$children$ = [];
1309
+ }
1310
+ parentVNode.$children$[childVNode.$index$] = childVNode;
1311
+ }
1312
+ if (shadowRootNodes && childVNode.$depth$ === "0") {
1313
+ shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
1314
+ }
1315
+ }
1316
+ } else if (childNodeType === COMMENT_NODE_ID) {
1317
+ childVNode.$elm$ = node.nextSibling;
1318
+ if (childVNode.$elm$ && childVNode.$elm$.nodeType === 8 /* CommentNode */) {
1319
+ childRenderNodes.push(childVNode);
1320
+ node.remove();
1321
+ }
1322
+ } else if (childVNode.$hostId$ === hostId) {
1323
+ if (childNodeType === SLOT_NODE_ID) {
1324
+ childVNode.$tag$ = "slot";
1325
+ const slotName = node["s-sn"] = childVNode.$name$ = childIdSplt[5] || "";
1326
+ addSlot(
1327
+ slotName,
1328
+ childIdSplt[2],
1329
+ childVNode,
1330
+ node,
1331
+ parentVNode,
1332
+ childRenderNodes,
1333
+ slotNodes,
1334
+ shadowRootNodes,
1335
+ slottedNodes
1336
+ );
1337
+ } else if (childNodeType === CONTENT_REF_ID) {
1338
+ if (shadowRootNodes) {
1339
+ node.remove();
1340
+ } else {
1341
+ hostElm["s-cr"] = node;
1342
+ node["s-cn"] = true;
1343
+ }
1344
+ }
1345
+ }
1346
+ }
1347
+ } else if (parentVNode && parentVNode.$tag$ === "style") {
1348
+ const vnode = newVNode(null, node.textContent);
1349
+ vnode.$elm$ = node;
1350
+ vnode.$index$ = "0";
1351
+ parentVNode.$children$ = [vnode];
1352
+ }
1353
+ return parentVNode;
1354
+ };
1355
+ var initializeDocumentHydrate = (node, orgLocNodes) => {
1356
+ if (node.nodeType === 1 /* ElementNode */) {
1357
+ const componentId = node[HYDRATE_ID] || node.getAttribute(HYDRATE_ID);
1358
+ if (componentId) {
1359
+ orgLocNodes.set(componentId, node);
1360
+ }
1361
+ let i2 = 0;
1362
+ if (node.shadowRoot) {
1363
+ for (; i2 < node.shadowRoot.childNodes.length; i2++) {
1364
+ initializeDocumentHydrate(node.shadowRoot.childNodes[i2], orgLocNodes);
1365
+ }
1366
+ }
1367
+ const nonShadowNodes = node.__childNodes || node.childNodes;
1368
+ for (i2 = 0; i2 < nonShadowNodes.length; i2++) {
1369
+ initializeDocumentHydrate(nonShadowNodes[i2], orgLocNodes);
1370
+ }
1371
+ } else if (node.nodeType === 8 /* CommentNode */) {
1372
+ const childIdSplt = node.nodeValue.split(".");
1373
+ if (childIdSplt[0] === ORG_LOCATION_ID) {
1374
+ orgLocNodes.set(childIdSplt[1] + "." + childIdSplt[2], node);
1375
+ node.nodeValue = "";
1376
+ node["s-en"] = childIdSplt[3];
1377
+ }
1378
+ }
1379
+ };
1380
+ var createSimpleVNode = (vnode) => {
1381
+ const defaultVNode = {
1382
+ $flags$: 0,
1383
+ $hostId$: null,
1384
+ $nodeId$: null,
1385
+ $depth$: null,
1386
+ $index$: "0",
1387
+ $elm$: null,
1388
+ $attrs$: null,
1389
+ $children$: null,
1390
+ $key$: null,
1391
+ $name$: null,
1392
+ $tag$: null,
1393
+ $text$: null
1394
+ };
1395
+ return { ...defaultVNode, ...vnode };
1396
+ };
1397
+ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNodes, slotNodes, shadowRootNodes, slottedNodes) {
1398
+ node["s-sr"] = true;
1399
+ const parentNodeId = (parentVNode == null ? void 0 : parentVNode.$elm$) ? parentVNode.$elm$["s-id"] || parentVNode.$elm$.getAttribute("s-id") : "";
1400
+ if (shadowRootNodes) {
1401
+ const slot = childVNode.$elm$ = doc.createElement(childVNode.$tag$);
1402
+ if (childVNode.$name$) {
1403
+ childVNode.$elm$.setAttribute("name", slotName);
1404
+ }
1405
+ if (parentNodeId && parentNodeId !== childVNode.$hostId$) {
1406
+ parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
1407
+ } else {
1408
+ node.parentNode.insertBefore(childVNode.$elm$, node);
1409
+ }
1410
+ addSlottedNodes(slottedNodes, slotId, slotName, node, childVNode.$hostId$);
1411
+ node.remove();
1412
+ if (childVNode.$depth$ === "0") {
1413
+ shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
1414
+ }
1415
+ } else {
1416
+ const slot = childVNode.$elm$;
1417
+ const shouldMove = parentNodeId && parentNodeId !== childVNode.$hostId$ && parentVNode.$elm$.shadowRoot;
1418
+ addSlottedNodes(slottedNodes, slotId, slotName, node, shouldMove ? parentNodeId : childVNode.$hostId$);
1419
+ if (shouldMove) {
1420
+ parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
1421
+ }
1422
+ childRenderNodes.push(childVNode);
1423
+ }
1424
+ slotNodes.push(childVNode);
1425
+ if (!parentVNode.$children$) {
1426
+ parentVNode.$children$ = [];
1427
+ }
1428
+ parentVNode.$children$[childVNode.$index$] = childVNode;
1429
+ }
1430
+ var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
1431
+ let slottedNode = slotNode.nextSibling;
1432
+ slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
1433
+ while (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (slottedNode.nodeType === 8 /* CommentNode */ && slottedNode.nodeValue.indexOf(".") !== 1 || slottedNode.nodeType === 3 /* TextNode */))) {
1434
+ slottedNode["s-sn"] = slotName;
1435
+ slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
1436
+ slottedNode = slottedNode.nextSibling;
1437
+ }
1438
+ };
1439
+ var parsePropertyValue = (propValue, propType) => {
1440
+ if (propValue != null && !isComplexType(propValue)) {
1441
+ if (propType & 4 /* Boolean */) {
1442
+ return propValue === "false" ? false : propValue === "" || !!propValue;
1443
+ }
1444
+ if (propType & 2 /* Number */) {
1445
+ return parseFloat(propValue);
1446
+ }
1447
+ if (propType & 1 /* String */) {
1448
+ return String(propValue);
1449
+ }
1450
+ return propValue;
1451
+ }
1452
+ return propValue;
1453
+ };
1454
+ var getElement = (ref) => getHostRef(ref).$hostElement$ ;
1455
+
1456
+ // src/runtime/event-emitter.ts
1457
+ var createEvent$2 = (ref, name, flags) => {
1458
+ const elm = getElement(ref);
1459
+ return {
1460
+ emit: (detail) => {
1461
+ return emitEvent(elm, name, {
1462
+ bubbles: !!(flags & 4 /* Bubbles */),
1463
+ composed: !!(flags & 2 /* Composed */),
1464
+ cancelable: !!(flags & 1 /* Cancellable */),
1465
+ detail
1466
+ });
1467
+ }
1468
+ };
1469
+ };
1470
+ var emitEvent = (elm, name, opts) => {
1471
+ const ev = plt.ce(name, opts);
1472
+ elm.dispatchEvent(ev);
1473
+ return ev;
1474
+ };
1475
+ var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
1476
+ var registerStyle = (scopeId2, cssText, allowCS) => {
1477
+ let style = styles.get(scopeId2);
1478
+ {
1479
+ style = cssText;
1480
+ }
1481
+ styles.set(scopeId2, style);
1482
+ };
1483
+ var addStyle = (styleContainerNode, cmpMeta, mode) => {
1484
+ var _a;
1485
+ const scopeId2 = getScopeId(cmpMeta);
1486
+ const style = styles.get(scopeId2);
1487
+ styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;
1488
+ if (style) {
1489
+ if (typeof style === "string") {
1490
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
1491
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
1492
+ let styleElm;
1493
+ if (!appliedStyles) {
1494
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
1495
+ }
1496
+ if (!appliedStyles.has(scopeId2)) {
1497
+ if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
1498
+ styleElm.innerHTML = style;
1499
+ } else {
1500
+ styleElm = doc.createElement("style");
1501
+ styleElm.innerHTML = style;
1502
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
1503
+ if (nonce != null) {
1504
+ styleElm.setAttribute("nonce", nonce);
1505
+ }
1506
+ if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
1507
+ styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId2);
1508
+ }
1509
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
1510
+ if (styleContainerNode.nodeName === "HEAD") {
1511
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
1512
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
1513
+ styleContainerNode.insertBefore(styleElm, referenceNode2);
1514
+ } else if ("host" in styleContainerNode) {
1515
+ {
1516
+ const existingStyleContainer = styleContainerNode.querySelector("style");
1517
+ if (existingStyleContainer) {
1518
+ existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
1519
+ } else {
1520
+ styleContainerNode.prepend(styleElm);
1521
+ }
1522
+ }
1523
+ } else {
1524
+ styleContainerNode.append(styleElm);
1525
+ }
1526
+ }
1527
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD") {
1528
+ styleContainerNode.insertBefore(styleElm, null);
1529
+ }
1530
+ }
1531
+ if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
1532
+ styleElm.innerHTML += SLOT_FB_CSS;
1533
+ }
1534
+ if (appliedStyles) {
1535
+ appliedStyles.add(scopeId2);
1536
+ }
1537
+ }
1538
+ }
1539
+ }
1540
+ return scopeId2;
1541
+ };
1542
+ var attachStyles = (hostRef) => {
1543
+ const cmpMeta = hostRef.$cmpMeta$;
1544
+ const elm = hostRef.$hostElement$;
1545
+ const flags = cmpMeta.$flags$;
1546
+ const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
1547
+ const scopeId2 = addStyle(
1548
+ elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
1549
+ cmpMeta);
1550
+ if (flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */) {
1551
+ elm["s-sc"] = scopeId2;
1552
+ elm.classList.add(scopeId2 + "-h");
1553
+ if (flags & 2 /* scopedCssEncapsulation */) {
1554
+ elm.classList.add(scopeId2 + "-s");
1555
+ }
1556
+ }
1557
+ endAttachStyles();
1558
+ };
1559
+ var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
1378
1560
 
1379
1561
  // src/runtime/update-component.ts
1380
1562
  var attachToAncestor = (hostRef, ancestorComponent) => {
@@ -1618,16 +1800,62 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1618
1800
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
1619
1801
  members.map(([memberName, [memberFlags]]) => {
1620
1802
  if ((memberFlags & 31 /* Prop */ || (flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {
1621
- Object.defineProperty(prototype, memberName, {
1622
- get() {
1623
- return getValue(this, memberName);
1624
- },
1625
- set(newValue) {
1626
- setValue(this, memberName, newValue, cmpMeta);
1627
- },
1628
- configurable: true,
1629
- enumerable: true
1630
- });
1803
+ if ((memberFlags & 2048 /* Getter */) === 0) {
1804
+ Object.defineProperty(prototype, memberName, {
1805
+ get() {
1806
+ return getValue(this, memberName);
1807
+ },
1808
+ set(newValue) {
1809
+ setValue(this, memberName, newValue, cmpMeta);
1810
+ },
1811
+ configurable: true,
1812
+ enumerable: true
1813
+ });
1814
+ } else if (flags & 1 /* isElementConstructor */ && memberFlags & 2048 /* Getter */) {
1815
+ {
1816
+ Object.defineProperty(prototype, memberName, {
1817
+ get() {
1818
+ const ref = getHostRef(this);
1819
+ const instance = ref ? ref.$lazyInstance$ : prototype;
1820
+ if (!instance) return;
1821
+ return instance[memberName];
1822
+ },
1823
+ configurable: true,
1824
+ enumerable: true
1825
+ });
1826
+ }
1827
+ if (memberFlags & 4096 /* Setter */) {
1828
+ const origSetter = Object.getOwnPropertyDescriptor(prototype, memberName).set;
1829
+ Object.defineProperty(prototype, memberName, {
1830
+ set(newValue) {
1831
+ const ref = getHostRef(this);
1832
+ if (origSetter) {
1833
+ const currentValue = ref.$hostElement$[memberName];
1834
+ if (!ref.$instanceValues$.get(memberName) && currentValue) {
1835
+ ref.$instanceValues$.set(memberName, currentValue);
1836
+ }
1837
+ origSetter.apply(this, [parsePropertyValue(newValue, cmpMeta.$members$[memberName][0])]);
1838
+ setValue(this, memberName, ref.$hostElement$[memberName], cmpMeta);
1839
+ return;
1840
+ }
1841
+ if (!ref) return;
1842
+ const setterSetVal = () => {
1843
+ const currentValue = ref.$lazyInstance$[memberName];
1844
+ if (!ref.$instanceValues$.get(memberName) && currentValue) {
1845
+ ref.$instanceValues$.set(memberName, currentValue);
1846
+ }
1847
+ ref.$lazyInstance$[memberName] = parsePropertyValue(newValue, cmpMeta.$members$[memberName][0]);
1848
+ setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
1849
+ };
1850
+ if (ref.$lazyInstance$) {
1851
+ setterSetVal();
1852
+ } else {
1853
+ ref.$onReadyPromise$.then(() => setterSetVal());
1854
+ }
1855
+ }
1856
+ });
1857
+ }
1858
+ }
1631
1859
  } else if (flags & 1 /* isElementConstructor */ && memberFlags & 64 /* Method */) {
1632
1860
  Object.defineProperty(prototype, memberName, {
1633
1861
  value(...args) {
@@ -1667,7 +1895,10 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1667
1895
  }
1668
1896
  return;
1669
1897
  }
1670
- this[propName] = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
1898
+ const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
1899
+ if (!propDesc.get || !!propDesc.set) {
1900
+ this[propName] = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
1901
+ }
1671
1902
  });
1672
1903
  };
1673
1904
  Cstr.observedAttributes = Array.from(
@@ -1778,6 +2009,9 @@ var connectedCallback = (elm) => {
1778
2009
  if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
1779
2010
  const scopeId2 = addStyle(elm.shadowRoot, cmpMeta);
1780
2011
  elm.classList.remove(scopeId2 + "-h", scopeId2 + "-s");
2012
+ } else if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
2013
+ const scopeId2 = getScopeId(cmpMeta);
2014
+ elm["s-sc"] = scopeId2;
1781
2015
  }
1782
2016
  initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);
1783
2017
  }
@@ -1874,6 +2108,9 @@ var insertVdomAnnotations = (doc2, staticComponents) => {
1874
2108
  childId = `${hostId}.${nodeId}`;
1875
2109
  if (nodeRef.nodeType === 1 /* ElementNode */) {
1876
2110
  nodeRef.setAttribute(HYDRATE_CHILD_ID, childId);
2111
+ if (typeof nodeRef["s-sn"] === "string" && !nodeRef.getAttribute("slot")) {
2112
+ nodeRef.setAttribute("s-sn", nodeRef["s-sn"]);
2113
+ }
1877
2114
  } else if (nodeRef.nodeType === 3 /* TextNode */) {
1878
2115
  if (hostId === 0) {
1879
2116
  const textContent = (_a = nodeRef.nodeValue) == null ? void 0 : _a.trim();
@@ -1885,6 +2122,10 @@ var insertVdomAnnotations = (doc2, staticComponents) => {
1885
2122
  const commentBeforeTextNode = doc2.createComment(childId);
1886
2123
  commentBeforeTextNode.nodeValue = `${TEXT_NODE_ID}.${childId}`;
1887
2124
  insertBefore(nodeRef.parentNode, commentBeforeTextNode, nodeRef);
2125
+ } else if (nodeRef.nodeType === 8 /* CommentNode */) {
2126
+ const commentBeforeTextNode = doc2.createComment(childId);
2127
+ commentBeforeTextNode.nodeValue = `${COMMENT_NODE_ID}.${childId}`;
2128
+ nodeRef.parentNode.insertBefore(commentBeforeTextNode, nodeRef);
1888
2129
  }
1889
2130
  }
1890
2131
  let orgLocationNodeId = `${ORG_LOCATION_ID}.${childId}`;
@@ -1965,6 +2206,9 @@ var insertChildVNodeAnnotations = (doc2, vnodeChild, cmpData, hostId, depth, ind
1965
2206
  childElm["s-node-id"] = nodeId;
1966
2207
  if (childElm.nodeType === 1 /* ElementNode */) {
1967
2208
  childElm.setAttribute(HYDRATE_CHILD_ID, childId);
2209
+ if (typeof childElm["s-sn"] === "string" && !childElm.getAttribute("slot")) {
2210
+ childElm.setAttribute("s-sn", childElm["s-sn"]);
2211
+ }
1968
2212
  } else if (childElm.nodeType === 3 /* TextNode */) {
1969
2213
  const parentNode = childElm.parentNode;
1970
2214
  const nodeName = parentNode == null ? void 0 : parentNode.nodeName;
@@ -2381,7 +2625,6 @@ var plt = {
2381
2625
  rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
2382
2626
  ce: (eventName, opts) => new win.CustomEvent(eventName, opts)
2383
2627
  };
2384
- var supportsShadow = BUILD.shadowDom;
2385
2628
  var hostRefs = /* @__PURE__ */ new WeakMap();
2386
2629
  var getHostRef = (ref) => hostRefs.get(ref);
2387
2630
  var registerInstance = (lazyInstance, hostRef) => hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef);
@@ -3559,7 +3802,7 @@ const checkNamedSlotElement = (hostElement, slotName, selector, maxChildren = 0,
3559
3802
  }
3560
3803
  };
3561
3804
 
3562
- const duetAlertCss = "*,*::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%;max-height:999px;border-radius:4px;transition:opacity 300ms ease, visibility 300ms ease, transform 300ms ease, max-height 300ms ease}:host(:focus){outline:0}:host(.user-is-tabbing:focus){border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing.duet-theme-turva:focus){box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}:host(.duet-alert-is-dismissed){max-height:0;overflow:hidden;visibility:hidden !important;opacity:0;transform:scale(0.98)}:host(.duet-alert-is-dismissed) .duet-alert{margin:0 !important}.duet-alert-wrapper{margin-bottom:16px !important;position:relative;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);background:#f2f8fb;border:1px solid rgb(0, 119, 179);border-radius:4px;transition:margin 100ms 300ms ease}.duet-alert-wrapper.duet-p-0{padding:0 !important}.duet-alert-wrapper.duet-m-0{margin:0 !important}.duet-alert-wrapper.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);background:#f3f4f5;border-color:rgb(23, 28, 58)}.duet-alert-wrapper.warning{background:#fffbf4;border-color:rgb(247, 178, 40)}.duet-alert-wrapper.warning.duet-theme-turva{background:#fffbf4;border-color:rgb(247, 178, 40)}.duet-alert-wrapper.danger{background:#fdf4f6;border-color:rgb(214, 28, 82)}.duet-alert-wrapper.danger.duet-theme-turva{background:#fdf4f6;border-color:rgb(214, 28, 82)}.duet-alert-wrapper.success{background:#f5f9f8;border-color:rgb(48, 131, 105)}.duet-alert-wrapper.success.duet-theme-turva{background:#f5f9f8;border-color:rgb(48, 131, 105)}.duet-alert-wrapper.below-nav{margin-bottom:0 !important;border:0;border-bottom:1px solid rgb(212, 223, 229)}.duet-alert-wrapper .duet-alert{position:relative;width:100%;max-width:1384px;padding:16px;margin:0 auto}.duet-alert-wrapper .duet-alert.duet-alert-is-dismissible{padding:16px 48px 16px 16px;text-align:left}.duet-alert-wrapper .duet-alert.duet-alert-is-dismissible .duet-alert-container{text-align:left}.duet-alert-wrapper .duet-alert.duet-alert-has-show-more{padding-bottom:0}.duet-alert-wrapper .duet-alert.duet-alert-has-icon .duet-alert-show-more{margin-left:36px}.duet-alert-dismiss{position:absolute;top:2px;right:2px}.duet-alert-container{display:inline-flex;align-items:center;justify-content:center;width:100%;margin:0 auto !important}.duet-alert-container span{width:100%}.duet-alert-has-icon .duet-alert-container{margin-top:2px !important}.duet-alert-icon{display:inline-block;align-self:center;width:20px;min-width:20px;height:20px;margin:0 16px 0 0 !important}.duet-alert-icon.below-nav{align-self:flex-start}.duet-alert-icon duet-icon{width:20px;height:20px}";
3805
+ const duetAlertCss = "*,*::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%;max-height:999px;border-radius:4px;transition:opacity 300ms ease, visibility 300ms ease, transform 300ms ease, max-height 300ms ease}:host(:focus){outline:0}:host(.user-is-tabbing:focus){border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing.duet-theme-turva:focus){box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}:host(.duet-alert-is-dismissed){max-height:0;overflow:hidden;visibility:hidden !important;opacity:0;transform:scale(0.98)}:host(.duet-alert-is-dismissed) .duet-alert{margin:0 !important}.duet-alert-wrapper{margin-bottom:16px !important;position:relative;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);background:#f2f8fb;border:1px solid rgb(0, 119, 179);border-radius:4px;transition:margin 100ms 300ms ease}.duet-alert-wrapper.duet-p-0{padding:0 !important}.duet-alert-wrapper.duet-m-0{margin:0 !important}.duet-alert-wrapper.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);background:#f3f4f5;border-color:rgb(23, 28, 58)}.duet-alert-wrapper.warning{background:#fffbf4;border-color:rgb(247, 178, 40)}.duet-alert-wrapper.warning.duet-theme-turva{background:#fffbf4;border-color:rgb(247, 178, 40)}.duet-alert-wrapper.danger{background:#fdf4f6;border-color:rgb(214, 28, 82)}.duet-alert-wrapper.danger.duet-theme-turva{background:#fdf4f6;border-color:rgb(214, 28, 82)}.duet-alert-wrapper.success{background:#f5f9f8;border-color:rgb(48, 131, 105)}.duet-alert-wrapper.success.duet-theme-turva{background:#f5f9f8;border-color:rgb(48, 131, 105)}.duet-alert-wrapper.below-nav{margin-bottom:0 !important;border:0;border-bottom:1px solid rgb(212, 223, 229)}.duet-alert-wrapper .duet-alert{position:relative;width:100%;max-width:1384px;padding:16px;margin:0 auto}.duet-alert-wrapper .duet-alert.duet-alert-is-dismissible{padding:16px 48px 16px 16px;text-align:left}.duet-alert-wrapper .duet-alert.duet-alert-is-dismissible .duet-alert-container{text-align:left}.duet-alert-wrapper .duet-alert.duet-alert-has-show-more{padding-bottom:0}.duet-alert-wrapper .duet-alert.duet-alert-has-icon .duet-alert-show-more{margin-left:36px}.duet-alert-dismiss{position:absolute;top:2px;right:2px}.duet-alert-container{display:inline-flex;align-items:center;justify-content:center;width:100%;margin:0 auto !important}.duet-alert-container span{width:100%}.duet-alert-has-icon .duet-alert-container{margin-top:2px !important}.duet-alert-container:focus{outline:none}.duet-alert-icon{display:inline-block;align-self:center;width:20px;min-width:20px;height:20px;margin:0 16px 0 0 !important}.duet-alert-icon.below-nav{align-self:flex-start}.duet-alert-icon duet-icon{width:20px;height:20px}";
3563
3806
  var DuetAlertStyle0 = duetAlertCss;
3564
3807
 
3565
3808
  /**
@@ -5084,7 +5327,7 @@ class DuetChip {
5084
5327
  }; }
5085
5328
  }
5086
5329
 
5087
- const duetChoiceCss = "*.sc-duet-choice,*.sc-duet-choice::after,*.sc-duet-choice::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-choice-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;flex-direction:column;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-choice-h:last-child,.sc-duet-choice-h:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){.sc-duet-choice-h{width:100%}}.duet-expand.sc-duet-choice-h{width:100% !important}.duet-m-0.sc-duet-choice-h{margin:0 !important}.duet-fixed.sc-duet-choice-h{width:auto !important}.vertical.sc-duet-choice-h{margin-right:0 !important}@media (min-width: 48em){.horizontal.sc-duet-choice-h{margin-bottom:0 !important}}@media (min-width: 48em){.horizontal-responsive.sc-duet-choice-h{margin-bottom:0 !important;margin-right:16px !important}.horizontal-responsive.sc-duet-choice-h:last-child,.horizontal-responsive.sc-duet-choice-h:last-of-type{margin-right:0 !important}}.sc-duet-choice-h:last-child:not(:only-child){margin-right:0 !important}.duet-choice-card.sc-duet-choice{position:relative;display:block;width:100%;min-width:8rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;color:rgb(8, 42, 77) !important;text-align:left;background:rgb(255, 255, 255);border-width:1px}.duet-choice-card.duet-p-0.sc-duet-choice{padding:0 !important}.duet-choice-card.duet-m-0.sc-duet-choice{margin:0 !important}.duet-theme-turva.sc-duet-choice .duet-choice-card.sc-duet-choice{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) !important}.duet-choice-card-flextainer.sc-duet-choice{display:flex}.duet-choice-label.sc-duet-choice{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:flex;gap:12px;align-items:center;justify-content:flex-start;width:100%;height:100%;min-height:3.875rem;padding:calc(1rem + 1px);font-size:1rem;font-weight:600;text-decoration:none;word-break:break-word;cursor:pointer;border:1px solid rgb(212, 223, 229);border-radius:8px;transition:background-color 150ms ease, border-color 300ms ease}.duet-choice-label.has-before-text.sc-duet-choice .duet-choice-card-icon.sc-duet-choice,.duet-choice-label.has-before-text.sc-duet-choice .duet-choice-card-text.sc-duet-choice{align-self:flex-start;margin-top:0.25rem}.duet-choice-label.sc-duet-choice>div.sc-duet-choice:last-child{flex:1;align-self:flex-start;justify-self:flex-end;margin-top:0.25rem}.has-info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-top-right-radius:0;border-bottom-right-radius:0}.info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-bottom-right-radius:0;border-bottom-left-radius:0}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice{border-color:rgb(222, 224, 228)}.duet-theme-turva.sc-duet-choice .info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-color:rgb(222, 224, 228)}.duet-choice-label.sc-duet-choice:active{opacity:0.75;transition:none !important}.checked.sc-duet-choice>.duet-choice-label.sc-duet-choice{padding:1rem;background:rgb(240, 247, 250);border-color:rgb(0, 119, 179) !important;border-width:2px}.checked.sc-duet-choice>.duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:rgb(0, 119, 179)}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice>.duet-choice-label.sc-duet-choice{background:rgb(245, 247, 250);border-color:rgb(23, 28, 58) !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice>.duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:rgb(198, 12, 48)}.checked.collapsible.sc-duet-choice>.duet-choice-label.sc-duet-choice,.collapsible-force-expanded.collapsible.sc-duet-choice>.duet-choice-label.sc-duet-choice{padding-bottom:calc(1rem + 2px) !important;border-bottom:0 !important;border-bottom-right-radius:0;border-bottom-left-radius:0}.sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-flextainer.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.checked){border-color:rgb(0, 119, 179);border-width:2px}.sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-flextainer.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.checked) .duet-checkmark-container.sc-duet-choice{border-color:rgb(127, 150, 165)}.duet-theme-turva .sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-flextainer.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.checked){border-color:rgb(23, 28, 58)}.duet-theme-turva .sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-flextainer.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.checked) .duet-checkmark-container.sc-duet-choice{border-color:rgb(143, 147, 158)}.duet-theme-turva .info .sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-flextainer.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.checked){border-color:rgb(143, 147, 158)}.sc-duet-choice-h:not(.no-hover):not(.disabled):not([checked]):hover>.duet-choice-card-flextainer.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.checked){padding:1rem}input.sc-duet-choice:focus{outline:0}.user-is-tabbing.sc-duet-choice-h input.sc-duet-choice:checked:focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3)}.user-is-tabbing.sc-duet-choice-h input.sc-duet-choice:not(:checked):focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.user-is-tabbing.duet-theme-turva.sc-duet-choice-h input.sc-duet-choice:checked:focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2)}.user-is-tabbing.duet-theme-turva.sc-duet-choice-h input.sc-duet-choice:not(:checked):focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{color:rgb(98, 121, 138) !important;cursor:default !important;background:rgb(245, 248, 250) !important;border-color:rgb(212, 223, 229) !important}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-choice-card-icon.sc-duet-choice{color:rgb(98, 121, 138)}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-choice-card-icon.sc-duet-choice{color:rgb(143, 147, 158)}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-checkmark.sc-duet-choice{border-color:rgb(98, 121, 138) !important}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice:hover,input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice:active,input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice:focus{box-shadow:none !important;opacity:1 !important;transition:none !important}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{color:rgb(143, 147, 158) !important;background:rgb(245, 247, 250) !important;border-color:rgb(222, 224, 228) !important}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-checkmark.sc-duet-choice{border-color:rgb(143, 147, 158) !important}.checked.sc-duet-choice>input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{border-color:rgb(127, 150, 165) !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice>input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{border-color:rgb(143, 147, 158) !important}.duet-checkmark-container.sc-duet-choice{position:relative;width:20px;height:20px;margin-left:auto;border:1px solid rgb(127, 150, 165);border-radius:4px;transition:border 300ms ease}.duet-theme-turva.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:rgb(143, 147, 158)}.checked.sc-duet-choice>.duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:rgb(0, 119, 179);border-color:rgb(0, 119, 179);transition:none}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice>.duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:rgb(23, 28, 58);border-color:rgb(23, 28, 58) !important}.duet-checkmark-container.duet-checkmark-radio.sc-duet-choice{border-radius:50%}[disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:rgb(181, 198, 208) !important;border-color:rgb(181, 198, 208) !important}.duet-theme-turva.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:rgb(199, 202, 207) !important}.checked.sc-duet-choice>[disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:rgb(181, 198, 208) !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice>[disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:rgb(199, 202, 207) !important;border-color:rgb(199, 202, 207) !important}.duet-checkmark.sc-duet-choice{position:absolute;top:10px;left:3px;width:5.3333333333px;height:11.8518518519px;border-top:2px solid rgb(255, 255, 255);border-right:2px solid rgb(255, 255, 255);opacity:1;transform:scaleX(-1) rotate(135deg) translateZ(0);transform-origin:left top;animation-name:duet-checkmark;animation-duration:600ms;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes duet-checkmark{0%{width:0;height:0;opacity:1}20%{width:5.3333333333px;height:0;opacity:1}40%,100%{width:5.3333333333px;height:11.8518518519px;opacity:1}}.duet-choice-card-icon.sc-duet-choice{position:relative;color:rgb(0, 119, 179)}.duet-theme-turva.sc-duet-choice .duet-choice-card-icon.sc-duet-choice{color:rgb(164, 4, 40)}.duet-choice-card-icon.sc-duet-choice duet-icon.sc-duet-choice{display:block}.duet-choice-section-hidden.sc-duet-choice{display:none}.duet-choice-card-info.duet-choice-card-collapsed.sc-duet-choice,.duet-choice-card-collapsed.duet-choice-card-collapsible.sc-duet-choice{position:relative;width:auto;padding:0 !important;background:unset !important;border:0;border-radius:0}.duet-choice-card-info.sc-duet-choice,.duet-choice-card-collapsible.sc-duet-choice{padding:20px !important;position:relative;width:100%;font-weight:400;color:rgb(8, 42, 77);border:1px solid rgb(212, 223, 229);border-top:0;border-radius:0 0 8px 8px;transition:border-color 300ms ease}@media (min-width: 36em){.duet-choice-card-info.sc-duet-choice,.duet-choice-card-collapsible.sc-duet-choice{padding:28px !important}}.duet-theme-turva.sc-duet-choice .duet-choice-card-info.sc-duet-choice,.duet-theme-turva.sc-duet-choice .duet-choice-card-collapsible.sc-duet-choice{color:rgb(23, 28, 58);border-color:rgb(23, 28, 58)}.checked.sc-duet-choice>.duet-choice-card-info.sc-duet-choice,.checked.sc-duet-choice>.duet-choice-card-collapsible.sc-duet-choice{display:block}.duet-choice-card-info-expanded.sc-duet-choice,.duet-choice-card-collapsible-expanded.sc-duet-choice{display:block}.duet-choice-card-collapsible.sc-duet-choice{background:rgb(255, 255, 255);border:1px solid rgb(212, 223, 229);border-top:0}.duet-choice-card-collapsible.duet-theme-turva.sc-duet-choice{background:rgb(255, 255, 255);border-color:rgb(222, 224, 228)}.duet-choice-card-collapsible.checked.sc-duet-choice{padding:19px !important;padding-top:20px !important;border-color:rgb(0, 119, 179);border-width:2px}@media (min-width: 36em){.duet-choice-card-collapsible.checked.sc-duet-choice{padding:27px !important;padding-top:28px !important}}.duet-choice-card-collapsible.checked.duet-theme-turva.sc-duet-choice{border-color:rgb(23, 28, 58)}.duet-choice-card-collapsible-disabled.sc-duet-choice{background:rgb(245, 248, 250);border-color:rgb(212, 223, 229)}.duet-choice-card-collapsible-disabled.checked.sc-duet-choice{border-color:rgb(212, 223, 229)}.duet-choice-card-collapsible-disabled.duet-theme-turva.sc-duet-choice{background:rgb(245, 247, 250);border-color:rgb(222, 224, 228)}.duet-choice-card-collapsible-disabled.duet-theme-turva.checked.sc-duet-choice{border-color:rgb(222, 224, 228)}.duet-choice-card-info.sc-duet-choice{font-size:0.875rem;line-height:1.5;background:rgb(245, 248, 250);transition:150ms ease-out}.duet-choice-card-info.duet-theme-turva.sc-duet-choice{background:rgb(245, 247, 250);border-color:rgb(222, 224, 228)}.duet-choice-card-info.duet-choice-card-collapsed .duet-choice-info-container.sc-duet-choice-s>*,.duet-choice-card-info.duet-choice-card-collapsed .duet-choice-info-container .sc-duet-choice-s>*{display:none}.user-is-tabbing.sc-duet-choice-h .duet-choice-info-container.sc-duet-choice:focus{display:block;outline:none;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-collapsible.sc-duet-choice:not(.checked){border-color:rgb(0, 119, 179);border-width:2px}.duet-theme-turva .sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-collapsible.sc-duet-choice:not(.checked){border-color:rgb(143, 147, 158)}[collapsible-force-expanded].sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-collapsible.sc-duet-choice:not(.checked){padding:19px !important;padding-top:20px !important}@media (min-width: 36em){[collapsible-force-expanded].sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-collapsible.sc-duet-choice:not(.checked){padding:27px !important;padding-top:28px !important}}.duet-choice-info-toggle.sc-duet-choice{display:flex;flex-shrink:0;align-items:flex-start;justify-content:center;width:57.6px;padding-top:1.25rem;cursor:pointer;background:rgb(255, 255, 255);border:1px solid rgb(212, 223, 229);border-left:0 none;border-top-right-radius:8px;border-bottom-right-radius:8px;-webkit-appearance:none;appearance:none}.duet-choice-info-toggle[aria-expanded=true].sc-duet-choice{background:rgb(245, 248, 250);border-bottom-color:transparent;border-bottom-right-radius:0}.duet-theme-turva.sc-duet-choice .duet-choice-info-toggle[aria-expanded=true].sc-duet-choice{background:rgb(245, 247, 250)}.duet-choice-info-toggle[disabled].sc-duet-choice{pointer-events:none;background:rgb(245, 248, 250) !important;border-color:rgb(212, 223, 229) !important}.duet-choice-info-toggle[disabled].sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:rgb(127, 150, 165) !important}.duet-choice-info-toggle[disabled].duet-theme-turva.sc-duet-choice{background:rgb(245, 247, 250) !important;border-color:rgb(222, 224, 228) !important}.duet-choice-info-toggle[disabled].duet-theme-turva.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:rgb(143, 147, 158) !important}.duet-choice-info-toggle.sc-duet-choice:focus{outline:none}.user-is-tabbing.sc-duet-choice-h .duet-choice-info-toggle.sc-duet-choice:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.user-is-tabbing.sc-duet-choice-h .duet-theme-turva.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.checked.sc-duet-choice+.duet-choice-info-toggle.sc-duet-choice{border-left-color:rgb(0, 119, 179) !important}.duet-choice-info-toggle.sc-duet-choice duet-icon.sc-duet-choice{display:block}.duet-choice-info-toggle.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:rgb(0, 119, 179)}.duet-theme-turva.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:rgb(198, 12, 48)}.sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-flextainer.sc-duet-choice .duet-choice-label.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice{border-left-color:rgb(127, 150, 165)}.duet-theme-turva .sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-flextainer.sc-duet-choice .duet-choice-label.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice{border-left-color:rgb(143, 147, 158)}.duet-choice-input.sc-duet-choice{position:absolute !important;width:100%;height:100%;opacity:0}";
5330
+ const duetChoiceCss = "*.sc-duet-choice,*.sc-duet-choice::after,*.sc-duet-choice::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-choice-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;flex-direction:column;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-choice-h:last-child,.sc-duet-choice-h:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){.sc-duet-choice-h{width:100%}}.duet-expand.sc-duet-choice-h{width:100% !important}.duet-m-0.sc-duet-choice-h{margin:0 !important}.duet-fixed.sc-duet-choice-h{width:auto !important}.vertical.sc-duet-choice-h{margin-right:0 !important}@media (min-width: 48em){.horizontal.sc-duet-choice-h{margin-bottom:0 !important}}@media (min-width: 48em){.horizontal-responsive.sc-duet-choice-h{margin-bottom:0 !important;margin-right:16px !important}.horizontal-responsive.sc-duet-choice-h:last-child,.horizontal-responsive.sc-duet-choice-h:last-of-type{margin-right:0 !important}}.sc-duet-choice-h:last-child:not(:only-child){margin-right:0 !important}.duet-choice-card.sc-duet-choice{position:relative;display:block;width:100%;min-width:8rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;color:rgb(8, 42, 77) !important;text-align:left;background:rgb(255, 255, 255);border-width:1px;border-radius:8px}.duet-choice-card.duet-p-0.sc-duet-choice{padding:0 !important}.duet-choice-card.duet-m-0.sc-duet-choice{margin:0 !important}.duet-theme-turva.sc-duet-choice .duet-choice-card.sc-duet-choice{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) !important}.duet-choice-card-flextainer.sc-duet-choice{display:flex}.duet-choice-label.sc-duet-choice{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:flex;gap:12px;align-items:center;justify-content:flex-start;width:100%;height:100%;min-height:3.875rem;padding:calc(1rem + 1px);font-size:1rem;font-weight:600;text-decoration:none;word-break:break-word;cursor:pointer;border:1px solid rgb(212, 223, 229);border-radius:8px;transition:background-color 150ms ease, border-color 300ms ease}.duet-choice-label.has-before-text.sc-duet-choice .duet-choice-card-icon.sc-duet-choice,.duet-choice-label.has-before-text.sc-duet-choice .duet-choice-card-text.sc-duet-choice{align-self:flex-start;margin-top:0.25rem}.duet-choice-label.sc-duet-choice>div.sc-duet-choice:last-child{flex:1;align-self:flex-start;justify-self:flex-end;margin-top:0.25rem}.has-info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-top-right-radius:0;border-bottom-right-radius:0}.info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-bottom-right-radius:0;border-bottom-left-radius:0}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice{border-color:rgb(222, 224, 228)}.duet-theme-turva.sc-duet-choice .info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-color:rgb(222, 224, 228)}.duet-choice-label.sc-duet-choice:active{opacity:0.75;transition:none !important}.checked.sc-duet-choice>.duet-choice-label.sc-duet-choice{padding:1rem;background:rgb(240, 247, 250);border-color:rgb(0, 119, 179) !important;border-width:2px}.checked.sc-duet-choice>.duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:rgb(0, 119, 179)}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice>.duet-choice-label.sc-duet-choice{background:rgb(245, 247, 250);border-color:rgb(23, 28, 58) !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice>.duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:rgb(198, 12, 48)}.checked.collapsible.sc-duet-choice>.duet-choice-label.sc-duet-choice,.collapsible-force-expanded.collapsible.sc-duet-choice>.duet-choice-label.sc-duet-choice{padding-bottom:calc(1rem + 2px) !important;border-bottom:0 !important;border-bottom-right-radius:0;border-bottom-left-radius:0}.sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-flextainer.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.checked){border-color:rgb(0, 119, 179);border-width:2px}.sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-flextainer.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.checked) .duet-checkmark-container.sc-duet-choice{border-color:rgb(127, 150, 165)}.duet-theme-turva .sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-flextainer.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.checked){border-color:rgb(23, 28, 58)}.duet-theme-turva .sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-flextainer.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.checked) .duet-checkmark-container.sc-duet-choice{border-color:rgb(143, 147, 158)}.duet-theme-turva .info .sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-flextainer.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.checked){border-color:rgb(143, 147, 158)}.sc-duet-choice-h:not(.no-hover):not(.disabled):not([checked]):hover>.duet-choice-card-flextainer.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.checked){padding:1rem}input.sc-duet-choice:focus{outline:0}.user-is-tabbing.sc-duet-choice-h input.sc-duet-choice:checked:focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3)}.user-is-tabbing.sc-duet-choice-h input.sc-duet-choice:not(:checked):focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.user-is-tabbing.duet-theme-turva.sc-duet-choice-h input.sc-duet-choice:checked:focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2)}.user-is-tabbing.duet-theme-turva.sc-duet-choice-h input.sc-duet-choice:not(:checked):focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{color:rgb(98, 121, 138) !important;cursor:default !important;background:rgb(245, 248, 250) !important;border-color:rgb(212, 223, 229) !important}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-choice-card-icon.sc-duet-choice{color:rgb(98, 121, 138)}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-choice-card-icon.sc-duet-choice{color:rgb(143, 147, 158)}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-checkmark.sc-duet-choice{border-color:rgb(98, 121, 138) !important}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice:hover,input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice:active,input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice:focus{box-shadow:none !important;opacity:1 !important;transition:none !important}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{color:rgb(143, 147, 158) !important;background:rgb(245, 247, 250) !important;border-color:rgb(222, 224, 228) !important}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-checkmark.sc-duet-choice{border-color:rgb(143, 147, 158) !important}.checked.sc-duet-choice>input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{border-color:rgb(127, 150, 165) !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice>input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{border-color:rgb(143, 147, 158) !important}.duet-checkmark-container.sc-duet-choice{position:relative;width:20px;height:20px;margin-left:auto;border:1px solid rgb(127, 150, 165);border-radius:4px;transition:border 300ms ease}.duet-theme-turva.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:rgb(143, 147, 158)}.checked.sc-duet-choice>.duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:rgb(0, 119, 179);border-color:rgb(0, 119, 179);transition:none}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice>.duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:rgb(23, 28, 58);border-color:rgb(23, 28, 58) !important}.duet-checkmark-container.duet-checkmark-radio.sc-duet-choice{border-radius:50%}[disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:rgb(181, 198, 208) !important;border-color:rgb(181, 198, 208) !important}.duet-theme-turva.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:rgb(199, 202, 207) !important}.checked.sc-duet-choice>[disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:rgb(181, 198, 208) !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice>[disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:rgb(199, 202, 207) !important;border-color:rgb(199, 202, 207) !important}.duet-checkmark.sc-duet-choice{position:absolute;top:10px;left:3px;width:5.3333333333px;height:11.8518518519px;border-top:2px solid rgb(255, 255, 255);border-right:2px solid rgb(255, 255, 255);opacity:1;transform:scaleX(-1) rotate(135deg) translateZ(0);transform-origin:left top;animation-name:duet-checkmark;animation-duration:600ms;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes duet-checkmark{0%{width:0;height:0;opacity:1}20%{width:5.3333333333px;height:0;opacity:1}40%,100%{width:5.3333333333px;height:11.8518518519px;opacity:1}}.duet-choice-card-icon.sc-duet-choice{position:relative;color:rgb(0, 119, 179)}.duet-theme-turva.sc-duet-choice .duet-choice-card-icon.sc-duet-choice{color:rgb(164, 4, 40)}.duet-choice-card-icon.sc-duet-choice duet-icon.sc-duet-choice{display:block}.duet-choice-section-hidden.sc-duet-choice{display:none}.duet-choice-card-info.duet-choice-card-collapsed.sc-duet-choice,.duet-choice-card-collapsed.duet-choice-card-collapsible.sc-duet-choice{position:relative;width:auto;padding:0 !important;background:unset !important;border:0;border-radius:0}.duet-choice-card-info.sc-duet-choice,.duet-choice-card-collapsible.sc-duet-choice{padding:20px !important;position:relative;width:100%;font-weight:400;color:rgb(8, 42, 77);border:1px solid rgb(212, 223, 229);border-top:0;border-radius:0 0 8px 8px;transition:border-color 300ms ease}@media (min-width: 36em){.duet-choice-card-info.sc-duet-choice,.duet-choice-card-collapsible.sc-duet-choice{padding:28px !important}}.duet-theme-turva.sc-duet-choice .duet-choice-card-info.sc-duet-choice,.duet-theme-turva.sc-duet-choice .duet-choice-card-collapsible.sc-duet-choice{color:rgb(23, 28, 58);border-color:rgb(23, 28, 58)}.checked.sc-duet-choice>.duet-choice-card-info.sc-duet-choice,.checked.sc-duet-choice>.duet-choice-card-collapsible.sc-duet-choice{display:block}.duet-choice-card-info-expanded.sc-duet-choice,.duet-choice-card-collapsible-expanded.sc-duet-choice{display:block}.duet-choice-card-collapsible.sc-duet-choice{background:rgb(255, 255, 255);border:1px solid rgb(212, 223, 229);border-top:0}.duet-choice-card-collapsible.duet-theme-turva.sc-duet-choice{background:rgb(255, 255, 255);border-color:rgb(222, 224, 228)}.duet-choice-card-collapsible.checked.sc-duet-choice{padding:19px !important;padding-top:20px !important;border-color:rgb(0, 119, 179);border-width:2px}@media (min-width: 36em){.duet-choice-card-collapsible.checked.sc-duet-choice{padding:27px !important;padding-top:28px !important}}.duet-choice-card-collapsible.checked.duet-theme-turva.sc-duet-choice{border-color:rgb(23, 28, 58)}.duet-choice-card-collapsible-disabled.sc-duet-choice{background:rgb(245, 248, 250);border-color:rgb(212, 223, 229)}.duet-choice-card-collapsible-disabled.checked.sc-duet-choice{border-color:rgb(212, 223, 229)}.duet-choice-card-collapsible-disabled.duet-theme-turva.sc-duet-choice{background:rgb(245, 247, 250);border-color:rgb(222, 224, 228)}.duet-choice-card-collapsible-disabled.duet-theme-turva.checked.sc-duet-choice{border-color:rgb(222, 224, 228)}.duet-choice-card-info.sc-duet-choice{font-size:0.875rem;line-height:1.5;background:rgb(245, 248, 250);transition:150ms ease-out}.duet-choice-card-info.duet-theme-turva.sc-duet-choice{background:rgb(245, 247, 250);border-color:rgb(222, 224, 228)}.duet-choice-card-info.duet-choice-card-collapsed .duet-choice-info-container.sc-duet-choice-s>*,.duet-choice-card-info.duet-choice-card-collapsed .duet-choice-info-container .sc-duet-choice-s>*{display:none}.user-is-tabbing.sc-duet-choice-h .duet-choice-info-container.sc-duet-choice:focus{display:block;outline:none;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.disabled.sc-duet-choice-h .duet-choice-card-collapsible.sc-duet-choice{border-color:rgb(127, 150, 165)}.disabled.sc-duet-choice-h .duet-choice-card-collapsible.duet-theme-turva.sc-duet-choice{border-color:rgb(143, 147, 158)}.sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-collapsible.sc-duet-choice:not(.checked){border-color:rgb(0, 119, 179);border-width:2px}.duet-theme-turva .sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-collapsible.sc-duet-choice:not(.checked){border-color:rgb(143, 147, 158)}[collapsible-force-expanded].sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-collapsible.sc-duet-choice:not(.checked){padding:19px !important;padding-top:20px !important}@media (min-width: 36em){[collapsible-force-expanded].sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-collapsible.sc-duet-choice:not(.checked){padding:27px !important;padding-top:28px !important}}.duet-choice-info-toggle.sc-duet-choice{display:flex;flex-shrink:0;align-items:flex-start;justify-content:center;width:57.6px;padding-top:1.25rem;cursor:pointer;background:rgb(255, 255, 255);border:1px solid rgb(212, 223, 229);border-left:0 none;border-top-right-radius:8px;border-bottom-right-radius:8px;-webkit-appearance:none;appearance:none}.duet-choice-info-toggle[aria-expanded=true].sc-duet-choice{background:rgb(245, 248, 250);border-bottom-color:transparent;border-bottom-right-radius:0}.duet-theme-turva.sc-duet-choice .duet-choice-info-toggle[aria-expanded=true].sc-duet-choice{background:rgb(245, 247, 250)}.duet-choice-info-toggle[disabled].sc-duet-choice{pointer-events:none;background:rgb(245, 248, 250) !important;border-color:rgb(212, 223, 229) !important}.duet-choice-info-toggle[disabled].sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:rgb(127, 150, 165) !important}.duet-choice-info-toggle[disabled].duet-theme-turva.sc-duet-choice{background:rgb(245, 247, 250) !important;border-color:rgb(222, 224, 228) !important}.duet-choice-info-toggle[disabled].duet-theme-turva.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:rgb(143, 147, 158) !important}.duet-choice-info-toggle.sc-duet-choice:focus{outline:none}.user-is-tabbing.sc-duet-choice-h .duet-choice-info-toggle.sc-duet-choice:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.user-is-tabbing.sc-duet-choice-h .duet-theme-turva.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.checked.sc-duet-choice+.duet-choice-info-toggle.sc-duet-choice{border-left-color:rgb(0, 119, 179) !important}.duet-choice-info-toggle.sc-duet-choice duet-icon.sc-duet-choice{display:block}.duet-choice-info-toggle.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:rgb(0, 119, 179)}.duet-theme-turva.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:rgb(198, 12, 48)}.sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-flextainer.sc-duet-choice .duet-choice-label.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice{border-left-color:rgb(127, 150, 165)}.duet-theme-turva .sc-duet-choice-h:not(.no-hover):not(.disabled):hover>.duet-choice-card-flextainer.sc-duet-choice .duet-choice-label.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice{border-left-color:rgb(143, 147, 158)}.duet-choice-input.sc-duet-choice{position:absolute !important;width:100%;height:100%;opacity:0}";
5088
5331
  var DuetChoiceStyle0 = duetChoiceCss;
5089
5332
 
5090
5333
  /**
@@ -7296,7 +7539,7 @@ function createShortcuts(shortcuts) {
7296
7539
  };
7297
7540
  }
7298
7541
 
7299
- 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:absolute;top:1px;right:1px;z-index:200;display:flex;align-items:center;justify-content:center;width:48px;height:calc(100% - 2px);color:rgb(8, 42, 77);cursor:pointer;background:transparent !important;border-left:1px solid rgb(181, 198, 208) !important;border-radius:0 4px 4px 0 !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: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-button.sc-duet-date-picker:focus{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-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-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:1.25 !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}.duet-date-table-button[aria-pressed=true].sc-duet-date-picker,.duet-date-table-button.sc-duet-date-picker:focus{color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179) !important;outline:0}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button[aria-pressed=true].sc-duet-date-picker,.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:focus{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}.duet-date-table-button.sc-duet-date-picker:focus{z-index:200;box-shadow:0 0 5px 0 #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:focus{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}";
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}";
7300
7543
  var DuetDatePickerStyle0 = duetDatePickerCss;
7301
7544
 
7302
7545
  /**
@@ -7343,9 +7586,10 @@ class DuetDatePicker {
7343
7586
  };
7344
7587
  this.handleBlur = (event) => {
7345
7588
  event.stopPropagation();
7346
- if (!this.validity.valid) {
7589
+ this.inputHasFocus = false;
7590
+ if (!this._validity.valid) {
7347
7591
  this.value = null;
7348
- const errorKey = Object.entries(this.validity).find(entry => !!entry[1])[0];
7592
+ const errorKey = Object.entries(this._validity).find(entry => !!entry[1])[0];
7349
7593
  this.internalValidityError = getLocaleString(this.dateErrorMessages[errorKey]);
7350
7594
  }
7351
7595
  this.duetBlur.emit({
@@ -7354,6 +7598,7 @@ class DuetDatePicker {
7354
7598
  };
7355
7599
  this.handleFocus = (event) => {
7356
7600
  event.stopPropagation();
7601
+ this.inputHasFocus = true;
7357
7602
  this.duetFocus.emit({
7358
7603
  component: "duet-date-picker",
7359
7604
  });
@@ -7410,7 +7655,14 @@ class DuetDatePicker {
7410
7655
  PageDown: () => this.addMonths(1),
7411
7656
  "Shift+PageUp": () => this.addYears(-1),
7412
7657
  "Shift+PageDown": () => this.addYears(1),
7658
+ Space: evt => this.handleKeyboardDaySelect(evt),
7659
+ Enter: evt => this.handleKeyboardDaySelect(evt),
7413
7660
  });
7661
+ this.handleKeyboardDaySelect = (evt) => {
7662
+ const el = evt.target;
7663
+ const date = parseISODate(el.dataset.day);
7664
+ this.handleDaySelect(evt, date);
7665
+ };
7414
7666
  this.handleDaySelect = (_event, day) => {
7415
7667
  const min = parseISODate(this.min);
7416
7668
  const max = parseISODate(this.max);
@@ -7437,6 +7689,7 @@ class DuetDatePicker {
7437
7689
  this.open = false;
7438
7690
  this.focusedDay = new Date();
7439
7691
  this.inputValue = "";
7692
+ this.inputHasFocus = false;
7440
7693
  this.internalValidityError = "";
7441
7694
  this.theme = "";
7442
7695
  this.expand = false;
@@ -7469,15 +7722,22 @@ class DuetDatePicker {
7469
7722
  this.min = "";
7470
7723
  this.max = "";
7471
7724
  this.incrementYears = 10;
7472
- this.validity = undefined;
7473
7725
  this.accessibleLiveError = "polite";
7474
7726
  }
7727
+ /**
7728
+ * This offers information relating to the current validity of the component.
7729
+ * It follow as closely as possible the behaviour of the native date input.
7730
+ * Useful properties to inspect are badInput, valueMissing, rangeOverflow, rangeUnderflow.
7731
+ */
7732
+ get validity() {
7733
+ return this._validity;
7734
+ }
7475
7735
  updateValidity(newValue, _oldValue, propName) {
7476
7736
  if (propName === "value" && newValue === null) {
7477
7737
  return;
7478
7738
  }
7479
7739
  this.determineValidity(parseISODate(this.value));
7480
- if (this.validity.valid) {
7740
+ if (this._validity.valid) {
7481
7741
  this.internalValidityError = "";
7482
7742
  }
7483
7743
  }
@@ -7592,7 +7852,7 @@ class DuetDatePicker {
7592
7852
  const valueMissing = this.required && date == null;
7593
7853
  const rangeOverflow = date ? !inRange(date, null, parseISODate(this.max)) : false;
7594
7854
  const rangeUnderflow = date ? !inRange(date, parseISODate(this.min)) : false;
7595
- this.validity = {
7855
+ this._validity = {
7596
7856
  patternMismatch: false,
7597
7857
  customError: false,
7598
7858
  stepMismatch: false,
@@ -7688,11 +7948,12 @@ class DuetDatePicker {
7688
7948
  "min": [1],
7689
7949
  "max": [1],
7690
7950
  "incrementYears": [2, "increment"],
7691
- "validity": [1040],
7951
+ "validity": [2064],
7692
7952
  "accessibleLiveError": [1, "accessible-live-error"],
7693
7953
  "open": [32],
7694
7954
  "focusedDay": [32],
7695
7955
  "inputValue": [32],
7956
+ "inputHasFocus": [32],
7696
7957
  "internalValidityError": [32],
7697
7958
  "setFocus": [64],
7698
7959
  "show": [64],
@@ -9759,7 +10020,7 @@ function cleanValue(input, regex) {
9759
10020
  return newValue;
9760
10021
  }
9761
10022
 
9762
- const duetInputCss = "*.sc-duet-input,*.sc-duet-input::after,*.sc-duet-input::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-input-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:bottom}.sc-duet-input-h:last-child,.sc-duet-input-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-input-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-input-h{width:100% !important}.duet-m-0.sc-duet-input-h{margin:0 !important}input[type=search].sc-duet-input::-webkit-search-cancel-button{-webkit-appearance:none}duet-tooltip.sc-duet-input,.sc-duet-input-s>duet-tooltip{position:relative;top:12px;right:0}@media (min-width: 48em){duet-tooltip.sc-duet-input,.sc-duet-input-s>duet-tooltip{right:auto}}duet-caption.sc-duet-input:not(:last-of-type){margin-bottom:0}.duet-input-placeholder.sc-duet-input{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgb(255, 255, 255)}.duet-input-icon.sc-duet-input{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;font-size:0;line-height:normal;color:rgb(8, 42, 77);pointer-events:none;transform:translateY(-50%)}.duet-theme-turva.sc-duet-input .duet-input-icon.sc-duet-input{color:rgb(23, 28, 58)}.duet-input-container.sc-duet-input{position:relative;width:100%;height:100%}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input{position:relative;z-index:250}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input{position:absolute;top:-24px;right:-24px;min-width:48px;min-height:48px;color:rgb(0, 75, 129)}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva.sc-duet-input .duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:focus,.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:active{opacity:0.75;transition:none}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.duet-input-clear-icon-single.sc-duet-input button.sc-duet-input{top:-48px;right:0}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.duet-input-clear-icon-double.sc-duet-input button.sc-duet-input{top:-24px;right:12px}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.duet-input-clear-icon-button.sc-duet-input button.sc-duet-input{top:-24px;right:0}.duet-input-container.has-clear.has-icon.sc-duet-input .duet-input-clear-icon.sc-duet-input{top:-24px;right:24px}.duet-input-container.duet-theme-turva.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input{color:rgb(8, 42, 77)}.duet-input-label-container.sc-duet-input{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between}@media (min-width: 48em){.duet-input-label-container.sc-duet-input{justify-content:flex-start}}.duet-input.sc-duet-input{position:relative;z-index:100;display:block !important;width:100% !important;min-width:8rem;max-width:initial !important;height:auto !important;padding:12px 14px !important;margin:initial !important;margin-bottom:initial !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400 !important;font-variant-numeric:tabular-nums;line-height:1.5 !important;color:rgb(8, 42, 77) !important;cursor:initial !important;background:rgb(255, 255, 255) !important;background-clip:initial !important;border:1px solid rgb(127, 150, 165) !important;border-radius:4px !important;box-shadow:initial !important;transition:box-shadow 150ms ease, border 150ms ease !important}.duet-input.input-padding-small.sc-duet-input{padding:8px 10px !important}.duet-input.input-padding-x-small.sc-duet-input{padding:4px 6px !important}.duet-input.input-padding-xx-small.sc-duet-input{padding:0px 2px !important}.duet-input.is-number.sc-duet-input{padding-right:112px !important}.duet-input.is-date.sc-duet-input{padding-right:64px !important}.duet-input.after-chip.sc-duet-input{padding-left:8px !important}.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:rgb(214, 28, 82) !important}.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:rgb(214, 28, 82) !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:rgb(214, 28, 82) !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:rgb(214, 28, 82) !important}.has-icon.sc-duet-input .duet-input.sc-duet-input{padding-right:48px !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58) !important;border-color:rgb(143, 147, 158) !important}.duet-input.align-right.sc-duet-input{text-align:right}.duet-input.sc-duet-input::-ms-clear{display:none}.duet-input.sc-duet-input::-webkit-contacts-auto-fill-button{display:none !important}.duet-input.sc-duet-input::-webkit-input-placeholder{color:rgb(98, 121, 138);opacity:1 !important;transition:color 300ms ease}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-webkit-input-placeholder{color:rgb(143, 147, 158)}.duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:rgb(181, 198, 208)}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:rgb(199, 202, 207)}.duet-input.sc-duet-input::-moz-placeholder{color:rgb(98, 121, 138);opacity:1 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-moz-placeholder{color:rgb(143, 147, 158)}.duet-input.sc-duet-input:focus::-moz-placeholder{color:rgb(181, 198, 208)}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-moz-placeholder{color:rgb(199, 202, 207)}.duet-input.sc-duet-input:-ms-input-placeholder{color:rgb(98, 121, 138)}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:-ms-input-placeholder{color:rgb(143, 147, 158)}.duet-input.sc-duet-input:focus:-ms-input-placeholder{color:rgb(181, 198, 208)}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus:-ms-input-placeholder{color:rgb(199, 202, 207)}.duet-input[disabled].sc-duet-input{color:rgb(8, 42, 77) !important;cursor:not-allowed !important;background:rgb(245, 248, 250) !important;border-color:rgb(245, 248, 250) !important;box-shadow:none !important;opacity:1 !important;-webkit-text-fill-color:rgb(8, 42, 77) !important}.duet-theme-turva.sc-duet-input .duet-input[disabled].sc-duet-input{color:rgb(23, 28, 58) !important;background:rgb(245, 247, 250) !important;border-color:rgb(245, 247, 250) !important;-webkit-text-fill-color:rgb(23, 28, 58) !important}.duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #909599 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #747475 !important}.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #e55039}.duet-input.sc-duet-input:focus{border-color:rgb(0, 119, 179) !important;outline:0;box-shadow:0 0 0 1px #0077b3 !important;transition:none}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus{border-color:rgb(23, 28, 58) !important;box-shadow:0 0 0 1px #171c3a !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:rgb(23, 28, 58)}.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #e55039}.duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:rgb(0, 119, 179)}.duet-input[type=search].sc-duet-input:not(:placeholder-shown):focus+.duet-input-icon.sc-duet-input{display:none}.duet-input.sc-duet-input:not(:focus):not(:hover):invalid{box-shadow:none !important}.duet-input[type=number].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=number].sc-duet-input::-webkit-outer-spin-button,.duet-input[type=time].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=time].sc-duet-input::-webkit-outer-spin-button{display:none;margin:0;-webkit-appearance:none}.duet-input.sc-duet-input::-webkit-search-cancel-button{margin-right:-28px}.duet-input-help.sc-duet-input{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(98, 121, 138);border-radius:4px}.duet-input-help.sc-duet-input span.sc-duet-input{display:block;margin-top:8px}.duet-theme-turva.sc-duet-input .duet-input-help.sc-duet-input{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(143, 147, 158)}.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:rgb(214, 28, 82)}.duet-theme-turva.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:rgb(214, 28, 82)}.duet-label-hidden.sc-duet-input duet-label.sc-duet-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.duet-input-relative.sc-duet-input{position:relative;width:100%}.duet-input-variation-button.sc-duet-input{position:relative;width:100%}.duet-input-variation-button.sc-duet-input .duet-input-relative.sc-duet-input{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;width:auto}.duet-input-variation-button.sc-duet-input .duet-input-relative.sc-duet-input duet-button.sc-duet-input{z-index:250;margin-bottom:0}.duet-input-variation-button.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input{border-right-width:0 !important;border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.duet-input-variation-revealable.sc-duet-input{position:relative;width:100%}.duet-input-variation-revealable.sc-duet-input .sc-duet-input::-ms-reveal{display:none}.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;width:auto;border:1px solid rgb(127, 150, 165);border-radius:4px;box-shadow:initial;transition:box-shadow 150ms ease, border 150ms ease}.duet-theme-turva.sc-duet-input .duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(143, 147, 158)}.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input duet-button.sc-duet-input{z-index:250;margin-bottom:0}.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input{border-width:0 !important}.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input:focus,.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input:hover{border-width:0 !important;box-shadow:none !important}.duet-input-variation-revealable.disabled.sc-duet-input .duet-input-relative.sc-duet-input{background:rgb(245, 248, 250);border-color:rgb(212, 223, 229);box-shadow:none}.duet-input-variation-revealable.has-error.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(214, 28, 82)}.duet-input-variation-revealable.duet-theme-turva.has-error.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(214, 28, 82)}.duet-input-variation-revealable.has-focus.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(0, 119, 179);box-shadow:0 0 0 1px #0077b3 !important}.duet-input-variation-revealable.duet-theme-turva.has-focus.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(23, 28, 58);box-shadow:0 0 0 1px #171c3a !important}.duet-input-variation-revealable.sc-duet-input:hover:not(.disabled) .duet-input-relative.sc-duet-input{box-shadow:0 0 0 1px #909599}.duet-input-variation-revealable.duet-theme-turva.sc-duet-input:hover:not(.disabled) .duet-input-relative.sc-duet-input{box-shadow:0 0 0 1px #747475}.duet-input-variation-revealable.has-error.sc-duet-input:hover:not(.disabled) .duet-input-relative.sc-duet-input{box-shadow:0 0 0 1px #de2362}.duet-input-variation-revealable.duet-theme-turva.has-error.sc-duet-input:hover:not(.disabled) .duet-input-relative.sc-duet-input{box-shadow:0 0 0 1px #e55039}.duet-input-container.has-chips.sc-duet-input .duet-input-relative.sc-duet-input{display:flex;flex-direction:row;flex-wrap:wrap;align-content:center;align-items:center;justify-content:flex-start;width:auto;border:1px solid rgb(127, 150, 165);border-radius:4px;box-shadow:initial;transition:box-shadow 150ms ease, border 150ms ease}.duet-theme-turva.sc-duet-input .duet-input-container.has-chips.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(143, 147, 158)}.duet-input-container.has-chips.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input{flex-basis:4rem;flex-grow:1;padding-left:0 !important;margin-left:12px !important;border-width:0 !important}.duet-input-container.has-chips.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input:focus,.duet-input-container.has-chips.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input:hover{border-width:0 !important;box-shadow:none !important}";
10023
+ const duetInputCss = "*.sc-duet-input,*.sc-duet-input::after,*.sc-duet-input::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-input-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:bottom}.sc-duet-input-h:last-child,.sc-duet-input-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-input-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-input-h{width:100% !important}.duet-m-0.sc-duet-input-h{margin:0 !important}input[type=search].sc-duet-input::-webkit-search-cancel-button{-webkit-appearance:none}duet-tooltip.sc-duet-input,.sc-duet-input-s>duet-tooltip{position:relative;top:12px;right:0}@media (min-width: 48em){duet-tooltip.sc-duet-input,.sc-duet-input-s>duet-tooltip{right:auto}}duet-caption.sc-duet-input:not(:last-of-type){margin-bottom:0}.duet-input-placeholder.sc-duet-input{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgb(255, 255, 255)}.duet-input-icon.sc-duet-input{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;font-size:0;line-height:normal;color:rgb(8, 42, 77);pointer-events:none;transform:translateY(-50%)}.duet-theme-turva.sc-duet-input .duet-input-icon.sc-duet-input{color:rgb(23, 28, 58)}.duet-input-container.sc-duet-input{position:relative;width:100%;height:100%}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input{position:relative;z-index:250}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input{position:absolute;top:-24px;right:-24px;min-width:48px;min-height:48px;color:rgb(0, 75, 129)}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva.sc-duet-input .duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:focus,.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:active{opacity:0.75;transition:none}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.duet-input-clear-icon-single.sc-duet-input button.sc-duet-input{top:-48px;right:0}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.duet-input-clear-icon-double.sc-duet-input button.sc-duet-input{top:-24px;right:12px}.duet-input-container.has-clear.sc-duet-input .duet-input-clear-icon.duet-input-clear-icon-button.sc-duet-input button.sc-duet-input{top:-24px;right:0}.duet-input-container.has-clear.has-icon.sc-duet-input .duet-input-clear-icon.sc-duet-input{top:-24px;right:24px}.duet-input-container.duet-theme-turva.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input{color:rgb(8, 42, 77)}.duet-input-container.duet-theme-turva.has-clear.sc-duet-input .duet-input-clear-icon.sc-duet-input button.sc-duet-input:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a !important}.duet-input-label-container.sc-duet-input{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between}@media (min-width: 48em){.duet-input-label-container.sc-duet-input{justify-content:flex-start}}.duet-input.sc-duet-input{position:relative;z-index:100;display:block !important;width:100% !important;min-width:8rem;max-width:initial !important;height:auto !important;padding:12px 14px !important;margin:initial !important;margin-bottom:initial !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400 !important;font-variant-numeric:tabular-nums;line-height:1.5 !important;color:rgb(8, 42, 77) !important;cursor:initial !important;background:rgb(255, 255, 255) !important;background-clip:initial !important;border:1px solid rgb(127, 150, 165) !important;border-radius:4px !important;box-shadow:initial !important;transition:box-shadow 150ms ease, border 150ms ease !important}.duet-input.input-padding-small.sc-duet-input{padding:8px 10px !important}.duet-input.input-padding-x-small.sc-duet-input{padding:4px 6px !important}.duet-input.input-padding-xx-small.sc-duet-input{padding:0px 2px !important}.duet-input.is-number.sc-duet-input{padding-right:112px !important}.duet-input.is-date.sc-duet-input{padding-right:64px !important}.duet-input.after-chip.sc-duet-input{padding-left:8px !important}.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:rgb(214, 28, 82) !important}.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:rgb(214, 28, 82) !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:rgb(214, 28, 82) !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:rgb(214, 28, 82) !important}.has-icon.sc-duet-input .duet-input.sc-duet-input{padding-right:48px !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58) !important;border-color:rgb(143, 147, 158) !important}.duet-input.align-right.sc-duet-input{text-align:right}.duet-input.sc-duet-input::-ms-clear{display:none}.duet-input.sc-duet-input::-webkit-contacts-auto-fill-button{display:none !important}.duet-input.sc-duet-input::-webkit-input-placeholder{color:rgb(98, 121, 138);opacity:1 !important;transition:color 300ms ease}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-webkit-input-placeholder{color:rgb(143, 147, 158)}.duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:rgb(181, 198, 208)}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:rgb(199, 202, 207)}.duet-input.sc-duet-input::-moz-placeholder{color:rgb(98, 121, 138);opacity:1 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-moz-placeholder{color:rgb(143, 147, 158)}.duet-input.sc-duet-input:focus::-moz-placeholder{color:rgb(181, 198, 208)}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-moz-placeholder{color:rgb(199, 202, 207)}.duet-input.sc-duet-input:-ms-input-placeholder{color:rgb(98, 121, 138)}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:-ms-input-placeholder{color:rgb(143, 147, 158)}.duet-input.sc-duet-input:focus:-ms-input-placeholder{color:rgb(181, 198, 208)}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus:-ms-input-placeholder{color:rgb(199, 202, 207)}.duet-input[disabled].sc-duet-input{color:rgb(8, 42, 77) !important;cursor:not-allowed !important;background:rgb(245, 248, 250) !important;border-color:rgb(245, 248, 250) !important;box-shadow:none !important;opacity:1 !important;-webkit-text-fill-color:rgb(8, 42, 77) !important}.duet-theme-turva.sc-duet-input .duet-input[disabled].sc-duet-input{color:rgb(23, 28, 58) !important;background:rgb(245, 247, 250) !important;border-color:rgb(245, 247, 250) !important;-webkit-text-fill-color:rgb(23, 28, 58) !important}.duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #909599 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #747475 !important}.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #e55039}.duet-input.sc-duet-input:focus{border-color:rgb(0, 119, 179) !important;outline:0;box-shadow:0 0 0 1px #0077b3 !important;transition:none}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus{border-color:rgb(23, 28, 58) !important;box-shadow:0 0 0 1px #171c3a !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:rgb(23, 28, 58)}.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #e55039}.duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:rgb(0, 119, 179)}.duet-input[type=search].sc-duet-input:not(:placeholder-shown):focus+.duet-input-icon.sc-duet-input{display:none}.duet-input.sc-duet-input:not(:focus):not(:hover):invalid{box-shadow:none !important}.duet-input[type=number].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=number].sc-duet-input::-webkit-outer-spin-button,.duet-input[type=time].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=time].sc-duet-input::-webkit-outer-spin-button{display:none;margin:0;-webkit-appearance:none}.duet-input.sc-duet-input::-webkit-search-cancel-button{margin-right:-28px}.duet-input-help.sc-duet-input{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(98, 121, 138);border-radius:4px}.duet-input-help.sc-duet-input span.sc-duet-input{display:block;margin-top:8px}.duet-theme-turva.sc-duet-input .duet-input-help.sc-duet-input{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(143, 147, 158)}.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:rgb(214, 28, 82)}.duet-theme-turva.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:rgb(214, 28, 82)}.duet-label-hidden.sc-duet-input duet-label.sc-duet-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.duet-input-relative.sc-duet-input{position:relative;width:100%}.duet-input-variation-button.sc-duet-input{position:relative;width:100%}.duet-input-variation-button.sc-duet-input .duet-input-relative.sc-duet-input{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;width:auto}.duet-input-variation-button.sc-duet-input .duet-input-relative.sc-duet-input duet-button.sc-duet-input{z-index:250;margin-bottom:0}.duet-input-variation-button.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input{border-right-width:0 !important;border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.duet-input-variation-revealable.sc-duet-input{position:relative;width:100%}.duet-input-variation-revealable.sc-duet-input .sc-duet-input::-ms-reveal{display:none}.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;width:auto;border:1px solid rgb(127, 150, 165);border-radius:4px;box-shadow:initial;transition:box-shadow 150ms ease, border 150ms ease}.duet-theme-turva.sc-duet-input .duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(143, 147, 158)}.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input duet-button.sc-duet-input{z-index:250;margin-bottom:0}.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input{border-width:0 !important}.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input:focus,.duet-input-variation-revealable.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input:hover{border-width:0 !important;box-shadow:none !important}.duet-input-variation-revealable.disabled.sc-duet-input .duet-input-relative.sc-duet-input{background:rgb(245, 248, 250);border-color:rgb(212, 223, 229);box-shadow:none}.duet-input-variation-revealable.has-error.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(214, 28, 82)}.duet-input-variation-revealable.duet-theme-turva.has-error.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(214, 28, 82)}.duet-input-variation-revealable.has-focus.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(0, 119, 179);box-shadow:0 0 0 1px #0077b3 !important}.duet-input-variation-revealable.duet-theme-turva.has-focus.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(23, 28, 58);box-shadow:0 0 0 1px #171c3a !important}.duet-input-variation-revealable.sc-duet-input:hover:not(.disabled) .duet-input-relative.sc-duet-input{box-shadow:0 0 0 1px #909599}.duet-input-variation-revealable.duet-theme-turva.sc-duet-input:hover:not(.disabled) .duet-input-relative.sc-duet-input{box-shadow:0 0 0 1px #747475}.duet-input-variation-revealable.has-error.sc-duet-input:hover:not(.disabled) .duet-input-relative.sc-duet-input{box-shadow:0 0 0 1px #de2362}.duet-input-variation-revealable.duet-theme-turva.has-error.sc-duet-input:hover:not(.disabled) .duet-input-relative.sc-duet-input{box-shadow:0 0 0 1px #e55039}.duet-input-container.has-chips.sc-duet-input .duet-input-relative.sc-duet-input{display:flex;flex-direction:row;flex-wrap:wrap;align-content:center;align-items:center;justify-content:flex-start;width:auto;border:1px solid rgb(127, 150, 165);border-radius:4px;box-shadow:initial;transition:box-shadow 150ms ease, border 150ms ease}.duet-theme-turva.sc-duet-input .duet-input-container.has-chips.sc-duet-input .duet-input-relative.sc-duet-input{border-color:rgb(143, 147, 158)}.duet-input-container.has-chips.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input{flex-basis:4rem;flex-grow:1;padding-left:0 !important;margin-left:12px !important;border-width:0 !important}.duet-input-container.has-chips.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input:focus,.duet-input-container.has-chips.sc-duet-input .duet-input-relative.sc-duet-input .duet-input.sc-duet-input:hover{border-width:0 !important;box-shadow:none !important}";
9763
10024
  var DuetInputStyle0 = duetInputCss;
9764
10025
 
9765
10026
  /**
@@ -10802,7 +11063,7 @@ class DuetLogo {
10802
11063
  }; }
10803
11064
  }
10804
11065
 
10805
- const duetMenuBarCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;width:100%}.duet-menu-bar{position:relative;top:0;z-index:2;display:flex;align-items:center;justify-content:center;background:rgb(255, 255, 255);box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07);transition:top 0.3s}.duet-menu-bar.hidden{top:-200px}.duet-menu-bar.bottom{z-index:1}@media (min-width: 62em){.duet-menu-bar{box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1)}}.duet-menu-bar .top{display:none}.duet-menu-bar .bottom{display:none}.duet-menu-bar.horizontal-nav{position:relative}.duet-menu-bar.horizontal-nav .top{position:absolute;top:0;left:3.5%;display:block;width:93%;height:1px;background:rgb(245, 248, 250)}.duet-menu-bar.horizontal-nav .bottom{position:absolute;bottom:0;left:0;display:block;width:100%;height:1px;background:rgb(212, 223, 229)}.duet-menu-bar.horizontal-nav .more-left{position:absolute;top:0;left:-1px;z-index:1;width:56px;height:49px;pointer-events:none;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0) 100%)}@media (min-width: 62em){.duet-menu-bar.horizontal-nav .more-left{display:none}}.duet-menu-bar.horizontal-nav .more-right{position:absolute;top:0;right:-1px;z-index:1;width:56px;height:49px;pointer-events:none;background:linear-gradient(270deg, #fff 0%, rgba(255, 255, 255, 0) 100%)}@media (min-width: 62em){.duet-menu-bar.horizontal-nav .more-right{display:none}}@media (pointer: fine){.duet-menu-bar.horizontal-nav{display:none}}@media (pointer: fine) and ((min-width: 62em)){.duet-menu-bar.horizontal-nav{display:flex}}.duet-menu-bar .container{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1440px;height:100%;height:3.25rem;padding:0 8px 0 20px;overflow-x:auto;scrollbar-width:none}.duet-menu-bar .container::-webkit-scrollbar{width:0;height:0}@media (min-width: 62em){.duet-menu-bar .container{height:5rem;padding:0 28px;overflow-x:visible}}.duet-menu-bar .container .list{height:100%;list-style-type:none}.duet-menu-bar .container ::slotted(*){height:100%}.duet-menu-bar .container>*{display:flex;align-items:center;justify-content:center;height:100%}.duet-menu-bar .container>:first-child{flex-basis:0;flex-grow:1;justify-content:flex-start}.duet-menu-bar .container>:last-child{flex-basis:0;flex-grow:1;justify-content:flex-end}.duet-menu-bar .container ::slotted(*){display:flex;align-items:center;justify-content:center;height:100%}.duet-menu-bar.duet-theme-turva{background:rgb(255, 255, 255);box-shadow:0 2px 6px 0 rgba(23, 28, 58, 0.07)}@media (min-width: 62em){.duet-menu-bar.duet-theme-turva{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1)}}.center{font-size:1rem;font-weight:600;line-height:1.25;color:rgb(8, 42, 77)}.duet-theme-turva .center{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)}.right{font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 75, 129)}.duet-theme-turva .right{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)}";
11066
+ const duetMenuBarCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;width:100%}.duet-menu-bar{position:relative;top:0;z-index:2;display:flex;align-items:center;justify-content:center;background:rgb(255, 255, 255);box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07);transition:top 0.3s}.duet-menu-bar.hidden{top:-200px}.duet-menu-bar.bottom{z-index:1}@media (min-width: 62em){.duet-menu-bar{box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1)}}.duet-menu-bar .top{display:none}.duet-menu-bar .bottom{display:none}.duet-menu-bar.horizontal-nav{position:relative}.duet-menu-bar.horizontal-nav .top{position:absolute;top:0;left:3.5%;display:block;width:93%;height:1px;background:rgb(245, 248, 250)}.duet-menu-bar.horizontal-nav .bottom{position:absolute;bottom:0;left:0;display:block;width:100%;height:1px;background:rgb(212, 223, 229)}.duet-menu-bar.horizontal-nav .more-left{position:absolute;top:0;left:-1px;z-index:1;width:56px;height:49px;pointer-events:none;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0) 100%)}@media (min-width: 62em){.duet-menu-bar.horizontal-nav .more-left{display:none}}.duet-menu-bar.horizontal-nav .more-right{position:absolute;top:0;right:-1px;z-index:1;width:56px;height:49px;pointer-events:none;background:linear-gradient(270deg, #fff 0%, rgba(255, 255, 255, 0) 100%)}@media (min-width: 62em){.duet-menu-bar.horizontal-nav .more-right{display:none}}@media (pointer: fine){.duet-menu-bar.horizontal-nav{display:none}}@media (pointer: fine) and ((min-width: 62em)){.duet-menu-bar.horizontal-nav{display:flex}}.duet-menu-bar .container{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1440px;height:100%;height:3.25rem;padding:0 8px 0 20px;overflow-x:auto;scrollbar-width:none}.duet-menu-bar .container::-webkit-scrollbar{width:0;height:0}@media (min-width: 62em){.duet-menu-bar .container{height:5rem;padding:0 28px;overflow-x:visible}}.duet-menu-bar .container .list{height:100%;list-style-type:none}.duet-menu-bar .container ::slotted(*){height:100%}.duet-menu-bar .container>*{display:flex;align-items:center;justify-content:center;height:100%}.duet-menu-bar .container>:first-child{flex-basis:0;flex-grow:1;justify-content:flex-start}.duet-menu-bar .container>:last-child{flex-basis:0;flex-grow:1;justify-content:flex-end}.duet-menu-bar .container ::slotted(*){display:flex;align-items:center;justify-content:center;height:100%}.duet-menu-bar.duet-theme-turva{background:rgb(255, 255, 255);box-shadow:0 2px 6px 0 rgba(23, 28, 58, 0.07)}@media (min-width: 62em){.duet-menu-bar.duet-theme-turva{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1)}}@media (min-width: 62em){.duet-menu-bar.duet-menu-bar-slim .container{height:4rem}}.center{font-size:1rem;font-weight:600;line-height:1.25;color:rgb(8, 42, 77)}.duet-theme-turva .center{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)}.right{font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 75, 129)}.duet-theme-turva .right{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)}";
10806
11067
  var DuetMenuBarStyle0 = duetMenuBarCss;
10807
11068
 
10808
11069
  /**
@@ -10841,8 +11102,15 @@ class DuetMenuBar {
10841
11102
  }
10842
11103
  }
10843
11104
  };
11105
+ /**
11106
+ * Checks inside the component whether the center slot is used.
11107
+ */
11108
+ this.checkCenterSlot = () => {
11109
+ const centerSlot = this.element.querySelector('[slot="center"]');
11110
+ this.centerSlotUsed = !!centerSlot;
11111
+ };
10844
11112
  this.changeLogoSize = () => {
10845
- if (this.mql[1].matches) {
11113
+ if (this.mql[1].matches && this.centerSlotUsed) {
10846
11114
  this.logoSize = "large";
10847
11115
  }
10848
11116
  else {
@@ -10864,6 +11132,7 @@ class DuetMenuBar {
10864
11132
  this.logoSize = "large";
10865
11133
  this.leftMoreVisible = false;
10866
11134
  this.rightMoreVisible = false;
11135
+ this.centerSlotUsed = false;
10867
11136
  this.theme = "";
10868
11137
  this.language = getLanguage();
10869
11138
  this.logo = true;
@@ -10941,13 +11210,14 @@ class DuetMenuBar {
10941
11210
  render() {
10942
11211
  const slideoutAvailable = document.querySelectorAll("duet-slideout").length > 0;
10943
11212
  const isUsedAsAdditionalHorizontalNav = slideoutAvailable && !this.logo;
10944
- return (hAsync(Host, { key: '9a82d643e803955587245cdeab312b2e3cc0daf1' }, hAsync("nav", { key: '8c7c326745b8bc593357acbd1fd629b827f3d6fa', class: {
11213
+ return (hAsync(Host, { key: '080aa307736eb2062f7d685118e18712d1cf615d' }, hAsync("nav", { key: '28cdfe4523173ea7c4f966de8b32e4ab547885d9', class: {
10945
11214
  "duet-menu-bar": true,
10946
11215
  "duet-theme-turva": this.theme === "turva",
10947
11216
  "horizontal-nav": isUsedAsAdditionalHorizontalNav,
11217
+ "duet-menu-bar-slim": !this.centerSlotUsed,
10948
11218
  hidden: this.hidden && this.hideOnScroll,
10949
11219
  bottom: this.onBottom,
10950
- }, "aria-label": this.accessibleLabel }, hAsync("div", { key: 'e24739d56af15972f61b6ab77023cc406065ca18', class: "top" }), hAsync("div", { key: '7417f19867c76f8892ba6afb4186f0f1ac63fe30', class: { container: true }, ref: el => (this.container = el), onScroll: () => this.scrollbarCheck() }, this.logo && (hAsync("div", { key: 'bb310c770913b93feaa0fa0eb6b7ddb4999a5768' }, hAsync("duet-logo", { key: '98d0d4582de1eae55df9525d27894c879905c9db', size: this.logoSize, margin: "none", theme: this.theme, href: this.logoHref, accessibleLabel: this.logoLinkAccessibleLabel, onClick: this.handleLogoClick, language: this.language }))), hAsync("div", { key: 'de2176bb51370d7555b957aaae4ba39f4edac589', class: "list center", role: "list" }, hAsync("div", { key: '754756436eefdf6c3573c140bf82efadfd52230b', class: "more-left", hidden: !this.leftMoreVisible, role: "presentation" }), hAsync("slot", { key: '1b9d20d9511d4e256bf43032f7ca6e8410e92ff8', name: "center" }), hAsync("div", { key: 'b286c85435057052db5a16825e200f19a3362a45', class: "more-right", hidden: !this.rightMoreVisible, role: "presentation" })), hAsync("div", { key: '9f8c33c495e38d6e4097c09c241021f4dfac2e7c', class: "list right", role: "list" }, hAsync("slot", { key: '60044dd369d475608a15825dc4f4ab37002bb7c4', name: "right" }))), hAsync("div", { key: 'd2867a4033941a35a3c5aab6f513654c6d7ae46b', class: "bottom" }))));
11220
+ }, "aria-label": this.accessibleLabel }, hAsync("div", { key: 'b242a73ce21660bdd697be15d4eaa381321d2639', class: "top" }), hAsync("div", { key: '36f578fe0f39f7c41ec2b2c435a58ff995c80c53', class: { container: true }, ref: el => (this.container = el), onScroll: () => this.scrollbarCheck() }, this.logo && (hAsync("div", { key: 'f95972285bde8b9fbbabdfe18a72515c03e21ad7' }, hAsync("duet-logo", { key: '2aea0ed01de09f12991971f10828f58b8653dbf5', size: this.logoSize, margin: "none", theme: this.theme, href: this.logoHref, accessibleLabel: this.logoLinkAccessibleLabel, onClick: this.handleLogoClick, language: this.language }))), hAsync("div", { key: '434f98cee5757650e22c55f2a91cdb8185cdb7f7', class: "list center", role: "list" }, hAsync("div", { key: 'e3842f9812060bd52a44d7dc4d2caaf01120853f', class: "more-left", hidden: !this.leftMoreVisible, role: "presentation" }), hAsync("slot", { key: '88136566fba82ddbf3f2befa931e84eb58c5d3d7', name: "center" }), hAsync("div", { key: 'aed1d51ec2bda38704ccb4540d5ba8cc2f1a8d92', class: "more-right", hidden: !this.rightMoreVisible, role: "presentation" })), hAsync("div", { key: '94e134647ab04eca2cf9da10dc5b71919073b30b', class: "list right", role: "list" }, hAsync("slot", { key: 'a7b1772529b42db719616e6e3b5ba9a45736fb91', name: "right" }))), hAsync("div", { key: '550d375725a383f473ee73d7a00bef6f64eadc57', class: "bottom" }))));
10951
11221
  }
10952
11222
  get element() { return getElement(this); }
10953
11223
  static get style() { return DuetMenuBarStyle0; }
@@ -10966,7 +11236,8 @@ class DuetMenuBar {
10966
11236
  "onBottom": [32],
10967
11237
  "logoSize": [32],
10968
11238
  "leftMoreVisible": [32],
10969
- "rightMoreVisible": [32]
11239
+ "rightMoreVisible": [32],
11240
+ "centerSlotUsed": [32]
10970
11241
  },
10971
11242
  "$listeners$": [[9, "scroll", "checkScroll"], [9, "resize", "onWindowResize"]],
10972
11243
  "$lazyBundleId$": "-",
@@ -11951,7 +12222,7 @@ class DuetNav {
11951
12222
  }; }
11952
12223
  }
11953
12224
 
11954
- 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%}.duet-notification{display:block;padding:16px;color:rgb(8, 42, 77);cursor:pointer;border-bottom:1px solid rgb(212, 223, 229);transition:300ms ease}:host(:last-of-type) .duet-notification{border-bottom:0}.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;background:rgb(240, 247, 250)}.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}.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(98, 121, 138);text-align:right;text-transform:uppercase}@media (max-width: 35.9375em){.duet-notification-date{width:auto}}.duet-theme-turva .duet-notification-date{color:rgb(113, 118, 132)}::slotted(duet-heading){padding-right:80px !important}::slotted(duet-paragraph){margin-bottom:2px !important}";
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}";
11955
12226
  var DuetNotificationStyle0 = duetNotificationCss;
11956
12227
 
11957
12228
  class DuetNotification {
@@ -14468,7 +14739,7 @@ const computePosition = (reference, floating, options) => {
14468
14739
  });
14469
14740
  };
14470
14741
 
14471
- 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)}";
14742
+ 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}";
14472
14743
  var DuetPopupMenuStyle0 = duetPopupMenuCss;
14473
14744
 
14474
14745
  class DuetPopupMenu {
@@ -14499,8 +14770,9 @@ class DuetPopupMenu {
14499
14770
  }
14500
14771
  const middleware = [
14501
14772
  offset({ mainAxis: this.mainAxisOffset, crossAxis: this.crossAxisOffset }),
14502
- flip({ mainAxis: !this.forcePlacement }),
14503
- ];
14773
+ this.allowVerticalFlip && flip(),
14774
+ shift({ padding: 5 }),
14775
+ ].filter(Boolean);
14504
14776
  const coordinates = await computePosition(this.openButton, this.menuElement, {
14505
14777
  middleware,
14506
14778
  placement: this.placement,
@@ -14516,14 +14788,44 @@ class DuetPopupMenu {
14516
14788
  this.accessibleRole = "menu";
14517
14789
  this.theme = "";
14518
14790
  this.skipTeleport = undefined;
14519
- this.controller = undefined;
14520
14791
  this.placement = "bottom-start";
14521
14792
  this.forcePlacement = false;
14793
+ this.allowVerticalFlip = true;
14522
14794
  this.position = "absolute";
14523
14795
  this.mainAxisOffset = 0;
14524
14796
  this.crossAxisOffset = 0;
14525
14797
  this.controllerIcon = "action-arrow-down-small";
14526
14798
  }
14799
+ /**
14800
+ * Element, or id of an element, that controls the opening and closing of the popup menu. If id is given,
14801
+ * the component automatically sets the click event listener to open and close the popup-menu.
14802
+ */
14803
+ get controller() {
14804
+ return this._controller;
14805
+ }
14806
+ set controller(value) {
14807
+ if (this.controller === value) {
14808
+ return;
14809
+ }
14810
+ if (typeof value === "string") {
14811
+ this.setOpenButton(document.getElementById(value));
14812
+ if (this.openButton) {
14813
+ this.openButton.addEventListener("click", this.openButtonEventListener);
14814
+ }
14815
+ }
14816
+ else {
14817
+ this.setOpenButton(value);
14818
+ }
14819
+ }
14820
+ /**
14821
+ * Alias for property controller.
14822
+ */
14823
+ get opener() {
14824
+ return this._controller;
14825
+ }
14826
+ set opener(value) {
14827
+ this.controller = value;
14828
+ }
14527
14829
  /**
14528
14830
  * Component lifecycle events.
14529
14831
  */
@@ -14533,12 +14835,14 @@ class DuetPopupMenu {
14533
14835
  componentDidLoad() {
14534
14836
  }
14535
14837
  connectedCallback() {
14536
- this.handleControllerChange(this.controller, null);
14537
14838
  {
14538
14839
  return;
14539
14840
  }
14540
14841
  }
14541
14842
  disconnectedCallback() {
14843
+ if (this.autoUpdateCleanup) {
14844
+ this.autoUpdateCleanup();
14845
+ }
14542
14846
  if (this.openButton) {
14543
14847
  this.openButton.removeEventListener("click", this.openButtonEventListener);
14544
14848
  if (this.controllerIcon) {
@@ -14612,6 +14916,9 @@ class DuetPopupMenu {
14612
14916
  * Hide.
14613
14917
  */
14614
14918
  async hide() {
14919
+ if (this.autoUpdateCleanup) {
14920
+ this.autoUpdateCleanup();
14921
+ }
14615
14922
  this.open = false;
14616
14923
  }
14617
14924
  /**
@@ -14625,20 +14932,6 @@ class DuetPopupMenu {
14625
14932
  this.show();
14626
14933
  }
14627
14934
  }
14628
- handleControllerChange(newValue, oldValue) {
14629
- if (!!newValue === !!oldValue) {
14630
- return;
14631
- }
14632
- if (typeof this.controller === "string") {
14633
- this.setOpenButton(document.getElementById(this.controller));
14634
- if (this.openButton) {
14635
- this.openButton.addEventListener("click", this.openButtonEventListener);
14636
- }
14637
- }
14638
- else {
14639
- this.setOpenButton(this.controller);
14640
- }
14641
- }
14642
14935
  handleOpenChange(newValue, oldValue) {
14643
14936
  if (!!newValue === !!oldValue) {
14644
14937
  return;
@@ -14651,6 +14944,10 @@ class DuetPopupMenu {
14651
14944
  this.teleport.makeSiblingsInert();
14652
14945
  }
14653
14946
  this.updatePlacement();
14947
+ // Start autoUpdate when menu is open
14948
+ if (this.menuElement && this.openButton) {
14949
+ this.autoUpdateCleanup = autoUpdate(this.openButton, this.menuElement, this.updatePlacement);
14950
+ }
14654
14951
  setTimeout(() => {
14655
14952
  if (this.accessibleRole === "menu") {
14656
14953
  this.itemElements[0].setFocus();
@@ -14662,6 +14959,10 @@ class DuetPopupMenu {
14662
14959
  if (this.openButton) {
14663
14960
  this.openButton.accessibleExpanded = false;
14664
14961
  }
14962
+ // Clean up autoUpdate when closed
14963
+ if (this.autoUpdateCleanup) {
14964
+ this.autoUpdateCleanup();
14965
+ }
14665
14966
  setTimeout(() => {
14666
14967
  if (this.accessibleRole === "menu") {
14667
14968
  this.focusOpenButton();
@@ -14697,13 +14998,12 @@ class DuetPopupMenu {
14697
14998
  position: this.position,
14698
14999
  overflowY: "auto",
14699
15000
  };
14700
- return (hAsync(Host, { key: '389d4d1b46db081d29a7fa8d57fd65f9c113f7a9' }, hAsync("div", { key: '8d5e47a1dac1f4a7b17aed4aa69afed4cfa44a39', ref: element => {
15001
+ return (hAsync(Host, { key: '1573445d7c27f2e19d2ce614aba54a6af305ff86' }, hAsync("div", { key: '15d45b18fb7164b94698327e601076a3f51b1216', ref: element => {
14701
15002
  this.menuElement = element;
14702
- }, 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: '09fc711a6dc838d9e345a694c5e45c09a01bf4ed' }))));
15003
+ }, 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' }))));
14703
15004
  }
14704
15005
  get element() { return getElement(this); }
14705
15006
  static get watchers() { return {
14706
- "controller": ["handleControllerChange"],
14707
15007
  "open": ["handleOpenChange"]
14708
15008
  }; }
14709
15009
  static get style() { return DuetPopupMenuStyle0; }
@@ -14715,9 +15015,11 @@ class DuetPopupMenu {
14715
15015
  "accessibleRole": [1, "accessible-role"],
14716
15016
  "theme": [1025],
14717
15017
  "skipTeleport": [4, "skip-teleport"],
14718
- "controller": [1],
15018
+ "controller": [6145],
15019
+ "opener": [6145],
14719
15020
  "placement": [1],
14720
15021
  "forcePlacement": [4, "force-placement"],
15022
+ "allowVerticalFlip": [4, "allow-vertical-flip"],
14721
15023
  "position": [1025],
14722
15024
  "mainAxisOffset": [2, "main-axis-offset"],
14723
15025
  "crossAxisOffset": [2, "cross-axis-offset"],
@@ -16157,7 +16459,7 @@ class DuetShapedImage {
16157
16459
  }; }
16158
16460
  }
16159
16461
 
16160
- const duetShowMoreCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block}.duet-show-more{margin-bottom:16px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:rgb(8, 42, 77)}.duet-show-more.duet-m-0{margin:0 !important}.duet-show-more .slotted-content{display:none}.duet-show-more.open .slotted-content{display:block}.duet-show-more.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)}";
16462
+ const duetShowMoreCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block}.duet-show-more{margin-bottom:16px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:rgb(8, 42, 77)}.duet-show-more.duet-m-0{margin:0 !important}.duet-show-more .slotted-content{display:none}.duet-show-more.open .slotted-content{display:block}.duet-show-more .content:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-show-more.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-show-more.duet-theme-turva .content:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}";
16161
16463
  var DuetShowMoreStyle0 = duetShowMoreCss;
16162
16464
 
16163
16465
  class DuetShowMore {
@@ -16580,9 +16882,38 @@ class DuetSlideout {
16580
16882
  this.theme = "";
16581
16883
  this.accessibleRole = "menubar";
16582
16884
  this.open = false;
16583
- this.opener = undefined;
16584
16885
  this.backgroundColor = "gray-lightest";
16585
16886
  }
16887
+ /**
16888
+ * DuetMenuBarButton or DuetButton element, or id of an element, that opens the slideout. If id is given,
16889
+ * the component automatically sets the click event listener to open the slideout.
16890
+ */
16891
+ get opener() {
16892
+ return this._opener;
16893
+ }
16894
+ set opener(value) {
16895
+ if (this.opener === value) {
16896
+ return;
16897
+ }
16898
+ if (typeof value === "string") {
16899
+ this.setOpenButton(document.getElementById(value));
16900
+ if (this.openButton) {
16901
+ this.openButton.addEventListener("click", this.openButtonEventListener);
16902
+ }
16903
+ }
16904
+ else {
16905
+ this.setOpenButton(value);
16906
+ }
16907
+ }
16908
+ /**
16909
+ * Alias for property opener.
16910
+ */
16911
+ get controller() {
16912
+ return this._opener;
16913
+ }
16914
+ set controller(value) {
16915
+ this.opener = value;
16916
+ }
16586
16917
  /**
16587
16918
  * Component lifecycle events.
16588
16919
  */
@@ -16700,15 +17031,15 @@ class DuetSlideout {
16700
17031
  };
16701
17032
  const topLevelOpenMenuBarTranslation = getLocaleString(this.topLevelOpenMenuBarLangObject);
16702
17033
  const exitTranslation = getLocaleString(this.exitLangObject);
16703
- return (hAsync(Host, { key: '382d37300cf05dcb13fdf8824876e0148029ac41' }, hAsync("div", { key: '308a1a6d818574db32fc48c2a001b2c7e49cb694', class: { "duet-slideout": true, "duet-theme-turva": this.theme === "turva" } }, hAsync("duet-overlay", { key: '7fa43387656dea8e448e89b8c42e88af59edfcf9', onClick: this.bgOnClick, visible: this.open, "display-device": "large", zIndex: "600" }), hAsync("div", { key: '2d0d1d2d1b7e7b914c71605ba2e99bad4535e3c7', 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: {
17034
+ 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: {
16704
17035
  dialog: true,
16705
17036
  hidden: !this.open,
16706
- }, style: styles }, hAsync(FocusGuard, { key: '1fff6c072160d4bd1f4cbd0a76c350423e61cd7e', moveFocusTo: this.closeButton }), hAsync("div", { key: '099e9fa740e958a60b4be655fbb821a850613fab', class: { "top-container": true, "has-sticky-header-slot": this.hasStickyHeaderSlot } }, hAsync("div", { key: '0364ef69089b576a3d046ad18cea8e421fd78f47', class: "top" }, hAsync("button", { key: '4801538fe2d60e45bfcdf34aa796443be783ff29', ref: element => (this.closeButton = element), "aria-haspopup": "dialog", "aria-controls": "dialog", "aria-expanded": this.open ? "true" : "false", "aria-label": `${exitTranslation}`, type: "button", class: {
17037
+ }, 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: {
16707
17038
  "slideout-close": true,
16708
17039
  active: this.open,
16709
- }, onClick: this.onClick, inert: this.openPanel }, hAsync("duet-icon", { key: 'adddff71eb7c2d717909330b4a1b952989de80a7', name: "navigation-close", size: "small", margin: "none", color: "secondary" }))), hAsync("div", { key: '2532328955997fed29910a8ce59cf95a08a453bd', class: "sticky-header" }, hAsync("slot", { key: 'e6938e50feec7af6a66335e655942ffd1912c96e', name: "sticky-header" }))), hAsync("div", { key: '14489762ae9efcbdd60d2673202f2e6a514d70dd', id: "slot-container", role: this.accessibleRole, "aria-label": this.openPanel ? topLevelOpenMenuBarTranslation : null, class: {
17040
+ }, 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: {
16710
17041
  items: true,
16711
- } }, hAsync("slot", { key: 'da507350699332f3630e4d327447cb11989029f7' })), hAsync(FocusGuard, { key: 'd9a0a209bd64fc4d099de599e0ee4c3842a54f02', moveFocusTo: this.closeButton })))));
17042
+ } }, hAsync("slot", { key: 'bf013947faa4f1951dbb34616040b35d90e4770c' })), hAsync(FocusGuard, { key: '388318c3a94cd035f6e02eb83e49e0d97ad56995', moveFocusTo: this.closeButton })))));
16712
17043
  }
16713
17044
  get element() { return getElement(this); }
16714
17045
  static get watchers() { return {
@@ -16722,7 +17053,8 @@ class DuetSlideout {
16722
17053
  "theme": [1025],
16723
17054
  "accessibleRole": [1, "accessible-role"],
16724
17055
  "open": [1540],
16725
- "opener": [1],
17056
+ "opener": [6145],
17057
+ "controller": [6145],
16726
17058
  "backgroundColor": [1537, "background-color"],
16727
17059
  "language": [32],
16728
17060
  "displaying": [32],
@@ -16846,7 +17178,7 @@ class DuetSlideoutLink {
16846
17178
  }; }
16847
17179
  }
16848
17180
 
16849
- const duetSlideoutPanelCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}:host slot:not([name=label])::slotted(*){position:relative;top:0.5rem;opacity:0;transition:top 0.3s ease-in, opacity 0.3s ease-in}:host([open]) slot:not([name=label])::slotted(*){top:0;opacity:1}.duet-slideout-panel{position:relative;height:100%}.duet-slideout-panel .link{position:relative;display:flex;gap:20px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 0;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.5rem;font-weight:800;line-height:1.25;color:rgb(8, 42, 77);text-align:left;text-decoration:none;cursor:pointer}.duet-slideout-panel .link .label{display:flex;gap:0.5rem;align-items:center;justify-content:space-between;width:100%}.duet-slideout-panel .link .label-text.small{font-size:1rem;font-weight:600}.duet-slideout-panel .link .label-text.medium{font-size:1.25rem;font-weight:600}.duet-slideout-panel .link .label-text.large{font-size:1.5rem;font-weight:800}.duet-slideout-panel .link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-slideout-panel .link.active .label-text{position:relative}.duet-slideout-panel .link.active .label-text.small::after{height:1px;transform:translateY(1px)}.duet-slideout-panel .link.active .label-text::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:2px;content:\"\";background:rgb(0, 119, 179);transform:translateY(2px)}.duet-slideout-panel .dialog{position:fixed;top:0;left:0;z-index:600;width:100%;height:100%;overflow-y:auto;visibility:visible}.duet-slideout-panel .dialog.hidden{visibility:hidden}.duet-slideout-panel .dialog.hidden .top .back,.duet-slideout-panel .dialog.hidden .top span{opacity:0}.duet-slideout-panel .top-container.has-sticky-header-slot{position:sticky;top:0;z-index:200}.duet-slideout-panel .top-container.has-sticky-header-slot .top{background:rgb(240, 247, 250)}.duet-slideout-panel .top-container.has-sticky-header-slot .sticky-header{display:block;padding:0 16px}.duet-slideout-panel .top{display:flex;align-items:center;justify-content:space-between;padding:4px}.duet-slideout-panel .top .back{opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .top .back:focus,.duet-slideout-panel .top .close:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-slideout-panel .top duet-icon{padding:16px}.duet-slideout-panel .top span{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);opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .sticky-header{display:none;width:100%;padding:0 1.5rem;margin-bottom:20px;background:rgb(240, 247, 250);border-bottom:1px solid rgb(212, 223, 229)}.duet-slideout-panel .items{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:1rem 16px;overflow-y:auto;color:rgb(8, 42, 77)}.duet-slideout-panel.duet-theme-turva .link{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-slideout-panel.duet-theme-turva .link:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-slideout-panel.duet-theme-turva .link.active .label-text::after{background:rgb(198, 12, 48)}.duet-slideout-panel.duet-theme-turva .has-sticky-header-slot .top{background:rgb(245, 247, 250)}.duet-slideout-panel.duet-theme-turva .has-sticky-header-slot .sticky-header{background:rgb(245, 247, 250);border-bottom:1px solid rgb(222, 224, 228)}.duet-slideout-panel.duet-theme-turva .top .back:focus,.duet-slideout-panel.duet-theme-turva .top .close:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-slideout-panel.duet-theme-turva .top span{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)}slot:not([name=label]){--active-height:1px;--active-translate-y:translateY(1px);font-size:1rem;font-weight:600;color:rgb(8, 42, 77)}.duet-theme-turva slot:not([name=label]){color:rgb(23, 28, 58)}";
17181
+ const duetSlideoutPanelCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}:host slot:not([name=label])::slotted(*){position:relative;top:0.5rem;opacity:0;transition:top 0.3s ease-in, opacity 0.3s ease-in}:host([open]) slot:not([name=label])::slotted(*){top:0;opacity:1}.duet-slideout-panel{position:relative;height:100%}.duet-slideout-panel .link{position:relative;display:flex;gap:20px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 0;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.5rem;font-weight:800;line-height:1.25;color:rgb(8, 42, 77);text-align:left;text-decoration:none;cursor:pointer}.duet-slideout-panel .link .duet-slideout-icon{position:relative;display:inline-flex;font-size:0;line-height:normal;vertical-align:baseline}.duet-slideout-panel .link .duet-slideout-icon .duet-slideout-badge{position:absolute;top:0;left:16px;display:inline-block;width:6px;height:6px;background:rgb(247, 178, 40);border-radius:50%;box-shadow:0 0 0 1px #c18b1f}.duet-theme-turva .duet-slideout-panel .link .duet-slideout-icon .duet-slideout-badge{background:rgb(247, 178, 40)}@media (min-width: 62em){.duet-slideout-panel .link .duet-slideout-icon{margin-right:8px}}.duet-slideout-panel .link .label{display:flex;gap:0.5rem;align-items:center;justify-content:space-between;width:100%}.duet-slideout-panel .link .label-text.small{font-size:1rem;font-weight:600}.duet-slideout-panel .link .label-text.medium{font-size:1.25rem;font-weight:600}.duet-slideout-panel .link .label-text.large{font-size:1.5rem;font-weight:800}.duet-slideout-panel .link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-slideout-panel .link.active .label-text{position:relative}.duet-slideout-panel .link.active .label-text.small::after{height:1px;transform:translateY(1px)}.duet-slideout-panel .link.active .label-text::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:2px;content:\"\";background:rgb(0, 119, 179);transform:translateY(2px)}.duet-slideout-panel .dialog{position:fixed;top:0;left:0;z-index:600;width:100%;height:100%;overflow-y:auto;visibility:visible}.duet-slideout-panel .dialog.hidden{visibility:hidden}.duet-slideout-panel .dialog.hidden .top .back,.duet-slideout-panel .dialog.hidden .top span{opacity:0}.duet-slideout-panel .top-container.has-sticky-header-slot{position:sticky;top:0;z-index:200}.duet-slideout-panel .top-container.has-sticky-header-slot .top{background:rgb(240, 247, 250)}.duet-slideout-panel .top-container.has-sticky-header-slot .sticky-header{display:block;padding:0 16px}.duet-slideout-panel .top{display:flex;align-items:center;justify-content:space-between;padding:4px}.duet-slideout-panel .top .back{opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .top .back:focus,.duet-slideout-panel .top .close:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-slideout-panel .top duet-icon{padding:16px}.duet-slideout-panel .top span{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);opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .sticky-header{display:none;width:100%;padding:0 1.5rem;margin-bottom:20px;background:rgb(240, 247, 250);border-bottom:1px solid rgb(212, 223, 229)}.duet-slideout-panel .items{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:1rem 16px;overflow-y:auto;color:rgb(8, 42, 77)}.duet-slideout-panel.duet-theme-turva .link{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-slideout-panel.duet-theme-turva .link:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-slideout-panel.duet-theme-turva .link.active .label-text::after{background:rgb(198, 12, 48)}.duet-slideout-panel.duet-theme-turva .has-sticky-header-slot .top{background:rgb(245, 247, 250)}.duet-slideout-panel.duet-theme-turva .has-sticky-header-slot .sticky-header{background:rgb(245, 247, 250);border-bottom:1px solid rgb(222, 224, 228)}.duet-slideout-panel.duet-theme-turva .top .back:focus,.duet-slideout-panel.duet-theme-turva .top .close:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-slideout-panel.duet-theme-turva .top span{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)}slot:not([name=label]){--active-height:1px;--active-translate-y:translateY(1px);font-size:1rem;font-weight:600;color:rgb(8, 42, 77)}.duet-theme-turva slot:not([name=label]){color:rgb(23, 28, 58)}";
16850
17182
  var DuetSlideoutPanelStyle0 = duetSlideoutPanelCss;
16851
17183
 
16852
17184
  /**
@@ -16895,6 +17227,7 @@ class DuetSlideoutPanel {
16895
17227
  this.icon = undefined;
16896
17228
  this.labelSize = "medium";
16897
17229
  this.backgroundColor = "primary-lightest";
17230
+ this.badge = false;
16898
17231
  }
16899
17232
  /**
16900
17233
  * Component lifecycle events.
@@ -16981,21 +17314,23 @@ class DuetSlideoutPanel {
16981
17314
  };
16982
17315
  const exitTranslation = getLocaleString(this.exitLangObject);
16983
17316
  const backTranslation = getLocaleString(this.backLangObject);
16984
- return (hAsync(Host, { key: '85cf2add8e070d2f95b325f17fd3888ef083b452' }, hAsync("div", { key: '669f9374c0582745503772912e8994f0d80fab7f', class: {
17317
+ return (hAsync(Host, { key: '2647678315ed56e1fe335c37736ee23c004dd21d' }, hAsync("div", { key: '905482d53e0735d94f4b642cb1451313ba5a1b34', class: {
16985
17318
  "duet-slideout-panel": true,
16986
17319
  "duet-theme-turva": this.theme === "turva",
16987
17320
  active: this.open,
16988
- } }, hAsync("button", { key: '05bc5386920089fbd1989e0c264164bf75cc0d90', ref: element => (this.openButton = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", id: "button", type: "button", class: {
17321
+ } }, hAsync("button", { key: '45f9e616201b64655cfadf30e3e6f2c4a57c835e', ref: element => (this.openButton = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", id: "button", type: "button", class: {
16989
17322
  link: true,
16990
17323
  active: this.active,
16991
- }, onClick: this.onClick, inert: this.open }, this.icon && hAsync("duet-icon", { key: '5ae33e802c26d6855b0188566c471d9e14455ea2', name: this.icon, size: "medium", margin: "none", color: "secondary" }), hAsync("span", { key: 'cc0e3bafc2edf37d33ae03f04e6e35dd7bc6a8bf', class: "label" }, hAsync("span", { key: '5d485ef3892c579a2b356d050f63e70d55c59a81', class: { "label-text": true, [this.labelSize]: true } }, hAsync("slot", { key: '66e9cf07933f415e19ef15cec9fefde9bfbeaa79', name: "label" })), hAsync("duet-icon", { key: '230b0a6b97baf7820f59d6b9eecd371b554b1a80', class: "caret", name: "action-arrow-right", margin: "none", size: "x-small", color: "secondary" }))), hAsync("div", { key: '6c62b1fedab912d257de8b8921c5cf1e05bc1f3e', ref: element => (this.dialog = element), class: {
17324
+ }, onClick: this.onClick, inert: this.open }, this.icon && (hAsync("div", { key: '008d3982b7842feefbdf0e1a26143baca78feb98', class: "duet-slideout-icon" }, hAsync("duet-icon", { key: 'cd08bf2de91cbf0cae51750ae70ac39a6886718b', name: this.icon, size: "medium", margin: "none", color: "secondary" }), this.badge && hAsync("div", { key: '546c0233c3479f5ae94f5d175b38a5bbd5a62ec3', class: "duet-slideout-badge" }))), hAsync("span", { key: 'd5d36cc9179fcf3217d991bc40250e05cd462bd1', class: "label" }, hAsync("span", { key: 'f9cdaf84aaea94b0960779018ab0ebe92db3cded', class: { "label-text": true, [this.labelSize]: true } }, hAsync("slot", { key: '87277fe5dd9340b05758ed62641ebf4521c2c988', name: "label" })), hAsync("duet-icon", { key: 'efd21892344ca510453d903c6099ef38700dcd64', class: "caret", name: "action-arrow-right", margin: "none", size: "x-small", color: "secondary" }))), hAsync("div", { key: 'e0891e52f2734290947fb7bab8e732ea19db4ca7', ref: element => (this.dialog = element), class: {
16992
17325
  dialog: true,
16993
17326
  hidden: !this.open,
16994
- }, style: styles }, hAsync(FocusGuard, { key: 'de5845c8cda4523a2fb34b3f0e1b24176fffb23e', moveFocusTo: this.closeButton }), hAsync("div", { key: '3348199d135e2886b2324e28b5d1cf0b8b5f1ae8', class: { "top-container": true, "has-sticky-header-slot": this.hasStickyHeaderSlot } }, hAsync("div", { key: '379ee13d14ee14ebe08bdc16ead2f4c6b1b44224', class: "top" }, hAsync("button", { key: '8bfc0961203fe8b7529257f3c22f0ea36629fa8c', ref: element => (this.closeButton = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-label": `${backTranslation}`, type: "button", class: {
17327
+ }, style: styles }, hAsync(FocusGuard, { key: '78fbbf6a49c26699a681d53e8664fa9cdc04607d', moveFocusTo: this.closeButton }), hAsync("div", { key: 'ff3ae73aedbf253a194fbf5ec5e03558a6253eeb', class: { "top-container": true, "has-sticky-header-slot": this.hasStickyHeaderSlot } }, hAsync("div", { key: 'a1a3eed79130adbe6b32c2ab2a8ca0aab5cef454', class: "top" }, hAsync("button", { key: 'ec03ca7ae63fbabe2a8a72dd174d45dfe3a43cbc', ref: element => (this.closeButton = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-label": `${backTranslation}`, type: "button", class: {
16995
17328
  back: true,
16996
- }, onClick: this.onClick }, hAsync("duet-icon", { key: '88da885f77d6a1bf04a94688f62051fe8919d3d2', class: "caret", name: "action-arrow-left", margin: "none", size: "small", color: "secondary" })), hAsync("span", { key: 'eeae988e8f287320ce366a80beb333415bc5342b' }, this.label.innerHTML), hAsync("button", { key: '7533c4fdc5b5c59ec06579ad0656d44505a51c55', class: "close", type: "button", onClick: this.onCloseClick, "aria-label": `${exitTranslation}` }, hAsync("duet-icon", { key: 'e1520bf9ec14b782f25b13a6c139a0bf260dc961', name: "navigation-close", size: "small", margin: "none", color: "secondary" }))), hAsync("div", { key: 'f7ffaa74e560bdda5d8f9364b65fc1960b7b5a94', class: "sticky-header" }, hAsync("slot", { key: 'ea473e76641c6705cd2dca5afb3f84f7b9217cc8', name: "sticky-header" }))), hAsync("div", { key: 'c3c70db81e357383a4629d095c082c024bbc6e0e', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
17329
+ }, onClick: this.onClick }, hAsync("duet-icon", { key: 'cccfd5be6b2f45a819c9f4d5e2be98fb550f9052', class: "caret", name: "action-arrow-left", margin: "none", size: "small", color: "secondary" })), hAsync("span", { key: '6ef5585f68075fb83da70e1d0957a271baa40e8d' }, this.label.innerHTML), hAsync("button", { key: '025d0b7774d3ab4d2212a41dcfbf335dbdcbe75b', class: "close", type: "button", onClick: this.onCloseClick, "aria-label": `${exitTranslation}` }, hAsync("duet-icon", { key: 'c75bc1256d277e8e78feff4feccea9ddbb76076e', name: "navigation-close", size: "small", margin: "none", color: "secondary" }))), hAsync("div", { key: '2ea243cde023eae58163c13933950ae567cc4fb8', class: "sticky-header" }, hAsync("slot", { key: '216f3007ee7fd66367bb1ecc7c633f81def538de', name: "sticky-header" }))), hAsync("div", { key: 'b63972a5c65747caa92dd13ec99059748afa72e0', tabindex: "-1", role: "menu",
17330
+ //TODO: slideout menu fades out, needs to be instant
17331
+ id: "menu", "aria-labelledby": "button", class: {
16997
17332
  items: true,
16998
- } }, hAsync("slot", { key: '0bf5ecbaad2132d5d2da8be4d74a9b2653414fdd' })), hAsync(FocusGuard, { key: 'f70457896fa82645d77260ef4762c9cb4a775d86', moveFocusTo: this.closeButton })))));
17333
+ } }, hAsync("slot", { key: '82da64daad4e4c5445bacd92c115e658819341ce' })), hAsync(FocusGuard, { key: 'fd769f1269b9562291f1198976e3258148a696dc', moveFocusTo: this.closeButton })))));
16999
17334
  }
17000
17335
  get element() { return getElement(this); }
17001
17336
  static get watchers() { return {
@@ -17012,6 +17347,7 @@ class DuetSlideoutPanel {
17012
17347
  "icon": [1537],
17013
17348
  "labelSize": [1537, "label-size"],
17014
17349
  "backgroundColor": [1537, "background-color"],
17350
+ "badge": [4],
17015
17351
  "label": [32],
17016
17352
  "language": [32],
17017
17353
  "bodyScrollLocked": [32],
@@ -17064,16 +17400,16 @@ class DuetSlideoutPanelDropdown {
17064
17400
  * Always the last one in the class.
17065
17401
  */
17066
17402
  render() {
17067
- return (hAsync(Host, { key: '928a234e72a6cbc3d987453b0536284beb302544' }, hAsync("div", { key: '6381d9b535e0aae5f1ffcd4598d7ef5549414629', class: {
17403
+ return (hAsync(Host, { key: '8bd65996e3bfea744c0730e651df24d258bec3c7' }, hAsync("div", { key: '4d04156b1831757d0cd15287fe4baa3c300d4bd2', class: {
17068
17404
  "duet-slideout-panel-dropdown": true,
17069
17405
  "duet-theme-turva": this.theme === "turva",
17070
17406
  active: this.open,
17071
- } }, hAsync("button", { key: 'a16624ab904bb50b789dfd427d697eb2aee6cf6a', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", id: "button", type: "button", class: {
17407
+ } }, hAsync("button", { key: 'c3d651d59e46dcfa5add2b09da4fbcd5443f1687', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", id: "button", type: "button", class: {
17072
17408
  active: this.active,
17073
- }, onClick: this.onClick }, this.icon && hAsync("duet-icon", { key: 'e8adbb28483423f4361812416579bf6745a76bc4', name: this.icon, size: "medium", margin: "none", color: "secondary" }), hAsync("span", { key: '6ab66a503a7592d00d08ade39b35540fef97f4a8', class: "label" }, hAsync("slot", { key: '9feeacf271ad1b3a3110ef847e2c4054f6c137cf', name: "label" }), hAsync("duet-icon", { key: 'dc0fe5de62591c574d56a1a315523584833a29d2', class: "caret", name: "action-arrow-down-small", margin: "none", size: "xx-small", color: "secondary" }))), hAsync("div", { key: 'ffa8f24645466213c7a8ee05928e09229d602102', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
17409
+ }, onClick: this.onClick }, this.icon && hAsync("duet-icon", { key: 'f680e74f6ae413a180b08776ee27cd5cb8de74a8', name: this.icon, size: "medium", margin: "none", color: "secondary" }), hAsync("span", { key: '2a3047b55c2df7ac06dea3fe22131fb619aa9fd1', class: "label" }, hAsync("slot", { key: 'c24326301886814aef541f359c55dedccd1cc94c', name: "label" }), hAsync("duet-icon", { key: 'c7c1032d262a94a2ca59a89fc46ab514cbc64b07', class: "caret", name: "action-arrow-down-small", margin: "none", size: "xx-small", color: "secondary" }))), hAsync("div", { key: '53f5768df91fa9fe5f91ab54a8651d0dffbad19b', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
17074
17410
  items: true,
17075
17411
  hidden: !this.open,
17076
- } }, hAsync("slot", { key: 'a719e7e86838333ea006a8c7d3e76b431d8c47fa' })))));
17412
+ } }, hAsync("slot", { key: '525bcea69da437c543ab01eb3b28030858ac6b72' })))));
17077
17413
  }
17078
17414
  get element() { return getElement(this); }
17079
17415
  static get style() { return DuetSlideoutPanelDropdownStyle0; }
@@ -17540,19 +17876,19 @@ class DuetSubmenuBar {
17540
17876
  * Always the last one in the class.
17541
17877
  */
17542
17878
  render() {
17543
- return (hAsync(Host, { key: 'e2117d735a8e911cded7f265c6f8a595ae48dfdb' }, hAsync("nav", { key: '0797f1b1016c6932a6d6c59b11f487f70cc50f07', class: {
17879
+ return (hAsync(Host, { key: '1469bb18585b64778dd536fe0b0a8f727e065578' }, hAsync("nav", { key: 'a399b3bd25d1674641715545c4d9ad33a997cce8', class: {
17544
17880
  "duet-submenu-bar": true,
17545
17881
  "duet-theme-turva": this.theme === "turva",
17546
17882
  hidden: this.hidden,
17547
- }, "aria-label": this.accessibleLabel }, this.hasItems && (hAsync("button", { key: '94866119076b73cb76c5b8d17f9d1545db542f1a', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
17883
+ }, "aria-label": this.accessibleLabel }, this.hasItems && (hAsync("button", { key: '3226732e632347a9a90f39c7408f444841ed565d', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
17548
17884
  active: this.open,
17549
- }, onClick: this.onClick }, hAsync("span", { key: 'dc870c6204c962afae8c9c26be03fdc13d0e5764', class: "label" }, hAsync("slot", { key: '725b22668a7a9c521f5db94a7d61b88648bc6ccf', name: "label" }), hAsync("duet-icon", { key: 'ad1ada873a49f7a04eba3b4a0875b980c3848eb5', theme: this.theme, class: "caret", name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" })))), hAsync("div", { key: '09728b4fb000a4a22f6de2ac8c7f0c782dde65b2', class: {
17885
+ }, onClick: this.onClick }, hAsync("span", { key: '7796972e15445991d3de043e8729a8ba33fff6e3', class: "label" }, hAsync("slot", { key: '31c5d6e4d7b63589b161e5a286e4c8fb17858f94', name: "label" }), hAsync("duet-icon", { key: 'e48e347ab980b919e9b405bcce57b653902b8cb5', theme: this.theme, class: "caret", name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" })))), hAsync("div", { key: 'bdc071c610af92ccd78d692c5cb54dd3807d4110', class: {
17550
17886
  "menu-container": true,
17551
17887
  hidden: !this.open,
17552
- }, role: "presentation" }, hAsync("div", { key: 'aa8bd7be5c9a023bd8334cb2de62172bd6d329ac', role: this.mobile ? "menu" : null, id: "menu", "aria-labelledby": this.mobile ? "button" : null, "aria-expanded": this.mobile ? (this.open ? "true" : "false") : null, class: {
17888
+ }, role: "presentation" }, hAsync("div", { key: '59b34793b7a78f7b6408ba05fe8e1e8d2cd68fcd', role: this.mobile ? "menu" : null, id: "menu", "aria-labelledby": this.mobile ? "button" : null, "aria-expanded": this.mobile ? (this.open ? "true" : "false") : null, class: {
17553
17889
  items: true,
17554
17890
  hidden: !this.open,
17555
- }, ref: element => (this.itemsContainer = element) }, hAsync("div", { key: 'bd0d108bfcd3823bcb1dfc8bc5cd1484a40fa75a', class: "list", role: this.mobile ? "presentation" : "list" }, hAsync("slot", { key: '4186c575bbd77f9286ac918604da8e77f47953dd' }), hAsync("div", { key: 'd1eb8709213d69f098493b3b31b3187ec352df6b', class: "list-padding" }))), hAsync("duet-overlay", { key: '7fee9a7696fa6e91b3689e688272538906345ca9', "keep-stacking-context": true, visible: this.open, "display-device": "not-large", transition: "immediate" })))));
17891
+ }, ref: element => (this.itemsContainer = element) }, hAsync("div", { key: '0b1cb47d7dd37179e422758a9450f257383330f6', class: "list", role: this.mobile ? "presentation" : "list" }, hAsync("slot", { key: '2c0b696924ab664b00ee2c79cdd8c49fc2134837' }), hAsync("div", { key: '5b6ffbcc4d64adbb050c1d195e5e98dc015a20bf', class: "list-padding" }))), hAsync("duet-overlay", { key: '96fde4e8c50d9d655e4f336f9c88ba14e2378069', "keep-stacking-context": true, visible: this.open, "display-device": "not-large", transition: "immediate" })))));
17556
17892
  }
17557
17893
  get element() { return getElement(this); }
17558
17894
  static get watchers() { return {
@@ -17673,18 +18009,18 @@ class DuetSubmenuBarDropdown {
17673
18009
  * Always the last one in the class.
17674
18010
  */
17675
18011
  render() {
17676
- return (hAsync(Host, { key: '8f08ece395a4ba1314841a67287af313a8855186', role: "listitem" }, hAsync("div", { key: 'e95acc4335f412ca02f26b8de05ade89164a7527', class: {
18012
+ return (hAsync(Host, { key: 'c3cf8eb945cf4d95dc90722856d85478a478c3d1', role: "listitem" }, hAsync("div", { key: 'c33c4274767aa171529c12d7998be90c12c80d79', class: {
17677
18013
  "duet-submenu-bar-dropdown": true,
17678
18014
  "duet-theme-turva": this.theme === "turva",
17679
18015
  open: this.open,
17680
18016
  active: this.active,
17681
- } }, hAsync("button", { key: 'a8d0369c81b9a06c1f124cd48d88306c1ed333dd', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", id: "button", type: "button", class: {
18017
+ } }, hAsync("button", { key: '0c2bca528aaf0c1f528634636e7d16007dd66e8e', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", id: "button", type: "button", class: {
17682
18018
  open: this.open,
17683
18019
  active: this.active,
17684
- }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (hAsync("duet-icon", { key: '4c0cc2b9677d5e58c2cf4428efa9d62a1e3c8d91', class: "submenu-bar-dropdown-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), hAsync("div", { key: 'bd5c5b92ef9dc39bf26c2553a0f5e053ef5f1c48', class: "label" }, hAsync("span", { key: '7d1aa5919c3e138f7b533d19aed057826f0fa314', class: "label-text" }, hAsync("slot", { key: 'de5d49c359fa794ccf67bb2add1783e26ade578b', name: "label" })), hAsync("duet-icon", { key: '94eba6e2c4541d80a1152018a9ce87138a947030', class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), hAsync("div", { key: '9c101cf1fdaaabeca35e85d8e7fc41adc223dcd7', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
18020
+ }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (hAsync("duet-icon", { key: 'b6d67b23e9e144930f6dbd3f7cb645dcc08757bc', class: "submenu-bar-dropdown-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), hAsync("div", { key: 'd4671d5f840303ad923d50ad7314a5ca13a95840', class: "label" }, hAsync("span", { key: 'ec5e80db693fdd7b50ad9fcf3d40300858bd3036', class: "label-text" }, hAsync("slot", { key: '42be40ec38e6e46bf516d581e0cf7204d3a43ecc', name: "label" })), hAsync("duet-icon", { key: '28fce54b06d8489c35a017371ccbcf3ff357261c', class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), hAsync("div", { key: '23ee904f9e7e8953b79be8c1903787e0ad0ed389', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
17685
18021
  items: true,
17686
18022
  hidden: !this.open,
17687
- } }, hAsync("slot", { key: '4f2254bd20c2b678903b0c0df54fd0f97402faed' })))));
18023
+ } }, hAsync("slot", { key: '18d9b43b76fd13faa5c1e95e50253d4ba067dbbd' })))));
17688
18024
  }
17689
18025
  get element() { return getElement(this); }
17690
18026
  static get style() { return DuetSubmenuBarDropdownStyle0; }
@@ -17736,12 +18072,12 @@ class DuetSubmenuBarDropdownLink {
17736
18072
  * Always the last one in the class.
17737
18073
  */
17738
18074
  render() {
17739
- return (hAsync(Host, { key: '11e639e57c680a97a0ef21a57328360133227dd1' }, hAsync("a", { key: '919512fb3aa5bf046fa9262710f43fcfd7c9fb39', class: {
18075
+ return (hAsync(Host, { key: '7b6d4f944e09e3b9f4a545b35ca22b70354d4e89' }, hAsync("a", { key: '7c4d73a5f232691be4cd4ccc4e9687afdfdf46b2', class: {
17740
18076
  "duet-submenu-bar-dropdown-link": true,
17741
18077
  "duet-theme-turva": this.theme === "turva",
17742
18078
  highlight: this.highlight,
17743
18079
  active: this.active,
17744
- }, "aria-current": this.active ? "true" : "false", href: this.href, onKeyUp: e => this.handleEscape(e) }, this.icon && hAsync("duet-icon", { key: 'ebf2d185b72200c222f27e355adeff4c079ca4ea', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }), hAsync("span", { key: '0974a4c820f420a579284d59a828f4885c6e29f0', class: "label-container" }, hAsync("span", { key: '56a4127149b845914f81522e8f4d1aee1bb5841d', class: "label" }, hAsync("slot", { key: 'f7b1b3f63774566fde033aaeefc564f4f49e5565' })), this.caret && hAsync("duet-icon", { key: '30ecc9e26ae5fd94776b1b6f36bd33762f857630', name: "action-arrow-right-small", size: "xxx-small", margin: "none" })), this.active && (hAsync("duet-icon", { key: '71a328a1d78b6d1d4c13ca0d07b5918677d93061', class: "active-check", name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor" })))));
18080
+ }, "aria-current": this.active ? "true" : "false", href: this.href, onKeyUp: e => this.handleEscape(e) }, this.icon && hAsync("duet-icon", { key: '931355f6d77cbd9390389fc19ba3523c71deaa37', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }), hAsync("span", { key: '4be80caa3ae757adf17b077286f0d05572bf8086', class: "label-container" }, hAsync("span", { key: '7c06307710f7bf1a54d31fef0fefe969ef5dbf86', class: "label" }, hAsync("slot", { key: '11223a3b3b50e53da0b37954dc228ef2cc2fb3c8' })), this.caret && hAsync("duet-icon", { key: '8f1bdbc98c7f0af7167528d6ddd015613196af72', name: "action-arrow-right-small", size: "xxx-small", margin: "none" })), this.active && (hAsync("duet-icon", { key: '06574ed40c1677c41256fde666620ec3eb367d7f', class: "active-check", name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor" })))));
17745
18081
  }
17746
18082
  get element() { return getElement(this); }
17747
18083
  static get style() { return DuetSubmenuBarDropdownLinkStyle0; }
@@ -17815,7 +18151,7 @@ class DuetSubmenuBarItem {
17815
18151
  render() {
17816
18152
  const TagName = this.url ? "a" : "button";
17817
18153
  const role = this.url ? "link" : "button";
17818
- return (hAsync(Host, { key: 'f69e9add0568dfe72123a03f289215bb29ef1d08', role: "listitem" }, hAsync(TagName, { key: '3ca7353d74a0a8c0d1126d51c6f8e331ecf6917c', target: !this.url ? null : this.external ? "_blank" : "_self", ref: element => (this.itemElement = element), class: { "duet-submenu-bar-item": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.url, onKeyUp: e => this.handleEscape(e), "aria-current": this.active ? "true" : "false", "aria-label": (this.url && getAccessibleLinkLabel(this)) || this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined, role: role, rel: this.external ? "noopener" : undefined }, this.leadingIcon && (hAsync("duet-icon", { key: 'f20c091590fbe1ecafd15170018c4cc50f0c8aed', class: "leading-icon", theme: this.theme, name: this.leadingIcon, size: "auto", margin: "none", color: "currentColor" })), hAsync("div", { key: '7b57abaa11e2b7977724e6af6a0e6abaf9fe3d6f', class: "label" }, hAsync("span", { key: 'db4d694d48e0e09771dd7a9bde496ca51b8489c3', class: "label-text" }, hAsync("slot", { key: 'aaac34dd1703e14868ca9dff56f3b8cf3fbc9bb1' })), (this.trailingIcon || this.external) && (hAsync("duet-icon", { key: '6d75e989663c2c6bd261207f8b31be886ce508ec', class: {
18154
+ return (hAsync(Host, { key: 'ab81cca016d06490e7327dff9e9cd7b1eef0c372', role: "listitem" }, hAsync(TagName, { key: '6214b7908b001b1c1c40cf1b24d37932752d48ed', target: !this.url ? null : this.external ? "_blank" : "_self", ref: element => (this.itemElement = element), class: { "duet-submenu-bar-item": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.url, onKeyUp: e => this.handleEscape(e), "aria-current": this.active ? "true" : "false", "aria-label": (this.url && getAccessibleLinkLabel(this)) || this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined, role: role, rel: this.external ? "noopener" : undefined }, this.leadingIcon && (hAsync("duet-icon", { key: '99189e4a64cecacfc57d341d664702eb6319506e', class: "leading-icon", theme: this.theme, name: this.leadingIcon, size: "auto", margin: "none", color: "currentColor" })), hAsync("div", { key: 'efa76ad7b21823ba071b7f9ff4c273034e8c32f8', class: "label" }, hAsync("span", { key: '7d97203da0eb5f9f946b469ceae8a3dd16bd4775', class: "label-text" }, hAsync("slot", { key: 'd6d331b07cf85e7a38383dd8890275bd5959527b' })), (this.trailingIcon || this.external) && (hAsync("duet-icon", { key: '3120f4d7c7b98be6a9ee3b109ed33c6a94705b4e', class: {
17819
18155
  "trailing-icon": !!this.trailingIcon,
17820
18156
  "trailing-icon-arrow": this.trailingIcon === "action-arrow-down-small",
17821
18157
  "external-icon": !!this.external,
@@ -17876,7 +18212,7 @@ class DuetSubmenuBarLink {
17876
18212
  * Always the last one in the class.
17877
18213
  */
17878
18214
  render() {
17879
- return (hAsync(Host, { key: '7b8350533b6fdc1b0fe43e2f526116478c2f4ea2', role: "listitem" }, hAsync("a", { key: '2293f62e3c8a9dd5d7bcbbb340fa61bd705c846e', class: { "duet-submenu-bar-link": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.href, onKeyUp: e => this.handleEscape(e), "aria-current": this.active ? "true" : "false" }, this.icon && (hAsync("duet-icon", { key: '2a42ec30e2045854c5d738859fee5d8a974bb7fb', class: "submenu-bar-link-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), hAsync("span", { key: 'ed5e319d3d2831716e2c86765c8e1b359a8f2955', class: "label" }, hAsync("slot", { key: 'c9daddf444637f484b157f9115fdc240814c4947' })))));
18215
+ return (hAsync(Host, { key: 'fb94eb65690b10d78ba72790a1653d129d509aab', role: "listitem" }, hAsync("a", { key: '3997d3a5848880c3c8fe0a81ff3c0ea243bf1328', class: { "duet-submenu-bar-link": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.href, onKeyUp: e => this.handleEscape(e), "aria-current": this.active ? "true" : "false" }, this.icon && (hAsync("duet-icon", { key: '56fd2d97c86ae74b00ad7661840e543e12f771c2', class: "submenu-bar-link-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), hAsync("span", { key: 'cacd3d410a7774d1c9919af8f2fca12a7150fb65', class: "label" }, hAsync("slot", { key: 'ab7dc74da327c9eac6ed6c8a72edb1b194623949' })))));
17880
18216
  }
17881
18217
  get element() { return getElement(this); }
17882
18218
  static get style() { return DuetSubmenuBarLinkStyle0; }
@@ -17964,11 +18300,6 @@ class DuetTab {
17964
18300
  disconnectLanguageChangeObserver(this);
17965
18301
  unsubscribeTabbingChange(this);
17966
18302
  if (this.tabpanelElement) {
17967
- this.tabpanelElement.removeAttribute("role");
17968
- this.tabpanelElement.removeAttribute("tabindex");
17969
- this.tabpanelElement.removeAttribute("aria-description");
17970
- this.tabpanelElement.removeAttribute("aria-labelledby");
17971
- this.tabpanelElement.removeAttribute("hidden");
17972
18303
  this.tabpanelElement.removeEventListener("focus", this.tabpanelElementFocusListener.bind(this));
17973
18304
  this.tabpanelElement.removeEventListener("blur", this.tabpanelElementBlurListener.bind(this));
17974
18305
  this.tabpanelElement = undefined;
@@ -18349,7 +18680,7 @@ class DuetTable {
18349
18680
  }
18350
18681
  }
18351
18682
  render() {
18352
- return (hAsync(Host, { key: '40ae11c117aa9e3d098fca4386bd82bf50c09d0a', class: {
18683
+ return (hAsync(Host, { key: '5281fe3906db3b9b3885493414cd38e683d7d49e', class: {
18353
18684
  [`duet-table-${this.variation}`]: true,
18354
18685
  "duet-table-flattened": !this.matchesBreakpoint,
18355
18686
  // sticky only valid when in regular table layout
@@ -18358,7 +18689,7 @@ class DuetTable {
18358
18689
  "duet-m-0": this.margin === "none",
18359
18690
  "duet-theme-turva": this.theme === "turva",
18360
18691
  "duet-table-hide-head-visually": this.hideHeadVisually,
18361
- } }, hAsync("slot", { key: 'c087d7df4a628c929262797c6b84fc33b701b8d2' })));
18692
+ } }, hAsync("slot", { key: '1611870a74ea3903dc9c1fee47e66f7827c6b6e5' })));
18362
18693
  }
18363
18694
  get element() { return getElement(this); }
18364
18695
  static get watchers() { return {
@@ -18740,11 +19071,11 @@ class DuetToolbar {
18740
19071
  : this.variation === "secondary"
18741
19072
  ? "secondary"
18742
19073
  : "default";
18743
- return (hAsync(Host, { key: 'f755504caccff50555f478c9de6cf384e624cb3b' }, hAsync("nav", { key: '1e261ae52e6c364e3ed7f3bb524f37da5a4f276e', class: {
19074
+ return (hAsync(Host, { key: '91c10cd51874090bfa321e80557b0af866158ec1' }, hAsync("nav", { key: '20468b9364a8b4ab5c294b720e18b98e435479d6', class: {
18744
19075
  "duet-toolbar": true,
18745
19076
  "duet-theme-turva": this.theme === "turva",
18746
19077
  [variation]: true,
18747
- }, "aria-label": this.accessibleLabel }, hAsync("div", { key: '50bfcdb065a530ced06715d880523406eaa58218', class: "container" }, hAsync("div", { key: 'a1cf4a216b6305cd40bf86c17344b756d297b7a4', class: "list", role: "list" }, hAsync("slot", { key: 'a0ca3b6d619470916a39fc71bc8fa9e9dbd931fe', name: "left" })), hAsync("div", { key: '9b6649d061d2815641f8270d02f92fbad4680c4e', class: "list", role: "list" }, hAsync("slot", { key: '2925618229a35ae1c92c2cf712449dde5e43c73a', name: "right" }))))));
19078
+ }, "aria-label": this.accessibleLabel }, hAsync("div", { key: 'f253ec42bdc5c5c5ae9f556e31c25a0aa3406438', class: "container" }, hAsync("div", { key: 'e71e6f8fc61221463fff4296b6543176353437a1', class: "list", role: "list" }, hAsync("slot", { key: '9f3a7862ccb69db13aee70c9bc89825c0a0d46a2', name: "left" })), hAsync("div", { key: 'debbe197eae3b509a885db277ccab37885730107', class: "list", role: "list" }, hAsync("slot", { key: 'cb71021ba0bf0a12fd9fd635cec16568ac25180a', name: "right" }))))));
18748
19079
  }
18749
19080
  get element() { return getElement(this); }
18750
19081
  static get style() { return DuetToolbarStyle0; }
@@ -18812,18 +19143,18 @@ class DuetToolbarDropdown {
18812
19143
  itemsAlign = this.element.parentElement.getAttribute("slot") === "left" ? "right" : "left";
18813
19144
  }
18814
19145
  const variation = this.variation === "negative" ? "negative" : "white";
18815
- return (hAsync(Host, { key: 'd43fd569731d6dc4a0bb5244105d0dd14ed7bc88', role: "listitem" }, hAsync("div", { key: '5ca1536d28a1eac21dcbe812503fffbf872c86a2', class: {
19146
+ return (hAsync(Host, { key: 'b267de99df676578b5c5879bfc4b33e63f53eb40', role: "listitem" }, hAsync("div", { key: '0f4a971d359bb6b05c6a0de70bd263b48ae42953', class: {
18816
19147
  "duet-toolbar-dropdown": true,
18817
19148
  "duet-theme-turva": this.theme === "turva",
18818
19149
  [itemsAlign]: true,
18819
19150
  [variation]: true,
18820
- } }, hAsync("button", { key: '2efdeb725e1699d458e1fe38973700bce864b002', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel, id: "button", type: "button", class: {
19151
+ } }, hAsync("button", { key: '7fe26d57c4e2df698aaf1677171e14999adcee31', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel, id: "button", type: "button", class: {
18821
19152
  active: this.active,
18822
19153
  open: this.open,
18823
- }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (hAsync("duet-icon", { key: 'b717e79696bdb53c18e48144620f6dd705512c92', theme: this.theme, name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), hAsync("span", { key: '702072ed8713a9be42822e7965844d7ac6e5119e', class: "label" }, hAsync("slot", { key: 'e821052ac4c40880b7ed145ea270efc790b33156', name: "label" }), hAsync("duet-icon", { key: 'ba6322e41b4d25e9750209b9a65fb284e517e8ce', class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), hAsync("div", { key: '702e4f974c7fbc1305c202662b5df4a3b921be78', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
19154
+ }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (hAsync("duet-icon", { key: 'a1390f889f23f75052fd5c78915e12ee9e3c8930', theme: this.theme, name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), hAsync("span", { key: '7b7b8ad3931cc78a60ae96ebafe19fed542db012', class: "label" }, hAsync("slot", { key: 'fb9211a981fbbada64fd2b86c3583af226ebb626', name: "label" }), hAsync("duet-icon", { key: 'aaf1a322508dee44ff0e60d5bfc68381a568a922', class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), hAsync("div", { key: 'd68a0e8ff628d5739efbe9cf3233d94cfa43e26f', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
18824
19155
  items: true,
18825
19156
  hidden: !this.open,
18826
- } }, hAsync("slot", { key: '71cc065f8c834a36224d881edee359b7c8c1c657' })))));
19157
+ } }, hAsync("slot", { key: '2d9b51cf80525f43ca11cc5e4b91dd6308251ad8' })))));
18827
19158
  }
18828
19159
  get element() { return getElement(this); }
18829
19160
  static get style() { return DuetToolbarDropdownStyle0; }
@@ -18876,11 +19207,11 @@ class DuetToolbarDropdownLink {
18876
19207
  * Always the last one in the class.
18877
19208
  */
18878
19209
  render() {
18879
- return (hAsync(Host, { key: 'ccfbeb7db46523d362f93d465201f2822d4663a7' }, hAsync("a", { key: '9626df46ad17d4e77ea6f67eacdfcea61f7e2737', class: {
19210
+ return (hAsync(Host, { key: 'ca2c386337ef8052184214a47865bc93b192efea' }, hAsync("a", { key: '2601354c27b7ff3858e561585176e040d2bfce25', class: {
18880
19211
  "duet-toolbar-dropdown-link": true,
18881
19212
  "duet-theme-turva": this.theme === "turva",
18882
19213
  active: this.active,
18883
- }, href: this.href, lang: this.targetLanguage, hreflang: this.targetLanguage, role: "link menuitem", "aria-label": this.accessibleLabel, "aria-current": this.active ? "true" : "false", onKeyUp: e => this.handleEscape(e) }, this.icon && hAsync("duet-icon", { key: 'f7669f90d9803ec830e0173132ee626a61f8f955', name: this.icon, size: "x-small", margin: "none" }), hAsync("span", { key: '9a31e23862c3bee1f980f3c4d14905dbe360020b', class: "label" }, hAsync("slot", { key: '63da45ba2b705145b779d6aab4d2be28b68c509b' })), this.active && (hAsync("duet-icon", { key: '17822abef02ddca26ee57961e735957f17691655', name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor" })))));
19214
+ }, href: this.href, lang: this.targetLanguage, hreflang: this.targetLanguage, role: "link menuitem", "aria-label": this.accessibleLabel, "aria-current": this.active ? "true" : "false", onKeyUp: e => this.handleEscape(e) }, this.icon && hAsync("duet-icon", { key: '0f941114682ef7527bf69e9e5a42ef0d095a1b2b', name: this.icon, size: "x-small", margin: "none" }), hAsync("span", { key: 'f5eac01e244e0cf0bb48229c58076580fea8e5d6', class: "label" }, hAsync("slot", { key: 'afc1ab27f5e67371e52fa2e4da46b453b24ab75c' })), this.active && (hAsync("duet-icon", { key: '041c528108a13b672788bbc254d7d6c0ee362008', name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor" })))));
18884
19215
  }
18885
19216
  get element() { return getElement(this); }
18886
19217
  static get style() { return DuetToolbarDropdownLinkStyle0; }
@@ -18901,7 +19232,7 @@ class DuetToolbarDropdownLink {
18901
19232
  }; }
18902
19233
  }
18903
19234
 
18904
- const duetToolbarItemCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}.duet-toolbar-item{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 16px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 75, 129);text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer}.duet-toolbar-item:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-toolbar-item:focus,.duet-toolbar-item:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-toolbar-item .trailing-icon{width:16px;height:16px}.duet-toolbar-item .trailing-icon.trailing-icon-arrow{width:7px;height:7px}.duet-toolbar-item .external-icon{width:10px;height:10px}.duet-toolbar-item[aria-expanded=true] .trailing-icon.rotate{transform:rotate(180deg)}.duet-toolbar-item.primary,.duet-toolbar-item.secondary{color:rgb(255, 255, 255)}.duet-toolbar-item.primary[aria-expanded=true],.duet-toolbar-item.secondary[aria-expanded=true]{background:rgba(8, 42, 77, 0.2)}.duet-toolbar-item.primary duet-icon,.duet-toolbar-item.secondary duet-icon{color:rgb(198, 225, 238)}.duet-toolbar-item.primary[aria-expanded=true]{background:rgba(8, 42, 77, 0.2)}.duet-toolbar-item.secondary[aria-expanded=true]{background:rgb(3, 56, 102)}.duet-toolbar-item.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-toolbar-item.duet-theme-turva.primary{color:rgb(255, 255, 255)}.duet-toolbar-item.duet-theme-turva.primary[aria-expanded=true]{background:rgba(23, 28, 58, 0.2)}.duet-toolbar-item.duet-theme-turva.primary duet-icon{color:rgb(255, 185, 190)}.duet-toolbar-item:hover{color:rgb(8, 42, 77);background:rgb(240, 247, 250)}.duet-toolbar-item:hover.primary,.duet-toolbar-item:hover.secondary{color:rgb(255, 255, 255)}.duet-toolbar-item:hover.primary{background:rgba(8, 42, 77, 0.2)}.duet-toolbar-item:hover.secondary{background:rgb(3, 56, 102)}.duet-toolbar-item:hover.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(245, 247, 250)}.duet-toolbar-item:hover.duet-theme-turva.primary{color:rgb(255, 255, 255);background:rgba(23, 28, 58, 0.2)}.duet-toolbar-item.active{color:rgb(8, 42, 77)}.duet-toolbar-item.active.primary,.duet-toolbar-item.active.secondary{font-weight:600;color:rgb(255, 255, 255)}.duet-toolbar-item.active.primary::after,.duet-toolbar-item.active.secondary::after{display:none}.duet-toolbar-item.active.primary{background:rgba(8, 42, 77, 0.2)}.duet-toolbar-item.active.secondary{background:rgb(3, 56, 102)}.duet-toolbar-item.active::after{position:absolute;top:auto;bottom:1px;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(1px)}.duet-toolbar-item.active::after.duet-theme-turva{background:rgb(198, 12, 48)}.duet-toolbar-item.active.duet-theme-turva{color:rgb(23, 28, 58)}.duet-toolbar-item.active.duet-theme-turva::after{background:rgb(198, 12, 48)}.duet-toolbar-item.active.duet-theme-turva.primary{color:rgb(255, 255, 255);background:rgba(23, 28, 58, 0.2)}";
19235
+ const duetToolbarItemCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}.duet-toolbar-item{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 16px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 75, 129);text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer}.duet-toolbar-item:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-toolbar-item:focus,.duet-toolbar-item:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-toolbar-item .duet-toolbar-icon{position:relative;display:inline-flex;font-size:0;line-height:normal;vertical-align:baseline}.duet-toolbar-item .duet-toolbar-icon .duet-toolbar-badge{position:absolute;top:0;left:11px;display:inline-block;width:6px;height:6px;background:rgb(247, 178, 40);border-radius:50%;box-shadow:0 0 0 1px #c18b1f}.duet-theme-turva .duet-toolbar-item .duet-toolbar-icon .duet-toolbar-badge{background:rgb(247, 178, 40)}.duet-toolbar-item .trailing-icon{width:16px;height:16px}.duet-toolbar-item .trailing-icon.trailing-icon-arrow{width:7px;height:7px}.duet-toolbar-item .external-icon{width:10px;height:10px}.duet-toolbar-item[aria-expanded=true] .trailing-icon.rotate{transform:rotate(180deg)}.duet-toolbar-item.primary,.duet-toolbar-item.secondary{color:rgb(255, 255, 255)}.duet-toolbar-item.primary[aria-expanded=true],.duet-toolbar-item.secondary[aria-expanded=true]{background:rgba(8, 42, 77, 0.2)}.duet-toolbar-item.primary duet-icon,.duet-toolbar-item.secondary duet-icon{color:rgb(198, 225, 238)}.duet-toolbar-item.primary[aria-expanded=true]{background:rgba(8, 42, 77, 0.2)}.duet-toolbar-item.secondary[aria-expanded=true]{background:rgb(3, 56, 102)}.duet-toolbar-item.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-toolbar-item.duet-theme-turva.primary{color:rgb(255, 255, 255)}.duet-toolbar-item.duet-theme-turva.primary[aria-expanded=true]{background:rgba(23, 28, 58, 0.2)}.duet-toolbar-item.duet-theme-turva.primary duet-icon{color:rgb(255, 185, 190)}.duet-toolbar-item:hover{color:rgb(8, 42, 77);background:rgb(240, 247, 250)}.duet-toolbar-item:hover.primary,.duet-toolbar-item:hover.secondary{color:rgb(255, 255, 255)}.duet-toolbar-item:hover.primary{background:rgba(8, 42, 77, 0.2)}.duet-toolbar-item:hover.secondary{background:rgb(3, 56, 102)}.duet-toolbar-item:hover.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(245, 247, 250)}.duet-toolbar-item:hover.duet-theme-turva.primary{color:rgb(255, 255, 255);background:rgba(23, 28, 58, 0.2)}.duet-toolbar-item.active{color:rgb(8, 42, 77)}.duet-toolbar-item.active.primary,.duet-toolbar-item.active.secondary{font-weight:600;color:rgb(255, 255, 255)}.duet-toolbar-item.active.primary::after,.duet-toolbar-item.active.secondary::after{display:none}.duet-toolbar-item.active.primary{background:rgba(8, 42, 77, 0.2)}.duet-toolbar-item.active.secondary{background:rgb(3, 56, 102)}.duet-toolbar-item.active::after{position:absolute;top:auto;bottom:1px;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(1px)}.duet-toolbar-item.active::after.duet-theme-turva{background:rgb(198, 12, 48)}.duet-toolbar-item.active.duet-theme-turva{color:rgb(23, 28, 58)}.duet-toolbar-item.active.duet-theme-turva::after{background:rgb(198, 12, 48)}.duet-toolbar-item.active.duet-theme-turva.primary{color:rgb(255, 255, 255);background:rgba(23, 28, 58, 0.2)}";
18905
19236
  var DuetToolbarItemStyle0 = duetToolbarItemCss;
18906
19237
 
18907
19238
  class DuetToolbarItem {
@@ -18919,6 +19250,7 @@ class DuetToolbarItem {
18919
19250
  this.accessibleLabelExternalDefaults = DuetStringsExternalDefaults;
18920
19251
  this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults);
18921
19252
  this.external = false;
19253
+ this.badge = false;
18922
19254
  }
18923
19255
  /**
18924
19256
  * Component lifecycle events.
@@ -18954,17 +19286,17 @@ class DuetToolbarItem {
18954
19286
  : this.variation === "secondary"
18955
19287
  ? "secondary"
18956
19288
  : "default";
18957
- return (hAsync(Host, { key: '83f80d7e668d1177d5f9d0e836bdfb1e3acf7871', role: "listitem" }, hAsync(TagName, { key: '850c973bb8f9558ab4253454f2687afac75e41dd', target: !this.url ? null : this.external ? "_blank" : "_self", ref: element => (this.itemElement = element), class: {
19289
+ return (hAsync(Host, { key: 'afa849ce4f6ec1c066ee4462c84bf51146a8b1b6', role: "listitem" }, hAsync(TagName, { key: '0af801b2ff5b432b0f41f72ab367932046671b7c', target: !this.url ? null : this.external ? "_blank" : "_self", ref: element => (this.itemElement = element), class: {
18958
19290
  "duet-toolbar-item": true,
18959
19291
  "duet-theme-turva": this.theme === "turva",
18960
19292
  active: this.active,
18961
19293
  [variation]: true,
18962
- }, href: this.url, role: `${TagName === "a" ? "link" : "button"}`, "aria-current": this.active ? "true" : "false", "aria-label": (this.url && getAccessibleLinkLabel(this)) || this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined, rel: this.external ? "noopener" : undefined }, this.leadingIcon && (hAsync("duet-icon", { key: '9aa6189b20be3fd6906aadc63e97842d78fe5f71', size: "x-small", name: this.leadingIcon, margin: "none", theme: this.theme, color: "currentColor" })), hAsync("slot", { key: 'e7d6bd17b81c8222d598747f64f306d7d0735b4b' }), (this.trailingIcon || this.external) && (hAsync("duet-icon", { key: '4bc521b1a39492b49c2685687279b699be209305', class: {
19294
+ }, href: this.url, role: `${TagName === "a" ? "link" : "button"}`, "aria-current": this.active ? "true" : "false", "aria-label": (this.url && getAccessibleLinkLabel(this)) || this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined, rel: this.external ? "noopener" : undefined }, this.leadingIcon && (hAsync("div", { key: 'b90f4fcad2b46e4cb1f39f204595ab30eda04274', class: "duet-toolbar-icon" }, hAsync("duet-icon", { key: '76855f764087b7505ef5eea360be023d894b2d51', size: "x-small", name: this.leadingIcon, margin: "none", theme: this.theme, color: "currentColor" }), this.badge && hAsync("div", { key: '291a2974a4972a973bbc6f989265a6c0779a1ff3', class: "duet-toolbar-badge" }))), hAsync("slot", { key: '9899ea590965a155c9890dc1d68fe0e8bf874c15' }), (this.trailingIcon || (this.url && this.external)) && (hAsync("div", { key: 'dc913307616babe431177341d31a5d0262d7b438', class: "duet-toolbar-icon" }, hAsync("duet-icon", { key: '643938497cfc43a1f85587993a2b11cb54b967e1', class: {
18963
19295
  "trailing-icon": !!this.trailingIcon,
18964
19296
  "trailing-icon-arrow": this.trailingIcon === "action-arrow-down-small",
18965
- "external-icon": !!this.external,
19297
+ "external-icon": !!(this.url && this.external),
18966
19298
  rotate: this.trailingIcon === "action-arrow-down-small" && this.accessibleExpanded,
18967
- }, theme: this.theme, name: this.trailingIcon ? this.trailingIcon : this.external ? actionNewWindowSmall.title : "", margin: "none", size: "auto", color: "currentColor" })))));
19299
+ }, theme: this.theme, name: this.trailingIcon ? this.trailingIcon : this.url && this.external ? actionNewWindowSmall.title : "", margin: "none", size: "auto", color: "currentColor" }), this.badge && this.trailingIcon !== "action-arrow-down-small" && hAsync("div", { key: '795d10ab43384c774440487bdef889a0d3b59814', class: "duet-toolbar-badge" }))))));
18968
19300
  }
18969
19301
  get element() { return getElement(this); }
18970
19302
  static get style() { return DuetToolbarItemStyle0; }
@@ -18984,6 +19316,7 @@ class DuetToolbarItem {
18984
19316
  "accessibleLabelExternalDefaults": [1, "accessible-label-external-default"],
18985
19317
  "accessibleLabelExternal": [1025, "accessible-label-external"],
18986
19318
  "external": [4],
19319
+ "badge": [4],
18987
19320
  "setFocus": [64]
18988
19321
  },
18989
19322
  "$listeners$": undefined,
@@ -19017,12 +19350,12 @@ class DuetToolbarLink {
19017
19350
  */
19018
19351
  render() {
19019
19352
  const variation = this.variation === "negative" ? "negative" : "white";
19020
- return (hAsync(Host, { key: 'aabe5d2605c9a03e071001a702185a1466c83613', role: "listitem" }, hAsync("a", { key: '78a079007a827d89ad01fef55594c77b81a2ed0f', class: {
19353
+ return (hAsync(Host, { key: 'c53a9b05b8bf38d7f393863392ec9ffa5eeea0d6', role: "listitem" }, hAsync("a", { key: '633ff7b9e9e322eb33402d00a3da6ae9dca2a04c', class: {
19021
19354
  "duet-toolbar-link": true,
19022
19355
  "duet-theme-turva": this.theme === "turva",
19023
19356
  active: this.active,
19024
19357
  [variation]: true,
19025
- }, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (hAsync("duet-icon", { key: '408a6a6bc5bff16d4d4793ce23e34c7d7c295009', size: "x-small", name: this.icon, margin: "none", theme: this.theme, color: "currentColor" })), hAsync("slot", { key: '8c8479842b94400a142de9e1b571e68a1405c04d' }))));
19358
+ }, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (hAsync("duet-icon", { key: '4de0041a0235dae5494904de06785b214c6a1edf', size: "x-small", name: this.icon, margin: "none", theme: this.theme, color: "currentColor" })), hAsync("slot", { key: '15fe5f1f6f641fa2c233aca8c0dd1802b22a5143' }))));
19026
19359
  }
19027
19360
  get element() { return getElement(this); }
19028
19361
  static get style() { return DuetToolbarLinkStyle0; }
@@ -19276,11 +19609,11 @@ class DuetTooltipButton {
19276
19609
  * Always the last one in the class.
19277
19610
  */
19278
19611
  render() {
19279
- return (hAsync(Host, { key: '360bc435fef7b15aa942d401e90445ed308649f0' }, hAsync("button", { key: '0caa0a28506e68c0e70dd723177dccbb01654d70', ref: el => (this.buttonElement = el), "aria-controls": this.tooltipId, "aria-expanded": this.active ? "true" : "false", type: "button", class: {
19612
+ return (hAsync(Host, { key: 'e15846eb1696236fe6aba826e5c0fcea835d7c9b' }, hAsync("button", { key: '995033945e9c069143e7ff97a7728766761f8a7b', ref: el => (this.buttonElement = el), "aria-controls": this.tooltipId, "aria-expanded": this.active ? "true" : "false", type: "button", class: {
19280
19613
  "duet-tooltip-button": true,
19281
19614
  "duet-tooltip-button-has-label": !!this.label,
19282
19615
  "duet-theme-turva": this.theme === "turva",
19283
- } }, hAsync("svg", { key: '6efc80b2caaa461f37a50eed0db34d9021d2e9cd', "aria-hidden": "true", role: "img", fill: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, hAsync("path", { key: 'ff0015bdd563f7974c9e017947da732e9f3486d8', d: "m13.5 17.25c-1.241 0-2.25-1.009-2.25-2.25v-3.75h-.75c-.414 0-.75-.336-.75-.75s.336-.75.75-.75h.75c.827 0 1.5.673 1.5 1.5v3.75c0 .414.336.75.75.75h.75c.414 0 .75.336.75.75s-.336.75-.75.75z" }), hAsync("circle", { key: '3dc766b793c4a4bf697f9f78b9f742c6f9c1e1ab', cx: "11.625", cy: "7.125", r: "1.125" }), hAsync("path", { key: 'd5c64375ff914fd586b9c0a54458c2498cc7b0dc', d: "m12 24c-6.617 0-12-5.383-12-12s5.383-12 12-12 12 5.383 12 12-5.383 12-12 12zm0-22.5c-5.79 0-10.5 4.71-10.5 10.5s4.71 10.5 10.5 10.5 10.5-4.71 10.5-10.5-4.71-10.5-10.5-10.5z" })), this.label ? (hAsync("span", { class: "duet-tooltip-label" }, this.label)) : (hAsync("duet-visually-hidden", null, this.accessibleLabel)))));
19616
+ } }, hAsync("svg", { key: '38aa8adbeed3df60e30be0a72a9dc23376cf9d47', "aria-hidden": "true", role: "img", fill: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, hAsync("path", { key: '30e417ff8878c2ed36bd59fd92e9e1970aa6c235', d: "m13.5 17.25c-1.241 0-2.25-1.009-2.25-2.25v-3.75h-.75c-.414 0-.75-.336-.75-.75s.336-.75.75-.75h.75c.827 0 1.5.673 1.5 1.5v3.75c0 .414.336.75.75.75h.75c.414 0 .75.336.75.75s-.336.75-.75.75z" }), hAsync("circle", { key: '83f4a042160be7dd998ef3247bccebd955498c5b', cx: "11.625", cy: "7.125", r: "1.125" }), hAsync("path", { key: '81bd29e6c558d9f3551d65d7f1172c1ba327bbec', d: "m12 24c-6.617 0-12-5.383-12-12s5.383-12 12-12 12 5.383 12 12-5.383 12-12 12zm0-22.5c-5.79 0-10.5 4.71-10.5 10.5s4.71 10.5 10.5 10.5 10.5-4.71 10.5-10.5-4.71-10.5-10.5-10.5z" })), this.label ? (hAsync("span", { class: "duet-tooltip-label" }, this.label)) : (hAsync("duet-visually-hidden", null, this.accessibleLabel)))));
19284
19617
  }
19285
19618
  get element() { return getElement(this); }
19286
19619
  static get style() { return DuetTooltipButtonStyle0; }
@@ -19347,11 +19680,11 @@ class DuetTooltipPopup {
19347
19680
  this.contentEl.focus();
19348
19681
  }
19349
19682
  render() {
19350
- return (hAsync(Host, { key: '9343f1579c908ded68ce8100b7fd2b3564627607' }, hAsync("div", { key: '5fe8a03ff3fdb177498bc623aeb8f852b81b22b2', class: {
19683
+ return (hAsync(Host, { key: '3f38cf64a79c94b97a530e000c41bf9fe66dc1d3' }, hAsync("div", { key: '8263e22fea17fce355c8dca137501fcebcbac59a', class: {
19351
19684
  "duet-tooltip": true,
19352
19685
  "duet-theme-turva": this.theme === "turva",
19353
19686
  "duet-tooltip-active": this.active === true,
19354
- } }, hAsync(FocusGuard, { key: '99bd903d13fedaef62d858ec84716a86b68fec81', moveFocusTo: this.buttonEl }), hAsync("div", { key: '03e42cf23c0116034b2632c49073d59674c36401', ref: element => (this.contentEl = element), class: "duet-tooltip-content-area", tabindex: 0, id: this.tooltipId }, hAsync("slot", { key: '4c1aa1b66580eba27c55b6dd6f2f2a2207992937' })), hAsync("div", { key: '00572971db0f698532d313358b0061f1663886d7', ref: element => (this.arrowEl = element), class: { arrow: true, [this.placement]: true }, style: this.arrowStyles }, hAsync("div", { key: '369a932964660a82b4e30a479059dddd14bc944b', class: { "arrow-container": true, [this.placement]: true } })), hAsync("button", { key: '0aa05fa0c54d83a82b8b0ec77d72e80976dddaae', type: "button", class: "duet-tooltip-close", onClick: this.handleCloseClick, ref: el => (this.buttonEl = el) }, hAsync("duet-icon", { key: '7d951071b8525d3d29e5949b1643067ed83f4f7c', name: "navigation-close-small", margin: "none", color: "currentColor", size: "xxx-small" }), hAsync("duet-visually-hidden", { key: 'c4c392ec261bd9f0f63a8f94acba93e697afe580' }, this.accessibleCloseLabel)), hAsync(FocusGuard, { key: 'e3a763bc0c245f43d9bf128064be5d3140f20f3b', moveFocusTo: this.contentEl }))));
19687
+ } }, hAsync(FocusGuard, { key: '45e183fcae3b5a0007ee9bc74f91211911c2c7ee', moveFocusTo: this.buttonEl }), hAsync("div", { key: 'd713e42ca6802b18c6123efd6055b19fc334df03', ref: element => (this.contentEl = element), class: "duet-tooltip-content-area", tabindex: 0, id: this.tooltipId }, hAsync("slot", { key: 'be6787f83b2cd73ccc626643618463eccfb03f09' })), hAsync("div", { key: '0017934953c28e0d1259b2c4d7604ef58d2e4e76', ref: element => (this.arrowEl = element), class: { arrow: true, [this.placement]: true }, style: this.arrowStyles }, hAsync("div", { key: '48a2789dc17b78d40b10b87f2a640dd2b08922b7', class: { "arrow-container": true, [this.placement]: true } })), hAsync("button", { key: 'a83a9247e89b8a41b57e89ca7bf5e0676f3770f2', type: "button", class: "duet-tooltip-close", onClick: this.handleCloseClick, ref: el => (this.buttonEl = el) }, hAsync("duet-icon", { key: '3ed992460103ed794a1f3f3ee13308970d0a117e', name: "navigation-close-small", margin: "none", color: "currentColor", size: "xxx-small" }), hAsync("duet-visually-hidden", { key: 'a3698d2049410e3098610bcc4c4514b767ac13ef' }, this.accessibleCloseLabel)), hAsync(FocusGuard, { key: '94de660c3ca5a21bbd0d9bb892e0d91b6a1b1f10', moveFocusTo: this.contentEl }))));
19355
19688
  }
19356
19689
  get element() { return getElement(this); }
19357
19690
  static get style() { return DuetTooltipPopupStyle0; }
@@ -19459,14 +19792,14 @@ class DuetTray {
19459
19792
  * Always the last one in the class.
19460
19793
  */
19461
19794
  render() {
19462
- return (hAsync("div", { key: 'eab25fd81da57e62376472de7a34ad172a3d87c1', class: {
19795
+ return (hAsync("div", { key: 'af731c19d4212111de75c1139143fb61ead407f9', class: {
19463
19796
  "duet-tray": true,
19464
19797
  "duet-tray-is-active": this.active,
19465
19798
  "duet-tray-is-hidden": this.hiddenState,
19466
19799
  "duet-tray-is-responsive": this.responsive,
19467
19800
  "duet-theme-turva": this.theme === "turva",
19468
19801
  "duet-tray-is-expandable": this.hasAdditionalContent,
19469
- } }, hAsync("div", { key: '00287ee0f266c18d7dc48f60959255f87df76aee', class: "duet-tray-default-content", role: "status" }, hAsync("slot", { key: '35204c591845b32d4cad662e924241b5902a0d85' })), this.hasAdditionalContent && (hAsync(Fragment, { key: '5497fec464c742440e94f7984cc990c11f23e800' }, hAsync("button", { key: 'c3e8b4a826f65a3d4dd7a63ff4e6d14a954c9737', "aria-expanded": this.expanded ? "true" : "false", "aria-controls": this.expandableId, onClick: ev => this.toggleExpandable(ev), class: { "duet-tray-button": true, "duet-tray-is-expanded": this.expanded } }, hAsync("duet-icon", { key: '2a888d94001aa2480386b4102d292a8ecd0b946c', name: "action-arrow-down", size: "small", color: "currentColor", margin: "none" }), hAsync("duet-visually-hidden", { key: '629834fc0172c6a9c297cf35395a3ab91f25ee91' }, this.expanded ? this.accessibleCloseLabel : this.accessibleOpenLabel)), hAsync("div", { key: 'c50912636246e98dd25201bfc97658c9c64942f3', id: this.expandableId, class: { "duet-tray-expandable": true, active: this.expanded } }, hAsync("div", { key: 'e14080be01b6df9842d241511d58690bba33ecb0', class: "duet-tray-expandable-content" }, hAsync("slot", { key: 'e8143dd8dd7f6e187efd4c186747edd7808cfa11', name: "additional" })))))));
19802
+ } }, hAsync("div", { key: 'd30232c120431a614bfc0d09d76d4a7f05566438', class: "duet-tray-default-content", role: "status" }, hAsync("slot", { key: '7f80168e4f76c059270f5953bfd21ff246bb1c8b' })), this.hasAdditionalContent && (hAsync(Fragment, { key: 'f9471563527b0eb48b97e9a54ab79e077c84f870' }, hAsync("button", { key: 'ee0f09f493a9232167d519e2f411a4155fb78daf', "aria-expanded": this.expanded ? "true" : "false", "aria-controls": this.expandableId, onClick: ev => this.toggleExpandable(ev), class: { "duet-tray-button": true, "duet-tray-is-expanded": this.expanded } }, hAsync("duet-icon", { key: 'a3e68b89194d9cabe4fb47353fb4205f144a1f2f', name: "action-arrow-down", size: "small", color: "currentColor", margin: "none" }), hAsync("duet-visually-hidden", { key: 'c2061393b18fc5b5dfb45212d4368c35539d4085' }, this.expanded ? this.accessibleCloseLabel : this.accessibleOpenLabel)), hAsync("div", { key: '9071e6c8781bfc923180274f4abfd7176a910e64', id: this.expandableId, class: { "duet-tray-expandable": true, active: this.expanded } }, hAsync("div", { key: '05da9977c8cec61537e1e5ef2764e8332d734794', class: "duet-tray-expandable-content" }, hAsync("slot", { key: 'db5336ed7b03e1bbc98c56b8ebe1af91b46e308c', name: "additional" })))))));
19470
19803
  }
19471
19804
  get element() { return getElement(this); }
19472
19805
  static get style() { return DuetTrayStyle0; }
@@ -20906,7 +21239,7 @@ class DuetUploadAriaStatus {
20906
21239
  * Always the last one in the class.
20907
21240
  */
20908
21241
  render() {
20909
- return (hAsync(Host, { key: '2fd79b79b74b8fd911a981f350412fddba3a9679', role: "status", "aria-live": "assertive", "aria-atomic": "true", "aria-relevant": "all" }, hAsync("duet-visually-hidden", { key: 'bb7599e22a9e9f4bd188829e2b5b4a69455c3fd3' }, this.statusMessage)));
21242
+ return (hAsync(Host, { key: '4feb88f0c76da26c8690f220de8df580ee7afc7a', role: "status", "aria-live": "assertive", "aria-atomic": "true", "aria-relevant": "all" }, hAsync("duet-visually-hidden", { key: '9461edbf779b8c47c536def78cbe9643311d76d9' }, this.statusMessage)));
20910
21243
  }
20911
21244
  get element() { return getElement(this); }
20912
21245
  static get watchers() { return {
@@ -21128,7 +21461,7 @@ class DuetVisuallyHidden {
21128
21461
  * Always the last one in the class.
21129
21462
  */
21130
21463
  render() {
21131
- return (hAsync(Host, { key: '13d60912c55f88d08d11e927bb6adcc95533e5af', class: "duet-visually-hidden" }, hAsync("slot", { key: 'fdcee4888ca24e39e6aff1ce477fe8c97fd275ea' })));
21464
+ return (hAsync(Host, { key: '8a0bd4e0f74cdc83a22f6cc5e7481c17eb5eb6f5', class: "duet-visually-hidden" }, hAsync("slot", { key: '76e13ab1452a3da667ed516ca51090c5046eba13' })));
21132
21465
  }
21133
21466
  get element() { return getElement(this); }
21134
21467
  static get style() { return DuetVisuallyHiddenStyle0; }
@@ -21353,7 +21686,7 @@ var NAMESPACE = (
21353
21686
  );
21354
21687
 
21355
21688
  /*
21356
- Stencil Hydrate Runner v4.22.2 | MIT Licensed | https://stenciljs.com
21689
+ Stencil Hydrate Runner v4.23.0 | MIT Licensed | https://stenciljs.com
21357
21690
  */
21358
21691
  var __defProp = Object.defineProperty;
21359
21692
  var __export = (target, all) => {
@@ -31783,7 +32116,7 @@ function serializeNodeToHtml(elm, serializationOptions = {}) {
31783
32116
  text: []
31784
32117
  };
31785
32118
  let renderedNode = "";
31786
- const children = !opts.fullDocument && elm.body ? Array.from(elm.body.childNodes) : opts.outerHtml ? [elm] : Array.from(elm.childNodes);
32119
+ const children = !opts.fullDocument && elm.body ? Array.from(elm.body.childNodes) : opts.outerHtml ? [elm] : Array.from(getChildNodes(elm));
31787
32120
  for (let i = 0, ii = children.length; i < ii; i++) {
31788
32121
  const child = children[i];
31789
32122
  const chunks = Array.from(streamToHtml(child, opts, output));
@@ -31816,7 +32149,7 @@ function* streamToHtml(node, opts, output) {
31816
32149
  const tag = tagName === shadowRootTag ? "template" : tagName;
31817
32150
  yield "<" + tag;
31818
32151
  output.currentLineWidth += tag.length + 1;
31819
- if (tag === "template") {
32152
+ if (tag === "template" && (!node.getAttribute || !node.getAttribute("shadowrootmode"))) {
31820
32153
  const mode = ` shadowrootmode="open"`;
31821
32154
  yield mode;
31822
32155
  output.currentLineWidth += mode.length;
@@ -31900,7 +32233,8 @@ style="${cssText}">`;
31900
32233
  output.indent = output.indent + ((_c = opts.indentSpaces) != null ? _c : 0);
31901
32234
  yield* streamToHtml(shadowRoot, opts, output);
31902
32235
  output.indent = output.indent - ((_d = opts.indentSpaces) != null ? _d : 0);
31903
- if (opts.newLines && (node.childNodes.length === 0 || node.childNodes.length === 1 && node.childNodes[0].nodeType === 3 /* TEXT_NODE */ && ((_e = node.childNodes[0].nodeValue) == null ? void 0 : _e.trim()) === "")) {
32236
+ const childNodes = getChildNodes(node);
32237
+ if (opts.newLines && (childNodes.length === 0 || childNodes.length === 1 && childNodes[0].nodeType === 3 /* TEXT_NODE */ && ((_e = childNodes[0].nodeValue) == null ? void 0 : _e.trim()) === "")) {
31904
32238
  yield "\n";
31905
32239
  output.currentLineWidth = 0;
31906
32240
  for (let i = 0; i < output.indent; i++) {
@@ -31911,7 +32245,7 @@ style="${cssText}">`;
31911
32245
  }
31912
32246
  if (opts.excludeTagContent == null || opts.excludeTagContent.includes(tagName) === false) {
31913
32247
  const tag = tagName === shadowRootTag ? "template" : tagName;
31914
- const childNodes = tagName === "template" ? node.content.childNodes : node.childNodes;
32248
+ const childNodes = tagName === "template" ? node.content.childNodes : getChildNodes(node);
31915
32249
  const childNodeLength = childNodes.length;
31916
32250
  if (childNodeLength > 0) {
31917
32251
  if (childNodeLength === 1 && childNodes[0].nodeType === 3 /* TEXT_NODE */ && (typeof childNodes[0].nodeValue !== "string" || childNodes[0].nodeValue.trim() === "")) {
@@ -32084,6 +32418,9 @@ function isWithinWhitespaceSensitive(node) {
32084
32418
  }
32085
32419
  return false;
32086
32420
  }
32421
+ function getChildNodes(node) {
32422
+ return node.__childNodes || node.childNodes;
32423
+ }
32087
32424
  var NON_ESCAPABLE_CONTENT = /* @__PURE__ */ new Set([
32088
32425
  "STYLE",
32089
32426
  "SCRIPT",
@@ -32353,10 +32690,12 @@ var MockElement = class extends MockNode2 {
32353
32690
  attachInternals() {
32354
32691
  return new Proxy({}, {
32355
32692
  get: function(_target, prop, _receiver) {
32356
- console.error(
32357
- `NOTE: Property ${String(prop)} was accessed on ElementInternals, but this property is not implemented.
32358
- Testing components with ElementInternals is fully supported in e2e tests.`
32359
- );
32693
+ if ("process" in globalThis && globalThis.process.env.__STENCIL_SPEC_TESTS__) {
32694
+ console.error(
32695
+ `NOTE: Property ${String(prop)} was accessed on ElementInternals, but this property is not implemented.
32696
+ Testing components with ElementInternals is fully supported in e2e tests.`
32697
+ );
32698
+ }
32360
32699
  }
32361
32700
  });
32362
32701
  }
@@ -33326,6 +33665,9 @@ var MockAnchorElement = class extends MockHTMLElement {
33326
33665
  this.setAttribute("href", value);
33327
33666
  }
33328
33667
  get pathname() {
33668
+ if (!this.href) {
33669
+ return "";
33670
+ }
33329
33671
  return new URL(this.href).pathname;
33330
33672
  }
33331
33673
  };
@@ -35560,11 +35902,11 @@ var unwrapErr = (result) => {
35560
35902
  throw result.value;
35561
35903
  }
35562
35904
  };
35905
+ var CAPTURE_EVENT_SUFFIX = "Capture";
35906
+ var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
35563
35907
 
35564
35908
  // src/runtime/mode.ts
35565
35909
  var setMode = (handler) => modeResolutionChain.push(handler);
35566
- var CAPTURE_EVENT_SUFFIX = "Capture";
35567
- var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
35568
35910
 
35569
35911
  // src/compiler/html/canonical-link.ts
35570
35912
  var updateCanonicalLink = (doc2, href) => {