@duetds/components 6.0.7 → 6.2.0

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 (524) hide show
  1. package/hydrate/index.js +1362 -216
  2. package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
  3. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  4. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  7. package/lib/cjs/duet-button_2.cjs.entry.js +3 -3
  8. package/lib/cjs/duet-caption_4.cjs.entry.js +3 -3
  9. package/lib/cjs/duet-card.cjs.entry.js +10 -4
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +6 -2
  11. package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
  12. package/lib/cjs/duet-collapsible.cjs.entry.js +2 -2
  13. package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  16. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  17. package/lib/cjs/duet-editable-table_3.cjs.entry.js +7 -18
  18. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-footer.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
  22. package/lib/cjs/duet-header_2.cjs.entry.js +3 -3
  23. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-icon.cjs.entry.js +3 -3
  25. package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-layout.cjs.entry.js +8 -2
  27. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +49 -0
  29. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +65 -0
  30. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +46 -0
  31. package/lib/cjs/duet-menu-bar-menu-dropdown-link.cjs.entry.js +58 -0
  32. package/lib/cjs/duet-menu-bar-menu-dropdown.cjs.entry.js +65 -0
  33. package/lib/cjs/duet-menu-bar-menu-link.cjs.entry.js +50 -0
  34. package/lib/cjs/duet-menu-bar-menu.cjs.entry.js +65 -0
  35. package/lib/cjs/duet-menu-bar.cjs.entry.js +76 -0
  36. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  37. package/lib/cjs/duet-multiselect.cjs.entry.js +227 -0
  38. package/lib/cjs/duet-nav.cjs.entry.js +116 -0
  39. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  41. package/lib/cjs/duet-pagination_2.cjs.entry.js +1 -1
  42. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  45. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  46. package/lib/cjs/duet-section-layout.cjs.entry.js +42 -0
  47. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  48. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  49. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  50. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  51. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +54 -0
  52. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +78 -0
  53. package/lib/cjs/duet-toolbar-link.cjs.entry.js +50 -0
  54. package/lib/cjs/duet-toolbar.cjs.entry.js +38 -0
  55. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  56. package/lib/cjs/duet-tray.cjs.entry.js +2 -2
  57. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  58. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  59. package/lib/cjs/duet.cjs.js +2 -2
  60. package/lib/cjs/{focus-utils-46880ee6.js → focus-utils-7a45cd29.js} +1 -1
  61. package/lib/cjs/{index-54afad07.js → index-222041ff.js} +1 -1
  62. package/lib/cjs/loader.cjs.js +2 -2
  63. package/lib/cjs/{token-utils-f6e2f4ef.js → token-utils-2e10264d.js} +17 -1
  64. package/lib/cjs/{tokens-4c69b122.js → tokens-21b244ee.js} +1 -0
  65. package/lib/cjs/{tokens.module-1bb2d45e.js → tokens.module-69170ddd.js} +3 -0
  66. package/lib/collection/collection-manifest.json +20 -0
  67. package/lib/collection/components/duet-card/duet-card.css +45 -0
  68. package/lib/collection/components/duet-card/duet-card.js +29 -0
  69. package/lib/collection/components/duet-checkbox/duet-checkbox.js +23 -1
  70. package/lib/collection/components/duet-editable-table/duet-editable-table.js +2 -1
  71. package/lib/collection/components/duet-layout/duet-layout.css +45 -0
  72. package/lib/collection/components/duet-layout/duet-layout.js +29 -0
  73. package/lib/collection/components/duet-menu-bar/duet-menu-bar.css +62 -0
  74. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +109 -0
  75. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.css +125 -0
  76. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +150 -0
  77. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.css +52 -0
  78. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +110 -0
  79. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.css +61 -0
  80. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +107 -0
  81. package/lib/collection/components/duet-menu-bar-menu/duet-menu-bar-menu.css +113 -0
  82. package/lib/collection/components/duet-menu-bar-menu/duet-menu-bar-menu.js +147 -0
  83. package/lib/collection/components/duet-menu-bar-menu-dropdown/duet-menu-bar-menu-dropdown.css +113 -0
  84. package/lib/collection/components/duet-menu-bar-menu-dropdown/duet-menu-bar-menu-dropdown.js +150 -0
  85. package/lib/collection/components/duet-menu-bar-menu-dropdown-link/duet-menu-bar-menu-dropdown-link.css +60 -0
  86. package/lib/collection/components/duet-menu-bar-menu-dropdown-link/duet-menu-bar-menu-dropdown-link.js +156 -0
  87. package/lib/collection/components/duet-menu-bar-menu-link/duet-menu-bar-menu-link.css +65 -0
  88. package/lib/collection/components/duet-menu-bar-menu-link/duet-menu-bar-menu-link.js +129 -0
  89. package/lib/collection/components/duet-multiselect/duet-multiselect.css +257 -0
  90. package/lib/collection/components/duet-multiselect/duet-multiselect.js +607 -0
  91. package/lib/collection/components/duet-nav/duet-nav.css +24 -0
  92. package/lib/collection/components/duet-nav/duet-nav.js +177 -0
  93. package/lib/collection/components/duet-section-layout/duet-section-layout.css +100 -0
  94. package/lib/collection/components/duet-section-layout/duet-section-layout.js +85 -0
  95. package/lib/collection/components/duet-table/duet-table.js +4 -16
  96. package/lib/collection/components/duet-toolbar/duet-toolbar.css +43 -0
  97. package/lib/collection/components/duet-toolbar/duet-toolbar.js +67 -0
  98. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.css +117 -0
  99. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +181 -0
  100. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.css +60 -0
  101. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +133 -0
  102. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.css +78 -0
  103. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +129 -0
  104. package/lib/collection/utils/token-utils.js +15 -0
  105. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  106. package/lib/dist-custom-elements/duet-alert.js +1 -1
  107. package/lib/dist-custom-elements/duet-badge.js +1 -1
  108. package/lib/dist-custom-elements/duet-breadcrumb.js +2 -2
  109. package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
  110. package/lib/dist-custom-elements/duet-button.js +1 -1
  111. package/lib/dist-custom-elements/duet-caption.js +1 -1
  112. package/lib/dist-custom-elements/duet-card.js +12 -5
  113. package/lib/dist-custom-elements/duet-checkbox.js +1 -155
  114. package/lib/dist-custom-elements/duet-choice-group.js +6 -6
  115. package/lib/dist-custom-elements/duet-choice.js +5 -5
  116. package/lib/dist-custom-elements/duet-collapsible.js +3 -3
  117. package/lib/dist-custom-elements/duet-combobox.js +3 -3
  118. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  119. package/lib/dist-custom-elements/duet-date-picker.js +8 -8
  120. package/lib/dist-custom-elements/duet-divider.js +1 -1
  121. package/lib/dist-custom-elements/duet-editable-table.js +1 -1
  122. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  123. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  124. package/lib/dist-custom-elements/duet-footer.js +4 -4
  125. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  126. package/lib/dist-custom-elements/duet-grid.js +1 -1
  127. package/lib/dist-custom-elements/duet-header.js +9 -9
  128. package/lib/dist-custom-elements/duet-heading.js +1 -1
  129. package/lib/dist-custom-elements/duet-hero.js +9 -9
  130. package/lib/dist-custom-elements/duet-icon.js +1 -1
  131. package/lib/dist-custom-elements/duet-input.js +1 -1
  132. package/lib/dist-custom-elements/duet-label.js +1 -1
  133. package/lib/dist-custom-elements/duet-layout.js +10 -3
  134. package/lib/dist-custom-elements/duet-link.js +1 -1
  135. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  136. package/lib/dist-custom-elements/duet-list.js +1 -1
  137. package/lib/dist-custom-elements/duet-logo.js +1 -1
  138. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.d.ts +11 -0
  139. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +73 -0
  140. package/lib/dist-custom-elements/duet-menu-bar-dropdown.d.ts +11 -0
  141. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +89 -0
  142. package/lib/dist-custom-elements/duet-menu-bar-link.d.ts +11 -0
  143. package/lib/dist-custom-elements/duet-menu-bar-link.js +70 -0
  144. package/lib/dist-custom-elements/duet-menu-bar-menu-dropdown-link.d.ts +11 -0
  145. package/lib/dist-custom-elements/duet-menu-bar-menu-dropdown-link.js +84 -0
  146. package/lib/dist-custom-elements/duet-menu-bar-menu-dropdown.d.ts +11 -0
  147. package/lib/dist-custom-elements/duet-menu-bar-menu-dropdown.js +89 -0
  148. package/lib/dist-custom-elements/duet-menu-bar-menu-link.d.ts +11 -0
  149. package/lib/dist-custom-elements/duet-menu-bar-menu-link.js +75 -0
  150. package/lib/dist-custom-elements/duet-menu-bar-menu.d.ts +11 -0
  151. package/lib/dist-custom-elements/duet-menu-bar-menu.js +83 -0
  152. package/lib/dist-custom-elements/duet-menu-bar.d.ts +11 -0
  153. package/lib/dist-custom-elements/duet-menu-bar.js +99 -0
  154. package/lib/dist-custom-elements/duet-modal.js +7 -7
  155. package/lib/dist-custom-elements/duet-multiselect.d.ts +11 -0
  156. package/lib/dist-custom-elements/duet-multiselect.js +302 -0
  157. package/lib/dist-custom-elements/duet-nav.d.ts +11 -0
  158. package/lib/dist-custom-elements/duet-nav.js +132 -0
  159. package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
  160. package/lib/dist-custom-elements/duet-notification.js +2 -2
  161. package/lib/dist-custom-elements/duet-number-input.js +7 -7
  162. package/lib/dist-custom-elements/duet-pagination.js +7 -7
  163. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  164. package/lib/dist-custom-elements/duet-progress.js +1 -1
  165. package/lib/dist-custom-elements/duet-radio-group.js +6 -6
  166. package/lib/dist-custom-elements/duet-radio.js +1 -1
  167. package/lib/dist-custom-elements/duet-range-slider.js +3 -3
  168. package/lib/dist-custom-elements/duet-range-stepper.js +4 -4
  169. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  170. package/lib/dist-custom-elements/duet-section-layout.d.ts +11 -0
  171. package/lib/dist-custom-elements/duet-section-layout.js +59 -0
  172. package/lib/dist-custom-elements/duet-select.js +1 -1
  173. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  174. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  175. package/lib/dist-custom-elements/duet-step.js +4 -4
  176. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  177. package/lib/dist-custom-elements/duet-tab-group.js +8 -8
  178. package/lib/dist-custom-elements/duet-tab.js +1 -1
  179. package/lib/dist-custom-elements/duet-table.js +1 -1
  180. package/lib/dist-custom-elements/duet-textarea.js +8 -8
  181. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  182. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.d.ts +11 -0
  183. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +79 -0
  184. package/lib/dist-custom-elements/duet-toolbar-dropdown.d.ts +11 -0
  185. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +103 -0
  186. package/lib/dist-custom-elements/duet-toolbar-link.d.ts +11 -0
  187. package/lib/dist-custom-elements/duet-toolbar-link.js +75 -0
  188. package/lib/dist-custom-elements/duet-toolbar.d.ts +11 -0
  189. package/lib/dist-custom-elements/duet-toolbar.js +54 -0
  190. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  191. package/lib/dist-custom-elements/duet-tray.js +4 -4
  192. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  193. package/lib/dist-custom-elements/duet-upload.js +18 -18
  194. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  195. package/lib/dist-custom-elements/index.js +1 -1
  196. package/lib/dist-custom-elements/{p-3426a84c.js → p-10c5ec0a.js} +2 -2
  197. package/lib/dist-custom-elements/{p-f23c23e9.js → p-30639e6d.js} +3 -3
  198. package/lib/{esm/tokens.module-385c4cf8.js → dist-custom-elements/p-33e00967.js} +1 -1
  199. package/lib/dist-custom-elements/{p-2f73ed5f.js → p-3691df06.js} +2 -2
  200. package/lib/dist-custom-elements/{p-12a61b16.js → p-3b984f00.js} +2 -2
  201. package/lib/dist-custom-elements/{p-4e94138b.js → p-53aed47b.js} +5 -5
  202. package/lib/dist-custom-elements/{p-836021e7.js → p-59f83f34.js} +2 -2
  203. package/lib/dist-custom-elements/{p-f42b7c16.js → p-629a7253.js} +4 -4
  204. package/lib/dist-custom-elements/{p-01a47ed0.js → p-704cfe64.js} +2 -2
  205. package/lib/dist-custom-elements/{p-bf876e72.js → p-70bfd26c.js} +2 -2
  206. package/lib/dist-custom-elements/{p-a081f721.js → p-809d88d4.js} +3 -3
  207. package/lib/dist-custom-elements/{p-a56649ff.js → p-8f052709.js} +6 -6
  208. package/lib/dist-custom-elements/{p-565c7b5e.js → p-914d8914.js} +2 -2
  209. package/lib/dist-custom-elements/p-936569fb.js +165 -0
  210. package/lib/dist-custom-elements/{p-0a3b3fbb.js → p-936e320e.js} +5 -5
  211. package/lib/dist-custom-elements/{p-c8517782.js → p-9607e182.js} +5 -17
  212. package/lib/dist-custom-elements/{p-76a78894.js → p-990a00b7.js} +2 -2
  213. package/lib/dist-custom-elements/{p-86faf728.js → p-9ed347f9.js} +17 -2
  214. package/lib/dist-custom-elements/{p-d05492d6.js → p-a5395818.js} +2 -2
  215. package/lib/dist-custom-elements/{p-3185bbc5.js → p-a563c612.js} +1 -1
  216. package/lib/dist-custom-elements/{p-b7f5c755.js → p-b715c813.js} +1 -1
  217. package/lib/dist-custom-elements/{p-10a1a3da.js → p-b8a94f80.js} +1 -1
  218. package/lib/dist-custom-elements/{p-f07d95b9.js → p-bcc881ab.js} +1 -1
  219. package/lib/dist-custom-elements/{p-fbb39f58.js → p-bd7fbd74.js} +1 -1
  220. package/lib/dist-custom-elements/{p-dfb36895.js → p-c0cc3992.js} +1 -1
  221. package/lib/dist-custom-elements/{p-02305a1e.js → p-c4d8cad0.js} +1 -1
  222. package/lib/dist-custom-elements/{p-f20bce7d.js → p-c62a4b7f.js} +1 -1
  223. package/lib/dist-custom-elements/{p-2215e15e.js → p-c9848d70.js} +6 -6
  224. package/lib/dist-custom-elements/{p-59480ad8.js → p-cf5f722f.js} +1 -1
  225. package/lib/dist-custom-elements/{p-068d8815.js → p-d629bb70.js} +1 -1
  226. package/lib/dist-custom-elements/{p-fe39bfb6.js → p-dde5cc29.js} +9 -8
  227. package/lib/dist-custom-elements/{p-1940df2f.js → p-f25401f4.js} +1 -1
  228. package/lib/dist-custom-elements/{p-85e4dd88.js → p-fcbb448b.js} +2 -2
  229. package/lib/dist-custom-elements/{p-c36d9eb5.js → p-fd6ca85a.js} +2 -2
  230. package/lib/duet/duet.esm.js +1 -1
  231. package/lib/duet/duet.js +1 -1
  232. package/lib/duet/{p-d98eedc7.entry.js → p-008723a7.entry.js} +1 -1
  233. package/lib/duet/{p-8b0fef4c.system.entry.js → p-00875eb4.system.entry.js} +1 -1
  234. package/lib/duet/{p-c16f5680.system.entry.js → p-019dd9ee.system.entry.js} +1 -1
  235. package/lib/duet/p-02f96400.system.js +4 -0
  236. package/lib/duet/{p-108f093f.system.entry.js → p-038c0be8.system.entry.js} +1 -1
  237. package/lib/duet/{p-e873306b.system.entry.js → p-05a9b2ed.system.entry.js} +1 -1
  238. package/lib/duet/p-081ca907.entry.js +4 -0
  239. package/lib/duet/{p-794e74ca.system.entry.js → p-0b2968fd.system.entry.js} +1 -1
  240. package/lib/duet/{p-0ef9099d.system.entry.js → p-0b4d0648.system.entry.js} +1 -1
  241. package/lib/duet/{p-ed8d9d14.system.entry.js → p-0e26a1f7.system.entry.js} +1 -1
  242. package/lib/duet/{p-00228a70.entry.js → p-0e3add03.entry.js} +1 -1
  243. package/lib/duet/{p-dbdaec86.entry.js → p-14a34528.entry.js} +1 -1
  244. package/lib/duet/p-17063917.system.js +4 -0
  245. package/lib/duet/{p-bd85d575.entry.js → p-17d6a4ae.entry.js} +1 -1
  246. package/lib/duet/{p-0082ff0a.system.entry.js → p-1a46b65f.system.entry.js} +1 -1
  247. package/lib/duet/{p-6a49efbc.js → p-1c98eb39.js} +1 -1
  248. package/lib/duet/p-1cf2522d.js +4 -0
  249. package/lib/duet/{p-f8ae4f24.system.entry.js → p-1d398157.system.entry.js} +1 -1
  250. package/lib/duet/{p-1fd65b6a.system.entry.js → p-21c20799.system.entry.js} +1 -1
  251. package/lib/duet/{p-afdf9c1c.system.entry.js → p-221a80d7.system.entry.js} +1 -1
  252. package/lib/duet/{p-e7f779ed.entry.js → p-23c032d9.entry.js} +1 -1
  253. package/lib/duet/p-2436c0a5.system.entry.js +4 -0
  254. package/lib/duet/{p-8baa5bd1.system.entry.js → p-2801f614.system.entry.js} +1 -1
  255. package/lib/duet/{p-00030749.entry.js → p-28fd9fd5.entry.js} +1 -1
  256. package/lib/duet/p-2d2e2b4b.entry.js +4 -0
  257. package/lib/duet/p-2d84d85d.entry.js +4 -0
  258. package/lib/duet/p-2ed0b7b5.entry.js +4 -0
  259. package/lib/duet/p-2ed52fbc.entry.js +4 -0
  260. package/lib/duet/p-32fb7a16.entry.js +4 -0
  261. package/lib/duet/{p-59edf7bc.system.entry.js → p-3d1a4328.system.entry.js} +1 -1
  262. package/lib/duet/{p-16f67902.system.entry.js → p-3dbbac7c.system.entry.js} +1 -1
  263. package/lib/duet/{p-444b7187.system.entry.js → p-438f4e56.system.entry.js} +1 -1
  264. package/lib/duet/{p-3054a69d.entry.js → p-43f6c489.entry.js} +1 -1
  265. package/lib/duet/{p-69b0c916.system.entry.js → p-46c90395.system.entry.js} +1 -1
  266. package/lib/duet/p-4929228f.entry.js +4 -0
  267. package/lib/duet/p-5283c47e.system.entry.js +4 -0
  268. package/lib/duet/{p-b77057b8.entry.js → p-5360c82c.entry.js} +1 -1
  269. package/lib/duet/{p-8ff5cb03.entry.js → p-54fb6981.entry.js} +1 -1
  270. package/lib/duet/{p-7088d347.entry.js → p-54fdd242.entry.js} +1 -1
  271. package/lib/duet/{p-933a2bd0.system.entry.js → p-551d2285.system.entry.js} +1 -1
  272. package/lib/duet/{p-d74d81a1.system.entry.js → p-5596a05a.system.entry.js} +1 -1
  273. package/lib/duet/p-559f5bd9.system.entry.js +4 -0
  274. package/lib/duet/{p-3fd6ad80.entry.js → p-5716f7cf.entry.js} +1 -1
  275. package/lib/duet/p-5a1feacf.system.entry.js +4 -0
  276. package/lib/duet/p-5d46f619.system.js +4 -0
  277. package/lib/duet/{p-5116e9b7.system.entry.js → p-5da6bb5e.system.entry.js} +1 -1
  278. package/lib/duet/p-5effbb73.system.entry.js +4 -0
  279. package/lib/duet/p-63d9b5be.entry.js +4 -0
  280. package/lib/duet/p-66ecef22.entry.js +4 -0
  281. package/lib/duet/{p-d4bb0408.entry.js → p-67afeaa0.entry.js} +1 -1
  282. package/lib/duet/p-67caf318.system.entry.js +4 -0
  283. package/lib/duet/p-67dfbcb9.system.entry.js +4 -0
  284. package/lib/duet/{p-0433b19b.entry.js → p-6829edbb.entry.js} +1 -1
  285. package/lib/duet/{p-f92491e1.entry.js → p-69bd2658.entry.js} +1 -1
  286. package/lib/duet/{p-13cdbe65.entry.js → p-6f085d5d.entry.js} +1 -1
  287. package/lib/duet/{p-63b7a28e.system.entry.js → p-709b02d5.system.entry.js} +2 -2
  288. package/lib/duet/p-709d05a4.entry.js +4 -0
  289. package/lib/duet/p-73ee04df.system.entry.js +4 -0
  290. package/lib/duet/{p-9cb0def1.system.entry.js → p-754da360.system.entry.js} +1 -1
  291. package/lib/duet/{p-d674ef21.entry.js → p-768b2c68.entry.js} +1 -1
  292. package/lib/duet/{p-7e3d7a7e.system.entry.js → p-78aa261b.system.entry.js} +1 -1
  293. package/lib/duet/{p-9f51f625.entry.js → p-797c482e.entry.js} +1 -1
  294. package/lib/duet/p-79a9746e.js +4 -0
  295. package/lib/duet/{p-c76ec371.system.entry.js → p-7b1eb2c4.system.entry.js} +1 -1
  296. package/lib/duet/p-7d4fb3ca.system.entry.js +4 -0
  297. package/lib/duet/{p-faf74d63.entry.js → p-7ebf9213.entry.js} +1 -1
  298. package/lib/duet/{p-6be76f1d.entry.js → p-7ef938ce.entry.js} +1 -1
  299. package/lib/duet/p-806ef9ec.system.entry.js +4 -0
  300. package/lib/duet/p-8078b081.system.js +4 -0
  301. package/lib/duet/{p-6e648879.entry.js → p-808cae20.entry.js} +1 -1
  302. package/lib/duet/{p-f3e7fc61.system.entry.js → p-80c32801.system.entry.js} +1 -1
  303. package/lib/duet/{p-7ba68318.system.entry.js → p-828c0da8.system.entry.js} +1 -1
  304. package/lib/duet/p-82fb4b79.entry.js +4 -0
  305. package/lib/duet/p-8adfc149.entry.js +4 -0
  306. package/lib/duet/{p-f40277da.system.entry.js → p-8c647ccd.system.entry.js} +1 -1
  307. package/lib/duet/p-8e03dfcf.system.entry.js +4 -0
  308. package/lib/duet/p-8f037a84.system.entry.js +4 -0
  309. package/lib/duet/p-9052b6f5.js +4 -0
  310. package/lib/duet/{p-1219c251.system.js → p-945d09b1.system.js} +1 -1
  311. package/lib/duet/p-9511eeb0.system.entry.js +4 -0
  312. package/lib/duet/p-9b7206f2.entry.js +4 -0
  313. package/lib/duet/p-9eb819d4.entry.js +4 -0
  314. package/lib/duet/{p-607eb013.entry.js → p-9f180230.entry.js} +1 -1
  315. package/lib/duet/{p-b44ae985.system.entry.js → p-a308e5d8.system.entry.js} +1 -1
  316. package/lib/duet/{p-3dadf26a.system.entry.js → p-a896fc94.system.entry.js} +1 -1
  317. package/lib/duet/p-aa2d8671.system.entry.js +4 -0
  318. package/lib/duet/p-aae2908f.entry.js +4 -0
  319. package/lib/duet/{p-187a788e.entry.js → p-ac965a4c.entry.js} +1 -1
  320. package/lib/duet/p-b0cdcf07.system.entry.js +4 -0
  321. package/lib/duet/{p-6372465a.entry.js → p-b77a7f39.entry.js} +1 -1
  322. package/lib/duet/{p-ff4995cc.entry.js → p-bd764d77.entry.js} +1 -1
  323. package/lib/duet/p-be0fb72f.entry.js +4 -0
  324. package/lib/duet/{p-a3ca26e9.system.entry.js → p-c0522118.system.entry.js} +1 -1
  325. package/lib/duet/{p-39c02539.system.entry.js → p-c25bac2c.system.entry.js} +1 -1
  326. package/lib/duet/{p-889cf32a.system.entry.js → p-c3c89ceb.system.entry.js} +1 -1
  327. package/lib/duet/{p-dc163c6e.entry.js → p-c47d6d7f.entry.js} +1 -1
  328. package/lib/duet/p-c4d8cad0.js +4 -0
  329. package/lib/duet/p-c602c7d9.system.entry.js +4 -0
  330. package/lib/duet/{p-e52ea726.entry.js → p-c659f77e.entry.js} +1 -1
  331. package/lib/duet/p-cd81fe71.entry.js +4 -0
  332. package/lib/duet/{p-50551874.entry.js → p-ce2cb1a1.entry.js} +1 -1
  333. package/lib/duet/p-d2f68f18.system.entry.js +4 -0
  334. package/lib/duet/{p-b0bf6662.entry.js → p-d82fa629.entry.js} +1 -1
  335. package/lib/duet/{p-be4c1b3f.entry.js → p-d8e321c6.entry.js} +1 -1
  336. package/lib/duet/{p-b4ffca84.system.entry.js → p-dc56dcf6.system.entry.js} +1 -1
  337. package/lib/duet/p-dcf961de.entry.js +4 -0
  338. package/lib/duet/{p-70a1a9bf.system.js → p-e1dbc0ce.system.js} +1 -1
  339. package/lib/duet/{p-c4a44c55.system.entry.js → p-e2b3fd43.system.entry.js} +1 -1
  340. package/lib/duet/{p-14e9ccd4.entry.js → p-e4455346.entry.js} +1 -1
  341. package/lib/duet/p-e4af296b.entry.js +4 -0
  342. package/lib/duet/p-e658e8eb.system.entry.js +4 -0
  343. package/lib/duet/{p-661839a3.entry.js → p-e8fa961d.entry.js} +1 -1
  344. package/lib/duet/{p-46f86392.entry.js → p-ef10e614.entry.js} +1 -1
  345. package/lib/duet/{p-c1c11d71.system.entry.js → p-ef82e2ef.system.entry.js} +1 -1
  346. package/lib/duet/p-efaf5929.system.entry.js +4 -0
  347. package/lib/duet/{p-cacad773.system.entry.js → p-f07bfed6.system.entry.js} +1 -1
  348. package/lib/duet/p-f1fa5107.entry.js +4 -0
  349. package/lib/duet/{p-90e58b7f.entry.js → p-f26434c2.entry.js} +1 -1
  350. package/lib/duet/{p-24210b97.system.entry.js → p-f414ce87.system.entry.js} +1 -1
  351. package/lib/duet/{p-92c491d9.entry.js → p-f65d9557.entry.js} +1 -1
  352. package/lib/duet/{p-a44366ba.entry.js → p-f78e687a.entry.js} +1 -1
  353. package/lib/duet/{p-f020f7b9.entry.js → p-fbcaf752.entry.js} +1 -1
  354. package/lib/duet/{p-177abbdc.system.entry.js → p-fccbd519.system.entry.js} +1 -1
  355. package/lib/duet/{p-dcb5d509.system.entry.js → p-fe3b4f38.system.entry.js} +1 -1
  356. package/lib/duet/{p-9587a804.entry.js → p-ff6af701.entry.js} +1 -1
  357. package/lib/esm/duet-action-button.entry.js +3 -3
  358. package/lib/esm/duet-alert.entry.js +1 -1
  359. package/lib/esm/duet-badge.entry.js +1 -1
  360. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  361. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  362. package/lib/esm/duet-button_2.entry.js +3 -3
  363. package/lib/esm/duet-caption_4.entry.js +3 -3
  364. package/lib/esm/duet-card.entry.js +10 -4
  365. package/lib/esm/duet-checkbox.entry.js +6 -2
  366. package/lib/esm/duet-choice_2.entry.js +2 -2
  367. package/lib/esm/duet-collapsible.entry.js +2 -2
  368. package/lib/esm/duet-combobox.entry.js +1 -1
  369. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  370. package/lib/esm/duet-date-picker.entry.js +2 -2
  371. package/lib/esm/duet-divider_2.entry.js +1 -1
  372. package/lib/esm/duet-editable-table_3.entry.js +7 -18
  373. package/lib/esm/duet-empty-state.entry.js +1 -1
  374. package/lib/esm/duet-fieldset.entry.js +1 -1
  375. package/lib/esm/duet-footer.entry.js +1 -1
  376. package/lib/esm/duet-grid_2.entry.js +2 -2
  377. package/lib/esm/duet-header_2.entry.js +3 -3
  378. package/lib/esm/duet-hero.entry.js +1 -1
  379. package/lib/esm/duet-icon.entry.js +3 -3
  380. package/lib/esm/duet-input_2.entry.js +1 -1
  381. package/lib/esm/duet-layout.entry.js +8 -2
  382. package/lib/esm/duet-list_2.entry.js +1 -1
  383. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +45 -0
  384. package/lib/esm/duet-menu-bar-dropdown.entry.js +61 -0
  385. package/lib/esm/duet-menu-bar-link.entry.js +42 -0
  386. package/lib/esm/duet-menu-bar-menu-dropdown-link.entry.js +54 -0
  387. package/lib/esm/duet-menu-bar-menu-dropdown.entry.js +61 -0
  388. package/lib/esm/duet-menu-bar-menu-link.entry.js +46 -0
  389. package/lib/esm/duet-menu-bar-menu.entry.js +61 -0
  390. package/lib/esm/duet-menu-bar.entry.js +72 -0
  391. package/lib/esm/duet-modal.entry.js +2 -2
  392. package/lib/esm/duet-multiselect.entry.js +223 -0
  393. package/lib/esm/duet-nav.entry.js +112 -0
  394. package/lib/esm/duet-notification_2.entry.js +1 -1
  395. package/lib/esm/duet-number-input.entry.js +1 -1
  396. package/lib/esm/duet-pagination_2.entry.js +1 -1
  397. package/lib/esm/duet-progress.entry.js +1 -1
  398. package/lib/esm/duet-radio_2.entry.js +1 -1
  399. package/lib/esm/duet-range-slider.entry.js +2 -2
  400. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  401. package/lib/esm/duet-section-layout.entry.js +38 -0
  402. package/lib/esm/duet-select.entry.js +1 -1
  403. package/lib/esm/duet-step_2.entry.js +1 -1
  404. package/lib/esm/duet-textarea.entry.js +1 -1
  405. package/lib/esm/duet-toggle.entry.js +1 -1
  406. package/lib/esm/duet-toolbar-dropdown-link.entry.js +50 -0
  407. package/lib/esm/duet-toolbar-dropdown.entry.js +74 -0
  408. package/lib/esm/duet-toolbar-link.entry.js +46 -0
  409. package/lib/esm/duet-toolbar.entry.js +34 -0
  410. package/lib/esm/duet-tooltip.entry.js +1 -1
  411. package/lib/esm/duet-tray.entry.js +2 -2
  412. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  413. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  414. package/lib/esm/duet.js +2 -2
  415. package/lib/esm/{focus-utils-d5499410.js → focus-utils-ac3a342e.js} +1 -1
  416. package/lib/esm/{index-26388161.js → index-5c6775f8.js} +1 -1
  417. package/lib/esm/loader.js +2 -2
  418. package/lib/esm/{token-utils-ebf797ab.js → token-utils-b531747a.js} +17 -2
  419. package/lib/esm/{tokens-b9d87fda.js → tokens-0963dc8b.js} +1 -1
  420. package/lib/{dist-custom-elements/p-266411cf.js → esm/tokens.module-d3321092.js} +1 -1
  421. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  422. package/lib/esm-es5/duet-alert.entry.js +1 -1
  423. package/lib/esm-es5/duet-badge.entry.js +1 -1
  424. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  425. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  426. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  427. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  428. package/lib/esm-es5/duet-card.entry.js +2 -2
  429. package/lib/esm-es5/duet-checkbox.entry.js +2 -2
  430. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  431. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  432. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  433. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  434. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  435. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  436. package/lib/esm-es5/duet-editable-table_3.entry.js +2 -2
  437. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  438. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  439. package/lib/esm-es5/duet-footer.entry.js +1 -1
  440. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  441. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  442. package/lib/esm-es5/duet-hero.entry.js +1 -1
  443. package/lib/esm-es5/duet-icon.entry.js +1 -1
  444. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  445. package/lib/esm-es5/duet-layout.entry.js +1 -1
  446. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  447. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +4 -0
  448. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +4 -0
  449. package/lib/esm-es5/duet-menu-bar-link.entry.js +4 -0
  450. package/lib/esm-es5/duet-menu-bar-menu-dropdown-link.entry.js +4 -0
  451. package/lib/esm-es5/duet-menu-bar-menu-dropdown.entry.js +4 -0
  452. package/lib/esm-es5/duet-menu-bar-menu-link.entry.js +4 -0
  453. package/lib/esm-es5/duet-menu-bar-menu.entry.js +4 -0
  454. package/lib/esm-es5/duet-menu-bar.entry.js +4 -0
  455. package/lib/esm-es5/duet-modal.entry.js +1 -1
  456. package/lib/esm-es5/duet-multiselect.entry.js +4 -0
  457. package/lib/esm-es5/duet-nav.entry.js +4 -0
  458. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  459. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  460. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  461. package/lib/esm-es5/duet-progress.entry.js +1 -1
  462. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  463. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  464. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  465. package/lib/esm-es5/duet-section-layout.entry.js +4 -0
  466. package/lib/esm-es5/duet-select.entry.js +1 -1
  467. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  468. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  469. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  470. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +4 -0
  471. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +4 -0
  472. package/lib/esm-es5/duet-toolbar-link.entry.js +4 -0
  473. package/lib/esm-es5/duet-toolbar.entry.js +4 -0
  474. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  475. package/lib/esm-es5/duet-tray.entry.js +1 -1
  476. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  477. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  478. package/lib/esm-es5/duet.js +1 -1
  479. package/lib/esm-es5/{focus-utils-d5499410.js → focus-utils-ac3a342e.js} +1 -1
  480. package/lib/esm-es5/{index-26388161.js → index-5c6775f8.js} +1 -1
  481. package/lib/esm-es5/loader.js +1 -1
  482. package/lib/esm-es5/token-utils-b531747a.js +4 -0
  483. package/lib/esm-es5/{tokens-b9d87fda.js → tokens-0963dc8b.js} +1 -1
  484. package/lib/esm-es5/{tokens.module-385c4cf8.js → tokens.module-d3321092.js} +1 -1
  485. package/lib/types/components/duet-card/duet-card.d.ts +6 -0
  486. package/lib/types/components/duet-checkbox/duet-checkbox.d.ts +4 -0
  487. package/lib/types/components/duet-layout/duet-layout.d.ts +6 -0
  488. package/lib/types/components/duet-menu-bar/duet-menu-bar.d.ts +35 -0
  489. package/lib/types/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.d.ts +49 -0
  490. package/lib/types/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.d.ts +32 -0
  491. package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +32 -0
  492. package/lib/types/components/duet-menu-bar-menu/duet-menu-bar-menu.d.ts +49 -0
  493. package/lib/types/components/duet-menu-bar-menu-dropdown/duet-menu-bar-menu-dropdown.d.ts +49 -0
  494. package/lib/types/components/duet-menu-bar-menu-dropdown-link/duet-menu-bar-menu-dropdown-link.d.ts +40 -0
  495. package/lib/types/components/duet-menu-bar-menu-link/duet-menu-bar-menu-link.d.ts +36 -0
  496. package/lib/types/components/duet-multiselect/duet-multiselect.d.ts +137 -0
  497. package/lib/types/components/duet-nav/duet-nav.d.ts +42 -0
  498. package/lib/types/components/duet-section-layout/duet-section-layout.d.ts +21 -0
  499. package/lib/types/components/duet-table/duet-table.d.ts +1 -12
  500. package/lib/types/components/duet-toolbar/duet-toolbar.d.ts +28 -0
  501. package/lib/types/components/duet-toolbar-dropdown/duet-toolbar-dropdown.d.ts +53 -0
  502. package/lib/types/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.d.ts +36 -0
  503. package/lib/types/components/duet-toolbar-link/duet-toolbar-link.d.ts +36 -0
  504. package/lib/types/components.d.ts +717 -0
  505. package/lib/types/utils/token-utils.d.ts +12 -0
  506. package/package.json +8 -7
  507. package/lib/duet/p-02305a1e.js +0 -4
  508. package/lib/duet/p-159ce776.js +0 -4
  509. package/lib/duet/p-1d7bd203.system.entry.js +0 -4
  510. package/lib/duet/p-1fc60a60.system.js +0 -4
  511. package/lib/duet/p-32f7178a.system.js +0 -4
  512. package/lib/duet/p-50081b36.entry.js +0 -4
  513. package/lib/duet/p-532e9db7.js +0 -4
  514. package/lib/duet/p-588be556.js +0 -4
  515. package/lib/duet/p-58eeed4f.system.entry.js +0 -4
  516. package/lib/duet/p-5d160b76.system.entry.js +0 -4
  517. package/lib/duet/p-6caf3423.entry.js +0 -4
  518. package/lib/duet/p-9f37c7e3.entry.js +0 -4
  519. package/lib/duet/p-c1d755c9.system.entry.js +0 -4
  520. package/lib/duet/p-d209191d.system.js +0 -4
  521. package/lib/duet/p-d267c3a2.entry.js +0 -4
  522. package/lib/duet/p-e30dc26c.entry.js +0 -4
  523. package/lib/duet/p-e841deb6.system.js +0 -4
  524. package/lib/esm-es5/token-utils-ebf797ab.js +0 -4
