@duetds/components 6.2.12 → 6.3.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 (523) hide show
  1. package/hydrate/index.js +570 -20
  2. package/lib/cjs/duet-action-button.cjs.entry.js +1 -1
  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 +1 -1
  8. package/lib/cjs/duet-caption_4.cjs.entry.js +1 -1
  9. package/lib/cjs/duet-card.cjs.entry.js +1 -1
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
  12. package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
  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 +1 -1
  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 +1 -1
  22. package/lib/cjs/duet-header_2.cjs.entry.js +1 -1
  23. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-icon.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +1 -1
  29. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +1 -1
  30. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +38 -3
  31. package/lib/cjs/duet-menu-bar.cjs.entry.js +28 -3
  32. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  33. package/lib/cjs/duet-multiselect.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-nav.cjs.entry.js +3 -3
  35. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-pagination_2.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  41. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  42. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-slideout-lang.cjs.entry.js +46 -0
  45. package/lib/cjs/duet-slideout-link.cjs.entry.js +44 -0
  46. package/lib/cjs/duet-slideout-panel-dropdown-link.cjs.entry.js +41 -0
  47. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +55 -0
  48. package/lib/cjs/duet-slideout-panel-link.cjs.entry.js +41 -0
  49. package/lib/cjs/duet-slideout-panel.cjs.entry.js +89 -0
  50. package/lib/cjs/duet-slideout.cjs.entry.js +80 -0
  51. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  52. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +2 -2
  53. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +38 -3
  54. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +38 -3
  55. package/lib/cjs/duet-submenu-bar.cjs.entry.js +12 -3
  56. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  57. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  58. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -1
  59. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +1 -1
  60. package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -1
  61. package/lib/cjs/duet-toolbar.cjs.entry.js +2 -2
  62. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  63. package/lib/cjs/duet-tray.cjs.entry.js +1 -1
  64. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  65. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  66. package/lib/cjs/duet.cjs.js +2 -2
  67. package/lib/cjs/{focus-utils-a7d2c754.js → focus-utils-9b534879.js} +1 -1
  68. package/lib/cjs/{index-3b9061fc.js → index-e3c1cf60.js} +1 -1
  69. package/lib/cjs/loader.cjs.js +2 -2
  70. package/lib/collection/collection-manifest.json +7 -0
  71. package/lib/collection/components/duet-menu-bar/duet-menu-bar.css +81 -4
  72. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +51 -3
  73. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.css +22 -11
  74. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +41 -1
  75. package/lib/collection/components/duet-nav/duet-nav.css +18 -0
  76. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  77. package/lib/collection/components/duet-slideout/duet-slideout.css +123 -0
  78. package/lib/collection/components/duet-slideout/duet-slideout.js +167 -0
  79. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.css +55 -0
  80. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +73 -0
  81. package/lib/collection/components/duet-slideout-link/duet-slideout-link.css +78 -0
  82. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +144 -0
  83. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.css +149 -0
  84. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +175 -0
  85. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.css +90 -0
  86. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +128 -0
  87. package/lib/collection/components/duet-slideout-panel-dropdown-link/duet-slideout-panel-dropdown-link.css +47 -0
  88. package/lib/collection/components/duet-slideout-panel-dropdown-link/duet-slideout-panel-dropdown-link.js +123 -0
  89. package/lib/collection/components/duet-slideout-panel-link/duet-slideout-panel-link.css +47 -0
  90. package/lib/collection/components/duet-slideout-panel-link/duet-slideout-panel-link.js +123 -0
  91. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.css +88 -1
  92. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +28 -1
  93. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.css +87 -47
  94. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +41 -1
  95. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.css +17 -9
  96. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.css +33 -10
  97. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +41 -1
  98. package/lib/collection/components/duet-toolbar/duet-toolbar.css +6 -0
  99. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  100. package/lib/dist-custom-elements/duet-alert.js +1 -1
  101. package/lib/dist-custom-elements/duet-badge.js +1 -1
  102. package/lib/dist-custom-elements/duet-breadcrumb.js +2 -2
  103. package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
  104. package/lib/dist-custom-elements/duet-button.js +1 -1
  105. package/lib/dist-custom-elements/duet-caption.js +1 -1
  106. package/lib/dist-custom-elements/duet-card.js +3 -3
  107. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  108. package/lib/dist-custom-elements/duet-choice-group.js +6 -6
  109. package/lib/dist-custom-elements/duet-choice.js +5 -5
  110. package/lib/dist-custom-elements/duet-collapsible.js +2 -2
  111. package/lib/dist-custom-elements/duet-combobox.js +2 -2
  112. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  113. package/lib/dist-custom-elements/duet-date-picker.js +8 -8
  114. package/lib/dist-custom-elements/duet-divider.js +1 -1
  115. package/lib/dist-custom-elements/duet-editable-table.js +1 -1
  116. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  117. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  118. package/lib/dist-custom-elements/duet-footer.js +4 -4
  119. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  120. package/lib/dist-custom-elements/duet-grid.js +1 -1
  121. package/lib/dist-custom-elements/duet-header.js +8 -8
  122. package/lib/dist-custom-elements/duet-heading.js +1 -1
  123. package/lib/dist-custom-elements/duet-hero.js +9 -9
  124. package/lib/dist-custom-elements/duet-icon.js +1 -1
  125. package/lib/dist-custom-elements/duet-input.js +1 -1
  126. package/lib/dist-custom-elements/duet-label.js +1 -1
  127. package/lib/dist-custom-elements/duet-layout.js +1 -1
  128. package/lib/dist-custom-elements/duet-link.js +1 -1
  129. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  130. package/lib/dist-custom-elements/duet-list.js +1 -1
  131. package/lib/dist-custom-elements/duet-logo.js +1 -1
  132. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
  133. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -2
  134. package/lib/dist-custom-elements/duet-menu-bar-link.js +41 -5
  135. package/lib/dist-custom-elements/duet-menu-bar.js +33 -5
  136. package/lib/dist-custom-elements/duet-modal.js +7 -7
  137. package/lib/dist-custom-elements/duet-multiselect.js +8 -8
  138. package/lib/dist-custom-elements/duet-nav.js +3 -3
  139. package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
  140. package/lib/dist-custom-elements/duet-notification.js +2 -2
  141. package/lib/dist-custom-elements/duet-number-input.js +7 -7
  142. package/lib/dist-custom-elements/duet-pagination.js +7 -7
  143. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  144. package/lib/dist-custom-elements/duet-progress.js +1 -1
  145. package/lib/dist-custom-elements/duet-radio-group.js +6 -6
  146. package/lib/dist-custom-elements/duet-radio.js +1 -1
  147. package/lib/dist-custom-elements/duet-range-slider.js +2 -2
  148. package/lib/dist-custom-elements/duet-range-stepper.js +4 -4
  149. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  150. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  151. package/lib/dist-custom-elements/duet-select.js +1 -1
  152. package/lib/dist-custom-elements/duet-slideout-lang.d.ts +11 -0
  153. package/lib/dist-custom-elements/duet-slideout-lang.js +73 -0
  154. package/lib/dist-custom-elements/duet-slideout-link.d.ts +11 -0
  155. package/lib/dist-custom-elements/duet-slideout-link.js +70 -0
  156. package/lib/dist-custom-elements/duet-slideout-panel-dropdown-link.d.ts +11 -0
  157. package/lib/dist-custom-elements/duet-slideout-panel-dropdown-link.js +66 -0
  158. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.d.ts +11 -0
  159. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +79 -0
  160. package/lib/dist-custom-elements/duet-slideout-panel-link.d.ts +11 -0
  161. package/lib/dist-custom-elements/duet-slideout-panel-link.js +66 -0
  162. package/lib/dist-custom-elements/duet-slideout-panel.d.ts +11 -0
  163. package/lib/dist-custom-elements/duet-slideout-panel.js +114 -0
  164. package/lib/dist-custom-elements/duet-slideout.d.ts +11 -0
  165. package/lib/dist-custom-elements/duet-slideout.js +104 -0
  166. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  167. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  168. package/lib/dist-custom-elements/duet-step.js +4 -4
  169. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  170. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +3 -3
  171. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +41 -5
  172. package/lib/dist-custom-elements/duet-submenu-bar-link.js +41 -5
  173. package/lib/dist-custom-elements/duet-submenu-bar.js +21 -5
  174. package/lib/dist-custom-elements/duet-tab-group.js +8 -8
  175. package/lib/dist-custom-elements/duet-tab.js +1 -1
  176. package/lib/dist-custom-elements/duet-table.js +1 -1
  177. package/lib/dist-custom-elements/duet-textarea.js +8 -8
  178. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  179. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
  180. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +2 -2
  181. package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
  182. package/lib/dist-custom-elements/duet-toolbar.js +2 -2
  183. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  184. package/lib/dist-custom-elements/duet-tray.js +3 -3
  185. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  186. package/lib/dist-custom-elements/duet-upload.js +18 -18
  187. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  188. package/lib/dist-custom-elements/index.d.ts +7 -0
  189. package/lib/dist-custom-elements/index.js +8 -1
  190. package/lib/dist-custom-elements/{p-269f2d54.js → p-002a7b54.js} +1 -1
  191. package/lib/dist-custom-elements/{p-cb3ce45a.js → p-0cc4772c.js} +1 -1
  192. package/lib/dist-custom-elements/{p-ff277e16.js → p-11ad0889.js} +3 -3
  193. package/lib/dist-custom-elements/{p-b687b9e9.js → p-229400bc.js} +3 -3
  194. package/lib/dist-custom-elements/{p-481d68a7.js → p-23f98750.js} +7 -7
  195. package/lib/dist-custom-elements/{p-fb9012e7.js → p-297eeb05.js} +3 -3
  196. package/lib/dist-custom-elements/{p-3852af80.js → p-2bfaa4ba.js} +1 -1
  197. package/lib/dist-custom-elements/{p-ea0aa8c4.js → p-2c934039.js} +1 -1
  198. package/lib/dist-custom-elements/{p-7a1bbcab.js → p-3ed91a6e.js} +1 -1
  199. package/lib/dist-custom-elements/{p-438b708f.js → p-44a8cf2e.js} +1 -1
  200. package/lib/dist-custom-elements/{p-13c91c15.js → p-490ba292.js} +5 -5
  201. package/lib/dist-custom-elements/{p-ef4c0144.js → p-4c5e2c42.js} +1 -1
  202. package/lib/dist-custom-elements/{p-d5a674a7.js → p-52db2a57.js} +4 -4
  203. package/lib/dist-custom-elements/{p-c8cfbaf9.js → p-553bdd94.js} +1 -1
  204. package/lib/dist-custom-elements/{p-a482c41d.js → p-5589cf5e.js} +1 -1
  205. package/lib/dist-custom-elements/{p-ee50a4aa.js → p-806b07da.js} +1 -1
  206. package/lib/dist-custom-elements/{p-f527d0f4.js → p-93166d4c.js} +6 -6
  207. package/lib/dist-custom-elements/{p-4f5ca60a.js → p-99140a2f.js} +2 -2
  208. package/lib/dist-custom-elements/{p-d3c0e2e1.js → p-9c3a2e5f.js} +6 -6
  209. package/lib/dist-custom-elements/{p-5024e917.js → p-ad372b29.js} +1 -1
  210. package/lib/dist-custom-elements/{p-fa050e01.js → p-b182dcbc.js} +2 -2
  211. package/lib/dist-custom-elements/{p-039a3c76.js → p-b438f3ff.js} +1 -1
  212. package/lib/dist-custom-elements/{p-f37eb23f.js → p-c2e91df2.js} +1 -1
  213. package/lib/dist-custom-elements/{p-11b12cfd.js → p-c59daafa.js} +2 -2
  214. package/lib/dist-custom-elements/{p-157fe872.js → p-d2139006.js} +1 -1
  215. package/lib/dist-custom-elements/{p-54ccbace.js → p-d384685b.js} +1 -1
  216. package/lib/dist-custom-elements/{p-f750ed2f.js → p-df02822f.js} +2 -2
  217. package/lib/dist-custom-elements/{p-33229410.js → p-e56a3a4f.js} +2 -2
  218. package/lib/dist-custom-elements/{p-9d4af7b5.js → p-eff83337.js} +1 -1
  219. package/lib/dist-custom-elements/{p-b8d55be3.js → p-f00d941b.js} +1 -1
  220. package/lib/dist-custom-elements/{p-56ef9f34.js → p-fafab887.js} +1 -1
  221. package/lib/duet/duet.esm.js +1 -1
  222. package/lib/duet/duet.js +1 -1
  223. package/lib/duet/p-00428c76.system.entry.js +4 -0
  224. package/lib/duet/{p-ca895ffb.system.entry.js → p-05a861c3.system.entry.js} +1 -1
  225. package/lib/duet/p-095e94c0.system.entry.js +4 -0
  226. package/lib/duet/{p-379bf334.entry.js → p-0d78c045.entry.js} +1 -1
  227. package/lib/duet/{p-570afd0e.system.entry.js → p-0dfc5062.system.entry.js} +1 -1
  228. package/lib/duet/p-0f777e0f.entry.js +4 -0
  229. package/lib/duet/p-11a1d6f7.system.entry.js +4 -0
  230. package/lib/duet/p-17213985.js +4 -0
  231. package/lib/duet/p-196b22f7.entry.js +4 -0
  232. package/lib/duet/p-1c159b40.entry.js +4 -0
  233. package/lib/duet/{p-ef2b4633.system.entry.js → p-1d7751e6.system.entry.js} +1 -1
  234. package/lib/duet/{p-f88e4df5.system.entry.js → p-213bec99.system.entry.js} +1 -1
  235. package/lib/duet/{p-1c8e6f7b.entry.js → p-2147bb75.entry.js} +1 -1
  236. package/lib/duet/{p-fff0c726.entry.js → p-221e9bde.entry.js} +1 -1
  237. package/lib/duet/{p-0c8fae3a.entry.js → p-22975217.entry.js} +1 -1
  238. package/lib/duet/{p-1bc2cde0.entry.js → p-22a44d9c.entry.js} +1 -1
  239. package/lib/duet/p-23827c68.system.entry.js +4 -0
  240. package/lib/duet/{p-74748f28.entry.js → p-25a74f14.entry.js} +1 -1
  241. package/lib/duet/{p-3b6917d6.entry.js → p-27394348.entry.js} +1 -1
  242. package/lib/duet/{p-31c787d3.entry.js → p-2796b765.entry.js} +1 -1
  243. package/lib/duet/{p-181721ae.entry.js → p-2a8d59a8.entry.js} +1 -1
  244. package/lib/duet/{p-da724018.entry.js → p-2b279cd3.entry.js} +1 -1
  245. package/lib/duet/{p-ce547760.system.entry.js → p-2ee85f9b.system.entry.js} +1 -1
  246. package/lib/duet/{p-62b35536.entry.js → p-33aee1b2.entry.js} +1 -1
  247. package/lib/duet/{p-5c8315bf.entry.js → p-35b535e6.entry.js} +1 -1
  248. package/lib/duet/{p-b076d2ac.entry.js → p-35f67767.entry.js} +1 -1
  249. package/lib/duet/p-3ae36dbc.system.entry.js +4 -0
  250. package/lib/duet/{p-e3ef46ca.system.entry.js → p-3b5f12b1.system.entry.js} +1 -1
  251. package/lib/duet/{p-0a9c2e10.entry.js → p-3c343f08.entry.js} +1 -1
  252. package/lib/duet/{p-41aeb28a.system.entry.js → p-3cdaecea.system.entry.js} +1 -1
  253. package/lib/duet/p-3f2b9124.entry.js +4 -0
  254. package/lib/duet/{p-66c65dae.entry.js → p-43948a2e.entry.js} +1 -1
  255. package/lib/duet/{p-b9d7c82c.system.entry.js → p-45663514.system.entry.js} +1 -1
  256. package/lib/duet/{p-64877c9c.entry.js → p-4577b323.entry.js} +1 -1
  257. package/lib/duet/{p-e65b1c60.system.entry.js → p-48bfd2b1.system.entry.js} +1 -1
  258. package/lib/duet/p-48f66cad.entry.js +4 -0
  259. package/lib/duet/{p-b1e41d0d.entry.js → p-4cd1066d.entry.js} +1 -1
  260. package/lib/duet/p-4e605462.system.entry.js +4 -0
  261. package/lib/duet/{p-cdd0273a.entry.js → p-4e866570.entry.js} +1 -1
  262. package/lib/duet/p-4e8f09d4.entry.js +4 -0
  263. package/lib/duet/{p-e38ab9a4.system.entry.js → p-4f75a254.system.entry.js} +1 -1
  264. package/lib/duet/{p-e5d8d0b0.entry.js → p-51b2ffe4.entry.js} +1 -1
  265. package/lib/duet/{p-7ac93b67.system.entry.js → p-520c6ec6.system.entry.js} +1 -1
  266. package/lib/duet/{p-0f73eeef.entry.js → p-536772a0.entry.js} +1 -1
  267. package/lib/duet/{p-c0dc2412.system.entry.js → p-54bb7d48.system.entry.js} +1 -1
  268. package/lib/duet/{p-82c76694.system.entry.js → p-56b72e22.system.entry.js} +1 -1
  269. package/lib/duet/p-571c8093.system.entry.js +4 -0
  270. package/lib/duet/{p-7d1ba1e7.entry.js → p-59202e2e.entry.js} +1 -1
  271. package/lib/duet/{p-36c33b6b.entry.js → p-5aa1eba8.entry.js} +1 -1
  272. package/lib/duet/{p-0091e2a7.system.js → p-5c552efe.system.js} +1 -1
  273. package/lib/duet/p-6409cef7.system.entry.js +4 -0
  274. package/lib/duet/{p-4324b3bd.entry.js → p-64ddcf9f.entry.js} +1 -1
  275. package/lib/duet/{p-2a05e456.system.entry.js → p-6698839e.system.entry.js} +1 -1
  276. package/lib/duet/{p-24a455ca.system.entry.js → p-6b061775.system.entry.js} +1 -1
  277. package/lib/duet/{p-702d9893.entry.js → p-6e882d53.entry.js} +1 -1
  278. package/lib/duet/{p-94dba228.system.entry.js → p-6f796f36.system.entry.js} +1 -1
  279. package/lib/duet/{p-cea5e8d8.system.entry.js → p-708ee49e.system.entry.js} +1 -1
  280. package/lib/duet/p-7319f712.entry.js +4 -0
  281. package/lib/duet/p-735a1513.entry.js +4 -0
  282. package/lib/duet/p-75277343.system.entry.js +4 -0
  283. package/lib/duet/{p-9f4749fb.system.entry.js → p-75b59b7a.system.entry.js} +1 -1
  284. package/lib/duet/{p-6a5ef71a.system.entry.js → p-7778edfa.system.entry.js} +1 -1
  285. package/lib/duet/{p-d5864481.entry.js → p-7861d512.entry.js} +1 -1
  286. package/lib/duet/{p-5fc33329.system.entry.js → p-7cd1d6a4.system.entry.js} +1 -1
  287. package/lib/duet/{p-42a76e8a.system.entry.js → p-815cb109.system.entry.js} +1 -1
  288. package/lib/duet/{p-871b2c5a.entry.js → p-84190f08.entry.js} +1 -1
  289. package/lib/duet/p-85a2945f.entry.js +4 -0
  290. package/lib/duet/{p-db9bb827.entry.js → p-85f9a268.entry.js} +1 -1
  291. package/lib/duet/p-871431ff.system.entry.js +4 -0
  292. package/lib/duet/{p-31555c04.system.entry.js → p-88fde141.system.entry.js} +1 -1
  293. package/lib/duet/{p-a0df8db9.system.entry.js → p-893be717.system.entry.js} +1 -1
  294. package/lib/duet/{p-c9bae731.system.entry.js → p-8aaa7057.system.entry.js} +1 -1
  295. package/lib/duet/{p-b18b32c9.system.entry.js → p-8af3c241.system.entry.js} +1 -1
  296. package/lib/duet/{p-7f52b508.entry.js → p-8b8f6808.entry.js} +1 -1
  297. package/lib/duet/{p-4aa74b0a.system.entry.js → p-8ef3d1bf.system.entry.js} +1 -1
  298. package/lib/duet/{p-5fb63be7.entry.js → p-94b4683e.entry.js} +1 -1
  299. package/lib/duet/{p-2dcc21e1.entry.js → p-95dbb535.entry.js} +1 -1
  300. package/lib/duet/p-9934a9b7.system.entry.js +4 -0
  301. package/lib/duet/{p-1327ab6d.entry.js → p-9a90e360.entry.js} +1 -1
  302. package/lib/duet/{p-17257fb3.system.entry.js → p-9c10a3b6.system.entry.js} +1 -1
  303. package/lib/duet/{p-bd98311f.system.entry.js → p-9dc043a4.system.entry.js} +1 -1
  304. package/lib/duet/{p-0a7a10de.entry.js → p-a04825b6.entry.js} +1 -1
  305. package/lib/duet/{p-88c827e5.system.js → p-a16bb53f.system.js} +1 -1
  306. package/lib/duet/{p-d18e65c5.entry.js → p-a1a2a08c.entry.js} +1 -1
  307. package/lib/duet/{p-82846481.system.entry.js → p-a282ec97.system.entry.js} +2 -2
  308. package/lib/duet/{p-2f7bf0c6.system.entry.js → p-a37f10ab.system.entry.js} +1 -1
  309. package/lib/duet/p-a3d4d3d7.entry.js +4 -0
  310. package/lib/duet/{p-ca75686c.entry.js → p-a3e54564.entry.js} +1 -1
  311. package/lib/duet/{p-f6add9cd.entry.js → p-a7b42887.entry.js} +1 -1
  312. package/lib/duet/{p-d2889dd9.entry.js → p-a961faf1.entry.js} +1 -1
  313. package/lib/duet/{p-cc037b7f.system.entry.js → p-aadce56b.system.entry.js} +1 -1
  314. package/lib/duet/p-abc9f1e7.entry.js +4 -0
  315. package/lib/duet/{p-29f7e7b1.system.entry.js → p-ad1f09f9.system.entry.js} +1 -1
  316. package/lib/duet/{p-6102bb49.entry.js → p-b1276330.entry.js} +1 -1
  317. package/lib/duet/{p-c3cd340a.system.entry.js → p-b199b4eb.system.entry.js} +1 -1
  318. package/lib/duet/p-b3043173.system.js +4 -0
  319. package/lib/duet/p-b43cf00f.entry.js +4 -0
  320. package/lib/duet/{p-86faf354.system.entry.js → p-b509d386.system.entry.js} +1 -1
  321. package/lib/duet/{p-06f337c5.system.entry.js → p-b5228293.system.entry.js} +1 -1
  322. package/lib/duet/{p-5f610f62.entry.js → p-b7c6292e.entry.js} +1 -1
  323. package/lib/duet/p-bbaf11d3.entry.js +4 -0
  324. package/lib/duet/{p-a64da162.entry.js → p-bdd627ee.entry.js} +1 -1
  325. package/lib/duet/{p-07b5a5f8.entry.js → p-bfc8f79e.entry.js} +1 -1
  326. package/lib/duet/{p-258d9ce1.system.entry.js → p-c03b4a4a.system.entry.js} +1 -1
  327. package/lib/duet/{p-c4171923.system.entry.js → p-c75bd69d.system.entry.js} +1 -1
  328. package/lib/duet/{p-ad603ecc.system.entry.js → p-c87e9edd.system.entry.js} +1 -1
  329. package/lib/duet/{p-01262dea.entry.js → p-cd152e23.entry.js} +1 -1
  330. package/lib/duet/{p-39dc4e45.system.entry.js → p-cf6be1db.system.entry.js} +1 -1
  331. package/lib/duet/{p-7703fa08.entry.js → p-d936157a.entry.js} +1 -1
  332. package/lib/duet/p-d9bc93bd.system.entry.js +4 -0
  333. package/lib/duet/p-df5ccf8f.system.entry.js +4 -0
  334. package/lib/duet/{p-e67c260c.entry.js → p-dff47f37.entry.js} +1 -1
  335. package/lib/duet/p-e288cc5b.entry.js +4 -0
  336. package/lib/duet/p-e298d114.system.entry.js +4 -0
  337. package/lib/duet/{p-109c5e9c.system.entry.js → p-e43baf68.system.entry.js} +1 -1
  338. package/lib/duet/{p-29bfb20d.system.entry.js → p-e458540b.system.entry.js} +1 -1
  339. package/lib/duet/{p-8c870320.system.entry.js → p-e8c31735.system.entry.js} +1 -1
  340. package/lib/duet/{p-371d9ea0.entry.js → p-ea3d82dd.entry.js} +1 -1
  341. package/lib/duet/{p-2dfdb194.entry.js → p-ec1996b5.entry.js} +1 -1
  342. package/lib/duet/{p-6bfe4c00.system.entry.js → p-ec2b9ae6.system.entry.js} +1 -1
  343. package/lib/duet/{p-1f4b3bd4.entry.js → p-ef8796fa.entry.js} +1 -1
  344. package/lib/duet/{p-966e2a97.system.entry.js → p-f06285b1.system.entry.js} +1 -1
  345. package/lib/duet/{p-fbc899af.system.entry.js → p-f1655fbc.system.entry.js} +1 -1
  346. package/lib/duet/{p-30159441.system.entry.js → p-f22d96ae.system.entry.js} +1 -1
  347. package/lib/duet/{p-9d9a7975.system.entry.js → p-f3724701.system.entry.js} +2 -2
  348. package/lib/duet/{p-7e8d8d49.js → p-f3d7745b.js} +1 -1
  349. package/lib/duet/{p-04e4f1c5.system.entry.js → p-f440000a.system.entry.js} +1 -1
  350. package/lib/duet/{p-2b11f7d3.system.entry.js → p-f46bd5fc.system.entry.js} +1 -1
  351. package/lib/duet/{p-b03bd25a.entry.js → p-f76fe5e7.entry.js} +1 -1
  352. package/lib/duet/{p-05d4c770.entry.js → p-fb197a80.entry.js} +1 -1
  353. package/lib/duet/p-fe591b9a.system.entry.js +4 -0
  354. package/lib/duet/{p-ed4cd515.entry.js → p-ff4d2be5.entry.js} +1 -1
  355. package/lib/duet/p-ffa9caa9.entry.js +4 -0
  356. package/lib/esm/duet-action-button.entry.js +1 -1
  357. package/lib/esm/duet-alert.entry.js +1 -1
  358. package/lib/esm/duet-badge.entry.js +1 -1
  359. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  360. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  361. package/lib/esm/duet-button_2.entry.js +1 -1
  362. package/lib/esm/duet-caption_4.entry.js +1 -1
  363. package/lib/esm/duet-card.entry.js +1 -1
  364. package/lib/esm/duet-checkbox.entry.js +1 -1
  365. package/lib/esm/duet-choice_2.entry.js +2 -2
  366. package/lib/esm/duet-collapsible.entry.js +1 -1
  367. package/lib/esm/duet-combobox.entry.js +1 -1
  368. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  369. package/lib/esm/duet-date-picker.entry.js +2 -2
  370. package/lib/esm/duet-divider_2.entry.js +1 -1
  371. package/lib/esm/duet-editable-table_3.entry.js +1 -1
  372. package/lib/esm/duet-empty-state.entry.js +1 -1
  373. package/lib/esm/duet-fieldset.entry.js +1 -1
  374. package/lib/esm/duet-footer.entry.js +1 -1
  375. package/lib/esm/duet-grid_2.entry.js +1 -1
  376. package/lib/esm/duet-header_2.entry.js +1 -1
  377. package/lib/esm/duet-hero.entry.js +1 -1
  378. package/lib/esm/duet-icon.entry.js +1 -1
  379. package/lib/esm/duet-input_2.entry.js +1 -1
  380. package/lib/esm/duet-layout.entry.js +1 -1
  381. package/lib/esm/duet-list_2.entry.js +1 -1
  382. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -1
  383. package/lib/esm/duet-menu-bar-dropdown.entry.js +1 -1
  384. package/lib/esm/duet-menu-bar-link.entry.js +38 -3
  385. package/lib/esm/duet-menu-bar.entry.js +28 -3
  386. package/lib/esm/duet-modal.entry.js +2 -2
  387. package/lib/esm/duet-multiselect.entry.js +1 -1
  388. package/lib/esm/duet-nav.entry.js +3 -3
  389. package/lib/esm/duet-notification_2.entry.js +1 -1
  390. package/lib/esm/duet-number-input.entry.js +1 -1
  391. package/lib/esm/duet-pagination_2.entry.js +1 -1
  392. package/lib/esm/duet-progress.entry.js +1 -1
  393. package/lib/esm/duet-radio_2.entry.js +1 -1
  394. package/lib/esm/duet-range-slider.entry.js +1 -1
  395. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  396. package/lib/esm/duet-section-layout.entry.js +1 -1
  397. package/lib/esm/duet-select.entry.js +1 -1
  398. package/lib/esm/duet-slideout-lang.entry.js +42 -0
  399. package/lib/esm/duet-slideout-link.entry.js +40 -0
  400. package/lib/esm/duet-slideout-panel-dropdown-link.entry.js +37 -0
  401. package/lib/esm/duet-slideout-panel-dropdown.entry.js +51 -0
  402. package/lib/esm/duet-slideout-panel-link.entry.js +37 -0
  403. package/lib/esm/duet-slideout-panel.entry.js +85 -0
  404. package/lib/esm/duet-slideout.entry.js +76 -0
  405. package/lib/esm/duet-step_2.entry.js +1 -1
  406. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +2 -2
  407. package/lib/esm/duet-submenu-bar-dropdown.entry.js +38 -3
  408. package/lib/esm/duet-submenu-bar-link.entry.js +38 -3
  409. package/lib/esm/duet-submenu-bar.entry.js +12 -3
  410. package/lib/esm/duet-textarea.entry.js +1 -1
  411. package/lib/esm/duet-toggle.entry.js +1 -1
  412. package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
  413. package/lib/esm/duet-toolbar-dropdown.entry.js +1 -1
  414. package/lib/esm/duet-toolbar-link.entry.js +1 -1
  415. package/lib/esm/duet-toolbar.entry.js +2 -2
  416. package/lib/esm/duet-tooltip.entry.js +1 -1
  417. package/lib/esm/duet-tray.entry.js +1 -1
  418. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  419. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  420. package/lib/esm/duet.js +2 -2
  421. package/lib/esm/{focus-utils-29c461b2.js → focus-utils-0c38feb6.js} +1 -1
  422. package/lib/esm/{index-7bcfe458.js → index-009e9860.js} +1 -1
  423. package/lib/esm/loader.js +2 -2
  424. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  425. package/lib/esm-es5/duet-alert.entry.js +1 -1
  426. package/lib/esm-es5/duet-badge.entry.js +1 -1
  427. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  428. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  429. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  430. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  431. package/lib/esm-es5/duet-card.entry.js +1 -1
  432. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  433. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  434. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  435. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  436. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  437. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  438. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  439. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  440. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  441. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  442. package/lib/esm-es5/duet-footer.entry.js +1 -1
  443. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  444. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  445. package/lib/esm-es5/duet-hero.entry.js +1 -1
  446. package/lib/esm-es5/duet-icon.entry.js +1 -1
  447. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  448. package/lib/esm-es5/duet-layout.entry.js +1 -1
  449. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  450. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  451. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  452. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  453. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  454. package/lib/esm-es5/duet-modal.entry.js +1 -1
  455. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  456. package/lib/esm-es5/duet-nav.entry.js +1 -1
  457. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  458. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  459. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  460. package/lib/esm-es5/duet-progress.entry.js +1 -1
  461. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  462. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  463. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  464. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  465. package/lib/esm-es5/duet-select.entry.js +1 -1
  466. package/lib/esm-es5/duet-slideout-lang.entry.js +4 -0
  467. package/lib/esm-es5/duet-slideout-link.entry.js +4 -0
  468. package/lib/esm-es5/duet-slideout-panel-dropdown-link.entry.js +4 -0
  469. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +4 -0
  470. package/lib/esm-es5/duet-slideout-panel-link.entry.js +4 -0
  471. package/lib/esm-es5/duet-slideout-panel.entry.js +4 -0
  472. package/lib/esm-es5/duet-slideout.entry.js +4 -0
  473. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  474. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  475. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  476. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  477. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  478. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  479. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  480. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  481. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  482. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  483. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  484. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  485. package/lib/esm-es5/duet-tray.entry.js +1 -1
  486. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  487. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  488. package/lib/esm-es5/duet.js +1 -1
  489. package/lib/esm-es5/{focus-utils-29c461b2.js → focus-utils-0c38feb6.js} +1 -1
  490. package/lib/esm-es5/{index-7bcfe458.js → index-009e9860.js} +1 -1
  491. package/lib/esm-es5/loader.js +1 -1
  492. package/lib/types/components/duet-menu-bar/duet-menu-bar.d.ts +10 -0
  493. package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +7 -0
  494. package/lib/types/components/duet-slideout/duet-slideout.d.ts +51 -0
  495. package/lib/types/components/duet-slideout-lang/duet-slideout-lang.d.ts +25 -0
  496. package/lib/types/components/duet-slideout-link/duet-slideout-link.d.ts +40 -0
  497. package/lib/types/components/duet-slideout-panel/duet-slideout-panel.d.ts +43 -0
  498. package/lib/types/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.d.ts +34 -0
  499. package/lib/types/components/duet-slideout-panel-dropdown-link/duet-slideout-panel-dropdown-link.d.ts +36 -0
  500. package/lib/types/components/duet-slideout-panel-link/duet-slideout-panel-link.d.ts +36 -0
  501. package/lib/types/components/duet-submenu-bar/duet-submenu-bar.d.ts +5 -0
  502. package/lib/types/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.d.ts +7 -0
  503. package/lib/types/components/duet-submenu-bar-link/duet-submenu-bar-link.d.ts +7 -0
  504. package/lib/types/components.d.ts +304 -0
  505. package/package.json +5 -5
  506. package/lib/duet/p-07f29a05.system.entry.js +0 -4
  507. package/lib/duet/p-11512e80.system.entry.js +0 -4
  508. package/lib/duet/p-12794344.entry.js +0 -4
  509. package/lib/duet/p-12a82a91.system.entry.js +0 -4
  510. package/lib/duet/p-1ab7f142.entry.js +0 -4
  511. package/lib/duet/p-28a04111.entry.js +0 -4
  512. package/lib/duet/p-4b443d67.system.entry.js +0 -4
  513. package/lib/duet/p-7210ae30.system.entry.js +0 -4
  514. package/lib/duet/p-83d60d28.entry.js +0 -4
  515. package/lib/duet/p-92086b72.entry.js +0 -4
  516. package/lib/duet/p-9fba3817.js +0 -4
  517. package/lib/duet/p-bfc105dd.system.entry.js +0 -4
  518. package/lib/duet/p-bff1303e.entry.js +0 -4
  519. package/lib/duet/p-d8abe05f.entry.js +0 -4
  520. package/lib/duet/p-d8acbb3f.system.entry.js +0 -4
  521. package/lib/duet/p-dd2fb162.entry.js +0 -4
  522. package/lib/duet/p-e09dc8e1.system.js +0 -4
  523. package/lib/duet/p-fd74114f.system.entry.js +0 -4
