@duetds/components 6.2.3 → 6.2.5

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 (566) hide show
  1. package/hydrate/index.d.ts +1 -1
  2. package/hydrate/index.js +2257 -4173
  3. package/lib/cjs/{dom-96576bce.js → dom-bcfa684c.js} +1 -1
  4. package/lib/cjs/duet-action-button.cjs.entry.js +14 -77
  5. package/lib/cjs/duet-alert.cjs.entry.js +10 -42
  6. package/lib/cjs/duet-badge.cjs.entry.js +1 -10
  7. package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -10
  8. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +2 -4
  9. package/lib/cjs/duet-button_2.cjs.entry.js +30 -119
  10. package/lib/cjs/duet-caption_4.cjs.entry.js +4 -78
  11. package/lib/cjs/duet-card.cjs.entry.js +16 -55
  12. package/lib/cjs/duet-checkbox.cjs.entry.js +21 -49
  13. package/lib/cjs/duet-choice_2.cjs.entry.js +51 -152
  14. package/lib/cjs/duet-collapsible.cjs.entry.js +8 -41
  15. package/lib/cjs/duet-combobox.cjs.entry.js +26 -50
  16. package/lib/cjs/duet-cookie-consent.cjs.entry.js +3 -9
  17. package/lib/cjs/duet-date-picker.cjs.entry.js +37 -108
  18. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -17
  19. package/lib/cjs/duet-editable-table_3.cjs.entry.js +163 -404
  20. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -10
  21. package/lib/cjs/duet-fieldset.cjs.entry.js +7 -13
  22. package/lib/cjs/duet-footer.cjs.entry.js +13 -42
  23. package/lib/cjs/duet-grid_2.cjs.entry.js +3 -43
  24. package/lib/cjs/duet-header_2.cjs.entry.js +56 -163
  25. package/lib/cjs/duet-hero.cjs.entry.js +15 -90
  26. package/lib/cjs/duet-icon.cjs.entry.js +4 -35
  27. package/lib/cjs/duet-input_2.cjs.entry.js +41 -115
  28. package/lib/cjs/duet-layout.cjs.entry.js +1 -24
  29. package/lib/cjs/duet-list_2.cjs.entry.js +1 -23
  30. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +1 -10
  31. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +4 -13
  32. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +1 -10
  33. package/lib/cjs/duet-menu-bar-menu-dropdown-link.cjs.entry.js +1 -16
  34. package/lib/cjs/duet-menu-bar-menu-dropdown.cjs.entry.js +4 -13
  35. package/lib/cjs/duet-menu-bar-menu-link.cjs.entry.js +1 -13
  36. package/lib/cjs/duet-menu-bar-menu.cjs.entry.js +4 -13
  37. package/lib/cjs/duet-menu-bar.cjs.entry.js +3 -6
  38. package/lib/cjs/duet-modal.cjs.entry.js +4 -59
  39. package/lib/cjs/duet-multiselect.cjs.entry.js +18 -59
  40. package/lib/cjs/duet-nav.cjs.entry.js +2 -5
  41. package/lib/cjs/duet-notification_2.cjs.entry.js +15 -74
  42. package/lib/cjs/duet-number-input.cjs.entry.js +53 -142
  43. package/lib/cjs/duet-pagination_2.cjs.entry.js +51 -125
  44. package/lib/cjs/duet-progress.cjs.entry.js +4 -26
  45. package/lib/cjs/duet-radio_2.cjs.entry.js +36 -84
  46. package/lib/cjs/duet-range-slider.cjs.entry.js +21 -62
  47. package/lib/cjs/duet-scrollable_3.cjs.entry.js +25 -88
  48. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -7
  49. package/lib/cjs/duet-select.cjs.entry.js +25 -65
  50. package/lib/cjs/duet-step_2.cjs.entry.js +8 -34
  51. package/lib/cjs/duet-textarea.cjs.entry.js +31 -79
  52. package/lib/cjs/duet-toggle.cjs.entry.js +15 -38
  53. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -13
  54. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +5 -17
  55. package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -13
  56. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -4
  57. package/lib/cjs/duet-tooltip.cjs.entry.js +25 -78
  58. package/lib/cjs/duet-tray.cjs.entry.js +11 -53
  59. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +8 -29
  60. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  61. package/lib/cjs/duet.cjs.js +4 -4
  62. package/lib/cjs/{focus-utils-53db3623.js → focus-utils-18ea61a6.js} +1 -1
  63. package/lib/cjs/{index-1420909f.js → index-d2f05eb8.js} +1438 -1235
  64. package/lib/cjs/loader.cjs.js +3 -3
  65. package/lib/cjs/{shadow-css-38b9e725.js → shadow-css-1ea48714.js} +1 -1
  66. package/lib/collection/collection-manifest.json +2 -2
  67. package/lib/collection/common/a11y-component.js +0 -3
  68. package/lib/collection/common/form-components.js +0 -3
  69. package/lib/collection/components/duet-action-button/duet-action-button.js +403 -461
  70. package/lib/collection/components/duet-alert/duet-alert.js +259 -289
  71. package/lib/collection/components/duet-badge/duet-badge.js +84 -89
  72. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +96 -101
  73. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +47 -48
  74. package/lib/collection/components/duet-button/duet-button.js +838 -912
  75. package/lib/collection/components/duet-caption/duet-caption.js +96 -103
  76. package/lib/collection/components/duet-card/duet-card.js +381 -431
  77. package/lib/collection/components/duet-checkbox/duet-checkbox.js +476 -498
  78. package/lib/collection/components/duet-choice/duet-choice.js +731 -819
  79. package/lib/collection/components/duet-choice-group/duet-choice-group.js +282 -308
  80. package/lib/collection/components/duet-collapsible/duet-collapsible.js +208 -237
  81. package/lib/collection/components/duet-combobox/duet-combobox-select-single.js +1 -5
  82. package/lib/collection/components/duet-combobox/duet-combobox-select.js +1 -3
  83. package/lib/collection/components/duet-combobox/duet-combobox.css +47 -14
  84. package/lib/collection/components/duet-combobox/duet-combobox.js +257 -269
  85. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +77 -82
  86. package/lib/collection/components/duet-date-picker/date-picker-day.js +1 -3
  87. package/lib/collection/components/duet-date-picker/date-picker-input.js +1 -12
  88. package/lib/collection/components/duet-date-picker/date-picker-month.js +6 -12
  89. package/lib/collection/components/duet-date-picker/duet-date-picker.js +703 -795
  90. package/lib/collection/components/duet-divider/duet-divider.js +57 -57
  91. package/lib/collection/components/duet-editable-table/duet-editable-table.js +316 -381
  92. package/lib/collection/components/duet-empty-state/duet-empty-state.js +83 -90
  93. package/lib/collection/components/duet-fieldset/duet-fieldset.js +143 -153
  94. package/lib/collection/components/duet-footer/duet-footer.js +337 -378
  95. package/lib/collection/components/duet-grid/duet-grid.js +149 -162
  96. package/lib/collection/components/duet-grid-item/duet-grid-item.js +153 -164
  97. package/lib/collection/components/duet-header/duet-header-dropdown.js +11 -19
  98. package/lib/collection/components/duet-header/duet-header-hamburger.js +1 -5
  99. package/lib/collection/components/duet-header/duet-header-icon.js +1 -2
  100. package/lib/collection/components/duet-header/duet-header.js +872 -1023
  101. package/lib/collection/components/duet-heading/duet-heading.js +183 -200
  102. package/lib/collection/components/duet-hero/duet-hero.js +568 -660
  103. package/lib/collection/components/duet-icon/duet-icon.js +240 -263
  104. package/lib/collection/components/duet-input/duet-input.js +937 -1009
  105. package/lib/collection/components/duet-label/duet-label.js +95 -100
  106. package/lib/collection/components/duet-layout/duet-layout.js +163 -189
  107. package/lib/collection/components/duet-link/duet-link.js +204 -223
  108. package/lib/collection/components/duet-list/duet-list.js +181 -196
  109. package/lib/collection/components/duet-list-item/duet-list-item.js +12 -12
  110. package/lib/collection/components/duet-logo/duet-logo.js +171 -190
  111. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +45 -44
  112. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +100 -109
  113. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +75 -81
  114. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +72 -78
  115. package/lib/collection/components/duet-menu-bar-menu/duet-menu-bar-menu.js +100 -106
  116. package/lib/collection/components/duet-menu-bar-menu-dropdown/duet-menu-bar-menu-dropdown.js +100 -109
  117. package/lib/collection/components/duet-menu-bar-menu-dropdown-link/duet-menu-bar-menu-dropdown-link.js +110 -123
  118. package/lib/collection/components/duet-menu-bar-menu-link/duet-menu-bar-menu-link.js +89 -98
  119. package/lib/collection/components/duet-modal/duet-modal.js +466 -520
  120. package/lib/collection/components/duet-multiselect/duet-multiselect.js +411 -454
  121. package/lib/collection/components/duet-nav/duet-nav.js +78 -75
  122. package/lib/collection/components/duet-notification/duet-notification.js +201 -231
  123. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +284 -312
  124. package/lib/collection/components/duet-number-input/duet-number-input.js +851 -944
  125. package/lib/collection/components/duet-pagination/duet-pagination.js +374 -439
  126. package/lib/collection/components/duet-paragraph/duet-paragraph.js +140 -154
  127. package/lib/collection/components/duet-progress/duet-progress.js +223 -253
  128. package/lib/collection/components/duet-radio/duet-radio.js +519 -531
  129. package/lib/collection/components/duet-radio-group/duet-radio-group.js +282 -308
  130. package/lib/collection/components/duet-range-slider/duet-range-slider.js +468 -505
  131. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +187 -204
  132. package/lib/collection/components/duet-scrollable/duet-scrollable.js +98 -106
  133. package/lib/collection/components/duet-section-layout/duet-section-layout.js +58 -61
  134. package/lib/collection/components/duet-select/duet-select.js +565 -606
  135. package/lib/collection/components/duet-spacer/duet-spacer.js +77 -81
  136. package/lib/collection/components/duet-spinner/duet-spinner.js +99 -107
  137. package/lib/collection/components/duet-step/duet-step.js +206 -219
  138. package/lib/collection/components/duet-stepper/duet-stepper.js +148 -156
  139. package/lib/collection/components/duet-tab/duet-tab.js +95 -96
  140. package/lib/collection/components/duet-tab-group/duet-tab-group.js +367 -405
  141. package/lib/collection/components/duet-table/duet-table.js +144 -160
  142. package/lib/collection/components/duet-textarea/duet-textarea.js +694 -747
  143. package/lib/collection/components/duet-toggle/duet-toggle.js +388 -404
  144. package/lib/collection/components/duet-toolbar/duet-toolbar.js +38 -38
  145. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +123 -135
  146. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +93 -102
  147. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +89 -98
  148. package/lib/collection/components/duet-tooltip/duet-tooltip.js +349 -402
  149. package/lib/collection/components/duet-tray/duet-tray.js +235 -276
  150. package/lib/collection/components/duet-upload/duet-upload.js +1371 -1549
  151. package/lib/collection/components/duet-upload/upload-editable-item-error.js +1 -6
  152. package/lib/collection/components/duet-upload/upload-editable-item-inprogres.js +1 -6
  153. package/lib/collection/components/duet-upload/upload-editable-item-pending.js +1 -4
  154. package/lib/collection/components/duet-upload/upload-editable-item-success.js +5 -21
  155. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +137 -153
  156. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +12 -9
  157. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  158. package/lib/dist-custom-elements/duet-alert.js +1 -1
  159. package/lib/dist-custom-elements/duet-badge.js +1 -1
  160. package/lib/dist-custom-elements/duet-breadcrumb.js +3 -11
  161. package/lib/dist-custom-elements/duet-breadcrumbs.js +3 -5
  162. package/lib/dist-custom-elements/duet-button.js +1 -1
  163. package/lib/dist-custom-elements/duet-caption.js +1 -1
  164. package/lib/dist-custom-elements/duet-card.js +19 -58
  165. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  166. package/lib/dist-custom-elements/duet-choice-group.js +19 -49
  167. package/lib/dist-custom-elements/duet-choice.js +42 -113
  168. package/lib/dist-custom-elements/duet-collapsible.js +10 -43
  169. package/lib/dist-custom-elements/duet-combobox.js +29 -59
  170. package/lib/dist-custom-elements/duet-cookie-consent.js +8 -14
  171. package/lib/dist-custom-elements/duet-date-picker.js +45 -116
  172. package/lib/dist-custom-elements/duet-divider.js +1 -1
  173. package/lib/dist-custom-elements/duet-editable-table.js +1 -1
  174. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  175. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  176. package/lib/dist-custom-elements/duet-footer.js +16 -45
  177. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  178. package/lib/dist-custom-elements/duet-grid.js +1 -1
  179. package/lib/dist-custom-elements/duet-header.js +65 -152
  180. package/lib/dist-custom-elements/duet-heading.js +1 -1
  181. package/lib/dist-custom-elements/duet-hero.js +23 -98
  182. package/lib/dist-custom-elements/duet-icon.js +1 -1
  183. package/lib/dist-custom-elements/duet-input.js +1 -1
  184. package/lib/dist-custom-elements/duet-label.js +1 -1
  185. package/lib/dist-custom-elements/duet-layout.js +1 -24
  186. package/lib/dist-custom-elements/duet-link.js +1 -1
  187. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  188. package/lib/dist-custom-elements/duet-list.js +1 -1
  189. package/lib/dist-custom-elements/duet-logo.js +1 -1
  190. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -11
  191. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +5 -14
  192. package/lib/dist-custom-elements/duet-menu-bar-link.js +2 -11
  193. package/lib/dist-custom-elements/duet-menu-bar-menu-dropdown-link.js +2 -17
  194. package/lib/dist-custom-elements/duet-menu-bar-menu-dropdown.js +5 -14
  195. package/lib/dist-custom-elements/duet-menu-bar-menu-link.js +2 -14
  196. package/lib/dist-custom-elements/duet-menu-bar-menu.js +4 -13
  197. package/lib/dist-custom-elements/duet-menu-bar.js +5 -8
  198. package/lib/dist-custom-elements/duet-modal.js +10 -65
  199. package/lib/dist-custom-elements/duet-multiselect.js +25 -66
  200. package/lib/dist-custom-elements/duet-nav.js +2 -5
  201. package/lib/dist-custom-elements/duet-notification-drawer.js +18 -48
  202. package/lib/dist-custom-elements/duet-notification.js +2 -31
  203. package/lib/dist-custom-elements/duet-number-input.js +59 -148
  204. package/lib/dist-custom-elements/duet-pagination.js +51 -101
  205. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  206. package/lib/dist-custom-elements/duet-progress.js +1 -1
  207. package/lib/dist-custom-elements/duet-radio-group.js +19 -49
  208. package/lib/dist-custom-elements/duet-radio.js +23 -41
  209. package/lib/dist-custom-elements/duet-range-slider.js +23 -64
  210. package/lib/dist-custom-elements/duet-range-stepper.js +10 -34
  211. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  212. package/lib/dist-custom-elements/duet-section-layout.js +1 -7
  213. package/lib/dist-custom-elements/duet-select.js +1 -1
  214. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  215. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  216. package/lib/dist-custom-elements/duet-step.js +11 -20
  217. package/lib/dist-custom-elements/duet-stepper.js +2 -19
  218. package/lib/dist-custom-elements/duet-tab-group.js +26 -72
  219. package/lib/dist-custom-elements/duet-tab.js +3 -9
  220. package/lib/dist-custom-elements/duet-table.js +1 -1
  221. package/lib/dist-custom-elements/duet-textarea.js +38 -86
  222. package/lib/dist-custom-elements/duet-toggle.js +16 -39
  223. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -14
  224. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +6 -18
  225. package/lib/dist-custom-elements/duet-toolbar-link.js +2 -14
  226. package/lib/dist-custom-elements/duet-toolbar.js +1 -4
  227. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  228. package/lib/dist-custom-elements/duet-tray.js +14 -56
  229. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  230. package/lib/dist-custom-elements/duet-upload.js +165 -332
  231. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  232. package/lib/dist-custom-elements/index.d.ts +75 -5
  233. package/lib/dist-custom-elements/index.js +76 -1
  234. package/lib/dist-custom-elements/{p-7fca7185.js → p-0cc49790.js} +3 -25
  235. package/lib/dist-custom-elements/{p-c978c011.js → p-0ef384ca.js} +7 -30
  236. package/lib/dist-custom-elements/{p-d339505b.js → p-10feffd3.js} +1 -1
  237. package/lib/dist-custom-elements/{p-e68fe06d.js → p-14a163e6.js} +475 -272
  238. package/lib/dist-custom-elements/{p-f22c141f.js → p-25d4fffb.js} +1 -11
  239. package/lib/dist-custom-elements/{p-77e39f63.js → p-354f8a94.js} +3 -16
  240. package/lib/dist-custom-elements/{p-428f8fe3.js → p-37dd7faf.js} +2 -22
  241. package/lib/dist-custom-elements/{p-fff89409.js → p-4115062c.js} +2 -25
  242. package/lib/dist-custom-elements/{p-2481ab53.js → p-4447816d.js} +3 -20
  243. package/lib/dist-custom-elements/{p-9ed347f9.js → p-535ce3ec.js} +1 -1
  244. package/lib/dist-custom-elements/{p-33e00967.js → p-55325c49.js} +1 -1
  245. package/lib/dist-custom-elements/{p-f7d6c7c8.js → p-65ee8608.js} +8 -14
  246. package/lib/dist-custom-elements/{p-c2d5ef52.js → p-737dd784.js} +45 -111
  247. package/lib/dist-custom-elements/{p-c4d8cad0.js → p-738bd3c5.js} +1 -1
  248. package/lib/dist-custom-elements/{p-066e5253.js → p-7958dc0c.js} +30 -70
  249. package/lib/dist-custom-elements/{p-00d8bf80.js → p-82fec063.js} +2 -21
  250. package/lib/dist-custom-elements/{p-d01deae4.js → p-88d217a7.js} +2 -11
  251. package/lib/dist-custom-elements/{p-2320f4a6.js → p-9245c901.js} +2 -10
  252. package/lib/dist-custom-elements/{p-378842c8.js → p-94eae3e6.js} +1 -7
  253. package/lib/dist-custom-elements/{p-0b8f16f1.js → p-9986919d.js} +1 -1
  254. package/lib/dist-custom-elements/{p-d29accfb.js → p-9fef7d37.js} +21 -49
  255. package/lib/dist-custom-elements/{p-63ec7354.js → p-a1212d29.js} +1 -1
  256. package/lib/dist-custom-elements/{p-79d893c1.js → p-ad7292b3.js} +5 -26
  257. package/lib/dist-custom-elements/{p-37b3f58a.js → p-af2e8de4.js} +14 -46
  258. package/lib/dist-custom-elements/{p-a82f5ca7.js → p-b5ea480c.js} +9 -30
  259. package/lib/dist-custom-elements/{p-d84c65e4.js → p-bd64a84d.js} +6 -17
  260. package/lib/dist-custom-elements/{p-8184db82.js → p-cab1e8a0.js} +20 -71
  261. package/lib/dist-custom-elements/{p-fbcece41.js → p-d2402b45.js} +27 -80
  262. package/lib/dist-custom-elements/{p-d6e7df61.js → p-d34c42bc.js} +1 -10
  263. package/lib/dist-custom-elements/{p-204da43b.js → p-d628dd87.js} +17 -80
  264. package/lib/dist-custom-elements/{p-db21a6ca.js → p-db135ec9.js} +1 -13
  265. package/lib/{esm/shadow-css-501eda9a.js → dist-custom-elements/p-e2cd1c98.js} +1 -1
  266. package/lib/dist-custom-elements/{p-b9058029.js → p-e4a60f42.js} +8 -0
  267. package/lib/dist-custom-elements/{p-321dbb74.js → p-eb6fc032.js} +33 -109
  268. package/lib/dist-custom-elements/{p-d80f3be0.js → p-f7c0e5bf.js} +1 -23
  269. package/lib/dist-custom-elements/{p-bd533ea2.js → p-fddad5df.js} +5 -36
  270. package/lib/dist-custom-elements/{p-c1943ce9.js → p-fed8d27a.js} +5 -27
  271. package/lib/duet/duet.esm.js +1 -1
  272. package/lib/duet/duet.js +2 -1
  273. package/lib/duet/{p-8666ba38.system.entry.js → p-00ee31e2.system.entry.js} +1 -1
  274. package/lib/duet/{p-05a8d445.entry.js → p-0169eb09.entry.js} +1 -1
  275. package/lib/duet/{p-4e3d3e94.system.entry.js → p-0236fc28.system.entry.js} +1 -1
  276. package/lib/duet/p-0285e5d3.entry.js +4 -0
  277. package/lib/duet/{p-77bdfe6e.system.entry.js → p-028da443.system.entry.js} +2 -2
  278. package/lib/duet/{p-0d0beb65.system.entry.js → p-0426e86f.system.entry.js} +1 -1
  279. package/lib/duet/{p-c7f47570.system.entry.js → p-06c01b8a.system.entry.js} +1 -1
  280. package/lib/duet/{p-3b31184e.js → p-07970d29.js} +0 -0
  281. package/lib/duet/{p-2a493a0e.system.entry.js → p-09e9e6e0.system.entry.js} +2 -2
  282. package/lib/duet/p-0aae8ebf.entry.js +4 -0
  283. package/lib/duet/{p-c6df2736.system.entry.js → p-0c519c1f.system.entry.js} +1 -1
  284. package/lib/duet/p-0d218007.entry.js +4 -0
  285. package/lib/duet/p-0d6723f5.entry.js +4 -0
  286. package/lib/duet/p-0e1a3c6d.entry.js +4 -0
  287. package/lib/duet/{p-f9d7e274.entry.js → p-0f8e4b6a.entry.js} +1 -1
  288. package/lib/duet/p-0fc0e90e.entry.js +4 -0
  289. package/lib/duet/{p-8d88fa17.system.entry.js → p-10b1ea3e.system.entry.js} +2 -2
  290. package/lib/duet/{p-651dcf55.entry.js → p-1184c37e.entry.js} +1 -1
  291. package/lib/duet/{p-9a47beb4.entry.js → p-11c58a6b.entry.js} +1 -1
  292. package/lib/duet/p-14cca806.entry.js +4 -0
  293. package/lib/duet/{p-199f6d43.system.entry.js → p-14e93ad6.system.entry.js} +1 -1
  294. package/lib/duet/{p-d90afed1.system.entry.js → p-16b61523.system.entry.js} +2 -2
  295. package/lib/duet/p-16cbd476.entry.js +4 -0
  296. package/lib/duet/{p-6db3d0a6.entry.js → p-1833941e.entry.js} +1 -1
  297. package/lib/duet/{p-2b8921d9.system.entry.js → p-1a45eddb.system.entry.js} +1 -1
  298. package/lib/duet/{p-2fc85d76.entry.js → p-1b63c3bf.entry.js} +1 -1
  299. package/lib/duet/p-1e442975.entry.js +4 -0
  300. package/lib/duet/{p-69a5e4b8.entry.js → p-27a1c897.entry.js} +1 -1
  301. package/lib/duet/{p-f8469405.entry.js → p-2c5b761d.entry.js} +1 -1
  302. package/lib/duet/{p-70b6f442.entry.js → p-2cbe5fe4.entry.js} +1 -1
  303. package/lib/duet/{p-ed9b4b98.system.entry.js → p-2f0f8b9e.system.entry.js} +2 -2
  304. package/lib/duet/{p-28bd21cc.system.entry.js → p-326d3440.system.entry.js} +1 -1
  305. package/lib/duet/{p-e260059f.system.entry.js → p-394efc25.system.entry.js} +1 -1
  306. package/lib/duet/{p-8cc1adec.system.entry.js → p-400f8e9d.system.entry.js} +2 -2
  307. package/lib/duet/{p-87f97244.system.entry.js → p-43750071.system.entry.js} +1 -1
  308. package/lib/duet/{p-b0c1475a.entry.js → p-45b0469f.entry.js} +1 -1
  309. package/lib/duet/p-4644616b.entry.js +4 -0
  310. package/lib/duet/{p-4cbce73e.entry.js → p-4c96e54d.entry.js} +1 -1
  311. package/lib/duet/{p-bd09268f.system.entry.js → p-4d1a5b9e.system.entry.js} +1 -1
  312. package/lib/duet/{p-3dbc8279.system.entry.js → p-4e2db855.system.entry.js} +1 -1
  313. package/lib/duet/{p-bfe342b1.system.entry.js → p-5214682e.system.entry.js} +1 -1
  314. package/lib/duet/{p-fb35b871.system.entry.js → p-575e4d53.system.entry.js} +1 -1
  315. package/lib/duet/{p-08366ae7.system.entry.js → p-58de4753.system.entry.js} +1 -1
  316. package/lib/duet/p-592bcdd4.entry.js +4 -0
  317. package/lib/duet/{p-865a8528.system.entry.js → p-5b00d0cf.system.entry.js} +1 -1
  318. package/lib/duet/p-5bffb89f.entry.js +4 -0
  319. package/lib/duet/{p-b8959b6f.entry.js → p-5e134670.entry.js} +1 -1
  320. package/lib/duet/p-60c70efa.entry.js +4 -0
  321. package/lib/duet/p-61f8dd7f.system.entry.js +4 -0
  322. package/lib/duet/{p-89f143a3.system.entry.js → p-63cb7308.system.entry.js} +1 -1
  323. package/lib/duet/p-696d99ff.system.entry.js +4 -0
  324. package/lib/duet/p-6999702a.js +5 -0
  325. package/lib/duet/p-6db0f8c0.entry.js +4 -0
  326. package/lib/duet/{p-37cb3159.system.entry.js → p-6f2e72e2.system.entry.js} +2 -2
  327. package/lib/duet/{p-b668b67c.system.js → p-73900354.system.js} +0 -0
  328. package/lib/duet/{p-325e4d06.system.entry.js → p-758c0528.system.entry.js} +2 -2
  329. package/lib/duet/{p-63b28fee.system.entry.js → p-79c8d35c.system.entry.js} +1 -1
  330. package/lib/duet/{p-1e8f0b15.entry.js → p-7ccf8ef9.entry.js} +1 -1
  331. package/lib/duet/{p-f71d7d3b.system.entry.js → p-7e67fedc.system.entry.js} +1 -1
  332. package/lib/duet/{p-f60a660e.system.entry.js → p-7fcbf80a.system.entry.js} +1 -1
  333. package/lib/duet/{p-d509251c.entry.js → p-81313736.entry.js} +1 -1
  334. package/lib/duet/{p-2dde5eda.entry.js → p-81e66ef1.entry.js} +1 -1
  335. package/lib/duet/{p-70473bcc.js → p-8512b463.js} +1 -1
  336. package/lib/duet/p-855f9e2a.system.entry.js +4 -0
  337. package/lib/duet/{p-2c9b4b54.entry.js → p-8681c6e0.entry.js} +1 -1
  338. package/lib/duet/p-89bf7be7.entry.js +4 -0
  339. package/lib/duet/{p-feec6a21.system.entry.js → p-8a47d599.system.entry.js} +1 -1
  340. package/lib/duet/{p-e0733d78.entry.js → p-8f6cf5d1.entry.js} +1 -1
  341. package/lib/duet/{p-01e4ad70.system.entry.js → p-90ea4509.system.entry.js} +2 -2
  342. package/lib/duet/p-9101f9ed.entry.js +4 -0
  343. package/lib/duet/{p-15f1db88.system.entry.js → p-914c3280.system.entry.js} +1 -1
  344. package/lib/duet/{p-c400d01c.system.entry.js → p-948d492d.system.entry.js} +2 -2
  345. package/lib/duet/{p-17210d14.system.entry.js → p-9a14ca19.system.entry.js} +1 -1
  346. package/lib/duet/{p-cfa9d7df.system.entry.js → p-9f60735a.system.entry.js} +1 -1
  347. package/lib/duet/p-a8d942ea.entry.js +4 -0
  348. package/lib/duet/{p-a0c38881.entry.js → p-ac4c233b.entry.js} +1 -1
  349. package/lib/duet/p-acea52f5.entry.js +4 -0
  350. package/lib/duet/{p-0840d514.system.entry.js → p-b180a4e2.system.entry.js} +1 -1
  351. package/lib/duet/{p-737f77f5.system.entry.js → p-b2688afc.system.entry.js} +1 -1
  352. package/lib/duet/p-b293c2ff.entry.js +4 -0
  353. package/lib/duet/{p-0c9c6b33.entry.js → p-b2c913ea.entry.js} +1 -1
  354. package/lib/duet/p-b3046425.entry.js +4 -0
  355. package/lib/duet/p-b5dc8a8f.system.entry.js +4 -0
  356. package/lib/duet/{p-162a19c4.system.entry.js → p-b821b721.system.entry.js} +1 -1
  357. package/lib/duet/p-bc2c1014.entry.js +4 -0
  358. package/lib/duet/{p-0de9cdff.system.entry.js → p-bcd4a927.system.entry.js} +1 -1
  359. package/lib/duet/p-c12ecca9.entry.js +4 -0
  360. package/lib/duet/p-c17cae49.entry.js +4 -0
  361. package/lib/duet/p-c2c48bb2.entry.js +4 -0
  362. package/lib/duet/{p-dd952c1a.system.entry.js → p-c3a0505e.system.entry.js} +1 -1
  363. package/lib/duet/{p-ea23276d.entry.js → p-c41bfab0.entry.js} +1 -1
  364. package/lib/duet/{p-08118dc1.entry.js → p-c4932f05.entry.js} +1 -1
  365. package/lib/duet/{p-f97c3b7c.entry.js → p-c5e54be9.entry.js} +1 -1
  366. package/lib/duet/p-cf11b05b.entry.js +4 -0
  367. package/lib/duet/{p-4c6f9fb6.system.entry.js → p-d0f1d25f.system.entry.js} +1 -1
  368. package/lib/duet/p-d16434dc.entry.js +4 -0
  369. package/lib/duet/{p-8aea5243.entry.js → p-d2ef832d.entry.js} +1 -1
  370. package/lib/duet/{p-d31ee0d6.system.js → p-d58991bc.system.js} +1 -1
  371. package/lib/duet/p-d971be46.entry.js +4 -0
  372. package/lib/duet/{p-ff46ec81.system.js → p-da0d4ee3.system.js} +0 -0
  373. package/lib/duet/p-da803459.entry.js +4 -0
  374. package/lib/duet/{p-06799688.system.entry.js → p-daa20c36.system.entry.js} +1 -1
  375. package/lib/duet/{p-e3e94989.entry.js → p-dbddb719.entry.js} +1 -1
  376. package/lib/duet/{p-abb8e55c.system.entry.js → p-dc18b76c.system.entry.js} +1 -1
  377. package/lib/duet/p-dc51f077.entry.js +4 -0
  378. package/lib/duet/{p-b3e9368c.system.entry.js → p-dd676f12.system.entry.js} +1 -1
  379. package/lib/duet/{p-cc2b0098.system.entry.js → p-dfcbf758.system.entry.js} +1 -1
  380. package/lib/duet/{p-d4c234ed.js → p-e2cd1c98.js} +0 -0
  381. package/lib/duet/{p-185aae73.system.entry.js → p-e621c31c.system.entry.js} +1 -1
  382. package/lib/duet/p-e71a6257.system.js +5 -0
  383. package/lib/duet/{p-14ff22af.system.entry.js → p-ea8e5649.system.entry.js} +2 -2
  384. package/lib/duet/{p-5b11d0bb.system.entry.js → p-ebc09697.system.entry.js} +1 -1
  385. package/lib/duet/{p-97dd0fb2.entry.js → p-ec635593.entry.js} +1 -1
  386. package/lib/duet/p-ef3f4213.entry.js +4 -0
  387. package/lib/duet/{p-66c5896b.system.entry.js → p-f01d234f.system.entry.js} +1 -1
  388. package/lib/duet/p-f150740b.entry.js +4 -0
  389. package/lib/duet/{p-d440608a.system.entry.js → p-f2bcb922.system.entry.js} +1 -1
  390. package/lib/duet/{p-d31cb05e.entry.js → p-f3d0d889.entry.js} +1 -1
  391. package/lib/duet/{p-9da8a731.system.entry.js → p-f6712ec8.system.entry.js} +1 -1
  392. package/lib/duet/{p-6cc95db3.system.entry.js → p-f678edf7.system.entry.js} +1 -1
  393. package/lib/duet/p-f7453c05.system.entry.js +4 -0
  394. package/lib/duet/{p-6aa6ec86.system.js → p-f9133dc5.system.js} +1 -1
  395. package/lib/duet/{p-532dff7f.system.entry.js → p-f9afad76.system.entry.js} +1 -1
  396. package/lib/esm/{dom-3dbcb0d8.js → dom-4d9c03f4.js} +1 -1
  397. package/lib/esm/duet-action-button.entry.js +14 -77
  398. package/lib/esm/duet-alert.entry.js +10 -42
  399. package/lib/esm/duet-badge.entry.js +1 -10
  400. package/lib/esm/duet-breadcrumb.entry.js +2 -10
  401. package/lib/esm/duet-breadcrumbs.entry.js +2 -4
  402. package/lib/esm/duet-button_2.entry.js +30 -119
  403. package/lib/esm/duet-caption_4.entry.js +4 -78
  404. package/lib/esm/duet-card.entry.js +16 -55
  405. package/lib/esm/duet-checkbox.entry.js +21 -49
  406. package/lib/esm/duet-choice_2.entry.js +51 -152
  407. package/lib/esm/duet-collapsible.entry.js +8 -41
  408. package/lib/esm/duet-combobox.entry.js +26 -50
  409. package/lib/esm/duet-cookie-consent.entry.js +3 -9
  410. package/lib/esm/duet-date-picker.entry.js +37 -108
  411. package/lib/esm/duet-divider_2.entry.js +1 -17
  412. package/lib/esm/duet-editable-table_3.entry.js +163 -404
  413. package/lib/esm/duet-empty-state.entry.js +1 -10
  414. package/lib/esm/duet-fieldset.entry.js +7 -13
  415. package/lib/esm/duet-footer.entry.js +13 -42
  416. package/lib/esm/duet-grid_2.entry.js +3 -43
  417. package/lib/esm/duet-header_2.entry.js +56 -163
  418. package/lib/esm/duet-hero.entry.js +15 -90
  419. package/lib/esm/duet-icon.entry.js +4 -35
  420. package/lib/esm/duet-input_2.entry.js +41 -115
  421. package/lib/esm/duet-layout.entry.js +1 -24
  422. package/lib/esm/duet-list_2.entry.js +1 -23
  423. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -10
  424. package/lib/esm/duet-menu-bar-dropdown.entry.js +4 -13
  425. package/lib/esm/duet-menu-bar-link.entry.js +1 -10
  426. package/lib/esm/duet-menu-bar-menu-dropdown-link.entry.js +1 -16
  427. package/lib/esm/duet-menu-bar-menu-dropdown.entry.js +4 -13
  428. package/lib/esm/duet-menu-bar-menu-link.entry.js +1 -13
  429. package/lib/esm/duet-menu-bar-menu.entry.js +4 -13
  430. package/lib/esm/duet-menu-bar.entry.js +3 -6
  431. package/lib/esm/duet-modal.entry.js +4 -59
  432. package/lib/esm/duet-multiselect.entry.js +18 -59
  433. package/lib/esm/duet-nav.entry.js +2 -5
  434. package/lib/esm/duet-notification_2.entry.js +15 -74
  435. package/lib/esm/duet-number-input.entry.js +53 -142
  436. package/lib/esm/duet-pagination_2.entry.js +51 -125
  437. package/lib/esm/duet-progress.entry.js +4 -26
  438. package/lib/esm/duet-radio_2.entry.js +36 -84
  439. package/lib/esm/duet-range-slider.entry.js +21 -62
  440. package/lib/esm/duet-scrollable_3.entry.js +25 -88
  441. package/lib/esm/duet-section-layout.entry.js +1 -7
  442. package/lib/esm/duet-select.entry.js +25 -65
  443. package/lib/esm/duet-step_2.entry.js +8 -34
  444. package/lib/esm/duet-textarea.entry.js +31 -79
  445. package/lib/esm/duet-toggle.entry.js +15 -38
  446. package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -13
  447. package/lib/esm/duet-toolbar-dropdown.entry.js +5 -17
  448. package/lib/esm/duet-toolbar-link.entry.js +1 -13
  449. package/lib/esm/duet-toolbar.entry.js +1 -4
  450. package/lib/esm/duet-tooltip.entry.js +25 -78
  451. package/lib/esm/duet-tray.entry.js +11 -53
  452. package/lib/esm/duet-upload-aria-status.entry.js +8 -29
  453. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  454. package/lib/esm/duet.js +4 -4
  455. package/lib/esm/{focus-utils-9787b47f.js → focus-utils-abaea1e6.js} +1 -1
  456. package/lib/esm/{index-8469ee1a.js → index-4df60498.js} +1438 -1235
  457. package/lib/esm/loader.js +3 -3
  458. package/lib/esm/polyfills/css-shim.js +1 -1
  459. package/lib/{dist-custom-elements/p-d4c234ed.js → esm/shadow-css-a011f1fe.js} +1 -1
  460. package/lib/esm-es5/{dom-3dbcb0d8.js → dom-4d9c03f4.js} +0 -0
  461. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  462. package/lib/esm-es5/duet-alert.entry.js +1 -1
  463. package/lib/esm-es5/duet-badge.entry.js +1 -1
  464. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  465. package/lib/esm-es5/duet-breadcrumbs.entry.js +2 -2
  466. package/lib/esm-es5/duet-button_2.entry.js +2 -2
  467. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  468. package/lib/esm-es5/duet-card.entry.js +1 -1
  469. package/lib/esm-es5/duet-checkbox.entry.js +2 -2
  470. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  471. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  472. package/lib/esm-es5/duet-combobox.entry.js +2 -2
  473. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  474. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  475. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  476. package/lib/esm-es5/duet-editable-table_3.entry.js +2 -2
  477. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  478. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  479. package/lib/esm-es5/duet-footer.entry.js +2 -2
  480. package/lib/esm-es5/duet-grid_2.entry.js +2 -2
  481. package/lib/esm-es5/duet-header_2.entry.js +2 -2
  482. package/lib/esm-es5/duet-hero.entry.js +1 -1
  483. package/lib/esm-es5/duet-icon.entry.js +2 -2
  484. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  485. package/lib/esm-es5/duet-layout.entry.js +1 -1
  486. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  487. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  488. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  489. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  490. package/lib/esm-es5/duet-menu-bar-menu-dropdown-link.entry.js +1 -1
  491. package/lib/esm-es5/duet-menu-bar-menu-dropdown.entry.js +1 -1
  492. package/lib/esm-es5/duet-menu-bar-menu-link.entry.js +1 -1
  493. package/lib/esm-es5/duet-menu-bar-menu.entry.js +1 -1
  494. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  495. package/lib/esm-es5/duet-modal.entry.js +2 -2
  496. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  497. package/lib/esm-es5/duet-nav.entry.js +1 -1
  498. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  499. package/lib/esm-es5/duet-number-input.entry.js +2 -2
  500. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  501. package/lib/esm-es5/duet-progress.entry.js +1 -1
  502. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  503. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  504. package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
  505. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  506. package/lib/esm-es5/duet-select.entry.js +2 -2
  507. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  508. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  509. package/lib/esm-es5/duet-toggle.entry.js +2 -2
  510. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  511. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  512. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  513. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  514. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  515. package/lib/esm-es5/duet-tray.entry.js +1 -1
  516. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  517. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  518. package/lib/esm-es5/duet.js +1 -1
  519. package/lib/esm-es5/focus-utils-abaea1e6.js +4 -0
  520. package/lib/esm-es5/index-4df60498.js +5 -0
  521. package/lib/esm-es5/loader.js +1 -1
  522. package/lib/esm-es5/{shadow-css-501eda9a.js → shadow-css-a011f1fe.js} +0 -0
  523. package/lib/loader/package.json +1 -0
  524. package/lib/types/components/duet-combobox/duet-combobox.d.ts +1 -2
  525. package/lib/types/stencil-public-runtime.d.ts +20 -4
  526. package/package.json +8 -11
  527. package/lib/duet/p-096f20dc.js +0 -5
  528. package/lib/duet/p-186f5c04.entry.js +0 -4
  529. package/lib/duet/p-1a48148d.entry.js +0 -4
  530. package/lib/duet/p-1a6a0dc6.entry.js +0 -4
  531. package/lib/duet/p-1f224365.entry.js +0 -4
  532. package/lib/duet/p-2b2e62d6.entry.js +0 -4
  533. package/lib/duet/p-2e356385.entry.js +0 -4
  534. package/lib/duet/p-400766d6.entry.js +0 -4
  535. package/lib/duet/p-410af698.entry.js +0 -4
  536. package/lib/duet/p-487f2417.system.entry.js +0 -4
  537. package/lib/duet/p-5f15acee.system.entry.js +0 -4
  538. package/lib/duet/p-6d7416bc.entry.js +0 -4
  539. package/lib/duet/p-71f7a269.entry.js +0 -4
  540. package/lib/duet/p-74c4587a.system.entry.js +0 -4
  541. package/lib/duet/p-779adc11.system.entry.js +0 -4
  542. package/lib/duet/p-7b1ed7b7.entry.js +0 -4
  543. package/lib/duet/p-7c527761.entry.js +0 -4
  544. package/lib/duet/p-82ed2eea.entry.js +0 -4
  545. package/lib/duet/p-8b328e9d.entry.js +0 -4
  546. package/lib/duet/p-90f9c2b6.entry.js +0 -4
  547. package/lib/duet/p-92c0d1a1.entry.js +0 -4
  548. package/lib/duet/p-9c8cd6d0.system.entry.js +0 -4
  549. package/lib/duet/p-9db96010.entry.js +0 -4
  550. package/lib/duet/p-a1191c7c.entry.js +0 -4
  551. package/lib/duet/p-a27830b0.entry.js +0 -4
  552. package/lib/duet/p-b0d7a24e.entry.js +0 -4
  553. package/lib/duet/p-b3237285.entry.js +0 -4
  554. package/lib/duet/p-bc2b6d90.entry.js +0 -4
  555. package/lib/duet/p-bd1ca1bf.entry.js +0 -4
  556. package/lib/duet/p-c634ea77.entry.js +0 -4
  557. package/lib/duet/p-c686bbb6.entry.js +0 -4
  558. package/lib/duet/p-cfee81ae.system.js +0 -5
  559. package/lib/duet/p-d1eeb040.entry.js +0 -4
  560. package/lib/duet/p-d35bb3c7.entry.js +0 -4
  561. package/lib/duet/p-e6162450.entry.js +0 -4
  562. package/lib/duet/p-ed0e37f0.entry.js +0 -4
  563. package/lib/duet/p-f5863365.entry.js +0 -4
  564. package/lib/duet/p-fcb2e0dc.entry.js +0 -4
  565. package/lib/esm-es5/focus-utils-9787b47f.js +0 -4
  566. package/lib/esm-es5/index-8469ee1a.js +0 -5
