@duetds/components 8.0.6 → 8.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1247) hide show
  1. package/hydrate/index.d.ts +2 -2
  2. package/hydrate/index.js +19204 -17910
  3. package/lib/cjs/app-globals-aece069f.js +28 -0
  4. package/lib/cjs/{common-strings-86913e94.js → common-strings-22c70ef0.js} +6 -6
  5. package/lib/cjs/create-id-1f8c438f.js +13 -0
  6. package/lib/cjs/duet-action-button.cjs.entry.js +134 -134
  7. package/lib/cjs/duet-alert.cjs.entry.js +109 -106
  8. package/lib/cjs/duet-badge.cjs.entry.js +29 -29
  9. package/lib/cjs/duet-banner.cjs.entry.js +52 -52
  10. package/lib/cjs/duet-breadcrumb.cjs.entry.js +50 -41
  11. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +51 -51
  12. package/lib/cjs/duet-button_2.cjs.entry.js +229 -229
  13. package/lib/cjs/duet-callout.cjs.entry.js +28 -28
  14. package/lib/cjs/duet-caption_4.cjs.entry.js +197 -187
  15. package/lib/cjs/duet-card.cjs.entry.js +100 -94
  16. package/lib/cjs/duet-checkbox.cjs.entry.js +85 -85
  17. package/lib/cjs/duet-checkmark.cjs.entry.js +23 -23
  18. package/lib/cjs/duet-chip.cjs.entry.js +189 -182
  19. package/lib/cjs/duet-choice_2.cjs.entry.js +395 -393
  20. package/lib/cjs/duet-collapsible.cjs.entry.js +105 -99
  21. package/lib/cjs/duet-combobox.cjs.entry.js +363 -363
  22. package/lib/cjs/duet-contact-card.cjs.entry.js +49 -49
  23. package/lib/cjs/duet-cookie-consent.cjs.entry.js +42 -35
  24. package/lib/cjs/duet-date-picker.cjs.entry.js +610 -610
  25. package/lib/cjs/duet-divider_2.cjs.entry.js +53 -53
  26. package/lib/cjs/duet-editable-table_3.cjs.entry.js +1248 -1248
  27. package/lib/cjs/duet-empty-state.cjs.entry.js +26 -26
  28. package/lib/cjs/duet-fieldset.cjs.entry.js +50 -50
  29. package/lib/cjs/duet-file-chooser.cjs.entry.js +44 -44
  30. package/lib/cjs/duet-footer.cjs.entry.js +121 -118
  31. package/lib/cjs/duet-grid_2.cjs.entry.js +185 -185
  32. package/lib/cjs/duet-header_2.cjs.entry.js +613 -611
  33. package/lib/cjs/duet-hero.cjs.entry.js +172 -172
  34. package/lib/cjs/duet-icon.cjs.entry.js +141 -141
  35. package/lib/cjs/duet-input_2.cjs.entry.js +347 -347
  36. package/lib/cjs/duet-layout.cjs.entry.js +51 -51
  37. package/lib/cjs/duet-list_2.cjs.entry.js +99 -99
  38. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +70 -70
  39. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +45 -45
  40. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +94 -94
  41. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +58 -58
  42. package/lib/cjs/duet-menu-bar.cjs.entry.js +116 -116
  43. package/lib/cjs/duet-modal.cjs.entry.js +189 -189
  44. package/lib/cjs/duet-multiselect.cjs.entry.js +207 -207
  45. package/lib/cjs/duet-nav.cjs.entry.js +20 -20
  46. package/lib/cjs/duet-notification_2.cjs.entry.js +145 -140
  47. package/lib/cjs/duet-number-input.cjs.entry.js +340 -338
  48. package/lib/cjs/duet-page-heading.cjs.entry.js +26 -26
  49. package/lib/cjs/duet-pagination_2.cjs.entry.js +512 -512
  50. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +62 -62
  51. package/lib/cjs/duet-popup-menu.cjs.entry.js +148 -148
  52. package/lib/cjs/duet-progress.cjs.entry.js +54 -54
  53. package/lib/cjs/duet-promo-card.cjs.entry.js +40 -40
  54. package/lib/cjs/duet-radio_2.cjs.entry.js +197 -197
  55. package/lib/cjs/duet-range-slider.cjs.entry.js +112 -105
  56. package/lib/cjs/duet-scrollable_3.cjs.entry.js +387 -387
  57. package/lib/cjs/duet-section-layout.cjs.entry.js +21 -21
  58. package/lib/cjs/duet-select.cjs.entry.js +156 -156
  59. package/lib/cjs/duet-shaped-image.cjs.entry.js +28 -28
  60. package/lib/cjs/duet-show-more.cjs.entry.js +99 -99
  61. package/lib/cjs/duet-slideout-lang.cjs.entry.js +36 -36
  62. package/lib/cjs/duet-slideout-link.cjs.entry.js +33 -33
  63. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +50 -50
  64. package/lib/cjs/duet-slideout-panel.cjs.entry.js +120 -120
  65. package/lib/cjs/duet-slideout.cjs.entry.js +196 -196
  66. package/lib/cjs/duet-step_2.cjs.entry.js +189 -185
  67. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +37 -37
  68. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +104 -104
  69. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +60 -60
  70. package/lib/cjs/duet-submenu-bar.cjs.entry.js +110 -110
  71. package/lib/cjs/duet-textarea.cjs.entry.js +160 -160
  72. package/lib/cjs/duet-toggle.cjs.entry.js +79 -72
  73. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +36 -36
  74. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +60 -60
  75. package/lib/cjs/duet-toolbar-link.cjs.entry.js +31 -31
  76. package/lib/cjs/duet-toolbar.cjs.entry.js +34 -34
  77. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +93 -80
  78. package/lib/cjs/duet-tooltip.cjs.entry.js +190 -188
  79. package/lib/cjs/duet-tray.cjs.entry.js +85 -82
  80. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +65 -65
  81. package/lib/cjs/duet-upload-item.cjs.entry.js +81 -81
  82. package/lib/cjs/duet-visually-hidden.cjs.entry.js +12 -12
  83. package/lib/cjs/duet.cjs.js +4 -4
  84. package/lib/cjs/errorcodes.utils-a86b1f94.js +39 -0
  85. package/lib/cjs/focus-utils-d0b70745.js +21 -0
  86. package/lib/cjs/{index-2cce7b13.js → index-2dc54a15.js} +106 -45
  87. package/lib/cjs/input-utils-1096a2c5.js +56 -0
  88. package/lib/cjs/{is-internet-explorer-76c3b538.js → is-internet-explorer-e7f58ebc.js} +2 -2
  89. package/lib/cjs/{js-utils-b20cfc79.js → js-utils-92e24ba1.js} +27 -27
  90. package/lib/cjs/keyboard-utils-7248dd0a.js +69 -0
  91. package/lib/cjs/{language-utils-dc19e8b6.js → language-utils-e8a527e5.js} +74 -74
  92. package/lib/cjs/loader.cjs.js +3 -3
  93. package/lib/cjs/{slot-query-b7555763.js → slot-query-3259af5b.js} +1 -1
  94. package/lib/cjs/string-utils-053749ff.js +59 -0
  95. package/lib/cjs/teleport-e9d05bca.js +99 -0
  96. package/lib/cjs/themeable-component-83a2a0d4.js +15 -0
  97. package/lib/cjs/token-utils-84b3bca6.js +124 -0
  98. package/lib/cjs/watch-options-30a12622.js +61 -0
  99. package/lib/collection/collection-manifest.json +3 -3
  100. package/lib/collection/common/slot-query.js +3 -3
  101. package/lib/collection/common/themeable-component.js +6 -6
  102. package/lib/collection/common-strings.js +6 -6
  103. package/lib/collection/components/duet-action-button/duet-action-button.a11y.e2e.js +5 -5
  104. package/lib/collection/components/duet-action-button/duet-action-button.js +570 -569
  105. package/lib/collection/components/duet-alert/duet-alert.a11y.e2e.js +10 -10
  106. package/lib/collection/components/duet-alert/duet-alert.e2e.js +47 -47
  107. package/lib/collection/components/duet-alert/duet-alert.js +445 -441
  108. package/lib/collection/components/duet-badge/duet-badge.a11y.e2e.js +10 -10
  109. package/lib/collection/components/duet-badge/duet-badge.e2e.js +21 -21
  110. package/lib/collection/components/duet-badge/duet-badge.js +134 -134
  111. package/lib/collection/components/duet-banner/duet-banner.a11y.e2e.js +5 -5
  112. package/lib/collection/components/duet-banner/duet-banner.e2e.js +16 -16
  113. package/lib/collection/components/duet-banner/duet-banner.js +309 -309
  114. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +172 -139
  115. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.a11y.e2e.js +5 -5
  116. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.e2e.js +6 -6
  117. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +112 -112
  118. package/lib/collection/components/duet-button/duet-button.a11y.e2e.js +30 -30
  119. package/lib/collection/components/duet-button/duet-button.e2e.js +187 -187
  120. package/lib/collection/components/duet-button/duet-button.js +1068 -1067
  121. package/lib/collection/components/duet-callout/duet-callout.a11y.e2e.js +5 -5
  122. package/lib/collection/components/duet-callout/duet-callout.e2e.js +15 -15
  123. package/lib/collection/components/duet-callout/duet-callout.js +88 -88
  124. package/lib/collection/components/duet-caption/duet-caption.a11y.e2e.js +5 -5
  125. package/lib/collection/components/duet-caption/duet-caption.e2e.js +20 -20
  126. package/lib/collection/components/duet-caption/duet-caption.js +131 -131
  127. package/lib/collection/components/duet-card/duet-card.a11y.e2e.js +10 -10
  128. package/lib/collection/components/duet-card/duet-card.e2e.js +85 -85
  129. package/lib/collection/components/duet-card/duet-card.js +498 -491
  130. package/lib/collection/components/duet-checkbox/duet-checkbox.a11y.e2e.js +10 -10
  131. package/lib/collection/components/duet-checkbox/duet-checkbox.e2e.js +103 -103
  132. package/lib/collection/components/duet-checkbox/duet-checkbox.js +553 -549
  133. package/lib/collection/components/duet-chip/duet-chip.a11y.e2e.js +10 -10
  134. package/lib/collection/components/duet-chip/duet-chip.e2e.js +40 -40
  135. package/lib/collection/components/duet-chip/duet-chip.js +494 -486
  136. package/lib/collection/components/duet-choice/duet-checkmark.js +136 -136
  137. package/lib/collection/components/duet-choice/duet-choice.a11y.e2e.js +25 -25
  138. package/lib/collection/components/duet-choice/duet-choice.e2e.js +171 -171
  139. package/lib/collection/components/duet-choice/duet-choice.js +1095 -1089
  140. package/lib/collection/components/duet-choice-group/duet-choice-group.a11y.e2e.js +5 -5
  141. package/lib/collection/components/duet-choice-group/duet-choice-group.e2e.js +63 -63
  142. package/lib/collection/components/duet-choice-group/duet-choice-group.js +456 -453
  143. package/lib/collection/components/duet-collapsible/duet-collapsible.a11y.e2e.js +10 -10
  144. package/lib/collection/components/duet-collapsible/duet-collapsible.e2e.js +87 -87
  145. package/lib/collection/components/duet-collapsible/duet-collapsible.js +370 -363
  146. package/lib/collection/components/duet-combobox/duet-combobox-select-single.js +2 -2
  147. package/lib/collection/components/duet-combobox/duet-combobox-select.js +8 -8
  148. package/lib/collection/components/duet-combobox/duet-combobox.a11y.e2e.js +5 -5
  149. package/lib/collection/components/duet-combobox/duet-combobox.e2e.js +115 -115
  150. package/lib/collection/components/duet-combobox/duet-combobox.js +670 -669
  151. package/lib/collection/components/duet-contact-card/duet-contact-card.a11y.e2e.js +5 -5
  152. package/lib/collection/components/duet-contact-card/duet-contact-card.js +255 -255
  153. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.a11y.e2e.js +5 -5
  154. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.e2e.js +16 -16
  155. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +134 -127
  156. package/lib/collection/components/duet-date-picker/date-i18n.js +97 -97
  157. package/lib/collection/components/duet-date-picker/date-picker-day.js +9 -9
  158. package/lib/collection/components/duet-date-picker/date-picker-input.js +5 -5
  159. package/lib/collection/components/duet-date-picker/date-picker-month.js +16 -16
  160. package/lib/collection/components/duet-date-picker/date-utils.js +95 -95
  161. package/lib/collection/components/duet-date-picker/date-utils.spec.js +323 -323
  162. package/lib/collection/components/duet-date-picker/duet-date-picker.a11y.e2e.js +5 -5
  163. package/lib/collection/components/duet-date-picker/duet-date-picker.e2e.js +618 -618
  164. package/lib/collection/components/duet-date-picker/duet-date-picker.js +1049 -1044
  165. package/lib/collection/components/duet-date-picker/utils.js +29 -29
  166. package/lib/collection/components/duet-divider/duet-divider.a11y.e2e.js +5 -5
  167. package/lib/collection/components/duet-divider/duet-divider.e2e.js +24 -24
  168. package/lib/collection/components/duet-divider/duet-divider.js +112 -112
  169. package/lib/collection/components/duet-editable-table/duet-editable-table-tabledata.js +7 -7
  170. package/lib/collection/components/duet-editable-table/duet-editable-table.a11y.e2e.js +5 -5
  171. package/lib/collection/components/duet-editable-table/duet-editable-table.e2e.js +19 -19
  172. package/lib/collection/components/duet-editable-table/duet-editable-table.js +501 -498
  173. package/lib/collection/components/duet-empty-state/duet-empty-state.a11y.e2e.js +5 -5
  174. package/lib/collection/components/duet-empty-state/duet-empty-state.e2e.js +10 -10
  175. package/lib/collection/components/duet-empty-state/duet-empty-state.js +110 -110
  176. package/lib/collection/components/duet-fieldset/duet-fieldset.a11y.e2e.js +5 -5
  177. package/lib/collection/components/duet-fieldset/duet-fieldset.e2e.js +5 -5
  178. package/lib/collection/components/duet-fieldset/duet-fieldset.js +245 -245
  179. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +179 -179
  180. package/lib/collection/components/duet-footer/duet-footer.a11y.e2e.js +5 -5
  181. package/lib/collection/components/duet-footer/duet-footer.e2e.js +163 -163
  182. package/lib/collection/components/duet-footer/duet-footer.js +488 -485
  183. package/lib/collection/components/duet-grid/duet-grid.a11y.e2e.js +5 -5
  184. package/lib/collection/components/duet-grid/duet-grid.e2e.js +36 -36
  185. package/lib/collection/components/duet-grid/duet-grid.js +345 -342
  186. package/lib/collection/components/duet-grid-item/duet-grid-item.js +233 -230
  187. package/lib/collection/components/duet-header/duet-header-dropdown.js +12 -12
  188. package/lib/collection/components/duet-header/duet-header-icon.js +2 -2
  189. package/lib/collection/components/duet-header/duet-header.a11y.e2e.js +5 -5
  190. package/lib/collection/components/duet-header/duet-header.e2e.js +430 -430
  191. package/lib/collection/components/duet-header/duet-header.js +1300 -1296
  192. package/lib/collection/components/duet-heading/duet-heading.a11y.e2e.js +5 -5
  193. package/lib/collection/components/duet-heading/duet-heading.e2e.js +21 -21
  194. package/lib/collection/components/duet-heading/duet-heading.js +230 -230
  195. package/lib/collection/components/duet-hero/duet-hero.a11y.e2e.js +15 -15
  196. package/lib/collection/components/duet-hero/duet-hero.e2e.js +166 -166
  197. package/lib/collection/components/duet-hero/duet-hero.js +814 -814
  198. package/lib/collection/components/duet-icon/duet-icon.a11y.e2e.js +5 -5
  199. package/lib/collection/components/duet-icon/duet-icon.e2e.js +26 -26
  200. package/lib/collection/components/duet-icon/duet-icon.js +392 -392
  201. package/lib/collection/components/duet-icon/icon-utils.js +59 -59
  202. package/lib/collection/components/duet-icon/icon-utils.spec.js +76 -76
  203. package/lib/collection/components/duet-input/duet-input.a11y.e2e.js +20 -20
  204. package/lib/collection/components/duet-input/duet-input.e2e.js +195 -195
  205. package/lib/collection/components/duet-input/duet-input.js +1249 -1245
  206. package/lib/collection/components/duet-label/duet-label.a11y.e2e.js +5 -5
  207. package/lib/collection/components/duet-label/duet-label.e2e.js +26 -26
  208. package/lib/collection/components/duet-label/duet-label.js +134 -131
  209. package/lib/collection/components/duet-layout/duet-layout.a11y.e2e.js +5 -5
  210. package/lib/collection/components/duet-layout/duet-layout.e2e.js +26 -26
  211. package/lib/collection/components/duet-layout/duet-layout.js +207 -207
  212. package/lib/collection/components/duet-link/duet-link.a11y.e2e.js +15 -15
  213. package/lib/collection/components/duet-link/duet-link.e2e.js +47 -47
  214. package/lib/collection/components/duet-link/duet-link.js +446 -435
  215. package/lib/collection/components/duet-list/duet-list.a11y.e2e.js +11 -11
  216. package/lib/collection/components/duet-list/duet-list.e2e.js +50 -50
  217. package/lib/collection/components/duet-list/duet-list.js +292 -292
  218. package/lib/collection/components/duet-list-item/duet-list-item.js +81 -81
  219. package/lib/collection/components/duet-logo/duet-logo.a11y.e2e.js +5 -5
  220. package/lib/collection/components/duet-logo/duet-logo.e2e.js +36 -36
  221. package/lib/collection/components/duet-logo/duet-logo.js +293 -292
  222. package/lib/collection/components/duet-menu-bar/duet-menu-bar.a11y.e2e.js +5 -5
  223. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +261 -261
  224. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +347 -346
  225. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +224 -223
  226. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +133 -133
  227. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +170 -170
  228. package/lib/collection/components/duet-modal/duet-modal.a11y.e2e.js +10 -10
  229. package/lib/collection/components/duet-modal/duet-modal.e2e.js +78 -78
  230. package/lib/collection/components/duet-modal/duet-modal.js +687 -687
  231. package/lib/collection/components/duet-multiselect/duet-multiselect.a11y.e2e.js +5 -5
  232. package/lib/collection/components/duet-multiselect/duet-multiselect.e2e.js +87 -87
  233. package/lib/collection/components/duet-multiselect/duet-multiselect.js +654 -653
  234. package/lib/collection/components/duet-nav/duet-nav.js +56 -56
  235. package/lib/collection/components/duet-notification/duet-notification.a11y.e2e.js +5 -5
  236. package/lib/collection/components/duet-notification/duet-notification.e2e.js +6 -6
  237. package/lib/collection/components/duet-notification/duet-notification.js +260 -259
  238. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.a11y.e2e.js +10 -10
  239. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.e2e.js +141 -141
  240. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +382 -383
  241. package/lib/collection/components/duet-number-input/duet-number-input-negative.e2e.js +26 -26
  242. package/lib/collection/components/duet-number-input/duet-number-input.a11y.e2e.js +5 -5
  243. package/lib/collection/components/duet-number-input/duet-number-input.e2e.js +232 -232
  244. package/lib/collection/components/duet-number-input/duet-number-input.js +1120 -1114
  245. package/lib/collection/components/duet-page-heading/duet-page-heading.a11y.e2e.js +5 -5
  246. package/lib/collection/components/duet-page-heading/duet-page-heading.js +104 -104
  247. package/lib/collection/components/duet-pagination/duet-pagination-utils.js +4 -4
  248. package/lib/collection/components/duet-pagination/duet-pagination.a11y.e2e.js +10 -10
  249. package/lib/collection/components/duet-pagination/duet-pagination.e2e.js +79 -79
  250. package/lib/collection/components/duet-pagination/duet-pagination.js +677 -677
  251. package/lib/collection/components/duet-paragraph/duet-paragraph.a11y.e2e.js +5 -5
  252. package/lib/collection/components/duet-paragraph/duet-paragraph.e2e.js +21 -21
  253. package/lib/collection/components/duet-paragraph/duet-paragraph.js +190 -190
  254. package/lib/collection/components/duet-popup-menu/duet-popup-menu.a11y.e2e.js +5 -5
  255. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +407 -407
  256. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +344 -343
  257. package/lib/collection/components/duet-progress/duet-progress.a11y.e2e.js +7 -7
  258. package/lib/collection/components/duet-progress/duet-progress.e2e.js +6 -6
  259. package/lib/collection/components/duet-progress/duet-progress.js +276 -273
  260. package/lib/collection/components/duet-promo-card/duet-promo-card.a11y.e2e.js +5 -5
  261. package/lib/collection/components/duet-promo-card/duet-promo-card.e2e.js +16 -16
  262. package/lib/collection/components/duet-promo-card/duet-promo-card.js +206 -206
  263. package/lib/collection/components/duet-radio/duet-radio.a11y.e2e.js +5 -5
  264. package/lib/collection/components/duet-radio/duet-radio.e2e.js +126 -126
  265. package/lib/collection/components/duet-radio/duet-radio.js +609 -605
  266. package/lib/collection/components/duet-radio-group/duet-radio-group.a11y.e2e.js +10 -10
  267. package/lib/collection/components/duet-radio-group/duet-radio-group.e2e.js +39 -39
  268. package/lib/collection/components/duet-radio-group/duet-radio-group.js +423 -420
  269. package/lib/collection/components/duet-range-slider/duet-range-slider.a11y.e2e.js +5 -5
  270. package/lib/collection/components/duet-range-slider/duet-range-slider.e2e.js +51 -51
  271. package/lib/collection/components/duet-range-slider/duet-range-slider.js +568 -557
  272. package/lib/collection/components/duet-range-stepper/duet-range-stepper.a11y.e2e.js +5 -5
  273. package/lib/collection/components/duet-range-stepper/duet-range-stepper.e2e.js +46 -46
  274. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +341 -341
  275. package/lib/collection/components/duet-range-stepper/duet-range-stepper.spec.js +17 -17
  276. package/lib/collection/components/duet-scrollable/duet-scrollable.a11y.e2e.js +5 -5
  277. package/lib/collection/components/duet-scrollable/duet-scrollable.e2e.js +6 -6
  278. package/lib/collection/components/duet-scrollable/duet-scrollable.js +294 -294
  279. package/lib/collection/components/duet-section-layout/duet-section-layout.a11y.e2e.js +5 -5
  280. package/lib/collection/components/duet-section-layout/duet-section-layout.e2e.js +16 -16
  281. package/lib/collection/components/duet-section-layout/duet-section-layout.js +75 -75
  282. package/lib/collection/components/duet-select/duet-select.a11y.e2e.js +10 -10
  283. package/lib/collection/components/duet-select/duet-select.e2e.js +201 -201
  284. package/lib/collection/components/duet-select/duet-select.js +722 -718
  285. package/lib/collection/components/duet-shaped-image/duet-shaped-image.a11y.e2e.js +5 -5
  286. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +143 -143
  287. package/lib/collection/components/duet-show-more/duet-show-more.a11y.e2e.js +5 -5
  288. package/lib/collection/components/duet-show-more/duet-show-more.js +436 -436
  289. package/lib/collection/components/duet-slideout/duet-slideout.a11y.e2e.js +5 -5
  290. package/lib/collection/components/duet-slideout/duet-slideout.css +4 -10
  291. package/lib/collection/components/duet-slideout/duet-slideout.js +408 -407
  292. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +75 -75
  293. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +215 -215
  294. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +282 -281
  295. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +177 -176
  296. package/lib/collection/components/duet-spacer/duet-spacer.a11y.e2e.js +5 -5
  297. package/lib/collection/components/duet-spacer/duet-spacer.e2e.js +21 -21
  298. package/lib/collection/components/duet-spacer/duet-spacer.js +110 -110
  299. package/lib/collection/components/duet-spinner/duet-spinner.a11y.e2e.js +5 -5
  300. package/lib/collection/components/duet-spinner/duet-spinner.e2e.js +23 -23
  301. package/lib/collection/components/duet-spinner/duet-spinner.js +131 -131
  302. package/lib/collection/components/duet-step/duet-step.e2e.js +83 -83
  303. package/lib/collection/components/duet-step/duet-step.js +299 -291
  304. package/lib/collection/components/duet-stepper/duet-stepper.a11y.e2e.js +8 -8
  305. package/lib/collection/components/duet-stepper/duet-stepper.e2e.js +49 -49
  306. package/lib/collection/components/duet-stepper/duet-stepper.js +243 -243
  307. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.a11y.e2e.js +5 -5
  308. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +218 -217
  309. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +235 -234
  310. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +162 -162
  311. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +154 -154
  312. package/lib/collection/components/duet-tab/duet-tab.e2e.js +10 -10
  313. package/lib/collection/components/duet-tab/duet-tab.js +162 -161
  314. package/lib/collection/components/duet-tab-group/duet-tab-group.a11y.e2e.js +5 -5
  315. package/lib/collection/components/duet-tab-group/duet-tab-group.e2e.js +60 -60
  316. package/lib/collection/components/duet-tab-group/duet-tab-group.js +636 -633
  317. package/lib/collection/components/duet-table/duet-table.a11y.e2e.js +5 -5
  318. package/lib/collection/components/duet-table/duet-table.e2e.js +25 -25
  319. package/lib/collection/components/duet-table/duet-table.js +284 -281
  320. package/lib/collection/components/duet-textarea/duet-textarea.a11y.e2e.js +10 -10
  321. package/lib/collection/components/duet-textarea/duet-textarea.e2e.js +193 -193
  322. package/lib/collection/components/duet-textarea/duet-textarea.js +849 -845
  323. package/lib/collection/components/duet-toggle/duet-toggle.a11y.e2e.js +5 -5
  324. package/lib/collection/components/duet-toggle/duet-toggle.e2e.js +66 -66
  325. package/lib/collection/components/duet-toggle/duet-toggle.js +475 -464
  326. package/lib/collection/components/duet-toolbar/duet-toolbar.a11y.e2e.js +5 -5
  327. package/lib/collection/components/duet-toolbar/duet-toolbar.js +105 -105
  328. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +221 -220
  329. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +160 -160
  330. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +156 -156
  331. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +172 -164
  332. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +258 -251
  333. package/lib/collection/components/duet-tooltip/duet-tooltip.a11y.e2e.js +14 -14
  334. package/lib/collection/components/duet-tooltip/duet-tooltip.e2e.js +76 -76
  335. package/lib/collection/components/duet-tooltip/duet-tooltip.js +537 -529
  336. package/lib/collection/components/duet-tray/duet-tray.a11y.e2e.js +5 -5
  337. package/lib/collection/components/duet-tray/duet-tray.e2e.js +67 -67
  338. package/lib/collection/components/duet-tray/duet-tray.js +318 -315
  339. package/lib/collection/components/duet-upload/duet-upload.e2e.js +40 -40
  340. package/lib/collection/components/duet-upload/duet-upload.js +2282 -2276
  341. package/lib/collection/components/duet-upload/errorcodes.utils.js +22 -22
  342. package/lib/collection/components/duet-upload/mock.helpers.js +85 -85
  343. package/lib/collection/components/duet-upload/upload-editable-item-error.js +4 -4
  344. package/lib/collection/components/duet-upload/upload-editable-item-success.js +15 -15
  345. package/lib/collection/components/duet-upload/upload-item-category.js +2 -2
  346. package/lib/collection/components/duet-upload/upload-item-header.js +4 -4
  347. package/lib/collection/components/duet-upload/upload-validators.js +96 -96
  348. package/lib/collection/components/duet-upload/upload-validators.spec.js +35 -35
  349. package/lib/collection/components/duet-upload/upload.helpers.js +8 -8
  350. package/lib/collection/components/duet-upload/xhr.helpers.js +26 -26
  351. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +194 -194
  352. package/lib/collection/components/duet-upload-item/duet-upload-item.js +306 -306
  353. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.a11y.e2e.js +5 -5
  354. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.e2e.js +6 -6
  355. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +20 -20
  356. package/lib/collection/global/duet-global.js +1 -27
  357. package/lib/collection/global/log-wrapper.js +29 -29
  358. package/lib/collection/utils/axe-core-utils.js +24 -24
  359. package/lib/collection/utils/create-id.js +2 -2
  360. package/lib/collection/utils/create-id.spec.js +6 -6
  361. package/lib/collection/utils/fixture-utils.js +25 -25
  362. package/lib/collection/utils/focus-utils.js +7 -7
  363. package/lib/collection/utils/group-by.js +9 -9
  364. package/lib/collection/utils/input-utils.js +25 -25
  365. package/lib/collection/utils/is-internet-explorer.js +2 -2
  366. package/lib/collection/utils/js-utils.js +38 -38
  367. package/lib/collection/utils/js-utils.spec.js +14 -14
  368. package/lib/collection/utils/keyboard-utils.js +43 -12
  369. package/lib/collection/utils/language-utils.js +73 -73
  370. package/lib/collection/utils/language-utils.spec.js +151 -151
  371. package/lib/collection/utils/math.utils.js +59 -59
  372. package/lib/collection/utils/math.utils.spec.js +130 -130
  373. package/lib/collection/utils/picture-utils.js +2 -2
  374. package/lib/collection/utils/string-utils.js +31 -31
  375. package/lib/collection/utils/string-utils.spec.js +32 -32
  376. package/lib/collection/utils/teleport.js +77 -77
  377. package/lib/collection/utils/template-utils.js +18 -18
  378. package/lib/collection/utils/template-utils.spec.js +33 -33
  379. package/lib/collection/utils/test-utils.js +31 -31
  380. package/lib/collection/utils/token-utils.js +96 -96
  381. package/lib/collection/utils/token-utils.spec.js +170 -170
  382. package/lib/collection/utils/watch-options.js +44 -44
  383. package/lib/dist-custom-elements/duet-action-button.d.ts +2 -2
  384. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  385. package/lib/dist-custom-elements/duet-alert.d.ts +2 -2
  386. package/lib/dist-custom-elements/duet-alert.js +1 -1
  387. package/lib/dist-custom-elements/duet-badge.d.ts +2 -2
  388. package/lib/dist-custom-elements/duet-badge.js +1 -1
  389. package/lib/dist-custom-elements/duet-banner.d.ts +2 -2
  390. package/lib/dist-custom-elements/duet-banner.js +96 -96
  391. package/lib/dist-custom-elements/duet-breadcrumb.d.ts +2 -2
  392. package/lib/dist-custom-elements/duet-breadcrumb.js +82 -66
  393. package/lib/dist-custom-elements/duet-breadcrumbs.d.ts +2 -2
  394. package/lib/dist-custom-elements/duet-breadcrumbs.js +68 -68
  395. package/lib/dist-custom-elements/duet-button.d.ts +2 -2
  396. package/lib/dist-custom-elements/duet-button.js +1 -1
  397. package/lib/dist-custom-elements/duet-callout.d.ts +2 -2
  398. package/lib/dist-custom-elements/duet-callout.js +57 -57
  399. package/lib/dist-custom-elements/duet-caption.d.ts +2 -2
  400. package/lib/dist-custom-elements/duet-caption.js +1 -1
  401. package/lib/dist-custom-elements/duet-card.d.ts +2 -2
  402. package/lib/dist-custom-elements/duet-card.js +144 -138
  403. package/lib/dist-custom-elements/duet-checkbox.d.ts +2 -2
  404. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  405. package/lib/dist-custom-elements/duet-checkmark.d.ts +2 -2
  406. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  407. package/lib/dist-custom-elements/duet-chip.d.ts +2 -2
  408. package/lib/dist-custom-elements/duet-chip.js +226 -219
  409. package/lib/dist-custom-elements/duet-choice-group.d.ts +2 -2
  410. package/lib/dist-custom-elements/duet-choice-group.js +189 -189
  411. package/lib/dist-custom-elements/duet-choice.d.ts +2 -2
  412. package/lib/dist-custom-elements/duet-choice.js +360 -358
  413. package/lib/dist-custom-elements/duet-collapsible.d.ts +2 -2
  414. package/lib/dist-custom-elements/duet-collapsible.js +137 -131
  415. package/lib/dist-custom-elements/duet-combobox.d.ts +2 -2
  416. package/lib/dist-custom-elements/duet-combobox.js +406 -406
  417. package/lib/dist-custom-elements/duet-contact-card.d.ts +2 -2
  418. package/lib/dist-custom-elements/duet-contact-card.js +116 -116
  419. package/lib/dist-custom-elements/duet-cookie-consent.d.ts +2 -2
  420. package/lib/dist-custom-elements/duet-cookie-consent.js +89 -82
  421. package/lib/dist-custom-elements/duet-date-picker.d.ts +2 -2
  422. package/lib/dist-custom-elements/duet-date-picker.js +728 -728
  423. package/lib/dist-custom-elements/duet-divider.d.ts +2 -2
  424. package/lib/dist-custom-elements/duet-divider.js +1 -1
  425. package/lib/dist-custom-elements/duet-editable-table.d.ts +2 -2
  426. package/lib/dist-custom-elements/duet-editable-table.js +231 -231
  427. package/lib/dist-custom-elements/duet-empty-state.d.ts +2 -2
  428. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  429. package/lib/dist-custom-elements/duet-fieldset.d.ts +2 -2
  430. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  431. package/lib/dist-custom-elements/duet-file-chooser.d.ts +2 -2
  432. package/lib/dist-custom-elements/duet-file-chooser.js +70 -70
  433. package/lib/dist-custom-elements/duet-footer.d.ts +2 -2
  434. package/lib/dist-custom-elements/duet-footer.js +170 -167
  435. package/lib/dist-custom-elements/duet-grid-item.d.ts +2 -2
  436. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  437. package/lib/dist-custom-elements/duet-grid.d.ts +2 -2
  438. package/lib/dist-custom-elements/duet-grid.js +1 -1
  439. package/lib/dist-custom-elements/duet-header.d.ts +2 -2
  440. package/lib/dist-custom-elements/duet-header.js +640 -638
  441. package/lib/dist-custom-elements/duet-heading.d.ts +2 -2
  442. package/lib/dist-custom-elements/duet-heading.js +1 -1
  443. package/lib/dist-custom-elements/duet-hero.d.ts +2 -2
  444. package/lib/dist-custom-elements/duet-hero.js +270 -270
  445. package/lib/dist-custom-elements/duet-icon.d.ts +2 -2
  446. package/lib/dist-custom-elements/duet-icon.js +1 -1
  447. package/lib/dist-custom-elements/duet-input.d.ts +2 -2
  448. package/lib/dist-custom-elements/duet-input.js +1 -1
  449. package/lib/dist-custom-elements/duet-label.d.ts +2 -2
  450. package/lib/dist-custom-elements/duet-label.js +1 -1
  451. package/lib/dist-custom-elements/duet-layout.d.ts +2 -2
  452. package/lib/dist-custom-elements/duet-layout.js +73 -73
  453. package/lib/dist-custom-elements/duet-link.d.ts +2 -2
  454. package/lib/dist-custom-elements/duet-link.js +1 -1
  455. package/lib/dist-custom-elements/duet-list-item.d.ts +2 -2
  456. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  457. package/lib/dist-custom-elements/duet-list.d.ts +2 -2
  458. package/lib/dist-custom-elements/duet-list.js +1 -1
  459. package/lib/dist-custom-elements/duet-logo.d.ts +2 -2
  460. package/lib/dist-custom-elements/duet-logo.js +1 -1
  461. package/lib/dist-custom-elements/duet-menu-bar-button.d.ts +2 -2
  462. package/lib/dist-custom-elements/duet-menu-bar-button.js +106 -106
  463. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.d.ts +2 -2
  464. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +70 -70
  465. package/lib/dist-custom-elements/duet-menu-bar-dropdown.d.ts +2 -2
  466. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +121 -121
  467. package/lib/dist-custom-elements/duet-menu-bar-link.d.ts +2 -2
  468. package/lib/dist-custom-elements/duet-menu-bar-link.js +85 -85
  469. package/lib/dist-custom-elements/duet-menu-bar.d.ts +2 -2
  470. package/lib/dist-custom-elements/duet-menu-bar.js +145 -145
  471. package/lib/dist-custom-elements/duet-modal.d.ts +2 -2
  472. package/lib/dist-custom-elements/duet-modal.js +263 -263
  473. package/lib/dist-custom-elements/duet-multiselect.d.ts +2 -2
  474. package/lib/dist-custom-elements/duet-multiselect.js +300 -300
  475. package/lib/dist-custom-elements/duet-nav.d.ts +2 -2
  476. package/lib/dist-custom-elements/duet-nav.js +36 -36
  477. package/lib/dist-custom-elements/duet-notification-drawer.d.ts +2 -2
  478. package/lib/dist-custom-elements/duet-notification-drawer.js +145 -142
  479. package/lib/dist-custom-elements/duet-notification.d.ts +2 -2
  480. package/lib/dist-custom-elements/duet-notification.js +79 -76
  481. package/lib/dist-custom-elements/duet-number-input.d.ts +2 -2
  482. package/lib/dist-custom-elements/duet-number-input.js +451 -449
  483. package/lib/dist-custom-elements/duet-page-heading.d.ts +2 -2
  484. package/lib/dist-custom-elements/duet-page-heading.js +50 -50
  485. package/lib/dist-custom-elements/duet-pagination.d.ts +2 -2
  486. package/lib/dist-custom-elements/duet-pagination.js +450 -450
  487. package/lib/dist-custom-elements/duet-paragraph.d.ts +2 -2
  488. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  489. package/lib/dist-custom-elements/duet-popup-menu-item.d.ts +2 -2
  490. package/lib/dist-custom-elements/duet-popup-menu-item.js +95 -95
  491. package/lib/dist-custom-elements/duet-popup-menu.d.ts +2 -2
  492. package/lib/dist-custom-elements/duet-popup-menu.js +177 -177
  493. package/lib/dist-custom-elements/duet-progress.d.ts +2 -2
  494. package/lib/dist-custom-elements/duet-progress.js +1 -1
  495. package/lib/dist-custom-elements/duet-promo-card.d.ts +2 -2
  496. package/lib/dist-custom-elements/duet-promo-card.js +74 -74
  497. package/lib/dist-custom-elements/duet-radio-group.d.ts +2 -2
  498. package/lib/dist-custom-elements/duet-radio-group.js +183 -183
  499. package/lib/dist-custom-elements/duet-radio.d.ts +2 -2
  500. package/lib/dist-custom-elements/duet-radio.js +130 -130
  501. package/lib/dist-custom-elements/duet-range-slider.d.ts +2 -2
  502. package/lib/dist-custom-elements/duet-range-slider.js +153 -146
  503. package/lib/dist-custom-elements/duet-range-stepper.d.ts +2 -2
  504. package/lib/dist-custom-elements/duet-range-stepper.js +207 -207
  505. package/lib/dist-custom-elements/duet-scrollable.d.ts +2 -2
  506. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  507. package/lib/dist-custom-elements/duet-section-layout.d.ts +2 -2
  508. package/lib/dist-custom-elements/duet-section-layout.js +38 -38
  509. package/lib/dist-custom-elements/duet-select.d.ts +2 -2
  510. package/lib/dist-custom-elements/duet-select.js +1 -1
  511. package/lib/dist-custom-elements/duet-shaped-image.d.ts +2 -2
  512. package/lib/dist-custom-elements/duet-shaped-image.js +48 -48
  513. package/lib/dist-custom-elements/duet-show-more.d.ts +2 -2
  514. package/lib/dist-custom-elements/duet-show-more.js +152 -152
  515. package/lib/dist-custom-elements/duet-slideout-lang.d.ts +2 -2
  516. package/lib/dist-custom-elements/duet-slideout-lang.js +58 -58
  517. package/lib/dist-custom-elements/duet-slideout-link.d.ts +2 -2
  518. package/lib/dist-custom-elements/duet-slideout-link.js +63 -63
  519. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.d.ts +2 -2
  520. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +76 -76
  521. package/lib/dist-custom-elements/duet-slideout-panel.d.ts +2 -2
  522. package/lib/dist-custom-elements/duet-slideout-panel.js +149 -149
  523. package/lib/dist-custom-elements/duet-slideout.d.ts +2 -2
  524. package/lib/dist-custom-elements/duet-slideout.js +227 -227
  525. package/lib/dist-custom-elements/duet-spacer.d.ts +2 -2
  526. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  527. package/lib/dist-custom-elements/duet-spinner.d.ts +2 -2
  528. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  529. package/lib/dist-custom-elements/duet-step.d.ts +2 -2
  530. package/lib/dist-custom-elements/duet-step.js +123 -119
  531. package/lib/dist-custom-elements/duet-stepper.d.ts +2 -2
  532. package/lib/dist-custom-elements/duet-stepper.js +129 -129
  533. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.d.ts +2 -2
  534. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +64 -64
  535. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.d.ts +2 -2
  536. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +132 -132
  537. package/lib/dist-custom-elements/duet-submenu-bar-link.d.ts +2 -2
  538. package/lib/dist-custom-elements/duet-submenu-bar-link.js +86 -86
  539. package/lib/dist-custom-elements/duet-submenu-bar.d.ts +2 -2
  540. package/lib/dist-custom-elements/duet-submenu-bar.js +139 -139
  541. package/lib/dist-custom-elements/duet-tab-group.d.ts +2 -2
  542. package/lib/dist-custom-elements/duet-tab-group.js +312 -310
  543. package/lib/dist-custom-elements/duet-tab.d.ts +2 -2
  544. package/lib/dist-custom-elements/duet-tab.js +50 -52
  545. package/lib/dist-custom-elements/duet-table.d.ts +2 -2
  546. package/lib/dist-custom-elements/duet-table.js +1 -1
  547. package/lib/dist-custom-elements/duet-textarea.d.ts +2 -2
  548. package/lib/dist-custom-elements/duet-textarea.js +262 -262
  549. package/lib/dist-custom-elements/duet-toggle.d.ts +2 -2
  550. package/lib/dist-custom-elements/duet-toggle.js +120 -113
  551. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.d.ts +2 -2
  552. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +63 -63
  553. package/lib/dist-custom-elements/duet-toolbar-dropdown.d.ts +2 -2
  554. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +88 -88
  555. package/lib/dist-custom-elements/duet-toolbar-link.d.ts +2 -2
  556. package/lib/dist-custom-elements/duet-toolbar-link.js +58 -58
  557. package/lib/dist-custom-elements/duet-toolbar.d.ts +2 -2
  558. package/lib/dist-custom-elements/duet-toolbar.js +52 -52
  559. package/lib/dist-custom-elements/duet-tooltip-button.d.ts +2 -2
  560. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  561. package/lib/dist-custom-elements/duet-tooltip-popup.d.ts +2 -2
  562. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  563. package/lib/dist-custom-elements/duet-tooltip.d.ts +2 -2
  564. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  565. package/lib/dist-custom-elements/duet-tray.d.ts +2 -2
  566. package/lib/dist-custom-elements/duet-tray.js +122 -119
  567. package/lib/dist-custom-elements/duet-upload-aria-status.d.ts +2 -2
  568. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  569. package/lib/dist-custom-elements/duet-upload-item.d.ts +2 -2
  570. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  571. package/lib/dist-custom-elements/duet-upload.d.ts +2 -2
  572. package/lib/dist-custom-elements/duet-upload.js +1163 -1163
  573. package/lib/dist-custom-elements/duet-visually-hidden.d.ts +2 -2
  574. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  575. package/lib/dist-custom-elements/index.js +15 -41
  576. package/lib/dist-custom-elements/{p-7247d0b2.js → p-04a295c6.js} +65 -43
  577. package/lib/dist-custom-elements/p-064f1578.js +273 -0
  578. package/lib/dist-custom-elements/{p-e4355989.js → p-0b123cad.js} +95 -88
  579. package/lib/dist-custom-elements/p-0e052642.js +55 -0
  580. package/lib/dist-custom-elements/p-0f8e290f.js +226 -0
  581. package/lib/dist-custom-elements/{p-d0987122.js → p-10a15ea1.js} +48 -48
  582. package/lib/{esm/slot-query-7877f18f.js → dist-custom-elements/p-11230037.js} +1 -1
  583. package/lib/dist-custom-elements/{p-2b1a35cd.js → p-1224c98d.js} +278 -278
  584. package/lib/dist-custom-elements/p-1b2fea2b.js +59 -0
  585. package/lib/dist-custom-elements/p-1e4ca38f.js +126 -0
  586. package/lib/dist-custom-elements/{p-bcfb9e03.js → p-24ae0332.js} +50 -50
  587. package/lib/dist-custom-elements/p-2613ae6a.js +265 -0
  588. package/lib/dist-custom-elements/{p-4883df66.js → p-2e36d5bf.js} +74 -74
  589. package/lib/dist-custom-elements/p-435c14fe.js +60 -0
  590. package/lib/dist-custom-elements/p-4391eb0d.js +110 -0
  591. package/lib/dist-custom-elements/p-43b89e38.js +9 -0
  592. package/lib/dist-custom-elements/p-47247d7e.js +465 -0
  593. package/lib/dist-custom-elements/{p-ba870310.js → p-490933fd.js} +47 -47
  594. package/lib/dist-custom-elements/{p-274d11e3.js → p-4ab776f4.js} +6 -6
  595. package/lib/dist-custom-elements/p-5788a98f.js +123 -0
  596. package/lib/dist-custom-elements/p-57a1cba9.js +117 -0
  597. package/lib/dist-custom-elements/p-5e1cd480.js +79 -0
  598. package/lib/dist-custom-elements/p-5e59e970.js +11 -0
  599. package/lib/dist-custom-elements/{p-9dd26401.js → p-618174a5.js} +128 -128
  600. package/lib/dist-custom-elements/{p-6c2e13f0.js → p-6222a43f.js} +56 -56
  601. package/lib/dist-custom-elements/{p-52014bb2.js → p-63ec7678.js} +37 -37
  602. package/lib/dist-custom-elements/{p-180c0d2d.js → p-65d472d7.js} +174 -174
  603. package/lib/dist-custom-elements/p-68bd36c7.js +38 -0
  604. package/lib/dist-custom-elements/p-76e8ab22.js +98 -0
  605. package/lib/dist-custom-elements/p-7d8a2628.js +57 -0
  606. package/lib/dist-custom-elements/p-8b89622f.js +177 -0
  607. package/lib/dist-custom-elements/p-8e357cfb.js +137 -0
  608. package/lib/dist-custom-elements/p-8f253845.js +51 -0
  609. package/lib/dist-custom-elements/{p-d49389d2.js → p-916e66c9.js} +171 -171
  610. package/lib/dist-custom-elements/p-994556c0.js +151 -0
  611. package/lib/dist-custom-elements/{p-3d8d557b.js → p-9e371678.js} +27 -27
  612. package/lib/dist-custom-elements/p-a58bd561.js +13 -0
  613. package/lib/dist-custom-elements/{p-c0af301d.js → p-adef0aaa.js} +64 -64
  614. package/lib/dist-custom-elements/p-b2e550a3.js +97 -0
  615. package/lib/dist-custom-elements/p-ba28f5ce.js +205 -0
  616. package/lib/dist-custom-elements/{p-21b815ae.js → p-beb5db77.js} +42 -42
  617. package/lib/dist-custom-elements/p-d0e52a83.js +76 -0
  618. package/lib/dist-custom-elements/p-df7874f9.js +53 -0
  619. package/lib/dist-custom-elements/{p-3ccd454b.js → p-e034dfea.js} +43 -43
  620. package/lib/dist-custom-elements/p-e929268c.js +62 -0
  621. package/lib/dist-custom-elements/p-eef66341.js +18 -0
  622. package/lib/dist-custom-elements/p-fc1fa737.js +206 -0
  623. package/lib/dist-custom-elements/p-ff591309.js +93 -0
  624. package/lib/duet/duet.esm.js +1 -1
  625. package/lib/duet/duet.js +15 -15
  626. package/lib/duet/{p-bfeeee67.system.entry.js → p-00da8ac7.system.entry.js} +2 -2
  627. package/lib/duet/{p-0c702d36.entry.js → p-023ee57b.entry.js} +1 -1
  628. package/lib/duet/{p-39078c27.system.entry.js → p-02f49953.system.entry.js} +2 -2
  629. package/lib/duet/{p-0558a17e.system.entry.js → p-060a790b.system.entry.js} +1 -1
  630. package/lib/duet/{p-80013513.system.entry.js → p-07ce89ff.system.entry.js} +1 -1
  631. package/lib/duet/{p-301ddafe.entry.js → p-07f5193f.entry.js} +1 -1
  632. package/lib/duet/{p-c801ebee.entry.js → p-094eedb8.entry.js} +1 -1
  633. package/lib/duet/{p-ac367891.entry.js → p-0981fdb2.entry.js} +1 -1
  634. package/lib/duet/{p-051488a0.system.entry.js → p-0a5966c8.system.entry.js} +1 -1
  635. package/lib/duet/p-0b16d4ca.system.entry.js +4 -0
  636. package/lib/duet/{p-445523a8.entry.js → p-0f162710.entry.js} +1 -1
  637. package/lib/duet/{p-6da4db52.system.entry.js → p-0f3f2906.system.entry.js} +1 -1
  638. package/lib/duet/{p-c4e79927.entry.js → p-11653c1e.entry.js} +1 -1
  639. package/lib/duet/p-1276c914.js +5 -0
  640. package/lib/duet/{p-59b9c68b.entry.js → p-16203527.entry.js} +1 -1
  641. package/lib/duet/{p-57afa4b8.system.entry.js → p-1753cb05.system.entry.js} +2 -2
  642. package/lib/duet/{p-032a613f.system.entry.js → p-176fa0e5.system.entry.js} +1 -1
  643. package/lib/duet/{p-e4aa049f.system.entry.js → p-1a44a9e5.system.entry.js} +1 -1
  644. package/lib/duet/p-1bd21f27.entry.js +4 -0
  645. package/lib/duet/{p-e90b5865.system.entry.js → p-1d772039.system.entry.js} +1 -1
  646. package/lib/duet/{p-0606cea3.entry.js → p-218eba4d.entry.js} +1 -1
  647. package/lib/duet/{p-8972381a.system.js → p-224f6c46.system.js} +1 -1
  648. package/lib/duet/{p-8eff5e91.system.entry.js → p-23eaa3b4.system.entry.js} +2 -2
  649. package/lib/duet/{p-a91c8a42.system.entry.js → p-24423276.system.entry.js} +1 -1
  650. package/lib/duet/{p-0d0101d9.system.entry.js → p-245dedef.system.entry.js} +1 -1
  651. package/lib/duet/{p-58a08a7b.system.entry.js → p-24f96782.system.entry.js} +1 -1
  652. package/lib/duet/p-259a297a.system.js +4 -0
  653. package/lib/duet/{p-1dadf501.entry.js → p-25c78304.entry.js} +1 -1
  654. package/lib/duet/p-26332d59.system.entry.js +4 -0
  655. package/lib/duet/{p-3639371a.system.entry.js → p-26de4395.system.entry.js} +1 -1
  656. package/lib/duet/{p-cef36d14.system.entry.js → p-27560f1b.system.entry.js} +1 -1
  657. package/lib/duet/{p-716329a7.system.entry.js → p-27c6aebd.system.entry.js} +1 -1
  658. package/lib/duet/{p-1a877bd1.system.entry.js → p-27d40494.system.entry.js} +1 -1
  659. package/lib/duet/p-2877f5d2.system.entry.js +4 -0
  660. package/lib/duet/p-2bb2b022.js +4 -0
  661. package/lib/duet/{p-95df823b.entry.js → p-2c67f7a8.entry.js} +1 -1
  662. package/lib/duet/p-2ddd31db.entry.js +4 -0
  663. package/lib/duet/{p-4883df66.js → p-2e36d5bf.js} +1 -1
  664. package/lib/duet/{p-ed961bc6.system.entry.js → p-2efce50b.system.entry.js} +1 -1
  665. package/lib/duet/{p-05e3a2cc.entry.js → p-3009021d.entry.js} +1 -1
  666. package/lib/duet/{p-4f770f51.system.entry.js → p-309546c3.system.entry.js} +1 -1
  667. package/lib/duet/p-3126ade6.entry.js +4 -0
  668. package/lib/duet/{p-089043d5.entry.js → p-31c8c180.entry.js} +1 -1
  669. package/lib/duet/{p-da9fe13c.system.entry.js → p-32aed830.system.entry.js} +1 -1
  670. package/lib/duet/{p-def3df7d.entry.js → p-3640cb93.entry.js} +1 -1
  671. package/lib/duet/{p-6f3f2e66.entry.js → p-3772cde9.entry.js} +1 -1
  672. package/lib/duet/p-37811477.system.entry.js +4 -0
  673. package/lib/duet/{p-e7a22d84.system.entry.js → p-37d0ea90.system.entry.js} +1 -1
  674. package/lib/duet/{p-50f4319b.system.entry.js → p-380ee907.system.entry.js} +1 -1
  675. package/lib/duet/{p-8aa7771f.entry.js → p-3aa3de10.entry.js} +1 -1
  676. package/lib/duet/{p-e6168195.entry.js → p-3efd29e1.entry.js} +1 -1
  677. package/lib/duet/{p-3fd4c411.entry.js → p-4196e4ba.entry.js} +1 -1
  678. package/lib/duet/p-43249fcf.system.entry.js +4 -0
  679. package/lib/duet/p-461d8a0b.entry.js +4 -0
  680. package/lib/duet/{p-b0ab2ead.system.entry.js → p-461fd4d8.system.entry.js} +1 -1
  681. package/lib/duet/{p-566668e1.entry.js → p-46cacf4b.entry.js} +1 -1
  682. package/lib/duet/p-470f5db7.entry.js +4 -0
  683. package/lib/duet/{p-f75a1805.system.entry.js → p-482cb8b5.system.entry.js} +1 -1
  684. package/lib/duet/{p-d4d7d607.system.entry.js → p-4d081cf5.system.entry.js} +1 -1
  685. package/lib/duet/{p-d02b92fa.entry.js → p-4da0332f.entry.js} +1 -1
  686. package/lib/duet/p-4dc4f2de.system.entry.js +4 -0
  687. package/lib/duet/{p-8bf363f4.system.entry.js → p-50108ac2.system.entry.js} +1 -1
  688. package/lib/duet/{p-9e2a2cf7.entry.js → p-507f463e.entry.js} +1 -1
  689. package/lib/duet/{p-79faf440.system.entry.js → p-52471579.system.entry.js} +1 -1
  690. package/lib/duet/p-530dd0b2.entry.js +4 -0
  691. package/lib/duet/p-538a7c32.system.entry.js +4 -0
  692. package/lib/duet/{p-3b0969dc.entry.js → p-548b740e.entry.js} +1 -1
  693. package/lib/duet/{p-a8878fd3.entry.js → p-55fbe6bc.entry.js} +1 -1
  694. package/lib/duet/p-5795b0d9.system.js +4 -0
  695. package/lib/duet/p-57f6f292.system.entry.js +4 -0
  696. package/lib/duet/p-582f1599.system.entry.js +4 -0
  697. package/lib/duet/{p-07401f31.entry.js → p-5aaf2889.entry.js} +1 -1
  698. package/lib/duet/{p-80d1a5d3.entry.js → p-5bab6421.entry.js} +1 -1
  699. package/lib/duet/{p-56bdad28.system.entry.js → p-5bb41296.system.entry.js} +1 -1
  700. package/lib/duet/{p-afd00506.entry.js → p-5be3bb6e.entry.js} +1 -1
  701. package/lib/duet/{p-d5a9cfac.entry.js → p-5e777157.entry.js} +1 -1
  702. package/lib/duet/p-5ef65fd9.entry.js +4 -0
  703. package/lib/duet/p-609aaedd.entry.js +4 -0
  704. package/lib/duet/{p-faa6ea94.system.entry.js → p-6399c03a.system.entry.js} +1 -1
  705. package/lib/duet/{p-b8db6e02.system.entry.js → p-63bdc921.system.entry.js} +1 -1
  706. package/lib/duet/p-644b687c.system.entry.js +4 -0
  707. package/lib/duet/p-68625c53.system.entry.js +4 -0
  708. package/lib/duet/{p-5c0de81a.system.entry.js → p-693ebab3.system.entry.js} +1 -1
  709. package/lib/duet/p-6a4fa614.entry.js +4 -0
  710. package/lib/duet/{p-30bd8807.entry.js → p-6b4c9fe2.entry.js} +1 -1
  711. package/lib/duet/p-6d839458.js +4 -0
  712. package/lib/duet/{p-2b70d58a.system.entry.js → p-7206856c.system.entry.js} +1 -1
  713. package/lib/duet/p-737f4f78.entry.js +4 -0
  714. package/lib/duet/p-75655f00.entry.js +4 -0
  715. package/lib/duet/{p-d02e3fe0.system.entry.js → p-77216458.system.entry.js} +1 -1
  716. package/lib/duet/{p-7a46b4ef.system.entry.js → p-773d5541.system.entry.js} +1 -1
  717. package/lib/duet/p-785b629e.entry.js +4 -0
  718. package/lib/duet/{p-98d01f1c.system.entry.js → p-78e18f90.system.entry.js} +1 -1
  719. package/lib/duet/{p-ff7a57a9.entry.js → p-7c3de686.entry.js} +1 -1
  720. package/lib/duet/{p-13915ce0.entry.js → p-7f2e3a82.entry.js} +1 -1
  721. package/lib/duet/{p-ed011021.system.entry.js → p-82b6d775.system.entry.js} +1 -1
  722. package/lib/duet/p-868deb49.entry.js +4 -0
  723. package/lib/duet/p-8693a1f3.entry.js +4 -0
  724. package/lib/duet/{p-c23bf76f.system.entry.js → p-87421fc1.system.entry.js} +1 -1
  725. package/lib/duet/p-89f7e363.system.entry.js +4 -0
  726. package/lib/duet/p-8bb9591d.system.js +4 -0
  727. package/lib/duet/{p-ded28a6e.system.entry.js → p-917d8b40.system.entry.js} +1 -1
  728. package/lib/duet/{p-ed8f7cac.entry.js → p-92d45100.entry.js} +1 -1
  729. package/lib/duet/p-93fd3aa5.system.entry.js +4 -0
  730. package/lib/duet/{p-6da7b933.entry.js → p-95f33440.entry.js} +1 -1
  731. package/lib/duet/{p-a0ecfa13.system.entry.js → p-9865ef30.system.entry.js} +1 -1
  732. package/lib/duet/p-9b877798.system.entry.js +4 -0
  733. package/lib/duet/{p-9cba7f04.system.entry.js → p-9ce2bf89.system.entry.js} +1 -1
  734. package/lib/duet/{p-fd1fb3f9.system.entry.js → p-9d6c89df.system.entry.js} +1 -1
  735. package/lib/duet/{p-77b43a95.entry.js → p-9f19cdc2.entry.js} +1 -1
  736. package/lib/duet/p-9fc19072.entry.js +4 -0
  737. package/lib/duet/{p-b46fa994.system.entry.js → p-a2a3b572.system.entry.js} +2 -2
  738. package/lib/duet/{p-ee796d5e.system.entry.js → p-a57b06db.system.entry.js} +1 -1
  739. package/lib/duet/p-a5f0d126.entry.js +4 -0
  740. package/lib/duet/{p-96f66e14.system.entry.js → p-a69a6b39.system.entry.js} +1 -1
  741. package/lib/duet/p-a931d71d.entry.js +4 -0
  742. package/lib/duet/{p-6205bcb4.entry.js → p-ab4e6587.entry.js} +1 -1
  743. package/lib/duet/{p-8ba72fa0.system.entry.js → p-abe0caff.system.entry.js} +1 -1
  744. package/lib/duet/{p-e3ffb537.system.entry.js → p-ac0a0c5f.system.entry.js} +1 -1
  745. package/lib/duet/{p-ccef6554.system.entry.js → p-b294d764.system.entry.js} +1 -1
  746. package/lib/duet/{p-c08928e1.system.entry.js → p-b32624a6.system.entry.js} +1 -1
  747. package/lib/duet/{p-e9be64de.system.entry.js → p-ba95cf16.system.entry.js} +1 -1
  748. package/lib/duet/{p-4630d3cb.entry.js → p-ba993fed.entry.js} +1 -1
  749. package/lib/duet/p-bb05780d.entry.js +4 -0
  750. package/lib/duet/{p-37af6296.system.entry.js → p-bca48b8e.system.entry.js} +1 -1
  751. package/lib/duet/p-bcee8104.entry.js +4 -0
  752. package/lib/duet/{p-c79a0641.entry.js → p-bd2b785a.entry.js} +1 -1
  753. package/lib/duet/p-bec206f3.entry.js +4 -0
  754. package/lib/duet/{p-501f62eb.system.entry.js → p-befd7146.system.entry.js} +1 -1
  755. package/lib/duet/{p-4aa91f55.entry.js → p-c13fcc8d.entry.js} +1 -1
  756. package/lib/duet/{p-0f1ec9c0.entry.js → p-c172f523.entry.js} +1 -1
  757. package/lib/duet/{p-e1d3c21e.entry.js → p-c17932bc.entry.js} +1 -1
  758. package/lib/duet/p-c23ab199.entry.js +4 -0
  759. package/lib/duet/{p-c5725fee.system.entry.js → p-c6296393.system.entry.js} +1 -1
  760. package/lib/duet/{p-35990684.entry.js → p-c71634ee.entry.js} +1 -1
  761. package/lib/duet/{p-33765ffd.entry.js → p-ca5dfafc.entry.js} +1 -1
  762. package/lib/duet/{p-68f3526e.entry.js → p-cab7ff29.entry.js} +1 -1
  763. package/lib/duet/{p-efdbddb5.system.js → p-cbfdaac4.system.js} +1 -1
  764. package/lib/duet/{p-113d90cb.system.entry.js → p-d0270ec7.system.entry.js} +1 -1
  765. package/lib/duet/p-d1ef0249.system.entry.js +4 -0
  766. package/lib/duet/{p-bdc59646.entry.js → p-d23f7bd1.entry.js} +1 -1
  767. package/lib/duet/p-d328922e.entry.js +4 -0
  768. package/lib/duet/p-d5271b57.entry.js +4 -0
  769. package/lib/duet/{p-1b3fde48.entry.js → p-d5c70827.entry.js} +1 -1
  770. package/lib/duet/{p-89b82e5a.entry.js → p-d832be12.entry.js} +1 -1
  771. package/lib/duet/{p-7671b7b7.system.js → p-da20db91.system.js} +1 -1
  772. package/lib/duet/p-db4ca364.js +4 -0
  773. package/lib/duet/p-db7ec3f2.system.entry.js +4 -0
  774. package/lib/duet/{p-604175d2.entry.js → p-dba55421.entry.js} +1 -1
  775. package/lib/duet/{p-a7e7c277.system.entry.js → p-de9c3476.system.entry.js} +1 -1
  776. package/lib/duet/p-df073faa.entry.js +4 -0
  777. package/lib/duet/p-df5f7376.entry.js +4 -0
  778. package/lib/duet/{p-dc63462c.entry.js → p-e3ba4d89.entry.js} +1 -1
  779. package/lib/duet/{p-64b323bf.entry.js → p-ef4a09e9.entry.js} +1 -1
  780. package/lib/duet/p-ef66a3c3.system.entry.js +4 -0
  781. package/lib/duet/p-f18c2892.system.js +5 -0
  782. package/lib/duet/{p-8855bd51.entry.js → p-f19b59f8.entry.js} +1 -1
  783. package/lib/duet/p-f1f5dfa4.system.entry.js +4 -0
  784. package/lib/duet/{p-fab7c1ed.entry.js → p-f20d29b8.entry.js} +1 -1
  785. package/lib/duet/{p-c3289020.system.entry.js → p-f2b556d7.system.entry.js} +1 -1
  786. package/lib/duet/p-f3efe8c2.system.entry.js +4 -0
  787. package/lib/duet/p-fabb616b.js +4 -0
  788. package/lib/duet/{p-1e9f1c45.entry.js → p-fb5877c4.entry.js} +1 -1
  789. package/lib/duet/p-fc366b12.system.entry.js +4 -0
  790. package/lib/duet/{p-54fbdedf.entry.js → p-fc788a9a.entry.js} +1 -1
  791. package/lib/duet/{p-bf3331ed.entry.js → p-fcfe83b1.entry.js} +1 -1
  792. package/lib/duet/{p-6ae7579a.system.entry.js → p-ffc50558.system.entry.js} +1 -1
  793. package/lib/esm/app-globals-45aa6d20.js +26 -0
  794. package/lib/esm/{common-strings-c0ac5a0b.js → common-strings-59db6973.js} +6 -6
  795. package/lib/esm/create-id-149a1b6d.js +11 -0
  796. package/lib/esm/duet-action-button.entry.js +134 -134
  797. package/lib/esm/duet-alert.entry.js +109 -106
  798. package/lib/esm/duet-badge.entry.js +29 -29
  799. package/lib/esm/duet-banner.entry.js +52 -52
  800. package/lib/esm/duet-breadcrumb.entry.js +50 -41
  801. package/lib/esm/duet-breadcrumbs.entry.js +51 -51
  802. package/lib/esm/duet-button_2.entry.js +229 -229
  803. package/lib/esm/duet-callout.entry.js +28 -28
  804. package/lib/esm/duet-caption_4.entry.js +197 -187
  805. package/lib/esm/duet-card.entry.js +100 -94
  806. package/lib/esm/duet-checkbox.entry.js +85 -85
  807. package/lib/esm/duet-checkmark.entry.js +23 -23
  808. package/lib/esm/duet-chip.entry.js +189 -182
  809. package/lib/esm/duet-choice_2.entry.js +395 -393
  810. package/lib/esm/duet-collapsible.entry.js +105 -99
  811. package/lib/esm/duet-combobox.entry.js +363 -363
  812. package/lib/esm/duet-contact-card.entry.js +49 -49
  813. package/lib/esm/duet-cookie-consent.entry.js +42 -35
  814. package/lib/esm/duet-date-picker.entry.js +610 -610
  815. package/lib/esm/duet-divider_2.entry.js +53 -53
  816. package/lib/esm/duet-editable-table_3.entry.js +1248 -1248
  817. package/lib/esm/duet-empty-state.entry.js +26 -26
  818. package/lib/esm/duet-fieldset.entry.js +50 -50
  819. package/lib/esm/duet-file-chooser.entry.js +44 -44
  820. package/lib/esm/duet-footer.entry.js +121 -118
  821. package/lib/esm/duet-grid_2.entry.js +185 -185
  822. package/lib/esm/duet-header_2.entry.js +613 -611
  823. package/lib/esm/duet-hero.entry.js +172 -172
  824. package/lib/esm/duet-icon.entry.js +141 -141
  825. package/lib/esm/duet-input_2.entry.js +347 -347
  826. package/lib/esm/duet-layout.entry.js +51 -51
  827. package/lib/esm/duet-list_2.entry.js +99 -99
  828. package/lib/esm/duet-menu-bar-button.entry.js +70 -70
  829. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +45 -45
  830. package/lib/esm/duet-menu-bar-dropdown.entry.js +94 -94
  831. package/lib/esm/duet-menu-bar-link.entry.js +58 -58
  832. package/lib/esm/duet-menu-bar.entry.js +116 -116
  833. package/lib/esm/duet-modal.entry.js +189 -189
  834. package/lib/esm/duet-multiselect.entry.js +207 -207
  835. package/lib/esm/duet-nav.entry.js +20 -20
  836. package/lib/esm/duet-notification_2.entry.js +145 -140
  837. package/lib/esm/duet-number-input.entry.js +340 -338
  838. package/lib/esm/duet-page-heading.entry.js +26 -26
  839. package/lib/esm/duet-pagination_2.entry.js +512 -512
  840. package/lib/esm/duet-popup-menu-item.entry.js +62 -62
  841. package/lib/esm/duet-popup-menu.entry.js +148 -148
  842. package/lib/esm/duet-progress.entry.js +54 -54
  843. package/lib/esm/duet-promo-card.entry.js +40 -40
  844. package/lib/esm/duet-radio_2.entry.js +197 -197
  845. package/lib/esm/duet-range-slider.entry.js +112 -105
  846. package/lib/esm/duet-scrollable_3.entry.js +387 -387
  847. package/lib/esm/duet-section-layout.entry.js +21 -21
  848. package/lib/esm/duet-select.entry.js +156 -156
  849. package/lib/esm/duet-shaped-image.entry.js +28 -28
  850. package/lib/esm/duet-show-more.entry.js +99 -99
  851. package/lib/esm/duet-slideout-lang.entry.js +36 -36
  852. package/lib/esm/duet-slideout-link.entry.js +33 -33
  853. package/lib/esm/duet-slideout-panel-dropdown.entry.js +50 -50
  854. package/lib/esm/duet-slideout-panel.entry.js +120 -120
  855. package/lib/esm/duet-slideout.entry.js +196 -196
  856. package/lib/esm/duet-step_2.entry.js +189 -185
  857. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +37 -37
  858. package/lib/esm/duet-submenu-bar-dropdown.entry.js +104 -104
  859. package/lib/esm/duet-submenu-bar-link.entry.js +60 -60
  860. package/lib/esm/duet-submenu-bar.entry.js +110 -110
  861. package/lib/esm/duet-textarea.entry.js +160 -160
  862. package/lib/esm/duet-toggle.entry.js +79 -72
  863. package/lib/esm/duet-toolbar-dropdown-link.entry.js +36 -36
  864. package/lib/esm/duet-toolbar-dropdown.entry.js +60 -60
  865. package/lib/esm/duet-toolbar-link.entry.js +31 -31
  866. package/lib/esm/duet-toolbar.entry.js +34 -34
  867. package/lib/esm/duet-tooltip-button_2.entry.js +93 -80
  868. package/lib/esm/duet-tooltip.entry.js +190 -188
  869. package/lib/esm/duet-tray.entry.js +85 -82
  870. package/lib/esm/duet-upload-aria-status.entry.js +65 -65
  871. package/lib/esm/duet-upload-item.entry.js +81 -81
  872. package/lib/esm/duet-visually-hidden.entry.js +12 -12
  873. package/lib/esm/duet.js +5 -5
  874. package/lib/esm/errorcodes.utils-e681347c.js +36 -0
  875. package/lib/esm/focus-utils-23aad0c9.js +18 -0
  876. package/lib/esm/{index-b3bf9761.js → index-02e78bbf.js} +106 -45
  877. package/lib/esm/input-utils-85681162.js +53 -0
  878. package/lib/esm/is-internet-explorer-2c48f686.js +9 -0
  879. package/lib/esm/{js-utils-a35dcc8c.js → js-utils-9b9e0039.js} +27 -27
  880. package/lib/esm/keyboard-utils-eba88365.js +51 -0
  881. package/lib/esm/{language-utils-9ff76444.js → language-utils-00ca4c55.js} +74 -74
  882. package/lib/esm/loader.js +4 -4
  883. package/lib/{dist-custom-elements/p-f8c76b25.js → esm/slot-query-022710bb.js} +1 -1
  884. package/lib/esm/string-utils-ca039233.js +55 -0
  885. package/lib/esm/teleport-4462e8c1.js +97 -0
  886. package/lib/esm/themeable-component-724c0f7e.js +13 -0
  887. package/lib/esm/token-utils-b4bd3ec7.js +117 -0
  888. package/lib/esm/watch-options-e96ecd92.js +57 -0
  889. package/lib/esm-es5/app-globals-45aa6d20.js +4 -0
  890. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  891. package/lib/esm-es5/duet-alert.entry.js +2 -2
  892. package/lib/esm-es5/duet-badge.entry.js +1 -1
  893. package/lib/esm-es5/duet-banner.entry.js +1 -1
  894. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  895. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  896. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  897. package/lib/esm-es5/duet-callout.entry.js +1 -1
  898. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  899. package/lib/esm-es5/duet-card.entry.js +1 -1
  900. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  901. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  902. package/lib/esm-es5/duet-chip.entry.js +2 -2
  903. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  904. package/lib/esm-es5/duet-collapsible.entry.js +2 -2
  905. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  906. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  907. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  908. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  909. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  910. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  911. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  912. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  913. package/lib/esm-es5/duet-file-chooser.entry.js +1 -1
  914. package/lib/esm-es5/duet-footer.entry.js +1 -1
  915. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  916. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  917. package/lib/esm-es5/duet-hero.entry.js +1 -1
  918. package/lib/esm-es5/duet-icon.entry.js +1 -1
  919. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  920. package/lib/esm-es5/duet-layout.entry.js +1 -1
  921. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  922. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  923. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  924. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  925. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  926. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  927. package/lib/esm-es5/duet-modal.entry.js +1 -1
  928. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  929. package/lib/esm-es5/duet-nav.entry.js +1 -1
  930. package/lib/esm-es5/duet-notification_2.entry.js +2 -2
  931. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  932. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  933. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  934. package/lib/esm-es5/duet-popup-menu-item.entry.js +1 -1
  935. package/lib/esm-es5/duet-popup-menu.entry.js +1 -1
  936. package/lib/esm-es5/duet-progress.entry.js +1 -1
  937. package/lib/esm-es5/duet-promo-card.entry.js +1 -1
  938. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  939. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  940. package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
  941. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  942. package/lib/esm-es5/duet-select.entry.js +1 -1
  943. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  944. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  945. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  946. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  947. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  948. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  949. package/lib/esm-es5/duet-slideout.entry.js +2 -2
  950. package/lib/esm-es5/duet-step_2.entry.js +2 -2
  951. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  952. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  953. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  954. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  955. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  956. package/lib/esm-es5/duet-toggle.entry.js +2 -2
  957. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  958. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  959. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  960. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  961. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  962. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  963. package/lib/esm-es5/duet-tray.entry.js +1 -1
  964. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  965. package/lib/esm-es5/duet-upload-item.entry.js +1 -1
  966. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  967. package/lib/esm-es5/duet.js +1 -1
  968. package/lib/esm-es5/{errorcodes.utils-424b1197.js → errorcodes.utils-e681347c.js} +1 -1
  969. package/lib/esm-es5/focus-utils-23aad0c9.js +4 -0
  970. package/lib/esm-es5/index-02e78bbf.js +5 -0
  971. package/lib/esm-es5/keyboard-utils-eba88365.js +4 -0
  972. package/lib/esm-es5/{language-utils-9ff76444.js → language-utils-00ca4c55.js} +1 -1
  973. package/lib/esm-es5/loader.js +1 -1
  974. package/lib/types/common/a11y-component.d.ts +7 -7
  975. package/lib/types/common/form-components.d.ts +15 -15
  976. package/lib/types/common/themeable-component.d.ts +4 -4
  977. package/lib/types/common-types.d.ts +11 -0
  978. package/lib/types/components/duet-action-button/duet-action-button.d.ts +126 -126
  979. package/lib/types/components/duet-alert/duet-alert.d.ts +100 -100
  980. package/lib/types/components/duet-badge/duet-badge.d.ts +27 -27
  981. package/lib/types/components/duet-banner/duet-banner.d.ts +58 -58
  982. package/lib/types/components/duet-breadcrumbs/duet-breadcrumb.d.ts +38 -33
  983. package/lib/types/components/duet-breadcrumbs/duet-breadcrumbs.d.ts +23 -23
  984. package/lib/types/components/duet-button/duet-button.d.ts +219 -219
  985. package/lib/types/components/duet-callout/duet-callout.d.ts +19 -19
  986. package/lib/types/components/duet-caption/duet-caption.d.ts +26 -26
  987. package/lib/types/components/duet-card/duet-card.d.ts +121 -119
  988. package/lib/types/components/duet-checkbox/duet-checkbox.d.ts +132 -132
  989. package/lib/types/components/duet-chip/duet-chip.d.ts +111 -109
  990. package/lib/types/components/duet-choice/duet-checkmark.d.ts +27 -27
  991. package/lib/types/components/duet-choice/duet-choice.d.ts +259 -259
  992. package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +103 -103
  993. package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +90 -88
  994. package/lib/types/components/duet-combobox/duet-combobox-select-single.d.ts +3 -3
  995. package/lib/types/components/duet-combobox/duet-combobox-select.d.ts +8 -8
  996. package/lib/types/components/duet-combobox/duet-combobox.d.ts +135 -135
  997. package/lib/types/components/duet-contact-card/duet-contact-card.d.ts +60 -60
  998. package/lib/types/components/duet-cookie-consent/duet-cookie-consent.d.ts +31 -29
  999. package/lib/types/components/duet-date-picker/date-i18n.d.ts +13 -13
  1000. package/lib/types/components/duet-date-picker/date-picker-day.d.ts +9 -9
  1001. package/lib/types/components/duet-date-picker/date-picker-input.d.ts +28 -28
  1002. package/lib/types/components/duet-date-picker/date-picker-month.d.ts +12 -12
  1003. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +220 -220
  1004. package/lib/types/components/duet-divider/duet-divider.d.ts +26 -26
  1005. package/lib/types/components/duet-editable-table/duet-editable-table-tabledata.d.ts +3 -3
  1006. package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +133 -133
  1007. package/lib/types/components/duet-empty-state/duet-empty-state.d.ts +22 -22
  1008. package/lib/types/components/duet-fieldset/duet-fieldset.d.ts +60 -60
  1009. package/lib/types/components/duet-file-chooser/duet-file-chooser.d.ts +35 -35
  1010. package/lib/types/components/duet-footer/duet-footer.d.ts +143 -143
  1011. package/lib/types/components/duet-grid/duet-grid.d.ts +73 -73
  1012. package/lib/types/components/duet-grid-item/duet-grid-item.d.ts +49 -49
  1013. package/lib/types/components/duet-header/duet-header-dropdown.d.ts +11 -11
  1014. package/lib/types/components/duet-header/duet-header-icon.d.ts +4 -4
  1015. package/lib/types/components/duet-header/duet-header.d.ts +347 -347
  1016. package/lib/types/components/duet-heading/duet-heading.d.ts +49 -49
  1017. package/lib/types/components/duet-hero/duet-hero.d.ts +198 -198
  1018. package/lib/types/components/duet-icon/duet-icon.d.ts +80 -81
  1019. package/lib/types/components/duet-input/duet-input.d.ts +279 -279
  1020. package/lib/types/components/duet-label/duet-label.d.ts +26 -26
  1021. package/lib/types/components/duet-layout/duet-layout.d.ts +48 -48
  1022. package/lib/types/components/duet-link/duet-link.d.ts +95 -94
  1023. package/lib/types/components/duet-list/duet-list.d.ts +60 -60
  1024. package/lib/types/components/duet-list-item/duet-list-item.d.ts +17 -17
  1025. package/lib/types/components/duet-logo/duet-logo.d.ts +59 -59
  1026. package/lib/types/components/duet-menu-bar/duet-menu-bar.d.ts +68 -68
  1027. package/lib/types/components/duet-menu-bar-button/duet-menu-bar-button.d.ts +85 -86
  1028. package/lib/types/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.d.ts +50 -51
  1029. package/lib/types/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.d.ts +36 -36
  1030. package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +45 -46
  1031. package/lib/types/components/duet-modal/duet-modal.d.ts +155 -155
  1032. package/lib/types/components/duet-multiselect/duet-multiselect.d.ts +153 -153
  1033. package/lib/types/components/duet-nav/duet-nav.d.ts +20 -20
  1034. package/lib/types/components/duet-notification/duet-notification.d.ts +55 -55
  1035. package/lib/types/components/duet-notification-drawer/duet-notification-drawer.d.ts +83 -83
  1036. package/lib/types/components/duet-number-input/duet-number-input.d.ts +230 -230
  1037. package/lib/types/components/duet-page-heading/duet-page-heading.d.ts +25 -25
  1038. package/lib/types/components/duet-pagination/duet-pagination.d.ts +129 -129
  1039. package/lib/types/components/duet-paragraph/duet-paragraph.d.ts +38 -38
  1040. package/lib/types/components/duet-popup-menu/duet-popup-menu.d.ts +80 -80
  1041. package/lib/types/components/duet-popup-menu-item/duet-popup-menu-item.d.ts +73 -73
  1042. package/lib/types/components/duet-progress/duet-progress.d.ts +71 -71
  1043. package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +42 -42
  1044. package/lib/types/components/duet-radio/duet-radio.d.ts +145 -145
  1045. package/lib/types/components/duet-radio-group/duet-radio-group.d.ts +93 -93
  1046. package/lib/types/components/duet-range-slider/duet-range-slider.d.ts +132 -130
  1047. package/lib/types/components/duet-range-stepper/duet-range-stepper.d.ts +68 -68
  1048. package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +61 -61
  1049. package/lib/types/components/duet-section-layout/duet-section-layout.d.ts +17 -17
  1050. package/lib/types/components/duet-select/duet-select.d.ts +179 -179
  1051. package/lib/types/components/duet-shaped-image/duet-shaped-image.d.ts +30 -30
  1052. package/lib/types/components/duet-show-more/duet-show-more.d.ts +83 -83
  1053. package/lib/types/components/duet-slideout/duet-slideout.d.ts +86 -86
  1054. package/lib/types/components/duet-slideout-lang/duet-slideout-lang.d.ts +24 -24
  1055. package/lib/types/components/duet-slideout-link/duet-slideout-link.d.ts +55 -55
  1056. package/lib/types/components/duet-slideout-panel/duet-slideout-panel.d.ts +55 -55
  1057. package/lib/types/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.d.ts +39 -39
  1058. package/lib/types/components/duet-spacer/duet-spacer.d.ts +18 -18
  1059. package/lib/types/components/duet-spinner/duet-spinner.d.ts +30 -30
  1060. package/lib/types/components/duet-step/duet-step.d.ts +68 -66
  1061. package/lib/types/components/duet-stepper/duet-stepper.d.ts +47 -47
  1062. package/lib/types/components/duet-submenu-bar/duet-submenu-bar.d.ts +50 -50
  1063. package/lib/types/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.d.ts +48 -49
  1064. package/lib/types/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.d.ts +43 -43
  1065. package/lib/types/components/duet-submenu-bar-link/duet-submenu-bar-link.d.ts +40 -41
  1066. package/lib/types/components/duet-tab/duet-tab.d.ts +37 -37
  1067. package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +132 -132
  1068. package/lib/types/components/duet-table/duet-table.d.ts +66 -66
  1069. package/lib/types/components/duet-textarea/duet-textarea.d.ts +200 -200
  1070. package/lib/types/components/duet-toggle/duet-toggle.d.ts +115 -113
  1071. package/lib/types/components/duet-toolbar/duet-toolbar.d.ts +30 -30
  1072. package/lib/types/components/duet-toolbar-dropdown/duet-toolbar-dropdown.d.ts +50 -50
  1073. package/lib/types/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.d.ts +43 -43
  1074. package/lib/types/components/duet-toolbar-link/duet-toolbar-link.d.ts +42 -42
  1075. package/lib/types/components/duet-tooltip/duet-tooltip-button.d.ts +21 -19
  1076. package/lib/types/components/duet-tooltip/duet-tooltip-popup.d.ts +33 -31
  1077. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +122 -122
  1078. package/lib/types/components/duet-tray/duet-tray.d.ts +84 -84
  1079. package/lib/types/components/duet-upload/duet-upload.d.ts +484 -484
  1080. package/lib/types/components/duet-upload/errorcodes.utils.d.ts +3 -3
  1081. package/lib/types/components/duet-upload/upload-editable-item-error.d.ts +2 -2
  1082. package/lib/types/components/duet-upload/upload-editable-item-inprogres.d.ts +2 -2
  1083. package/lib/types/components/duet-upload/upload-editable-item-pending.d.ts +1 -1
  1084. package/lib/types/components/duet-upload/upload-editable-item-success.d.ts +2 -2
  1085. package/lib/types/components/duet-upload/upload-item-header.d.ts +2 -2
  1086. package/lib/types/components/duet-upload/upload-validators.d.ts +4 -4
  1087. package/lib/types/components/duet-upload/xhr.helpers.d.ts +10 -10
  1088. package/lib/types/components/duet-upload-aria-status/duet-upload-aria-status.d.ts +40 -40
  1089. package/lib/types/components/duet-upload-item/duet-upload-item.d.ts +54 -54
  1090. package/lib/types/components/duet-visually-hidden/duet-visually-hidden.d.ts +6 -6
  1091. package/lib/types/components.d.ts +10 -4
  1092. package/lib/types/stencil-public-runtime.d.ts +8 -0
  1093. package/lib/types/utils/axe-core-utils.d.ts +3 -3
  1094. package/lib/types/utils/fixture-utils.d.ts +2 -2
  1095. package/lib/types/utils/focus-utils.d.ts +2 -2
  1096. package/lib/types/utils/keyboard-utils.d.ts +2 -0
  1097. package/lib/types/utils/language-utils.d.ts +10 -10
  1098. package/lib/types/utils/picture-utils.d.ts +10 -10
  1099. package/lib/types/utils/teleport.d.ts +20 -20
  1100. package/lib/types/utils/template-utils.d.ts +1 -1
  1101. package/lib/types/utils/test-utils.d.ts +2 -2
  1102. package/lib/types/utils/token-utils.d.ts +9 -9
  1103. package/package.json +6 -6
  1104. package/lib/cjs/app-globals-4ab83f59.js +0 -54
  1105. package/lib/cjs/create-id-167cd350.js +0 -13
  1106. package/lib/cjs/errorcodes.utils-8e928de5.js +0 -39
  1107. package/lib/cjs/focus-utils-aea9f4e1.js +0 -21
  1108. package/lib/cjs/input-utils-b4615782.js +0 -56
  1109. package/lib/cjs/keyboard-utils-02441bc5.js +0 -36
  1110. package/lib/cjs/string-utils-51a2f59f.js +0 -59
  1111. package/lib/cjs/teleport-af825e04.js +0 -99
  1112. package/lib/cjs/themeable-component-0be6d1f4.js +0 -15
  1113. package/lib/cjs/token-utils-dbfeff2e.js +0 -124
  1114. package/lib/cjs/watch-options-1773d69f.js +0 -61
  1115. package/lib/dist-custom-elements/p-03ac3eb3.js +0 -137
  1116. package/lib/dist-custom-elements/p-1a395a8d.js +0 -55
  1117. package/lib/dist-custom-elements/p-1ce55654.js +0 -265
  1118. package/lib/dist-custom-elements/p-1f56e02f.js +0 -174
  1119. package/lib/dist-custom-elements/p-24853ebf.js +0 -97
  1120. package/lib/dist-custom-elements/p-268171f7.js +0 -9
  1121. package/lib/dist-custom-elements/p-3049dfd5.js +0 -147
  1122. package/lib/dist-custom-elements/p-45f71a69.js +0 -11
  1123. package/lib/dist-custom-elements/p-4687ca41.js +0 -465
  1124. package/lib/dist-custom-elements/p-56ac3289.js +0 -20
  1125. package/lib/dist-custom-elements/p-5d8d9a52.js +0 -98
  1126. package/lib/dist-custom-elements/p-62e68de8.js +0 -38
  1127. package/lib/dist-custom-elements/p-64cd1abb.js +0 -93
  1128. package/lib/dist-custom-elements/p-665418f0.js +0 -205
  1129. package/lib/dist-custom-elements/p-759c725f.js +0 -226
  1130. package/lib/dist-custom-elements/p-77f2dbee.js +0 -53
  1131. package/lib/dist-custom-elements/p-80ec4336.js +0 -123
  1132. package/lib/dist-custom-elements/p-8be301dd.js +0 -62
  1133. package/lib/dist-custom-elements/p-9541f0b6.js +0 -59
  1134. package/lib/dist-custom-elements/p-a1371eee.js +0 -57
  1135. package/lib/dist-custom-elements/p-a3923b18.js +0 -126
  1136. package/lib/dist-custom-elements/p-c5032d3a.js +0 -18
  1137. package/lib/dist-custom-elements/p-d48735b6.js +0 -13
  1138. package/lib/dist-custom-elements/p-e19d1e27.js +0 -117
  1139. package/lib/dist-custom-elements/p-e6b07569.js +0 -271
  1140. package/lib/dist-custom-elements/p-e77f7fff.js +0 -60
  1141. package/lib/dist-custom-elements/p-f27e355b.js +0 -76
  1142. package/lib/dist-custom-elements/p-f46be918.js +0 -110
  1143. package/lib/dist-custom-elements/p-fd4877d1.js +0 -72
  1144. package/lib/dist-custom-elements/p-fe8a2205.js +0 -206
  1145. package/lib/duet/p-038ac494.system.entry.js +0 -4
  1146. package/lib/duet/p-08764d71.entry.js +0 -4
  1147. package/lib/duet/p-08f2114a.entry.js +0 -4
  1148. package/lib/duet/p-0a664ebb.entry.js +0 -4
  1149. package/lib/duet/p-0e89cbae.system.entry.js +0 -4
  1150. package/lib/duet/p-0fd024c9.system.js +0 -4
  1151. package/lib/duet/p-11571ab9.entry.js +0 -4
  1152. package/lib/duet/p-177c55aa.entry.js +0 -4
  1153. package/lib/duet/p-18e2e6c8.system.entry.js +0 -4
  1154. package/lib/duet/p-21f3a17a.system.js +0 -4
  1155. package/lib/duet/p-2c78c637.system.entry.js +0 -4
  1156. package/lib/duet/p-34b5285b.system.entry.js +0 -4
  1157. package/lib/duet/p-3b147393.entry.js +0 -4
  1158. package/lib/duet/p-463ddc2c.system.entry.js +0 -4
  1159. package/lib/duet/p-4669b0af.js +0 -4
  1160. package/lib/duet/p-486eec2d.entry.js +0 -4
  1161. package/lib/duet/p-4dc0fff9.entry.js +0 -4
  1162. package/lib/duet/p-50ec2074.entry.js +0 -4
  1163. package/lib/duet/p-52806dad.system.entry.js +0 -4
  1164. package/lib/duet/p-5311f96e.system.entry.js +0 -4
  1165. package/lib/duet/p-5ae9b74f.entry.js +0 -4
  1166. package/lib/duet/p-5c5012f6.system.entry.js +0 -4
  1167. package/lib/duet/p-5eb2a31f.system.entry.js +0 -4
  1168. package/lib/duet/p-61d39730.entry.js +0 -4
  1169. package/lib/duet/p-6c4c0279.js +0 -5
  1170. package/lib/duet/p-76b68b44.entry.js +0 -4
  1171. package/lib/duet/p-789365cb.system.entry.js +0 -4
  1172. package/lib/duet/p-7bca584a.entry.js +0 -4
  1173. package/lib/duet/p-7c36b779.entry.js +0 -4
  1174. package/lib/duet/p-7de467b8.entry.js +0 -4
  1175. package/lib/duet/p-7e1f37e2.entry.js +0 -4
  1176. package/lib/duet/p-821c350f.system.entry.js +0 -4
  1177. package/lib/duet/p-8d0d6e06.system.js +0 -4
  1178. package/lib/duet/p-995e1b11.system.entry.js +0 -4
  1179. package/lib/duet/p-9a613a25.system.entry.js +0 -4
  1180. package/lib/duet/p-9f835123.system.entry.js +0 -4
  1181. package/lib/duet/p-a0660ffa.system.js +0 -5
  1182. package/lib/duet/p-aa6d7d97.entry.js +0 -4
  1183. package/lib/duet/p-ac9f6601.entry.js +0 -4
  1184. package/lib/duet/p-b1db3006.js +0 -4
  1185. package/lib/duet/p-b3ae5641.system.entry.js +0 -4
  1186. package/lib/duet/p-c1bc9249.entry.js +0 -4
  1187. package/lib/duet/p-c36a1bb7.entry.js +0 -4
  1188. package/lib/duet/p-cc1909de.js +0 -4
  1189. package/lib/duet/p-d098d59c.system.entry.js +0 -4
  1190. package/lib/duet/p-d9353709.entry.js +0 -4
  1191. package/lib/duet/p-e1e89fd5.entry.js +0 -4
  1192. package/lib/duet/p-e491c098.system.entry.js +0 -4
  1193. package/lib/duet/p-e95d09bb.system.entry.js +0 -4
  1194. package/lib/duet/p-efa6152d.entry.js +0 -4
  1195. package/lib/duet/p-f58eb425.js +0 -4
  1196. package/lib/duet/p-fab6160a.entry.js +0 -4
  1197. package/lib/duet/p-fcbb30e1.entry.js +0 -4
  1198. package/lib/duet/p-ff09528c.system.entry.js +0 -4
  1199. package/lib/esm/app-globals-de2a5510.js +0 -52
  1200. package/lib/esm/create-id-2b0cd46d.js +0 -11
  1201. package/lib/esm/errorcodes.utils-424b1197.js +0 -36
  1202. package/lib/esm/focus-utils-74961919.js +0 -18
  1203. package/lib/esm/input-utils-a0225b92.js +0 -53
  1204. package/lib/esm/is-internet-explorer-032d4dae.js +0 -9
  1205. package/lib/esm/keyboard-utils-5746e126.js +0 -20
  1206. package/lib/esm/string-utils-59ad4cb2.js +0 -55
  1207. package/lib/esm/teleport-15747328.js +0 -97
  1208. package/lib/esm/themeable-component-fdce4fd7.js +0 -13
  1209. package/lib/esm/token-utils-46c8fe31.js +0 -117
  1210. package/lib/esm/watch-options-f189118b.js +0 -57
  1211. package/lib/esm-es5/app-globals-de2a5510.js +0 -4
  1212. package/lib/esm-es5/focus-utils-74961919.js +0 -4
  1213. package/lib/esm-es5/index-b3bf9761.js +0 -5
  1214. package/lib/esm-es5/keyboard-utils-5746e126.js +0 -4
  1215. /package/lib/duet/{p-1a395a8d.js → p-0e052642.js} +0 -0
  1216. /package/lib/duet/{p-f8c76b25.js → p-11230037.js} +0 -0
  1217. /package/lib/duet/{p-0b31864f.js → p-38320af8.js} +0 -0
  1218. /package/lib/duet/{p-c30a5f7c.system.js → p-41982d26.system.js} +0 -0
  1219. /package/lib/duet/{p-268171f7.js → p-43b89e38.js} +0 -0
  1220. /package/lib/duet/{p-274d11e3.js → p-4ab776f4.js} +0 -0
  1221. /package/lib/duet/{p-77b6e4ba.system.js → p-50f4bca2.system.js} +0 -0
  1222. /package/lib/duet/{p-45f71a69.js → p-5e59e970.js} +0 -0
  1223. /package/lib/duet/{p-75daef16.system.js → p-634e8787.system.js} +0 -0
  1224. /package/lib/duet/{p-719b38fe.system.js → p-67c653f9.system.js} +0 -0
  1225. /package/lib/duet/{p-b99c00fa.system.js → p-6ef75455.system.js} +0 -0
  1226. /package/lib/duet/{p-a1371eee.js → p-7d8a2628.js} +0 -0
  1227. /package/lib/duet/{p-ecf1f6cd.system.js → p-9e36548d.system.js} +0 -0
  1228. /package/lib/duet/{p-3d8d557b.js → p-9e371678.js} +0 -0
  1229. /package/lib/duet/{p-d48735b6.js → p-a58bd561.js} +0 -0
  1230. /package/lib/duet/{p-8e1da663.system.js → p-afad5fd3.system.js} +0 -0
  1231. /package/lib/duet/{p-24853ebf.js → p-b2e550a3.js} +0 -0
  1232. /package/lib/duet/{p-7c29d36a.system.js → p-b864159a.system.js} +0 -0
  1233. /package/lib/duet/{p-88a50491.system.js → p-d1cedaa1.system.js} +0 -0
  1234. /package/lib/duet/{p-77f2dbee.js → p-df7874f9.js} +0 -0
  1235. /package/lib/duet/{p-87dd7bf3.system.js → p-e12066c8.system.js} +0 -0
  1236. /package/lib/duet/{p-1a91e22a.system.js → p-e6b5a1c7.system.js} +0 -0
  1237. /package/lib/esm-es5/{common-strings-c0ac5a0b.js → common-strings-59db6973.js} +0 -0
  1238. /package/lib/esm-es5/{create-id-2b0cd46d.js → create-id-149a1b6d.js} +0 -0
  1239. /package/lib/esm-es5/{input-utils-a0225b92.js → input-utils-85681162.js} +0 -0
  1240. /package/lib/esm-es5/{is-internet-explorer-032d4dae.js → is-internet-explorer-2c48f686.js} +0 -0
  1241. /package/lib/esm-es5/{js-utils-a35dcc8c.js → js-utils-9b9e0039.js} +0 -0
  1242. /package/lib/esm-es5/{slot-query-7877f18f.js → slot-query-022710bb.js} +0 -0
  1243. /package/lib/esm-es5/{string-utils-59ad4cb2.js → string-utils-ca039233.js} +0 -0
  1244. /package/lib/esm-es5/{teleport-15747328.js → teleport-4462e8c1.js} +0 -0
  1245. /package/lib/esm-es5/{themeable-component-fdce4fd7.js → themeable-component-724c0f7e.js} +0 -0
  1246. /package/lib/esm-es5/{token-utils-46c8fe31.js → token-utils-b4bd3ec7.js} +0 -0
  1247. /package/lib/esm-es5/{watch-options-f189118b.js → watch-options-e96ecd92.js} +0 -0