@@ -0,0 +1,46 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ 'use strict';
5
+
6
+ Object.defineProperty(exports, '__esModule', { value: true });
7
+
8
+ const index = require('./index-e3c1cf60.js');
9
+ const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
+ const languageUtils = require('./language-utils-4f62a7db.js');
11
+ require('./string-utils-5cadd058.js');
12
+
13
+ const duetSlideoutLangCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-slideout-lang{display:flex;gap:20px;align-items:center;justify-content:flex-start}::slotted(*){position:relative}::slotted(:not(:first-child)){padding-right:0;padding-left:0.5rem}::slotted(:not(:last-child))::after{position:absolute;top:15%;right:-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:16px;font-weight:600;line-height:150%;color:#00294d;content:\"|\"}.duet-theme-turva ::slotted(:not(:last-child))::after{color:#171c3a}";
14
+
15
+ const DuetSlideoutLang = class {
16
+ constructor(hostRef) {
17
+ index.registerInstance(this, hostRef);
18
+ /**
19
+ * Own Properties.
20
+ */
21
+ this.chooseLangObject = {
22
+ en: "Choose language",
23
+ fi: "Valitse kieli",
24
+ sv: "Välj språk",
25
+ };
26
+ this.theme = "";
27
+ }
28
+ /**
29
+ * Component lifecycle events.
30
+ */
31
+ componentWillLoad() {
32
+ themeableComponent.inheritGlobalTheme(this);
33
+ }
34
+ /**
35
+ * render() function
36
+ * Always the last one in the class.
37
+ */
38
+ render() {
39
+ const langTranslation = languageUtils.getLocaleString(this.chooseLangObject);
40
+ return (index.h(index.Host, null, index.h("div", { class: "duet-slideout-lang" }, index.h("duet-visually-hidden", null, langTranslation), index.h("duet-icon", { name: "navigation-language", margin: "none" }), index.h("slot", null))));
41
+ }
42
+ get element() { return index.getElement(this); }
43
+ };
44
+ DuetSlideoutLang.style = duetSlideoutLangCss;
45
+
46
+ exports.duet_slideout_lang = DuetSlideoutLang;
@@ -0,0 +1,44 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ 'use strict';
5
+
6
+ Object.defineProperty(exports, '__esModule', { value: true });
7
+
8
+ const index = require('./index-e3c1cf60.js');
9
+ const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
+
11
+ const duetSlideoutLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}.duet-slideout-link{position:relative;display:flex;gap:20px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";line-height:1.25;color:#00294d;text-align:center;text-decoration:none}.duet-slideout-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#940925}.duet-slideout-link.active span{position:relative}.duet-slideout-link.active span::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:2px;content:\"\";background:#0077b3;transform:translateY(2px)}.duet-slideout-link.active.duet-theme-turva span::after{background:#c60c30}.duet-slideout-link.small{font-size:1rem;font-weight:600}.duet-slideout-link.small span::after{height:1px;transform:translateY(1px)}.duet-slideout-link.medium{font-size:1.25rem;font-weight:600}.duet-slideout-link.large{font-size:1.5rem;font-weight:800}";
12
+
13
+ const DuetSlideoutLink = class {
14
+ constructor(hostRef) {
15
+ index.registerInstance(this, hostRef);
16
+ this.theme = "";
17
+ this.active = false;
18
+ this.href = "#";
19
+ this.icon = undefined;
20
+ this.size = "medium";
21
+ }
22
+ /**
23
+ * Component lifecycle events.
24
+ */
25
+ componentWillLoad() {
26
+ themeableComponent.inheritGlobalTheme(this);
27
+ }
28
+ /**
29
+ * render() function
30
+ * Always the last one in the class.
31
+ */
32
+ render() {
33
+ return (index.h(index.Host, null, index.h("a", { class: {
34
+ "duet-slideout-link": true,
35
+ "duet-theme-turva": this.theme === "turva",
36
+ active: this.active,
37
+ [this.size]: true,
38
+ }, href: this.href }, this.icon && index.h("duet-icon", { size: "medium", name: this.icon, margin: "none" }), index.h("span", null, index.h("slot", null)))));
39
+ }
40
+ get element() { return index.getElement(this); }
41
+ };
42
+ DuetSlideoutLink.style = duetSlideoutLinkCss;
43
+
44
+ exports.duet_slideout_link = DuetSlideoutLink;
@@ -0,0 +1,41 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ 'use strict';
5
+
6
+ Object.defineProperty(exports, '__esModule', { value: true });
7
+
8
+ const index = require('./index-e3c1cf60.js');
9
+ const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
+
11
+ const duetSlideoutPanelDropdownLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}.duet-slideout-panel-dropdown-link{display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 20px 8px 44px;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.125rem;font-weight:600;line-height:1.25;color:#00294d;text-align:center;text-decoration:none}.duet-slideout-panel-dropdown-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}";
12
+
13
+ const DuetSlideoutPanelDropdownLink = class {
14
+ constructor(hostRef) {
15
+ index.registerInstance(this, hostRef);
16
+ this.theme = "";
17
+ this.href = "#";
18
+ this.icon = undefined;
19
+ this.caret = false;
20
+ }
21
+ /**
22
+ * Component lifecycle events.
23
+ */
24
+ componentWillLoad() {
25
+ themeableComponent.inheritGlobalTheme(this);
26
+ }
27
+ /**
28
+ * render() function
29
+ * Always the last one in the class.
30
+ */
31
+ render() {
32
+ return (index.h(index.Host, null, index.h("a", { class: {
33
+ "duet-slideout-panel-dropdown-link": true,
34
+ "duet-theme-turva": this.theme === "turva",
35
+ }, href: this.href, role: "menuitem" }, this.icon && index.h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }), index.h("slot", null))));
36
+ }
37
+ get element() { return index.getElement(this); }
38
+ };
39
+ DuetSlideoutPanelDropdownLink.style = duetSlideoutPanelDropdownLinkCss;
40
+
41
+ exports.duet_slideout_panel_dropdown_link = DuetSlideoutPanelDropdownLink;
@@ -0,0 +1,55 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ 'use strict';
5
+
6
+ Object.defineProperty(exports, '__esModule', { value: true });
7
+
8
+ const index = require('./index-e3c1cf60.js');
9
+ const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
+
11
+ const duetSlideoutPanelDropdownCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}:host slot::slotted(duet-slideout-panel-dropdown-link){position:relative;top:-0.5rem;opacity:0;transition:top 0.3s ease-in, opacity 0.3s ease-in}:host([open]) slot::slotted(duet-slideout-panel-dropdown-link){top:0;opacity:1}.duet-slideout-panel-dropdown{position:relative;width:100%;height:100%}.duet-slideout-panel-dropdown button{position:relative;display:flex;gap:20px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1.25rem;font-weight:800;line-height:1.25;color:#00294d;text-align:center;text-decoration:none;cursor:pointer}.duet-slideout-panel-dropdown button .label{display:flex;gap:0.5rem;align-items:center;justify-content:center}.duet-slideout-panel-dropdown .items{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-height:1000px;padding:0 0 16px;overflow-y:auto;visibility:visible;transition:max-height 0.3s ease-in, padding 0.3s ease-in}.duet-slideout-panel-dropdown .items.hidden{max-height:0;padding:0;overflow:hidden;visibility:hidden;transition:max-height 0.3s ease-out, padding 0.3s ease-out}.duet-slideout-panel-dropdown.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#940925}";
12
+
13
+ const DuetSlideoutPanelDropdown = class {
14
+ constructor(hostRef) {
15
+ index.registerInstance(this, hostRef);
16
+ this.onClick = () => {
17
+ this.open = !this.open;
18
+ };
19
+ this.theme = "";
20
+ this.open = false;
21
+ this.icon = undefined;
22
+ }
23
+ handleFocus(e) {
24
+ const isClickOutside = e.composedPath().every(node => node !== this.element);
25
+ if (isClickOutside) {
26
+ this.open = false;
27
+ }
28
+ }
29
+ /**
30
+ * Component lifecycle events.
31
+ */
32
+ componentWillLoad() {
33
+ themeableComponent.inheritGlobalTheme(this);
34
+ }
35
+ /**
36
+ * render() function
37
+ * Always the last one in the class.
38
+ */
39
+ render() {
40
+ return (index.h(index.Host, null, index.h("div", { class: {
41
+ "duet-slideout-panel-dropdown": true,
42
+ "duet-theme-turva": this.theme === "turva",
43
+ active: this.open,
44
+ } }, index.h("button", { "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
45
+ active: this.open,
46
+ }, onClick: this.onClick }, this.icon && index.h("duet-icon", { name: this.icon, size: "medium", margin: "none" }), index.h("div", { class: "label" }, index.h("slot", { name: "label" }), index.h("duet-icon", { class: "caret", name: "action-arrow-down-small", margin: "none", size: "xx-small" }))), index.h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
47
+ items: true,
48
+ hidden: !this.open,
49
+ } }, index.h("slot", null)))));
50
+ }
51
+ get element() { return index.getElement(this); }
52
+ };
53
+ DuetSlideoutPanelDropdown.style = duetSlideoutPanelDropdownCss;
54
+
55
+ exports.duet_slideout_panel_dropdown = DuetSlideoutPanelDropdown;
@@ -0,0 +1,41 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ 'use strict';
5
+
6
+ Object.defineProperty(exports, '__esModule', { value: true });
7
+
8
+ const index = require('./index-e3c1cf60.js');
9
+ const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
+
11
+ const duetSlideoutPanelLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}.duet-slideout-panel-link{position:relative;display:flex;gap:20px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1.25rem;font-weight:800;line-height:1.25;color:#00294d;text-align:center;text-decoration:none}.duet-slideout-panel-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#940925}";
12
+
13
+ const DuetSlideoutPanelLink = class {
14
+ constructor(hostRef) {
15
+ index.registerInstance(this, hostRef);
16
+ this.theme = "";
17
+ this.active = false;
18
+ this.href = "#";
19
+ this.icon = undefined;
20
+ }
21
+ /**
22
+ * Component lifecycle events.
23
+ */
24
+ componentWillLoad() {
25
+ themeableComponent.inheritGlobalTheme(this);
26
+ }
27
+ /**
28
+ * render() function
29
+ * Always the last one in the class.
30
+ */
31
+ render() {
32
+ return (index.h(index.Host, null, index.h("a", { class: {
33
+ "duet-slideout-panel-link": true,
34
+ "duet-theme-turva": this.theme === "turva",
35
+ }, href: this.href }, this.icon && index.h("duet-icon", { size: "medium", name: this.icon, margin: "none" }), index.h("span", null, index.h("slot", null)))));
36
+ }
37
+ get element() { return index.getElement(this); }
38
+ };
39
+ DuetSlideoutPanelLink.style = duetSlideoutPanelLinkCss;
40
+
41
+ exports.duet_slideout_panel_link = DuetSlideoutPanelLink;
@@ -0,0 +1,89 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ 'use strict';
5
+
6
+ Object.defineProperty(exports, '__esModule', { value: true });
7
+
8
+ const index = require('./index-e3c1cf60.js');
9
+ const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
+ const focusUtils = require('./focus-utils-9b534879.js');
11
+ const languageUtils = require('./language-utils-4f62a7db.js');
12
+ require('./string-utils-5cadd058.js');
13
+
14
+ const duetSlideoutPanelCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}:host slot::slotted(duet-slideout-panel-dropdown),:host slot::slotted(duet-slideout-panel-link){position:relative;top:0.5rem;opacity:0;transition:top 0.3s ease-in, opacity 0.3s ease-in}:host([open]) slot::slotted(duet-slideout-panel-link),:host([open]) slot::slotted(duet-slideout-panel-dropdown){top:0;opacity:1}.duet-slideout-panel{position:relative;height:100%}.duet-slideout-panel .link{position:relative;display:flex;gap:8px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1.5rem;font-weight:800;line-height:1.25;color:#00294d;text-align:center;text-decoration:none;cursor:pointer}.duet-slideout-panel .link .label{display:flex;gap:0.5rem;align-items:center;justify-content:space-between;width:100%}.duet-slideout-panel .link.active .label-text{position:relative}.duet-slideout-panel .link.active .label-text::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:2px;content:\"\";background:#0077b3;transform:translateY(2px)}.duet-slideout-panel .dialog{position:fixed;top:0;left:0;z-index:600;width:100%;height:100%;overflow-y:auto;visibility:visible;background:#f3f9fc}.duet-slideout-panel .dialog.hidden{visibility:hidden}.duet-slideout-panel .dialog.hidden .top .back,.duet-slideout-panel .dialog.hidden .top span{opacity:0}.duet-slideout-panel .top{display:flex;align-items:center;justify-content:space-between;padding:4px}.duet-slideout-panel .top .back{opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .top duet-icon{padding:16px}.duet-slideout-panel .top span{font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:#00294d;opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .items{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:1rem 16px;overflow-y:auto;color:#00294d}.duet-slideout-panel.duet-theme-turva .link{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#940925}.duet-slideout-panel.duet-theme-turva .link.active .label-text::after{background:#c60c30}.duet-slideout-panel.duet-theme-turva .dialog{background:#f5f5f7}.duet-slideout-panel.duet-theme-turva .top span{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-slideout-panel.duet-theme-turva .items{background:#f5f5f7}";
15
+
16
+ const DuetSlideoutPanel = class {
17
+ constructor(hostRef) {
18
+ index.registerInstance(this, hostRef);
19
+ this.exitLangObject = {
20
+ en: "Exit the dialog",
21
+ fi: "Poistu dialogista",
22
+ sv: "Stäng dialogrutan",
23
+ };
24
+ this.updateLabel = () => {
25
+ const labelSlotElement = this.element.querySelector("[slot='label']");
26
+ this.label = labelSlotElement;
27
+ };
28
+ this.onToggleClick = () => {
29
+ const toggle = !this.open;
30
+ this.open = toggle;
31
+ if (toggle) {
32
+ setTimeout(() => {
33
+ this.closeButton.focus();
34
+ }, 200);
35
+ }
36
+ else {
37
+ setTimeout(() => {
38
+ this.openButton.focus();
39
+ }, 200);
40
+ }
41
+ };
42
+ this.onCloseClick = () => {
43
+ this.open = false;
44
+ const parentElement = this.element.parentElement;
45
+ if (parentElement.tagName === "DUET-SLIDEOUT") {
46
+ const slideout = this.element.parentElement;
47
+ slideout.toggle();
48
+ }
49
+ };
50
+ this.label = undefined;
51
+ this.theme = "";
52
+ this.active = false;
53
+ this.open = false;
54
+ this.icon = undefined;
55
+ }
56
+ /**
57
+ * Component lifecycle events.
58
+ */
59
+ componentWillLoad() {
60
+ themeableComponent.inheritGlobalTheme(this);
61
+ this.updateLabel();
62
+ }
63
+ /**
64
+ * render() function
65
+ * Always the last one in the class.
66
+ */
67
+ render() {
68
+ const exitTranslation = languageUtils.getLocaleString(this.exitLangObject);
69
+ return (index.h(index.Host, null, index.h("div", { class: {
70
+ "duet-slideout-panel": true,
71
+ "duet-theme-turva": this.theme === "turva",
72
+ active: this.open,
73
+ } }, index.h("button", { ref: element => (this.openButton = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
74
+ link: true,
75
+ active: this.active,
76
+ }, onClick: this.onToggleClick }, this.icon && index.h("duet-icon", { name: this.icon, size: "x-small", margin: "none" }), index.h("div", { class: "label" }, index.h("span", { class: "label-text" }, index.h("slot", { name: "label" })), index.h("duet-icon", { class: "caret", name: "action-arrow-right", margin: "none", size: "x-small" }))), index.h("div", { class: {
77
+ dialog: true,
78
+ hidden: !this.open,
79
+ } }, index.h(focusUtils.FocusGuard, { moveFocusTo: this.closeButton }), index.h("div", { class: "top" }, index.h("button", { ref: element => (this.closeButton = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", type: "button", class: {
80
+ back: true,
81
+ }, onClick: this.onToggleClick }, index.h("duet-icon", { class: "caret", name: "action-arrow-left", margin: "none", size: "small" })), index.h("span", null, this.label.innerHTML), index.h("button", { type: "button", onClick: this.onCloseClick, "aria-label": `${exitTranslation}` }, index.h("duet-icon", { name: "navigation-close", size: "small", margin: "none" }))), index.h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
82
+ items: true,
83
+ } }, index.h("slot", null)), index.h(focusUtils.FocusGuard, { moveFocusTo: this.closeButton })))));
84
+ }
85
+ get element() { return index.getElement(this); }
86
+ };
87
+ DuetSlideoutPanel.style = duetSlideoutPanelCss;
88
+
89
+ exports.duet_slideout_panel = DuetSlideoutPanel;
@@ -0,0 +1,80 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ 'use strict';
5
+
6
+ Object.defineProperty(exports, '__esModule', { value: true });
7
+
8
+ const index = require('./index-e3c1cf60.js');
9
+ const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
+ const focusUtils = require('./focus-utils-9b534879.js');
11
+
12
+ const duetSlideoutCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}:host slot::slotted(*){position:relative;top:0.5rem;opacity:0;transition:top 0.3s ease-in, opacity 0.3s ease-in}:host([open]) slot::slotted(*){top:0;opacity:1}.hamburger{position:relative;width:24px;height:24px;margin-top:8px !important;pointer-events:none;transition:0.4s ease-in-out;backface-visibility:hidden}.hamburger .bar{position:absolute;left:0;display:block;width:100%;height:2px;background:#00294d;border-radius:20rem}.duet-theme-turva .hamburger .bar{background:#171c3a}.hamburger .bar:nth-child(1){top:0}.hamburger .bar:nth-child(2),.hamburger .bar:nth-child(3){top:7px}.hamburger .bar:nth-child(4){top:14px}.duet-slideout{display:flex;align-items:center;height:100%;padding:0 8px}.duet-slideout .dialog{position:fixed;top:0;bottom:0;left:0;z-index:400;width:100%;height:100%;overflow-y:auto;background:white;box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1) inset}.duet-slideout .dialog .top{display:flex;align-items:center;justify-content:flex-end;padding:4px}.duet-slideout .dialog .top duet-icon{padding:16px}.duet-slideout .dialog .items{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;padding:0 1.5rem}.duet-slideout .dialog.hidden{visibility:hidden}.duet-slideout.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-slideout.duet-theme-turva button.active{color:#c60c30}.duet-slideout.duet-theme-turva button.active::after{background:#c60c30}.duet-slideout.duet-theme-turva .items{background:white}::slotted(*){width:100%}";
13
+
14
+ const DuetSlideout = class {
15
+ constructor(hostRef) {
16
+ index.registerInstance(this, hostRef);
17
+ this.duetSlideoutEvent = index.createEvent(this, "duetSlideoutEvent", 7);
18
+ this.toggleMenu = (e) => {
19
+ const toggle = !this.open;
20
+ this.open = toggle;
21
+ this.duetSlideoutEvent.emit({
22
+ originalEvent: e,
23
+ data: { element: this.element, open: this.open },
24
+ component: "duet-slideout",
25
+ });
26
+ if (toggle) {
27
+ setTimeout(() => {
28
+ this.closeButton.focus();
29
+ }, 200);
30
+ }
31
+ else {
32
+ setTimeout(() => {
33
+ this.openButton.focus();
34
+ }, 200);
35
+ }
36
+ };
37
+ this.onClick = (e) => {
38
+ this.toggleMenu(e);
39
+ };
40
+ this.theme = "";
41
+ this.open = false;
42
+ }
43
+ /**
44
+ * Toggles the slideout.
45
+ */
46
+ async toggle() {
47
+ const event = new CustomEvent("toggle");
48
+ this.toggleMenu(event);
49
+ setTimeout(() => {
50
+ this.openButton.focus();
51
+ }, 200);
52
+ }
53
+ /**
54
+ * Component lifecycle events.
55
+ */
56
+ componentWillLoad() {
57
+ themeableComponent.inheritGlobalTheme(this);
58
+ }
59
+ /**
60
+ * render() function
61
+ * Always the last one in the class.
62
+ */
63
+ render() {
64
+ return (index.h(index.Host, null, index.h("div", { class: { "duet-slideout": true, "duet-theme-turva": this.theme === "turva" } }, index.h("button", { ref: element => (this.openButton = element), "aria-haspopup": "dialog", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
65
+ active: this.open,
66
+ }, onClick: this.onClick }, index.h("div", { class: "hamburger" }, index.h("span", { class: "bar" }), index.h("span", { class: "bar" }), index.h("span", { class: "bar" }), index.h("span", { class: "bar" }))), index.h("div", { tabindex: "-1", role: "dialog", id: "dialog", "aria-labelledby": "button", "aria-modal": "true", "aria-flowto": "menubar", class: {
67
+ dialog: true,
68
+ hidden: !this.open,
69
+ } }, index.h(focusUtils.FocusGuard, { moveFocusTo: this.closeButton }), index.h("div", { class: "top" }, index.h("button", { ref: element => (this.closeButton = element), "aria-haspopup": "dialog", "aria-controls": "dialog", "aria-expanded": this.open ? "true" : "false", type: "button", class: {
70
+ "slideout-close": true,
71
+ active: this.open,
72
+ }, onClick: this.onClick }, index.h("duet-icon", { name: "navigation-close", size: "small", margin: "none" }))), index.h("div", { id: "menubar", role: "menubar", class: {
73
+ items: true,
74
+ } }, index.h("slot", null)), index.h(focusUtils.FocusGuard, { moveFocusTo: this.closeButton })))));
75
+ }
76
+ get element() { return index.getElement(this); }
77
+ };
78
+ DuetSlideout.style = duetSlideoutCss;
79
+
80
+ exports.duet_slideout = DuetSlideout;
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-3b9061fc.js');
8
+ const index = require('./index-e3c1cf60.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-3b9061fc.js');
8
+ const index = require('./index-e3c1cf60.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
 
11
- const duetSubmenuBarDropdownLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}.duet-submenu-bar-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-submenu-bar-dropdown-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-submenu-bar-dropdown-link:hover{color:#004d80;background:#f3f9fc}.duet-submenu-bar-dropdown-link:hover.duet-theme-turva{color:#940925;background:#e4e4e6}.duet-submenu-bar-dropdown-link.highlight{color:#0077b3}.duet-submenu-bar-dropdown-link.highlight.duet-theme-turva{color:#c60c30}";
11
+ const duetSubmenuBarDropdownLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}.duet-submenu-bar-dropdown-link{display:flex;flex-direction:row;gap:0.5rem;align-items:center;justify-content:flex-start;height:100%;padding:8px 20px 8px 60px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.25;color:#00294d;text-align:center;text-decoration:none}@media (min-width: 62em){.duet-submenu-bar-dropdown-link{padding:0.675rem 16px;font-size:0.875rem}}.duet-submenu-bar-dropdown-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}@media (min-width: 62em){.duet-submenu-bar-dropdown-link:hover{color:#004d80;background:#f3f9fc}.duet-submenu-bar-dropdown-link:hover.duet-theme-turva{color:#940925;background:#e4e4e6}}.duet-submenu-bar-dropdown-link.highlight{color:#0077b3}.duet-submenu-bar-dropdown-link.highlight.duet-theme-turva{color:#c60c30}";
12
12
 
13
13
  const DuetSubmenuBarDropdownLink = class {
14
14
  constructor(hostRef) {
@@ -5,17 +5,32 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-3b9061fc.js');
8
+ const index = require('./index-e3c1cf60.js');
9
+ const tokens = require('./tokens-21b244ee.js');
9
10
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
11
 
11
- const duetSubmenuBarDropdownCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}.duet-submenu-bar-dropdown{position:relative;height:100%}.duet-submenu-bar-dropdown button{position:relative;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;height:100%;padding:12px 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-submenu-bar-dropdown button .label{display:flex;gap:5px;align-items:center;justify-content:center}.duet-submenu-bar-dropdown button .caret{position:absolute;right:12px}.duet-submenu-bar-dropdown button:hover{color:#004d80;background:#e6f2f8}.duet-submenu-bar-dropdown button:hover.active{color:#0077b3}.duet-submenu-bar-dropdown button.active{color:#0077b3}.duet-submenu-bar-dropdown button.active .caret{transform:rotate(180deg)}.duet-theme-turva .duet-submenu-bar-dropdown button.active{color:#c60c30}.duet-submenu-bar-dropdown button.active::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-submenu-bar-dropdown button.active::after{background:#c60c30}.duet-submenu-bar-dropdown .items{position:absolute;top:101%;z-index:600;display:flex;flex-direction:column;align-items:center;justify-content:center;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-submenu-bar-dropdown .items.hidden{display:none}.duet-submenu-bar-dropdown.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-submenu-bar-dropdown.duet-theme-turva button:hover{color:#940925;background:#e4e4e6}.duet-submenu-bar-dropdown.duet-theme-turva button.active{color:#c60c30}.duet-submenu-bar-dropdown.duet-theme-turva button.active::after{background:#c60c30}.duet-submenu-bar-dropdown.duet-theme-turva .items{background:#f5f5f7}";
12
+ const duetSubmenuBarDropdownCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-dropdown{position:relative;height:100%}.duet-submenu-bar-dropdown button{position:relative;display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:12px 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:1rem;font-weight:600;line-height:1.25;color:#00294d;text-align:center;text-decoration:none;cursor:pointer}@media (min-width: 62em){.duet-submenu-bar-dropdown button{flex-direction:column;gap:5px;align-items:center;justify-content:center;width:auto;font-size:0.875rem;color:#004d80}}.duet-submenu-bar-dropdown button .label{display:flex;gap:5px;align-items:center;justify-content:center}.duet-submenu-bar-dropdown button.active .caret{transform:rotate(180deg)}@media (min-width: 62em){.duet-submenu-bar-dropdown button .caret{position:absolute;right:12px}.duet-submenu-bar-dropdown button:hover{color:#00294d;background:#e6f2f8}.duet-submenu-bar-dropdown button:hover.active{color:#0077b3}.duet-submenu-bar-dropdown button.active{color:#0077b3}.duet-theme-turva .duet-submenu-bar-dropdown button.active{color:#c60c30}.duet-submenu-bar-dropdown button.active::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(1px)}.duet-theme-turva .duet-submenu-bar-dropdown button.active::after{background:#c60c30}}.duet-submenu-bar-dropdown .items{display:flex;flex-direction:column;align-items:center;justify-content:center;max-height:1000px;padding:0 0 16px;overflow-y:auto;color:#00294d;visibility:visible;transition:max-height 0.3s ease-in, padding 0.3s ease-in}@media (min-width: 62em){.duet-submenu-bar-dropdown .items{position:absolute;top:102%;z-index:600;min-width:320px;padding:0;background:white;border-radius:0 0 4px 4px;box-shadow:0 6px 6px 0 rgba(0, 41, 77, 0.1);transition:none}}.duet-submenu-bar-dropdown .items.hidden{max-height:0;padding:0;overflow:hidden;visibility:hidden;transition:max-height 0.3s ease-out, padding 0.3s ease-out}.duet-submenu-bar-dropdown.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button{color:#940925}.duet-submenu-bar-dropdown.duet-theme-turva button:hover{color:#171c3a;background:#e4e4e6}}.duet-submenu-bar-dropdown.duet-theme-turva button.active{color:#c60c30}.duet-submenu-bar-dropdown.duet-theme-turva button.active::after{background:#c60c30}.duet-submenu-bar-dropdown.duet-theme-turva .items{background:#f5f5f7}";
12
13
 
13
14
  const DuetSubmenuBarDropdown = class {
14
15
  constructor(hostRef) {
15
16
  index.registerInstance(this, hostRef);
17
+ /**
18
+ * Own Properties.
19
+ */
20
+ this.mql = [window.matchMedia(tokens.media_query_large.replace(/'/g, ""))];
21
+ this.boundMqlFunctions = [];
22
+ this.changeIconSize = () => {
23
+ if (this.mql[0].matches) {
24
+ this.iconSize = "x-small";
25
+ }
26
+ else {
27
+ this.iconSize = "small";
28
+ }
29
+ };
16
30
  this.onClick = () => {
17
31
  this.open = !this.open;
18
32
  };
33
+ this.iconSize = "small";
19
34
  this.theme = "";
20
35
  this.open = false;
21
36
  this.icon = undefined;
@@ -32,6 +47,26 @@ const DuetSubmenuBarDropdown = class {
32
47
  componentWillLoad() {
33
48
  themeableComponent.inheritGlobalTheme(this);
34
49
  }
50
+ connectedCallback() {
51
+ this.changeIconSize();
52
+ for (let i = 0; i < this.mql.length; i++) {
53
+ // addEventListener is not available in Stencil hydrate
54
+ if (this.mql[i].addEventListener) {
55
+ const bound = this.changeIconSize.bind(this);
56
+ this.mql[i].addEventListener("change", bound);
57
+ this.boundMqlFunctions[i] = bound;
58
+ }
59
+ }
60
+ }
61
+ disconnectedCallback() {
62
+ for (let i = 0; i < this.mql.length; i++) {
63
+ // removeEventListener is not available in Stencil hydrate
64
+ if (this.mql[i].removeEventListener) {
65
+ this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
66
+ }
67
+ }
68
+ this.boundMqlFunctions = [];
69
+ }
35
70
  /**
36
71
  * render() function
37
72
  * Always the last one in the class.
@@ -39,7 +74,7 @@ const DuetSubmenuBarDropdown = class {
39
74
  render() {
40
75
  return (index.h(index.Host, null, index.h("div", { class: { "duet-submenu-bar-dropdown": true, "duet-theme-turva": this.theme === "turva", active: this.open } }, index.h("button", { "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
41
76
  active: this.open,
42
- }, onClick: this.onClick }, this.icon && index.h("duet-icon", { name: this.icon, size: "x-small", margin: "none" }), index.h("div", { class: "label" }, index.h("slot", { name: "label" }), index.h("duet-icon", { class: "caret", name: "action-arrow-down-small", margin: "none", size: "xxx-small" }))), index.h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
77
+ }, onClick: this.onClick }, this.icon && index.h("duet-icon", { name: this.icon, size: this.iconSize, margin: "none" }), index.h("div", { class: "label" }, index.h("slot", { name: "label" }), index.h("duet-icon", { class: "caret", name: "action-arrow-down-small", margin: "none", size: "xxx-small" }))), index.h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
43
78
  items: true,
44
79
  hidden: !this.open,
45
80
  } }, index.h("slot", null)))));
@@ -5,14 +5,29 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-3b9061fc.js');
8
+ const index = require('./index-e3c1cf60.js');
9
+ const tokens = require('./tokens-21b244ee.js');
9
10
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
11
 
11
- const duetSubmenuBarLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}.duet-submenu-bar-link{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;height:100%;padding:12px 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-submenu-bar-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-submenu-bar-link:hover{color:#004d80;background:#e6f2f8}.duet-submenu-bar-link:hover.duet-theme-turva{color:#940925;background:#e4e4e6}";
12
+ const duetSubmenuBarLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-link{display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;height:100%;padding:12px 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:1rem;font-weight:600;line-height:1.25;color:#00294d;text-align:center;text-decoration:none}@media (min-width: 62em){.duet-submenu-bar-link{flex-direction:column;gap:5px;align-items:center;justify-content:center;font-size:0.875rem;color:#004d80}}.duet-submenu-bar-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}@media (min-width: 62em){.duet-submenu-bar-link.duet-theme-turva{color:#940925}}@media (min-width: 62em){.duet-submenu-bar-link:hover{color:#00294d;background:#e6f2f8}.duet-submenu-bar-link:hover.duet-theme-turva{color:#171c3a;background:#e4e4e6}}";
12
13
 
13
14
  const DuetSubmenuBarLink = class {
14
15
  constructor(hostRef) {
15
16
  index.registerInstance(this, hostRef);
17
+ /**
18
+ * Own Properties.
19
+ */
20
+ this.mql = [window.matchMedia(tokens.media_query_large.replace(/'/g, ""))];
21
+ this.boundMqlFunctions = [];
22
+ this.changeIconSize = () => {
23
+ if (this.mql[0].matches) {
24
+ this.iconSize = "x-small";
25
+ }
26
+ else {
27
+ this.iconSize = "small";
28
+ }
29
+ };
30
+ this.iconSize = "small";
16
31
  this.theme = "";
17
32
  this.href = "#";
18
33
  this.icon = undefined;
@@ -23,12 +38,32 @@ const DuetSubmenuBarLink = class {
23
38
  componentWillLoad() {
24
39
  themeableComponent.inheritGlobalTheme(this);
25
40
  }
41
+ connectedCallback() {
42
+ this.changeIconSize();
43
+ for (let i = 0; i < this.mql.length; i++) {
44
+ // addEventListener is not available in Stencil hydrate
45
+ if (this.mql[i].addEventListener) {
46
+ const bound = this.changeIconSize.bind(this);
47
+ this.mql[i].addEventListener("change", bound);
48
+ this.boundMqlFunctions[i] = bound;
49
+ }
50
+ }
51
+ }
52
+ disconnectedCallback() {
53
+ for (let i = 0; i < this.mql.length; i++) {
54
+ // removeEventListener is not available in Stencil hydrate
55
+ if (this.mql[i].removeEventListener) {
56
+ this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
57
+ }
58
+ }
59
+ this.boundMqlFunctions = [];
60
+ }
26
61
  /**
27
62
  * render() function
28
63
  * Always the last one in the class.
29
64
  */
30
65
  render() {
31
- return (index.h(index.Host, null, index.h("a", { class: { "duet-submenu-bar-link": true, "duet-theme-turva": this.theme === "turva" }, href: this.href, role: "menuitem" }, this.icon && index.h("duet-icon", { name: this.icon, size: "x-small", margin: "none" }), index.h("slot", null))));
66
+ return (index.h(index.Host, null, index.h("a", { class: { "duet-submenu-bar-link": true, "duet-theme-turva": this.theme === "turva" }, href: this.href, role: "menuitem" }, this.icon && index.h("duet-icon", { name: this.icon, size: this.iconSize, margin: "none" }), index.h("slot", null))));
32
67
  }
33
68
  get element() { return index.getElement(this); }
34
69
  };
@@ -5,15 +5,19 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-3b9061fc.js');
8
+ const index = require('./index-e3c1cf60.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
 
11
- const duetSubmenuBarCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%}.duet-submenu-bar{display:flex;align-items:center;justify-content:center;background:#f3f9fc;border-bottom:1px solid #cde5f1}.duet-submenu-bar.duet-theme-turva{background:#f5f5f7;border-bottom:1px solid #e4e4e6}";
11
+ const duetSubmenuBarCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%}:host slot::slotted(duet-submenu-bar-link),:host slot::slotted(duet-submenu-bar-dropdown){position:relative;top:-0.5rem;opacity:0;transition:top 0.3s ease-in, opacity 0.3s ease-in}:host([open]) slot::slotted(duet-submenu-bar-link),:host([open]) slot::slotted(duet-submenu-bar-dropdown){top:0;opacity:1}@media (min-width: 62em){:host slot::slotted(duet-submenu-bar-link),:host slot::slotted(duet-submenu-bar-dropdown){position:relative;top:auto;opacity:1;transition:none}}.duet-submenu-bar{position:relative;background:#f3f9fc}@media (min-width: 62em){.duet-submenu-bar{border-bottom:1px solid #cde5f1}}.duet-submenu-bar button{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 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:0.875rem;font-weight:400;line-height:1.25;color:#00294d}.duet-submenu-bar button.active .caret{transform:rotate(180deg)}.duet-submenu-bar button .label{position:relative;display:flex;gap:8px;align-items:center;justify-content:center}@media (min-width: 62em){.duet-submenu-bar button{display:none}}.duet-submenu-bar .items{position:absolute;z-index:400;width:100%;max-height:1000px;visibility:visible;background:#f3f9fc;border-bottom:1px solid #cfd2d4;transition:max-height 0.3s ease-in, border-width 0.3s linear}.duet-submenu-bar .items.hidden{max-height:0;overflow:hidden;visibility:hidden;border-bottom:0 solid #cfd2d4;transition:max-height 0.3s ease-out, border-width 0.3s linear}@media (min-width: 62em){.duet-submenu-bar .items,.duet-submenu-bar .items.hidden{position:static;z-index:auto;display:flex;flex-direction:row;align-items:center;justify-content:center;max-height:unset;overflow:visible;visibility:visible;border:0;transition:none}}.duet-submenu-bar.duet-theme-turva{background:#f5f5f7;border-bottom:1px solid #e4e4e6}.duet-submenu-bar.duet-theme-turva .items{background:#f5f5f7}";
12
12
 
13
13
  const DuetSubmenuBar = class {
14
14
  constructor(hostRef) {
15
15
  index.registerInstance(this, hostRef);
16
+ this.onClick = () => {
17
+ this.open = !this.open;
18
+ };
16
19
  this.theme = "";
20
+ this.open = false;
17
21
  }
18
22
  /**
19
23
  * Component lifecycle events.
@@ -26,7 +30,12 @@ const DuetSubmenuBar = class {
26
30
  * Always the last one in the class.
27
31
  */
28
32
  render() {
29
- return (index.h(index.Host, null, index.h("div", { class: { "duet-submenu-bar": true, "duet-theme-turva": this.theme === "turva" }, role: "menubar" }, index.h("slot", null))));
33
+ return (index.h(index.Host, null, index.h("div", { class: { "duet-submenu-bar": true, "duet-theme-turva": this.theme === "turva" }, role: "menubar" }, index.h("button", { "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
34
+ active: this.open,
35
+ }, onClick: this.onClick }, index.h("div", { class: "label" }, index.h("slot", { name: "label" }), index.h("duet-icon", { class: "caret", name: "action-arrow-down-small", margin: "none", size: "xxx-small" }))), index.h("div", { role: "menu", id: "menu", "aria-labelledby": "button", "aria-expanded": this.open ? "true" : "false", class: {
36
+ items: true,
37
+ hidden: !this.open,
38
+ } }, index.h("slot", null)))));
30
39
  }
31
40
  get element() { return index.getElement(this); }
32
41
  };