@@ -8,7 +8,7 @@ import loginIcon from "@duetds/icons/lib/assets/navigation-login";
8
8
  import logoutIcon from "@duetds/icons/lib/assets/navigation-logout";
9
9
  import userIcon from "@duetds/icons/lib/assets/navigation-user";
10
10
  import { media_query_large } from "@duetds/tokens/lib/tokens.json";
11
- import { Build, Component, Element, Event, Fragment, h, Host, Listen, Method, Prop, State, Watch, } from "@stencil/core";
11
+ import { Build, Fragment, h, Host, } from "@stencil/core";
12
12
  import { disableBodyScroll, enableBodyScroll } from "body-scroll-lock/lib/bodyScrollLock.es6.js";
13
13
  import { DuetStringsExternalDefaults } from "../../common-strings";
14
14
  import { inheritGlobalTheme } from "../../common/themeable-component";
@@ -39,148 +39,6 @@ export class DuetHeader {
39
39
  this.hasLanguageChanged = false;
40
40
  this.mql = [window.matchMedia(media_query_large.replace(/'/g, ""))];
41
41
  this.boundMqlFunctions = [];
42
- /**
43
- * State() variables
44
- * Inlined decorator, alphabetical order.
45
- */
46
- this.isContactOpen = false;
47
- this.isLanguageOpen = false;
48
- this.isSessionOpen = false;
49
- this.isSlideOutOpen = false;
50
- this.isSegmentOpen = false;
51
- this.openMenu = null;
52
- this.closedActives = null;
53
- this.processedItems = null;
54
- this.processedLanguageItems = null;
55
- this.processedContactItems = null;
56
- this.processedSession = null;
57
- this.processedSearch = null;
58
- this.processedUser = null;
59
- this.processedBack = null;
60
- this.renderDesktopNav = Build.isServer ? true : (_a = this.mql[0]) === null || _a === void 0 ? void 0 : _a.matches;
61
- /**
62
- * Theme of the header.
63
- */
64
- this.theme = "";
65
- /**
66
- * The currently active language. This setting also changes the logo to match
67
- * the chosen language.
68
- * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
69
- * @default "fi"
70
- */
71
- this.language = getLanguage();
72
- /**
73
- * Default strings for accessibleI18nLabels
74
- * @default {
75
- fi: {
76
- skipLabel: "Siirry pääsisältöön",
77
- changeLanguage: "Vaihda kieltä",
78
- activeLanguage: "Suomi valittuna",
79
- },
80
- sv: {
81
- skipLabel: "Hoppa till huvudinnehåll",
82
- changeLanguage: "Ändra Språk",
83
- activeLanguage: "Svenska valt",
84
- },
85
- en: {
86
- skipLabel: "Skip to main content",
87
- changeLanguage: "Change language",
88
- activeLanguage: "English selected",
89
- },
90
- }
91
- */
92
- this.accessibleI18nLabelsDefaults = {
93
- fi: {
94
- skipLabel: "Siirry pääsisältöön",
95
- changeLanguage: "Vaihda kieltä",
96
- activeLanguage: "Suomi valittuna",
97
- },
98
- sv: {
99
- skipLabel: "Gå till huvudinnehåll",
100
- changeLanguage: "Ändra Språk",
101
- activeLanguage: "Svenska valt",
102
- },
103
- en: {
104
- skipLabel: "Skip to main content",
105
- changeLanguage: "Change language",
106
- activeLanguage: "English selected",
107
- },
108
- };
109
- /**
110
- * Adds i18n translations of all internally used textStrings
111
- * @default {
112
- fi: {
113
- skipLabel: "Siirry pääsisältöön",
114
- changeLanguage: "Vaihda kieltä",
115
- activeLanguage: "Suomi valittuna",
116
- },
117
- sv: {
118
- skipLabel: "Hoppa till huvudinnehåll",
119
- changeLanguage: "Ändra Språk",
120
- activeLanguage: "Svenska valt",
121
- },
122
- en: {
123
- skipLabel: "Skip to main content",
124
- changeLanguage: "Change language",
125
- activeLanguage: "English selected",
126
- },
127
- }
128
- */
129
- this.accessibleI18nLabels = getLocaleString(this.accessibleI18nLabelsDefaults);
130
- /**
131
- * Property to change accessibleLabelExternal defaults on the component.
132
- * normally you would handle these strings on an application level and override @accessibleLabelExternal when needed
133
- * @default {fi: "Avautuu uuteen ikkunaan",sv: "Öppnas i nytt fönster",en: "Opens in a new window"}
134
- */
135
- this.accessibleLabelExternalDefaults = DuetStringsExternalDefaults;
136
- /**
137
- * Adds accessible label for tooltip that is shown in external link (url & external have both been set)
138
- * @default {fi: "Avautuu uuteen ikkunaan",sv: "Öppnas i nytt fönster",en: "Opens in a new window"}
139
- */
140
- this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults);
141
- /**
142
- * Property to change accessibleLabel defaults on the component.
143
- * normally you would handle these strings on an application level and override @accessibleLabel when needed
144
- */
145
- this.accessibleLabelDefaults = {
146
- fi: "Valikko",
147
- sv: "Meny",
148
- en: "Menu",
149
- };
150
- /**
151
- * Accessible label that is shown for screen reader users in the mobile
152
- * navigation toggle. Not visible for normal users.
153
- * @default {
154
- fi: "Valikko",
155
- sv: "Meny",
156
- en: "Menu",
157
- }
158
- */
159
- this.accessibleLabel = getLocaleString(this.accessibleLabelDefaults);
160
- /**
161
- * URL that the logo link points to.
162
- */
163
- this.logoHref = "/";
164
- /**
165
- * The href of the current page item that is shown as “active”.
166
- * Note: not available in multilevel headers.
167
- */
168
- this.currentHref = "/";
169
- /**
170
- * The ID of the element where "skip to content" link should take the user.
171
- * If empty, the functionality won’t be rendered in the DOM.
172
- */
173
- this.skipToId = "";
174
- /**
175
- * Region that is shown next to the logo. If empty, region will be hidden.
176
- * Note: not available in multilevel header.
177
- */
178
- this.region = "";
179
- /**
180
- * Label of the contact menu. If empty, contact menu will be hidden.
181
- * Note: not available in multilevel headers.
182
- */
183
- this.contact = "";
184
42
  this.handleClick = (event) => {
185
43
  if (event.data.analyticsId) {
186
44
  this.duetAnalytics.emit({
@@ -337,6 +195,61 @@ export class DuetHeader {
337
195
  originalEvent: ev,
338
196
  });
339
197
  };
198
+ this.isContactOpen = false;
199
+ this.isLanguageOpen = false;
200
+ this.isSessionOpen = false;
201
+ this.isSlideOutOpen = false;
202
+ this.isSegmentOpen = false;
203
+ this.openMenu = null;
204
+ this.closedActives = null;
205
+ this.processedItems = null;
206
+ this.processedLanguageItems = null;
207
+ this.processedContactItems = null;
208
+ this.processedSession = null;
209
+ this.processedSearch = null;
210
+ this.processedUser = null;
211
+ this.processedBack = null;
212
+ this.renderDesktopNav = Build.isServer ? true : (_a = this.mql[0]) === null || _a === void 0 ? void 0 : _a.matches;
213
+ this.theme = "";
214
+ this.language = getLanguage();
215
+ this.accessibleI18nLabelsDefaults = {
216
+ fi: {
217
+ skipLabel: "Siirry pääsisältöön",
218
+ changeLanguage: "Vaihda kieltä",
219
+ activeLanguage: "Suomi valittuna",
220
+ },
221
+ sv: {
222
+ skipLabel: "Gå till huvudinnehåll",
223
+ changeLanguage: "Ändra Språk",
224
+ activeLanguage: "Svenska valt",
225
+ },
226
+ en: {
227
+ skipLabel: "Skip to main content",
228
+ changeLanguage: "Change language",
229
+ activeLanguage: "English selected",
230
+ },
231
+ };
232
+ this.accessibleI18nLabels = getLocaleString(this.accessibleI18nLabelsDefaults);
233
+ this.accessibleLabelExternalDefaults = DuetStringsExternalDefaults;
234
+ this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults);
235
+ this.accessibleLabelDefaults = {
236
+ fi: "Valikko",
237
+ sv: "Meny",
238
+ en: "Menu",
239
+ };
240
+ this.accessibleLabel = getLocaleString(this.accessibleLabelDefaults);
241
+ this.user = undefined;
242
+ this.logoHref = "/";
243
+ this.currentHref = "/";
244
+ this.skipToId = "";
245
+ this.items = undefined;
246
+ this.region = "";
247
+ this.session = undefined;
248
+ this.search = undefined;
249
+ this.back = undefined;
250
+ this.contact = "";
251
+ this.contactItems = undefined;
252
+ this.languageItems = undefined;
340
253
  }
341
254
  /**
342
255
  * Component lifecycle events.
@@ -503,50 +416,21 @@ export class DuetHeader {
503
416
  const skipToLabel = () => this.skipToId ? (h("a", { href: this.skipToId, class: "duet-header-skip", onClick: this.handleSkipClick }, skipLabel)) : null;
504
417
  const logo = () => (h("duet-logo", { href: this.logoHref, size: "medium", ref: el => (this.logoEl = el), language: this.language, theme: this.theme, onClick: this.handleLogoClick }));
505
418
  const largeLogo = () => (h("duet-logo", { href: this.logoHref, size: "large", ref: el => (this.logoEl = el), language: this.language, theme: this.theme, onClick: this.handleLogoClick }));
506
- const contactDropdown = () => this.contact && this.processedContactItems ? (h(DuetHeaderDropdown, { id: "duet-header-contact", label: this.contact, icon: contactDropdownIcon.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("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" },
507
- item.label,
508
- Build.isBrowser && item.external && (h(Fragment, null,
509
- h("duet-visually-hidden", null,
510
- ", ",
511
- this.accessibleLabelExternal),
512
- h("span", { class: "duet-header-link-external" },
513
- h("duet-icon", { name: "action-new-window-small", size: "xx-small", margin: "none", color: this.theme === "turva" ? "primary-turva" : "primary" }))))))))) : null;
419
+ const contactDropdown = () => this.contact && this.processedContactItems ? (h(DuetHeaderDropdown, { id: "duet-header-contact", label: this.contact, icon: contactDropdownIcon.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("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, Build.isBrowser && item.external && (h(Fragment, null, h("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h("span", { class: "duet-header-link-external" }, h("duet-icon", { name: "action-new-window-small", size: "xx-small", margin: "none", color: this.theme === "turva" ? "primary-turva" : "primary" }))))))))) : null;
514
420
  const languageDropdown = () => this.language && this.processedLanguageItems ? (h(DuetHeaderDropdown, { id: "duet-header-language", label: this.language, icon: languageIcon.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("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;
515
- const processedUserWithLink = () => this.processedUser && this.processedUser.href ? (h("a", { href: this.processedUser.href || "#", id: this.processedUser.id, class: "duet-header-user duet-header-button", onClick: this.handleUserClick },
516
- h(DuetHeaderIcon, { icon: userIcon.svg }),
517
- h("span", { class: "duet-header-user-label" }, this.processedUser.label))) : null;
518
- const processedUserWithoutLink = () => this.processedUser && !this.processedUser.href ? (h("span", { id: this.processedUser.id, class: "duet-header-user duet-header-button duet-header-no-action" },
519
- h(DuetHeaderIcon, { icon: userIcon.svg }),
520
- h("span", { class: "duet-header-user-label" }, this.processedUser.label))) : null;
521
- const processedSession = () => this.processedSession ? (h("a", { href: this.processedSession.href || "#", id: this.processedSession.id, class: "duet-header-logout duet-header-button", onClick: this.handleSessionClick },
522
- h(DuetHeaderIcon, { class: "desktop", icon: this.processedSession.type === "logout" ? logoutIcon.svg : loginIcon.svg, iconSize: "x-small" }),
523
- h(DuetHeaderIcon, { class: "mobile", icon: this.processedSession.type === "logout" ? logoutIcon.svg : loginIcon.svg, iconSize: "small" }),
524
- h("span", { class: "duet-header-button-label" }, this.processedSession.label))) : null;
525
- const processedSessionDropdown = () => this.processedSession && this.processedSession.sessionItems ? (h(DuetHeaderDropdown, { className: "duet-header-session", id: "duet-header-session", label: this.processedSession.label, icon: this.processedSession.type === "logout" ? logoutIcon.svg : loginIcon.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(Fragment, null,
526
- sessionItem.label && h("span", { class: "duet-header-session-label" }, sessionItem.label),
527
- h("duet-spacer", { size: "small", "aria-hidden": "true" }),
528
- sessionItem.items.map(item => (h("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))),
529
- index !== this.processedSession.sessionItems.length - 1 && (h(Fragment, null,
530
- h("duet-spacer", { size: "x-small", "aria-hidden": "true" }),
531
- h("duet-divider", { margin: "none", "aria-hidden": "true" })))))))) : null;
532
- const processedSearch = () => this.processedSearch ? (h("a", { href: this.processedSearch.href || "#", id: this.processedSearch.id, class: "duet-header-search duet-header-button", onClick: this.handleSearchClick },
533
- h(DuetHeaderIcon, { icon: searchIcon.svg }),
534
- h("span", { class: "duet-header-button-label" }, this.processedSearch.label))) : null;
421
+ const processedUserWithLink = () => this.processedUser && this.processedUser.href ? (h("a", { href: this.processedUser.href || "#", id: this.processedUser.id, class: "duet-header-user duet-header-button", onClick: this.handleUserClick }, h(DuetHeaderIcon, { icon: userIcon.svg }), h("span", { class: "duet-header-user-label" }, this.processedUser.label))) : null;
422
+ const processedUserWithoutLink = () => this.processedUser && !this.processedUser.href ? (h("span", { id: this.processedUser.id, class: "duet-header-user duet-header-button duet-header-no-action" }, h(DuetHeaderIcon, { icon: userIcon.svg }), h("span", { class: "duet-header-user-label" }, this.processedUser.label))) : null;
423
+ const processedSession = () => this.processedSession ? (h("a", { href: this.processedSession.href || "#", id: this.processedSession.id, class: "duet-header-logout duet-header-button", onClick: this.handleSessionClick }, h(DuetHeaderIcon, { class: "desktop", icon: this.processedSession.type === "logout" ? logoutIcon.svg : loginIcon.svg, iconSize: "x-small" }), h(DuetHeaderIcon, { class: "mobile", icon: this.processedSession.type === "logout" ? logoutIcon.svg : loginIcon.svg, iconSize: "small" }), h("span", { class: "duet-header-button-label" }, this.processedSession.label))) : null;
424
+ const processedSessionDropdown = () => this.processedSession && this.processedSession.sessionItems ? (h(DuetHeaderDropdown, { className: "duet-header-session", id: "duet-header-session", label: this.processedSession.label, icon: this.processedSession.type === "logout" ? logoutIcon.svg : loginIcon.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(Fragment, null, sessionItem.label && h("span", { class: "duet-header-session-label" }, sessionItem.label), h("duet-spacer", { size: "small", "aria-hidden": "true" }), sessionItem.items.map(item => (h("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(Fragment, null, h("duet-spacer", { size: "x-small", "aria-hidden": "true" }), h("duet-divider", { margin: "none", "aria-hidden": "true" })))))))) : null;
425
+ const processedSearch = () => this.processedSearch ? (h("a", { href: this.processedSearch.href || "#", id: this.processedSearch.id, class: "duet-header-search duet-header-button", onClick: this.handleSearchClick }, h(DuetHeaderIcon, { icon: searchIcon.svg }), h("span", { class: "duet-header-button-label" }, this.processedSearch.label))) : null;
535
426
  // Back variation
536
427
  if (this.processedBack) {
537
- return (h(Host, { class: "duet-header-back-variation" },
538
- h("div", { class: "duet-header-reserved-space" },
539
- h("header", { class: {
540
- "duet-header": true,
541
- "duet-theme-turva": this.theme === "turva",
542
- "duet-header-back": true,
543
- "duet-header-inactive": true,
544
- }, part: "header" },
545
- h("div", { class: "duet-header-top" },
546
- skipToLabel(),
547
- h("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),
548
- logo(),
549
- h("slot", { name: "logo-utility" }))))));
428
+ return (h(Host, { class: "duet-header-back-variation" }, h("div", { class: "duet-header-reserved-space" }, h("header", { class: {
429
+ "duet-header": true,
430
+ "duet-theme-turva": this.theme === "turva",
431
+ "duet-header-back": true,
432
+ "duet-header-inactive": true,
433
+ }, part: "header" }, h("div", { class: "duet-header-top" }, skipToLabel(), h("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("slot", { name: "logo-utility" }))))));
550
434
  }
551
435
  const itemsHaveSubItems = this.processedItems && this.processedItems.some(item => item.items && item.items.length > 0);
552
436
  const isSecondLevelActive = this.processedItems &&
@@ -560,76 +444,47 @@ export class DuetHeader {
560
444
  "duet-header-second-level-active": isSecondLevelActive,
561
445
  "duet-header-third-level-active": isThirdLevelActive,
562
446
  "duet-header-items-have-sub-items": itemsHaveSubItems,
563
- } },
564
- h("header", { class: {
565
- "duet-header": true,
566
- "duet-theme-turva": this.theme === "turva",
567
- "duet-header-inactive": !this.processedItems,
568
- }, part: "header" },
569
- h("div", { class: "duet-header-top" },
570
- skipToLabel(),
571
- logo(),
572
- h("slot", { name: "logo-utility" }, this.region && h("div", { class: "duet-header-region" }, this.region)),
573
- (this.processedItems ||
574
- languageDropdown() ||
575
- contactDropdown() ||
576
- this.processedSession ||
577
- this.processedUser) && (h("button", { class: { "duet-header-toggle": true, active: this.isSlideOutOpen }, onClick: event => this.toggleMenu(event, "mobile"), type: "button" },
578
- h("duet-visually-hidden", null, this.accessibleLabel),
579
- h(DuetHeaderHamburger, null)))),
580
- h("div", { ref: el => (this.navigationEl = el), class: {
581
- "duet-header-bottom": true,
582
- active: this.isSlideOutOpen,
583
- inactive: !this.processedItems,
584
- } },
585
- h("nav", { class: "duet-header-items", role: "navigation" }, this.processedItems &&
586
- this.processedItems.map((item, itemIndex) => (h("div", { class: "duet-header-item-container" },
587
- h("a", { class: {
588
- "duet-header-first-level": true,
589
- "duet-header-item": true,
590
- active: (!itemsHaveSubItems && this.currentHref === item.href) ||
591
- (item.active === true &&
592
- !this.openMenu &&
593
- this.closedActives &&
594
- this.closedActives.length === 1) ||
595
- (item.active === true &&
596
- !this.openMenu &&
597
- item.items &&
598
- !item.items.some(s => s.active === true)),
599
- }, 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) },
600
- item.label,
601
- item.badge && h("div", { class: "duet-header-badge" })),
447
+ } }, h("header", { class: {
448
+ "duet-header": true,
449
+ "duet-theme-turva": this.theme === "turva",
450
+ "duet-header-inactive": !this.processedItems,
451
+ }, part: "header" }, h("div", { class: "duet-header-top" }, skipToLabel(), logo(), h("slot", { name: "logo-utility" }, this.region && h("div", { class: "duet-header-region" }, this.region)), (this.processedItems ||
452
+ languageDropdown() ||
453
+ contactDropdown() ||
454
+ this.processedSession ||
455
+ this.processedUser) && (h("button", { class: { "duet-header-toggle": true, active: this.isSlideOutOpen }, onClick: event => this.toggleMenu(event, "mobile"), type: "button" }, h("duet-visually-hidden", null, this.accessibleLabel), h(DuetHeaderHamburger, null)))), h("div", { ref: el => (this.navigationEl = el), class: {
456
+ "duet-header-bottom": true,
457
+ active: this.isSlideOutOpen,
458
+ inactive: !this.processedItems,
459
+ } }, h("nav", { class: "duet-header-items", role: "navigation" }, this.processedItems &&
460
+ this.processedItems.map((item, itemIndex) => (h("div", { class: "duet-header-item-container" }, h("a", { class: {
461
+ "duet-header-first-level": true,
462
+ "duet-header-item": true,
463
+ active: (!itemsHaveSubItems && this.currentHref === item.href) ||
464
+ (item.active === true &&
465
+ !this.openMenu &&
466
+ this.closedActives &&
467
+ this.closedActives.length === 1) ||
468
+ (item.active === true &&
469
+ !this.openMenu &&
602
470
  item.items &&
603
- item.items
604
- .filter(secondLevelitem => secondLevelitem.items && secondLevelitem.items.length > 0)
605
- .map((secondLevelItem, secondLevelItemIndex) => {
606
- const id = secondLevelItem.id || `header-item-${itemIndex}-${secondLevelItemIndex}`;
607
- const active = (!this.openMenu &&
608
- secondLevelItem.active === true &&
609
- !(this.closedActives && !!this.closedActives.find(i => i === id))) ||
610
- this.openMenu === id;
611
- const activeBar = active && !(secondLevelItem.items && secondLevelItem.items.some(s => s.active === true));
612
- return (h(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) },
613
- h("div", { class: "duet-header-third-level" }, secondLevelItem.items &&
614
- secondLevelItem.items.map(thirdLevelItem => (h("a", { class: {
615
- "duet-header-item": true,
616
- active: thirdLevelItem.active === true,
617
- }, 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" },
618
- thirdLevelItem.icon && (h("div", { class: "duet-header-icon" },
619
- h("duet-icon", { margin: "none", size: "medium", name: thirdLevelItem.icon, color: "currentColor" }))),
620
- h("span", null, thirdLevelItem.label),
621
- thirdLevelItem.badge && h("div", { class: "duet-header-badge" })))))));
622
- }))))),
623
- h("div", { class: "duet-header-bottom-utils" },
624
- h("slot", { name: "utility" })),
625
- h("div", { class: "duet-header-utils" },
626
- !itemsHaveSubItems && contactDropdown(),
627
- languageDropdown(),
628
- !itemsHaveSubItems && (h(Fragment, null,
629
- processedUserWithLink(),
630
- processedUserWithoutLink())),
631
- processedSearch(),
632
- processedSession())))));
471
+ !item.items.some(s => s.active === true)),
472
+ }, 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("div", { class: "duet-header-badge" })), item.items &&
473
+ item.items
474
+ .filter(secondLevelitem => secondLevelitem.items && secondLevelitem.items.length > 0)
475
+ .map((secondLevelItem, secondLevelItemIndex) => {
476
+ const id = secondLevelItem.id || `header-item-${itemIndex}-${secondLevelItemIndex}`;
477
+ const active = (!this.openMenu &&
478
+ secondLevelItem.active === true &&
479
+ !(this.closedActives && !!this.closedActives.find(i => i === id))) ||
480
+ this.openMenu === id;
481
+ const activeBar = active && !(secondLevelItem.items && secondLevelItem.items.some(s => s.active === true));
482
+ return (h(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("div", { class: "duet-header-third-level" }, secondLevelItem.items &&
483
+ secondLevelItem.items.map(thirdLevelItem => (h("a", { class: {
484
+ "duet-header-item": true,
485
+ active: thirdLevelItem.active === true,
486
+ }, 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("div", { class: "duet-header-icon" }, h("duet-icon", { margin: "none", size: "medium", name: thirdLevelItem.icon, color: "currentColor" }))), h("span", null, thirdLevelItem.label), thirdLevelItem.badge && h("div", { class: "duet-header-badge" })))))));
487
+ }))))), h("div", { class: "duet-header-bottom-utils" }, h("slot", { name: "utility" })), h("div", { class: "duet-header-utils" }, !itemsHaveSubItems && contactDropdown(), languageDropdown(), !itemsHaveSubItems && (h(Fragment, null, processedUserWithLink(), processedUserWithoutLink())), processedSearch(), processedSession())))));
633
488
  // multi level variation
634
489
  if (itemsHaveSubItems) {
635
490
  const activeSegment = this.processedItems.find(item => item.active);
@@ -637,43 +492,21 @@ export class DuetHeader {
637
492
  this.processedItems.some(item => item.items &&
638
493
  item.items.some(secondLevelItem => secondLevelItem.items && secondLevelItem.items.some(thirdLevelItem => thirdLevelItem.active === true)));
639
494
  const segmentId = "duet-header-segment";
640
- return (h(Host, { class: "duet-header-multi-level-variation" },
641
- h("div", { class: {
642
- "duet-header-multi-level": true,
643
- "duet-header-multi-level-third-level-is-open": isThirdLevelActive,
644
- } },
645
- h("header", { class: {
646
- "duet-header": true,
647
- "duet-theme-turva": this.theme === "turva",
648
- "duet-header-inactive": !this.processedItems,
649
- }, part: "header" },
650
- h("div", { class: "duet-header-top" },
651
- skipToLabel(),
652
- h("div", { class: "logo-and-segment" },
653
- h("div", null, largeLogo()),
654
- this.processedItems && (h(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("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" },
655
- item.icon && (h("div", { class: "duet-header-icon" },
656
- h("duet-icon", { margin: "none", size: "x-small", name: item.icon, color: "currentColor" }))),
657
- h("span", null, item.label),
658
- item.badge && h("div", { class: "duet-header-badge" }))))))),
659
- h("nav", { class: "duet-header-multi-level-nav" }, activeSegment.items &&
660
- activeSegment.items
661
- .filter(secondLevelItem => secondLevelItem.items && secondLevelItem.items.length > 0)
662
- .map((secondLevelItem, secondLevelItemIndex) => {
663
- const id = secondLevelItem.id || `segment-item-${secondLevelItemIndex}`;
664
- return (h(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 &&
665
- secondLevelItem.items.map(thirdLevelItem => (h("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" },
666
- thirdLevelItem.icon && (h("div", { class: "duet-header-icon" },
667
- h("duet-icon", { margin: "none", size: "medium", name: thirdLevelItem.icon, color: "currentColor" }))),
668
- h("span", null, thirdLevelItem.label),
669
- thirdLevelItem.badge && h("div", { class: "duet-header-badge" }))))));
670
- })),
671
- h("div", { class: "duet-header-multi-level-utils" },
672
- processedSearch(),
673
- languageDropdown(),
674
- processedSessionDropdown() != null ? processedSessionDropdown() : processedSession()),
675
- h("slot", { name: "utility" })))),
676
- defaultVariationContent));
495
+ return (h(Host, { class: "duet-header-multi-level-variation" }, h("div", { class: {
496
+ "duet-header-multi-level": true,
497
+ "duet-header-multi-level-third-level-is-open": isThirdLevelActive,
498
+ } }, h("header", { class: {
499
+ "duet-header": true,
500
+ "duet-theme-turva": this.theme === "turva",
501
+ "duet-header-inactive": !this.processedItems,
502
+ }, part: "header" }, h("div", { class: "duet-header-top" }, skipToLabel(), h("div", { class: "logo-and-segment" }, h("div", null, largeLogo()), this.processedItems && (h(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("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("div", { class: "duet-header-icon" }, h("duet-icon", { margin: "none", size: "x-small", name: item.icon, color: "currentColor" }))), h("span", null, item.label), item.badge && h("div", { class: "duet-header-badge" }))))))), h("nav", { class: "duet-header-multi-level-nav" }, activeSegment.items &&
503
+ activeSegment.items
504
+ .filter(secondLevelItem => secondLevelItem.items && secondLevelItem.items.length > 0)
505
+ .map((secondLevelItem, secondLevelItemIndex) => {
506
+ const id = secondLevelItem.id || `segment-item-${secondLevelItemIndex}`;
507
+ return (h(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 &&
508
+ secondLevelItem.items.map(thirdLevelItem => (h("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("div", { class: "duet-header-icon" }, h("duet-icon", { margin: "none", size: "medium", name: thirdLevelItem.icon, color: "currentColor" }))), h("span", null, thirdLevelItem.label), thirdLevelItem.badge && h("div", { class: "duet-header-badge" }))))));
509
+ })), h("div", { class: "duet-header-multi-level-utils" }, processedSearch(), languageDropdown(), processedSessionDropdown() != null ? processedSessionDropdown() : processedSession()), h("slot", { name: "utility" })))), defaultVariationContent));
677
510
  }
678
511
  // Default variation
679
512
  return (h(Host, { class: {
@@ -682,775 +515,791 @@ export class DuetHeader {
682
515
  }
683
516
  static get is() { return "duet-header"; }
684
517
  static get encapsulation() { return "shadow"; }
685
- static get originalStyleUrls() { return {
686
- "$": ["duet-header.scss"]
687
- }; }
688
- static get styleUrls() { return {
689
- "$": ["duet-header.css"]
690
- }; }
691
- static get properties() { return {
692
- "theme": {
693
- "type": "string",
694
- "mutable": true,
695
- "complexType": {
696
- "original": "DuetTheme",
697
- "resolved": "\"\" | \"default\" | \"turva\"",
698
- "references": {
699
- "DuetTheme": {
700
- "location": "import",
701
- "path": "../../common-types"
702
- }
703
- }
704
- },
705
- "required": false,
706
- "optional": false,
707
- "docs": {
708
- "tags": [],
709
- "text": "Theme of the header."
710
- },
711
- "attribute": "theme",
712
- "reflect": false,
713
- "defaultValue": "\"\""
714
- },
715
- "language": {
716
- "type": "string",
717
- "mutable": true,
718
- "complexType": {
719
- "original": "DuetLanguage",
720
- "resolved": "\"en\" | \"fi\" | \"sv\"",
721
- "references": {
722
- "DuetLanguage": {
723
- "location": "import",
724
- "path": "../../common-types"
518
+ static get originalStyleUrls() {
519
+ return {
520
+ "$": ["duet-header.scss"]
521
+ };
522
+ }
523
+ static get styleUrls() {
524
+ return {
525
+ "$": ["duet-header.css"]
526
+ };
527
+ }
528
+ static get properties() {
529
+ return {
530
+ "theme": {
531
+ "type": "string",
532
+ "mutable": true,
533
+ "complexType": {
534
+ "original": "DuetTheme",
535
+ "resolved": "\"\" | \"default\" | \"turva\"",
536
+ "references": {
537
+ "DuetTheme": {
538
+ "location": "import",
539
+ "path": "../../common-types"
540
+ }
725
541
  }
726
- }
727
- },
728
- "required": false,
729
- "optional": false,
730
- "docs": {
731
- "tags": [{
732
- "name": "deprecated",
733
- "text": "this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing"
734
- }, {
735
- "name": "default",
736
- "text": "\"fi\""
737
- }],
738
- "text": "The currently active language. This setting also changes the logo to match\nthe chosen language."
739
- },
740
- "attribute": "language",
741
- "reflect": false,
742
- "defaultValue": "getLanguage()"
743
- },
744
- "accessibleI18nLabelsDefaults": {
745
- "type": "string",
746
- "mutable": false,
747
- "complexType": {
748
- "original": "| string\n | Record<DuetLanguage, I18nText>",
749
- "resolved": "string | { fi: I18nText; en: I18nText; sv: I18nText; }",
750
- "references": {
751
- "Record": {
752
- "location": "global"
753
- },
754
- "DuetLanguage": {
755
- "location": "import",
756
- "path": "../../common-types"
757
- },
758
- "I18nText": {
759
- "location": "local"
542
+ },
543
+ "required": false,
544
+ "optional": false,
545
+ "docs": {
546
+ "tags": [],
547
+ "text": "Theme of the header."
548
+ },
549
+ "attribute": "theme",
550
+ "reflect": false,
551
+ "defaultValue": "\"\""
552
+ },
553
+ "language": {
554
+ "type": "string",
555
+ "mutable": true,
556
+ "complexType": {
557
+ "original": "DuetLanguage",
558
+ "resolved": "\"en\" | \"fi\" | \"sv\"",
559
+ "references": {
560
+ "DuetLanguage": {
561
+ "location": "import",
562
+ "path": "../../common-types"
563
+ }
760
564
  }
761
- }
762
- },
763
- "required": false,
764
- "optional": false,
765
- "docs": {
766
- "tags": [{
767
- "name": "default",
768
- "text": "{\nfi: {\nskipLabel: \"Siirry p\u00E4\u00E4sis\u00E4lt\u00F6\u00F6n\",\nchangeLanguage: \"Vaihda kielt\u00E4\",\nactiveLanguage: \"Suomi valittuna\",\n},\nsv: {\nskipLabel: \"Hoppa till huvudinneh\u00E5ll\",\nchangeLanguage: \"\u00C4ndra Spr\u00E5k\",\nactiveLanguage: \"Svenska valt\",\n},\nen: {\nskipLabel: \"Skip to main content\",\nchangeLanguage: \"Change language\",\nactiveLanguage: \"English selected\",\n},\n}"
769
- }],
770
- "text": "Default strings for accessibleI18nLabels"
771
- },
772
- "attribute": "accessible-labels-default",
773
- "reflect": false,
774
- "defaultValue": "{\n fi: {\n skipLabel: \"Siirry p\u00E4\u00E4sis\u00E4lt\u00F6\u00F6n\",\n changeLanguage: \"Vaihda kielt\u00E4\",\n activeLanguage: \"Suomi valittuna\",\n },\n sv: {\n skipLabel: \"G\u00E5 till huvudinneh\u00E5ll\",\n changeLanguage: \"\u00C4ndra Spr\u00E5k\",\n activeLanguage: \"Svenska valt\",\n },\n en: {\n skipLabel: \"Skip to main content\",\n changeLanguage: \"Change language\",\n activeLanguage: \"English selected\",\n },\n }"
775
- },
776
- "accessibleI18nLabels": {
777
- "type": "unknown",
778
- "mutable": false,
779
- "complexType": {
780
- "original": "I18nText",
781
- "resolved": "I18nText",
782
- "references": {
783
- "I18nText": {
784
- "location": "local"
565
+ },
566
+ "required": false,
567
+ "optional": false,
568
+ "docs": {
569
+ "tags": [{
570
+ "name": "deprecated",
571
+ "text": "this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing"
572
+ }, {
573
+ "name": "default",
574
+ "text": "\"fi\""
575
+ }],
576
+ "text": "The currently active language. This setting also changes the logo to match\nthe chosen language."
577
+ },
578
+ "attribute": "language",
579
+ "reflect": false,
580
+ "defaultValue": "getLanguage()"
581
+ },
582
+ "accessibleI18nLabelsDefaults": {
583
+ "type": "string",
584
+ "mutable": false,
585
+ "complexType": {
586
+ "original": "| string\n | Record<DuetLanguage, I18nText>",
587
+ "resolved": "string | { fi: I18nText; en: I18nText; sv: I18nText; }",
588
+ "references": {
589
+ "Record": {
590
+ "location": "global"
591
+ },
592
+ "DuetLanguage": {
593
+ "location": "import",
594
+ "path": "../../common-types"
595
+ },
596
+ "I18nText": {
597
+ "location": "local"
598
+ }
785
599
  }
786
- }
787
- },
788
- "required": false,
789
- "optional": false,
790
- "docs": {
791
- "tags": [{
792
- "name": "default",
793
- "text": "{\nfi: {\nskipLabel: \"Siirry p\u00E4\u00E4sis\u00E4lt\u00F6\u00F6n\",\nchangeLanguage: \"Vaihda kielt\u00E4\",\nactiveLanguage: \"Suomi valittuna\",\n},\nsv: {\nskipLabel: \"Hoppa till huvudinneh\u00E5ll\",\nchangeLanguage: \"\u00C4ndra Spr\u00E5k\",\nactiveLanguage: \"Svenska valt\",\n},\nen: {\nskipLabel: \"Skip to main content\",\nchangeLanguage: \"Change language\",\nactiveLanguage: \"English selected\",\n},\n}"
794
- }],
795
- "text": "Adds i18n translations of all internally used textStrings"
796
- },
797
- "defaultValue": "getLocaleString(\n this.accessibleI18nLabelsDefaults\n )"
798
- },
799
- "accessibleLabelExternalDefaults": {
800
- "type": "string",
801
- "mutable": false,
802
- "complexType": {
803
- "original": "DuetLangObject | string",
804
- "resolved": "DuetLangObject | string",
805
- "references": {
806
- "DuetLangObject": {
807
- "location": "import",
808
- "path": "../../utils/language-utils"
600
+ },
601
+ "required": false,
602
+ "optional": false,
603
+ "docs": {
604
+ "tags": [{
605
+ "name": "default",
606
+ "text": "{\nfi: {\nskipLabel: \"Siirry p\u00E4\u00E4sis\u00E4lt\u00F6\u00F6n\",\nchangeLanguage: \"Vaihda kielt\u00E4\",\nactiveLanguage: \"Suomi valittuna\",\n},\nsv: {\nskipLabel: \"Hoppa till huvudinneh\u00E5ll\",\nchangeLanguage: \"\u00C4ndra Spr\u00E5k\",\nactiveLanguage: \"Svenska valt\",\n},\nen: {\nskipLabel: \"Skip to main content\",\nchangeLanguage: \"Change language\",\nactiveLanguage: \"English selected\",\n},\n}"
607
+ }],
608
+ "text": "Default strings for accessibleI18nLabels"
609
+ },
610
+ "attribute": "accessible-labels-default",
611
+ "reflect": false,
612
+ "defaultValue": "{\n fi: {\n skipLabel: \"Siirry p\u00E4\u00E4sis\u00E4lt\u00F6\u00F6n\",\n changeLanguage: \"Vaihda kielt\u00E4\",\n activeLanguage: \"Suomi valittuna\",\n },\n sv: {\n skipLabel: \"G\u00E5 till huvudinneh\u00E5ll\",\n changeLanguage: \"\u00C4ndra Spr\u00E5k\",\n activeLanguage: \"Svenska valt\",\n },\n en: {\n skipLabel: \"Skip to main content\",\n changeLanguage: \"Change language\",\n activeLanguage: \"English selected\",\n },\n }"
613
+ },
614
+ "accessibleI18nLabels": {
615
+ "type": "unknown",
616
+ "mutable": false,
617
+ "complexType": {
618
+ "original": "I18nText",
619
+ "resolved": "I18nText",
620
+ "references": {
621
+ "I18nText": {
622
+ "location": "local"
623
+ }
809
624
  }
810
- }
811
- },
812
- "required": false,
813
- "optional": false,
814
- "docs": {
815
- "tags": [{
816
- "name": "default",
817
- "text": "{fi: \"Avautuu uuteen ikkunaan\",sv: \"\u00D6ppnas i nytt f\u00F6nster\",en: \"Opens in a new window\"}"
818
- }],
819
- "text": "Property to change accessibleLabelExternal defaults on the component.\nnormally you would handle these strings on an application level and override @accessibleLabelExternal when needed"
820
- },
821
- "attribute": "accessible-label-external-default",
822
- "reflect": false,
823
- "defaultValue": "DuetStringsExternalDefaults"
824
- },
825
- "accessibleLabelExternal": {
826
- "type": "string",
827
- "mutable": false,
828
- "complexType": {
829
- "original": "string",
830
- "resolved": "string",
831
- "references": {}
832
- },
833
- "required": false,
834
- "optional": false,
835
- "docs": {
836
- "tags": [{
837
- "name": "default",
838
- "text": "{fi: \"Avautuu uuteen ikkunaan\",sv: \"\u00D6ppnas i nytt f\u00F6nster\",en: \"Opens in a new window\"}"
839
- }],
840
- "text": "Adds accessible label for tooltip that is shown in external link (url & external have both been set)"
841
- },
842
- "attribute": "accessible-label-external",
843
- "reflect": false,
844
- "defaultValue": "getLocaleString(this.accessibleLabelExternalDefaults)"
845
- },
846
- "accessibleLabelDefaults": {
847
- "type": "string",
848
- "mutable": false,
849
- "complexType": {
850
- "original": "DuetLangObject | string",
851
- "resolved": "DuetLangObject | string",
852
- "references": {
853
- "DuetLangObject": {
854
- "location": "import",
855
- "path": "../../utils/language-utils"
625
+ },
626
+ "required": false,
627
+ "optional": false,
628
+ "docs": {
629
+ "tags": [{
630
+ "name": "default",
631
+ "text": "{\nfi: {\nskipLabel: \"Siirry p\u00E4\u00E4sis\u00E4lt\u00F6\u00F6n\",\nchangeLanguage: \"Vaihda kielt\u00E4\",\nactiveLanguage: \"Suomi valittuna\",\n},\nsv: {\nskipLabel: \"Hoppa till huvudinneh\u00E5ll\",\nchangeLanguage: \"\u00C4ndra Spr\u00E5k\",\nactiveLanguage: \"Svenska valt\",\n},\nen: {\nskipLabel: \"Skip to main content\",\nchangeLanguage: \"Change language\",\nactiveLanguage: \"English selected\",\n},\n}"
632
+ }],
633
+ "text": "Adds i18n translations of all internally used textStrings"
634
+ },
635
+ "defaultValue": "getLocaleString(\n this.accessibleI18nLabelsDefaults\n )"
636
+ },
637
+ "accessibleLabelExternalDefaults": {
638
+ "type": "string",
639
+ "mutable": false,
640
+ "complexType": {
641
+ "original": "DuetLangObject | string",
642
+ "resolved": "DuetLangObject | string",
643
+ "references": {
644
+ "DuetLangObject": {
645
+ "location": "import",
646
+ "path": "../../utils/language-utils"
647
+ }
856
648
  }
857
- }
858
- },
859
- "required": false,
860
- "optional": false,
861
- "docs": {
862
- "tags": [],
863
- "text": "Property to change accessibleLabel defaults on the component.\nnormally you would handle these strings on an application level and override @accessibleLabel when needed"
864
- },
865
- "attribute": "accessible-label-default",
866
- "reflect": false,
867
- "defaultValue": "{\n fi: \"Valikko\",\n sv: \"Meny\",\n en: \"Menu\",\n }"
868
- },
869
- "accessibleLabel": {
870
- "type": "string",
871
- "mutable": false,
872
- "complexType": {
873
- "original": "string",
874
- "resolved": "string",
875
- "references": {}
876
- },
877
- "required": false,
878
- "optional": false,
879
- "docs": {
880
- "tags": [{
881
- "name": "default",
882
- "text": "{\nfi: \"Valikko\",\nsv: \"Meny\",\nen: \"Menu\",\n}"
883
- }],
884
- "text": "Accessible label that is shown for screen reader users in the mobile\nnavigation toggle. Not visible for normal users."
885
- },
886
- "attribute": "accessible-label",
887
- "reflect": false,
888
- "defaultValue": "getLocaleString(this.accessibleLabelDefaults)"
889
- },
890
- "user": {
891
- "type": "any",
892
- "mutable": false,
893
- "complexType": {
894
- "original": "any",
895
- "resolved": "any",
896
- "references": {}
897
- },
898
- "required": false,
899
- "optional": false,
900
- "docs": {
901
- "tags": [],
902
- "text": "An object that includes mandatory \"label\" and \"href\" fields for the user\nprofile link. Additionally, you can pass an \"id\" that is added as an HTML\nidentifier for the element. If nothing is passed, user won\u2019t be shown.\nNote: not available in multilevel headers."
903
- },
904
- "attribute": "user",
905
- "reflect": false
906
- },
907
- "logoHref": {
908
- "type": "string",
909
- "mutable": false,
910
- "complexType": {
911
- "original": "string",
912
- "resolved": "string",
913
- "references": {}
914
- },
915
- "required": false,
916
- "optional": false,
917
- "docs": {
918
- "tags": [],
919
- "text": "URL that the logo link points to."
920
- },
921
- "attribute": "logo-href",
922
- "reflect": false,
923
- "defaultValue": "\"/\""
924
- },
925
- "currentHref": {
926
- "type": "string",
927
- "mutable": true,
928
- "complexType": {
929
- "original": "string",
930
- "resolved": "string",
931
- "references": {}
932
- },
933
- "required": false,
934
- "optional": false,
935
- "docs": {
936
- "tags": [],
937
- "text": "The href of the current page item that is shown as \u201Cactive\u201D.\nNote: not available in multilevel headers."
938
- },
939
- "attribute": "current-href",
940
- "reflect": false,
941
- "defaultValue": "\"/\""
942
- },
943
- "skipToId": {
944
- "type": "string",
945
- "mutable": false,
946
- "complexType": {
947
- "original": "string",
948
- "resolved": "string",
949
- "references": {}
950
- },
951
- "required": false,
952
- "optional": false,
953
- "docs": {
954
- "tags": [],
955
- "text": "The ID of the element where \"skip to content\" link should take the user.\nIf empty, the functionality won\u2019t be rendered in the DOM."
956
- },
957
- "attribute": "skip-to-id",
958
- "reflect": false,
959
- "defaultValue": "\"\""
960
- },
961
- "items": {
962
- "type": "any",
963
- "mutable": false,
964
- "complexType": {
965
- "original": "any",
966
- "resolved": "any",
967
- "references": {}
968
- },
969
- "required": false,
970
- "optional": false,
971
- "docs": {
972
- "tags": [],
973
- "text": "An array of items for the main navigation. Items have to include mandatory\n\"label\" and \"href\" fields to work. Additionally, you can pass an \"id\" that is\nadded as an HTML identifier for the element, \"active\" boolean that makes item active,\n\"badge\" boolean to add notification badge next to the item and\n\"items\" array consisting of sub items that are allowed up to three levels."
974
- },
975
- "attribute": "items",
976
- "reflect": false
977
- },
978
- "region": {
979
- "type": "string",
980
- "mutable": false,
981
- "complexType": {
982
- "original": "string",
983
- "resolved": "string",
984
- "references": {}
985
- },
986
- "required": false,
987
- "optional": false,
988
- "docs": {
989
- "tags": [],
990
- "text": "Region that is shown next to the logo. If empty, region will be hidden.\nNote: not available in multilevel header."
991
- },
992
- "attribute": "region",
993
- "reflect": false,
994
- "defaultValue": "\"\""
995
- },
996
- "session": {
997
- "type": "any",
998
- "mutable": false,
999
- "complexType": {
1000
- "original": "any",
1001
- "resolved": "any",
1002
- "references": {}
1003
- },
1004
- "required": false,
1005
- "optional": false,
1006
- "docs": {
1007
- "tags": [],
1008
- "text": "An object that includes mandatory \"label\", \"href\" and \"type\" fields for the\nsession login/logout link. Additionally, you can pass an \"id\" that is added\nas an HTML identifier for the element.\nIf nothing is passed, this link won\u2019t be shown."
1009
- },
1010
- "attribute": "session",
1011
- "reflect": false
1012
- },
1013
- "search": {
1014
- "type": "any",
1015
- "mutable": false,
1016
- "complexType": {
1017
- "original": "any",
1018
- "resolved": "any",
1019
- "references": {}
1020
- },
1021
- "required": false,
1022
- "optional": false,
1023
- "docs": {
1024
- "tags": [],
1025
- "text": "An object that includes mandatory \"label\" and \"href\" fields for the\nsearch link. Additionally, you can pass an \"id\" that is added\nas an HTML identifier for the element. If nothing is passed, this link won\u2019t\nbe shown."
1026
- },
1027
- "attribute": "search",
1028
- "reflect": false
1029
- },
1030
- "back": {
1031
- "type": "any",
1032
- "mutable": false,
1033
- "complexType": {
1034
- "original": "any",
1035
- "resolved": "any",
1036
- "references": {}
1037
- },
1038
- "required": false,
1039
- "optional": false,
1040
- "docs": {
1041
- "tags": [],
1042
- "text": "An object that includes mandatory \"label\" and \"href\" fields for the back link.\nAdditionally, you can pass an \"id\" that is added as an HTML identifier for the\nelement. If nothing is passed, back link won\u2019t be shown. **NOTE: The back link\nshould be ONLY used in combination with language and logoHref props.**"
1043
- },
1044
- "attribute": "back",
1045
- "reflect": false
1046
- },
1047
- "contact": {
1048
- "type": "string",
1049
- "mutable": false,
1050
- "complexType": {
1051
- "original": "string",
1052
- "resolved": "string",
1053
- "references": {}
1054
- },
1055
- "required": false,
1056
- "optional": false,
1057
- "docs": {
1058
- "tags": [],
1059
- "text": "Label of the contact menu. If empty, contact menu will be hidden.\nNote: not available in multilevel headers."
1060
- },
1061
- "attribute": "contact",
1062
- "reflect": false,
1063
- "defaultValue": "\"\""
1064
- },
1065
- "contactItems": {
1066
- "type": "any",
1067
- "mutable": false,
1068
- "complexType": {
1069
- "original": "any",
1070
- "resolved": "any",
1071
- "references": {}
1072
- },
1073
- "required": false,
1074
- "optional": false,
1075
- "docs": {
1076
- "tags": [],
1077
- "text": "An array of items for the contact menu. \"label\" and \"href\" are mandatory.\nAdditionally, you can pass an \"id\" that is added as an HTML identifier for\nthe element, and pass an \"external\" flag if the link is to open in a new window."
1078
- },
1079
- "attribute": "contact-items",
1080
- "reflect": false
1081
- },
1082
- "languageItems": {
1083
- "type": "any",
1084
- "mutable": false,
1085
- "complexType": {
1086
- "original": "any",
1087
- "resolved": "any",
1088
- "references": {}
1089
- },
1090
- "required": false,
1091
- "optional": false,
1092
- "docs": {
1093
- "tags": [],
1094
- "text": "An array of items for the language menu. If empty, the language menu will\nbe hidden. \"label\", \"country\" and \"href\" are mandatory. Additionally you\ncan pass an \"id\" that is added as an HTML identifier for the element."
1095
- },
1096
- "attribute": "language-items",
1097
- "reflect": false
1098
- }
1099
- }; }
1100
- static get states() { return {
1101
- "isContactOpen": {},
1102
- "isLanguageOpen": {},
1103
- "isSessionOpen": {},
1104
- "isSlideOutOpen": {},
1105
- "isSegmentOpen": {},
1106
- "openMenu": {},
1107
- "closedActives": {},
1108
- "processedItems": {},
1109
- "processedLanguageItems": {},
1110
- "processedContactItems": {},
1111
- "processedSession": {},
1112
- "processedSearch": {},
1113
- "processedUser": {},
1114
- "processedBack": {},
1115
- "renderDesktopNav": {}
1116
- }; }
1117
- static get events() { return [{
1118
- "method": "duetChange",
1119
- "name": "duetChange",
1120
- "bubbles": false,
1121
- "cancelable": true,
1122
- "composed": true,
1123
- "docs": {
1124
- "tags": [{
1125
- "name": "deprecated",
1126
- "text": "in favour of more specific events like duetLogoClick.\nCallback for when a user is about to navigate to another page. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1127
- }],
1128
- "text": ""
1129
- },
1130
- "complexType": {
1131
- "original": "DuetHeaderChangeEvent",
1132
- "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1133
- "references": {
1134
- "DuetHeaderChangeEvent": {
1135
- "location": "local"
649
+ },
650
+ "required": false,
651
+ "optional": false,
652
+ "docs": {
653
+ "tags": [{
654
+ "name": "default",
655
+ "text": "{fi: \"Avautuu uuteen ikkunaan\",sv: \"\u00D6ppnas i nytt f\u00F6nster\",en: \"Opens in a new window\"}"
656
+ }],
657
+ "text": "Property to change accessibleLabelExternal defaults on the component.\nnormally you would handle these strings on an application level and override @accessibleLabelExternal when needed"
658
+ },
659
+ "attribute": "accessible-label-external-default",
660
+ "reflect": false,
661
+ "defaultValue": "DuetStringsExternalDefaults"
662
+ },
663
+ "accessibleLabelExternal": {
664
+ "type": "string",
665
+ "mutable": false,
666
+ "complexType": {
667
+ "original": "string",
668
+ "resolved": "string",
669
+ "references": {}
670
+ },
671
+ "required": false,
672
+ "optional": false,
673
+ "docs": {
674
+ "tags": [{
675
+ "name": "default",
676
+ "text": "{fi: \"Avautuu uuteen ikkunaan\",sv: \"\u00D6ppnas i nytt f\u00F6nster\",en: \"Opens in a new window\"}"
677
+ }],
678
+ "text": "Adds accessible label for tooltip that is shown in external link (url & external have both been set)"
679
+ },
680
+ "attribute": "accessible-label-external",
681
+ "reflect": false,
682
+ "defaultValue": "getLocaleString(this.accessibleLabelExternalDefaults)"
683
+ },
684
+ "accessibleLabelDefaults": {
685
+ "type": "string",
686
+ "mutable": false,
687
+ "complexType": {
688
+ "original": "DuetLangObject | string",
689
+ "resolved": "DuetLangObject | string",
690
+ "references": {
691
+ "DuetLangObject": {
692
+ "location": "import",
693
+ "path": "../../utils/language-utils"
694
+ }
1136
695
  }
1137
- }
696
+ },
697
+ "required": false,
698
+ "optional": false,
699
+ "docs": {
700
+ "tags": [],
701
+ "text": "Property to change accessibleLabel defaults on the component.\nnormally you would handle these strings on an application level and override @accessibleLabel when needed"
702
+ },
703
+ "attribute": "accessible-label-default",
704
+ "reflect": false,
705
+ "defaultValue": "{\n fi: \"Valikko\",\n sv: \"Meny\",\n en: \"Menu\",\n }"
706
+ },
707
+ "accessibleLabel": {
708
+ "type": "string",
709
+ "mutable": false,
710
+ "complexType": {
711
+ "original": "string",
712
+ "resolved": "string",
713
+ "references": {}
714
+ },
715
+ "required": false,
716
+ "optional": false,
717
+ "docs": {
718
+ "tags": [{
719
+ "name": "default",
720
+ "text": "{\nfi: \"Valikko\",\nsv: \"Meny\",\nen: \"Menu\",\n}"
721
+ }],
722
+ "text": "Accessible label that is shown for screen reader users in the mobile\nnavigation toggle. Not visible for normal users."
723
+ },
724
+ "attribute": "accessible-label",
725
+ "reflect": false,
726
+ "defaultValue": "getLocaleString(this.accessibleLabelDefaults)"
727
+ },
728
+ "user": {
729
+ "type": "any",
730
+ "mutable": false,
731
+ "complexType": {
732
+ "original": "any",
733
+ "resolved": "any",
734
+ "references": {}
735
+ },
736
+ "required": false,
737
+ "optional": false,
738
+ "docs": {
739
+ "tags": [],
740
+ "text": "An object that includes mandatory \"label\" and \"href\" fields for the user\nprofile link. Additionally, you can pass an \"id\" that is added as an HTML\nidentifier for the element. If nothing is passed, user won\u2019t be shown.\nNote: not available in multilevel headers."
741
+ },
742
+ "attribute": "user",
743
+ "reflect": false
744
+ },
745
+ "logoHref": {
746
+ "type": "string",
747
+ "mutable": false,
748
+ "complexType": {
749
+ "original": "string",
750
+ "resolved": "string",
751
+ "references": {}
752
+ },
753
+ "required": false,
754
+ "optional": false,
755
+ "docs": {
756
+ "tags": [],
757
+ "text": "URL that the logo link points to."
758
+ },
759
+ "attribute": "logo-href",
760
+ "reflect": false,
761
+ "defaultValue": "\"/\""
762
+ },
763
+ "currentHref": {
764
+ "type": "string",
765
+ "mutable": true,
766
+ "complexType": {
767
+ "original": "string",
768
+ "resolved": "string",
769
+ "references": {}
770
+ },
771
+ "required": false,
772
+ "optional": false,
773
+ "docs": {
774
+ "tags": [],
775
+ "text": "The href of the current page item that is shown as \u201Cactive\u201D.\nNote: not available in multilevel headers."
776
+ },
777
+ "attribute": "current-href",
778
+ "reflect": false,
779
+ "defaultValue": "\"/\""
780
+ },
781
+ "skipToId": {
782
+ "type": "string",
783
+ "mutable": false,
784
+ "complexType": {
785
+ "original": "string",
786
+ "resolved": "string",
787
+ "references": {}
788
+ },
789
+ "required": false,
790
+ "optional": false,
791
+ "docs": {
792
+ "tags": [],
793
+ "text": "The ID of the element where \"skip to content\" link should take the user.\nIf empty, the functionality won\u2019t be rendered in the DOM."
794
+ },
795
+ "attribute": "skip-to-id",
796
+ "reflect": false,
797
+ "defaultValue": "\"\""
798
+ },
799
+ "items": {
800
+ "type": "any",
801
+ "mutable": false,
802
+ "complexType": {
803
+ "original": "any",
804
+ "resolved": "any",
805
+ "references": {}
806
+ },
807
+ "required": false,
808
+ "optional": false,
809
+ "docs": {
810
+ "tags": [],
811
+ "text": "An array of items for the main navigation. Items have to include mandatory\n\"label\" and \"href\" fields to work. Additionally, you can pass an \"id\" that is\nadded as an HTML identifier for the element, \"active\" boolean that makes item active,\n\"badge\" boolean to add notification badge next to the item and\n\"items\" array consisting of sub items that are allowed up to three levels."
812
+ },
813
+ "attribute": "items",
814
+ "reflect": false
815
+ },
816
+ "region": {
817
+ "type": "string",
818
+ "mutable": false,
819
+ "complexType": {
820
+ "original": "string",
821
+ "resolved": "string",
822
+ "references": {}
823
+ },
824
+ "required": false,
825
+ "optional": false,
826
+ "docs": {
827
+ "tags": [],
828
+ "text": "Region that is shown next to the logo. If empty, region will be hidden.\nNote: not available in multilevel header."
829
+ },
830
+ "attribute": "region",
831
+ "reflect": false,
832
+ "defaultValue": "\"\""
833
+ },
834
+ "session": {
835
+ "type": "any",
836
+ "mutable": false,
837
+ "complexType": {
838
+ "original": "any",
839
+ "resolved": "any",
840
+ "references": {}
841
+ },
842
+ "required": false,
843
+ "optional": false,
844
+ "docs": {
845
+ "tags": [],
846
+ "text": "An object that includes mandatory \"label\", \"href\" and \"type\" fields for the\nsession login/logout link. Additionally, you can pass an \"id\" that is added\nas an HTML identifier for the element.\nIf nothing is passed, this link won\u2019t be shown."
847
+ },
848
+ "attribute": "session",
849
+ "reflect": false
850
+ },
851
+ "search": {
852
+ "type": "any",
853
+ "mutable": false,
854
+ "complexType": {
855
+ "original": "any",
856
+ "resolved": "any",
857
+ "references": {}
858
+ },
859
+ "required": false,
860
+ "optional": false,
861
+ "docs": {
862
+ "tags": [],
863
+ "text": "An object that includes mandatory \"label\" and \"href\" fields for the\nsearch link. Additionally, you can pass an \"id\" that is added\nas an HTML identifier for the element. If nothing is passed, this link won\u2019t\nbe shown."
864
+ },
865
+ "attribute": "search",
866
+ "reflect": false
867
+ },
868
+ "back": {
869
+ "type": "any",
870
+ "mutable": false,
871
+ "complexType": {
872
+ "original": "any",
873
+ "resolved": "any",
874
+ "references": {}
875
+ },
876
+ "required": false,
877
+ "optional": false,
878
+ "docs": {
879
+ "tags": [],
880
+ "text": "An object that includes mandatory \"label\" and \"href\" fields for the back link.\nAdditionally, you can pass an \"id\" that is added as an HTML identifier for the\nelement. If nothing is passed, back link won\u2019t be shown. **NOTE: The back link\nshould be ONLY used in combination with language and logoHref props.**"
881
+ },
882
+ "attribute": "back",
883
+ "reflect": false
884
+ },
885
+ "contact": {
886
+ "type": "string",
887
+ "mutable": false,
888
+ "complexType": {
889
+ "original": "string",
890
+ "resolved": "string",
891
+ "references": {}
892
+ },
893
+ "required": false,
894
+ "optional": false,
895
+ "docs": {
896
+ "tags": [],
897
+ "text": "Label of the contact menu. If empty, contact menu will be hidden.\nNote: not available in multilevel headers."
898
+ },
899
+ "attribute": "contact",
900
+ "reflect": false,
901
+ "defaultValue": "\"\""
902
+ },
903
+ "contactItems": {
904
+ "type": "any",
905
+ "mutable": false,
906
+ "complexType": {
907
+ "original": "any",
908
+ "resolved": "any",
909
+ "references": {}
910
+ },
911
+ "required": false,
912
+ "optional": false,
913
+ "docs": {
914
+ "tags": [],
915
+ "text": "An array of items for the contact menu. \"label\" and \"href\" are mandatory.\nAdditionally, you can pass an \"id\" that is added as an HTML identifier for\nthe element, and pass an \"external\" flag if the link is to open in a new window."
916
+ },
917
+ "attribute": "contact-items",
918
+ "reflect": false
919
+ },
920
+ "languageItems": {
921
+ "type": "any",
922
+ "mutable": false,
923
+ "complexType": {
924
+ "original": "any",
925
+ "resolved": "any",
926
+ "references": {}
927
+ },
928
+ "required": false,
929
+ "optional": false,
930
+ "docs": {
931
+ "tags": [],
932
+ "text": "An array of items for the language menu. If empty, the language menu will\nbe hidden. \"label\", \"country\" and \"href\" are mandatory. Additionally you\ncan pass an \"id\" that is added as an HTML identifier for the element."
933
+ },
934
+ "attribute": "language-items",
935
+ "reflect": false
1138
936
  }
1139
- }, {
1140
- "method": "duetSessionClick",
1141
- "name": "duetSessionClick",
1142
- "bubbles": true,
1143
- "cancelable": true,
1144
- "composed": true,
1145
- "docs": {
1146
- "tags": [],
1147
- "text": "Event for when a user has clicked the session link. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1148
- },
1149
- "complexType": {
1150
- "original": "DuetHeaderChangeEvent",
1151
- "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1152
- "references": {
1153
- "DuetHeaderChangeEvent": {
1154
- "location": "local"
937
+ };
938
+ }
939
+ static get states() {
940
+ return {
941
+ "isContactOpen": {},
942
+ "isLanguageOpen": {},
943
+ "isSessionOpen": {},
944
+ "isSlideOutOpen": {},
945
+ "isSegmentOpen": {},
946
+ "openMenu": {},
947
+ "closedActives": {},
948
+ "processedItems": {},
949
+ "processedLanguageItems": {},
950
+ "processedContactItems": {},
951
+ "processedSession": {},
952
+ "processedSearch": {},
953
+ "processedUser": {},
954
+ "processedBack": {},
955
+ "renderDesktopNav": {}
956
+ };
957
+ }
958
+ static get events() {
959
+ return [{
960
+ "method": "duetChange",
961
+ "name": "duetChange",
962
+ "bubbles": false,
963
+ "cancelable": true,
964
+ "composed": true,
965
+ "docs": {
966
+ "tags": [{
967
+ "name": "deprecated",
968
+ "text": "in favour of more specific events like duetLogoClick.\nCallback for when a user is about to navigate to another page. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
969
+ }],
970
+ "text": ""
971
+ },
972
+ "complexType": {
973
+ "original": "DuetHeaderChangeEvent",
974
+ "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
975
+ "references": {
976
+ "DuetHeaderChangeEvent": {
977
+ "location": "local"
978
+ }
1155
979
  }
1156
980
  }
1157
- }
1158
- }, {
1159
- "method": "duetSearchClick",
1160
- "name": "duetSearchClick",
1161
- "bubbles": true,
1162
- "cancelable": true,
1163
- "composed": true,
1164
- "docs": {
1165
- "tags": [],
1166
- "text": "Event for when a user has clicked the search link. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1167
- },
1168
- "complexType": {
1169
- "original": "DuetHeaderChangeEvent",
1170
- "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1171
- "references": {
1172
- "DuetHeaderChangeEvent": {
1173
- "location": "local"
981
+ }, {
982
+ "method": "duetSessionClick",
983
+ "name": "duetSessionClick",
984
+ "bubbles": true,
985
+ "cancelable": true,
986
+ "composed": true,
987
+ "docs": {
988
+ "tags": [],
989
+ "text": "Event for when a user has clicked the session link. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
990
+ },
991
+ "complexType": {
992
+ "original": "DuetHeaderChangeEvent",
993
+ "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
994
+ "references": {
995
+ "DuetHeaderChangeEvent": {
996
+ "location": "local"
997
+ }
1174
998
  }
1175
999
  }
1176
- }
1177
- }, {
1178
- "method": "duetUserClick",
1179
- "name": "duetUserClick",
1180
- "bubbles": true,
1181
- "cancelable": true,
1182
- "composed": true,
1183
- "docs": {
1184
- "tags": [],
1185
- "text": "Event raised when a user has clicked the user link. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1186
- },
1187
- "complexType": {
1188
- "original": "DuetHeaderChangeEvent",
1189
- "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1190
- "references": {
1191
- "DuetHeaderChangeEvent": {
1192
- "location": "local"
1000
+ }, {
1001
+ "method": "duetSearchClick",
1002
+ "name": "duetSearchClick",
1003
+ "bubbles": true,
1004
+ "cancelable": true,
1005
+ "composed": true,
1006
+ "docs": {
1007
+ "tags": [],
1008
+ "text": "Event for when a user has clicked the search link. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1009
+ },
1010
+ "complexType": {
1011
+ "original": "DuetHeaderChangeEvent",
1012
+ "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1013
+ "references": {
1014
+ "DuetHeaderChangeEvent": {
1015
+ "location": "local"
1016
+ }
1193
1017
  }
1194
1018
  }
1195
- }
1196
- }, {
1197
- "method": "duetLanguageSelect",
1198
- "name": "duetLanguageSelect",
1199
- "bubbles": true,
1200
- "cancelable": true,
1201
- "composed": true,
1202
- "docs": {
1203
- "tags": [],
1204
- "text": "Event raised when a user has selected a language from the language dropdown. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1205
- },
1206
- "complexType": {
1207
- "original": "DuetHeaderChangeEvent",
1208
- "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1209
- "references": {
1210
- "DuetHeaderChangeEvent": {
1211
- "location": "local"
1019
+ }, {
1020
+ "method": "duetUserClick",
1021
+ "name": "duetUserClick",
1022
+ "bubbles": true,
1023
+ "cancelable": true,
1024
+ "composed": true,
1025
+ "docs": {
1026
+ "tags": [],
1027
+ "text": "Event raised when a user has clicked the user link. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1028
+ },
1029
+ "complexType": {
1030
+ "original": "DuetHeaderChangeEvent",
1031
+ "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1032
+ "references": {
1033
+ "DuetHeaderChangeEvent": {
1034
+ "location": "local"
1035
+ }
1212
1036
  }
1213
1037
  }
1214
- }
1215
- }, {
1216
- "method": "duetLogoClick",
1217
- "name": "duetLogoClick",
1218
- "bubbles": true,
1219
- "cancelable": true,
1220
- "composed": true,
1221
- "docs": {
1222
- "tags": [],
1223
- "text": "Event raised when a user has clicked the logo. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1224
- },
1225
- "complexType": {
1226
- "original": "DuetHeaderChangeEvent",
1227
- "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1228
- "references": {
1229
- "DuetHeaderChangeEvent": {
1230
- "location": "local"
1038
+ }, {
1039
+ "method": "duetLanguageSelect",
1040
+ "name": "duetLanguageSelect",
1041
+ "bubbles": true,
1042
+ "cancelable": true,
1043
+ "composed": true,
1044
+ "docs": {
1045
+ "tags": [],
1046
+ "text": "Event raised when a user has selected a language from the language dropdown. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1047
+ },
1048
+ "complexType": {
1049
+ "original": "DuetHeaderChangeEvent",
1050
+ "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1051
+ "references": {
1052
+ "DuetHeaderChangeEvent": {
1053
+ "location": "local"
1054
+ }
1231
1055
  }
1232
1056
  }
1233
- }
1234
- }, {
1235
- "method": "duetBackClick",
1236
- "name": "duetBackClick",
1237
- "bubbles": true,
1238
- "cancelable": true,
1239
- "composed": true,
1240
- "docs": {
1241
- "tags": [],
1242
- "text": "Event raised when a user has clicked the back button. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1243
- },
1244
- "complexType": {
1245
- "original": "DuetHeaderChangeEvent",
1246
- "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1247
- "references": {
1248
- "DuetHeaderChangeEvent": {
1249
- "location": "local"
1057
+ }, {
1058
+ "method": "duetLogoClick",
1059
+ "name": "duetLogoClick",
1060
+ "bubbles": true,
1061
+ "cancelable": true,
1062
+ "composed": true,
1063
+ "docs": {
1064
+ "tags": [],
1065
+ "text": "Event raised when a user has clicked the logo. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1066
+ },
1067
+ "complexType": {
1068
+ "original": "DuetHeaderChangeEvent",
1069
+ "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1070
+ "references": {
1071
+ "DuetHeaderChangeEvent": {
1072
+ "location": "local"
1073
+ }
1250
1074
  }
1251
1075
  }
1252
- }
1253
- }, {
1254
- "method": "duetContactClick",
1255
- "name": "duetContactClick",
1256
- "bubbles": true,
1257
- "cancelable": true,
1258
- "composed": true,
1259
- "docs": {
1260
- "tags": [],
1261
- "text": "Event raised when a user has clicked an option from the contact dropdown. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1262
- },
1263
- "complexType": {
1264
- "original": "DuetHeaderChangeEvent",
1265
- "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1266
- "references": {
1267
- "DuetHeaderChangeEvent": {
1268
- "location": "local"
1076
+ }, {
1077
+ "method": "duetBackClick",
1078
+ "name": "duetBackClick",
1079
+ "bubbles": true,
1080
+ "cancelable": true,
1081
+ "composed": true,
1082
+ "docs": {
1083
+ "tags": [],
1084
+ "text": "Event raised when a user has clicked the back button. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1085
+ },
1086
+ "complexType": {
1087
+ "original": "DuetHeaderChangeEvent",
1088
+ "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1089
+ "references": {
1090
+ "DuetHeaderChangeEvent": {
1091
+ "location": "local"
1092
+ }
1269
1093
  }
1270
1094
  }
1271
- }
1272
- }, {
1273
- "method": "duetItemClick",
1274
- "name": "duetItemClick",
1275
- "bubbles": true,
1276
- "cancelable": true,
1277
- "composed": true,
1278
- "docs": {
1279
- "tags": [],
1280
- "text": "Event raised when a user has clicked a menu item. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1281
- },
1282
- "complexType": {
1283
- "original": "DuetHeaderChangeEvent",
1284
- "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1285
- "references": {
1286
- "DuetHeaderChangeEvent": {
1287
- "location": "local"
1095
+ }, {
1096
+ "method": "duetContactClick",
1097
+ "name": "duetContactClick",
1098
+ "bubbles": true,
1099
+ "cancelable": true,
1100
+ "composed": true,
1101
+ "docs": {
1102
+ "tags": [],
1103
+ "text": "Event raised when a user has clicked an option from the contact dropdown. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1104
+ },
1105
+ "complexType": {
1106
+ "original": "DuetHeaderChangeEvent",
1107
+ "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1108
+ "references": {
1109
+ "DuetHeaderChangeEvent": {
1110
+ "location": "local"
1111
+ }
1288
1112
  }
1289
1113
  }
1290
- }
1291
- }, {
1292
- "method": "duetSkipClick",
1293
- "name": "duetSkipClick",
1294
- "bubbles": true,
1295
- "cancelable": true,
1296
- "composed": true,
1297
- "docs": {
1298
- "tags": [],
1299
- "text": "Event raised when a user has clicked the \"skip to content\" button. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1300
- },
1301
- "complexType": {
1302
- "original": "DuetHeaderChangeEvent",
1303
- "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1304
- "references": {
1305
- "DuetHeaderChangeEvent": {
1306
- "location": "local"
1114
+ }, {
1115
+ "method": "duetItemClick",
1116
+ "name": "duetItemClick",
1117
+ "bubbles": true,
1118
+ "cancelable": true,
1119
+ "composed": true,
1120
+ "docs": {
1121
+ "tags": [],
1122
+ "text": "Event raised when a user has clicked a menu item. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1123
+ },
1124
+ "complexType": {
1125
+ "original": "DuetHeaderChangeEvent",
1126
+ "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1127
+ "references": {
1128
+ "DuetHeaderChangeEvent": {
1129
+ "location": "local"
1130
+ }
1307
1131
  }
1308
1132
  }
1309
- }
1310
- }, {
1311
- "method": "duetAnalytics",
1312
- "name": "duetAnalytics",
1313
- "bubbles": true,
1314
- "cancelable": true,
1315
- "composed": true,
1316
- "docs": {
1317
- "tags": [],
1318
- "text": "Event raised when an items with an associated analytics ID is clicked. Analytics ID can be\naccessed via **event.detail.analyticsId**"
1319
- },
1320
- "complexType": {
1321
- "original": "DuetHeaderAnalyticsEvent",
1322
- "resolved": "{ analyticsId: string; component: \"duet-header\"; }",
1323
- "references": {
1324
- "DuetHeaderAnalyticsEvent": {
1325
- "location": "local"
1133
+ }, {
1134
+ "method": "duetSkipClick",
1135
+ "name": "duetSkipClick",
1136
+ "bubbles": true,
1137
+ "cancelable": true,
1138
+ "composed": true,
1139
+ "docs": {
1140
+ "tags": [],
1141
+ "text": "Event raised when a user has clicked the \"skip to content\" button. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
1142
+ },
1143
+ "complexType": {
1144
+ "original": "DuetHeaderChangeEvent",
1145
+ "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1146
+ "references": {
1147
+ "DuetHeaderChangeEvent": {
1148
+ "location": "local"
1149
+ }
1326
1150
  }
1327
1151
  }
1328
- }
1329
- }, {
1330
- "method": "duetMobileNavToggle",
1331
- "name": "duetMobileNavToggle",
1332
- "bubbles": true,
1333
- "cancelable": true,
1334
- "composed": true,
1335
- "docs": {
1336
- "tags": [],
1337
- "text": "Event raised mobile navigation is toggled. **event.detail.open** shows the current status of the navigation."
1338
- },
1339
- "complexType": {
1340
- "original": "DuetHeaderMobileNavToggleEvent",
1341
- "resolved": "{ originalEvent: Event; open: boolean; }",
1342
- "references": {
1343
- "DuetHeaderMobileNavToggleEvent": {
1344
- "location": "local"
1152
+ }, {
1153
+ "method": "duetAnalytics",
1154
+ "name": "duetAnalytics",
1155
+ "bubbles": true,
1156
+ "cancelable": true,
1157
+ "composed": true,
1158
+ "docs": {
1159
+ "tags": [],
1160
+ "text": "Event raised when an items with an associated analytics ID is clicked. Analytics ID can be\naccessed via **event.detail.analyticsId**"
1161
+ },
1162
+ "complexType": {
1163
+ "original": "DuetHeaderAnalyticsEvent",
1164
+ "resolved": "{ analyticsId: string; component: \"duet-header\"; }",
1165
+ "references": {
1166
+ "DuetHeaderAnalyticsEvent": {
1167
+ "location": "local"
1168
+ }
1345
1169
  }
1346
1170
  }
1347
- }
1348
- }, {
1349
- "method": "duetEvent",
1350
- "name": "duetEvent",
1351
- "bubbles": true,
1352
- "cancelable": true,
1353
- "composed": true,
1354
- "docs": {
1355
- "tags": [],
1356
- "text": "General event stream for the following events:\nitem: onMouseEnter, onTouchDown;\nmenuItem: onMouseEnter, onTouchDown;.\nYou can prevent\nthe default browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via\n**event.detail.data**."
1357
- },
1358
- "complexType": {
1359
- "original": "DuetHeaderChangeEvent",
1360
- "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1361
- "references": {
1362
- "DuetHeaderChangeEvent": {
1363
- "location": "local"
1171
+ }, {
1172
+ "method": "duetMobileNavToggle",
1173
+ "name": "duetMobileNavToggle",
1174
+ "bubbles": true,
1175
+ "cancelable": true,
1176
+ "composed": true,
1177
+ "docs": {
1178
+ "tags": [],
1179
+ "text": "Event raised mobile navigation is toggled. **event.detail.open** shows the current status of the navigation."
1180
+ },
1181
+ "complexType": {
1182
+ "original": "DuetHeaderMobileNavToggleEvent",
1183
+ "resolved": "{ originalEvent: Event; open: boolean; }",
1184
+ "references": {
1185
+ "DuetHeaderMobileNavToggleEvent": {
1186
+ "location": "local"
1187
+ }
1364
1188
  }
1365
1189
  }
1366
- }
1367
- }]; }
1368
- static get methods() { return {
1369
- "closeMenus": {
1370
- "complexType": {
1371
- "signature": "(moveFocusToButton?: boolean) => Promise<void>",
1372
- "parameters": [{
1373
- "tags": [],
1374
- "text": ""
1375
- }],
1376
- "references": {
1377
- "Promise": {
1378
- "location": "global"
1190
+ }, {
1191
+ "method": "duetEvent",
1192
+ "name": "duetEvent",
1193
+ "bubbles": true,
1194
+ "cancelable": true,
1195
+ "composed": true,
1196
+ "docs": {
1197
+ "tags": [],
1198
+ "text": "General event stream for the following events:\nitem: onMouseEnter, onTouchDown;\nmenuItem: onMouseEnter, onTouchDown;.\nYou can prevent\nthe default browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via\n**event.detail.data**."
1199
+ },
1200
+ "complexType": {
1201
+ "original": "DuetHeaderChangeEvent",
1202
+ "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1203
+ "references": {
1204
+ "DuetHeaderChangeEvent": {
1205
+ "location": "local"
1206
+ }
1379
1207
  }
1208
+ }
1209
+ }];
1210
+ }
1211
+ static get methods() {
1212
+ return {
1213
+ "closeMenus": {
1214
+ "complexType": {
1215
+ "signature": "(moveFocusToButton?: boolean) => Promise<void>",
1216
+ "parameters": [{
1217
+ "tags": [],
1218
+ "text": ""
1219
+ }],
1220
+ "references": {
1221
+ "Promise": {
1222
+ "location": "global"
1223
+ }
1224
+ },
1225
+ "return": "Promise<void>"
1380
1226
  },
1381
- "return": "Promise<void>"
1227
+ "docs": {
1228
+ "text": "Closes all dropdown menus in header when called.",
1229
+ "tags": []
1230
+ }
1382
1231
  },
1383
- "docs": {
1384
- "text": "Closes all dropdown menus in header when called.",
1385
- "tags": []
1386
- }
1387
- },
1388
- "setFocus": {
1389
- "complexType": {
1390
- "signature": "(options?: FocusOptions) => Promise<void>",
1391
- "parameters": [{
1392
- "tags": [],
1393
- "text": ""
1394
- }],
1395
- "references": {
1396
- "Promise": {
1397
- "location": "global"
1232
+ "setFocus": {
1233
+ "complexType": {
1234
+ "signature": "(options?: FocusOptions) => Promise<void>",
1235
+ "parameters": [{
1236
+ "tags": [],
1237
+ "text": ""
1238
+ }],
1239
+ "references": {
1240
+ "Promise": {
1241
+ "location": "global"
1242
+ },
1243
+ "FocusOptions": {
1244
+ "location": "global"
1245
+ }
1398
1246
  },
1399
- "FocusOptions": {
1400
- "location": "global"
1401
- }
1247
+ "return": "Promise<void>"
1402
1248
  },
1403
- "return": "Promise<void>"
1404
- },
1405
- "docs": {
1406
- "text": "Sets focus on the specified `duet-header`. Use this method instead of the global\n`header.focus()`.",
1407
- "tags": []
1249
+ "docs": {
1250
+ "text": "Sets focus on the specified `duet-header`. Use this method instead of the global\n`header.focus()`.",
1251
+ "tags": []
1252
+ }
1408
1253
  }
1409
- }
1410
- }; }
1254
+ };
1255
+ }
1411
1256
  static get elementRef() { return "element"; }
1412
- static get watchers() { return [{
1413
- "propName": "user",
1414
- "methodName": "refresh"
1415
- }, {
1416
- "propName": "items",
1417
- "methodName": "refresh"
1418
- }, {
1419
- "propName": "session",
1420
- "methodName": "refresh"
1421
- }, {
1422
- "propName": "back",
1423
- "methodName": "refresh"
1424
- }, {
1425
- "propName": "contactItems",
1426
- "methodName": "refresh"
1427
- }, {
1428
- "propName": "languageItems",
1429
- "methodName": "refresh"
1430
- }]; }
1431
- static get listeners() { return [{
1432
- "name": "keyup",
1433
- "method": "handleKeyUp",
1434
- "target": "window",
1435
- "capture": false,
1436
- "passive": false
1437
- }, {
1438
- "name": "keydown",
1439
- "method": "handleKeyDown",
1440
- "target": "window",
1441
- "capture": false,
1442
- "passive": false
1443
- }, {
1444
- "name": "focus",
1445
- "method": "handleDocumentClick",
1446
- "target": "document",
1447
- "capture": false,
1448
- "passive": false
1449
- }, {
1450
- "name": "click",
1451
- "method": "handleDocumentClick",
1452
- "target": "document",
1453
- "capture": false,
1454
- "passive": false
1455
- }]; }
1257
+ static get watchers() {
1258
+ return [{
1259
+ "propName": "user",
1260
+ "methodName": "refresh"
1261
+ }, {
1262
+ "propName": "items",
1263
+ "methodName": "refresh"
1264
+ }, {
1265
+ "propName": "session",
1266
+ "methodName": "refresh"
1267
+ }, {
1268
+ "propName": "back",
1269
+ "methodName": "refresh"
1270
+ }, {
1271
+ "propName": "contactItems",
1272
+ "methodName": "refresh"
1273
+ }, {
1274
+ "propName": "languageItems",
1275
+ "methodName": "refresh"
1276
+ }];
1277
+ }
1278
+ static get listeners() {
1279
+ return [{
1280
+ "name": "keyup",
1281
+ "method": "handleKeyUp",
1282
+ "target": "window",
1283
+ "capture": false,
1284
+ "passive": false
1285
+ }, {
1286
+ "name": "keydown",
1287
+ "method": "handleKeyDown",
1288
+ "target": "window",
1289
+ "capture": false,
1290
+ "passive": false
1291
+ }, {
1292
+ "name": "focus",
1293
+ "method": "handleDocumentClick",
1294
+ "target": "document",
1295
+ "capture": false,
1296
+ "passive": false
1297
+ }, {
1298
+ "name": "click",
1299
+ "method": "handleDocumentClick",
1300
+ "target": "document",
1301
+ "capture": false,
1302
+ "passive": false
1303
+ }];
1304
+ }
1456
1305
  }