package/hydrate/index.js CHANGED
@@ -5,9 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- /*!
9
- Stencil Mock Doc v2.16.0 | MIT Licensed | https://stenciljs.com
10
- */
8
+ // @ts-nocheck
11
9
  const CONTENT_REF_ID = 'r';
12
10
  const ORG_LOCATION_ID = 'o';
13
11
  const SLOT_NODE_ID = 's';
@@ -6190,6 +6188,21 @@ function shadeRGBColor(color, percent) {
6190
6188
  B = B > 255 ? 255 : B;
6191
6189
  return `rgb(${R},${G},${B})`;
6192
6190
  }
6191
+ // remove wrapping speech marks.
6192
+ // media query tokens are wrapped in speech marks,
6193
+ // which need to be removed before use with matchMedia.
6194
+ const unwrap = (str) => str.substring(1, str.length - 1);
6195
+ ({
6196
+ "xxx-small": unwrap(mediaQueryXxxSmall),
6197
+ "xx-small": unwrap(mediaQueryXxSmall),
6198
+ "x-small": unwrap(mediaQueryXSmall),
6199
+ small: unwrap(mediaQuerySmall),
6200
+ medium: unwrap(mediaQueryMedium),
6201
+ large: unwrap(mediaQueryLarge),
6202
+ "x-large": unwrap(mediaQueryXLarge),
6203
+ "xx-large": unwrap(mediaQueryXxLarge),
6204
+ "xxx-large": unwrap(mediaQueryXxxLarge),
6205
+ });
6193
6206
 
6194
6207
  const duetActionButtonCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-action-button,*.sc-duet-action-button::after,*.sc-duet-action-button::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-action-button-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:inline-block;margin:0 auto}/*!@button.duet-action-button*/button.duet-action-button.sc-duet-action-button{white-space:nowrap}/*!@button.duet-action-button*/button.duet-action-button.sc-duet-action-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:auto !important;padding:0 !important;margin:0 0 0 8px !important;color:#00294d;cursor:pointer;background:#f5f8fa;border-radius:50%;transition:background-color 300ms ease !important}/*!@.duet-theme-turva button.duet-action-button*/.duet-theme-turva.sc-duet-action-button button.duet-action-button.sc-duet-action-button{color:#171c3a;background:#f5f5f7}/*!@button.duet-action-button duet-icon*/button.duet-action-button.sc-duet-action-button duet-icon.sc-duet-action-button{display:block}@media (max-width: 35.9375em){/*!@button.duet-action-button*/button.duet-action-button.sc-duet-action-button{width:32px;height:32px}}/*!@button.duet-action-button:not(:disabled):hover*/button.duet-action-button.sc-duet-action-button:not(:disabled):hover{background:#e9ecee}/*!@.duet-theme-turva button.duet-action-button:not(:disabled):hover*/.duet-theme-turva.sc-duet-action-button button.duet-action-button.sc-duet-action-button:not(:disabled):hover{background:#e9e9eb}/*!@button.duet-action-button:focus*/button.duet-action-button.sc-duet-action-button:focus{outline:0;box-shadow:0 0 0 2px #0077b3 !important}/*!@.duet-theme-turva button.duet-action-button:focus*/.duet-theme-turva.sc-duet-action-button button.duet-action-button.sc-duet-action-button:focus{box-shadow:0 0 0 2px #171c3a !important}/*!@button.duet-action-button:active:focus*/button.duet-action-button.sc-duet-action-button:active:focus{background:#dddfe1 !important;box-shadow:none}/*!@.duet-theme-turva button.duet-action-button:active:focus*/.duet-theme-turva.sc-duet-action-button button.duet-action-button.sc-duet-action-button:active:focus{background:#ddddde !important}/*!@button.duet-action-button:disabled*/button.duet-action-button.sc-duet-action-button:disabled{color:#909599;cursor:default;background:#f5f8fa;opacity:0.75}/*!@.duet-theme-turva button.duet-action-button:disabled*/.duet-theme-turva.sc-duet-action-button button.duet-action-button.sc-duet-action-button:disabled{color:#747475;background:#f5f5f7}";
6195
6208
 