@@ -1,24 +1,24 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { p as proxyCustomElement, H, c as createEvent$1, B as Build, h as h$1, d as Host, F as Fragment } from './p-7247d0b2.js';
4
+ import { p as proxyCustomElement, H, c as createEvent$1, B as Build, h as h$1, d as Host, F as Fragment } from './p-04a295c6.js';
5
5
  import { f as formSearch } from './p-d004da5f.js';
6
6
  import { a as media_query_large } from './p-64d43840.js';
7
7
  import { d as disableBodyScroll, e as enableBodyScroll } from './p-141e14d0.js';
8
- import { D as DuetStringsExternalDefaults } from './p-274d11e3.js';
9
- import { i as inheritGlobalTheme } from './p-d48735b6.js';
10
- import { b as isEscapeKey, g as isSpaceKey, h as isArrowLeftKey, e as isArrowUpKey, j as isArrowRightKey, f as isArrowDownKey } from './p-56ac3289.js';
11
- import { a as getLanguage, g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './p-4883df66.js';
12
- import { p as parsePossibleJSON } from './p-1a395a8d.js';
8
+ import { D as DuetStringsExternalDefaults } from './p-4ab776f4.js';
9
+ import { i as inheritGlobalTheme } from './p-a58bd561.js';
10
+ import { s as subscribeTabbingChange, u as unsubscribeTabbingChange, b as isEscapeKey, g as isSpaceKey, h as isArrowLeftKey, e as isArrowUpKey, j as isArrowRightKey, f as isArrowDownKey } from './p-8f253845.js';
11
+ import { a as getLanguage, g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './p-2e36d5bf.js';
12
+ import { p as parsePossibleJSON } from './p-0e052642.js';
13
13
  import { a as actionArrowDownSmall } from './p-115c79b6.js';
14
14
  import { h } from './p-62c7d9d4.js';
15
- import { d as defineCustomElement$8 } from './p-2b1a35cd.js';
16
- import { d as defineCustomElement$7 } from './p-9541f0b6.js';
17
- import { d as defineCustomElement$6 } from './p-180c0d2d.js';
18
- import { d as defineCustomElement$5 } from './p-80ec4336.js';
19
- import { d as defineCustomElement$4 } from './p-3ccd454b.js';
20
- import { d as defineCustomElement$3 } from './p-bcfb9e03.js';
21
- import { d as defineCustomElement$2 } from './p-62e68de8.js';
15
+ import { d as defineCustomElement$8 } from './p-1224c98d.js';
16
+ import { d as defineCustomElement$7 } from './p-1b2fea2b.js';
17
+ import { d as defineCustomElement$6 } from './p-65d472d7.js';
18
+ import { d as defineCustomElement$5 } from './p-5788a98f.js';
19
+ import { d as defineCustomElement$4 } from './p-e034dfea.js';
20
+ import { d as defineCustomElement$3 } from './p-24ae0332.js';
21
+ import { d as defineCustomElement$2 } from './p-68bd36c7.js';
22
22
 
23
23
  var navigationContactDropdown={"title":"navigation-contact-dropdown","tags":"navigation contact dropdown speech bubbles","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M20.247 24a.743.743 0 0 1-.53-.22l-4.28-4.28h-.439c-3.308 0-6-2.692-6-6s2.692-6 6-6h3c3.309.001 6 2.692 6 6a5.974 5.974 0 0 1-3 5.179v4.571a.75.75 0 0 1-.751.75zm-5.25-15c-2.481 0-4.5 2.019-4.5 4.5s2.019 4.5 4.5 4.5h.75c.198 0 .391.08.53.22l3.22 3.22v-3.213c0-.289.169-.555.429-.678a4.51 4.51 0 0 0 2.571-4.049 4.504 4.504 0 0 0-4.498-4.499h-3.002z\"/><path d=\"M3.747 16.5a.747.747 0 0 1-.75-.75v-4.57a5.967 5.967 0 0 1-2.65-3.171A5.948 5.948 0 0 1 .57 3.431 6.014 6.014 0 0 1 5.985 0h3.012a6.04 6.04 0 0 1 5.752 4.286.751.751 0 0 1-.718.964.755.755 0 0 1-.719-.536A4.531 4.531 0 0 0 8.997 1.5h-3a4.511 4.511 0 0 0-4.071 2.572c-.512 1.084-.571 2.302-.167 3.431s1.224 2.032 2.308 2.545c.261.123.43.39.43.678v3.214l1.72-1.72a.744.744 0 0 1 1.06 0 .752.752 0 0 1 0 1.061l-3 3a.744.744 0 0 1-.53.219z\"/></svg>"};
24
24
 
@@ -31,662 +31,664 @@ var navigationLogout={"title":"navigation-logout","tags":"navigation logout sign
31
31
  var navigationUser={"title":"navigation-user","tags":"navigation user human person head circle","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M12 15.75c-3.308 0-6-2.692-6-6s2.692-6 6-6 6 2.692 6 6-2.692 6-6 6zm0-10.5c-2.481 0-4.5 2.019-4.5 4.5s2.019 4.5 4.5 4.5 4.5-2.019 4.5-4.5-2.019-4.5-4.5-4.5z\"/><path d=\"M12 24c-2.677 0-5.211-.868-7.332-2.51a.507.507 0 0 1-.126-.099C1.655 19.094 0 15.674 0 12 0 5.383 5.383 0 12 0s12 5.383 12 12c0 3.674-1.655 7.094-4.543 9.391l-.015.016c-.043.043-.087.069-.112.084A11.868 11.868 0 0 1 12 24zm-5.716-3.199A10.408 10.408 0 0 0 12 22.5a10.41 10.41 0 0 0 5.717-1.699 8.966 8.966 0 0 0-5.716-2.045 8.965 8.965 0 0 0-5.717 2.045zM12 1.5C6.21 1.5 1.5 6.21 1.5 12c0 3.023 1.294 5.875 3.562 7.874A10.449 10.449 0 0 1 12 17.257c2.573 0 5.023.927 6.938 2.616 2.268-2 3.562-4.851 3.562-7.874C22.5 6.21 17.79 1.5 12 1.5z\"/></svg>"};
32
32
 
33
33
  const DuetHeaderIcon = (props, _children) => {
34
- const iconSize = props.iconSize ? props.iconSize : "x-small";
35
- return (h("span", { class: `duet-header-icon ${props.class ? props.class : ""}` },
36
- h("duet-icon", { margin: "none", size: iconSize, icon: props.icon, color: "currentColor" })));
34
+ const iconSize = props.iconSize ? props.iconSize : "x-small";
35
+ return (h("span", { class: `duet-header-icon ${props.class ? props.class : ""}` },
36
+ h("duet-icon", { margin: "none", size: iconSize, icon: props.icon, color: "currentColor" })));
37
37
  };
38
38
 
39
39
  const DuetHeaderDropdown = (props, _children) => {
40
- const accessibleLabel = props.accessibleText ? props.accessibleText : props.label;
41
- return (h("div", { class: { ["duet-header-dropdown"]: true, [props.className]: !!props.className } },
42
- h("button", { ref: props.toggleRef, "aria-haspopup": "listbox", "aria-controls": props.id, "aria-expanded": props.isOpen ? "true" : "false", "aria-labelledby": `${props.id}-accessible-label`, id: `${props.id}-button`, type: "button", class: {
43
- [props.id]: true,
44
- "duet-header-dropdown-toggle": true,
45
- "duet-header-button": true,
46
- active: props.active,
47
- open: props.isOpen,
48
- }, onClick: props.onToggle },
49
- props.icon && h(DuetHeaderIcon, { icon: props.icon }),
50
- h("span", { "aria-hidden": "true", id: `${props.id}-label`, class: "duet-header-dropdown-label" }, props.label),
51
- props.badge && h("div", { class: "duet-header-badge" }),
52
- h("div", { class: "duet-header-caret", "aria-hidden": "true" },
53
- h("duet-icon", { margin: "none", size: "auto", icon: actionArrowDownSmall.svg, color: "currentColor" })),
54
- h("duet-visually-hidden", { id: `${props.id}-accessible-label` }, accessibleLabel)),
55
- h("div", { ref: props.itemsRef, tabindex: "-1", role: "menu", id: props.id, "aria-labelledby": `${props.id}-button`, class: {
56
- "duet-header-dropdown-content": true,
57
- [`${props.id}-items`]: true,
58
- active: props.isOpen,
59
- } }, _children)));
40
+ const accessibleLabel = props.accessibleText ? props.accessibleText : props.label;
41
+ return (h("div", { class: { ["duet-header-dropdown"]: true, [props.className]: !!props.className } },
42
+ h("button", { ref: props.toggleRef, "aria-haspopup": "listbox", "aria-controls": props.id, "aria-expanded": props.isOpen ? "true" : "false", "aria-labelledby": `${props.id}-accessible-label`, id: `${props.id}-button`, type: "button", class: {
43
+ [props.id]: true,
44
+ "duet-header-dropdown-toggle": true,
45
+ "duet-header-button": true,
46
+ active: props.active,
47
+ open: props.isOpen,
48
+ }, onClick: props.onToggle },
49
+ props.icon && h(DuetHeaderIcon, { icon: props.icon }),
50
+ h("span", { "aria-hidden": "true", id: `${props.id}-label`, class: "duet-header-dropdown-label" }, props.label),
51
+ props.badge && h("div", { class: "duet-header-badge" }),
52
+ h("div", { class: "duet-header-caret", "aria-hidden": "true" },
53
+ h("duet-icon", { margin: "none", size: "auto", icon: actionArrowDownSmall.svg, color: "currentColor" })),
54
+ h("duet-visually-hidden", { id: `${props.id}-accessible-label` }, accessibleLabel)),
55
+ h("div", { ref: props.itemsRef, tabindex: "-1", role: "menu", id: props.id, "aria-labelledby": `${props.id}-button`, class: {
56
+ "duet-header-dropdown-content": true,
57
+ [`${props.id}-items`]: true,
58
+ active: props.isOpen,
59
+ } }, _children)));
60
60
  };
61
61
 
62
62
  const DuetHeaderHamburger = () => (h("div", { class: "duet-header-hamburger" },
63
- h("span", { class: "duet-header-bar" }),
64
- h("span", { class: "duet-header-bar" }),
65
- h("span", { class: "duet-header-bar" }),
66
- h("span", { class: "duet-header-bar" })));
63
+ h("span", { class: "duet-header-bar" }),
64
+ h("span", { class: "duet-header-bar" }),
65
+ h("span", { class: "duet-header-bar" }),
66
+ h("span", { class: "duet-header-bar" })));
67
67
 
68
68
  const duetHeaderCss = "*,*::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%}@supports (position: -webkit-sticky){:host{position:-webkit-sticky;top:-4rem;z-index:400}}@supports (position: sticky){:host{position:sticky;top:-4rem;z-index:400}}@supports (position: -webkit-sticky){:host(.duet-header-multi-level-variation){top:0}}@supports (position: sticky){:host(.duet-header-multi-level-variation){top:0}}.duet-header-reserved-space{height:4rem}@media (min-width: 62em){.duet-header-reserved-space.duet-with-links{height:7rem}}.duet-header{-webkit-user-select:none;user-select:none;position:fixed;top:0;left:0;z-index:400;display:block;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:0.875rem;font-weight:400;line-height:1.5;color:rgb(0, 41, 77);text-align:left}.duet-header.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)}@media (min-width: 62em){.duet-header.duet-theme-turva{box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}}@media (min-width: 62em){.duet-header{position:absolute;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}.duet-header.duet-header-inactive{position:fixed}}.duet-header *{-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}.duet-header-top{position:relative;z-index:200;display:flex;flex-direction:row;align-items:center;width:100%;height:4rem;padding:0 16px;background:rgb(255, 255, 255);border-bottom:1px solid rgb(225, 227, 230);box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}@media (min-width: 62em){.duet-header-top{z-index:100;padding:0 28px;box-shadow:none}.duet-header-top duet-logo{padding-right:4px}}@media (min-width: 106.25em){.duet-header-top{padding:0 48px}}.duet-theme-turva .duet-header-top{border-color:rgb(228, 228, 230);box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}@media (min-width: 62em){.duet-theme-turva .duet-header-top{box-shadow:none}}.duet-theme-turva .duet-header-top duet-logo{left:-80px !important;margin-top:-8px !important}.duet-header-top .duet-header-region{max-width:200px;padding-left:16px;margin-top:1px;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:1px solid rgb(207, 210, 212)}.duet-theme-turva .duet-header-top .duet-header-region{border-color:rgb(207, 207, 209)}@media (max-width: 35.9375em){.duet-header-top .duet-header-region{display:none}}@media (min-width: 62em){.duet-header-top .duet-header-region{padding-left:19px}}.duet-header-bottom{position:fixed;top:4rem;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;width:100%;overflow-y:auto;visibility:hidden;background:rgb(243, 249, 252);opacity:0;-webkit-overflow-scrolling:touch}.duet-theme-turva .duet-header-bottom{background:rgb(245, 245, 247)}@media (min-width: 62em){.duet-header-bottom{position:relative;top:auto;bottom:auto;z-index:200;flex-direction:row;overflow:visible;visibility:visible;background:rgb(255, 255, 255);opacity:1}.duet-header-bottom.duet-header-inactive{position:relative}}.duet-header-bottom.active{visibility:visible;opacity:1;transition:opacity 300ms ease, visibility 300ms ease}@media (min-width: 62em){.duet-header-bottom{position:relative;transition:none !important}}.duet-header-items,.duet-header-bottom-utils,.duet-header-utils{opacity:0;transition:transform 600ms ease, opacity 600ms ease;transform:translateY(-28px)}@media (min-width: 62em){.duet-header-items,.duet-header-bottom-utils,.duet-header-utils{opacity:1;transition:none !important;transform:none}}.active .duet-header-items,.active .duet-header-bottom-utils,.active .duet-header-utils{opacity:1;transform:translateY(0)}.duet-header-items{position:relative;z-index:300;display:block;width:100%;font-size:1rem;font-weight:400;line-height:1.5;background:rgb(255, 255, 255)}@media (min-width: 62em){.duet-header-items{z-index:100;display:flex;flex-direction:row;padding:0 21.5384615385px}}@media (min-width: 106.25em){.duet-header-items{padding-left:43.6363636364px}}.duet-header-items .duet-header-item-container{border-bottom:1px solid rgb(225, 227, 230);border-radius:0}@media (min-width: 62em){.duet-header-items .duet-header-item-container{border:0}}.duet-header-items .duet-header-second-level .duet-header-item{padding:0 40px;border:0}.duet-header-items .duet-header-second-level .duet-header-button{border:0}.duet-header-items .duet-header-second-level .duet-header-dropdown-content{padding:0;border:0}.duet-header-items .duet-header-third-level .duet-header-item{padding:0 75px}.duet-header-items .duet-header-item{position:relative;display:flex;align-items:center;width:100%;padding:0 20px;overflow:hidden;font-size:1rem;line-height:48px;color:rgb(0, 41, 77);text-decoration:none;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 62em){.duet-header-items .duet-header-item{font-weight:600;border-radius:4px}}.duet-theme-turva .duet-header-items .duet-header-item{color:rgb(23, 28, 58);border-color:rgb(225, 227, 230)}.duet-header-items .duet-header-item:hover{color:rgb(0, 77, 128)}.duet-theme-turva .duet-header-items .duet-header-item:hover{color:rgb(68, 68, 69)}.duet-header-items .duet-header-item:focus{outline:0}:host(.user-is-tabbing) .duet-header-items .duet-header-item:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-items .duet-header-item:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){.duet-header-items .duet-header-item{width:auto;max-width:300px;padding:0 12px;overflow:hidden;font-size:0.875rem;text-overflow:ellipsis;border:0}}.duet-header-items .duet-header-item.active{color:rgb(0, 119, 179)}.duet-theme-turva .duet-header-items .duet-header-item.active{color:rgb(198, 12, 48)}.duet-header-items .duet-header-item.active:hover{color:rgb(0, 119, 179)}.duet-theme-turva .duet-header-items .duet-header-item.active:hover{color:rgb(198, 12, 48)}.duet-header-items .duet-header-item.active::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:rgb(0, 119, 179)}.duet-theme-turva .duet-header-items .duet-header-item.active::after{background:rgb(198, 12, 48)}@media (min-width: 62em){.duet-header-items .duet-header-item.active::after{top:auto;left:12px;width:calc(100% - 24px);height:3px}}.duet-header-toggle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-right:-8px;margin-left:auto;cursor:pointer;border-radius:4px;-webkit-appearance:none;appearance:none}.duet-header-toggle:focus{outline:0}:host(.user-is-tabbing) .duet-header-toggle:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-toggle:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){.duet-header-toggle{display:none}}.duet-header-hamburger{position:relative;width:24px;height:24px;margin-top:5px !important;pointer-events:none;transition:0.4s ease-in-out;backface-visibility:hidden}.duet-header-hamburger .duet-header-bar{position:absolute;left:0;display:block;width:100%;height:2px;background:rgb(0, 41, 77);border-radius:20rem;opacity:1;transition:0.25s ease-in-out;transform:rotate(0deg) scale(0.98)}.duet-theme-turva .duet-header-hamburger .duet-header-bar{background:rgb(23, 28, 58)}.duet-header-hamburger .duet-header-bar:nth-child(1){top:0}.duet-header-hamburger .duet-header-bar:nth-child(2),.duet-header-hamburger .duet-header-bar:nth-child(3){top:7px}.duet-header-hamburger .duet-header-bar:nth-child(4){top:14px}button.active .duet-header-hamburger .duet-header-bar:nth-child(1){top:7px;left:50%;width:0%}button.active .duet-header-hamburger .duet-header-bar:nth-child(2){transform:rotate(45deg)}button.active .duet-header-hamburger .duet-header-bar:nth-child(3){transform:rotate(-45deg)}button.active .duet-header-hamburger .duet-header-bar:nth-child(4){top:7px;left:50%;width:0%}.duet-header-utils{display:flex;flex-direction:column;width:100%}@media (min-width: 62em){.duet-header-utils{position:absolute;top:-4rem;right:0;z-index:999999999;flex-direction:row;align-items:center;justify-content:space-between;width:auto;margin-right:20px}}@media (min-width: 106.25em){.duet-header-utils{margin-right:36px}}@media (min-width: 62em){.duet-header-bottom-utils{position:absolute;top:0;right:0;z-index:999999999;margin-right:20px}}@media (min-width: 106.25em){.duet-header-bottom-utils{margin-right:36px}}button{font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-header-button{position:relative;display:flex;align-items:center;width:100%;height:48px;padding:0 20px;overflow:hidden;font-size:1rem;font-weight:400;line-height:48px;color:rgb(0, 41, 77);text-align:left;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-bottom:1px solid rgb(225, 227, 230);border-radius:4px;-webkit-appearance:none;appearance:none}.duet-theme-turva .duet-header-button{color:rgb(23, 28, 58);border-color:rgb(228, 228, 230)}.duet-header-button:hover{color:rgb(0, 77, 128)}.duet-theme-turva .duet-header-button:hover{color:rgb(148, 9, 37)}.duet-header-button:focus{outline:0}:host(.user-is-tabbing) .duet-header-button:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-header-button:active{opacity:0.75}@media (min-width: 62em){.duet-header-button{width:auto;max-width:200px;height:4rem;padding:0 16px;font-size:0.875rem;line-height:4rem;border:0}.duet-header-button::before{position:absolute;top:50%;right:0;width:1px;height:20px;content:\"\";background:rgb(207, 210, 212);transform:translateY(-50%)}.duet-theme-turva .duet-header-button::before{background:rgb(207, 207, 209)}}.duet-header-button.active{color:rgb(0, 119, 179);border-radius:0}.duet-theme-turva .duet-header-button.active{color:rgb(198, 12, 48)}.duet-header-button.active:hover{color:rgb(0, 119, 179)}.duet-theme-turva .duet-header-button.active:hover{color:rgb(198, 12, 48)}@media (min-width: 62em){.duet-header-button.active::after{position:absolute;top:0;bottom:0;left:0;width:3px;content:\"\";background:rgb(0, 119, 179)}.duet-theme-turva .duet-header-button.active::after{color:rgb(198, 12, 48)}}.duet-header-button.duet-header-logout .duet-header-icon.mobile{display:block}.duet-header-button.duet-header-logout .duet-header-icon.desktop{display:none}@media (min-width: 62em){.duet-header-button.duet-header-logout .duet-header-icon.mobile{display:none}.duet-header-button.duet-header-logout .duet-header-icon.desktop{display:block}}.duet-header-utils .duet-header-button.duet-header-logout{align-self:center;justify-content:center;width:auto;height:2.5rem;margin:2.25rem 0;font-weight:600;border:2px solid rgb(0, 41, 77);border-radius:20rem}.duet-theme-turva .duet-header-utils .duet-header-button.duet-header-logout{border-color:rgb(23, 28, 58)}.duet-header-utils .duet-header-button.duet-header-logout .duet-header-icon{margin-right:0.5rem}.duet-header-utils .duet-header-button.duet-header-logout .duet-header-button-label{font-size:0.875rem}@media (min-width: 62em){.duet-header-utils .duet-header-button.duet-header-logout{height:4rem;margin:0;font-weight:400;border:0}.duet-header-utils .duet-header-button.duet-header-logout .duet-header-icon{margin-right:0.75rem}}.duet-header-no-action{pointer-events:none}.duet-header-user-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 62em){.duet-header-utils>*:last-child::before,.duet-header-utils>*:last-child button::before{display:none}}@media (min-width: 62em){.duet-header-utils>*:last-child .duet-header-dropdown-content{right:0;left:auto}}.duet-header-language{text-transform:uppercase}.duet-header-language.active,.duet-header-language.active:hover,.duet-header-contact.active,.duet-header-contact.active:hover{color:inherit}.duet-theme-turva .duet-header-language.active,.duet-theme-turva .duet-header-language.active:hover,.duet-theme-turva .duet-header-contact.active,.duet-theme-turva .duet-header-contact.active:hover{color:inherit}.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active:hover::after,.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active:hover::after{width:0}@media (min-width: 62em){.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active:hover::after,.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active:hover::after{width:100%}}.duet-header-icon{display:inline-flex;min-width:12px;margin-right:12px;font-size:0;line-height:normal;vertical-align:baseline}@media (min-width: 62em){.duet-header-icon{margin-right:8px}}.duet-header-caret{position:absolute;top:50%;right:20px;display:flex;width:10px;height:10px;margin-left:8px;line-height:normal;pointer-events:none;transition:300ms ease;transform:translateY(-50%);transform-origin:50% 50%}@media (min-width: 62em){.duet-header-caret{width:7px;height:7px}}.duet-header-caret duet-icon{width:10px}.duet-header-dropdown-toggle.active .duet-header-caret{transform:translateY(-50%) rotate(180deg)}.duet-header-dropdown-toggle:focus{outline:0}:host(.user-is-tabbing) .duet-header-dropdown-toggle:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-dropdown-toggle:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-header-dropdown-toggle:active{outline:none}.duet-header-badge{display:inline-block;width:6px;height:6px;margin-top:-1rem;margin-left:5px;vertical-align:top;background:rgb(247, 178, 40);border-radius:50%;box-shadow:0 0 0 1px #c18b1f}.duet-theme-turva .duet-header-badge{background:rgb(250, 164, 15)}.active-bar{color:rgb(0, 119, 179)}.active-bar::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:rgb(0, 119, 179)}.duet-theme-turva .active-bar::after{background:rgb(198, 12, 48)}.duet-header-dropdown{position:relative}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-toggle{z-index:200;padding-right:36px;overflow:hidden;transition:border 300ms ease}}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-toggle::after{position:absolute;top:auto;bottom:0;left:0;display:block !important;width:100%;height:3px !important;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(3px)}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle::after{background:rgb(198, 12, 48)}}.duet-header-dropdown .duet-header-dropdown-toggle.active,.duet-header-dropdown .duet-header-dropdown-toggle.active:hover{border-bottom:1px solid rgb(245, 248, 250)}.duet-header-dropdown .duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:rgb(0, 119, 179)}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active::after,.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after{background:rgb(198, 12, 48)}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active,.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover{border-color:rgb(245, 245, 247)}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-toggle.active,.duet-header-dropdown .duet-header-dropdown-toggle.active:hover{color:rgb(0, 77, 128);border:0}.duet-header-dropdown .duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after{position:absolute;top:auto;bottom:0;left:0;width:100%;height:3px;transform:translateY(0)}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active,.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover{color:rgb(148, 9, 37)}}@media (min-width: 62em){.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.duet-header-session{color:rgb(255, 255, 255);background:rgb(198, 12, 48);border-radius:0}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.duet-header-session:hover,.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.duet-header-session.active,.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.duet-header-session.active:hover{color:rgb(255, 255, 255);background:rgb(148, 9, 37)}}.duet-header-dropdown .duet-header-dropdown-content{display:none;padding-bottom:16px;background:rgb(243, 249, 252);border-bottom:1px solid rgb(225, 227, 230)}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content{background:rgb(245, 245, 247);border-color:rgb(225, 227, 230)}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content{position:absolute;top:100%;left:0;z-index:600;display:block;min-width:150px;padding-top:16px;padding-left:0;visibility:hidden;border:0;border-radius:4px;border-top-left-radius:0;border-top-right-radius:0;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);opacity:0;transition:300ms ease;transform:scale(0.85) translateZ(0) translateY(-20px)}.duet-header-dropdown .duet-header-dropdown-content.duet-header-session-items{right:0%;left:auto;min-width:225px}.duet-header-dropdown .duet-header-dropdown-content.duet-header-session-items .duet-header-session-label{padding:0 20px;font-weight:600}}@media (min-width: 64.0625em){.duet-header-dropdown .duet-header-dropdown-content{min-width:170px}.duet-header-dropdown .duet-header-dropdown-content.duet-header-session-items{min-width:225px}}.duet-header-dropdown .duet-header-dropdown-content.active{display:block}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content.active{visibility:visible;opacity:1;transform:translateZ(0) translateY(0)}}.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item){padding:3px 8px 4px !important;position:relative;display:block;width:100%;padding-right:16px;padding-left:48px !important;overflow:hidden;font-size:0.875rem;font-weight:400;line-height:1.5;color:rgb(0, 41, 77);text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;transition:300ms ease}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item){color:rgb(23, 28, 58)}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item){padding-right:20px !important;padding-left:20px !important}}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):hover{background:rgb(230, 242, 248)}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):hover{background:rgb(228, 228, 230)}}.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus{outline:0}:host(.user-is-tabbing) .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active{padding-right:36px;font-weight:600;vertical-align:baseline}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active{font-weight:700}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active{color:rgb(255, 255, 255);background:rgb(0, 119, 179)}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active{background:rgb(198, 12, 48)}}.duet-header-dropdown .duet-header-dropdown-content .duet-header-link-external{margin-left:4px}.duet-header-back .duet-header-top{flex-direction:row;align-items:center;justify-content:center}.duet-header-back duet-button{position:absolute;top:50%;left:36px;transform:translateY(-50%)}@media (max-width: 35.9375em){.duet-header-back duet-button{left:20px;max-width:40px;padding:0 12px;overflow:hidden}}.duet-header-back .duet-header-toggle{display:none !important}.duet-header-skip{padding:15px 28px 16px !important;position:absolute;top:-100%;left:-100%;z-index:200;width:1px;min-width:190px;height:1px;overflow:hidden;font-weight:600;color:rgb(0, 119, 179);text-align:center;text-decoration:none;background:rgb(255, 255, 255);border-radius:4px;opacity:0}.duet-header-skip:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-header-skip:focus,.duet-header-skip:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-theme-turva .duet-header-skip{min-width:120px;color:rgb(23, 28, 58)}@media (min-width: 106.25em){.duet-header-skip{margin-left:20px}}.duet-header-skip:focus{top:12px;left:20px;width:auto;height:auto;outline:0;opacity:1}@media (min-width: 62em){.duet-header-items-have-sub-items{display:none}}.duet-header-multi-level{display:none;height:6rem}@media (min-width: 62em){.duet-header-multi-level{display:block}}.duet-header-multi-level .duet-header-top{justify-content:space-between;height:6rem}.duet-header-multi-level .duet-header-button{height:6rem}.duet-header-multi-level .logo-and-segment{display:flex;flex-basis:0;flex-direction:column;flex-grow:1;padding-top:1rem}.duet-header-multi-level .logo-and-segment .duet-header-dropdown{z-index:400;margin-left:2rem}.duet-header-multi-level .logo-and-segment .duet-header-dropdown .duet-header-dropdown-content{background:rgb(243, 249, 252)}.duet-header-multi-level .logo-and-segment button{align-items:flex-start;height:2rem;font-weight:600;line-height:1rem}.duet-header-multi-level .logo-and-segment button::before{display:none}.duet-header-multi-level .logo-and-segment .duet-header-caret{top:25%}.duet-header-multi-level-nav{display:flex}.duet-header-multi-level-nav .duet-header-dropdown{position:static}.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-toggle{z-index:400;padding-right:1rem;font-size:1rem;font-weight:600}.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-toggle.active{color:rgb(0, 119, 179)}.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-toggle.active:not(.open) .duet-header-caret{transform:translateY(-50%) rotate(0deg)}.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content{z-index:399;display:flex;justify-content:center;width:100%;height:4.5rem;padding:0;background:rgb(243, 249, 252);border-top:1px solid rgb(225, 227, 230);border-bottom:1px solid rgb(225, 227, 230);box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07);transition:none}.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;min-width:6rem;height:100%;padding:0 1rem !important;font-weight:600}.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a::after{position:absolute;top:auto;bottom:0;left:0;display:block !important;width:100%;height:3px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(3px)}.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a.active{font-weight:600;color:rgb(0, 119, 179);background:none}.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a.active::after{transform:translateY(0)}.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a .duet-header-icon{margin:0}.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content .duet-header-badge{position:absolute;margin-top:-2rem;margin-right:-2.25rem}.duet-header-multi-level-nav button::before{display:none}.duet-header-multi-level-nav .duet-header-caret{right:1%}.duet-header-multi-level-utils{display:flex;flex-basis:0;flex-grow:1;justify-content:flex-end}.duet-header-multi-level-utils>:last-child::before{display:none}.duet-header-multi-level-utils>:last-child.duet-header-dropdown .duet-header-button::before{display:none}.duet-header-multi-level-utils .duet-header-dropdown{z-index:400}.duet-header-multi-level-utils .duet-header-dropdown .duet-header-dropdown-content{background:rgb(243, 249, 252)}.duet-header-multi-level-utils .duet-header-button-label,.duet-header-multi-level-utils .duet-header-dropdown-label{display:none}@media (min-width: 64.0625em){.duet-header-multi-level-utils .duet-header-button-label,.duet-header-multi-level-utils .duet-header-dropdown-label{display:initial}}.duet-header-multi-level .duet-theme-turva .logo-and-segment .duet-header-dropdown{margin-left:0}.duet-header-multi-level .duet-theme-turva .logo-and-segment .duet-header-dropdown-toggle{padding-left:0.5rem}.duet-header-multi-level .duet-theme-turva .logo-and-segment .duet-header-dropdown .duet-header-dropdown-content{background:rgb(245, 245, 247)}.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-utils>:nth-last-child(2).duet-header-dropdown .duet-header-button::before{display:none}.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-toggle.active{color:rgb(198, 12, 48)}.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content{background:rgb(245, 245, 247);border-color:rgb(228, 228, 230)}.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a::after{background:rgb(198, 12, 48)}.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a.active{color:rgb(198, 12, 48);background:none}.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-utils .duet-header-dropdown .duet-header-dropdown-content{background:rgb(245, 245, 247)}";
69
69
 
70
70
  const createEvent = (ev, data) => ({
71
- component: "duet-header",
72
- data,
73
- originalEvent: ev,
71
+ component: "duet-header",
72
+ data,
73
+ originalEvent: ev,
74
74
  });
75
75
  const DuetHeader$1 = /*@__PURE__*/ proxyCustomElement(class DuetHeader extends H {
76
- constructor() {
77
- super();
78
- this.__registerHost();
79
- this.__attachShadow();
80
- this.duetChange = createEvent$1(this, "duetChange", 3);
81
- this.duetSessionClick = createEvent$1(this, "duetSessionClick", 7);
82
- this.duetSearchClick = createEvent$1(this, "duetSearchClick", 7);
83
- this.duetUserClick = createEvent$1(this, "duetUserClick", 7);
84
- this.duetLanguageSelect = createEvent$1(this, "duetLanguageSelect", 7);
85
- this.duetLogoClick = createEvent$1(this, "duetLogoClick", 7);
86
- this.duetBackClick = createEvent$1(this, "duetBackClick", 7);
87
- this.duetContactClick = createEvent$1(this, "duetContactClick", 7);
88
- this.duetItemClick = createEvent$1(this, "duetItemClick", 7);
89
- this.duetSkipClick = createEvent$1(this, "duetSkipClick", 7);
90
- this.duetAnalytics = createEvent$1(this, "duetAnalytics", 7);
91
- this.duetMobileNavToggle = createEvent$1(this, "duetMobileNavToggle", 7);
92
- this.duetEvent = createEvent$1(this, "duetEvent", 7);
93
- var _a;
94
- /**
95
- * Own Properties
96
- */
97
- this.subMenuItemRefs = {};
98
- this.subMenuButtonRefs = {};
99
- this.hasLanguageChanged = false;
100
- this.mql = [window.matchMedia(media_query_large.replace(/'/g, ""))];
101
- this.boundMqlFunctions = [];
102
- this.handleClick = (event, moveFocusToButton = false) => {
103
- if (event.data.analyticsId) {
104
- this.duetAnalytics.emit({
105
- component: "duet-header",
106
- analyticsId: event.data.analyticsId,
107
- });
108
- }
109
- this.duetChange.emit(event);
110
- this.closeMenus(moveFocusToButton);
111
- this.closeMobileNavigation(moveFocusToButton);
112
- };
113
- this.handleSessionClick = (ev) => {
114
- const e = createEvent(ev, this.processedSession);
115
- this.handleClick(e);
116
- this.duetSessionClick.emit(e);
117
- };
118
- this.handleSessionItemClick = (ev, item) => {
119
- const e = createEvent(ev, item);
120
- this.handleClick(e);
121
- this.duetSessionClick.emit(e);
122
- };
123
- this.handleSearchClick = (ev) => {
124
- const e = createEvent(ev, this.processedSearch);
125
- this.handleClick(e);
126
- this.duetSearchClick.emit(e);
127
- };
128
- this.handleUserClick = (ev) => {
129
- const e = createEvent(ev, this.processedUser);
130
- this.handleClick(e);
131
- this.duetUserClick.emit(e);
132
- };
133
- this.handleBackClick = (ev) => {
134
- const e = createEvent(ev, this.processedBack);
135
- this.handleClick(e);
136
- this.duetBackClick.emit(e);
137
- };
138
- this.handleSkipClick = (ev) => {
139
- const { skipLabel } = this.accessibleI18nLabels;
140
- const e = createEvent(ev, { href: this.skipToId, label: skipLabel });
141
- this.handleClick(e);
142
- this.duetSkipClick.emit(e);
143
- };
144
- this.handleLogoClick = (ev) => {
145
- const e = createEvent(ev, { href: this.logoHref, label: "logo" });
146
- this.handleClick(e);
147
- this.duetLogoClick.emit(e);
148
- };
149
- this.handleArrowKeys = ev => {
150
- let button;
151
- if (isArrowLeftKey(ev) || isArrowUpKey(ev)) {
152
- button = ev.target.previousElementSibling;
153
- }
154
- else if (isArrowRightKey(ev) || isArrowDownKey(ev)) {
155
- button = ev.target.nextElementSibling;
156
- }
157
- if (button) {
158
- ev.preventDefault();
159
- button.focus();
160
- }
161
- };
162
- this.toggleMenu = (ev, type, id, active) => {
163
- let el;
164
- ev.preventDefault();
165
- ev.stopPropagation();
166
- if (active === true && !this.openMenu) {
167
- const closedActives = this.closedActives ? [...this.closedActives] : [];
168
- const index = closedActives.findIndex(i => i === id);
169
- if (index > -1) {
170
- closedActives.splice(index, 1);
171
- this.closedActives = [...closedActives];
172
- }
173
- else {
174
- this.closedActives = [...closedActives, id];
175
- }
176
- }
177
- else {
178
- this.openMenu = this.openMenu === id ? null : id;
179
- }
180
- // For language menu
181
- if (type === "language") {
182
- this.isContactOpen = false;
183
- this.isLanguageOpen = !this.isLanguageOpen;
184
- this.isSegmentOpen = false;
185
- this.isSessionOpen = false;
186
- el = this.languageItemsEl;
187
- }
188
- // For session menu
189
- if (type === "session") {
76
+ constructor() {
77
+ super();
78
+ this.__registerHost();
79
+ this.__attachShadow();
80
+ this.duetChange = createEvent$1(this, "duetChange", 3);
81
+ this.duetSessionClick = createEvent$1(this, "duetSessionClick", 7);
82
+ this.duetSearchClick = createEvent$1(this, "duetSearchClick", 7);
83
+ this.duetUserClick = createEvent$1(this, "duetUserClick", 7);
84
+ this.duetLanguageSelect = createEvent$1(this, "duetLanguageSelect", 7);
85
+ this.duetLogoClick = createEvent$1(this, "duetLogoClick", 7);
86
+ this.duetBackClick = createEvent$1(this, "duetBackClick", 7);
87
+ this.duetContactClick = createEvent$1(this, "duetContactClick", 7);
88
+ this.duetItemClick = createEvent$1(this, "duetItemClick", 7);
89
+ this.duetSkipClick = createEvent$1(this, "duetSkipClick", 7);
90
+ this.duetAnalytics = createEvent$1(this, "duetAnalytics", 7);
91
+ this.duetMobileNavToggle = createEvent$1(this, "duetMobileNavToggle", 7);
92
+ this.duetEvent = createEvent$1(this, "duetEvent", 7);
93
+ var _a;
94
+ /**
95
+ * Own Properties
96
+ */
97
+ this.subMenuItemRefs = {};
98
+ this.subMenuButtonRefs = {};
99
+ this.hasLanguageChanged = false;
100
+ this.mql = [window.matchMedia(media_query_large.replace(/'/g, ""))];
101
+ this.boundMqlFunctions = [];
102
+ this.handleClick = (event, moveFocusToButton = false) => {
103
+ if (event.data.analyticsId) {
104
+ this.duetAnalytics.emit({
105
+ component: "duet-header",
106
+ analyticsId: event.data.analyticsId,
107
+ });
108
+ }
109
+ this.duetChange.emit(event);
110
+ this.closeMenus(moveFocusToButton);
111
+ this.closeMobileNavigation(moveFocusToButton);
112
+ };
113
+ this.handleSessionClick = (ev) => {
114
+ const e = createEvent(ev, this.processedSession);
115
+ this.handleClick(e);
116
+ this.duetSessionClick.emit(e);
117
+ };
118
+ this.handleSessionItemClick = (ev, item) => {
119
+ const e = createEvent(ev, item);
120
+ this.handleClick(e);
121
+ this.duetSessionClick.emit(e);
122
+ };
123
+ this.handleSearchClick = (ev) => {
124
+ const e = createEvent(ev, this.processedSearch);
125
+ this.handleClick(e);
126
+ this.duetSearchClick.emit(e);
127
+ };
128
+ this.handleUserClick = (ev) => {
129
+ const e = createEvent(ev, this.processedUser);
130
+ this.handleClick(e);
131
+ this.duetUserClick.emit(e);
132
+ };
133
+ this.handleBackClick = (ev) => {
134
+ const e = createEvent(ev, this.processedBack);
135
+ this.handleClick(e);
136
+ this.duetBackClick.emit(e);
137
+ };
138
+ this.handleSkipClick = (ev) => {
139
+ const { skipLabel } = this.accessibleI18nLabels;
140
+ const e = createEvent(ev, { href: this.skipToId, label: skipLabel });
141
+ this.handleClick(e);
142
+ this.duetSkipClick.emit(e);
143
+ };
144
+ this.handleLogoClick = (ev) => {
145
+ const e = createEvent(ev, { href: this.logoHref, label: "logo" });
146
+ this.handleClick(e);
147
+ this.duetLogoClick.emit(e);
148
+ };
149
+ this.handleArrowKeys = ev => {
150
+ let button;
151
+ if (isArrowLeftKey(ev) || isArrowUpKey(ev)) {
152
+ button = ev.target.previousElementSibling;
153
+ }
154
+ else if (isArrowRightKey(ev) || isArrowDownKey(ev)) {
155
+ button = ev.target.nextElementSibling;
156
+ }
157
+ if (button) {
158
+ ev.preventDefault();
159
+ button.focus();
160
+ }
161
+ };
162
+ this.toggleMenu = (ev, type, id, active) => {
163
+ let el;
164
+ ev.preventDefault();
165
+ ev.stopPropagation();
166
+ if (active === true && !this.openMenu) {
167
+ const closedActives = this.closedActives ? [...this.closedActives] : [];
168
+ const index = closedActives.findIndex(i => i === id);
169
+ if (index > -1) {
170
+ closedActives.splice(index, 1);
171
+ this.closedActives = [...closedActives];
172
+ }
173
+ else {
174
+ this.closedActives = [...closedActives, id];
175
+ }
176
+ }
177
+ else {
178
+ this.openMenu = this.openMenu === id ? null : id;
179
+ }
180
+ // For language menu
181
+ if (type === "language") {
182
+ this.isContactOpen = false;
183
+ this.isLanguageOpen = !this.isLanguageOpen;
184
+ this.isSegmentOpen = false;
185
+ this.isSessionOpen = false;
186
+ el = this.languageItemsEl;
187
+ }
188
+ // For session menu
189
+ if (type === "session") {
190
+ this.isContactOpen = false;
191
+ this.isLanguageOpen = false;
192
+ this.isSegmentOpen = false;
193
+ this.isSessionOpen = !this.isSessionOpen;
194
+ el = this.sessionItemsEl;
195
+ }
196
+ // For contact menu
197
+ else if (type === "contact") {
198
+ this.isLanguageOpen = false;
199
+ this.isContactOpen = !this.isContactOpen;
200
+ this.isSegmentOpen = false;
201
+ this.isSessionOpen = false;
202
+ el = this.contactItemsEl;
203
+ }
204
+ // For mobile menu
205
+ else if (type === "mobile") {
206
+ this.isContactOpen = false;
207
+ this.isLanguageOpen = false;
208
+ this.isSegmentOpen = false;
209
+ this.isSessionOpen = false;
210
+ el = this.navigationEl;
211
+ const toggle = !this.isSlideOutOpen;
212
+ this.isSlideOutOpen = toggle;
213
+ this.duetMobileNavToggle.emit({ originalEvent: ev, open: toggle });
214
+ if (this.isSlideOutOpen) {
215
+ disableBodyScroll(this.navigationEl, { reserveScrollBarGap: true });
216
+ }
217
+ else {
218
+ enableBodyScroll(this.navigationEl);
219
+ }
220
+ }
221
+ else if (type === "sub") {
222
+ this.isContactOpen = false;
223
+ this.isLanguageOpen = false;
224
+ this.isSegmentOpen = false;
225
+ this.isSessionOpen = false;
226
+ el = this.subMenuItemRefs[id];
227
+ }
228
+ else if (type === "segment") {
229
+ this.isContactOpen = false;
230
+ this.isLanguageOpen = false;
231
+ this.isSessionOpen = false;
232
+ this.isSegmentOpen = !this.isSegmentOpen;
233
+ el = this.segmentItemsEl;
234
+ }
235
+ if (this.isSlideOutOpen ||
236
+ this.isLanguageOpen ||
237
+ this.isContactOpen ||
238
+ this.isSegmentOpen ||
239
+ this.isSessionOpen ||
240
+ this.openMenu) {
241
+ const drawer = this.element.querySelector("duet-notification-drawer");
242
+ if (drawer) {
243
+ drawer.close(false);
244
+ }
245
+ // Focus in the new menu when opened to make them more accessible
246
+ setTimeout(() => {
247
+ el.querySelector("a").focus();
248
+ }, 300);
249
+ }
250
+ };
251
+ this.emitDuetEvent = (ev, data) => {
252
+ this.duetEvent.emit({
253
+ component: "duet-header",
254
+ data,
255
+ originalEvent: ev,
256
+ });
257
+ };
190
258
  this.isContactOpen = false;
191
259
  this.isLanguageOpen = false;
192
- this.isSegmentOpen = false;
193
- this.isSessionOpen = !this.isSessionOpen;
194
- el = this.sessionItemsEl;
195
- }
196
- // For contact menu
197
- else if (type === "contact") {
198
- this.isLanguageOpen = false;
199
- this.isContactOpen = !this.isContactOpen;
200
- this.isSegmentOpen = false;
201
260
  this.isSessionOpen = false;
202
- el = this.contactItemsEl;
203
- }
204
- // For mobile menu
205
- else if (type === "mobile") {
206
- this.isContactOpen = false;
207
- this.isLanguageOpen = false;
261
+ this.isSlideOutOpen = false;
208
262
  this.isSegmentOpen = false;
209
- this.isSessionOpen = false;
210
- el = this.navigationEl;
211
- const toggle = !this.isSlideOutOpen;
212
- this.isSlideOutOpen = toggle;
213
- this.duetMobileNavToggle.emit({ originalEvent: ev, open: toggle });
214
- if (this.isSlideOutOpen) {
215
- disableBodyScroll(this.navigationEl, { reserveScrollBarGap: true });
216
- }
217
- else {
218
- enableBodyScroll(this.navigationEl);
219
- }
220
- }
221
- else if (type === "sub") {
222
- this.isContactOpen = false;
223
- this.isLanguageOpen = false;
224
- this.isSegmentOpen = false;
225
- this.isSessionOpen = false;
226
- el = this.subMenuItemRefs[id];
227
- }
228
- else if (type === "segment") {
229
- this.isContactOpen = false;
230
- this.isLanguageOpen = false;
231
- this.isSessionOpen = false;
232
- this.isSegmentOpen = !this.isSegmentOpen;
233
- el = this.segmentItemsEl;
234
- }
235
- if (this.isSlideOutOpen ||
236
- this.isLanguageOpen ||
237
- this.isContactOpen ||
238
- this.isSegmentOpen ||
239
- this.isSessionOpen ||
240
- this.openMenu) {
241
- const drawer = this.element.querySelector("duet-notification-drawer");
242
- if (drawer) {
243
- drawer.close(false);
244
- }
245
- // Focus in the new menu when opened to make them more accessible
246
- setTimeout(() => {
247
- el.querySelector("a").focus();
248
- }, 300);
249
- }
250
- };
251
- this.emitDuetEvent = (ev, data) => {
252
- this.duetEvent.emit({
253
- component: "duet-header",
254
- data,
255
- originalEvent: ev,
256
- });
257
- };
258
- this.isContactOpen = false;
259
- this.isLanguageOpen = false;
260
- this.isSessionOpen = false;
261
- this.isSlideOutOpen = false;
262
- this.isSegmentOpen = false;
263
- this.openMenu = null;
264
- this.closedActives = null;
265
- this.processedItems = null;
266
- this.processedLanguageItems = null;
267
- this.processedContactItems = null;
268
- this.processedSession = null;
269
- this.processedSearch = null;
270
- this.processedUser = null;
271
- this.processedBack = null;
272
- this.renderDesktopNav = (_a = this.mql[0]) === null || _a === void 0 ? void 0 : _a.matches;
273
- this.theme = "";
274
- this.language = getLanguage();
275
- this.accessibleI18nLabelsDefaults = {
276
- fi: {
277
- skipLabel: "Siirry pääsisältöön",
278
- changeLanguage: "Vaihda kieltä",
279
- activeLanguage: "Suomi valittuna",
280
- },
281
- sv: {
282
- skipLabel: "Gå till huvudinnehåll",
283
- changeLanguage: "Ändra Språk",
284
- activeLanguage: "Svenska valt",
285
- },
286
- en: {
287
- skipLabel: "Skip to main content",
288
- changeLanguage: "Change language",
289
- activeLanguage: "English selected",
290
- },
291
- };
292
- this.accessibleI18nLabels = getLocaleString(this.accessibleI18nLabelsDefaults);
293
- this.accessibleLabelExternalDefaults = DuetStringsExternalDefaults;
294
- this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults);
295
- this.accessibleLabelDefaults = {
296
- fi: "Valikko",
297
- sv: "Meny",
298
- en: "Menu",
299
- };
300
- this.accessibleLabel = getLocaleString(this.accessibleLabelDefaults);
301
- this.user = undefined;
302
- this.logoHref = "/";
303
- this.currentHref = "/";
304
- this.skipToId = "";
305
- this.items = undefined;
306
- this.region = "";
307
- this.session = undefined;
308
- this.search = undefined;
309
- this.back = undefined;
310
- this.contact = "";
311
- this.contactItems = undefined;
312
- this.languageItems = undefined;
313
- }
314
- /**
315
- * Component lifecycle events.
316
- */
317
- componentWillLoad() {
318
- inheritGlobalTheme(this);
319
- this.refresh();
320
- }
321
- connectedCallback() {
322
- for (let i = 0; i < this.mql.length; i++) {
323
- // addEventListener is not available in Stencil hydrate
324
- if (this.mql[i].addEventListener) {
325
- const bound = this.refresh.bind(this);
326
- this.mql[i].addEventListener("change", bound);
327
- this.boundMqlFunctions[i] = bound;
328
- }
263
+ this.openMenu = null;
264
+ this.closedActives = null;
265
+ this.processedItems = null;
266
+ this.processedLanguageItems = null;
267
+ this.processedContactItems = null;
268
+ this.processedSession = null;
269
+ this.processedSearch = null;
270
+ this.processedUser = null;
271
+ this.processedBack = null;
272
+ this.renderDesktopNav = (_a = this.mql[0]) === null || _a === void 0 ? void 0 : _a.matches;
273
+ this.theme = "";
274
+ this.language = getLanguage();
275
+ this.accessibleI18nLabelsDefaults = {
276
+ fi: {
277
+ skipLabel: "Siirry pääsisältöön",
278
+ changeLanguage: "Vaihda kieltä",
279
+ activeLanguage: "Suomi valittuna",
280
+ },
281
+ sv: {
282
+ skipLabel: "Gå till huvudinnehåll",
283
+ changeLanguage: "Ändra Språk",
284
+ activeLanguage: "Svenska valt",
285
+ },
286
+ en: {
287
+ skipLabel: "Skip to main content",
288
+ changeLanguage: "Change language",
289
+ activeLanguage: "English selected",
290
+ },
291
+ };
292
+ this.accessibleI18nLabels = getLocaleString(this.accessibleI18nLabelsDefaults);
293
+ this.accessibleLabelExternalDefaults = DuetStringsExternalDefaults;
294
+ this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults);
295
+ this.accessibleLabelDefaults = {
296
+ fi: "Valikko",
297
+ sv: "Meny",
298
+ en: "Menu",
299
+ };
300
+ this.accessibleLabel = getLocaleString(this.accessibleLabelDefaults);
301
+ this.user = undefined;
302
+ this.logoHref = "/";
303
+ this.currentHref = "/";
304
+ this.skipToId = "";
305
+ this.items = undefined;
306
+ this.region = "";
307
+ this.session = undefined;
308
+ this.search = undefined;
309
+ this.back = undefined;
310
+ this.contact = "";
311
+ this.contactItems = undefined;
312
+ this.languageItems = undefined;
329
313
  }
330
- connectLanguageChangeObserver(this, [
331
- { prop: "accessibleLabel", defaults: "accessibleLabelDefaults" },
332
- { prop: "accessibleI18nLabels", defaults: "accessibleI18nLabelsDefaults" },
333
- { prop: "accessibleLabelExternal", defaults: "accessibleLabelExternalDefaults" },
334
- ]);
335
- }
336
- disconnectedCallback() {
337
- if (this.navigationEl) {
338
- enableBodyScroll(this.navigationEl);
339
- }
340
- for (let i = 0; i < this.mql.length; i++) {
341
- // addEventListener is not available in Stencil hydrate
342
- if (this.mql[i].removeEventListener) {
343
- this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
344
- }
314
+ /**
315
+ * Component lifecycle events.
316
+ */
317
+ componentWillLoad() {
318
+ inheritGlobalTheme(this);
319
+ this.refresh();
345
320
  }
346
- this.boundMqlFunctions = [];
347
- disconnectLanguageChangeObserver(this);
348
- }
349
- /**
350
- * Component event handling.
351
- */
352
- handleKeyUp(ev) {
353
- // When Esc is pressed
354
- if (isEscapeKey(ev)) {
355
- this.closeMenus(true);
356
- this.closeMobileNavigation(true);
321
+ connectedCallback() {
322
+ for (let i = 0; i < this.mql.length; i++) {
323
+ // addEventListener is not available in Stencil hydrate
324
+ if (this.mql[i].addEventListener) {
325
+ const bound = this.refresh.bind(this);
326
+ this.mql[i].addEventListener("change", bound);
327
+ this.boundMqlFunctions[i] = bound;
328
+ }
329
+ }
330
+ connectLanguageChangeObserver(this, [
331
+ { prop: "accessibleLabel", defaults: "accessibleLabelDefaults" },
332
+ { prop: "accessibleI18nLabels", defaults: "accessibleI18nLabelsDefaults" },
333
+ { prop: "accessibleLabelExternal", defaults: "accessibleLabelExternalDefaults" },
334
+ ]);
335
+ subscribeTabbingChange(this);
357
336
  }
358
- }
359
- handleKeyDown(ev) {
360
- if (this.isContactOpen || this.isLanguageOpen || this.isSegmentOpen) {
361
- const activeElement = this.element.shadowRoot.activeElement;
362
- // When Space is pressed
363
- if (isSpaceKey(ev) && activeElement) {
364
- ev.preventDefault();
365
- ev.stopPropagation();
366
- if (this.isContactOpen) {
367
- this.closeMenus();
337
+ disconnectedCallback() {
338
+ if (this.navigationEl) {
339
+ enableBodyScroll(this.navigationEl);
368
340
  }
369
- else if (this.isLanguageOpen) {
370
- this.closeMenus(true);
341
+ for (let i = 0; i < this.mql.length; i++) {
342
+ // addEventListener is not available in Stencil hydrate
343
+ if (this.mql[i].removeEventListener) {
344
+ this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
345
+ }
371
346
  }
372
- else if (this.isSegmentOpen) {
373
- this.closeMenus();
347
+ this.boundMqlFunctions = [];
348
+ disconnectLanguageChangeObserver(this);
349
+ unsubscribeTabbingChange(this);
350
+ }
351
+ /**
352
+ * Component event handling.
353
+ */
354
+ handleKeyUp(ev) {
355
+ // When Esc is pressed
356
+ if (isEscapeKey(ev)) {
357
+ this.closeMenus(true);
358
+ this.closeMobileNavigation(true);
374
359
  }
375
- else if (this.openMenu) {
376
- this.closeMenus();
360
+ }
361
+ handleKeyDown(ev) {
362
+ if (this.isContactOpen || this.isLanguageOpen || this.isSegmentOpen) {
363
+ const activeElement = this.element.shadowRoot.activeElement;
364
+ // When Space is pressed
365
+ if (isSpaceKey(ev) && activeElement) {
366
+ ev.preventDefault();
367
+ ev.stopPropagation();
368
+ if (this.isContactOpen) {
369
+ this.closeMenus();
370
+ }
371
+ else if (this.isLanguageOpen) {
372
+ this.closeMenus(true);
373
+ }
374
+ else if (this.isSegmentOpen) {
375
+ this.closeMenus();
376
+ }
377
+ else if (this.openMenu) {
378
+ this.closeMenus();
379
+ }
380
+ activeElement.click();
381
+ }
377
382
  }
378
- activeElement.click();
379
- }
380
383
  }
381
- }
382
- handleDocumentClick() {
383
- this.closeMenus();
384
- this.closeMobileNavigation();
385
- }
386
- handleLanguageClick(ev, data) {
387
- this.language = data.country;
388
- this.hasLanguageChanged = true;
389
- const e = createEvent(ev, data);
390
- this.handleClick(e, true);
391
- this.duetLanguageSelect.emit(e);
392
- }
393
- handleContactClick(ev, data) {
394
- const e = createEvent(ev, data);
395
- this.handleClick(e);
396
- this.duetContactClick.emit(e);
397
- }
398
- handleItemClick(ev, data) {
399
- const e = createEvent(ev, data);
400
- this.handleClick(e);
401
- this.duetItemClick.emit(e);
402
- }
403
- /**
404
- * Local methods.
405
- */
406
- async refresh() {
407
- var _a, _b;
408
- if (this.renderDesktopNav !== Build.isServer ? true : (_a = this.mql[0]) === null || _a === void 0 ? void 0 : _a.matches) {
409
- this.renderDesktopNav = (_b = this.mql[0]) === null || _b === void 0 ? void 0 : _b.matches;
410
- this.openMenu = null;
411
- if (this.isSlideOutOpen) {
412
- this.toggleMenu(document.createEvent("UIEvents"), "mobile");
413
- }
384
+ handleDocumentClick() {
385
+ this.closeMenus();
386
+ this.closeMobileNavigation();
387
+ }
388
+ handleLanguageClick(ev, data) {
389
+ this.language = data.country;
390
+ this.hasLanguageChanged = true;
391
+ const e = createEvent(ev, data);
392
+ this.handleClick(e, true);
393
+ this.duetLanguageSelect.emit(e);
394
+ }
395
+ handleContactClick(ev, data) {
396
+ const e = createEvent(ev, data);
397
+ this.handleClick(e);
398
+ this.duetContactClick.emit(e);
414
399
  }
415
- this.processedItems = parsePossibleJSON(this.items);
416
- this.processedLanguageItems = parsePossibleJSON(this.languageItems);
417
- this.processedContactItems = parsePossibleJSON(this.contactItems);
418
- this.processedSession = parsePossibleJSON(this.session);
419
- this.processedSearch = parsePossibleJSON(this.search);
420
- this.processedUser = parsePossibleJSON(this.user);
421
- this.processedBack = parsePossibleJSON(this.back);
422
- }
423
- /**
424
- * Closes mobile menu in header when called.
425
- */
426
- async closeMobileNavigation(moveFocusToButton = false) {
427
- if (this.isSlideOutOpen) {
428
- this.isSlideOutOpen = false;
429
- enableBodyScroll(this.navigationEl);
430
- if (moveFocusToButton) {
431
- this.navigationElButton.focus({
432
- preventScroll: true,
433
- });
434
- }
400
+ handleItemClick(ev, data) {
401
+ const e = createEvent(ev, data);
402
+ this.handleClick(e);
403
+ this.duetItemClick.emit(e);
404
+ }
405
+ /**
406
+ * Local methods.
407
+ */
408
+ async refresh() {
409
+ var _a, _b;
410
+ if (this.renderDesktopNav !== Build.isServer ? true : (_a = this.mql[0]) === null || _a === void 0 ? void 0 : _a.matches) {
411
+ this.renderDesktopNav = (_b = this.mql[0]) === null || _b === void 0 ? void 0 : _b.matches;
412
+ this.openMenu = null;
413
+ if (this.isSlideOutOpen) {
414
+ this.toggleMenu(document.createEvent("UIEvents"), "mobile");
415
+ }
416
+ }
417
+ this.processedItems = parsePossibleJSON(this.items);
418
+ this.processedLanguageItems = parsePossibleJSON(this.languageItems);
419
+ this.processedContactItems = parsePossibleJSON(this.contactItems);
420
+ this.processedSession = parsePossibleJSON(this.session);
421
+ this.processedSearch = parsePossibleJSON(this.search);
422
+ this.processedUser = parsePossibleJSON(this.user);
423
+ this.processedBack = parsePossibleJSON(this.back);
424
+ }
425
+ /**
426
+ * Closes mobile menu in header when called.
427
+ */
428
+ async closeMobileNavigation(moveFocusToButton = false) {
429
+ if (this.isSlideOutOpen) {
430
+ this.isSlideOutOpen = false;
431
+ enableBodyScroll(this.navigationEl);
432
+ if (moveFocusToButton) {
433
+ this.navigationElButton.focus({
434
+ preventScroll: true,
435
+ });
436
+ }
437
+ }
435
438
  }
436
- }
437
- /**
438
- * Closes all dropdown menus in header when called.
439
- */
440
- async closeMenus(moveFocusToButton = false) {
441
- if (this.isContactOpen || this.isLanguageOpen || this.isSegmentOpen || this.isSessionOpen || this.openMenu) {
442
- if (this.isContactOpen && moveFocusToButton) {
443
- this.contactItemsButtonEl.focus({
444
- preventScroll: true,
445
- });
446
- }
447
- if (this.isLanguageOpen && moveFocusToButton) {
448
- this.languageItemsButtonEl.focus({
449
- preventScroll: true,
450
- });
451
- }
452
- if (this.isSegmentOpen && moveFocusToButton) {
453
- this.segmentItemsButtonEl.focus({
454
- preventScroll: true,
455
- });
456
- }
457
- if (this.isSessionOpen && moveFocusToButton) {
458
- this.sessionItemsButtonEl.focus({
459
- preventScroll: true,
460
- });
461
- }
462
- if (this.openMenu && moveFocusToButton) {
463
- this.subMenuButtonRefs[this.openMenu].focus({
464
- preventScroll: true,
465
- });
466
- }
467
- this.isContactOpen = false;
468
- this.isLanguageOpen = false;
469
- this.isSegmentOpen = false;
470
- this.isSessionOpen = false;
471
- this.openMenu = null;
439
+ /**
440
+ * Closes all dropdown menus in header when called.
441
+ */
442
+ async closeMenus(moveFocusToButton = false) {
443
+ if (this.isContactOpen || this.isLanguageOpen || this.isSegmentOpen || this.isSessionOpen || this.openMenu) {
444
+ if (this.isContactOpen && moveFocusToButton) {
445
+ this.contactItemsButtonEl.focus({
446
+ preventScroll: true,
447
+ });
448
+ }
449
+ if (this.isLanguageOpen && moveFocusToButton) {
450
+ this.languageItemsButtonEl.focus({
451
+ preventScroll: true,
452
+ });
453
+ }
454
+ if (this.isSegmentOpen && moveFocusToButton) {
455
+ this.segmentItemsButtonEl.focus({
456
+ preventScroll: true,
457
+ });
458
+ }
459
+ if (this.isSessionOpen && moveFocusToButton) {
460
+ this.sessionItemsButtonEl.focus({
461
+ preventScroll: true,
462
+ });
463
+ }
464
+ if (this.openMenu && moveFocusToButton) {
465
+ this.subMenuButtonRefs[this.openMenu].focus({
466
+ preventScroll: true,
467
+ });
468
+ }
469
+ this.isContactOpen = false;
470
+ this.isLanguageOpen = false;
471
+ this.isSegmentOpen = false;
472
+ this.isSessionOpen = false;
473
+ this.openMenu = null;
474
+ }
472
475
  }
473
- }
474
- /**
475
- * Sets focus on the specified `duet-header`. Use this method instead of the global
476
- * `header.focus()`.
477
- */
478
- async setFocus(options) {
479
- this.logoEl.setFocus(options);
480
- }
481
- /**
482
- * render() function
483
- * Always the last one in the class.
484
- */
485
- render() {
486
- const { skipLabel, changeLanguage, activeLanguage } = this.accessibleI18nLabels;
487
- const skipToLabel = () => this.skipToId ? (h$1("a", { href: this.skipToId, class: "duet-header-skip", onClick: this.handleSkipClick }, skipLabel)) : null;
488
- const logo = () => (h$1("duet-logo", { href: this.logoHref, size: "medium", ref: el => (this.logoEl = el), language: this.language, theme: this.theme, onClick: this.handleLogoClick }));
489
- const largeLogo = () => (h$1("duet-logo", { href: this.logoHref, size: "large", ref: el => (this.logoEl = el), language: this.language, theme: this.theme, onClick: this.handleLogoClick }));
490
- const contactDropdown = () => this.contact && this.processedContactItems ? (h$1(DuetHeaderDropdown, { id: "duet-header-contact", label: this.contact, icon: navigationContactDropdown.svg, active: this.isContactOpen, isOpen: this.isContactOpen, badge: false, toggleRef: el => (this.contactItemsButtonEl = el), itemsRef: el => (this.contactItemsEl = el), onToggle: event => this.toggleMenu(event, "contact") }, this.processedContactItems.map(item => (h$1("a", { role: "menuitem", href: item.href || "#", id: item.id, onClick: event => this.handleContactClick(event, item), onKeyDown: ev => this.handleArrowKeys(ev), target: item.external ? "_blank" : "_self" }, item.label, item.external && (h$1(Fragment, null, h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h$1("span", { class: "duet-header-link-external" }, h$1("duet-icon", { name: "action-new-window-small", size: "xx-small", margin: "none", color: this.theme === "turva" ? "primary-turva" : "primary" }))))))))) : null;
491
- const languageDropdown = () => this.language && this.processedLanguageItems ? (h$1(DuetHeaderDropdown, { id: "duet-header-language", label: this.language, icon: navigationLanguage.svg, accessibleText: `${changeLanguage}${this.hasLanguageChanged ? `, ${activeLanguage}` : ""}`, active: this.isLanguageOpen, isOpen: this.isLanguageOpen, badge: false, toggleRef: el => (this.languageItemsButtonEl = el), itemsRef: el => (this.languageItemsEl = el), onToggle: event => this.toggleMenu(event, "language") }, this.processedLanguageItems.map(item => (h$1("a", { class: { active: this.language === item.country }, "aria-selected": this.language === item.country, role: "menuitem", id: item.id, lang: item.country, href: item.href || "#", onClick: event => this.handleLanguageClick(event, item), onKeyDown: this.handleArrowKeys }, item.label))))) : null;
492
- const processedUserWithLink = () => this.processedUser && this.processedUser.href ? (h$1("a", { href: this.processedUser.href || "#", id: this.processedUser.id, class: "duet-header-user duet-header-button", onClick: this.handleUserClick }, h$1(DuetHeaderIcon, { icon: navigationUser.svg }), h$1("span", { class: "duet-header-user-label" }, this.processedUser.label))) : null;
493
- const processedUserWithoutLink = () => this.processedUser && !this.processedUser.href ? (h$1("span", { id: this.processedUser.id, class: "duet-header-user duet-header-button duet-header-no-action" }, h$1(DuetHeaderIcon, { icon: navigationUser.svg }), h$1("span", { class: "duet-header-user-label" }, this.processedUser.label))) : null;
494
- const processedSession = () => this.processedSession ? (h$1("a", { href: this.processedSession.href || "#", id: this.processedSession.id, class: "duet-header-logout duet-header-button", onClick: this.handleSessionClick }, h$1(DuetHeaderIcon, { class: "desktop", icon: this.processedSession.type === "logout" ? navigationLogout.svg : navigationLogin.svg, iconSize: "x-small" }), h$1(DuetHeaderIcon, { class: "mobile", icon: this.processedSession.type === "logout" ? navigationLogout.svg : navigationLogin.svg, iconSize: "small" }), h$1("span", { class: "duet-header-button-label" }, this.processedSession.label))) : null;
495
- const processedSessionDropdown = () => this.processedSession && this.processedSession.sessionItems ? (h$1(DuetHeaderDropdown, { className: "duet-header-session", id: "duet-header-session", label: this.processedSession.label, icon: this.processedSession.type === "logout" ? navigationLogout.svg : navigationLogin.svg, active: this.isSessionOpen, isOpen: this.isSessionOpen, badge: false, toggleRef: el => (this.sessionItemsButtonEl = el), itemsRef: el => (this.sessionItemsEl = el), onToggle: event => this.toggleMenu(event, "session") }, this.processedSession.sessionItems.map((sessionItem, index) => (h$1(Fragment, null, sessionItem.label && h$1("span", { class: "duet-header-session-label" }, sessionItem.label), h$1("duet-spacer", { size: "small", "aria-hidden": "true" }), sessionItem.items.map(item => (h$1("a", { role: "menuitem", "aria-label": sessionItem.label ? `${sessionItem.label} ${item.label}` : item.label, id: item.id, href: item.href || "#", onClick: event => this.handleSessionItemClick(event, item), onKeyDown: this.handleArrowKeys }, item.label))), index !== this.processedSession.sessionItems.length - 1 && (h$1(Fragment, null, h$1("duet-spacer", { size: "x-small", "aria-hidden": "true" }), h$1("duet-divider", { margin: "none", "aria-hidden": "true" })))))))) : null;
496
- const processedSearch = () => this.processedSearch ? (h$1("a", { href: this.processedSearch.href || "#", id: this.processedSearch.id, class: "duet-header-search duet-header-button", onClick: this.handleSearchClick }, h$1(DuetHeaderIcon, { icon: formSearch.svg }), h$1("span", { class: "duet-header-button-label" }, this.processedSearch.label))) : null;
497
- // Back variation
498
- if (this.processedBack) {
499
- return (h$1(Host, { class: "duet-header-back-variation" }, h$1("div", { class: "duet-header-reserved-space" }, h$1("header", { class: {
500
- "duet-header": true,
501
- "duet-theme-turva": this.theme === "turva",
502
- "duet-header-back": true,
503
- "duet-header-inactive": true,
504
- }, part: "header" }, h$1("div", { class: "duet-header-top" }, skipToLabel(), h$1("duet-button", { url: this.processedBack.href, id: this.processedBack.id, theme: this.theme, variation: "plain", color: this.theme === "turva" ? "secondary-turva" : "secondary", icon: "navigation-arrow-left", iconSize: "large", onClick: this.handleBackClick }, this.processedBack.label), logo(), h$1("slot", { name: "logo-utility" }))))));
476
+ /**
477
+ * Sets focus on the specified `duet-header`. Use this method instead of the global
478
+ * `header.focus()`.
479
+ */
480
+ async setFocus(options) {
481
+ this.logoEl.setFocus(options);
505
482
  }
506
- const itemsHaveSubItems = this.processedItems && this.processedItems.some(item => item.items && item.items.length > 0);
507
- const isSecondLevelActive = this.processedItems &&
508
- this.processedItems.some(item => item.items && item.items.some(secondLevelItem => secondLevelItem.active === true));
509
- const isThirdLevelActive = this.processedItems &&
510
- this.processedItems.some(item => item.items &&
511
- item.items.some(secondLevelItem => secondLevelItem.items && secondLevelItem.items.some(thirdLevelItem => thirdLevelItem.active === true)));
512
- const defaultVariationContent = (h$1("div", { class: {
513
- "duet-header-reserved-space": true,
514
- "duet-with-links": !!this.processedItems,
515
- "duet-header-second-level-active": isSecondLevelActive,
516
- "duet-header-third-level-active": isThirdLevelActive,
517
- "duet-header-items-have-sub-items": itemsHaveSubItems,
518
- } }, h$1("header", { class: {
519
- "duet-header": true,
520
- "duet-theme-turva": this.theme === "turva",
521
- "duet-header-inactive": !this.processedItems,
522
- }, part: "header" }, h$1("div", { class: "duet-header-top" }, skipToLabel(), logo(), h$1("slot", { name: "logo-utility" }, this.region && h$1("div", { class: "duet-header-region" }, this.region)), (this.processedItems ||
523
- languageDropdown() ||
524
- contactDropdown() ||
525
- this.processedSession ||
526
- this.processedUser) && (h$1("button", { ref: el => (this.navigationElButton = el), class: { "duet-header-toggle": true, active: this.isSlideOutOpen }, onClick: event => this.toggleMenu(event, "mobile"), type: "button", "aria-controls": "duet-header-bottom", "aria-expanded": this.isSlideOutOpen ? "true" : "false" }, h$1("duet-visually-hidden", null, this.accessibleLabel), h$1(DuetHeaderHamburger, null)))), h$1("div", { ref: el => (this.navigationEl = el), id: "duet-header-bottom", class: {
527
- "duet-header-bottom": true,
528
- active: this.isSlideOutOpen,
529
- inactive: !this.processedItems,
530
- } }, h$1("nav", { class: "duet-header-items", role: "navigation" }, this.processedItems &&
531
- this.processedItems.map((item, itemIndex) => (h$1("div", { class: "duet-header-item-container" }, h$1("a", { class: {
532
- "duet-header-first-level": true,
533
- "duet-header-item": true,
534
- active: (!itemsHaveSubItems && this.currentHref === item.href) ||
535
- (item.active === true &&
536
- !this.openMenu &&
537
- this.closedActives &&
538
- this.closedActives.length === 1) ||
539
- (item.active === true &&
540
- !this.openMenu &&
541
- item.items &&
542
- !item.items.some(s => s.active === true)),
543
- }, href: item.href || "#", id: item.id || `header-item-${itemIndex}`, onClick: event => this.handleItemClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label, item.badge && h$1("div", { class: "duet-header-badge" })), item.items &&
544
- item.items
545
- .filter(secondLevelitem => secondLevelitem.items && secondLevelitem.items.length > 0)
546
- .map((secondLevelItem, secondLevelItemIndex) => {
547
- const id = secondLevelItem.id || `header-item-${itemIndex}-${secondLevelItemIndex}`;
548
- const active = (!this.openMenu &&
549
- secondLevelItem.active === true &&
550
- !(this.closedActives && !!this.closedActives.find(i => i === id))) ||
551
- this.openMenu === id;
552
- const activeBar = active && !(secondLevelItem.items && secondLevelItem.items.some(s => s.active === true));
553
- return (h$1(DuetHeaderDropdown, { id: id, className: "duet-header-second-level", label: secondLevelItem.label, icon: `${secondLevelItem.icon}.svg`, active: activeBar, isOpen: active, badge: secondLevelItem.badge, toggleRef: el => (this.subMenuButtonRefs[id] = el), itemsRef: el => (this.subMenuItemRefs[id] = el), onToggle: event => this.toggleMenu(event, "sub", id, secondLevelItem.active === true) }, h$1("div", { class: "duet-header-third-level" }, secondLevelItem.items &&
554
- secondLevelItem.items.map(thirdLevelItem => (h$1("a", { class: {
555
- "duet-header-item": true,
556
- active: thirdLevelItem.active === true,
557
- }, role: "menuitem", href: thirdLevelItem.href || "#", id: thirdLevelItem.id, onClick: event => this.handleItemClick(event, thirdLevelItem), onKeyDown: ev => this.handleArrowKeys(ev), onMouseEnter: event => this.emitDuetEvent(event, thirdLevelItem), onTouchStart: event => this.emitDuetEvent(event, thirdLevelItem), target: thirdLevelItem.external ? "_blank" : "_self" }, thirdLevelItem.icon && (h$1("div", { class: "duet-header-icon" }, h$1("duet-icon", { margin: "none", size: "medium", name: thirdLevelItem.icon, color: "currentColor" }))), h$1("span", null, thirdLevelItem.label), thirdLevelItem.badge && h$1("div", { class: "duet-header-badge" })))))));
558
- }))))), h$1("div", { class: "duet-header-bottom-utils" }, h$1("slot", { name: "utility" })), h$1("div", { class: "duet-header-utils" }, !itemsHaveSubItems && contactDropdown(), languageDropdown(), !itemsHaveSubItems && (h$1(Fragment, null, processedUserWithLink(), processedUserWithoutLink())), processedSearch(), processedSession())))));
559
- // multi level variation
560
- if (itemsHaveSubItems) {
561
- const activeSegment = this.processedItems.find(item => item.active);
562
- const isThirdLevelActive = this.processedItems &&
563
- this.processedItems.some(item => item.items &&
564
- item.items.some(secondLevelItem => secondLevelItem.items && secondLevelItem.items.some(thirdLevelItem => thirdLevelItem.active === true)));
565
- const segmentId = "duet-header-segment";
566
- return (h$1(Host, { class: "duet-header-multi-level-variation" }, h$1("div", { class: {
567
- "duet-header-multi-level": true,
568
- "duet-header-multi-level-third-level-is-open": isThirdLevelActive,
569
- } }, h$1("header", { class: {
570
- "duet-header": true,
571
- "duet-theme-turva": this.theme === "turva",
572
- "duet-header-inactive": !this.processedItems,
573
- }, part: "header" }, h$1("div", { class: "duet-header-top" }, skipToLabel(), h$1("div", { class: "logo-and-segment" }, h$1("div", null, largeLogo()), this.processedItems && (h$1(DuetHeaderDropdown, { id: segmentId, label: activeSegment.label, active: this.isSegmentOpen, isOpen: this.isSegmentOpen, badge: false, toggleRef: el => (this.segmentItemsButtonEl = el), itemsRef: el => (this.segmentItemsEl = el), onToggle: event => this.toggleMenu(event, "segment") }, this.processedItems.map(item => (h$1("a", { class: { active: activeSegment === item }, role: "menuitem", href: item.href || "#", id: item.id, onClick: event => this.handleItemClick(event, item), onKeyDown: ev => this.handleArrowKeys(ev), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item), target: item.external ? "_blank" : "_self" }, item.icon && (h$1("div", { class: "duet-header-icon" }, h$1("duet-icon", { margin: "none", size: "x-small", name: item.icon, color: "currentColor" }))), h$1("span", null, item.label), item.badge && h$1("div", { class: "duet-header-badge" }))))))), h$1("nav", { class: "duet-header-multi-level-nav" }, activeSegment.items &&
574
- activeSegment.items
575
- .filter(secondLevelItem => secondLevelItem.items && secondLevelItem.items.length > 0)
576
- .map((secondLevelItem, secondLevelItemIndex) => {
577
- const id = secondLevelItem.id || `segment-item-${secondLevelItemIndex}`;
578
- return (h$1(DuetHeaderDropdown, { id: id, label: secondLevelItem.label, active: (!this.openMenu && secondLevelItem.active === true) || this.openMenu === id, isOpen: this.openMenu === id, badge: secondLevelItem.badge, toggleRef: el => (this.subMenuButtonRefs[id] = el), itemsRef: el => (this.subMenuItemRefs[id] = el), onToggle: event => this.toggleMenu(event, "sub", id) }, secondLevelItem.items &&
579
- secondLevelItem.items.map(thirdLevelItem => (h$1("a", { class: { active: thirdLevelItem.active }, role: "menuitem", href: thirdLevelItem.href || "#", id: thirdLevelItem.id, onClick: event => this.handleItemClick(event, thirdLevelItem), onKeyDown: ev => this.handleArrowKeys(ev), onMouseEnter: event => this.emitDuetEvent(event, thirdLevelItem), onTouchStart: event => this.emitDuetEvent(event, thirdLevelItem), target: thirdLevelItem.external ? "_blank" : "_self" }, thirdLevelItem.icon && (h$1("div", { class: "duet-header-icon" }, h$1("duet-icon", { margin: "none", size: "medium", name: thirdLevelItem.icon, color: "currentColor" }))), h$1("span", null, thirdLevelItem.label), thirdLevelItem.badge && h$1("div", { class: "duet-header-badge" }))))));
580
- })), h$1("div", { class: "duet-header-multi-level-utils" }, processedSearch(), languageDropdown(), processedSessionDropdown() != null ? processedSessionDropdown() : processedSession()), h$1("slot", { name: "utility" })))), defaultVariationContent));
483
+ /**
484
+ * render() function
485
+ * Always the last one in the class.
486
+ */
487
+ render() {
488
+ const { skipLabel, changeLanguage, activeLanguage } = this.accessibleI18nLabels;
489
+ const skipToLabel = () => this.skipToId ? (h$1("a", { href: this.skipToId, class: "duet-header-skip", onClick: this.handleSkipClick }, skipLabel)) : null;
490
+ const logo = () => (h$1("duet-logo", { href: this.logoHref, size: "medium", ref: el => (this.logoEl = el), language: this.language, theme: this.theme, onClick: this.handleLogoClick }));
491
+ const largeLogo = () => (h$1("duet-logo", { href: this.logoHref, size: "large", ref: el => (this.logoEl = el), language: this.language, theme: this.theme, onClick: this.handleLogoClick }));
492
+ const contactDropdown = () => this.contact && this.processedContactItems ? (h$1(DuetHeaderDropdown, { id: "duet-header-contact", label: this.contact, icon: navigationContactDropdown.svg, active: this.isContactOpen, isOpen: this.isContactOpen, badge: false, toggleRef: el => (this.contactItemsButtonEl = el), itemsRef: el => (this.contactItemsEl = el), onToggle: event => this.toggleMenu(event, "contact") }, this.processedContactItems.map(item => (h$1("a", { role: "menuitem", href: item.href || "#", id: item.id, onClick: event => this.handleContactClick(event, item), onKeyDown: ev => this.handleArrowKeys(ev), target: item.external ? "_blank" : "_self" }, item.label, item.external && (h$1(Fragment, null, h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h$1("span", { class: "duet-header-link-external" }, h$1("duet-icon", { name: "action-new-window-small", size: "xx-small", margin: "none", color: this.theme === "turva" ? "primary-turva" : "primary" }))))))))) : null;
493
+ const languageDropdown = () => this.language && this.processedLanguageItems ? (h$1(DuetHeaderDropdown, { id: "duet-header-language", label: this.language, icon: navigationLanguage.svg, accessibleText: `${changeLanguage}${this.hasLanguageChanged ? `, ${activeLanguage}` : ""}`, active: this.isLanguageOpen, isOpen: this.isLanguageOpen, badge: false, toggleRef: el => (this.languageItemsButtonEl = el), itemsRef: el => (this.languageItemsEl = el), onToggle: event => this.toggleMenu(event, "language") }, this.processedLanguageItems.map(item => (h$1("a", { class: { active: this.language === item.country }, "aria-selected": this.language === item.country, role: "menuitem", id: item.id, lang: item.country, href: item.href || "#", onClick: event => this.handleLanguageClick(event, item), onKeyDown: this.handleArrowKeys }, item.label))))) : null;
494
+ const processedUserWithLink = () => this.processedUser && this.processedUser.href ? (h$1("a", { href: this.processedUser.href || "#", id: this.processedUser.id, class: "duet-header-user duet-header-button", onClick: this.handleUserClick }, h$1(DuetHeaderIcon, { icon: navigationUser.svg }), h$1("span", { class: "duet-header-user-label" }, this.processedUser.label))) : null;
495
+ const processedUserWithoutLink = () => this.processedUser && !this.processedUser.href ? (h$1("span", { id: this.processedUser.id, class: "duet-header-user duet-header-button duet-header-no-action" }, h$1(DuetHeaderIcon, { icon: navigationUser.svg }), h$1("span", { class: "duet-header-user-label" }, this.processedUser.label))) : null;
496
+ const processedSession = () => this.processedSession ? (h$1("a", { href: this.processedSession.href || "#", id: this.processedSession.id, class: "duet-header-logout duet-header-button", onClick: this.handleSessionClick }, h$1(DuetHeaderIcon, { class: "desktop", icon: this.processedSession.type === "logout" ? navigationLogout.svg : navigationLogin.svg, iconSize: "x-small" }), h$1(DuetHeaderIcon, { class: "mobile", icon: this.processedSession.type === "logout" ? navigationLogout.svg : navigationLogin.svg, iconSize: "small" }), h$1("span", { class: "duet-header-button-label" }, this.processedSession.label))) : null;
497
+ const processedSessionDropdown = () => this.processedSession && this.processedSession.sessionItems ? (h$1(DuetHeaderDropdown, { className: "duet-header-session", id: "duet-header-session", label: this.processedSession.label, icon: this.processedSession.type === "logout" ? navigationLogout.svg : navigationLogin.svg, active: this.isSessionOpen, isOpen: this.isSessionOpen, badge: false, toggleRef: el => (this.sessionItemsButtonEl = el), itemsRef: el => (this.sessionItemsEl = el), onToggle: event => this.toggleMenu(event, "session") }, this.processedSession.sessionItems.map((sessionItem, index) => (h$1(Fragment, null, sessionItem.label && h$1("span", { class: "duet-header-session-label" }, sessionItem.label), h$1("duet-spacer", { size: "small", "aria-hidden": "true" }), sessionItem.items.map(item => (h$1("a", { role: "menuitem", "aria-label": sessionItem.label ? `${sessionItem.label} ${item.label}` : item.label, id: item.id, href: item.href || "#", onClick: event => this.handleSessionItemClick(event, item), onKeyDown: this.handleArrowKeys }, item.label))), index !== this.processedSession.sessionItems.length - 1 && (h$1(Fragment, null, h$1("duet-spacer", { size: "x-small", "aria-hidden": "true" }), h$1("duet-divider", { margin: "none", "aria-hidden": "true" })))))))) : null;
498
+ const processedSearch = () => this.processedSearch ? (h$1("a", { href: this.processedSearch.href || "#", id: this.processedSearch.id, class: "duet-header-search duet-header-button", onClick: this.handleSearchClick }, h$1(DuetHeaderIcon, { icon: formSearch.svg }), h$1("span", { class: "duet-header-button-label" }, this.processedSearch.label))) : null;
499
+ // Back variation
500
+ if (this.processedBack) {
501
+ return (h$1(Host, { class: "duet-header-back-variation" }, h$1("div", { class: "duet-header-reserved-space" }, h$1("header", { class: {
502
+ "duet-header": true,
503
+ "duet-theme-turva": this.theme === "turva",
504
+ "duet-header-back": true,
505
+ "duet-header-inactive": true,
506
+ }, part: "header" }, h$1("div", { class: "duet-header-top" }, skipToLabel(), h$1("duet-button", { url: this.processedBack.href, id: this.processedBack.id, theme: this.theme, variation: "plain", color: this.theme === "turva" ? "secondary-turva" : "secondary", icon: "navigation-arrow-left", iconSize: "large", onClick: this.handleBackClick }, this.processedBack.label), logo(), h$1("slot", { name: "logo-utility" }))))));
507
+ }
508
+ const itemsHaveSubItems = this.processedItems && this.processedItems.some(item => item.items && item.items.length > 0);
509
+ const isSecondLevelActive = this.processedItems &&
510
+ this.processedItems.some(item => item.items && item.items.some(secondLevelItem => secondLevelItem.active === true));
511
+ const isThirdLevelActive = this.processedItems &&
512
+ this.processedItems.some(item => item.items &&
513
+ item.items.some(secondLevelItem => secondLevelItem.items && secondLevelItem.items.some(thirdLevelItem => thirdLevelItem.active === true)));
514
+ const defaultVariationContent = (h$1("div", { class: {
515
+ "duet-header-reserved-space": true,
516
+ "duet-with-links": !!this.processedItems,
517
+ "duet-header-second-level-active": isSecondLevelActive,
518
+ "duet-header-third-level-active": isThirdLevelActive,
519
+ "duet-header-items-have-sub-items": itemsHaveSubItems,
520
+ } }, h$1("header", { class: {
521
+ "duet-header": true,
522
+ "duet-theme-turva": this.theme === "turva",
523
+ "duet-header-inactive": !this.processedItems,
524
+ }, part: "header" }, h$1("div", { class: "duet-header-top" }, skipToLabel(), logo(), h$1("slot", { name: "logo-utility" }, this.region && h$1("div", { class: "duet-header-region" }, this.region)), (this.processedItems ||
525
+ languageDropdown() ||
526
+ contactDropdown() ||
527
+ this.processedSession ||
528
+ this.processedUser) && (h$1("button", { ref: el => (this.navigationElButton = el), class: { "duet-header-toggle": true, active: this.isSlideOutOpen }, onClick: event => this.toggleMenu(event, "mobile"), type: "button", "aria-controls": "duet-header-bottom", "aria-expanded": this.isSlideOutOpen ? "true" : "false" }, h$1("duet-visually-hidden", null, this.accessibleLabel), h$1(DuetHeaderHamburger, null)))), h$1("div", { ref: el => (this.navigationEl = el), id: "duet-header-bottom", class: {
529
+ "duet-header-bottom": true,
530
+ active: this.isSlideOutOpen,
531
+ inactive: !this.processedItems,
532
+ } }, h$1("nav", { class: "duet-header-items", role: "navigation" }, this.processedItems &&
533
+ this.processedItems.map((item, itemIndex) => (h$1("div", { class: "duet-header-item-container" }, h$1("a", { class: {
534
+ "duet-header-first-level": true,
535
+ "duet-header-item": true,
536
+ active: (!itemsHaveSubItems && this.currentHref === item.href) ||
537
+ (item.active === true &&
538
+ !this.openMenu &&
539
+ this.closedActives &&
540
+ this.closedActives.length === 1) ||
541
+ (item.active === true &&
542
+ !this.openMenu &&
543
+ item.items &&
544
+ !item.items.some(s => s.active === true)),
545
+ }, href: item.href || "#", id: item.id || `header-item-${itemIndex}`, onClick: event => this.handleItemClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label, item.badge && h$1("div", { class: "duet-header-badge" })), item.items &&
546
+ item.items
547
+ .filter(secondLevelitem => secondLevelitem.items && secondLevelitem.items.length > 0)
548
+ .map((secondLevelItem, secondLevelItemIndex) => {
549
+ const id = secondLevelItem.id || `header-item-${itemIndex}-${secondLevelItemIndex}`;
550
+ const active = (!this.openMenu &&
551
+ secondLevelItem.active === true &&
552
+ !(this.closedActives && !!this.closedActives.find(i => i === id))) ||
553
+ this.openMenu === id;
554
+ const activeBar = active && !(secondLevelItem.items && secondLevelItem.items.some(s => s.active === true));
555
+ return (h$1(DuetHeaderDropdown, { id: id, className: "duet-header-second-level", label: secondLevelItem.label, icon: `${secondLevelItem.icon}.svg`, active: activeBar, isOpen: active, badge: secondLevelItem.badge, toggleRef: el => (this.subMenuButtonRefs[id] = el), itemsRef: el => (this.subMenuItemRefs[id] = el), onToggle: event => this.toggleMenu(event, "sub", id, secondLevelItem.active === true) }, h$1("div", { class: "duet-header-third-level" }, secondLevelItem.items &&
556
+ secondLevelItem.items.map(thirdLevelItem => (h$1("a", { class: {
557
+ "duet-header-item": true,
558
+ active: thirdLevelItem.active === true,
559
+ }, role: "menuitem", href: thirdLevelItem.href || "#", id: thirdLevelItem.id, onClick: event => this.handleItemClick(event, thirdLevelItem), onKeyDown: ev => this.handleArrowKeys(ev), onMouseEnter: event => this.emitDuetEvent(event, thirdLevelItem), onTouchStart: event => this.emitDuetEvent(event, thirdLevelItem), target: thirdLevelItem.external ? "_blank" : "_self" }, thirdLevelItem.icon && (h$1("div", { class: "duet-header-icon" }, h$1("duet-icon", { margin: "none", size: "medium", name: thirdLevelItem.icon, color: "currentColor" }))), h$1("span", null, thirdLevelItem.label), thirdLevelItem.badge && h$1("div", { class: "duet-header-badge" })))))));
560
+ }))))), h$1("div", { class: "duet-header-bottom-utils" }, h$1("slot", { name: "utility" })), h$1("div", { class: "duet-header-utils" }, !itemsHaveSubItems && contactDropdown(), languageDropdown(), !itemsHaveSubItems && (h$1(Fragment, null, processedUserWithLink(), processedUserWithoutLink())), processedSearch(), processedSession())))));
561
+ // multi level variation
562
+ if (itemsHaveSubItems) {
563
+ const activeSegment = this.processedItems.find(item => item.active);
564
+ const isThirdLevelActive = this.processedItems &&
565
+ this.processedItems.some(item => item.items &&
566
+ item.items.some(secondLevelItem => secondLevelItem.items && secondLevelItem.items.some(thirdLevelItem => thirdLevelItem.active === true)));
567
+ const segmentId = "duet-header-segment";
568
+ return (h$1(Host, { class: "duet-header-multi-level-variation" }, h$1("div", { class: {
569
+ "duet-header-multi-level": true,
570
+ "duet-header-multi-level-third-level-is-open": isThirdLevelActive,
571
+ } }, h$1("header", { class: {
572
+ "duet-header": true,
573
+ "duet-theme-turva": this.theme === "turva",
574
+ "duet-header-inactive": !this.processedItems,
575
+ }, part: "header" }, h$1("div", { class: "duet-header-top" }, skipToLabel(), h$1("div", { class: "logo-and-segment" }, h$1("div", null, largeLogo()), this.processedItems && (h$1(DuetHeaderDropdown, { id: segmentId, label: activeSegment.label, active: this.isSegmentOpen, isOpen: this.isSegmentOpen, badge: false, toggleRef: el => (this.segmentItemsButtonEl = el), itemsRef: el => (this.segmentItemsEl = el), onToggle: event => this.toggleMenu(event, "segment") }, this.processedItems.map(item => (h$1("a", { class: { active: activeSegment === item }, role: "menuitem", href: item.href || "#", id: item.id, onClick: event => this.handleItemClick(event, item), onKeyDown: ev => this.handleArrowKeys(ev), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item), target: item.external ? "_blank" : "_self" }, item.icon && (h$1("div", { class: "duet-header-icon" }, h$1("duet-icon", { margin: "none", size: "x-small", name: item.icon, color: "currentColor" }))), h$1("span", null, item.label), item.badge && h$1("div", { class: "duet-header-badge" }))))))), h$1("nav", { class: "duet-header-multi-level-nav" }, activeSegment.items &&
576
+ activeSegment.items
577
+ .filter(secondLevelItem => secondLevelItem.items && secondLevelItem.items.length > 0)
578
+ .map((secondLevelItem, secondLevelItemIndex) => {
579
+ const id = secondLevelItem.id || `segment-item-${secondLevelItemIndex}`;
580
+ return (h$1(DuetHeaderDropdown, { id: id, label: secondLevelItem.label, active: (!this.openMenu && secondLevelItem.active === true) || this.openMenu === id, isOpen: this.openMenu === id, badge: secondLevelItem.badge, toggleRef: el => (this.subMenuButtonRefs[id] = el), itemsRef: el => (this.subMenuItemRefs[id] = el), onToggle: event => this.toggleMenu(event, "sub", id) }, secondLevelItem.items &&
581
+ secondLevelItem.items.map(thirdLevelItem => (h$1("a", { class: { active: thirdLevelItem.active }, role: "menuitem", href: thirdLevelItem.href || "#", id: thirdLevelItem.id, onClick: event => this.handleItemClick(event, thirdLevelItem), onKeyDown: ev => this.handleArrowKeys(ev), onMouseEnter: event => this.emitDuetEvent(event, thirdLevelItem), onTouchStart: event => this.emitDuetEvent(event, thirdLevelItem), target: thirdLevelItem.external ? "_blank" : "_self" }, thirdLevelItem.icon && (h$1("div", { class: "duet-header-icon" }, h$1("duet-icon", { margin: "none", size: "medium", name: thirdLevelItem.icon, color: "currentColor" }))), h$1("span", null, thirdLevelItem.label), thirdLevelItem.badge && h$1("div", { class: "duet-header-badge" }))))));
582
+ })), h$1("div", { class: "duet-header-multi-level-utils" }, processedSearch(), languageDropdown(), processedSessionDropdown() != null ? processedSessionDropdown() : processedSession()), h$1("slot", { name: "utility" })))), defaultVariationContent));
583
+ }
584
+ // Default variation
585
+ return (h$1(Host, { class: {
586
+ "duet-header-default-variation": true,
587
+ } }, defaultVariationContent));
581
588
  }
582
- // Default variation
583
- return (h$1(Host, { class: {
584
- "duet-header-default-variation": true,
585
- } }, defaultVariationContent));
586
- }
587
- get element() { return this; }
588
- static get watchers() { return {
589
- "user": ["refresh"],
590
- "items": ["refresh"],
591
- "session": ["refresh"],
592
- "back": ["refresh"],
593
- "contactItems": ["refresh"],
594
- "languageItems": ["refresh"]
595
- }; }
596
- static get style() { return duetHeaderCss; }
589
+ get element() { return this; }
590
+ static get watchers() { return {
591
+ "user": ["refresh"],
592
+ "items": ["refresh"],
593
+ "session": ["refresh"],
594
+ "back": ["refresh"],
595
+ "contactItems": ["refresh"],
596
+ "languageItems": ["refresh"]
597
+ }; }
598
+ static get style() { return duetHeaderCss; }
597
599
  }, [1, "duet-header", {
598
- "theme": [1025],
599
- "language": [1025],
600
- "accessibleI18nLabelsDefaults": [1, "accessible-labels-default"],
601
- "accessibleI18nLabels": [1040],
602
- "accessibleLabelExternalDefaults": [1, "accessible-label-external-default"],
603
- "accessibleLabelExternal": [1025, "accessible-label-external"],
604
- "accessibleLabelDefaults": [1, "accessible-label-default"],
605
- "accessibleLabel": [1025, "accessible-label"],
606
- "user": [8],
607
- "logoHref": [1, "logo-href"],
608
- "currentHref": [1025, "current-href"],
609
- "skipToId": [1, "skip-to-id"],
610
- "items": [8],
611
- "region": [1],
612
- "session": [8],
613
- "search": [8],
614
- "back": [8],
615
- "contact": [1],
616
- "contactItems": [8, "contact-items"],
617
- "languageItems": [8, "language-items"],
618
- "isContactOpen": [32],
619
- "isLanguageOpen": [32],
620
- "isSessionOpen": [32],
621
- "isSlideOutOpen": [32],
622
- "isSegmentOpen": [32],
623
- "openMenu": [32],
624
- "closedActives": [32],
625
- "processedItems": [32],
626
- "processedLanguageItems": [32],
627
- "processedContactItems": [32],
628
- "processedSession": [32],
629
- "processedSearch": [32],
630
- "processedUser": [32],
631
- "processedBack": [32],
632
- "renderDesktopNav": [32],
633
- "closeMenus": [64],
634
- "setFocus": [64]
635
- }, [[8, "keyup", "handleKeyUp"], [8, "keydown", "handleKeyDown"], [4, "focus", "handleDocumentClick"], [4, "click", "handleDocumentClick"]], {
636
- "user": ["refresh"],
637
- "items": ["refresh"],
638
- "session": ["refresh"],
639
- "back": ["refresh"],
640
- "contactItems": ["refresh"],
641
- "languageItems": ["refresh"]
642
- }]);
600
+ "theme": [1025],
601
+ "language": [1025],
602
+ "accessibleI18nLabelsDefaults": [1, "accessible-labels-default"],
603
+ "accessibleI18nLabels": [1040],
604
+ "accessibleLabelExternalDefaults": [1, "accessible-label-external-default"],
605
+ "accessibleLabelExternal": [1025, "accessible-label-external"],
606
+ "accessibleLabelDefaults": [1, "accessible-label-default"],
607
+ "accessibleLabel": [1025, "accessible-label"],
608
+ "user": [8],
609
+ "logoHref": [1, "logo-href"],
610
+ "currentHref": [1025, "current-href"],
611
+ "skipToId": [1, "skip-to-id"],
612
+ "items": [8],
613
+ "region": [1],
614
+ "session": [8],
615
+ "search": [8],
616
+ "back": [8],
617
+ "contact": [1],
618
+ "contactItems": [8, "contact-items"],
619
+ "languageItems": [8, "language-items"],
620
+ "isContactOpen": [32],
621
+ "isLanguageOpen": [32],
622
+ "isSessionOpen": [32],
623
+ "isSlideOutOpen": [32],
624
+ "isSegmentOpen": [32],
625
+ "openMenu": [32],
626
+ "closedActives": [32],
627
+ "processedItems": [32],
628
+ "processedLanguageItems": [32],
629
+ "processedContactItems": [32],
630
+ "processedSession": [32],
631
+ "processedSearch": [32],
632
+ "processedUser": [32],
633
+ "processedBack": [32],
634
+ "renderDesktopNav": [32],
635
+ "closeMenus": [64],
636
+ "setFocus": [64]
637
+ }, [[8, "keyup", "handleKeyUp"], [8, "keydown", "handleKeyDown"], [4, "focus", "handleDocumentClick"], [4, "click", "handleDocumentClick"]], {
638
+ "user": ["refresh"],
639
+ "items": ["refresh"],
640
+ "session": ["refresh"],
641
+ "back": ["refresh"],
642
+ "contactItems": ["refresh"],
643
+ "languageItems": ["refresh"]
644
+ }]);
643
645
  function defineCustomElement$1() {
644
- if (typeof customElements === "undefined") {
645
- return;
646
- }
647
- const components = ["duet-header", "duet-button", "duet-divider", "duet-icon", "duet-logo", "duet-spacer", "duet-spinner", "duet-visually-hidden"];
648
- components.forEach(tagName => { switch (tagName) {
649
- case "duet-header":
650
- if (!customElements.get(tagName)) {
651
- customElements.define(tagName, DuetHeader$1);
652
- }
653
- break;
654
- case "duet-button":
655
- if (!customElements.get(tagName)) {
656
- defineCustomElement$8();
657
- }
658
- break;
659
- case "duet-divider":
660
- if (!customElements.get(tagName)) {
661
- defineCustomElement$7();
662
- }
663
- break;
664
- case "duet-icon":
665
- if (!customElements.get(tagName)) {
666
- defineCustomElement$6();
667
- }
668
- break;
669
- case "duet-logo":
670
- if (!customElements.get(tagName)) {
671
- defineCustomElement$5();
672
- }
673
- break;
674
- case "duet-spacer":
675
- if (!customElements.get(tagName)) {
676
- defineCustomElement$4();
677
- }
678
- break;
679
- case "duet-spinner":
680
- if (!customElements.get(tagName)) {
681
- defineCustomElement$3();
682
- }
683
- break;
684
- case "duet-visually-hidden":
685
- if (!customElements.get(tagName)) {
686
- defineCustomElement$2();
687
- }
688
- break;
689
- } });
646
+ if (typeof customElements === "undefined") {
647
+ return;
648
+ }
649
+ const components = ["duet-header", "duet-button", "duet-divider", "duet-icon", "duet-logo", "duet-spacer", "duet-spinner", "duet-visually-hidden"];
650
+ components.forEach(tagName => { switch (tagName) {
651
+ case "duet-header":
652
+ if (!customElements.get(tagName)) {
653
+ customElements.define(tagName, DuetHeader$1);
654
+ }
655
+ break;
656
+ case "duet-button":
657
+ if (!customElements.get(tagName)) {
658
+ defineCustomElement$8();
659
+ }
660
+ break;
661
+ case "duet-divider":
662
+ if (!customElements.get(tagName)) {
663
+ defineCustomElement$7();
664
+ }
665
+ break;
666
+ case "duet-icon":
667
+ if (!customElements.get(tagName)) {
668
+ defineCustomElement$6();
669
+ }
670
+ break;
671
+ case "duet-logo":
672
+ if (!customElements.get(tagName)) {
673
+ defineCustomElement$5();
674
+ }
675
+ break;
676
+ case "duet-spacer":
677
+ if (!customElements.get(tagName)) {
678
+ defineCustomElement$4();
679
+ }
680
+ break;
681
+ case "duet-spinner":
682
+ if (!customElements.get(tagName)) {
683
+ defineCustomElement$3();
684
+ }
685
+ break;
686
+ case "duet-visually-hidden":
687
+ if (!customElements.get(tagName)) {
688
+ defineCustomElement$2();
689
+ }
690
+ break;
691
+ } });
690
692
  }
691
693
 
692
694
  const DuetHeader = DuetHeader$1;