@@ -7057,7 +7070,7 @@ class DuetCaption {
7057
7070
 
7058
7071
  var actionArrowUp={"title":"action-arrow-up","tags":"action arrow up caret","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M.75 17.939a.752.752 0 0 1-.53-1.281L10.94 5.94c.283-.284.659-.44 1.059-.44.401 0 .777.156 1.06.438l10.721 10.72a.752.752 0 0 1-.53 1.281.743.743 0 0 1-.53-.22L12 7 1.28 17.719a.743.743 0 0 1-.53.22z\"/></svg>"};
7059
7072
 
7060
- const duetCardCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-card,*.sc-duet-card::after,*.sc-duet-card::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-card-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:flex;width:100%;vertical-align:top}/*!@:host(.duet-card-info)*/.duet-card-info.sc-duet-card-h{margin-bottom:16px !important}/*!@:host(.duet-m-0)*/.duet-m-0.sc-duet-card-h{margin:0 !important}/*!@.duet-card*/.duet-card.sc-duet-card{padding:20px !important;position:relative;display:block;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;color:#00294d;text-decoration:none;border-radius:4px;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}/*!@.duet-card.duet-p-0*/.duet-card.duet-p-0.sc-duet-card{padding:0 !important}/*!@.duet-card.duet-m-0*/.duet-card.duet-m-0.sc-duet-card{margin:0 !important}/*!@.duet-card:focus*/.duet-card.sc-duet-card:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-theme-turva .duet-card:focus, .duet-card:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-card .duet-card.sc-duet-card:focus,.duet-card.sc-duet-card:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 36em){/*!@.duet-card*/.duet-card.sc-duet-card{padding:28px !important}}/*!@.duet-card.duet-theme-turva*/.duet-card.duet-theme-turva.sc-duet-card{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a;box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}@media (min-width: 36em){/*!@.duet-card.x-small*/.duet-card.x-small.sc-duet-card{padding:20px !important}}@media (min-width: 36em){/*!@.duet-card.medium*/.duet-card.medium.sc-duet-card{padding:28px !important}}@media (min-width: 48em){/*!@.duet-card.medium*/.duet-card.medium.sc-duet-card{padding:36px !important}}@media (min-width: 36em){/*!@.duet-card.large*/.duet-card.large.sc-duet-card{padding:36px !important}}@media (min-width: 48em){/*!@.duet-card.large*/.duet-card.large.sc-duet-card{padding:48px !important}}@media (min-width: 36em){/*!@.duet-card.x-large*/.duet-card.x-large.sc-duet-card{padding:48px !important}}@media (min-width: 48em){/*!@.duet-card.x-large*/.duet-card.x-large.sc-duet-card{padding:72px !important}}/*!@.duet-card.duet-card-collapsed*/.duet-card.duet-card-collapsed.sc-duet-card{padding-bottom:0 !important}@media (min-width: 36em){/*!@.duet-card.duet-card-collapsed*/.duet-card.duet-card-collapsed.sc-duet-card{padding-bottom:0 !important}}/*!@.duet-card.info*/.duet-card.info.sc-duet-card{background:rgba(0, 80, 128, 0.04) !important;box-shadow:none}/*!@.duet-card.info.duet-theme-turva*/.duet-card.info.duet-theme-turva.sc-duet-card{background:rgba(23, 28, 58, 0.035) !important}/*!@.duet-card.plain*/.duet-card.plain.sc-duet-card{box-shadow:none}/*!@.duet-card.plain:not(.duet-card-has-bg)*/.duet-card.plain.sc-duet-card:not(.duet-card-has-bg){background:transparent !important}/*!@.duet-card-heading-grid*/.duet-card-heading-grid.sc-duet-card{display:flex;flex-direction:row}/*!@.duet-card-icon*/.duet-card-icon.sc-duet-card{align-self:center}/*!@.duet-card-heading-text*/.duet-card-heading-text.sc-duet-card{flex:1;word-break:break-word}/*!@.duet-card-secondary-heading*/.duet-card-secondary-heading.sc-duet-card{font-size:1rem;font-weight:600;word-break:break-word}/*!@.duet-card-secondary-heading--inline*/.duet-card-secondary-heading--inline.sc-duet-card{display:block;flex:1;align-self:flex-start;line-height:1.875;text-align:right}@media (max-width: 22.5em){/*!@.duet-card-secondary-heading--inline*/.duet-card-secondary-heading--inline.sc-duet-card{display:none}}/*!@.duet-card-secondary-heading--new-line*/.duet-card-secondary-heading--new-line.sc-duet-card{display:none}@media (max-width: 22.5em){/*!@.duet-card-secondary-heading--new-line*/.duet-card-secondary-heading--new-line.sc-duet-card{display:block}}/*!@.duet-card-heading*/.duet-card-heading.sc-duet-card{position:relative;display:block;padding:16px 20px;margin:-20px -20px 20px;overflow:hidden;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1.25rem;font-weight:800;color:#00294d;border-bottom:1px solid #e1e3e6}@media (min-width: 36em){/*!@.duet-card-heading*/.duet-card-heading.sc-duet-card{padding:15px 28px 16px !important;margin:-28px -28px 20px}}/*!@.duet-card-heading[role=button]*/.duet-card-heading[role=button].sc-duet-card{-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:4px;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;appearance:none}/*!@.duet-card-heading[role=button]:focus*/.duet-card-heading[role=button].sc-duet-card:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-card-heading[role=button]:focus*/.user-is-tabbing.sc-duet-card-h .duet-card-heading[role=button].sc-duet-card:focus{border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-card-heading[role=button]:focus*/.user-is-tabbing.sc-duet-card-h .duet-theme-turva.sc-duet-card .duet-card-heading[role=button].sc-duet-card:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-card-collapsed .duet-card-heading*/.duet-card-collapsed.sc-duet-card .duet-card-heading.sc-duet-card{margin-bottom:0 !important;border-bottom:0 !important}/*!@.duet-theme-turva .duet-card-heading*/.duet-theme-turva.sc-duet-card .duet-card-heading.sc-duet-card{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a;border-color:#e4e4e6}@media (min-width: 36em){/*!@.x-small .duet-card-heading*/.x-small.sc-duet-card .duet-card-heading.sc-duet-card{padding:10px 20px 11px !important;margin:-20px -20px 20px}}@media (min-width: 48em){/*!@.x-small .duet-card-heading*/.x-small.sc-duet-card .duet-card-heading.sc-duet-card{padding:10px 20px 11px !important;margin:-20px -20px 20px}}/*!@.medium .duet-card-heading*/.medium.sc-duet-card .duet-card-heading.sc-duet-card{margin:-20px -20px 20px}@media (min-width: 36em){/*!@.medium .duet-card-heading*/.medium.sc-duet-card .duet-card-heading.sc-duet-card{padding:15px 28px 16px !important;margin:-28px -28px 20px}}@media (min-width: 48em){/*!@.medium .duet-card-heading*/.medium.sc-duet-card .duet-card-heading.sc-duet-card{padding:19px 36px 20px !important;margin:-36px -36px 28px}}/*!@.large .duet-card-heading*/.large.sc-duet-card .duet-card-heading.sc-duet-card{margin:-20px -20px 20px}@media (min-width: 36em){/*!@.large .duet-card-heading*/.large.sc-duet-card .duet-card-heading.sc-duet-card{padding:19px 36px 20px !important;margin:-36px -36px 28px}}@media (min-width: 48em){/*!@.large .duet-card-heading*/.large.sc-duet-card .duet-card-heading.sc-duet-card{padding:26px 48px 27px !important;margin:-48px -48px 36px}}/*!@.x-large .duet-card-heading*/.x-large.sc-duet-card .duet-card-heading.sc-duet-card{margin:-20px -20px 20px}@media (min-width: 36em){/*!@.x-large .duet-card-heading*/.x-large.sc-duet-card .duet-card-heading.sc-duet-card{padding:26px 48px 27px !important;margin:-48px -48px 36px}}@media (min-width: 48em){/*!@.x-large .duet-card-heading*/.x-large.sc-duet-card .duet-card-heading.sc-duet-card{padding:39px 72px 40px !important;margin:-72px -72px 48px}}/*!@.none .duet-card-heading*/.none.sc-duet-card .duet-card-heading.sc-duet-card{padding:0 0 20px !important;margin:0 0 20px}/*!@.duet-card-footer*/.duet-card-footer.sc-duet-card{padding:20px;margin:20px -20px -20px;font-size:0.875rem;line-height:1.25;background:#f5f8fa;border-bottom-right-radius:4px;border-bottom-left-radius:4px}/*!@.duet-theme-turva .duet-card-footer*/.duet-theme-turva.sc-duet-card .duet-card-footer.sc-duet-card{background:#f5f5f7}@media (min-width: 36em){/*!@.duet-card-footer*/.duet-card-footer.sc-duet-card{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 48em){/*!@.duet-card-footer*/.duet-card-footer.sc-duet-card{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 36em){/*!@.x-small .duet-card-footer*/.x-small.sc-duet-card .duet-card-footer.sc-duet-card{padding:15px 28px 16px !important;padding-left:20px !important;margin:20px -20px -20px}}@media (min-width: 36em){/*!@.medium .duet-card-footer*/.medium.sc-duet-card .duet-card-footer.sc-duet-card{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 48em){/*!@.medium .duet-card-footer*/.medium.sc-duet-card .duet-card-footer.sc-duet-card{padding:19px 36px 20px !important;margin:28px -36px -36px}}@media (min-width: 36em){/*!@.large .duet-card-footer*/.large.sc-duet-card .duet-card-footer.sc-duet-card{padding:19px 36px 20px !important;margin:28px -36px -36px}}@media (min-width: 48em){/*!@.large .duet-card-footer*/.large.sc-duet-card .duet-card-footer.sc-duet-card{padding:26px 48px 27px !important;margin:36px -48px -48px}}@media (min-width: 36em){/*!@.x-large .duet-card-footer*/.x-large.sc-duet-card .duet-card-footer.sc-duet-card{padding:26px 48px 27px !important;margin:36px -48px -48px}}@media (min-width: 48em){/*!@.x-large .duet-card-footer*/.x-large.sc-duet-card .duet-card-footer.sc-duet-card{padding:39px 72px 40px !important;margin:48px -72px -72px}}/*!@.none .duet-card-footer*/.none.sc-duet-card .duet-card-footer.sc-duet-card{padding:12px 0 !important;margin:20px 0 0}/*!@.duet-card-content*/.duet-card-content.sc-duet-card{width:100%}/*!@.duet-card-collapsed .duet-card-content*/.duet-card-collapsed.sc-duet-card .duet-card-content.sc-duet-card{display:none}/*!@.duet-card-caret*/.duet-card-caret.sc-duet-card{position:relative;top:6px;align-self:flex-start;transition:300ms ease}/*!@[aria-expanded=false] .duet-card-caret*/[aria-expanded=false].sc-duet-card .duet-card-caret.sc-duet-card{transform:rotate(-180deg)}/*!@.duet-card-image-mask*/.duet-card-image-mask.sc-duet-card{position:relative;width:calc(100% + 40px);margin:-20px 0 20px -20px;overflow:hidden;border-top-left-radius:4px;border-top-right-radius:4px}@media (min-width: 36em){/*!@.small .duet-card-image-mask*/.small.sc-duet-card .duet-card-image-mask.sc-duet-card{width:calc(100% + 56px);margin:-28px 0 28px -28px}}@media (min-width: 36em){/*!@.medium .duet-card-image-mask*/.medium.sc-duet-card .duet-card-image-mask.sc-duet-card{width:calc(100% + 56px);margin:-28px 0 28px -28px}}@media (min-width: 48em){/*!@.medium .duet-card-image-mask*/.medium.sc-duet-card .duet-card-image-mask.sc-duet-card{width:calc(100% + 72px);margin:-36px 0 28px -36px}}@media (min-width: 36em){/*!@.large .duet-card-image-mask*/.large.sc-duet-card .duet-card-image-mask.sc-duet-card{width:calc(100% + 72px);margin:-36px 0 36px -36px}}@media (min-width: 48em){/*!@.large .duet-card-image-mask*/.large.sc-duet-card .duet-card-image-mask.sc-duet-card{width:calc(100% + 96px);margin:-48px 0 36px -48px}}@media (min-width: 36em){/*!@.x-large .duet-card-image-mask*/.x-large.sc-duet-card .duet-card-image-mask.sc-duet-card{width:calc(100% + 96px);margin:-48px 0 36px -48px}}@media (min-width: 48em){/*!@.x-large .duet-card-image-mask*/.x-large.sc-duet-card .duet-card-image-mask.sc-duet-card{width:calc(100% + 144px);margin:-72px 0 36px -72px}}/*!@.none .duet-card-image-mask*/.none.sc-duet-card .duet-card-image-mask.sc-duet-card{width:100%;margin:0 0 20px}/*!@.duet-card-image*/.duet-card-image.sc-duet-card{display:block;width:102%;min-width:1px;max-width:102%;height:auto;min-height:1px;margin-left:-1%;transition:transform 300ms ease;transform:scale(1.0001)}/*!@a.duet-card*/a.duet-card.sc-duet-card{transition:box-shadow 300ms ease, background-position 300ms ease}/*!@a.duet-card:hover*/a.duet-card.sc-duet-card:hover{box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07), 0 2px 10px 0 rgba(0, 41, 77, 0.1)}/*!@a.duet-card:hover .duet-card-image*/a.duet-card.sc-duet-card:hover .duet-card-image.sc-duet-card{transform:scale(1.024)}/*!@.duet-theme-turva a.duet-card:hover*/.duet-theme-turva.sc-duet-card a.duet-card.sc-duet-card:hover{box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07), 0 2px 10px 0 rgba(117, 117, 117, 0.15)}/*!@a.duet-card:active*/a.duet-card.sc-duet-card:active{transition:none;transform:translateY(1px)}";
7073
+ const duetCardCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-card,*.sc-duet-card::after,*.sc-duet-card::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-card-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:flex;width:100%;vertical-align:top}/*!@:host(.duet-card-info)*/.duet-card-info.sc-duet-card-h{margin-bottom:16px !important}/*!@:host(.duet-m-0)*/.duet-m-0.sc-duet-card-h{margin:0 !important}/*!@.duet-card*/.duet-card.sc-duet-card{padding:20px !important;position:relative;display:block;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;color:#00294d;text-decoration:none;border-radius:4px;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}/*!@.duet-card.duet-p-0*/.duet-card.duet-p-0.sc-duet-card{padding:0 !important}/*!@.duet-card.duet-m-0*/.duet-card.duet-m-0.sc-duet-card{margin:0 !important}/*!@.duet-card:focus*/.duet-card.sc-duet-card:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-theme-turva .duet-card:focus, .duet-card:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-card .duet-card.sc-duet-card:focus,.duet-card.sc-duet-card:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (max-width: 20.5em){/*!@.duet-card.shadow-xxx-small*/.duet-card.shadow-xxx-small.sc-duet-card{box-shadow:none}}@media (max-width: 22.5em){/*!@.duet-card.shadow-xx-small*/.duet-card.shadow-xx-small.sc-duet-card{box-shadow:none}}@media (max-width: 35.9375em){/*!@.duet-card.shadow-x-small*/.duet-card.shadow-x-small.sc-duet-card{box-shadow:none}}@media (min-width: 36em){/*!@.duet-card.shadow-small*/.duet-card.shadow-small.sc-duet-card{box-shadow:none}}@media (min-width: 48em){/*!@.duet-card.shadow-medium*/.duet-card.shadow-medium.sc-duet-card{box-shadow:none}}@media (min-width: 62em){/*!@.duet-card.shadow-large*/.duet-card.shadow-large.sc-duet-card{box-shadow:none}}@media (min-width: 64.0625em){/*!@.duet-card.shadow-x-large*/.duet-card.shadow-x-large.sc-duet-card{box-shadow:none}}@media (min-width: 76.25em){/*!@.duet-card.shadow-xx-large*/.duet-card.shadow-xx-large.sc-duet-card{box-shadow:none}}@media (min-width: 106.25em){/*!@.duet-card.shadow-xxx-large*/.duet-card.shadow-xxx-large.sc-duet-card{box-shadow:none}}@media (min-width: 36em){/*!@.duet-card*/.duet-card.sc-duet-card{padding:28px !important}}/*!@.duet-card.duet-theme-turva*/.duet-card.duet-theme-turva.sc-duet-card{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a;box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}@media (min-width: 36em){/*!@.duet-card.x-small*/.duet-card.x-small.sc-duet-card{padding:20px !important}}@media (min-width: 36em){/*!@.duet-card.medium*/.duet-card.medium.sc-duet-card{padding:28px !important}}@media (min-width: 48em){/*!@.duet-card.medium*/.duet-card.medium.sc-duet-card{padding:36px !important}}@media (min-width: 36em){/*!@.duet-card.large*/.duet-card.large.sc-duet-card{padding:36px !important}}@media (min-width: 48em){/*!@.duet-card.large*/.duet-card.large.sc-duet-card{padding:48px !important}}@media (min-width: 36em){/*!@.duet-card.x-large*/.duet-card.x-large.sc-duet-card{padding:48px !important}}@media (min-width: 48em){/*!@.duet-card.x-large*/.duet-card.x-large.sc-duet-card{padding:72px !important}}/*!@.duet-card.duet-card-collapsed*/.duet-card.duet-card-collapsed.sc-duet-card{padding-bottom:0 !important}@media (min-width: 36em){/*!@.duet-card.duet-card-collapsed*/.duet-card.duet-card-collapsed.sc-duet-card{padding-bottom:0 !important}}/*!@.duet-card.info*/.duet-card.info.sc-duet-card{background:rgba(0, 80, 128, 0.04) !important;box-shadow:none}/*!@.duet-card.info.duet-theme-turva*/.duet-card.info.duet-theme-turva.sc-duet-card{background:rgba(23, 28, 58, 0.035) !important}/*!@.duet-card.plain*/.duet-card.plain.sc-duet-card{box-shadow:none}/*!@.duet-card.plain:not(.duet-card-has-bg)*/.duet-card.plain.sc-duet-card:not(.duet-card-has-bg){background:transparent !important}/*!@.duet-card-heading-grid*/.duet-card-heading-grid.sc-duet-card{display:flex;flex-direction:row}/*!@.duet-card-icon*/.duet-card-icon.sc-duet-card{align-self:center}/*!@.duet-card-heading-text*/.duet-card-heading-text.sc-duet-card{flex:1;word-break:break-word}/*!@.duet-card-secondary-heading*/.duet-card-secondary-heading.sc-duet-card{font-size:1rem;font-weight:600;word-break:break-word}/*!@.duet-card-secondary-heading--inline*/.duet-card-secondary-heading--inline.sc-duet-card{display:block;flex:1;align-self:flex-start;line-height:1.875;text-align:right}@media (max-width: 22.5em){/*!@.duet-card-secondary-heading--inline*/.duet-card-secondary-heading--inline.sc-duet-card{display:none}}/*!@.duet-card-secondary-heading--new-line*/.duet-card-secondary-heading--new-line.sc-duet-card{display:none}@media (max-width: 22.5em){/*!@.duet-card-secondary-heading--new-line*/.duet-card-secondary-heading--new-line.sc-duet-card{display:block}}/*!@.duet-card-heading*/.duet-card-heading.sc-duet-card{position:relative;display:block;padding:16px 20px;margin:-20px -20px 20px;overflow:hidden;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1.25rem;font-weight:800;color:#00294d;border-bottom:1px solid #e1e3e6}@media (min-width: 36em){/*!@.duet-card-heading*/.duet-card-heading.sc-duet-card{padding:15px 28px 16px !important;margin:-28px -28px 20px}}/*!@.duet-card-heading[role=button]*/.duet-card-heading[role=button].sc-duet-card{-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:4px;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;appearance:none}/*!@.duet-card-heading[role=button]:focus*/.duet-card-heading[role=button].sc-duet-card:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-card-heading[role=button]:focus*/.user-is-tabbing.sc-duet-card-h .duet-card-heading[role=button].sc-duet-card:focus{border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-card-heading[role=button]:focus*/.user-is-tabbing.sc-duet-card-h .duet-theme-turva.sc-duet-card .duet-card-heading[role=button].sc-duet-card:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-card-collapsed .duet-card-heading*/.duet-card-collapsed.sc-duet-card .duet-card-heading.sc-duet-card{margin-bottom:0 !important;border-bottom:0 !important}/*!@.duet-theme-turva .duet-card-heading*/.duet-theme-turva.sc-duet-card .duet-card-heading.sc-duet-card{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a;border-color:#e4e4e6}@media (min-width: 36em){/*!@.x-small .duet-card-heading*/.x-small.sc-duet-card .duet-card-heading.sc-duet-card{padding:10px 20px 11px !important;margin:-20px -20px 20px}}@media (min-width: 48em){/*!@.x-small .duet-card-heading*/.x-small.sc-duet-card .duet-card-heading.sc-duet-card{padding:10px 20px 11px !important;margin:-20px -20px 20px}}/*!@.medium .duet-card-heading*/.medium.sc-duet-card .duet-card-heading.sc-duet-card{margin:-20px -20px 20px}@media (min-width: 36em){/*!@.medium .duet-card-heading*/.medium.sc-duet-card .duet-card-heading.sc-duet-card{padding:15px 28px 16px !important;margin:-28px -28px 20px}}@media (min-width: 48em){/*!@.medium .duet-card-heading*/.medium.sc-duet-card .duet-card-heading.sc-duet-card{padding:19px 36px 20px !important;margin:-36px -36px 28px}}/*!@.large .duet-card-heading*/.large.sc-duet-card .duet-card-heading.sc-duet-card{margin:-20px -20px 20px}@media (min-width: 36em){/*!@.large .duet-card-heading*/.large.sc-duet-card .duet-card-heading.sc-duet-card{padding:19px 36px 20px !important;margin:-36px -36px 28px}}@media (min-width: 48em){/*!@.large .duet-card-heading*/.large.sc-duet-card .duet-card-heading.sc-duet-card{padding:26px 48px 27px !important;margin:-48px -48px 36px}}/*!@.x-large .duet-card-heading*/.x-large.sc-duet-card .duet-card-heading.sc-duet-card{margin:-20px -20px 20px}@media (min-width: 36em){/*!@.x-large .duet-card-heading*/.x-large.sc-duet-card .duet-card-heading.sc-duet-card{padding:26px 48px 27px !important;margin:-48px -48px 36px}}@media (min-width: 48em){/*!@.x-large .duet-card-heading*/.x-large.sc-duet-card .duet-card-heading.sc-duet-card{padding:39px 72px 40px !important;margin:-72px -72px 48px}}/*!@.none .duet-card-heading*/.none.sc-duet-card .duet-card-heading.sc-duet-card{padding:0 0 20px !important;margin:0 0 20px}/*!@.duet-card-footer*/.duet-card-footer.sc-duet-card{padding:20px;margin:20px -20px -20px;font-size:0.875rem;line-height:1.25;background:#f5f8fa;border-bottom-right-radius:4px;border-bottom-left-radius:4px}/*!@.duet-theme-turva .duet-card-footer*/.duet-theme-turva.sc-duet-card .duet-card-footer.sc-duet-card{background:#f5f5f7}@media (min-width: 36em){/*!@.duet-card-footer*/.duet-card-footer.sc-duet-card{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 48em){/*!@.duet-card-footer*/.duet-card-footer.sc-duet-card{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 36em){/*!@.x-small .duet-card-footer*/.x-small.sc-duet-card .duet-card-footer.sc-duet-card{padding:15px 28px 16px !important;padding-left:20px !important;margin:20px -20px -20px}}@media (min-width: 36em){/*!@.medium .duet-card-footer*/.medium.sc-duet-card .duet-card-footer.sc-duet-card{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 48em){/*!@.medium .duet-card-footer*/.medium.sc-duet-card .duet-card-footer.sc-duet-card{padding:19px 36px 20px !important;margin:28px -36px -36px}}@media (min-width: 36em){/*!@.large .duet-card-footer*/.large.sc-duet-card .duet-card-footer.sc-duet-card{padding:19px 36px 20px !important;margin:28px -36px -36px}}@media (min-width: 48em){/*!@.large .duet-card-footer*/.large.sc-duet-card .duet-card-footer.sc-duet-card{padding:26px 48px 27px !important;margin:36px -48px -48px}}@media (min-width: 36em){/*!@.x-large .duet-card-footer*/.x-large.sc-duet-card .duet-card-footer.sc-duet-card{padding:26px 48px 27px !important;margin:36px -48px -48px}}@media (min-width: 48em){/*!@.x-large .duet-card-footer*/.x-large.sc-duet-card .duet-card-footer.sc-duet-card{padding:39px 72px 40px !important;margin:48px -72px -72px}}/*!@.none .duet-card-footer*/.none.sc-duet-card .duet-card-footer.sc-duet-card{padding:12px 0 !important;margin:20px 0 0}/*!@.duet-card-content*/.duet-card-content.sc-duet-card{width:100%}/*!@.duet-card-collapsed .duet-card-content*/.duet-card-collapsed.sc-duet-card .duet-card-content.sc-duet-card{display:none}/*!@.duet-card-caret*/.duet-card-caret.sc-duet-card{position:relative;top:6px;align-self:flex-start;transition:300ms ease}/*!@[aria-expanded=false] .duet-card-caret*/[aria-expanded=false].sc-duet-card .duet-card-caret.sc-duet-card{transform:rotate(-180deg)}/*!@.duet-card-image-mask*/.duet-card-image-mask.sc-duet-card{position:relative;width:calc(100% + 40px);margin:-20px 0 20px -20px;overflow:hidden;border-top-left-radius:4px;border-top-right-radius:4px}@media (min-width: 36em){/*!@.small .duet-card-image-mask*/.small.sc-duet-card .duet-card-image-mask.sc-duet-card{width:calc(100% + 56px);margin:-28px 0 28px -28px}}@media (min-width: 36em){/*!@.medium .duet-card-image-mask*/.medium.sc-duet-card .duet-card-image-mask.sc-duet-card{width:calc(100% + 56px);margin:-28px 0 28px -28px}}@media (min-width: 48em){/*!@.medium .duet-card-image-mask*/.medium.sc-duet-card .duet-card-image-mask.sc-duet-card{width:calc(100% + 72px);margin:-36px 0 28px -36px}}@media (min-width: 36em){/*!@.large .duet-card-image-mask*/.large.sc-duet-card .duet-card-image-mask.sc-duet-card{width:calc(100% + 72px);margin:-36px 0 36px -36px}}@media (min-width: 48em){/*!@.large .duet-card-image-mask*/.large.sc-duet-card .duet-card-image-mask.sc-duet-card{width:calc(100% + 96px);margin:-48px 0 36px -48px}}@media (min-width: 36em){/*!@.x-large .duet-card-image-mask*/.x-large.sc-duet-card .duet-card-image-mask.sc-duet-card{width:calc(100% + 96px);margin:-48px 0 36px -48px}}@media (min-width: 48em){/*!@.x-large .duet-card-image-mask*/.x-large.sc-duet-card .duet-card-image-mask.sc-duet-card{width:calc(100% + 144px);margin:-72px 0 36px -72px}}/*!@.none .duet-card-image-mask*/.none.sc-duet-card .duet-card-image-mask.sc-duet-card{width:100%;margin:0 0 20px}/*!@.duet-card-image*/.duet-card-image.sc-duet-card{display:block;width:102%;min-width:1px;max-width:102%;height:auto;min-height:1px;margin-left:-1%;transition:transform 300ms ease;transform:scale(1.0001)}/*!@a.duet-card*/a.duet-card.sc-duet-card{transition:box-shadow 300ms ease, background-position 300ms ease}/*!@a.duet-card:hover*/a.duet-card.sc-duet-card:hover{box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07), 0 2px 10px 0 rgba(0, 41, 77, 0.1)}/*!@a.duet-card:hover .duet-card-image*/a.duet-card.sc-duet-card:hover .duet-card-image.sc-duet-card{transform:scale(1.024)}/*!@.duet-theme-turva a.duet-card:hover*/.duet-theme-turva.sc-duet-card a.duet-card.sc-duet-card:hover{box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07), 0 2px 10px 0 rgba(117, 117, 117, 0.15)}/*!@a.duet-card:active*/a.duet-card.sc-duet-card:active{transition:none;transform:translateY(1px)}";
7061
7074
 
7062
7075
  /**
7063
7076
  * @slot unnamed default slot - The component’s primary content. All child nodes that do not have a slot attribute defined are inserted into this primary slot.
@@ -7119,6 +7132,11 @@ class DuetCard {
7119
7132
  * Theme of the card.
7120
7133
  */
7121
7134
  this.theme = "";
7135
+ /**
7136
+ * Breakpoint used to remove shadow around card. These match to
7137
+ * similar media query tokens: $media-query-small and $media-query-medium.
7138
+ */
7139
+ this.shadowBreakpoint = undefined;
7122
7140
  /**
7123
7141
  * Local methods.
7124
7142
  */
@@ -7183,6 +7201,7 @@ class DuetCard {
7183
7201
  "duet-card": true,
7184
7202
  [this.padding]: true,
7185
7203
  [this.variation]: true,
7204
+ [`shadow-${this.shadowBreakpoint}`]: !!this.shadowBreakpoint,
7186
7205
  "duet-p-0": this.padding === "none",
7187
7206
  "duet-theme-turva": this.theme === "turva",
7188
7207
  "duet-card-has-bg": this.background !== "gray-lightest",
@@ -7210,6 +7229,7 @@ class DuetCard {
7210
7229
  "margin": [1],
7211
7230
  "theme": [1025],
7212
7231
  "url": [1],
7232
+ "shadowBreakpoint": [1, "shadow-breakpoint"],
7213
7233
  "setFocus": [64]
7214
7234
  },
7215
7235
  "$listeners$": undefined,
@@ -7246,6 +7266,10 @@ class DuetCheckbox {
7246
7266
  * Aria description the button
7247
7267
  */
7248
7268
  this.accessibleDescription = undefined;
7269
+ /**
7270
+ * Aria selected
7271
+ */
7272
+ this.accessibleSelected = undefined;
7249
7273
  /**
7250
7274
  * Set whether the input is required or not. Please note that this is required for
7251
7275
  * accessible inputs when the user is required to fill them. When using this property
@@ -7329,7 +7353,7 @@ class DuetCheckbox {
7329
7353
  "duet-checkbox-container": true,
7330
7354
  "duet-label-hidden": this.labelHidden,
7331
7355
  "duet-theme-turva": this.theme === "turva",
7332
- } }, hAsync("input", { ref: input => (this.nativeInput = input), type: "checkbox", onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, value: this.value, class: { "duet-checkbox": true, disabled: this.disabled }, checked: this.checked, disabled: this.disabled, tabindex: this.accessibleIndex, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, required: this.required, role: this.role, name: this.name, id: identifier }), hAsync("label", { class: "duet-label", htmlFor: identifier }, hAsync("span", null, this.label)))));
7356
+ } }, hAsync("input", { ref: input => (this.nativeInput = input), type: "checkbox", onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, value: this.value, class: { "duet-checkbox": true, disabled: this.disabled }, checked: this.checked, disabled: this.disabled, tabindex: this.accessibleIndex, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-selected": this.accessibleSelected, required: this.required, role: this.role, name: this.name, id: identifier }), hAsync("label", { class: "duet-label", htmlFor: identifier }, hAsync("span", null, this.label)))));
7333
7357
  }
7334
7358
  get element() { return getElement(this); }
7335
7359
  static get style() { return duetCheckboxCss; }
@@ -7346,6 +7370,7 @@ class DuetCheckbox {
7346
7370
  "accessibleDetails": [1, "accessible-details"],
7347
7371
  "accessibleLabelledBy": [1, "accessible-labelled-by"],
7348
7372
  "accessibleDescription": [1, "accessible-description"],
7373
+ "accessibleSelected": [1, "accessible-selected"],
7349
7374
  "required": [4],
7350
7375
  "theme": [1025],
7351
7376
  "disabled": [516],
@@ -10032,7 +10057,8 @@ class DuetEditableTable {
10032
10057
  "duet-table-action-header": !!this.actions,
10033
10058
  } }, sortedColumns.map(column => {
10034
10059
  if (column.display !== false) {
10035
- return hAsync("th", { scope: "col" }, this.createLabel(column));
10060
+ const label = this.createLabel(column);
10061
+ return label !== "" ? hAsync("th", { scope: "col" }, label) : hAsync("td", null);
10036
10062
  }
10037
10063
  }), this.actions && (hAsync("th", { scope: "col", class: "duet-table-action-header-heading" }, this.actions && hAsync("duet-visually-hidden", null, getLocaleString(this.actionColumnLabel))))));
10038
10064
  }
@@ -11531,6 +11557,72 @@ class DuetHeader {
11531
11557
  }; }
11532
11558
  }
11533
11559
 
11560
+ const duetMenuBarMenuDropdownCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar-menu-dropdown,*.sc-duet-menu-bar-menu-dropdown::after,*.sc-duet-menu-bar-menu-dropdown::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-menu-dropdown-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}/*!@.duet-menu-bar-menu-dropdown*/.duet-menu-bar-menu-dropdown.sc-duet-menu-bar-menu-dropdown{position:relative;height:100%}/*!@.duet-menu-bar-menu-dropdown button*/.duet-menu-bar-menu-dropdown.sc-duet-menu-bar-menu-dropdown button.sc-duet-menu-bar-menu-dropdown{position:relative;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;height:100%;padding:0 0.75rem 0 1.5rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:600;line-height:1.25;color:#00294d;text-align:center;text-decoration:none;cursor:pointer}/*!@.duet-menu-bar-menu-dropdown button .label*/.duet-menu-bar-menu-dropdown.sc-duet-menu-bar-menu-dropdown button.sc-duet-menu-bar-menu-dropdown .label.sc-duet-menu-bar-menu-dropdown{display:flex;gap:5px;align-items:center;justify-content:center}/*!@.duet-menu-bar-menu-dropdown button:hover*/.duet-menu-bar-menu-dropdown.sc-duet-menu-bar-menu-dropdown button.sc-duet-menu-bar-menu-dropdown:hover{color:#004d80;background:#e6f2f8}/*!@.duet-menu-bar-menu-dropdown button.active*/.duet-menu-bar-menu-dropdown.sc-duet-menu-bar-menu-dropdown button.active.sc-duet-menu-bar-menu-dropdown{color:#0077b3}/*!@.duet-menu-bar-menu-dropdown button.active .caret*/.duet-menu-bar-menu-dropdown.sc-duet-menu-bar-menu-dropdown button.active.sc-duet-menu-bar-menu-dropdown .caret.sc-duet-menu-bar-menu-dropdown{transform:rotate(180deg)}/*!@.duet-menu-bar-menu-dropdown button.active::after*/.duet-menu-bar-menu-dropdown.sc-duet-menu-bar-menu-dropdown button.active.sc-duet-menu-bar-menu-dropdown::after{position:absolute;top:auto;bottom:2px;left:0;display:block;width:100%;height:2px;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(2px)}/*!@.duet-theme-turva .duet-menu-bar-menu-dropdown button.active::after*/.duet-theme-turva.sc-duet-menu-bar-menu-dropdown .duet-menu-bar-menu-dropdown.sc-duet-menu-bar-menu-dropdown button.active.sc-duet-menu-bar-menu-dropdown::after{background:#c60c30}/*!@.duet-menu-bar-menu-dropdown .items*/.duet-menu-bar-menu-dropdown.sc-duet-menu-bar-menu-dropdown .items.sc-duet-menu-bar-menu-dropdown{position:absolute;top:101%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:auto;min-width:320px;color:#00294d;background:white;border-radius:0 0 4px 4px;box-shadow:0 6px 6px 0 rgba(0, 41, 77, 0.1)}/*!@.duet-menu-bar-menu-dropdown .items.hidden*/.duet-menu-bar-menu-dropdown.sc-duet-menu-bar-menu-dropdown .items.hidden.sc-duet-menu-bar-menu-dropdown{display:none}/*!@.duet-menu-bar-menu-dropdown.duet-theme-turva button*/.duet-menu-bar-menu-dropdown.duet-theme-turva.sc-duet-menu-bar-menu-dropdown button.sc-duet-menu-bar-menu-dropdown{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}/*!@.duet-menu-bar-menu-dropdown.duet-theme-turva button:hover*/.duet-menu-bar-menu-dropdown.duet-theme-turva.sc-duet-menu-bar-menu-dropdown button.sc-duet-menu-bar-menu-dropdown:hover{color:#940925;background:#e4e4e6}/*!@.duet-menu-bar-menu-dropdown.duet-theme-turva button.active*/.duet-menu-bar-menu-dropdown.duet-theme-turva.sc-duet-menu-bar-menu-dropdown button.active.sc-duet-menu-bar-menu-dropdown{color:#c60c30}/*!@.duet-menu-bar-menu-dropdown.duet-theme-turva button.active::after*/.duet-menu-bar-menu-dropdown.duet-theme-turva.sc-duet-menu-bar-menu-dropdown button.active.sc-duet-menu-bar-menu-dropdown::after{background:#c60c30}/*!@.duet-menu-bar-menu-dropdown.duet-theme-turva .items*/.duet-menu-bar-menu-dropdown.duet-theme-turva.sc-duet-menu-bar-menu-dropdown .items.sc-duet-menu-bar-menu-dropdown{background:#f5f5f7}";
11561
+
11562
+ class DuetHeaderMenuDropdown {
11563
+ constructor(hostRef) {
11564
+ registerInstance(this, hostRef);
11565
+ this.duetMenuBarMenuDropdownEvent = createEvent$2(this, "duetMenuBarMenuDropdownEvent", 7);
11566
+ /**
11567
+ * Theme.
11568
+ */
11569
+ this.theme = "";
11570
+ /**
11571
+ * Open
11572
+ */
11573
+ this.open = false;
11574
+ /**
11575
+ * Icon
11576
+ */
11577
+ this.icon = undefined;
11578
+ this.toggleMenu = (e) => {
11579
+ const toggle = !this.open;
11580
+ this.open = toggle;
11581
+ this.duetMenuBarMenuDropdownEvent.emit({
11582
+ originalEvent: e,
11583
+ data: { element: this.element, open: this.open },
11584
+ component: "duet-menu-bar-menu-dropdown",
11585
+ });
11586
+ };
11587
+ this.onClick = (e) => {
11588
+ this.toggleMenu(e);
11589
+ e.stopImmediatePropagation();
11590
+ };
11591
+ }
11592
+ /**
11593
+ * Component lifecycle events.
11594
+ */
11595
+ componentWillLoad() {
11596
+ inheritGlobalTheme(this);
11597
+ }
11598
+ /**
11599
+ * render() function
11600
+ * Always the last one in the class.
11601
+ */
11602
+ render() {
11603
+ return (hAsync(Host, null, hAsync("div", { class: { "duet-menu-bar-menu-dropdown": true, "duet-theme-turva": this.theme === "turva", active: this.open } }, hAsync("button", { "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
11604
+ active: this.open,
11605
+ }, onClick: this.onClick }, this.icon && hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none" }), hAsync("div", { class: "label" }, hAsync("slot", { name: "label" }), hAsync("duet-icon", { class: "caret", name: "action-arrow-down-small", margin: "none", size: "xxx-small" }))), hAsync("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
11606
+ items: true,
11607
+ hidden: !this.open,
11608
+ } }, hAsync("slot", null)))));
11609
+ }
11610
+ get element() { return getElement(this); }
11611
+ static get style() { return duetMenuBarMenuDropdownCss; }
11612
+ static get cmpMeta() { return {
11613
+ "$flags$": 9,
11614
+ "$tagName$": "duet-menu-bar-menu-dropdown",
11615
+ "$members$": {
11616
+ "theme": [1025],
11617
+ "open": [1540],
11618
+ "icon": [1537]
11619
+ },
11620
+ "$listeners$": undefined,
11621
+ "$lazyBundleId$": "-",
11622
+ "$attrsToReflect$": [["open", "open"], ["icon", "icon"]]
11623
+ }; }
11624
+ }
11625
+
11534
11626
  const duetHeadingCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-heading,*.sc-duet-heading::after,*.sc-duet-heading::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-heading-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;display:block;width:100%}/*!@.duet-heading*/.duet-heading.sc-duet-heading{margin-bottom:16px !important;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.25;color:#00294d;text-decoration:none;letter-spacing:-0.01rem;word-break:break-word}@media (min-width: 36em){/*!@.duet-heading*/.duet-heading.sc-duet-heading{margin-bottom:20px !important}}/*!@.duet-heading.duet-theme-turva*/.duet-heading.duet-theme-turva.sc-duet-heading{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:italic;font-weight:700;color:#171c3a}/*!@.duet-heading.duet-heading-border*/.duet-heading.duet-heading-border.sc-duet-heading{padding-bottom:20px;border-bottom:1px solid #e1e3e6}/*!@.duet-heading.duet-heading-border.duet-heading-border-solid*/.duet-heading.duet-heading-border.duet-heading-border-solid.sc-duet-heading{border-bottom-color:#657787}/*!@.duet-heading.duet-heading-hyphenate*/.duet-heading.duet-heading-hyphenate.sc-duet-heading{-webkit-hyphens:auto;hyphens:auto}/*!@.duet-heading.h0*/.duet-heading.h0.sc-duet-heading{font-size:9.4vw}/*!@.duet-heading.h0.duet-p-0*/.duet-heading.h0.duet-p-0.sc-duet-heading{padding:0 !important}/*!@.duet-heading.h0.duet-m-0*/.duet-heading.h0.duet-m-0.sc-duet-heading{margin:0 !important}@media (max-width: 31.914893617rem){/*!@.duet-heading.h0*/.duet-heading.h0.sc-duet-heading{font-size:3rem}}@media (min-width: 47.8723404255rem){/*!@.duet-heading.h0*/.duet-heading.h0.sc-duet-heading{font-size:4.5rem}}@media (max-width: 22.5em){/*!@.duet-heading.h0*/.duet-heading.h0.sc-duet-heading{font-size:2.25rem}}/*!@.duet-heading.h1*/.duet-heading.h1.sc-duet-heading{font-size:7vw}/*!@.duet-heading.h1.duet-p-0*/.duet-heading.h1.duet-p-0.sc-duet-heading{padding:0 !important}/*!@.duet-heading.h1.duet-m-0*/.duet-heading.h1.duet-m-0.sc-duet-heading{margin:0 !important}@media (max-width: 32.1428571429rem){/*!@.duet-heading.h1*/.duet-heading.h1.sc-duet-heading{font-size:2.25rem}}@media (min-width: 42.8571428571rem){/*!@.duet-heading.h1*/.duet-heading.h1.sc-duet-heading{font-size:3rem}}@media (max-width: 22.5em){/*!@.duet-heading.h1*/.duet-heading.h1.sc-duet-heading{font-size:1.5rem}}/*!@.duet-heading.h2*/.duet-heading.h2.sc-duet-heading{font-size:5.8vw}/*!@.duet-heading.h2.duet-p-0*/.duet-heading.h2.duet-p-0.sc-duet-heading{padding:0 !important}/*!@.duet-heading.h2.duet-m-0*/.duet-heading.h2.duet-m-0.sc-duet-heading{margin:0 !important}@media (max-width: 25.8620689655rem){/*!@.duet-heading.h2*/.duet-heading.h2.sc-duet-heading{font-size:1.5rem}}@media (min-width: 38.7931034483rem){/*!@.duet-heading.h2*/.duet-heading.h2.sc-duet-heading{font-size:2.25rem}}/*!@.duet-heading.h2.duet-theme-turva*/.duet-heading.h2.duet-theme-turva.sc-duet-heading{font-style:normal}@media (max-width: 22.5em){/*!@.duet-heading.h2*/.duet-heading.h2.sc-duet-heading{font-size:1.375rem}}/*!@.duet-heading.h3*/.duet-heading.h3.sc-duet-heading{margin-bottom:12px !important;font-size:4.2vw}/*!@.duet-heading.h3.duet-p-0*/.duet-heading.h3.duet-p-0.sc-duet-heading{padding:0 !important}/*!@.duet-heading.h3.duet-m-0*/.duet-heading.h3.duet-m-0.sc-duet-heading{margin:0 !important}@media (max-width: 29.7619047619rem){/*!@.duet-heading.h3*/.duet-heading.h3.sc-duet-heading{font-size:1.25rem}}@media (min-width: 35.7142857143rem){/*!@.duet-heading.h3*/.duet-heading.h3.sc-duet-heading{font-size:1.5rem}}/*!@.duet-heading.h3.duet-theme-turva*/.duet-heading.h3.duet-theme-turva.sc-duet-heading{font-style:normal}/*!@.duet-heading.h3.duet-heading-border*/.duet-heading.h3.duet-heading-border.sc-duet-heading{padding-bottom:20px}/*!@.duet-heading.h4*/.duet-heading.h4.sc-duet-heading{margin-bottom:8px !important;font-size:4vw;letter-spacing:0}/*!@.duet-heading.h4.duet-p-0*/.duet-heading.h4.duet-p-0.sc-duet-heading{padding:0 !important}/*!@.duet-heading.h4.duet-m-0*/.duet-heading.h4.duet-m-0.sc-duet-heading{margin:0 !important}@media (max-width: 27.5rem){/*!@.duet-heading.h4*/.duet-heading.h4.sc-duet-heading{font-size:1.1rem}}@media (min-width: 31.25rem){/*!@.duet-heading.h4*/.duet-heading.h4.sc-duet-heading{font-size:1.25rem}}/*!@.duet-heading.h4.duet-theme-turva*/.duet-heading.h4.duet-theme-turva.sc-duet-heading{font-style:normal;font-weight:700}/*!@.duet-heading.h4.duet-heading-border*/.duet-heading.h4.duet-heading-border.sc-duet-heading{padding-bottom:20px}/*!@.duet-heading.h5*/.duet-heading.h5.sc-duet-heading{margin-bottom:8px !important;font-size:4vw;font-weight:600;letter-spacing:0}/*!@.duet-heading.h5.duet-p-0*/.duet-heading.h5.duet-p-0.sc-duet-heading{padding:0 !important}/*!@.duet-heading.h5.duet-m-0*/.duet-heading.h5.duet-m-0.sc-duet-heading{margin:0 !important}@media (max-width: 27.5rem){/*!@.duet-heading.h5*/.duet-heading.h5.sc-duet-heading{font-size:1.1rem}}@media (min-width: 28.4090909091rem){/*!@.duet-heading.h5*/.duet-heading.h5.sc-duet-heading{font-size:1.1363636364rem}}/*!@.duet-heading.h5.duet-theme-turva*/.duet-heading.h5.duet-theme-turva.sc-duet-heading{font-style:normal;font-weight:700}/*!@.duet-heading.h5.duet-heading-border*/.duet-heading.h5.duet-heading-border.sc-duet-heading{padding-bottom:16px}/*!@.duet-heading.h6*/.duet-heading.h6.sc-duet-heading{margin-bottom:8px !important;font-size:1rem;font-weight:600;letter-spacing:0}/*!@.duet-heading.h6.duet-p-0*/.duet-heading.h6.duet-p-0.sc-duet-heading{padding:0 !important}/*!@.duet-heading.h6.duet-m-0*/.duet-heading.h6.duet-m-0.sc-duet-heading{margin:0 !important}/*!@.duet-heading.h6.duet-theme-turva*/.duet-heading.h6.duet-theme-turva.sc-duet-heading{font-style:normal;font-weight:700}/*!@.duet-heading.h6.duet-heading-border*/.duet-heading.h6.duet-heading-border.sc-duet-heading{padding-bottom:16px}/*!@.duet-heading.duet-normal, .duet-heading.duet-theme-turva.duet-normal*/.duet-heading.duet-normal.sc-duet-heading,.duet-heading.duet-theme-turva.duet-normal.sc-duet-heading{font-style:normal !important;font-weight:400 !important}/*!@.duet-heading.duet-semibold, .duet-heading.duet-theme-turva.duet-semibold*/.duet-heading.duet-semibold.sc-duet-heading,.duet-heading.duet-theme-turva.duet-semibold.sc-duet-heading{font-style:normal !important;font-weight:600 !important}";
11535
11627
 
11536
11628
  class DuetHeading {
@@ -12478,7 +12570,7 @@ function isInternetExplorer() {
12478
12570
  return "documentMode" in document || /Edge/.test(ua);
12479
12571
  }
12480
12572
 
12481
- const duetLayoutCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-layout,*.sc-duet-layout::after,*.sc-duet-layout::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-layout-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;flex:1 0 auto;width:100%}/*!@:host(.duet-middle)*/.duet-middle.sc-duet-layout-h{display:flex}/*!@:host(.duet-middle) .duet-layout*/.duet-middle.sc-duet-layout-h .duet-layout.sc-duet-layout{padding:36px 28px !important}@media (min-width: 36em){/*!@:host(.duet-middle) .duet-layout*/.duet-middle.sc-duet-layout-h .duet-layout.sc-duet-layout{padding:48px 36px !important}}@media (min-width: 62em){/*!@:host(.duet-middle) .duet-layout*/.duet-middle.sc-duet-layout-h .duet-layout.sc-duet-layout{padding:56px !important}}/*!@:host(.duet-ie)*/.duet-ie.sc-duet-layout-h{height:100%}/*!@:host(.duet-middle.duet-ie)*/.duet-middle.duet-ie.sc-duet-layout-h{height:auto}/*!@.duet-layout*/.duet-layout.sc-duet-layout{position:relative;padding:0 16px;margin:48px auto 36px}@media (min-width: 36em){/*!@.duet-layout*/.duet-layout.sc-duet-layout{margin-top:72px}}/*!@.duet-layout.duet-layout-has-top*/.duet-layout.duet-layout-has-top.sc-duet-layout{margin-top:0}/*!@.duet-layout.duet-m-0*/.duet-layout.duet-m-0.sc-duet-layout{margin-top:0 !important;margin-bottom:0 !important}/*!@.duet-layout.duet-center*/.duet-layout.duet-center.sc-duet-layout{display:flex;align-items:center;justify-content:center;width:100%;max-width:888px}@media (min-width: 36em){/*!@.duet-layout.duet-center*/.duet-layout.duet-center.sc-duet-layout{padding:0 48px}}@media (min-width: 48em){/*!@.duet-layout.duet-center*/.duet-layout.duet-center.sc-duet-layout{padding:0 72px}}@media (min-width: 62em){/*!@.duet-layout.duet-center*/.duet-layout.duet-center.sc-duet-layout{width:100%}}@media (min-width: 36em){/*!@.duet-layout*/.duet-layout.sc-duet-layout{padding:0 28px}}@media (min-width: 62em){/*!@.duet-layout*/.duet-layout.sc-duet-layout{display:flex;flex-direction:row;padding:0 56px;margin-bottom:48px}}@media (min-width: 76.25em){/*!@.duet-layout*/.duet-layout.sc-duet-layout{max-width:1110px;padding:0}}/*!@.duet-main,\n.duet-sidebar,\n.duet-layout-top,\n.duet-layout-bottom*/.duet-main.sc-duet-layout,.duet-sidebar.sc-duet-layout,.duet-layout-top.sc-duet-layout,.duet-layout-bottom.sc-duet-layout{display:block;width:100%}/*!@.duet-layout-top*/.duet-layout-top.sc-duet-layout{position:relative;display:block;width:100%;margin:72px auto 0}/*!@.duet-layout-top.duet-m-0*/.duet-layout-top.duet-m-0.sc-duet-layout{margin-top:0 !important;margin-bottom:0 !important}/*!@.duet-layout-top .duet-layout-top-wrapper*/.duet-layout-top.sc-duet-layout .duet-layout-top-wrapper.sc-duet-layout{padding:0 20px;margin:0 auto}@media (min-width: 36em){/*!@.duet-layout-top .duet-layout-top-wrapper*/.duet-layout-top.sc-duet-layout .duet-layout-top-wrapper.sc-duet-layout{padding:0 28px}}@media (min-width: 62em){/*!@.duet-layout-top .duet-layout-top-wrapper*/.duet-layout-top.sc-duet-layout .duet-layout-top-wrapper.sc-duet-layout{padding:0 56px}}@media (min-width: 76.25em){/*!@.duet-layout-top .duet-layout-top-wrapper*/.duet-layout-top.sc-duet-layout .duet-layout-top-wrapper.sc-duet-layout{max-width:1110px;padding:0}}/*!@.duet-center .duet-layout-top-wrapper*/.duet-center.sc-duet-layout .duet-layout-top-wrapper.sc-duet-layout{max-width:888px}@media (min-width: 36em){/*!@.duet-center .duet-layout-top-wrapper*/.duet-center.sc-duet-layout .duet-layout-top-wrapper.sc-duet-layout{padding:0 48px}}@media (min-width: 48em){/*!@.duet-center .duet-layout-top-wrapper*/.duet-center.sc-duet-layout .duet-layout-top-wrapper.sc-duet-layout{padding:0 72px}}@media (min-width: 62em){/*!@.duet-main*/.duet-main.sc-duet-layout{min-width:600px;margin:0 auto}/*!@.has-sidebar .duet-main*/.has-sidebar.sc-duet-layout .duet-main.sc-duet-layout{max-width:734px;margin-right:20px}}@media (min-width: 62em){/*!@.duet-sidebar*/.duet-sidebar.sc-duet-layout{min-width:256px;max-width:356px}}@media (min-width: 62em){/*!@.duet-sidebar-container*/.duet-sidebar-container.sc-duet-layout{width:auto;max-width:356px}}@media (min-width: 62em){/*!@.duet-sidebar-container.has-tabs*/.duet-sidebar-container.has-tabs.sc-duet-layout{margin-top:89px}}@media (min-width: 62em){/*!@.duet-sidebar-container.sticky*/.duet-sidebar-container.sticky.sc-duet-layout{position:sticky}/*!@.duet-sidebar-container.sticky.with-links*/.duet-sidebar-container.sticky.with-links.sc-duet-layout{top:calc(3rem + 20px)}/*!@.duet-sidebar-container.sticky.without-links*/.duet-sidebar-container.sticky.without-links.sc-duet-layout{top:calc(4rem + 20px)}}";
12573
+ const duetLayoutCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-layout,*.sc-duet-layout::after,*.sc-duet-layout::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-layout-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;flex:1 0 auto;width:100%}/*!@:host(.duet-middle)*/.duet-middle.sc-duet-layout-h{display:flex}/*!@:host(.duet-middle) .duet-layout*/.duet-middle.sc-duet-layout-h .duet-layout.sc-duet-layout{padding:36px 28px !important}@media (min-width: 36em){/*!@:host(.duet-middle) .duet-layout*/.duet-middle.sc-duet-layout-h .duet-layout.sc-duet-layout{padding:48px 36px !important}}@media (min-width: 62em){/*!@:host(.duet-middle) .duet-layout*/.duet-middle.sc-duet-layout-h .duet-layout.sc-duet-layout{padding:56px !important}}/*!@:host(.duet-ie)*/.duet-ie.sc-duet-layout-h{height:100%}/*!@:host(.duet-middle.duet-ie)*/.duet-middle.duet-ie.sc-duet-layout-h{height:auto}/*!@.duet-layout*/.duet-layout.sc-duet-layout{position:relative;padding:0 16px;margin:48px auto 36px}@media (max-width: 20.5em){/*!@.duet-layout.padding-xxx-small*/.duet-layout.padding-xxx-small.sc-duet-layout{padding:0}}@media (max-width: 22.5em){/*!@.duet-layout.padding-xx-small*/.duet-layout.padding-xx-small.sc-duet-layout{padding:0}}@media (max-width: 35.9375em){/*!@.duet-layout.padding-x-small*/.duet-layout.padding-x-small.sc-duet-layout{padding:0}}@media (min-width: 36em){/*!@.duet-layout.padding-small*/.duet-layout.padding-small.sc-duet-layout{padding:0}}@media (min-width: 48em){/*!@.duet-layout.padding-medium*/.duet-layout.padding-medium.sc-duet-layout{padding:0}}@media (min-width: 62em){/*!@.duet-layout.padding-large*/.duet-layout.padding-large.sc-duet-layout{padding:0}}@media (min-width: 64.0625em){/*!@.duet-layout.padding-x-large*/.duet-layout.padding-x-large.sc-duet-layout{padding:0}}@media (min-width: 76.25em){/*!@.duet-layout.padding-xx-large*/.duet-layout.padding-xx-large.sc-duet-layout{padding:0}}@media (min-width: 106.25em){/*!@.duet-layout.padding-xxx-large*/.duet-layout.padding-xxx-large.sc-duet-layout{padding:0}}@media (min-width: 36em){/*!@.duet-layout*/.duet-layout.sc-duet-layout{margin-top:72px}}/*!@.duet-layout.duet-layout-has-top*/.duet-layout.duet-layout-has-top.sc-duet-layout{margin-top:0}/*!@.duet-layout.duet-m-0*/.duet-layout.duet-m-0.sc-duet-layout{margin-top:0 !important;margin-bottom:0 !important}/*!@.duet-layout.duet-center*/.duet-layout.duet-center.sc-duet-layout{display:flex;align-items:center;justify-content:center;width:100%;max-width:888px}@media (min-width: 36em){/*!@.duet-layout.duet-center*/.duet-layout.duet-center.sc-duet-layout{padding:0 48px}}@media (min-width: 48em){/*!@.duet-layout.duet-center*/.duet-layout.duet-center.sc-duet-layout{padding:0 72px}}@media (min-width: 62em){/*!@.duet-layout.duet-center*/.duet-layout.duet-center.sc-duet-layout{width:100%}}@media (min-width: 36em){/*!@.duet-layout*/.duet-layout.sc-duet-layout{padding:0 28px}}@media (min-width: 62em){/*!@.duet-layout*/.duet-layout.sc-duet-layout{display:flex;flex-direction:row;padding:0 56px;margin-bottom:48px}}@media (min-width: 76.25em){/*!@.duet-layout*/.duet-layout.sc-duet-layout{max-width:1110px;padding:0}}/*!@.duet-main,\n.duet-sidebar,\n.duet-layout-top,\n.duet-layout-bottom*/.duet-main.sc-duet-layout,.duet-sidebar.sc-duet-layout,.duet-layout-top.sc-duet-layout,.duet-layout-bottom.sc-duet-layout{display:block;width:100%}/*!@.duet-layout-top*/.duet-layout-top.sc-duet-layout{position:relative;display:block;width:100%;margin:72px auto 0}/*!@.duet-layout-top.duet-m-0*/.duet-layout-top.duet-m-0.sc-duet-layout{margin-top:0 !important;margin-bottom:0 !important}/*!@.duet-layout-top .duet-layout-top-wrapper*/.duet-layout-top.sc-duet-layout .duet-layout-top-wrapper.sc-duet-layout{padding:0 20px;margin:0 auto}@media (min-width: 36em){/*!@.duet-layout-top .duet-layout-top-wrapper*/.duet-layout-top.sc-duet-layout .duet-layout-top-wrapper.sc-duet-layout{padding:0 28px}}@media (min-width: 62em){/*!@.duet-layout-top .duet-layout-top-wrapper*/.duet-layout-top.sc-duet-layout .duet-layout-top-wrapper.sc-duet-layout{padding:0 56px}}@media (min-width: 76.25em){/*!@.duet-layout-top .duet-layout-top-wrapper*/.duet-layout-top.sc-duet-layout .duet-layout-top-wrapper.sc-duet-layout{max-width:1110px;padding:0}}/*!@.duet-center .duet-layout-top-wrapper*/.duet-center.sc-duet-layout .duet-layout-top-wrapper.sc-duet-layout{max-width:888px}@media (min-width: 36em){/*!@.duet-center .duet-layout-top-wrapper*/.duet-center.sc-duet-layout .duet-layout-top-wrapper.sc-duet-layout{padding:0 48px}}@media (min-width: 48em){/*!@.duet-center .duet-layout-top-wrapper*/.duet-center.sc-duet-layout .duet-layout-top-wrapper.sc-duet-layout{padding:0 72px}}@media (min-width: 62em){/*!@.duet-main*/.duet-main.sc-duet-layout{min-width:600px;margin:0 auto}/*!@.has-sidebar .duet-main*/.has-sidebar.sc-duet-layout .duet-main.sc-duet-layout{max-width:734px;margin-right:20px}}@media (min-width: 62em){/*!@.duet-sidebar*/.duet-sidebar.sc-duet-layout{min-width:256px;max-width:356px}}@media (min-width: 62em){/*!@.duet-sidebar-container*/.duet-sidebar-container.sc-duet-layout{width:auto;max-width:356px}}@media (min-width: 62em){/*!@.duet-sidebar-container.has-tabs*/.duet-sidebar-container.has-tabs.sc-duet-layout{margin-top:89px}}@media (min-width: 62em){/*!@.duet-sidebar-container.sticky*/.duet-sidebar-container.sticky.sc-duet-layout{position:sticky}/*!@.duet-sidebar-container.sticky.with-links*/.duet-sidebar-container.sticky.with-links.sc-duet-layout{top:calc(3rem + 20px)}/*!@.duet-sidebar-container.sticky.without-links*/.duet-sidebar-container.sticky.without-links.sc-duet-layout{top:calc(4rem + 20px)}}";
12482
12574
 
12483
12575
  /**
12484
12576
  * @slot main - The layout component’s primary content. Use this for the main content on the page.
@@ -12518,6 +12610,11 @@ class DuetLayout {
12518
12610
  * Align container vertically in the middle when the space allows it.
12519
12611
  */
12520
12612
  this.middle = false;
12613
+ /**
12614
+ * Breakpoint used to remove padding. These match to
12615
+ * similar media query tokens: $media-query-small and $media-query-medium.
12616
+ */
12617
+ this.paddingBreakpoint = undefined;
12521
12618
  }
12522
12619
  /**
12523
12620
  * Component lifecycle events.
@@ -12547,6 +12644,7 @@ class DuetLayout {
12547
12644
  "has-sidebar": this.hasSidebar,
12548
12645
  "duet-m-0": this.margin === "none",
12549
12646
  "duet-center": this.center,
12647
+ [`padding-${this.paddingBreakpoint}`]: !!this.paddingBreakpoint,
12550
12648
  } }, hAsync("main", { class: "duet-main" }, hAsync("slot", { name: "main" })), this.hasSidebar && (hAsync("aside", { class: "duet-sidebar" }, hAsync("div", { class: {
12551
12649
  "duet-sidebar-container": true,
12552
12650
  "has-tabs": this.tabs,
@@ -12565,7 +12663,8 @@ class DuetLayout {
12565
12663
  "stickyDistance": [1, "sticky-distance"],
12566
12664
  "center": [4],
12567
12665
  "tabs": [4],
12568
- "middle": [4]
12666
+ "middle": [4],
12667
+ "paddingBreakpoint": [1, "padding-breakpoint"]
12569
12668
  },
12570
12669
  "$listeners$": undefined,
12571
12670
  "$lazyBundleId$": "-",
@@ -12915,154 +13014,36 @@ class DuetLogo {
12915
13014
  }; }
12916
13015
  }
12917
13016
 
12918
- const duetModalCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-modal,*.sc-duet-modal::after,*.sc-duet-modal::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-modal-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@.duet-modal-overlay*/.duet-modal-overlay.sc-duet-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;max-height:100vh;overflow-y:auto;visibility:hidden;background:rgba(0, 41, 77, 0.85);opacity:0;transition:300ms ease;transition-delay:200ms}/*!@.duet-modal-overlay.duet-theme-turva*/.duet-modal-overlay.duet-theme-turva.sc-duet-modal{background:rgba(23, 28, 58, 0.85)}/*!@.duet-modal-overlay.duet-modal-active*/.duet-modal-overlay.duet-modal-active.sc-duet-modal{visibility:visible;opacity:1;transition:300ms ease;transition-delay:0s}/*!@.duet-modal-overlay.duet-disable-transitions*/.duet-modal-overlay.duet-disable-transitions.sc-duet-modal{transition:none}/*!@::slotted(img)*/.sc-duet-modal-s>img{width:100%}/*!@.duet-modal-inner*/.duet-modal-inner.sc-duet-modal{display:flex;align-items:center;width:100%;min-height:100%;padding:20px 16px}@media (min-width: 36em){/*!@.duet-modal-inner*/.duet-modal-inner.sc-duet-modal{padding:48px 16px}}@media (max-width: 35.9375em){/*!@.duet-modal-inner.duet-modal-large*/.duet-modal-inner.duet-modal-large.sc-duet-modal{padding-right:0;padding-left:0}}/*!@.duet-modal*/.duet-modal.sc-duet-modal{position:relative;width:100%;max-width:686px;margin:auto;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-weight:400;font-variant-numeric:tabular-nums;line-height:1.5;color:#00294d;background:white;border-radius:4px;opacity:0;transition:300ms ease;transition-delay:0ms;transform:scale(0.96)}/*!@.duet-theme-turva .duet-modal*/.duet-theme-turva.sc-duet-modal .duet-modal.sc-duet-modal{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}/*!@.duet-modal-active .duet-modal*/.duet-modal-active.sc-duet-modal .duet-modal.sc-duet-modal{opacity:1;transition:300ms ease;transition-delay:200ms;transform:none}/*!@.duet-disable-transitions .duet-modal*/.duet-disable-transitions.sc-duet-modal .duet-modal.sc-duet-modal{transition:none}/*!@.duet-modal.small*/.duet-modal.small.sc-duet-modal{max-width:545px}/*!@.duet-modal.large*/.duet-modal.large.sc-duet-modal{max-width:100%}@media (min-width: 36em){/*!@.duet-modal.large*/.duet-modal.large.sc-duet-modal{max-width:1110px}}/*!@.duet-modal:focus*/.duet-modal.sc-duet-modal:focus{outline:0}/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{width:100%;padding:36px 28px}/*!@.duet-modal-body.duet-modal-gutter-small*/.duet-modal-body.duet-modal-gutter-small.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 36px}@media (max-width: 22.5em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 28px}}@media (max-width: 35.9375em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 36px}}@media (min-width: 36em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:28px 72px}}@media (min-width: 48em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 72px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:36px 72px}}@media (min-width: 76.25em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 48px 48px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 94px}/*!@.small .duet-modal-body*/.small.sc-duet-modal .duet-modal-body.sc-duet-modal{padding:36px 48px}}/*!@.duet-modal-header*/.duet-modal-header.sc-duet-modal{text-align:center}/*!@.duet-modal-close*/.duet-modal-close.sc-duet-modal{position:absolute;top:12px;right:12px}/*!@.duet-modal-heading*/.duet-modal-heading.sc-duet-modal{width:100%;padding-right:60px;overflow:hidden;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1.25rem;font-style:normal;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25;color:#00294d;text-decoration:none;text-overflow:ellipsis;letter-spacing:-0.01rem;white-space:nowrap}/*!@.duet-modal-heading.duet-p-0*/.duet-modal-heading.duet-p-0.sc-duet-modal{padding:0 !important}/*!@.duet-modal-heading.duet-m-0*/.duet-modal-heading.duet-m-0.sc-duet-modal{margin:0 !important}";
13017
+ const duetMenuBarCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar,*.sc-duet-menu-bar::after,*.sc-duet-menu-bar::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%}/*!@.duet-menu-bar*/.duet-menu-bar.sc-duet-menu-bar{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;height:5rem;padding:0 28px;background:white;border-top:1px solid #e1e3e6;box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1)}/*!@.duet-menu-bar > **/.duet-menu-bar.sc-duet-menu-bar>*.sc-duet-menu-bar{display:flex;align-items:center;justify-content:center;height:100%}/*!@.duet-menu-bar > :first-child*/.duet-menu-bar.sc-duet-menu-bar>.sc-duet-menu-bar:first-child{flex-basis:0;flex-grow:1;justify-content:flex-start}/*!@.duet-menu-bar > :last-child*/.duet-menu-bar.sc-duet-menu-bar>.sc-duet-menu-bar:last-child{flex-basis:0;flex-grow:1;justify-content:flex-end}/*!@.duet-menu-bar ::slotted(*)*/.duet-menu-bar .sc-duet-menu-bar-s>*{display:flex;align-items:center;justify-content:center;height:100%}/*!@.duet-menu-bar.duet-theme-turva*/.duet-menu-bar.duet-theme-turva.sc-duet-menu-bar{background:white}";
12919
13018
 
12920
- // The transition below is slightly higher than the actual CSS transition as VoiceOver on
12921
- // iOS has otherwise problems moving the focus from modal back to the original element.
12922
- // This issue is similar to what we’ve seen in Duet Date Picker + iOS VoiceOver.
12923
- const TRANSITION_MS = 600;
12924
13019
  /**
12925
- * @slot top - This is a slot that takes any content and will be displayed as the first thing in the hero area (typically an image)
13020
+ * @slot center - Slot for content in center.
13021
+ * @slot right - Slot for content in right side.
12926
13022
  */
12927
- class DuetModal {
13023
+ class DuetMenuBar$1 {
12928
13024
  constructor(hostRef) {
12929
13025
  registerInstance(this, hostRef);
12930
- this.duetOpen = createEvent$2(this, "duetOpen", 7);
12931
- this.duetClose = createEvent$2(this, "duetClose", 7);
12932
- this.duetBeforeClose = createEvent$2(this, "duetBeforeClose", 7);
12933
- var _a, _b;
12934
13026
  /**
12935
13027
  * Own Properties.
12936
13028
  */
12937
- this.modalId = createID("DuetModal");
12938
- this.slotDefaultId = createID("DuetModal-default-slot");
12939
- this.isAndroidDevice = ((_b = (_a = navigator === null || navigator === void 0 ? void 0 : navigator.userAgent) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.indexOf("android")) > -1 || null;
12940
- this.isSafariBrowser = /^((?!chrome|android).)*safari/i.test(navigator === null || navigator === void 0 ? void 0 : navigator.userAgent);
12941
- this.handleAndroidResizeEvents = () => {
12942
- if (document.activeElement.tagName == "INPUT") {
12943
- window.setTimeout(function () {
12944
- var _a;
12945
- try {
12946
- //@ts-ignore
12947
- (_a = document === null || document === void 0 ? void 0 : document.activeElement) === null || _a === void 0 ? void 0 : _a.scrollIntoViewIfNeeded(true);
12948
- }
12949
- catch (e) {
12950
- //dev-null any errors here
12951
- }
12952
- }, 100);
12953
- }
12954
- };
12955
- /**
12956
- * State() variables
12957
- * Inlined decorator, alphabetical order.
12958
- */
12959
- this.open = false;
12960
- /**
12961
- * The currently active language. This setting also changes the logo to match
12962
- * the chosen language.
12963
- * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
12964
- * @default "fi"
12965
- */
12966
- this.language = getLanguage();
12967
- /**
12968
- * Defaults for accessibleCloseLabel
12969
- * @default {fi: "Sulje ikkuna", sv: "Stäng fönstret", en: "Close the dialog", }
12970
- */
12971
- this.accessibleCloseLabelDefaults = {
12972
- fi: "Sulje ikkuna",
12973
- sv: "Stäng fönstret",
12974
- en: "Close the dialog",
12975
- };
12976
- /**
12977
- * Adds accessible label for the close icon that is only shown for screen
12978
- * readers. This property is always required to create an accessibly interface!
12979
- * Swedish translation for this property is “Stäng fönstret”.
12980
- * @default {fi: "Sulje ikkuna", sv: "Stäng fönstret", en: "Close the dialog", }
12981
- */
12982
- this.accessibleCloseLabel = getLocaleString(this.accessibleCloseLabelDefaults, this.language);
12983
- /**
12984
- * Size of the modal window.
12985
- */
12986
- this.size = "medium";
12987
- /**
12988
- * Details of the component
12989
- */
12990
- this.accessibleDetails = undefined;
12991
- /**
12992
- * Aria description the button
12993
- */
12994
- this.accessibleDescription = undefined;
12995
- /**
12996
- * Size of the modal window.
12997
- */
12998
- this.gutterSize = "medium";
13029
+ this.mql = [
13030
+ window.matchMedia(media_query_large.replace(/'/g, "")),
13031
+ window.matchMedia(media_query_xx_large.replace(/'/g, "")),
13032
+ ];
13033
+ this.boundMqlFunctions = [];
13034
+ this.logoSize = "large";
12999
13035
  /**
13000
- * Theme of the modal.
13036
+ * Theme.
13001
13037
  */
13002
13038
  this.theme = "";
13003
- /**
13004
- * Accessible heading displayed in the modal. The modal marks this as the
13005
- * label of the modal when used. This helps screen reader users which is
13006
- * why this is a required property.
13007
- */
13008
- this.heading = "";
13009
- /**
13010
- * Accessible heading size
13011
- */
13012
- this.headingLevel = "h3";
13013
- /**
13014
- * Icon to display above the heading (from Duet’s icons). Example:
13015
- * "form-location"
13016
- */
13017
- this.icon = "";
13018
- /**
13019
- * Custom color to be used for the icon, as a design token entered in camelCase
13020
- * or kebab-case. Example: "primary".
13021
- */
13022
- this.color = "";
13023
- /**
13024
- * Use this property when you need to have the modal dialog initially active.
13025
- */
13026
- this.active = false;
13027
- /**
13028
- * Use this property when you want the modal to close when clicked outside of modal.
13029
- */
13030
- this.closeOnBlur = false;
13031
- }
13032
- openChanged() {
13033
- if (this.open) {
13034
- if (this.modalEl && this.modalEl.scrollTop) {
13035
- this.modalEl.scrollTop = 0;
13036
- }
13037
- this.focusedElBeforeOpen = document.activeElement;
13038
- disableBodyScroll(this.modalEl, { reserveScrollBarGap: true });
13039
- setTimeout(() => {
13040
- this.buttonEl.setFocus();
13041
- }, TRANSITION_MS);
13042
- setTimeout(() => {
13043
- this.modalEl.classList.add("duet-disable-transitions");
13044
- }, TRANSITION_MS + 200);
13045
- // fix for android devices where scrolling and softKeyboards MAY be
13046
- // acting weird when the modal contains an input field
13047
- if (this.isAndroidDevice) {
13048
- window.addEventListener("resize", this.handleAndroidResizeEvents);
13039
+ this.changeLogoSize = () => {
13040
+ if (this.mql[1].matches) {
13041
+ this.logoSize = "large";
13049
13042
  }
13050
- this.duetOpen.emit();
13051
- }
13052
- else {
13053
- this.modalEl.classList.remove("duet-disable-transitions");
13054
- enableBodyScroll(this.modalEl);
13055
- this.duetClose.emit();
13056
- setTimeout(() => {
13057
- focusElement(this.focusedElBeforeOpen);
13058
- }, TRANSITION_MS);
13059
- if (this.isAndroidDevice) {
13060
- window.removeEventListener("resize", this.handleAndroidResizeEvents);
13043
+ else {
13044
+ this.logoSize = "medium";
13061
13045
  }
13062
- }
13063
- }
13064
- activeChanged() {
13065
- this.open = this.active;
13046
+ };
13066
13047
  }
13067
13048
  /**
13068
13049
  * Component lifecycle events.
@@ -13070,50 +13051,704 @@ class DuetModal {
13070
13051
  componentWillLoad() {
13071
13052
  inheritGlobalTheme(this);
13072
13053
  }
13073
- componentDidLoad() {
13074
- if (this.active) {
13075
- // This specific line below can’t be moved to componentWillLoad()
13076
- // as it breaks body scroll enabling.
13077
- this.open = true;
13078
- this.modalEl.classList.add("duet-disable-transitions");
13054
+ connectedCallback() {
13055
+ this.changeLogoSize();
13056
+ for (let i = 0; i < this.mql.length; i++) {
13057
+ // addEventListener is not available in Stencil hydrate
13058
+ if (this.mql[i].addEventListener) {
13059
+ const bound = this.changeLogoSize.bind(this);
13060
+ this.mql[i].addEventListener("change", bound);
13061
+ this.boundMqlFunctions[i] = bound;
13062
+ }
13079
13063
  }
13080
13064
  }
13081
13065
  disconnectedCallback() {
13082
- enableBodyScroll(this.modalEl);
13083
- }
13084
- /**
13085
- * Component event handling.
13086
- */
13087
- handleKeyUp(ev) {
13088
- if (this.open) {
13089
- // When Esc is pressed the modal should be closed
13090
- if (isEscapeKey(ev)) {
13091
- this.closeModal(ev);
13066
+ for (let i = 0; i < this.mql.length; i++) {
13067
+ // removeEventListener is not available in Stencil hydrate
13068
+ if (this.mql[i].removeEventListener) {
13069
+ this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
13092
13070
  }
13093
13071
  }
13072
+ this.boundMqlFunctions = [];
13094
13073
  }
13095
13074
  /**
13096
- * Shows the modal dialog. Additionally saves the element that triggered
13097
- * the modal so that focus can be moved back to this specific element when
13098
- * the modal dialog is closed.
13099
- */
13100
- async show() {
13101
- this.open = true;
13102
- }
13103
- /**
13104
- * Hides the modal dialog and puts focus back to the original element
13105
- * that triggered the modal (if we’re still in the same view).
13075
+ * render() function
13076
+ * Always the last one in the class.
13106
13077
  */
13107
- async hide() {
13108
- this.open = false;
13078
+ render() {
13079
+ return (hAsync(Host, null, hAsync("div", { class: { "duet-menu-bar": true, "duet-theme-turva": this.theme === "turva" }, role: "menubar" }, hAsync("duet-logo", { size: this.logoSize, margin: "none" }), hAsync("slot", { name: "center" }), hAsync("slot", { name: "right" }))));
13109
13080
  }
13110
- /**
13111
- * Local methods.
13112
- */
13113
- closeModal(ev) {
13114
- this.duetBeforeClose.emit({
13115
- originalEvent: ev,
13116
- component: "duet-modal",
13081
+ get element() { return getElement(this); }
13082
+ static get style() { return duetMenuBarCss; }
13083
+ static get cmpMeta() { return {
13084
+ "$flags$": 9,
13085
+ "$tagName$": "duet-menu-bar",
13086
+ "$members$": {
13087
+ "theme": [1025],
13088
+ "logoSize": [32]
13089
+ },
13090
+ "$listeners$": undefined,
13091
+ "$lazyBundleId$": "-",
13092
+ "$attrsToReflect$": []
13093
+ }; }
13094
+ }
13095
+
13096
+ const duetNavCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-nav,*.sc-duet-nav::after,*.sc-duet-nav::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-nav-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%}";
13097
+
13098
+ class DuetMenuBar {
13099
+ constructor(hostRef) {
13100
+ registerInstance(this, hostRef);
13101
+ /**
13102
+ * Theme.
13103
+ */
13104
+ this.theme = "";
13105
+ this.getToolbarDropdowns = () => this.element.querySelectorAll("duet-toolbar-dropdown");
13106
+ this.getMenuBarMenus = () => this.element.querySelectorAll("duet-menu-bar-menu");
13107
+ this.getActiveMenu = () => this.element.querySelector("duet-menu-bar-menu[active]");
13108
+ this.getActiveTool = () => this.element.querySelector("duet-toolbar-link[active],duet-toolbar-dropdown[active]");
13109
+ this.getMenuBarMenuDropdowns = () => this.element.querySelectorAll("duet-menu-bar-menu-dropdown");
13110
+ this.getMenuBarDropdowns = () => this.element.querySelectorAll("duet-menu-bar-dropdown");
13111
+ this.toggleActiveMenu = (active) => {
13112
+ const activeMenu = this.getActiveMenu();
13113
+ if (activeMenu) {
13114
+ activeMenu.setAttribute("active", active ? "true" : "false");
13115
+ }
13116
+ };
13117
+ this.toggleActiveTool = (active) => {
13118
+ const activeTool = this.getActiveTool();
13119
+ if (activeTool) {
13120
+ activeTool.setAttribute("active", active ? "true" : "false");
13121
+ }
13122
+ };
13123
+ this.close = (elementGetter, elementToKeepOpen) => {
13124
+ elementGetter().forEach(element => {
13125
+ if (elementToKeepOpen) {
13126
+ if (element !== elementToKeepOpen) {
13127
+ element.setAttribute("open", "false");
13128
+ }
13129
+ }
13130
+ else {
13131
+ element.setAttribute("open", "false");
13132
+ }
13133
+ });
13134
+ };
13135
+ }
13136
+ /**
13137
+ * Component lifecycle events.
13138
+ */
13139
+ componentWillLoad() {
13140
+ inheritGlobalTheme(this);
13141
+ }
13142
+ handleToolbarDropdownEvent(e) {
13143
+ if (e.detail.data.element) {
13144
+ if (e.detail.data.open) {
13145
+ this.close(this.getMenuBarMenus);
13146
+ this.close(this.getToolbarDropdowns, e.detail.data.element);
13147
+ this.close(this.getMenuBarMenuDropdowns);
13148
+ this.close(this.getMenuBarDropdowns);
13149
+ }
13150
+ this.toggleActiveMenu(true);
13151
+ this.toggleActiveTool(!e.detail.data.open);
13152
+ }
13153
+ }
13154
+ handleMenuEvent(e) {
13155
+ if (e.detail.data.element) {
13156
+ if (e.detail.data.open) {
13157
+ this.close(this.getMenuBarMenus, e.detail.data.element);
13158
+ this.close(this.getToolbarDropdowns);
13159
+ this.close(this.getMenuBarMenuDropdowns);
13160
+ this.close(this.getMenuBarDropdowns);
13161
+ }
13162
+ this.toggleActiveMenu(!e.detail.data.open);
13163
+ this.toggleActiveTool(true);
13164
+ }
13165
+ }
13166
+ handleMenuDropdownEvent(e) {
13167
+ if (e.detail.data.element && e.detail.data.open) {
13168
+ this.close(this.getMenuBarMenuDropdowns, e.detail.data.element);
13169
+ this.close(this.getMenuBarDropdowns);
13170
+ }
13171
+ }
13172
+ handleDropdownEvent(e) {
13173
+ if (e.detail.data.element && e.detail.data.open) {
13174
+ this.close(this.getMenuBarDropdowns, e.detail.data.element);
13175
+ this.close(this.getToolbarDropdowns);
13176
+ this.close(this.getMenuBarMenus);
13177
+ this.close(this.getMenuBarMenuDropdowns);
13178
+ }
13179
+ this.toggleActiveMenu(!e.detail.data.open);
13180
+ this.toggleActiveTool(true);
13181
+ }
13182
+ handleFocus() {
13183
+ this.toggleActiveMenu(true);
13184
+ this.toggleActiveTool(true);
13185
+ this.close(this.getToolbarDropdowns);
13186
+ this.close(this.getMenuBarMenus);
13187
+ this.close(this.getMenuBarMenuDropdowns);
13188
+ this.close(this.getMenuBarDropdowns);
13189
+ }
13190
+ /**
13191
+ * render() function
13192
+ * Always the last one in the class.
13193
+ */
13194
+ render() {
13195
+ return (hAsync(Host, null, hAsync("nav", null, hAsync("slot", null))));
13196
+ }
13197
+ get element() { return getElement(this); }
13198
+ static get style() { return duetNavCss; }
13199
+ static get cmpMeta() { return {
13200
+ "$flags$": 9,
13201
+ "$tagName$": "duet-nav",
13202
+ "$members$": {
13203
+ "theme": [1025]
13204
+ },
13205
+ "$listeners$": [[0, "duetToolbarDropdownEvent", "handleToolbarDropdownEvent"], [0, "duetMenuBarMenuEvent", "handleMenuEvent"], [0, "duetMenuBarMenuDropdownEvent", "handleMenuDropdownEvent"], [0, "duetMenuBarDropdownEvent", "handleDropdownEvent"], [4, "click", "handleFocus"], [4, "focus", "handleFocus"]],
13206
+ "$lazyBundleId$": "-",
13207
+ "$attrsToReflect$": []
13208
+ }; }
13209
+ }
13210
+
13211
+ const duetMenuBarDropdownCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar-dropdown,*.sc-duet-menu-bar-dropdown::after,*.sc-duet-menu-bar-dropdown::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-dropdown-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}/*!@.duet-menu-bar-dropdown*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown{position:relative;height:100%}/*!@.duet-menu-bar-dropdown button*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;min-height:5rem;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#004d80;text-align:center;text-decoration:none;cursor:pointer}@media (min-width: 62em){/*!@.duet-menu-bar-dropdown button*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown{padding:0 20px}}@media (min-width: 64.0625em){/*!@.duet-menu-bar-dropdown button*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown{padding:0 28px}}/*!@.duet-menu-bar-dropdown button .label*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown .label.sc-duet-menu-bar-dropdown{display:flex;gap:0.5rem;align-items:center;justify-content:center}/*!@.duet-menu-bar-dropdown button:hover*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown:hover{color:#0077b3}/*!@.duet-menu-bar-dropdown button.active*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown{color:#0077b3}/*!@.duet-menu-bar-dropdown button.active .caret*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown .caret.sc-duet-menu-bar-dropdown{transform:rotate(180deg)}/*!@.duet-theme-turva .duet-menu-bar-dropdown button.active*/.duet-theme-turva.sc-duet-menu-bar-dropdown .duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown{color:#c60c30}/*!@.duet-menu-bar-dropdown button.active::after*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown::after{position:absolute;top:auto;bottom:2px;left:0;display:block;width:100%;height:2px;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(2px)}/*!@.duet-theme-turva .duet-menu-bar-dropdown button.active::after*/.duet-theme-turva.sc-duet-menu-bar-dropdown .duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown::after{background:#c60c30}/*!@.duet-menu-bar-dropdown .items*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown .items.sc-duet-menu-bar-dropdown{position:absolute;right:0%;left:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:225px;padding:1rem 0;color:#00294d;background:#f3f9fc;border-radius:0 0 8px 8px;box-shadow:0 6px 6px 0 rgba(0, 41, 77, 0.1)}/*!@.duet-menu-bar-dropdown .items.hidden*/.duet-menu-bar-dropdown.sc-duet-menu-bar-dropdown .items.hidden.sc-duet-menu-bar-dropdown{display:none}/*!@.duet-menu-bar-dropdown.duet-theme-turva button*/.duet-menu-bar-dropdown.duet-theme-turva.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#940925}/*!@.duet-menu-bar-dropdown.duet-theme-turva button:hover*/.duet-menu-bar-dropdown.duet-theme-turva.sc-duet-menu-bar-dropdown button.sc-duet-menu-bar-dropdown:hover{color:#c60c30}/*!@.duet-menu-bar-dropdown.duet-theme-turva button.active*/.duet-menu-bar-dropdown.duet-theme-turva.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown{color:#c60c30}/*!@.duet-menu-bar-dropdown.duet-theme-turva button.active::after*/.duet-menu-bar-dropdown.duet-theme-turva.sc-duet-menu-bar-dropdown button.active.sc-duet-menu-bar-dropdown::after{background:#c60c30}/*!@.duet-menu-bar-dropdown.duet-theme-turva .items*/.duet-menu-bar-dropdown.duet-theme-turva.sc-duet-menu-bar-dropdown .items.sc-duet-menu-bar-dropdown{background:#f5f5f7}";
13212
+
13213
+ class DuetMenuBarDropdown {
13214
+ constructor(hostRef) {
13215
+ registerInstance(this, hostRef);
13216
+ this.duetMenuBarDropdownEvent = createEvent$2(this, "duetMenuBarDropdownEvent", 7);
13217
+ /**
13218
+ * Theme.
13219
+ */
13220
+ this.theme = "";
13221
+ /**
13222
+ * Open
13223
+ */
13224
+ this.open = false;
13225
+ /**
13226
+ * Icon
13227
+ */
13228
+ this.icon = undefined;
13229
+ this.toggleMenu = (e) => {
13230
+ const toggle = !this.open;
13231
+ this.open = toggle;
13232
+ this.duetMenuBarDropdownEvent.emit({
13233
+ originalEvent: e,
13234
+ data: { element: this.element, open: this.open },
13235
+ component: "duet-menu-bar-dropdown",
13236
+ });
13237
+ };
13238
+ this.onClick = (e) => {
13239
+ this.toggleMenu(e);
13240
+ e.stopImmediatePropagation();
13241
+ };
13242
+ }
13243
+ /**
13244
+ * Component lifecycle events.
13245
+ */
13246
+ componentWillLoad() {
13247
+ inheritGlobalTheme(this);
13248
+ }
13249
+ /**
13250
+ * render() function
13251
+ * Always the last one in the class.
13252
+ */
13253
+ render() {
13254
+ return (hAsync(Host, null, hAsync("div", { class: { "duet-menu-bar-dropdown": true, "duet-theme-turva": this.theme === "turva", active: this.open } }, hAsync("button", { "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
13255
+ active: this.open,
13256
+ }, onClick: this.onClick }, this.icon && hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none" }), hAsync("div", { class: "label" }, hAsync("slot", { name: "label" }), hAsync("duet-icon", { class: "caret", name: "action-arrow-down-small", margin: "none", size: "xxx-small" }))), hAsync("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
13257
+ items: true,
13258
+ hidden: !this.open,
13259
+ } }, hAsync("slot", null)))));
13260
+ }
13261
+ get element() { return getElement(this); }
13262
+ static get style() { return duetMenuBarDropdownCss; }
13263
+ static get cmpMeta() { return {
13264
+ "$flags$": 9,
13265
+ "$tagName$": "duet-menu-bar-dropdown",
13266
+ "$members$": {
13267
+ "theme": [1025],
13268
+ "open": [1540],
13269
+ "icon": [1537]
13270
+ },
13271
+ "$listeners$": undefined,
13272
+ "$lazyBundleId$": "-",
13273
+ "$attrsToReflect$": [["open", "open"], ["icon", "icon"]]
13274
+ }; }
13275
+ }
13276
+
13277
+ const duetMenuBarDropdownLinkCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar-dropdown-link,*.sc-duet-menu-bar-dropdown-link::after,*.sc-duet-menu-bar-dropdown-link::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-dropdown-link-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}/*!@.duet-menu-bar-dropdown-link*/.duet-menu-bar-dropdown-link.sc-duet-menu-bar-dropdown-link{display:flex;flex-direction:row;gap:0.5rem;align-items:center;justify-content:flex-start;height:100%;padding:0.5rem 20px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#00294d;text-align:center;text-decoration:none}/*!@.duet-menu-bar-dropdown-link.duet-theme-turva*/.duet-menu-bar-dropdown-link.duet-theme-turva.sc-duet-menu-bar-dropdown-link{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}/*!@.duet-menu-bar-dropdown-link:hover*/.duet-menu-bar-dropdown-link.sc-duet-menu-bar-dropdown-link:hover{background:#e6f2f8}/*!@.duet-menu-bar-dropdown-link:hover.duet-theme-turva*/.duet-menu-bar-dropdown-link.sc-duet-menu-bar-dropdown-link:hover.duet-theme-turva{background:#e4e4e6}";
13278
+
13279
+ class DuetMenuBarDropdownLink {
13280
+ constructor(hostRef) {
13281
+ registerInstance(this, hostRef);
13282
+ /**
13283
+ * Theme.
13284
+ */
13285
+ this.theme = "";
13286
+ /**
13287
+ * Href
13288
+ */
13289
+ this.href = "#";
13290
+ /**
13291
+ * Icon
13292
+ */
13293
+ this.icon = undefined;
13294
+ }
13295
+ /**
13296
+ * Component lifecycle events.
13297
+ */
13298
+ componentWillLoad() {
13299
+ inheritGlobalTheme(this);
13300
+ }
13301
+ /**
13302
+ * render() function
13303
+ * Always the last one in the class.
13304
+ */
13305
+ render() {
13306
+ return (hAsync(Host, null, hAsync("a", { class: {
13307
+ "duet-menu-bar-dropdown-link": true,
13308
+ "duet-theme-turva": this.theme === "turva",
13309
+ }, href: this.href, role: "menuitem" }, this.icon && hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }), hAsync("slot", null))));
13310
+ }
13311
+ get element() { return getElement(this); }
13312
+ static get style() { return duetMenuBarDropdownLinkCss; }
13313
+ static get cmpMeta() { return {
13314
+ "$flags$": 9,
13315
+ "$tagName$": "duet-menu-bar-dropdown-link",
13316
+ "$members$": {
13317
+ "theme": [1025],
13318
+ "href": [1025],
13319
+ "icon": [1537]
13320
+ },
13321
+ "$listeners$": undefined,
13322
+ "$lazyBundleId$": "-",
13323
+ "$attrsToReflect$": [["icon", "icon"]]
13324
+ }; }
13325
+ }
13326
+
13327
+ const duetMenuBarLinkCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar-link,*.sc-duet-menu-bar-link::after,*.sc-duet-menu-bar-link::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-link-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}/*!@.duet-menu-bar-link*/.duet-menu-bar-link.sc-duet-menu-bar-link{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#004d80;text-align:center;text-decoration:none}@media (min-width: 62em){/*!@.duet-menu-bar-link*/.duet-menu-bar-link.sc-duet-menu-bar-link{padding:0 20px}}@media (min-width: 64.0625em){/*!@.duet-menu-bar-link*/.duet-menu-bar-link.sc-duet-menu-bar-link{padding:0 28px}}/*!@.duet-menu-bar-link.duet-theme-turva*/.duet-menu-bar-link.duet-theme-turva.sc-duet-menu-bar-link{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#940925}/*!@.duet-menu-bar-link:hover*/.duet-menu-bar-link.sc-duet-menu-bar-link:hover{color:#0077b3}/*!@.duet-menu-bar-link:hover.duet-theme-turva*/.duet-menu-bar-link.sc-duet-menu-bar-link:hover.duet-theme-turva{color:#c60c30}";
13328
+
13329
+ class DuetMenuBarLink {
13330
+ constructor(hostRef) {
13331
+ registerInstance(this, hostRef);
13332
+ /**
13333
+ * Theme.
13334
+ */
13335
+ this.theme = "";
13336
+ /**
13337
+ * Href
13338
+ */
13339
+ this.href = "#";
13340
+ /**
13341
+ * Icon
13342
+ */
13343
+ this.icon = undefined;
13344
+ }
13345
+ /**
13346
+ * Component lifecycle events.
13347
+ */
13348
+ componentWillLoad() {
13349
+ inheritGlobalTheme(this);
13350
+ }
13351
+ /**
13352
+ * render() function
13353
+ * Always the last one in the class.
13354
+ */
13355
+ render() {
13356
+ return (hAsync(Host, null, hAsync("a", { class: { "duet-menu-bar-link": true, "duet-theme-turva": this.theme === "turva" }, href: this.href }, this.icon && hAsync("duet-icon", { size: "x-small", name: this.icon, margin: "none" }), hAsync("slot", null))));
13357
+ }
13358
+ get element() { return getElement(this); }
13359
+ static get style() { return duetMenuBarLinkCss; }
13360
+ static get cmpMeta() { return {
13361
+ "$flags$": 9,
13362
+ "$tagName$": "duet-menu-bar-link",
13363
+ "$members$": {
13364
+ "theme": [1025],
13365
+ "href": [1025],
13366
+ "icon": [1537]
13367
+ },
13368
+ "$listeners$": undefined,
13369
+ "$lazyBundleId$": "-",
13370
+ "$attrsToReflect$": [["icon", "icon"]]
13371
+ }; }
13372
+ }
13373
+
13374
+ const duetMenuBarMenuCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar-menu,*.sc-duet-menu-bar-menu::after,*.sc-duet-menu-bar-menu::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-menu-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}/*!@.duet-menu-bar-menu*/.duet-menu-bar-menu.sc-duet-menu-bar-menu{height:100%}/*!@.duet-menu-bar-menu button*/.duet-menu-bar-menu.sc-duet-menu-bar-menu button.sc-duet-menu-bar-menu{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;min-height:5rem;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.25;color:#00294d;text-align:center;text-decoration:none;cursor:pointer}@media (min-width: 62em){/*!@.duet-menu-bar-menu button*/.duet-menu-bar-menu.sc-duet-menu-bar-menu button.sc-duet-menu-bar-menu{padding:0 20px}}@media (min-width: 64.0625em){/*!@.duet-menu-bar-menu button*/.duet-menu-bar-menu.sc-duet-menu-bar-menu button.sc-duet-menu-bar-menu{padding:0 28px}}/*!@.duet-menu-bar-menu button:hover*/.duet-menu-bar-menu.sc-duet-menu-bar-menu button.sc-duet-menu-bar-menu:hover{color:#0077b3}/*!@.duet-menu-bar-menu button.active*/.duet-menu-bar-menu.sc-duet-menu-bar-menu button.active.sc-duet-menu-bar-menu{color:#0077b3}/*!@.duet-theme-turva .duet-menu-bar-menu button.active*/.duet-theme-turva.sc-duet-menu-bar-menu .duet-menu-bar-menu.sc-duet-menu-bar-menu button.active.sc-duet-menu-bar-menu{color:#c60c30}/*!@.duet-menu-bar-menu button.active::after*/.duet-menu-bar-menu.sc-duet-menu-bar-menu button.active.sc-duet-menu-bar-menu::after{position:absolute;top:auto;bottom:2px;left:0;display:block;width:100%;height:2px;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(2px)}/*!@.duet-theme-turva .duet-menu-bar-menu button.active::after*/.duet-theme-turva.sc-duet-menu-bar-menu .duet-menu-bar-menu.sc-duet-menu-bar-menu button.active.sc-duet-menu-bar-menu::after{background:#c60c30}/*!@.duet-menu-bar-menu .items*/.duet-menu-bar-menu.sc-duet-menu-bar-menu .items.sc-duet-menu-bar-menu{position:absolute;left:0;display:flex;align-items:center;justify-content:center;width:100%;height:4rem;color:#00294d;background:#f3f9fc;border-bottom:1px solid #cde5f1;box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1) inset}/*!@.duet-menu-bar-menu .items.hidden*/.duet-menu-bar-menu.sc-duet-menu-bar-menu .items.hidden.sc-duet-menu-bar-menu{display:none}/*!@.duet-menu-bar-menu.duet-theme-turva button*/.duet-menu-bar-menu.duet-theme-turva.sc-duet-menu-bar-menu button.sc-duet-menu-bar-menu{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}/*!@.duet-menu-bar-menu.duet-theme-turva button:hover*/.duet-menu-bar-menu.duet-theme-turva.sc-duet-menu-bar-menu button.sc-duet-menu-bar-menu:hover{color:#c60c30}/*!@.duet-menu-bar-menu.duet-theme-turva button.active*/.duet-menu-bar-menu.duet-theme-turva.sc-duet-menu-bar-menu button.active.sc-duet-menu-bar-menu{color:#c60c30}/*!@.duet-menu-bar-menu.duet-theme-turva button.active::after*/.duet-menu-bar-menu.duet-theme-turva.sc-duet-menu-bar-menu button.active.sc-duet-menu-bar-menu::after{background:#c60c30}/*!@.duet-menu-bar-menu.duet-theme-turva .items*/.duet-menu-bar-menu.duet-theme-turva.sc-duet-menu-bar-menu .items.sc-duet-menu-bar-menu{background:#f5f5f7}";
13375
+
13376
+ class DuetMenuBarMenu {
13377
+ constructor(hostRef) {
13378
+ registerInstance(this, hostRef);
13379
+ this.duetMenuBarMenuEvent = createEvent$2(this, "duetMenuBarMenuEvent", 7);
13380
+ /**
13381
+ * Theme.
13382
+ */
13383
+ this.theme = "";
13384
+ /**
13385
+ * Active
13386
+ */
13387
+ this.active = false;
13388
+ /**
13389
+ * Open
13390
+ */
13391
+ this.open = false;
13392
+ this.toggleMenu = (e) => {
13393
+ const toggle = !this.open;
13394
+ this.open = toggle;
13395
+ this.duetMenuBarMenuEvent.emit({
13396
+ originalEvent: e,
13397
+ data: { element: this.element, open: this.open },
13398
+ component: "duet-menu-bar-menu",
13399
+ });
13400
+ };
13401
+ this.onClick = (e) => {
13402
+ this.toggleMenu(e);
13403
+ e.stopImmediatePropagation();
13404
+ };
13405
+ }
13406
+ /**
13407
+ * Component lifecycle events.
13408
+ */
13409
+ componentWillLoad() {
13410
+ inheritGlobalTheme(this);
13411
+ }
13412
+ /**
13413
+ * render() function
13414
+ * Always the last one in the class.
13415
+ */
13416
+ render() {
13417
+ return (hAsync(Host, null, hAsync("div", { class: { "duet-menu-bar-menu": true, "duet-theme-turva": this.theme === "turva", active: this.active } }, hAsync("button", { "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
13418
+ active: this.active || this.open,
13419
+ }, onClick: this.onClick }, hAsync("slot", { name: "label" })), hAsync("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
13420
+ items: true,
13421
+ hidden: !this.open,
13422
+ } }, hAsync("slot", null)))));
13423
+ }
13424
+ get element() { return getElement(this); }
13425
+ static get style() { return duetMenuBarMenuCss; }
13426
+ static get cmpMeta() { return {
13427
+ "$flags$": 9,
13428
+ "$tagName$": "duet-menu-bar-menu",
13429
+ "$members$": {
13430
+ "theme": [1025],
13431
+ "active": [1028],
13432
+ "open": [1540]
13433
+ },
13434
+ "$listeners$": undefined,
13435
+ "$lazyBundleId$": "-",
13436
+ "$attrsToReflect$": [["open", "open"]]
13437
+ }; }
13438
+ }
13439
+
13440
+ const duetMenuBarMenuDropdownLinkCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar-menu-dropdown-link,*.sc-duet-menu-bar-menu-dropdown-link::after,*.sc-duet-menu-bar-menu-dropdown-link::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-menu-dropdown-link-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}/*!@.duet-menu-bar-menu-dropdown-link*/.duet-menu-bar-menu-dropdown-link.sc-duet-menu-bar-menu-dropdown-link{display:flex;flex-direction:row;gap:0.5rem;align-items:center;justify-content:flex-start;height:100%;padding:0.675rem 16px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#00294d;text-align:center;text-decoration:none}/*!@.duet-menu-bar-menu-dropdown-link.duet-theme-turva*/.duet-menu-bar-menu-dropdown-link.duet-theme-turva.sc-duet-menu-bar-menu-dropdown-link{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}/*!@.duet-menu-bar-menu-dropdown-link:hover*/.duet-menu-bar-menu-dropdown-link.sc-duet-menu-bar-menu-dropdown-link:hover{color:#004d80;background:#f3f9fc}/*!@.duet-menu-bar-menu-dropdown-link:hover.duet-theme-turva*/.duet-menu-bar-menu-dropdown-link.sc-duet-menu-bar-menu-dropdown-link:hover.duet-theme-turva{color:#940925;background:#e4e4e6}/*!@.duet-menu-bar-menu-dropdown-link.highlight*/.duet-menu-bar-menu-dropdown-link.highlight.sc-duet-menu-bar-menu-dropdown-link{color:#0077b3}/*!@.duet-menu-bar-menu-dropdown-link.highlight.duet-theme-turva*/.duet-menu-bar-menu-dropdown-link.highlight.duet-theme-turva.sc-duet-menu-bar-menu-dropdown-link{color:#c60c30}";
13441
+
13442
+ class DuetMenuBarMenuDropdownLink {
13443
+ constructor(hostRef) {
13444
+ registerInstance(this, hostRef);
13445
+ /**
13446
+ * Theme.
13447
+ */
13448
+ this.theme = "";
13449
+ /**
13450
+ * Href
13451
+ */
13452
+ this.href = "#";
13453
+ /**
13454
+ * Icon
13455
+ */
13456
+ this.icon = undefined;
13457
+ /**
13458
+ * Caret
13459
+ */
13460
+ this.caret = false;
13461
+ /**
13462
+ * Highlight
13463
+ */
13464
+ this.highlight = false;
13465
+ }
13466
+ /**
13467
+ * Component lifecycle events.
13468
+ */
13469
+ componentWillLoad() {
13470
+ inheritGlobalTheme(this);
13471
+ }
13472
+ /**
13473
+ * render() function
13474
+ * Always the last one in the class.
13475
+ */
13476
+ render() {
13477
+ return (hAsync(Host, null, hAsync("a", { class: {
13478
+ "duet-menu-bar-menu-dropdown-link": true,
13479
+ "duet-theme-turva": this.theme === "turva",
13480
+ highlight: this.highlight,
13481
+ }, href: this.href, role: "menuitem" }, this.icon && hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none" }), hAsync("slot", null), this.caret && hAsync("duet-icon", { name: "action-arrow-right-small", size: "xxx-small", margin: "none" }))));
13482
+ }
13483
+ get element() { return getElement(this); }
13484
+ static get style() { return duetMenuBarMenuDropdownLinkCss; }
13485
+ static get cmpMeta() { return {
13486
+ "$flags$": 9,
13487
+ "$tagName$": "duet-menu-bar-menu-dropdown-link",
13488
+ "$members$": {
13489
+ "theme": [1025],
13490
+ "href": [1025],
13491
+ "icon": [1537],
13492
+ "caret": [1028],
13493
+ "highlight": [1028]
13494
+ },
13495
+ "$listeners$": undefined,
13496
+ "$lazyBundleId$": "-",
13497
+ "$attrsToReflect$": [["icon", "icon"]]
13498
+ }; }
13499
+ }
13500
+
13501
+ const duetMenuBarMenuLinkCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar-menu-link,*.sc-duet-menu-bar-menu-link::after,*.sc-duet-menu-bar-menu-link::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-menu-link-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}/*!@.duet-menu-bar-menu-link*/.duet-menu-bar-menu-link.sc-duet-menu-bar-menu-link{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;height:100%;padding:0 1.5rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:600;line-height:1.25;color:#00294d;text-align:center;text-decoration:none}/*!@.duet-menu-bar-menu-link.duet-theme-turva*/.duet-menu-bar-menu-link.duet-theme-turva.sc-duet-menu-bar-menu-link{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}/*!@.duet-menu-bar-menu-link:hover*/.duet-menu-bar-menu-link.sc-duet-menu-bar-menu-link:hover{color:#004d80;background:#e6f2f8}/*!@.duet-menu-bar-menu-link:hover.duet-theme-turva*/.duet-menu-bar-menu-link.sc-duet-menu-bar-menu-link:hover.duet-theme-turva{color:#940925;background:#e4e4e6}/*!@.duet-menu-bar-menu-link.active*/.duet-menu-bar-menu-link.active.sc-duet-menu-bar-menu-link{color:#0077b3}/*!@.duet-menu-bar-menu-link.active.duet-theme-turva*/.duet-menu-bar-menu-link.active.duet-theme-turva.sc-duet-menu-bar-menu-link{color:#c60c30}/*!@.duet-menu-bar-menu-link.active.active:hover*/.duet-menu-bar-menu-link.active.active.sc-duet-menu-bar-menu-link:hover{color:#004d80}/*!@.duet-menu-bar-menu-link.active.active:hover.duet-theme-turva*/.duet-menu-bar-menu-link.active.active.sc-duet-menu-bar-menu-link:hover.duet-theme-turva{color:#940925}";
13502
+
13503
+ class DuetMenuBarMenuLink {
13504
+ constructor(hostRef) {
13505
+ registerInstance(this, hostRef);
13506
+ /**
13507
+ * Theme.
13508
+ */
13509
+ this.theme = "";
13510
+ /**
13511
+ * Active
13512
+ */
13513
+ this.active = false;
13514
+ /**
13515
+ * Href
13516
+ */
13517
+ this.href = "#";
13518
+ /**
13519
+ * Icon
13520
+ */
13521
+ this.icon = undefined;
13522
+ }
13523
+ /**
13524
+ * Component lifecycle events.
13525
+ */
13526
+ componentWillLoad() {
13527
+ inheritGlobalTheme(this);
13528
+ }
13529
+ /**
13530
+ * render() function
13531
+ * Always the last one in the class.
13532
+ */
13533
+ render() {
13534
+ return (hAsync(Host, null, hAsync("a", { class: { "duet-menu-bar-menu-link": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.href, role: "menuitem" }, this.icon && hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none" }), hAsync("slot", null))));
13535
+ }
13536
+ get element() { return getElement(this); }
13537
+ static get style() { return duetMenuBarMenuLinkCss; }
13538
+ static get cmpMeta() { return {
13539
+ "$flags$": 9,
13540
+ "$tagName$": "duet-menu-bar-menu-link",
13541
+ "$members$": {
13542
+ "theme": [1025],
13543
+ "active": [1028],
13544
+ "href": [1025],
13545
+ "icon": [1537]
13546
+ },
13547
+ "$listeners$": undefined,
13548
+ "$lazyBundleId$": "-",
13549
+ "$attrsToReflect$": [["icon", "icon"]]
13550
+ }; }
13551
+ }
13552
+
13553
+ const duetModalCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-modal,*.sc-duet-modal::after,*.sc-duet-modal::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-modal-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@.duet-modal-overlay*/.duet-modal-overlay.sc-duet-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;max-height:100vh;overflow-y:auto;visibility:hidden;background:rgba(0, 41, 77, 0.85);opacity:0;transition:300ms ease;transition-delay:200ms}/*!@.duet-modal-overlay.duet-theme-turva*/.duet-modal-overlay.duet-theme-turva.sc-duet-modal{background:rgba(23, 28, 58, 0.85)}/*!@.duet-modal-overlay.duet-modal-active*/.duet-modal-overlay.duet-modal-active.sc-duet-modal{visibility:visible;opacity:1;transition:300ms ease;transition-delay:0s}/*!@.duet-modal-overlay.duet-disable-transitions*/.duet-modal-overlay.duet-disable-transitions.sc-duet-modal{transition:none}/*!@::slotted(img)*/.sc-duet-modal-s>img{width:100%}/*!@.duet-modal-inner*/.duet-modal-inner.sc-duet-modal{display:flex;align-items:center;width:100%;min-height:100%;padding:20px 16px}@media (min-width: 36em){/*!@.duet-modal-inner*/.duet-modal-inner.sc-duet-modal{padding:48px 16px}}@media (max-width: 35.9375em){/*!@.duet-modal-inner.duet-modal-large*/.duet-modal-inner.duet-modal-large.sc-duet-modal{padding-right:0;padding-left:0}}/*!@.duet-modal*/.duet-modal.sc-duet-modal{position:relative;width:100%;max-width:686px;margin:auto;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-weight:400;font-variant-numeric:tabular-nums;line-height:1.5;color:#00294d;background:white;border-radius:4px;opacity:0;transition:300ms ease;transition-delay:0ms;transform:scale(0.96)}/*!@.duet-theme-turva .duet-modal*/.duet-theme-turva.sc-duet-modal .duet-modal.sc-duet-modal{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}/*!@.duet-modal-active .duet-modal*/.duet-modal-active.sc-duet-modal .duet-modal.sc-duet-modal{opacity:1;transition:300ms ease;transition-delay:200ms;transform:none}/*!@.duet-disable-transitions .duet-modal*/.duet-disable-transitions.sc-duet-modal .duet-modal.sc-duet-modal{transition:none}/*!@.duet-modal.small*/.duet-modal.small.sc-duet-modal{max-width:545px}/*!@.duet-modal.large*/.duet-modal.large.sc-duet-modal{max-width:100%}@media (min-width: 36em){/*!@.duet-modal.large*/.duet-modal.large.sc-duet-modal{max-width:1110px}}/*!@.duet-modal:focus*/.duet-modal.sc-duet-modal:focus{outline:0}/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{width:100%;padding:36px 28px}/*!@.duet-modal-body.duet-modal-gutter-small*/.duet-modal-body.duet-modal-gutter-small.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 36px}@media (max-width: 22.5em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 28px}}@media (max-width: 35.9375em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 36px}}@media (min-width: 36em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:28px 72px}}@media (min-width: 48em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 72px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:36px 72px}}@media (min-width: 76.25em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 48px 48px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 94px}/*!@.small .duet-modal-body*/.small.sc-duet-modal .duet-modal-body.sc-duet-modal{padding:36px 48px}}/*!@.duet-modal-header*/.duet-modal-header.sc-duet-modal{text-align:center}/*!@.duet-modal-close*/.duet-modal-close.sc-duet-modal{position:absolute;top:12px;right:12px}/*!@.duet-modal-heading*/.duet-modal-heading.sc-duet-modal{width:100%;padding-right:60px;overflow:hidden;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1.25rem;font-style:normal;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25;color:#00294d;text-decoration:none;text-overflow:ellipsis;letter-spacing:-0.01rem;white-space:nowrap}/*!@.duet-modal-heading.duet-p-0*/.duet-modal-heading.duet-p-0.sc-duet-modal{padding:0 !important}/*!@.duet-modal-heading.duet-m-0*/.duet-modal-heading.duet-m-0.sc-duet-modal{margin:0 !important}";
13554
+
13555
+ // The transition below is slightly higher than the actual CSS transition as VoiceOver on
13556
+ // iOS has otherwise problems moving the focus from modal back to the original element.
13557
+ // This issue is similar to what we’ve seen in Duet Date Picker + iOS VoiceOver.
13558
+ const TRANSITION_MS = 600;
13559
+ /**
13560
+ * @slot top - This is a slot that takes any content and will be displayed as the first thing in the hero area (typically an image)
13561
+ */
13562
+ class DuetModal {
13563
+ constructor(hostRef) {
13564
+ registerInstance(this, hostRef);
13565
+ this.duetOpen = createEvent$2(this, "duetOpen", 7);
13566
+ this.duetClose = createEvent$2(this, "duetClose", 7);
13567
+ this.duetBeforeClose = createEvent$2(this, "duetBeforeClose", 7);
13568
+ var _a, _b;
13569
+ /**
13570
+ * Own Properties.
13571
+ */
13572
+ this.modalId = createID("DuetModal");
13573
+ this.slotDefaultId = createID("DuetModal-default-slot");
13574
+ this.isAndroidDevice = ((_b = (_a = navigator === null || navigator === void 0 ? void 0 : navigator.userAgent) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.indexOf("android")) > -1 || null;
13575
+ this.isSafariBrowser = /^((?!chrome|android).)*safari/i.test(navigator === null || navigator === void 0 ? void 0 : navigator.userAgent);
13576
+ this.handleAndroidResizeEvents = () => {
13577
+ if (document.activeElement.tagName == "INPUT") {
13578
+ window.setTimeout(function () {
13579
+ var _a;
13580
+ try {
13581
+ //@ts-ignore
13582
+ (_a = document === null || document === void 0 ? void 0 : document.activeElement) === null || _a === void 0 ? void 0 : _a.scrollIntoViewIfNeeded(true);
13583
+ }
13584
+ catch (e) {
13585
+ //dev-null any errors here
13586
+ }
13587
+ }, 100);
13588
+ }
13589
+ };
13590
+ /**
13591
+ * State() variables
13592
+ * Inlined decorator, alphabetical order.
13593
+ */
13594
+ this.open = false;
13595
+ /**
13596
+ * The currently active language. This setting also changes the logo to match
13597
+ * the chosen language.
13598
+ * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
13599
+ * @default "fi"
13600
+ */
13601
+ this.language = getLanguage();
13602
+ /**
13603
+ * Defaults for accessibleCloseLabel
13604
+ * @default {fi: "Sulje ikkuna", sv: "Stäng fönstret", en: "Close the dialog", }
13605
+ */
13606
+ this.accessibleCloseLabelDefaults = {
13607
+ fi: "Sulje ikkuna",
13608
+ sv: "Stäng fönstret",
13609
+ en: "Close the dialog",
13610
+ };
13611
+ /**
13612
+ * Adds accessible label for the close icon that is only shown for screen
13613
+ * readers. This property is always required to create an accessibly interface!
13614
+ * Swedish translation for this property is “Stäng fönstret”.
13615
+ * @default {fi: "Sulje ikkuna", sv: "Stäng fönstret", en: "Close the dialog", }
13616
+ */
13617
+ this.accessibleCloseLabel = getLocaleString(this.accessibleCloseLabelDefaults, this.language);
13618
+ /**
13619
+ * Size of the modal window.
13620
+ */
13621
+ this.size = "medium";
13622
+ /**
13623
+ * Details of the component
13624
+ */
13625
+ this.accessibleDetails = undefined;
13626
+ /**
13627
+ * Aria description the button
13628
+ */
13629
+ this.accessibleDescription = undefined;
13630
+ /**
13631
+ * Size of the modal window.
13632
+ */
13633
+ this.gutterSize = "medium";
13634
+ /**
13635
+ * Theme of the modal.
13636
+ */
13637
+ this.theme = "";
13638
+ /**
13639
+ * Accessible heading displayed in the modal. The modal marks this as the
13640
+ * label of the modal when used. This helps screen reader users which is
13641
+ * why this is a required property.
13642
+ */
13643
+ this.heading = "";
13644
+ /**
13645
+ * Accessible heading size
13646
+ */
13647
+ this.headingLevel = "h3";
13648
+ /**
13649
+ * Icon to display above the heading (from Duet’s icons). Example:
13650
+ * "form-location"
13651
+ */
13652
+ this.icon = "";
13653
+ /**
13654
+ * Custom color to be used for the icon, as a design token entered in camelCase
13655
+ * or kebab-case. Example: "primary".
13656
+ */
13657
+ this.color = "";
13658
+ /**
13659
+ * Use this property when you need to have the modal dialog initially active.
13660
+ */
13661
+ this.active = false;
13662
+ /**
13663
+ * Use this property when you want the modal to close when clicked outside of modal.
13664
+ */
13665
+ this.closeOnBlur = false;
13666
+ }
13667
+ openChanged() {
13668
+ if (this.open) {
13669
+ if (this.modalEl && this.modalEl.scrollTop) {
13670
+ this.modalEl.scrollTop = 0;
13671
+ }
13672
+ this.focusedElBeforeOpen = document.activeElement;
13673
+ disableBodyScroll(this.modalEl, { reserveScrollBarGap: true });
13674
+ setTimeout(() => {
13675
+ this.buttonEl.setFocus();
13676
+ }, TRANSITION_MS);
13677
+ setTimeout(() => {
13678
+ this.modalEl.classList.add("duet-disable-transitions");
13679
+ }, TRANSITION_MS + 200);
13680
+ // fix for android devices where scrolling and softKeyboards MAY be
13681
+ // acting weird when the modal contains an input field
13682
+ if (this.isAndroidDevice) {
13683
+ window.addEventListener("resize", this.handleAndroidResizeEvents);
13684
+ }
13685
+ this.duetOpen.emit();
13686
+ }
13687
+ else {
13688
+ this.modalEl.classList.remove("duet-disable-transitions");
13689
+ enableBodyScroll(this.modalEl);
13690
+ this.duetClose.emit();
13691
+ setTimeout(() => {
13692
+ focusElement(this.focusedElBeforeOpen);
13693
+ }, TRANSITION_MS);
13694
+ if (this.isAndroidDevice) {
13695
+ window.removeEventListener("resize", this.handleAndroidResizeEvents);
13696
+ }
13697
+ }
13698
+ }
13699
+ activeChanged() {
13700
+ this.open = this.active;
13701
+ }
13702
+ /**
13703
+ * Component lifecycle events.
13704
+ */
13705
+ componentWillLoad() {
13706
+ inheritGlobalTheme(this);
13707
+ }
13708
+ componentDidLoad() {
13709
+ if (this.active) {
13710
+ // This specific line below can’t be moved to componentWillLoad()
13711
+ // as it breaks body scroll enabling.
13712
+ this.open = true;
13713
+ this.modalEl.classList.add("duet-disable-transitions");
13714
+ }
13715
+ }
13716
+ disconnectedCallback() {
13717
+ enableBodyScroll(this.modalEl);
13718
+ }
13719
+ /**
13720
+ * Component event handling.
13721
+ */
13722
+ handleKeyUp(ev) {
13723
+ if (this.open) {
13724
+ // When Esc is pressed the modal should be closed
13725
+ if (isEscapeKey(ev)) {
13726
+ this.closeModal(ev);
13727
+ }
13728
+ }
13729
+ }
13730
+ /**
13731
+ * Shows the modal dialog. Additionally saves the element that triggered
13732
+ * the modal so that focus can be moved back to this specific element when
13733
+ * the modal dialog is closed.
13734
+ */
13735
+ async show() {
13736
+ this.open = true;
13737
+ }
13738
+ /**
13739
+ * Hides the modal dialog and puts focus back to the original element
13740
+ * that triggered the modal (if we’re still in the same view).
13741
+ */
13742
+ async hide() {
13743
+ this.open = false;
13744
+ }
13745
+ /**
13746
+ * Local methods.
13747
+ */
13748
+ closeModal(ev) {
13749
+ this.duetBeforeClose.emit({
13750
+ originalEvent: ev,
13751
+ component: "duet-modal",
13117
13752
  });
13118
13753
  // Make sure the event wasn’t prevented previously
13119
13754
  if (!ev.defaultPrevented) {
@@ -13157,37 +13792,276 @@ class DuetModal {
13157
13792
  }
13158
13793
  get element() { return getElement(this); }
13159
13794
  static get watchers() { return {
13160
- "open": ["openChanged"],
13161
- "active": ["activeChanged"]
13795
+ "open": ["openChanged"],
13796
+ "active": ["activeChanged"]
13797
+ }; }
13798
+ static get style() { return duetModalCss; }
13799
+ static get cmpMeta() { return {
13800
+ "$flags$": 9,
13801
+ "$tagName$": "duet-modal",
13802
+ "$members$": {
13803
+ "language": [1025],
13804
+ "accessibleCloseLabelDefaults": [1, "accessible-close-label-default"],
13805
+ "accessibleCloseLabel": [1, "accessible-close-label"],
13806
+ "size": [1],
13807
+ "accessibleDescribedBy": [1, "accessible-described-by"],
13808
+ "accessibleLabelledBy": [1, "accessible-labelled-by"],
13809
+ "accessibleDetails": [1, "accessible-details"],
13810
+ "accessibleDescription": [1, "accessible-description"],
13811
+ "gutterSize": [1, "gutter-size"],
13812
+ "theme": [1025],
13813
+ "heading": [1],
13814
+ "headingLevel": [1, "heading-level"],
13815
+ "icon": [1],
13816
+ "color": [1],
13817
+ "active": [1540],
13818
+ "closeOnBlur": [1028, "close-on-blur"],
13819
+ "open": [32],
13820
+ "show": [64],
13821
+ "hide": [64]
13822
+ },
13823
+ "$listeners$": [[8, "keyup", "handleKeyUp"]],
13824
+ "$lazyBundleId$": "-",
13825
+ "$attrsToReflect$": [["active", "active"]]
13826
+ }; }
13827
+ }
13828
+
13829
+ const duetMultiselectCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-multiselect,*.sc-duet-multiselect::after,*.sc-duet-multiselect::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-multiselect-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;max-width:100%;vertical-align:bottom}/*!@:host:last-child, :host:last-of-type*/.sc-duet-multiselect-h:last-child,.sc-duet-multiselect-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){/*!@:host*/.sc-duet-multiselect-h{width:calc(50% - 16px - 3px)}/*!@:host.duet-expand*/.duet-expand.sc-duet-multiselect-h{width:100% !important}}/*!@:host(.duet-m-0)*/.duet-m-0.sc-duet-multiselect-h{margin:0 !important}/*!@.duet-multiselect-tooltip*/.duet-multiselect-tooltip.sc-duet-multiselect{position:absolute;top:12px;right:0}@media (min-width: 48em){/*!@.duet-multiselect-tooltip*/.duet-multiselect-tooltip.sc-duet-multiselect{position:relative;top:4px;right:auto}}/*!@.duet-multiselect-placeholder*/.duet-multiselect-placeholder.sc-duet-multiselect{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:white}/*!@.duet-multiselect-container*/.duet-multiselect-container.sc-duet-multiselect{position:relative;width:100%}/*!@.duet-multiselect-wrapper*/.duet-multiselect-wrapper.sc-duet-multiselect{position:relative;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.25}/*!@.duet-theme-turva .duet-multiselect-wrapper*/.duet-theme-turva.sc-duet-multiselect .duet-multiselect-wrapper.sc-duet-multiselect{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}/*!@.duet-multiselect*/.duet-multiselect.sc-duet-multiselect{display:flex;gap:12px;align-items:center;justify-content:flex-start;width:100%;min-width:8rem;padding:12px 14px !important;overflow:hidden;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.5;color:#00294d;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:white;border:1px solid #909599;border-radius:4px;transition:150ms ease}/*!@.duet-multiselect:hover*/.duet-multiselect.sc-duet-multiselect:hover{border-color:#909599;box-shadow:0 0 0 1px #909599}/*!@.duet-theme-turva .duet-multiselect:hover*/.duet-theme-turva.sc-duet-multiselect .duet-multiselect.sc-duet-multiselect:hover{border-color:#747475;box-shadow:0 0 0 1px #747475}/*!@.has-error .duet-multiselect:hover*/.has-error.sc-duet-multiselect .duet-multiselect.sc-duet-multiselect:hover{box-shadow:0 0 0 1px #de2362}/*!@.duet-theme-turva.has-error .duet-multiselect:hover*/.duet-theme-turva.has-error.sc-duet-multiselect .duet-multiselect.sc-duet-multiselect:hover{box-shadow:0 0 0 1px #e02a0d}/*!@.duet-multiselect:focus, .duet-multiselect.duet-multiselect-active*/.duet-multiselect.sc-duet-multiselect:focus,.duet-multiselect.duet-multiselect-active.sc-duet-multiselect{border-color:#0077b3;outline:0;box-shadow:0 0 0 1px #0077b3;transition:none}/*!@.duet-theme-turva .duet-multiselect:focus, .duet-theme-turva .duet-multiselect.duet-multiselect-active*/.duet-theme-turva.sc-duet-multiselect .duet-multiselect.sc-duet-multiselect:focus,.duet-theme-turva.sc-duet-multiselect .duet-multiselect.duet-multiselect-active.sc-duet-multiselect{border-color:#171c3a;box-shadow:0 0 0 1px #171c3a}/*!@.has-error .duet-multiselect:focus, .has-error .duet-multiselect.duet-multiselect-active*/.has-error.sc-duet-multiselect .duet-multiselect.sc-duet-multiselect:focus,.has-error.sc-duet-multiselect .duet-multiselect.duet-multiselect-active.sc-duet-multiselect{box-shadow:0 0 0 1px #de2362}/*!@.duet-theme-turva.has-error .duet-multiselect:focus, .duet-theme-turva.has-error .duet-multiselect.duet-multiselect-active*/.duet-theme-turva.has-error.sc-duet-multiselect .duet-multiselect.sc-duet-multiselect:focus,.duet-theme-turva.has-error.sc-duet-multiselect .duet-multiselect.duet-multiselect-active.sc-duet-multiselect{box-shadow:0 0 0 1px #e02a0d}/*!@.duet-multiselect[disabled]*/.duet-multiselect[disabled].sc-duet-multiselect{color:#00294d !important;cursor:default !important;background:#f5f8fa !important;border-color:#f5f8fa !important;box-shadow:none !important;opacity:1 !important;-webkit-text-fill-color:#00294d !important}/*!@.duet-theme-turva .duet-multiselect[disabled]*/.duet-theme-turva.sc-duet-multiselect .duet-multiselect[disabled].sc-duet-multiselect{color:#171c3a !important;background:#f5f5f7 !important;border-color:#f5f5f7 !important;-webkit-text-fill-color:#171c3a !important}/*!@.duet-multiselect > :first-child*/.duet-multiselect.sc-duet-multiselect>.sc-duet-multiselect:first-child{flex:1}/*!@.duet-multiselect .duet-multiselect-badge*/.duet-multiselect.sc-duet-multiselect .duet-multiselect-badge.sc-duet-multiselect{position:absolute;right:3rem}/*!@.has-error .duet-multiselect*/.has-error.sc-duet-multiselect .duet-multiselect.sc-duet-multiselect{border-color:#de2362 !important}/*!@.has-error .duet-multiselect .duet-multiselect-icon*/.has-error.sc-duet-multiselect .duet-multiselect.sc-duet-multiselect .duet-multiselect-icon.sc-duet-multiselect{color:#de2362 !important}/*!@.duet-theme-turva.has-error .duet-multiselect*/.duet-theme-turva.has-error.sc-duet-multiselect .duet-multiselect.sc-duet-multiselect{border-color:#e02a0d !important}/*!@.duet-theme-turva.has-error .duet-multiselect .duet-multiselect-icon*/.duet-theme-turva.has-error.sc-duet-multiselect .duet-multiselect.sc-duet-multiselect .duet-multiselect-icon.sc-duet-multiselect{color:#e02a0d !important}/*!@.duet-theme-turva .duet-multiselect*/.duet-theme-turva.sc-duet-multiselect .duet-multiselect.sc-duet-multiselect{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a;border-color:#747475}/*!@.duet-multiselect svg*/.duet-multiselect.sc-duet-multiselect svg.sc-duet-multiselect{width:20px;height:20px;color:#00294d;pointer-events:none}/*!@.duet-theme-turva .duet-multiselect svg*/.duet-theme-turva.sc-duet-multiselect .duet-multiselect.sc-duet-multiselect svg.sc-duet-multiselect{color:#171c3a}/*!@.duet-multiselect svg.duet-multiselect-icon--rotate*/.duet-multiselect.sc-duet-multiselect svg.duet-multiselect-icon--rotate.sc-duet-multiselect{transform:rotate(180deg)}/*!@.duet-multiselect-checkboxes*/.duet-multiselect-checkboxes.sc-duet-multiselect{position:absolute;z-index:700;width:100%;padding:16px;margin:8px 0 0;visibility:hidden;background:white;border:1px solid #e1e3e6;border-radius:4px;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);opacity:0;transition:transform 300ms ease, opacity 300ms ease, visibility 300ms ease;transform:scale(0.96) translateZ(0) translateY(-20px);transform-origin:top right}/*!@.duet-theme-turva .duet-multiselect-checkboxes*/.duet-theme-turva.sc-duet-multiselect .duet-multiselect-checkboxes.sc-duet-multiselect{background:white;border-color:#e4e4e6;box-shadow:0 4px 10px 0 rgba(23, 28, 58, 0.15)}/*!@.duet-multiselect-checkboxes.duet-multiselect-checkboxes-active*/.duet-multiselect-checkboxes.duet-multiselect-checkboxes-active.sc-duet-multiselect{visibility:visible;opacity:1;transition-property:transform, opacity;transform:scale(1.0001) translateZ(0) translateY(0)}/*!@.duet-multiselect-help*/.duet-multiselect-help.sc-duet-multiselect{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#657787;border-radius:4px}/*!@.duet-multiselect-help span*/.duet-multiselect-help.sc-duet-multiselect span.sc-duet-multiselect{display:block;margin-top:8px}/*!@.duet-theme-turva .duet-multiselect-help*/.duet-theme-turva.sc-duet-multiselect .duet-multiselect-help.sc-duet-multiselect{color:#747475}/*!@.has-error .duet-multiselect-help*/.has-error.sc-duet-multiselect .duet-multiselect-help.sc-duet-multiselect{color:#de2362}/*!@.duet-theme-turva.has-error .duet-multiselect-help*/.duet-theme-turva.has-error.sc-duet-multiselect .duet-multiselect-help.sc-duet-multiselect{color:#e02a0d}/*!@.duet-label-hidden duet-label*/.duet-label-hidden.sc-duet-multiselect duet-label.sc-duet-multiselect{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}";
13830
+
13831
+ function toggleInArray(arr, item) {
13832
+ return arr.includes(item) ? arr.filter(i => i !== item) : [...arr, item];
13833
+ }
13834
+ class DuetMultiselect {
13835
+ constructor(hostRef) {
13836
+ registerInstance(this, hostRef);
13837
+ this.duetChange = createEvent$2(this, "duetChange", 3);
13838
+ this.duetFocus = createEvent$2(this, "duetFocus", 7);
13839
+ this.duetBlur = createEvent$2(this, "duetBlur", 7);
13840
+ /**
13841
+ * Own Properties
13842
+ */
13843
+ this.errorId = createID("DuetError");
13844
+ this.labelId = createID("DuetLabel");
13845
+ this.topCaptionId = createID("DuetCaptionTop");
13846
+ this.selectedLangObject = {
13847
+ en: "selected",
13848
+ fi: "valittu",
13849
+ sv: "vald",
13850
+ };
13851
+ /**
13852
+ * State() variables
13853
+ * Inlined decorator, alphabetical order.
13854
+ */
13855
+ this.processedItems = [];
13856
+ this.checkboxesVisible = false;
13857
+ this.activeDescendant = "";
13858
+ /**
13859
+ * Controls the margin of the component.
13860
+ */
13861
+ this.margin = "auto";
13862
+ /**
13863
+ * Display the select in error state along with an error message.
13864
+ */
13865
+ this.error = "";
13866
+ /**
13867
+ * Expands the input to fill 100% of the container width.
13868
+ */
13869
+ this.expand = false;
13870
+ /**
13871
+ * Value of multiselect
13872
+ */
13873
+ this.value = [];
13874
+ /**
13875
+ * Theme of the select.
13876
+ */
13877
+ this.theme = "";
13878
+ /**
13879
+ * Visually hide the label, but still show it to screen readers.
13880
+ */
13881
+ this.labelHidden = false;
13882
+ /**
13883
+ * Adds a unique identifier for the select.
13884
+ */
13885
+ this.identifier = createID("DuetMultiselect");
13886
+ /**
13887
+ * Hint text to display.
13888
+ */
13889
+ this.placeholder = "";
13890
+ /**
13891
+ * Makes the select component disabled. This prevents users from being able
13892
+ * to interact with the select, and conveys its inactive state to assistive
13893
+ * technologies.
13894
+ */
13895
+ this.disabled = false;
13896
+ /**
13897
+ * Label for the select.
13898
+ */
13899
+ this.label = "label";
13900
+ /**
13901
+ * Tooltip to display next to the label of the input.
13902
+ */
13903
+ this.tooltip = "";
13904
+ /**
13905
+ * With direction setting you can force the tooltip to always open towards left
13906
+ * or right instead of automatically determining the direction.
13907
+ */
13908
+ this.tooltipDirection = "auto";
13909
+ /**
13910
+ * Component event handling.
13911
+ */
13912
+ this.onChange = (ev) => {
13913
+ this.duetChange.emit({
13914
+ originalEvent: ev,
13915
+ value: this.value,
13916
+ component: "duet-multiselect",
13917
+ });
13918
+ };
13919
+ this.onBlur = (ev) => {
13920
+ this.duetBlur.emit({
13921
+ originalEvent: ev,
13922
+ value: this.value,
13923
+ component: "duet-multiselect",
13924
+ });
13925
+ };
13926
+ this.onFocus = (ev) => {
13927
+ this.duetFocus.emit({
13928
+ originalEvent: ev,
13929
+ value: this.value,
13930
+ component: "duet-multiselect",
13931
+ });
13932
+ };
13933
+ this.onMultiselectKeyDown = (e) => {
13934
+ if (isEscapeKey(e) || isTabKey(e)) {
13935
+ if (this.checkboxesVisible) {
13936
+ this.checkboxesVisible = false;
13937
+ this.multiselectElement.focus();
13938
+ e.preventDefault();
13939
+ }
13940
+ }
13941
+ };
13942
+ this.onMultiselectInputKeyDown = (e) => {
13943
+ if (isEnterKey(e)) {
13944
+ e.preventDefault();
13945
+ this.toggleCheckboxes();
13946
+ setTimeout(() => {
13947
+ if (this.checkboxesVisible) {
13948
+ const firstOption = this.element.shadowRoot.querySelector(`#${this.getOptionIdentifier(0)}`);
13949
+ if (firstOption) {
13950
+ firstOption.focus();
13951
+ }
13952
+ }
13953
+ }, 200);
13954
+ }
13955
+ };
13956
+ this.onCheckboxKeyDown = (e, key) => {
13957
+ let nextOption;
13958
+ if (isArrowLeftKey(e) || isArrowUpKey(e)) {
13959
+ nextOption = this.element.shadowRoot.querySelector(`#${this.getOptionIdentifier(key - 1)}`);
13960
+ }
13961
+ else if (isArrowRightKey(e) || isArrowDownKey(e)) {
13962
+ nextOption = this.element.shadowRoot.querySelector(`#${this.getOptionIdentifier(key + 1)}`);
13963
+ }
13964
+ if (nextOption) {
13965
+ nextOption.focus();
13966
+ e.preventDefault();
13967
+ this.activeDescendant = nextOption.id;
13968
+ }
13969
+ };
13970
+ this.toggleCheckboxes = () => {
13971
+ this.checkboxesVisible = !this.checkboxesVisible;
13972
+ };
13973
+ this.toggleCheckbox = (e, item) => {
13974
+ this.value = toggleInArray(this.value, item);
13975
+ this.onChange(e);
13976
+ };
13977
+ this.getOptionIdentifier = (key) => {
13978
+ return `${this.identifier}-option-${key}`;
13979
+ };
13980
+ }
13981
+ handleFocus(e) {
13982
+ const isClickOutside = e.composedPath().every(node => node !== this.element);
13983
+ if (isClickOutside) {
13984
+ this.checkboxesVisible = false;
13985
+ }
13986
+ }
13987
+ /**
13988
+ * Component lifecycle events.
13989
+ */
13990
+ componentWillLoad() {
13991
+ inheritGlobalTheme(this);
13992
+ this.isCaptionVisible = !!this.caption;
13993
+ this.refresh();
13994
+ }
13995
+ /**
13996
+ * Sets focus on the specified `duet-multiselect`. Use this method instead of the global
13997
+ * `multiselect.focus()`.
13998
+ */
13999
+ async setFocus(options) {
14000
+ if (this.multiselectElement) {
14001
+ this.multiselectElement.focus(options);
14002
+ }
14003
+ }
14004
+ /**
14005
+ * Local methods.
14006
+ */
14007
+ async refresh() {
14008
+ this.processedItems = parsePossibleJSON(this.items);
14009
+ }
14010
+ /**
14011
+ * render() function
14012
+ * Always the last one in the class.
14013
+ */
14014
+ render() {
14015
+ const selectedTranslation = getLocaleString(this.selectedLangObject);
14016
+ return (hAsync(Host, { class: {
14017
+ "duet-m-0": this.margin === "none",
14018
+ "duet-expand": this.expand,
14019
+ } }, hAsync("div", { class: {
14020
+ "duet-multiselect-container": true,
14021
+ "duet-label-hidden": this.labelHidden,
14022
+ "duet-theme-turva": this.theme === "turva",
14023
+ "duet-input-top-caption-shown": this.isCaptionVisible,
14024
+ "has-error": !!this.error,
14025
+ }, onKeyDown: (e) => this.onMultiselectKeyDown(e) }, hAsync("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, id: this.labelId, for: this.identifier }, this.label), this.tooltip && (hAsync("duet-tooltip", { class: "duet-multiselect-tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), this.caption && (hAsync("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), hAsync("div", { class: "duet-multiselect-wrapper" }, hAsync("button", { id: this.identifier, ref: el => (this.multiselectElement = el), class: { "duet-multiselect": true, "duet-multiselect-active": this.checkboxesVisible }, tabindex: "0", onClick: () => this.toggleCheckboxes(), onFocus: e => this.onFocus(e), onBlur: e => this.onBlur(e), role: "combobox", "aria-expanded": this.checkboxesVisible ? "true" : "false", "aria-haspopup": "listbox", "aria-labelledby": `${this.labelId} ${this.errorId}`, "aria-owns": `${this.identifier}-checkboxes`, onKeyDown: (e) => this.onMultiselectInputKeyDown(e), disabled: this.disabled }, hAsync("span", { role: "textbox", "aria-readonly": "true", "aria-multiline": "false", "aria-autocomplete": "none", "aria-controls": `${this.identifier}-checkboxes` }, this.placeholder), this.value && this.value.length > 0 && (hAsync("duet-badge", { class: "duet-multiselect-badge", margin: "none", theme: this.theme }, this.value.length, " ", selectedTranslation, hAsync("duet-visually-hidden", null, ", ", this.value.map(item => item.label).join(", ")))), hAsync("svg", { role: "img", class: { "duet-multiselect-icon": true, "duet-multiselect-icon--rotate": this.checkboxesVisible }, fill: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, hAsync("path", { d: "m12 18.999c-.4 0-.776-.156-1.059-.438l-10.721-10.72c-.142-.142-.22-.33-.22-.531 0-.2.078-.389.22-.53.142-.142.33-.22.53-.22s.389.078.53.22l10.72 10.719 10.72-10.719c.142-.142.33-.22.53-.22s.389.078.53.22c.142.142.22.33.22.53s-.078.389-.22.53l-10.72 10.72c-.282.283-.659.439-1.06.439z" }))), hAsync("div", { id: `${this.identifier}-checkboxes`, role: "listbox", class: {
14026
+ "duet-multiselect-checkboxes": true,
14027
+ "duet-multiselect-checkboxes-active": this.checkboxesVisible,
14028
+ }, "aria-activedescendant": this.activeDescendant, "aria-multiselectable": "true" }, this.processedItems &&
14029
+ this.processedItems.map((item, key) => {
14030
+ var _a, _b;
14031
+ return (hAsync("duet-checkbox", { identifier: this.getOptionIdentifier(key), role: "option", label: item.label, value: item.value, key: item.value, checked: (_a = this.value) === null || _a === void 0 ? void 0 : _a.includes(item), "accessible-selected": ((_b = this.value) === null || _b === void 0 ? void 0 : _b.includes(item)) ? "true" : undefined, disabled: !this.checkboxesVisible || item.disabled, onDuetChange: e => this.toggleCheckbox(e, item), onKeyDown: (e) => this.onCheckboxKeyDown(e, key), theme: this.theme }));
14032
+ }))), hAsync("span", { class: "duet-multiselect-help", id: this.errorId, "aria-live": "assertive", "aria-relevant": "additions removals" }, this.error && hAsync("span", null, this.error)))));
14033
+ }
14034
+ get element() { return getElement(this); }
14035
+ static get watchers() { return {
14036
+ "items": ["refresh"]
13162
14037
  }; }
13163
- static get style() { return duetModalCss; }
14038
+ static get style() { return duetMultiselectCss; }
13164
14039
  static get cmpMeta() { return {
13165
14040
  "$flags$": 9,
13166
- "$tagName$": "duet-modal",
14041
+ "$tagName$": "duet-multiselect",
13167
14042
  "$members$": {
13168
- "language": [1025],
13169
- "accessibleCloseLabelDefaults": [1, "accessible-close-label-default"],
13170
- "accessibleCloseLabel": [1, "accessible-close-label"],
13171
- "size": [1],
13172
- "accessibleDescribedBy": [1, "accessible-described-by"],
13173
- "accessibleLabelledBy": [1, "accessible-labelled-by"],
13174
- "accessibleDetails": [1, "accessible-details"],
13175
- "accessibleDescription": [1, "accessible-description"],
13176
- "gutterSize": [1, "gutter-size"],
14043
+ "margin": [1],
14044
+ "error": [1],
14045
+ "expand": [4],
14046
+ "value": [1040],
13177
14047
  "theme": [1025],
13178
- "heading": [1],
13179
- "headingLevel": [1, "heading-level"],
13180
- "icon": [1],
13181
- "color": [1],
13182
- "active": [1540],
13183
- "closeOnBlur": [1028, "close-on-blur"],
13184
- "open": [32],
13185
- "show": [64],
13186
- "hide": [64]
14048
+ "labelHidden": [4, "label-hidden"],
14049
+ "identifier": [1],
14050
+ "placeholder": [1],
14051
+ "caption": [1],
14052
+ "items": [1],
14053
+ "disabled": [516],
14054
+ "label": [1],
14055
+ "tooltip": [1],
14056
+ "tooltipDirection": [1, "tooltip-direction"],
14057
+ "processedItems": [32],
14058
+ "checkboxesVisible": [32],
14059
+ "activeDescendant": [32],
14060
+ "setFocus": [64]
13187
14061
  },
13188
- "$listeners$": [[8, "keyup", "handleKeyUp"]],
14062
+ "$listeners$": [[8, "click", "handleFocus"]],
13189
14063
  "$lazyBundleId$": "-",
13190
- "$attrsToReflect$": [["active", "active"]]
14064
+ "$attrsToReflect$": [["disabled", "disabled"]]
13191
14065
  }; }
13192
14066
  }
13193
14067
 
@@ -15277,6 +16151,48 @@ class DuetScrollable {
15277
16151
  }; }
15278
16152
  }
15279
16153
 
16154
+ const duetSectionLayoutCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-section-layout,*.sc-duet-section-layout::after,*.sc-duet-section-layout::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-section-layout-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;flex:1 0 auto;width:100%}/*!@:host(.duet-middle)*/.duet-middle.sc-duet-section-layout-h{display:flex}/*!@:host(.duet-middle) .duet-layout*/.duet-middle.sc-duet-section-layout-h .duet-layout.sc-duet-section-layout{padding:36px 28px !important}@media (min-width: 36em){/*!@:host(.duet-middle) .duet-layout*/.duet-middle.sc-duet-section-layout-h .duet-layout.sc-duet-section-layout{padding:48px 36px !important}}@media (min-width: 62em){/*!@:host(.duet-middle) .duet-layout*/.duet-middle.sc-duet-section-layout-h .duet-layout.sc-duet-section-layout{padding:56px !important}}/*!@:host(.duet-ie)*/.duet-ie.sc-duet-section-layout-h{height:100%}/*!@:host(.duet-middle.duet-ie)*/.duet-middle.duet-ie.sc-duet-section-layout-h{height:auto}/*!@.duet-layout*/.duet-layout.sc-duet-section-layout{position:relative;padding:0 16px;margin:48px auto 36px}@media (min-width: 36em){/*!@.duet-layout*/.duet-layout.sc-duet-section-layout{margin-top:72px}}/*!@.duet-layout.duet-m-0*/.duet-layout.duet-m-0.sc-duet-section-layout{margin-top:0 !important;margin-bottom:0 !important}@media (min-width: 36em){/*!@.duet-layout*/.duet-layout.sc-duet-section-layout{padding:0 28px}}@media (min-width: 62em){/*!@.duet-layout*/.duet-layout.sc-duet-section-layout{display:flex;flex-direction:row;padding:0 56px;margin-bottom:48px}}@media (min-width: 76.25em){/*!@.duet-layout*/.duet-layout.sc-duet-section-layout{max-width:1110px;padding:0}}/*!@.duet-main*/.duet-main.sc-duet-section-layout{display:block;width:100%}@media (min-width: 62em){/*!@.duet-main*/.duet-main.sc-duet-section-layout{min-width:600px;margin:0 auto}/*!@.has-sidebar .duet-main*/.has-sidebar.sc-duet-section-layout .duet-main.sc-duet-section-layout{max-width:734px;margin-right:20px}}";
16155
+
16156
+ class DuetSectionLayout {
16157
+ constructor(hostRef) {
16158
+ registerInstance(this, hostRef);
16159
+ /**
16160
+ * Controls the margin of the component.
16161
+ */
16162
+ this.margin = "auto";
16163
+ /**
16164
+ * Align container vertically in the middle when the space allows it.
16165
+ */
16166
+ this.middle = false;
16167
+ }
16168
+ /**
16169
+ * render() function.
16170
+ * Always the last one in the class.
16171
+ */
16172
+ render() {
16173
+ return (hAsync(Host, { class: {
16174
+ "duet-middle": this.middle,
16175
+ "duet-ie": isInternetExplorer(),
16176
+ } }, hAsync("div", { class: {
16177
+ "duet-layout": true,
16178
+ "duet-m-0": this.margin === "none",
16179
+ } }, hAsync("section", { class: "duet-main" }, hAsync("slot", null)))));
16180
+ }
16181
+ get element() { return getElement(this); }
16182
+ static get style() { return duetSectionLayoutCss; }
16183
+ static get cmpMeta() { return {
16184
+ "$flags$": 9,
16185
+ "$tagName$": "duet-section-layout",
16186
+ "$members$": {
16187
+ "margin": [1],
16188
+ "middle": [4]
16189
+ },
16190
+ "$listeners$": undefined,
16191
+ "$lazyBundleId$": "-",
16192
+ "$attrsToReflect$": []
16193
+ }; }
16194
+ }
16195
+
15280
16196
  const duetSelectCss = "@charset \"UTF-8\";*.sc-duet-select,*.sc-duet-select::after,*.sc-duet-select::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-select-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;max-width:100%;vertical-align:bottom}.sc-duet-select-h:last-child,.sc-duet-select-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-select-h{width:calc(50% - 16px - 3px)}.duet-expand.sc-duet-select-h{width:100% !important}}.duet-select-variation-tiny.sc-duet-select-h{position:relative;top:-2px;width:72px;margin:0 !important;vertical-align:baseline}.duet-m-0.sc-duet-select-h{margin:0 !important}duet-tooltip.sc-duet-select{position:absolute;top:12px;right:0}@media (min-width: 48em){duet-tooltip.sc-duet-select{position:relative;top:4px;right:auto}}.duet-select-placeholder.sc-duet-select{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:white}.duet-select-container.sc-duet-select{position:relative;width:100%}.duet-select-container.duet-select-variation-tiny.sc-duet-select{width:72px}.duet-select-wrapper.sc-duet-select{position:relative;width:100%;padding:15px 14px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.25}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-select-variation-tiny.sc-duet-select .duet-select-wrapper.sc-duet-select{width:81px;padding:0 !important}.duet-select-wrapper.sc-duet-select::after{content:\"  \"}.duet-select-wrapper.sc-duet-select select.sc-duet-select{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;width:100%;height:100%;padding:0;margin:0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;cursor:pointer;border:0;outline:none;opacity:0}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{border-color:#909599;box-shadow:0 0 0 1px #909599}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{border-color:#747475;box-shadow:0 0 0 1px #747475}.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{box-shadow:0 0 0 1px #e02a0d}.duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{border-color:#0077b3;outline:0;box-shadow:0 0 0 1px #0077b3;transition:none}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{border-color:#171c3a;box-shadow:0 0 0 1px #171c3a}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:#171c3a}.duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:#0077b3}.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{box-shadow:0 0 0 1px #e02a0d}.duet-select-wrapper.sc-duet-select select[disabled].sc-duet-select{cursor:default !important}.duet-select-wrapper.sc-duet-select select[disabled].sc-duet-select+.duet-select.sc-duet-select{color:#00294d !important;cursor:default !important;background:#f5f8fa !important;border-color:#f5f8fa !important;box-shadow:none !important;opacity:1 !important;-webkit-text-fill-color:#00294d !important}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select[disabled].sc-duet-select+.duet-select.sc-duet-select{color:#171c3a !important;background:#f5f5f7 !important;border-color:#f5f5f7 !important;-webkit-text-fill-color:#171c3a !important}.duet-select.sc-duet-select{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;display:block;width:100%;min-width:8rem;padding:12px 14px !important;padding-right:48px !important;overflow:hidden;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.5;color:#00294d;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:white;border:1px solid #909599;border-radius:4px;transition:150ms ease}.has-error.sc-duet-select .duet-select.sc-duet-select{border-color:#de2362 !important}.has-error.sc-duet-select .duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:#de2362 !important}.duet-theme-turva.has-error.sc-duet-select .duet-select.sc-duet-select{border-color:#e02a0d !important}.duet-theme-turva.has-error.sc-duet-select .duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:#e02a0d !important}.duet-theme-turva.sc-duet-select .duet-select.sc-duet-select{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a;border-color:#747475}.duet-select.sc-duet-select svg.sc-duet-select{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;color:#00294d;pointer-events:none;transform:translateY(-50%)}.duet-theme-turva.sc-duet-select .duet-select.sc-duet-select svg.sc-duet-select{color:#171c3a}.duet-select-variation-tiny.sc-duet-select .duet-select.sc-duet-select{width:72px;min-width:inherit;padding:0 !important;margin-bottom:-4px;overflow:visible;font-weight:600;text-align:center}.duet-select-variation-tiny.sc-duet-select .duet-select.sc-duet-select duet-icon.sc-duet-select{padding-left:10px}.duet-select-help.sc-duet-select{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#657787;border-radius:4px}.duet-select-help.sc-duet-select span.sc-duet-select{display:block;margin-top:8px}.duet-theme-turva.sc-duet-select .duet-select-help.sc-duet-select{color:#747475}.has-error.sc-duet-select .duet-select-help.sc-duet-select{color:#de2362}.duet-theme-turva.has-error.sc-duet-select .duet-select-help.sc-duet-select{color:#e02a0d}.duet-label-hidden.sc-duet-select duet-label.sc-duet-select{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}";
15281
16197
 
15282
16198
  function isOptionGroup(item) {
@@ -16154,20 +17070,6 @@ class DuetTabGroup {
16154
17070
 
16155
17071
  const duetTableCss = "duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-theme-turva table{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}duet-table td{-webkit-hyphens:auto;hyphens:auto;color:#00294d}duet-table.duet-theme-turva td{color:#171c3a}duet-table th{font-weight:600;line-height:1.25;color:#657787;text-align:left}duet-table.duet-theme-turva th{color:#747475}duet-table tbody th{font-weight:600;color:#00294d}duet-table.duet-theme-turva tbody th{color:#171c3a}duet-table .duet-table-action-row td:last-child{justify-self:end;padding-right:20px !important;white-space:nowrap}.duet-table-flattened table,.duet-table-flattened thead,.duet-table-flattened tbody,.duet-table-flattened tfoot,.duet-table-flattened th,.duet-table-flattened td,.duet-table-flattened tr{display:block}.duet-table-flattened thead tr{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-table-flattened td{line-height:1.25}.duet-table-flattened td:not(:last-child){margin-bottom:16px !important}.duet-table-flattened tbody td,.duet-table-flattened tbody th,.duet-table-flattened tfoot td{padding:0 !important;text-align:left !important}.duet-table-flattened tbody th{font-weight:600;line-height:1.25;color:#657787;text-align:left}.duet-table-flattened td[data-heading]::before{margin-bottom:4px !important;display:block;font-size:1rem;font-weight:600;color:#00294d;content:attr(data-heading)}.duet-table-flattened.duet-theme-turva td[data-heading]::before{color:#171c3a}.duet-table-sticky thead th{position:sticky;top:0;background:white}.duet-table-striped td,.duet-table-striped th{padding:20px !important}@media (max-width: 35.9375em){.duet-table-striped td,.duet-table-striped th{padding:20px 12px !important}}.duet-table-striped tbody th{background:white}.duet-table-striped.duet-table-sticky thead th{border-bottom:1px solid #e1e3e6}.duet-table-striped.duet-table-sticky.duet-theme-turva thead th{border-bottom-color:#e4e4e6}.duet-table-striped tbody:not(:first-of-type) th{padding-top:40px !important}.duet-table-striped tbody:only-of-type tr:nth-of-type(odd){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tfoot td{border-top:1px solid #e1e3e6}.duet-table-striped.duet-theme-turva tfoot td{border-top-color:#e4e4e6}.duet-table-striped.duet-table-flattened tbody:not(:first-of-type) th{padding-top:20px !important}.duet-table-striped.duet-table-flattened tr{padding:20px !important}.duet-table-striped.duet-table-flattened tfoot td{border-top:0}.duet-table-striped.duet-table-flattened tfoot tr{border-top:1px solid #e1e3e6}.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr{border-top-color:#e4e4e6}.duet-table-fixed th,.duet-table-minimal th,.duet-table-plain th{padding:16px !important;border-bottom:1px solid #657787}.duet-table-fixed th:first-child,.duet-table-minimal th:first-child,.duet-table-plain th:first-child{padding-left:0 !important}.duet-table-fixed th:last-child,.duet-table-minimal th:last-child,.duet-table-plain th:last-child{padding-right:0 !important}.duet-theme-turva.duet-table-fixed th,.duet-theme-turva.duet-table-minimal th,.duet-theme-turva.duet-table-plain th{border-bottom-color:#444445}.duet-table-fixed tbody th,.duet-table-minimal tbody th,.duet-table-plain tbody th{padding-top:40px !important;border-bottom-color:#e1e3e6}.duet-theme-turva.duet-table-fixed tbody th,.duet-theme-turva.duet-table-minimal tbody th,.duet-theme-turva.duet-table-plain tbody th{border-bottom-color:#e4e4e6}.duet-table-fixed td,.duet-table-minimal td,.duet-table-plain td{padding:16px !important}.duet-table-fixed td:first-child,.duet-table-minimal td:first-child,.duet-table-plain td:first-child{padding-left:0 !important}.duet-table-fixed td:last-child,.duet-table-minimal td:last-child,.duet-table-plain td:last-child{padding-right:0 !important}.duet-table-fixed tbody td,.duet-table-minimal tbody td,.duet-table-plain tbody td{border-bottom:1px solid #e1e3e6}.duet-theme-turva.duet-table-fixed tbody td,.duet-theme-turva.duet-table-minimal tbody td,.duet-theme-turva.duet-table-plain tbody td{border-bottom-color:#e4e4e6}.duet-table-flattened.duet-table-fixed tbody:first-of-type th,.duet-table-flattened.duet-table-minimal tbody:first-of-type th,.duet-table-flattened.duet-table-plain tbody:first-of-type th{padding-top:0 !important}.duet-table-flattened.duet-table-fixed td,.duet-table-flattened.duet-table-minimal td,.duet-table-flattened.duet-table-plain td,.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{border-bottom:0}.duet-table-flattened.duet-table-fixed tr,.duet-table-flattened.duet-table-minimal tr,.duet-table-flattened.duet-table-plain tr{padding:20px 0 !important}.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{padding-top:20px !important}.duet-table-flattened.duet-table-fixed tfoot td,.duet-table-flattened.duet-table-minimal tfoot td,.duet-table-flattened.duet-table-plain tfoot td{margin-bottom:4px !important}.duet-table-flattened.duet-table-fixed tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-minimal tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-plain tbody:not(:only-of-type) tr:first-child{border-bottom:0}.duet-table-plain.duet-table-flattened tbody tr{border-bottom:1px solid #e1e3e6}.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr{border-bottom-color:#e4e4e6}.duet-table-minimal tbody tr,.duet-table-minimal tbody tr td{vertical-align:top;border-bottom:0 none}.duet-table-minimal tbody tr:last-of-type,.duet-table-minimal tbody tr:last-of-type td{border-bottom:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened tbody tr,.duet-table-minimal.duet-table-flattened tbody tr td{border-bottom:0 none}.duet-table-minimal.duet-table-flattened tbody tr td[data-heading]::before{display:none}.duet-table-minimal.duet-table-flattened tfoot{border-top:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-fixed table{table-layout:fixed}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td,.duet-table-fixed tbody tr td:first-child{padding:4px !important;vertical-align:text-bottom;border-bottom:0 none}.duet-table-fixed thead{display:none}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td{border-bottom:0 none}.duet-table-fixed:not(.duet-table-flattened) tfoot{border-top:1px solid #e1e3e6}.duet-table-fixed:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-scrollable{position:relative;width:100%;overflow-x:auto;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;background-repeat:no-repeat;background-attachment:local, local, scroll, scroll;background-size:100px 100%, 100px 100%, 12px 100%, 12px 100%}.duet-table-selected-column{background:rgba(0, 119, 179, 0.08)}.duet-theme-turva .duet-table-selected-column{background:rgba(68, 68, 69, 0.08)}.duet-table-sortable tbody tr td:first-child,.duet-table-sortable thead tr th:first-child{padding:20px}.duet-table-sortable:not(.duet-table-flattened) tfoot{border-top:1px solid #e1e3e6}.duet-table-sortable:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-actions table{table-layout:auto}.duet-table-actions thead th:last-child{width:1px;white-space:nowrap}.duet-editable-table-table.duet-table-flattened tr{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:auto;gap:10px}.duet-editable-table-table.duet-table-flattened tr.duet-table-action-row td:last-child::before{padding:0;content:\"\"}.duet-editable-table-table.duet-table-flattened td{grid-column:1/2}.duet-editable-table-table.duet-table-flattened td:first-child{grid-row:1;grid-column:1}.duet-editable-table-table.duet-table-flattened td:last-child{grid-row:1;grid-column:2}";
16156
17072
 
16157
- // remove wrapping speech marks.
16158
- // media query tokens are wrapped in speech marks,
16159
- // which need to be removed before use with matchMedia.
16160
- const unwrap = (str) => str.substring(1, str.length - 1);
16161
- ({
16162
- none: "all",
16163
- "none-scrollable": "all",
16164
- small: unwrap(mediaQuerySmall),
16165
- medium: unwrap(mediaQueryMedium),
16166
- large: unwrap(mediaQueryLarge),
16167
- "x-large": unwrap(mediaQueryXLarge),
16168
- "xx-large": unwrap(mediaQueryXxLarge),
16169
- "xxx-large": unwrap(mediaQueryXxxLarge),
16170
- });
16171
17073
  const stickyTopValues = {
16172
17074
  none: 0,
16173
17075
  "with-links": parseFloat(sizeNavigation) * 16,
@@ -16652,6 +17554,235 @@ class DuetToggle {
16652
17554
  }; }
16653
17555
  }
16654
17556
 
17557
+ const duetToolbarCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-toolbar,*.sc-duet-toolbar::after,*.sc-duet-toolbar::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-toolbar-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%}/*!@.duet-toolbar*/.duet-toolbar.sc-duet-toolbar{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;padding:0 28px;background:white}/*!@.duet-toolbar ::slotted(*)*/.duet-toolbar .sc-duet-toolbar-s>*{display:flex;align-items:center;justify-content:center;height:100%}/*!@.duet-toolbar.duet-theme-turva*/.duet-toolbar.duet-theme-turva.sc-duet-toolbar{background:white}";
17558
+
17559
+ /**
17560
+ * @slot left - Slot for content in left side.
17561
+ * @slot right - Slot for content in right side.
17562
+ */
17563
+ class DuetToolbar {
17564
+ constructor(hostRef) {
17565
+ registerInstance(this, hostRef);
17566
+ /**
17567
+ * Theme.
17568
+ */
17569
+ this.theme = "";
17570
+ }
17571
+ /**
17572
+ * Component lifecycle events.
17573
+ */
17574
+ componentWillLoad() {
17575
+ inheritGlobalTheme(this);
17576
+ }
17577
+ /**
17578
+ * render() function
17579
+ * Always the last one in the class.
17580
+ */
17581
+ render() {
17582
+ return (hAsync(Host, null, hAsync("div", { class: { "duet-toolbar": true, "duet-theme-turva": this.theme === "turva" }, role: "menubar" }, hAsync("slot", { name: "left" }), hAsync("slot", { name: "right" }))));
17583
+ }
17584
+ get element() { return getElement(this); }
17585
+ static get style() { return duetToolbarCss; }
17586
+ static get cmpMeta() { return {
17587
+ "$flags$": 9,
17588
+ "$tagName$": "duet-toolbar",
17589
+ "$members$": {
17590
+ "theme": [1025]
17591
+ },
17592
+ "$listeners$": undefined,
17593
+ "$lazyBundleId$": "-",
17594
+ "$attrsToReflect$": []
17595
+ }; }
17596
+ }
17597
+
17598
+ const duetToolbarDropdownCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-toolbar-dropdown,*.sc-duet-toolbar-dropdown::after,*.sc-duet-toolbar-dropdown::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-toolbar-dropdown-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}/*!@.duet-toolbar-dropdown*/.duet-toolbar-dropdown.sc-duet-toolbar-dropdown{position:relative;z-index:1;height:100%}/*!@.duet-toolbar-dropdown button*/.duet-toolbar-dropdown.sc-duet-toolbar-dropdown button.sc-duet-toolbar-dropdown{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 16px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#004d80;text-align:center;text-decoration:none;cursor:pointer}/*!@.duet-toolbar-dropdown button .label*/.duet-toolbar-dropdown.sc-duet-toolbar-dropdown button.sc-duet-toolbar-dropdown .label.sc-duet-toolbar-dropdown{display:flex;gap:0.5rem;align-items:center;justify-content:center}/*!@.duet-toolbar-dropdown button:hover*/.duet-toolbar-dropdown.sc-duet-toolbar-dropdown button.sc-duet-toolbar-dropdown:hover{color:#00294d;background:#f3f9fc}/*!@.duet-toolbar-dropdown button.open .caret*/.duet-toolbar-dropdown.sc-duet-toolbar-dropdown button.open.sc-duet-toolbar-dropdown .caret.sc-duet-toolbar-dropdown{transform:rotate(180deg)}/*!@.duet-toolbar-dropdown button.active, .duet-toolbar-dropdown button.open*/.duet-toolbar-dropdown.sc-duet-toolbar-dropdown button.active.sc-duet-toolbar-dropdown,.duet-toolbar-dropdown.sc-duet-toolbar-dropdown button.open.sc-duet-toolbar-dropdown{color:#00294d}/*!@.duet-toolbar-dropdown button.active::after, .duet-toolbar-dropdown button.open::after*/.duet-toolbar-dropdown.sc-duet-toolbar-dropdown button.active.sc-duet-toolbar-dropdown::after,.duet-toolbar-dropdown.sc-duet-toolbar-dropdown button.open.sc-duet-toolbar-dropdown::after{position:absolute;top:auto;bottom:1px;left:0;display:block;width:100%;height:1px;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(1px)}/*!@.duet-toolbar-dropdown .items*/.duet-toolbar-dropdown.sc-duet-toolbar-dropdown .items.sc-duet-toolbar-dropdown{position:absolute;top:102%;right:0%;left:auto;z-index:600;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:175px;padding:1rem 0;color:#00294d;background:#f3f9fc;border-radius:0 0 8px 8px;box-shadow:0 6px 6px 0 rgba(0, 41, 77, 0.1)}/*!@.duet-toolbar-dropdown .items.hidden*/.duet-toolbar-dropdown.sc-duet-toolbar-dropdown .items.hidden.sc-duet-toolbar-dropdown{display:none}/*!@.duet-toolbar-dropdown.right .items*/.duet-toolbar-dropdown.right.sc-duet-toolbar-dropdown .items.sc-duet-toolbar-dropdown{right:auto;left:0%}/*!@.duet-toolbar-dropdown.duet-theme-turva button*/.duet-toolbar-dropdown.duet-theme-turva.sc-duet-toolbar-dropdown button.sc-duet-toolbar-dropdown{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#940925}/*!@.duet-toolbar-dropdown.duet-theme-turva button:hover*/.duet-toolbar-dropdown.duet-theme-turva.sc-duet-toolbar-dropdown button.sc-duet-toolbar-dropdown:hover{color:#171c3a;background:#f5f5f7}/*!@.duet-toolbar-dropdown.duet-theme-turva button.active*/.duet-toolbar-dropdown.duet-theme-turva.sc-duet-toolbar-dropdown button.active.sc-duet-toolbar-dropdown{color:#171c3a}/*!@.duet-toolbar-dropdown.duet-theme-turva button.active::after*/.duet-toolbar-dropdown.duet-theme-turva.sc-duet-toolbar-dropdown button.active.sc-duet-toolbar-dropdown::after{background:#c60c30}/*!@.duet-toolbar-dropdown.duet-theme-turva .items*/.duet-toolbar-dropdown.duet-theme-turva.sc-duet-toolbar-dropdown .items.sc-duet-toolbar-dropdown{background:#f5f5f7}";
17599
+
17600
+ class DuetToolbarDropdown {
17601
+ constructor(hostRef) {
17602
+ registerInstance(this, hostRef);
17603
+ this.duetToolbarDropdownEvent = createEvent$2(this, "duetToolbarDropdownEvent", 7);
17604
+ /**
17605
+ * Theme.
17606
+ */
17607
+ this.theme = "";
17608
+ /**
17609
+ * Active
17610
+ */
17611
+ this.active = false;
17612
+ /**
17613
+ * Open
17614
+ */
17615
+ this.open = false;
17616
+ /**
17617
+ * Icon
17618
+ */
17619
+ this.icon = undefined;
17620
+ this.toggleMenu = (e) => {
17621
+ const toggle = !this.open;
17622
+ this.open = toggle;
17623
+ this.duetToolbarDropdownEvent.emit({
17624
+ originalEvent: e,
17625
+ data: { element: this.element, open: this.open },
17626
+ component: "duet-toolbar-dropdown",
17627
+ });
17628
+ };
17629
+ this.onClick = (e) => {
17630
+ this.toggleMenu(e);
17631
+ e.stopImmediatePropagation();
17632
+ };
17633
+ }
17634
+ /**
17635
+ * Component lifecycle events.
17636
+ */
17637
+ componentWillLoad() {
17638
+ inheritGlobalTheme(this);
17639
+ }
17640
+ /**
17641
+ * render() function
17642
+ * Always the last one in the class.
17643
+ */
17644
+ render() {
17645
+ let itemsAlign = "right";
17646
+ if (this.element && this.element.parentElement) {
17647
+ itemsAlign = this.element.parentElement.getAttribute("slot") === "left" ? "right" : "left";
17648
+ }
17649
+ return (hAsync(Host, null, hAsync("div", { class: {
17650
+ "duet-toolbar-dropdown": true,
17651
+ "duet-theme-turva": this.theme === "turva",
17652
+ [itemsAlign]: true,
17653
+ } }, hAsync("button", { "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
17654
+ active: this.active,
17655
+ open: this.open,
17656
+ }, onClick: this.onClick }, this.icon && hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }), hAsync("div", { class: "label" }, hAsync("slot", { name: "label" }), hAsync("duet-icon", { class: "caret", name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), hAsync("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
17657
+ items: true,
17658
+ hidden: !this.open,
17659
+ } }, hAsync("slot", null)))));
17660
+ }
17661
+ get element() { return getElement(this); }
17662
+ static get style() { return duetToolbarDropdownCss; }
17663
+ static get cmpMeta() { return {
17664
+ "$flags$": 9,
17665
+ "$tagName$": "duet-toolbar-dropdown",
17666
+ "$members$": {
17667
+ "theme": [1025],
17668
+ "active": [1540],
17669
+ "open": [1540],
17670
+ "icon": [1537]
17671
+ },
17672
+ "$listeners$": undefined,
17673
+ "$lazyBundleId$": "-",
17674
+ "$attrsToReflect$": [["active", "active"], ["open", "open"], ["icon", "icon"]]
17675
+ }; }
17676
+ }
17677
+
17678
+ const duetToolbarDropdownLinkCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-toolbar-dropdown-link,*.sc-duet-toolbar-dropdown-link::after,*.sc-duet-toolbar-dropdown-link::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-toolbar-dropdown-link-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}/*!@.duet-toolbar-dropdown-link*/.duet-toolbar-dropdown-link.sc-duet-toolbar-dropdown-link{display:flex;flex-direction:row;gap:0.5rem;align-items:center;justify-content:flex-start;height:100%;padding:0.5rem 20px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#00294d;text-align:center;text-decoration:none}/*!@.duet-toolbar-dropdown-link.duet-theme-turva*/.duet-toolbar-dropdown-link.duet-theme-turva.sc-duet-toolbar-dropdown-link{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}/*!@.duet-toolbar-dropdown-link.active, .duet-toolbar-dropdown-link.active:hover*/.duet-toolbar-dropdown-link.active.sc-duet-toolbar-dropdown-link,.duet-toolbar-dropdown-link.active.sc-duet-toolbar-dropdown-link:hover{color:white;background:#0077b3}/*!@.duet-toolbar-dropdown-link.active.duet-theme-turva, .duet-toolbar-dropdown-link.active:hover.duet-theme-turva*/.duet-toolbar-dropdown-link.active.duet-theme-turva.sc-duet-toolbar-dropdown-link,.duet-toolbar-dropdown-link.active.sc-duet-toolbar-dropdown-link:hover.duet-theme-turva{color:white;background:#c60c30}/*!@.duet-toolbar-dropdown-link:hover*/.duet-toolbar-dropdown-link.sc-duet-toolbar-dropdown-link:hover{background:#e6f2f8}/*!@.duet-toolbar-dropdown-link:hover.duet-theme-turva*/.duet-toolbar-dropdown-link.sc-duet-toolbar-dropdown-link:hover.duet-theme-turva{background:#e4e4e6}";
17679
+
17680
+ class DuetToolbarDropdownLink {
17681
+ constructor(hostRef) {
17682
+ registerInstance(this, hostRef);
17683
+ /**
17684
+ * Theme.
17685
+ */
17686
+ this.theme = "";
17687
+ /**
17688
+ * Href
17689
+ */
17690
+ this.href = "#";
17691
+ /**
17692
+ * Icon
17693
+ */
17694
+ this.icon = undefined;
17695
+ /**
17696
+ * Active
17697
+ */
17698
+ this.active = false;
17699
+ }
17700
+ /**
17701
+ * Component lifecycle events.
17702
+ */
17703
+ componentWillLoad() {
17704
+ inheritGlobalTheme(this);
17705
+ }
17706
+ /**
17707
+ * render() function
17708
+ * Always the last one in the class.
17709
+ */
17710
+ render() {
17711
+ return (hAsync(Host, null, hAsync("a", { class: {
17712
+ "duet-toolbar-dropdown-link": true,
17713
+ "duet-theme-turva": this.theme === "turva",
17714
+ active: this.active,
17715
+ }, href: this.href, role: "menuitem" }, this.icon && hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none" }), hAsync("slot", null))));
17716
+ }
17717
+ get element() { return getElement(this); }
17718
+ static get style() { return duetToolbarDropdownLinkCss; }
17719
+ static get cmpMeta() { return {
17720
+ "$flags$": 9,
17721
+ "$tagName$": "duet-toolbar-dropdown-link",
17722
+ "$members$": {
17723
+ "theme": [1025],
17724
+ "href": [1025],
17725
+ "icon": [1537],
17726
+ "active": [1028]
17727
+ },
17728
+ "$listeners$": undefined,
17729
+ "$lazyBundleId$": "-",
17730
+ "$attrsToReflect$": [["icon", "icon"]]
17731
+ }; }
17732
+ }
17733
+
17734
+ const duetToolbarLinkCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-toolbar-link,*.sc-duet-toolbar-link::after,*.sc-duet-toolbar-link::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-toolbar-link-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}/*!@.duet-toolbar-link*/.duet-toolbar-link.sc-duet-toolbar-link{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 16px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#004d80;text-align:center;text-decoration:none}/*!@.duet-toolbar-link.duet-theme-turva*/.duet-toolbar-link.duet-theme-turva.sc-duet-toolbar-link{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#940925}/*!@.duet-toolbar-link:hover*/.duet-toolbar-link.sc-duet-toolbar-link:hover{color:#00294d;background:#f3f9fc}/*!@.duet-toolbar-link:hover.duet-theme-turva*/.duet-toolbar-link.sc-duet-toolbar-link:hover.duet-theme-turva{color:#171c3a;background:#f5f5f7}/*!@.duet-toolbar-link.active*/.duet-toolbar-link.active.sc-duet-toolbar-link{color:#00294d}/*!@.duet-toolbar-link.active::after*/.duet-toolbar-link.active.sc-duet-toolbar-link::after{position:absolute;top:auto;bottom:1px;left:0;display:block;width:100%;height:1px;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(1px)}/*!@.duet-toolbar-link.active::after.duet-theme-turva*/.duet-toolbar-link.active.sc-duet-toolbar-link::after.duet-theme-turva{background:#c60c30}/*!@.duet-toolbar-link.active.duet-theme-turva*/.duet-toolbar-link.active.duet-theme-turva.sc-duet-toolbar-link{color:#171c3a}/*!@.duet-toolbar-link.active.duet-theme-turva::after*/.duet-toolbar-link.active.duet-theme-turva.sc-duet-toolbar-link::after{background:#c60c30}";
17735
+
17736
+ class DuetToolbarLink {
17737
+ constructor(hostRef) {
17738
+ registerInstance(this, hostRef);
17739
+ /**
17740
+ * Theme.
17741
+ */
17742
+ this.theme = "";
17743
+ /**
17744
+ * Active
17745
+ */
17746
+ this.active = false;
17747
+ /**
17748
+ * Href
17749
+ */
17750
+ this.href = "#";
17751
+ /**
17752
+ * Icon
17753
+ */
17754
+ this.icon = undefined;
17755
+ }
17756
+ /**
17757
+ * Component lifecycle events.
17758
+ */
17759
+ componentWillLoad() {
17760
+ inheritGlobalTheme(this);
17761
+ }
17762
+ /**
17763
+ * render() function
17764
+ * Always the last one in the class.
17765
+ */
17766
+ render() {
17767
+ return (hAsync(Host, null, hAsync("a", { class: { "duet-toolbar-link": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.href }, this.icon && hAsync("duet-icon", { size: "x-small", name: this.icon, margin: "none" }), hAsync("slot", null))));
17768
+ }
17769
+ get element() { return getElement(this); }
17770
+ static get style() { return duetToolbarLinkCss; }
17771
+ static get cmpMeta() { return {
17772
+ "$flags$": 9,
17773
+ "$tagName$": "duet-toolbar-link",
17774
+ "$members$": {
17775
+ "theme": [1025],
17776
+ "active": [1028],
17777
+ "href": [1025],
17778
+ "icon": [1537]
17779
+ },
17780
+ "$listeners$": undefined,
17781
+ "$lazyBundleId$": "-",
17782
+ "$attrsToReflect$": [["icon", "icon"]]
17783
+ }; }
17784
+ }
17785
+
16655
17786
  const duetTooltipCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-tooltip,*.sc-duet-tooltip::after,*.sc-duet-tooltip::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-tooltip-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;z-index:200;display:inline-flex;width:auto;margin-top:-16px !important;margin-left:-3px !important;-webkit-tap-highlight-color:transparent}/*!@.duet-tooltip*/.duet-tooltip.sc-duet-tooltip{position:absolute;right:-21px;bottom:100%;z-index:950;display:block;width:282px;min-height:48px;max-height:340px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#00294d;visibility:hidden;background:white;border:1px solid #e1e3e6;border-radius:4px;box-shadow:0 2px 10px 0 rgba(0, 41, 77, 0.07);opacity:0;transition:300ms ease;transform:scale(0.9) translateZ(0) translateY(20px);transform-origin:100% 100%}/*!@.duet-tooltip.duet-theme-turva*/.duet-tooltip.duet-theme-turva.sc-duet-tooltip{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a;border-color:#e4e4e6;box-shadow:0 2px 10px 0 rgba(117, 117, 117, 0.13)}/*!@.duet-tooltip::after*/.duet-tooltip.sc-duet-tooltip::after{position:absolute;right:22px;bottom:-20px;z-index:200;width:0;height:0;content:\"\";border:10px solid transparent;border-top:10px solid white}/*!@.duet-tooltip::before*/.duet-tooltip.sc-duet-tooltip::before{position:absolute;right:21px;bottom:-22px;z-index:100;width:0;height:0;content:\"\";border:11px solid transparent;border-top:11px solid #e1e3e6}/*!@.duet-theme-turva .duet-tooltip::before*/.duet-theme-turva.sc-duet-tooltip .duet-tooltip.sc-duet-tooltip::before{border-top:11px solid #e4e4e6}/*!@.duet-tooltip.duet-tooltip-down*/.duet-tooltip.duet-tooltip-down.sc-duet-tooltip{top:100%;bottom:auto;transform:scale(0.9) translateZ(0) translateY(-20px);transform-origin:100% 0}/*!@.duet-tooltip.duet-tooltip-down::after*/.duet-tooltip.duet-tooltip-down.sc-duet-tooltip::after{top:-20px;bottom:auto;border:10px solid transparent;border-bottom:10px solid white}/*!@.duet-tooltip.duet-tooltip-down::before*/.duet-tooltip.duet-tooltip-down.sc-duet-tooltip::before{top:-22px;bottom:auto;border:11px solid transparent;border-bottom:11px solid #e1e3e6}/*!@.duet-theme-turva .duet-tooltip.duet-tooltip-down::before*/.duet-theme-turva.sc-duet-tooltip .duet-tooltip.duet-tooltip-down.sc-duet-tooltip::before{border-bottom:11px solid #e4e4e6}/*!@.duet-tooltip.duet-tooltip-left*/.duet-tooltip.duet-tooltip-left.sc-duet-tooltip{right:-21px !important;transform-origin:100% 100% !important}/*!@.duet-tooltip.duet-tooltip-left::after*/.duet-tooltip.duet-tooltip-left.sc-duet-tooltip::after{right:22px !important;transform:none !important}/*!@.duet-tooltip.duet-tooltip-left::before*/.duet-tooltip.duet-tooltip-left.sc-duet-tooltip::before{right:21px !important;transform:none !important}/*!@.duet-tooltip.duet-tooltip-right*/.duet-tooltip.duet-tooltip-right.sc-duet-tooltip{right:auto !important;left:-9px !important;transform-origin:100% 100% !important}/*!@.duet-tooltip.duet-tooltip-right::after*/.duet-tooltip.duet-tooltip-right.sc-duet-tooltip::after{right:auto !important;left:22px !important;transform:none !important}/*!@.duet-tooltip.duet-tooltip-right::before*/.duet-tooltip.duet-tooltip-right.sc-duet-tooltip::before{right:auto !important;left:21px !important;transform:none !important}/*!@.duet-tooltip.duet-tooltip-has-label*/.duet-tooltip.duet-tooltip-has-label.sc-duet-tooltip{right:auto !important;left:0;width:282px !important;transform-origin:0 0 !important}/*!@.duet-tooltip.duet-tooltip-has-label::after*/.duet-tooltip.duet-tooltip-has-label.sc-duet-tooltip::after{right:auto !important;left:1px !important;transform:none !important}/*!@.duet-tooltip.duet-tooltip-has-label::before*/.duet-tooltip.duet-tooltip-has-label.sc-duet-tooltip::before{right:auto !important;left:0 !important;transform:none !important}/*!@.duet-tooltip.duet-tooltip-active*/.duet-tooltip.duet-tooltip-active.sc-duet-tooltip{visibility:visible;opacity:1;transition-property:transform, opacity;transform:scale(1.0001) translateZ(0) translateY(-8px)}/*!@.duet-tooltip.duet-tooltip-active.duet-tooltip-down*/.duet-tooltip.duet-tooltip-active.duet-tooltip-down.sc-duet-tooltip{transform:scale(1.0001) translateZ(0) translateY(8px)}/*!@.duet-tooltip-button*/.duet-tooltip-button.sc-duet-tooltip{z-index:100;display:inline-block;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 !important;margin-right:-12px;line-height:normal !important;color:#0077b3;white-space:nowrap;cursor:pointer;background:transparent !important;border-radius:4px}/*!@.duet-tooltip-button.duet-theme-turva*/.duet-tooltip-button.duet-theme-turva.sc-duet-tooltip{color:#c60c30}/*!@.duet-tooltip-button:hover*/.duet-tooltip-button.sc-duet-tooltip:hover{color:#004d80}/*!@.duet-tooltip-button:hover.duet-theme-turva*/.duet-tooltip-button.sc-duet-tooltip:hover.duet-theme-turva{color:#940925}/*!@.duet-tooltip-button:focus*/.duet-tooltip-button.sc-duet-tooltip:focus{background:transparent !important;outline:0}/*!@:host(.user-is-tabbing) .duet-tooltip-button:focus*/.user-is-tabbing.sc-duet-tooltip-h .duet-tooltip-button.sc-duet-tooltip:focus{background:transparent !important;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3 !important}/*!@:host(.user-is-tabbing) .duet-tooltip-button.duet-theme-turva:focus*/.user-is-tabbing.sc-duet-tooltip-h .duet-tooltip-button.duet-theme-turva.sc-duet-tooltip:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a !important}/*!@.duet-tooltip-button svg*/.duet-tooltip-button.sc-duet-tooltip svg.sc-duet-tooltip{width:20px;height:20px;pointer-events:none}/*!@.duet-tooltip-button-has-label*/.duet-tooltip-button-has-label.sc-duet-tooltip{margin-right:0}/*!@.duet-tooltip-scrollable*/.duet-tooltip-scrollable.sc-duet-tooltip{padding:20px !important;width:100%;max-height:250px;padding-right:25px !important;overflow-y:auto;-webkit-hyphens:auto;hyphens:auto;border-radius:4px;-webkit-overflow-scrolling:touch}/*!@.duet-tooltip-scrollable:focus*/.duet-tooltip-scrollable.sc-duet-tooltip:focus{outline:none}/*!@:host(.user-is-tabbing) .duet-tooltip-scrollable:focus*/.user-is-tabbing.sc-duet-tooltip-h .duet-tooltip-scrollable.sc-duet-tooltip:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-tooltip-scrollable:focus*/.user-is-tabbing.sc-duet-tooltip-h .duet-theme-turva.sc-duet-tooltip .duet-tooltip-scrollable.sc-duet-tooltip:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-tooltip-scrollable::-webkit-scrollbar*/.duet-tooltip-scrollable.sc-duet-tooltip::-webkit-scrollbar{width:4px}/*!@.duet-tooltip-scrollable::-webkit-scrollbar-track*/.duet-tooltip-scrollable.sc-duet-tooltip::-webkit-scrollbar-track{border-radius:4px}/*!@.duet-tooltip-scrollable::-webkit-scrollbar-thumb*/.duet-tooltip-scrollable.sc-duet-tooltip::-webkit-scrollbar-thumb{background:#e1e3e6;border-radius:4px}/*!@.duet-theme-turva .duet-tooltip-scrollable::-webkit-scrollbar-thumb*/.duet-theme-turva.sc-duet-tooltip .duet-tooltip-scrollable.sc-duet-tooltip::-webkit-scrollbar-thumb{background:#e4e4e6}/*!@.duet-tooltip-label*/.duet-tooltip-label.sc-duet-tooltip{position:relative;z-index:100;display:inline-block;max-width:calc(100% - 30px);margin-left:12px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.25;text-align:left;white-space:normal;vertical-align:top}/*!@.duet-theme-turva .duet-tooltip-label*/.duet-theme-turva.sc-duet-tooltip .duet-tooltip-label.sc-duet-tooltip{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}/*!@.duet-tooltip-close*/.duet-tooltip-close.sc-duet-tooltip{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:17px;height:17px;min-height:0 !important;padding:0 !important;margin:0 !important;line-height:normal;color:#00294d;cursor:pointer;background:#f5f8fa;border-radius:50%;-webkit-appearance:none;appearance:none}/*!@.duet-tooltip-close:focus*/.duet-tooltip-close.sc-duet-tooltip:focus{outline:none;box-shadow:0 0 0 2px #0077b3}/*!@.duet-theme-turva .duet-tooltip-close:focus*/.duet-theme-turva.sc-duet-tooltip .duet-tooltip-close.sc-duet-tooltip:focus{color:#171c3a;box-shadow:0 0 0 2px #171c3a}@media (min-width: 48em){/*!@.duet-tooltip.duet-mq-medium*/.duet-tooltip.duet-mq-medium.sc-duet-tooltip{right:-148px;width:320px;transform-origin:50% 100%}/*!@.duet-tooltip.duet-mq-medium::after*/.duet-tooltip.duet-mq-medium.sc-duet-tooltip::after{right:50%;transform:translateX(50%)}/*!@.duet-tooltip.duet-mq-medium::before*/.duet-tooltip.duet-mq-medium.sc-duet-tooltip::before{right:50%;transform:translateX(50%)}/*!@.duet-tooltip.duet-mq-medium.duet-tooltip-down*/.duet-tooltip.duet-mq-medium.duet-tooltip-down.sc-duet-tooltip{transform-origin:50% 0}}@media (min-width: 62em){/*!@.duet-tooltip.duet-mq-large*/.duet-tooltip.duet-mq-large.sc-duet-tooltip{right:-148px;width:320px;transform-origin:50% 100%}/*!@.duet-tooltip.duet-mq-large::after*/.duet-tooltip.duet-mq-large.sc-duet-tooltip::after{right:50%;transform:translateX(50%)}/*!@.duet-tooltip.duet-mq-large::before*/.duet-tooltip.duet-mq-large.sc-duet-tooltip::before{right:50%;transform:translateX(50%)}/*!@.duet-tooltip.duet-mq-large.duet-tooltip-down*/.duet-tooltip.duet-mq-large.duet-tooltip-down.sc-duet-tooltip{transform-origin:50% 0}}";
16656
17787
 
16657
17788
  class DuetTooltip {
@@ -18598,6 +19729,7 @@ registerComponents([
18598
19729
  DuetGrid,
18599
19730
  DuetGridItem,
18600
19731
  DuetHeader,
19732
+ DuetHeaderMenuDropdown,
18601
19733
  DuetHeading,
18602
19734
  DuetHero,
18603
19735
  DuetIcon,
@@ -18608,7 +19740,16 @@ registerComponents([
18608
19740
  DuetList,
18609
19741
  DuetListItem,
18610
19742
  DuetLogo,
19743
+ DuetMenuBar$1,
19744
+ DuetMenuBar,
19745
+ DuetMenuBarDropdown,
19746
+ DuetMenuBarDropdownLink,
19747
+ DuetMenuBarLink,
19748
+ DuetMenuBarMenu,
19749
+ DuetMenuBarMenuDropdownLink,
19750
+ DuetMenuBarMenuLink,
18611
19751
  DuetModal,
19752
+ DuetMultiselect,
18612
19753
  DuetNotification,
18613
19754
  DuetNotificationDrawer,
18614
19755
  DuetNumberInput,
@@ -18620,6 +19761,7 @@ registerComponents([
18620
19761
  DuetRangeSlider,
18621
19762
  DuetRangeStepper,
18622
19763
  DuetScrollable,
19764
+ DuetSectionLayout,
18623
19765
  DuetSelect,
18624
19766
  DuetSpacer,
18625
19767
  DuetSpinner,
@@ -18630,6 +19772,10 @@ registerComponents([
18630
19772
  DuetTable,
18631
19773
  DuetTextarea,
18632
19774
  DuetToggle,
19775
+ DuetToolbar,
19776
+ DuetToolbarDropdown,
19777
+ DuetToolbarDropdownLink,
19778
+ DuetToolbarLink,
18633
19779
  DuetTooltip,
18634
19780
  DuetTray,
18635
19781
  DuetUpload,