@duetds/components 6.2.5 → 6.2.7

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 (508) hide show
  1. package/hydrate/index.js +260 -323
  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 +3 -3
  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 +6 -2
  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 +2 -2
  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 +15 -2
  29. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +26 -15
  30. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +22 -3
  31. package/lib/cjs/duet-menu-bar.cjs.entry.js +4 -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 +2 -80
  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-step_2.cjs.entry.js +1 -1
  45. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +43 -0
  46. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +51 -0
  47. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +37 -0
  48. package/lib/cjs/duet-submenu-bar.cjs.entry.js +35 -0
  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 +1 -1
  52. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +10 -15
  53. package/lib/cjs/duet-toolbar-link.cjs.entry.js +2 -2
  54. package/lib/cjs/duet-toolbar.cjs.entry.js +2 -2
  55. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  56. package/lib/cjs/duet-tray.cjs.entry.js +1 -1
  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-18ea61a6.js → focus-utils-0c88987e.js} +1 -1
  61. package/lib/cjs/{index-d2f05eb8.js → index-af5440b5.js} +1 -1
  62. package/lib/cjs/loader.cjs.js +2 -2
  63. package/lib/collection/collection-manifest.json +6 -6
  64. package/lib/collection/components/duet-choice/duet-choice.css +6 -1
  65. package/lib/collection/components/duet-divider/duet-divider.js +27 -1
  66. package/lib/collection/components/duet-fieldset/duet-fieldset.css +2 -0
  67. package/lib/collection/components/duet-menu-bar/duet-menu-bar.css +8 -1
  68. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +19 -1
  69. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.css +4 -3
  70. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +31 -32
  71. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.css +10 -2
  72. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +31 -0
  73. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.css +47 -7
  74. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +38 -1
  75. package/lib/collection/components/duet-nav/duet-nav.css +5 -0
  76. package/lib/collection/components/duet-nav/duet-nav.js +0 -117
  77. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.css +37 -0
  78. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +63 -0
  79. package/lib/collection/components/{duet-menu-bar-menu-dropdown/duet-menu-bar-menu-dropdown.css → duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.css} +28 -18
  80. package/lib/collection/components/{duet-menu-bar-menu-dropdown/duet-menu-bar-menu-dropdown.js → duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js} +20 -37
  81. package/lib/collection/components/{duet-menu-bar-menu-dropdown-link/duet-menu-bar-menu-dropdown-link.css → duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.css} +6 -6
  82. package/lib/collection/components/{duet-menu-bar-menu-dropdown-link/duet-menu-bar-menu-dropdown-link.js → duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js} +6 -6
  83. package/lib/collection/components/{duet-menu-bar-menu-link/duet-menu-bar-menu-link.css → duet-submenu-bar-link/duet-submenu-bar-link.css} +5 -17
  84. package/lib/collection/components/{duet-menu-bar-menu-link/duet-menu-bar-menu-link.js → duet-submenu-bar-link/duet-submenu-bar-link.js} +5 -24
  85. package/lib/collection/components/duet-toolbar/duet-toolbar.css +1 -0
  86. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.css +2 -3
  87. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +15 -32
  88. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +1 -1
  89. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  90. package/lib/dist-custom-elements/duet-alert.js +1 -1
  91. package/lib/dist-custom-elements/duet-badge.js +1 -1
  92. package/lib/dist-custom-elements/duet-breadcrumb.js +2 -2
  93. package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
  94. package/lib/dist-custom-elements/duet-button.js +1 -1
  95. package/lib/dist-custom-elements/duet-caption.js +1 -1
  96. package/lib/dist-custom-elements/duet-card.js +3 -3
  97. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  98. package/lib/dist-custom-elements/duet-choice-group.js +6 -6
  99. package/lib/dist-custom-elements/duet-choice.js +6 -6
  100. package/lib/dist-custom-elements/duet-collapsible.js +2 -2
  101. package/lib/dist-custom-elements/duet-combobox.js +2 -2
  102. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  103. package/lib/dist-custom-elements/duet-date-picker.js +8 -8
  104. package/lib/dist-custom-elements/duet-divider.js +1 -1
  105. package/lib/dist-custom-elements/duet-editable-table.js +1 -1
  106. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  107. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  108. package/lib/dist-custom-elements/duet-footer.js +4 -4
  109. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  110. package/lib/dist-custom-elements/duet-grid.js +1 -1
  111. package/lib/dist-custom-elements/duet-header.js +8 -8
  112. package/lib/dist-custom-elements/duet-heading.js +1 -1
  113. package/lib/dist-custom-elements/duet-hero.js +9 -9
  114. package/lib/dist-custom-elements/duet-icon.js +1 -1
  115. package/lib/dist-custom-elements/duet-input.js +1 -1
  116. package/lib/dist-custom-elements/duet-label.js +1 -1
  117. package/lib/dist-custom-elements/duet-layout.js +1 -1
  118. package/lib/dist-custom-elements/duet-link.js +1 -1
  119. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  120. package/lib/dist-custom-elements/duet-list.js +1 -1
  121. package/lib/dist-custom-elements/duet-logo.js +1 -1
  122. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +18 -4
  123. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +28 -17
  124. package/lib/dist-custom-elements/duet-menu-bar-link.js +24 -4
  125. package/lib/dist-custom-elements/duet-menu-bar.js +6 -4
  126. package/lib/dist-custom-elements/duet-modal.js +7 -7
  127. package/lib/dist-custom-elements/duet-multiselect.js +8 -8
  128. package/lib/dist-custom-elements/duet-nav.js +3 -81
  129. package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
  130. package/lib/dist-custom-elements/duet-notification.js +2 -2
  131. package/lib/dist-custom-elements/duet-number-input.js +7 -7
  132. package/lib/dist-custom-elements/duet-pagination.js +7 -7
  133. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  134. package/lib/dist-custom-elements/duet-progress.js +1 -1
  135. package/lib/dist-custom-elements/duet-radio-group.js +6 -6
  136. package/lib/dist-custom-elements/duet-radio.js +1 -1
  137. package/lib/dist-custom-elements/duet-range-slider.js +2 -2
  138. package/lib/dist-custom-elements/duet-range-stepper.js +4 -4
  139. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  140. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  141. package/lib/dist-custom-elements/duet-select.js +1 -1
  142. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  143. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  144. package/lib/dist-custom-elements/duet-step.js +4 -4
  145. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  146. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.d.ts +11 -0
  147. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +69 -0
  148. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.d.ts +11 -0
  149. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +75 -0
  150. package/lib/dist-custom-elements/{duet-menu-bar-menu-link.d.ts → duet-submenu-bar-link.d.ts} +4 -4
  151. package/lib/dist-custom-elements/duet-submenu-bar-link.js +61 -0
  152. package/lib/dist-custom-elements/{duet-menu-bar-menu.d.ts → duet-submenu-bar.d.ts} +4 -4
  153. package/lib/dist-custom-elements/duet-submenu-bar.js +51 -0
  154. package/lib/dist-custom-elements/duet-tab-group.js +8 -8
  155. package/lib/dist-custom-elements/duet-tab.js +1 -1
  156. package/lib/dist-custom-elements/duet-table.js +1 -1
  157. package/lib/dist-custom-elements/duet-textarea.js +8 -8
  158. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  159. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
  160. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +12 -17
  161. package/lib/dist-custom-elements/duet-toolbar-link.js +3 -3
  162. package/lib/dist-custom-elements/duet-toolbar.js +2 -2
  163. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  164. package/lib/dist-custom-elements/duet-tray.js +3 -3
  165. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  166. package/lib/dist-custom-elements/duet-upload.js +18 -18
  167. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  168. package/lib/dist-custom-elements/index.d.ts +4 -4
  169. package/lib/dist-custom-elements/index.js +5 -5
  170. package/lib/dist-custom-elements/{p-af2e8de4.js → p-02fd2598.js} +5 -5
  171. package/lib/dist-custom-elements/{p-d2402b45.js → p-041d080b.js} +3 -3
  172. package/lib/dist-custom-elements/{p-0cc49790.js → p-09df2830.js} +1 -1
  173. package/lib/dist-custom-elements/{p-4115062c.js → p-111556c2.js} +1 -1
  174. package/lib/dist-custom-elements/{p-d628dd87.js → p-1237a4c4.js} +3 -3
  175. package/lib/dist-custom-elements/{p-bd64a84d.js → p-297a92d2.js} +2 -2
  176. package/lib/dist-custom-elements/{p-f7c0e5bf.js → p-309315ce.js} +1 -1
  177. package/lib/dist-custom-elements/{p-fed8d27a.js → p-35e8551c.js} +2 -2
  178. package/lib/dist-custom-elements/{p-4447816d.js → p-3df2d486.js} +1 -1
  179. package/lib/dist-custom-elements/{p-14a163e6.js → p-4a0e635e.js} +1 -1
  180. package/lib/dist-custom-elements/{p-10feffd3.js → p-56ed1961.js} +1 -1
  181. package/lib/dist-custom-elements/{p-94eae3e6.js → p-5733624f.js} +7 -3
  182. package/lib/dist-custom-elements/{p-88d217a7.js → p-5a1723f7.js} +2 -2
  183. package/lib/dist-custom-elements/{p-d34c42bc.js → p-5fbf5fd3.js} +1 -1
  184. package/lib/dist-custom-elements/{p-db135ec9.js → p-76006b75.js} +1 -1
  185. package/lib/dist-custom-elements/{p-354f8a94.js → p-862a4479.js} +1 -1
  186. package/lib/dist-custom-elements/{p-25d4fffb.js → p-8d37e357.js} +1 -1
  187. package/lib/dist-custom-elements/{p-37dd7faf.js → p-8e81dfbe.js} +1 -1
  188. package/lib/dist-custom-elements/{p-b5ea480c.js → p-9013a0be.js} +2 -2
  189. package/lib/dist-custom-elements/{p-ad7292b3.js → p-92c140f4.js} +3 -3
  190. package/lib/dist-custom-elements/{p-fddad5df.js → p-9a3387d5.js} +1 -1
  191. package/lib/dist-custom-elements/{p-9245c901.js → p-9d6949a2.js} +1 -1
  192. package/lib/dist-custom-elements/{p-7958dc0c.js → p-9e847d63.js} +6 -6
  193. package/lib/dist-custom-elements/{p-65ee8608.js → p-a27fa23e.js} +3 -3
  194. package/lib/dist-custom-elements/{p-eb6fc032.js → p-ba6b8587.js} +4 -4
  195. package/lib/dist-custom-elements/{p-737dd784.js → p-bc2feeb2.js} +6 -6
  196. package/lib/dist-custom-elements/{p-cab1e8a0.js → p-c10341a6.js} +7 -7
  197. package/lib/dist-custom-elements/{p-9fef7d37.js → p-cac47513.js} +1 -1
  198. package/lib/dist-custom-elements/{p-82fec063.js → p-d3c8a265.js} +1 -1
  199. package/lib/dist-custom-elements/{p-a1212d29.js → p-ef3f8d37.js} +1 -1
  200. package/lib/dist-custom-elements/{p-0ef384ca.js → p-ff072d48.js} +1 -1
  201. package/lib/duet/duet.esm.js +1 -1
  202. package/lib/duet/duet.js +1 -1
  203. package/lib/duet/p-036bfb80.entry.js +4 -0
  204. package/lib/duet/{p-592bcdd4.entry.js → p-03d3502b.entry.js} +1 -1
  205. package/lib/duet/{p-dc51f077.entry.js → p-07d534c7.entry.js} +1 -1
  206. package/lib/duet/p-08c79761.entry.js +4 -0
  207. package/lib/duet/{p-914c3280.system.entry.js → p-0a57b769.system.entry.js} +1 -1
  208. package/lib/duet/{p-d971be46.entry.js → p-0c170a4d.entry.js} +1 -1
  209. package/lib/duet/{p-5e134670.entry.js → p-0ce30a75.entry.js} +1 -1
  210. package/lib/duet/{p-f3d0d889.entry.js → p-0dd46e3f.entry.js} +1 -1
  211. package/lib/duet/p-15d0cceb.system.entry.js +4 -0
  212. package/lib/duet/{p-b5dc8a8f.system.entry.js → p-17ced46d.system.entry.js} +1 -1
  213. package/lib/duet/p-1d847ea3.entry.js +4 -0
  214. package/lib/duet/{p-2f0f8b9e.system.entry.js → p-1d9b86df.system.entry.js} +1 -1
  215. package/lib/duet/{p-60c70efa.entry.js → p-1ea34742.entry.js} +1 -1
  216. package/lib/duet/{p-f6712ec8.system.entry.js → p-1f288583.system.entry.js} +1 -1
  217. package/lib/duet/p-208ebcbc.system.entry.js +4 -0
  218. package/lib/duet/{p-c2c48bb2.entry.js → p-268e3c8c.entry.js} +1 -1
  219. package/lib/duet/{p-f678edf7.system.entry.js → p-2d9c41e0.system.entry.js} +1 -1
  220. package/lib/duet/{p-8a47d599.system.entry.js → p-2e9cf2a4.system.entry.js} +1 -1
  221. package/lib/duet/p-3079f1be.entry.js +4 -0
  222. package/lib/duet/{p-0d6723f5.entry.js → p-30b066fd.entry.js} +1 -1
  223. package/lib/duet/{p-0236fc28.system.entry.js → p-3318424f.system.entry.js} +1 -1
  224. package/lib/duet/{p-6db0f8c0.entry.js → p-376729d9.entry.js} +1 -1
  225. package/lib/duet/{p-45b0469f.entry.js → p-3b828b32.entry.js} +1 -1
  226. package/lib/duet/{p-f150740b.entry.js → p-3b865018.entry.js} +1 -1
  227. package/lib/duet/{p-028da443.system.entry.js → p-3c8ad8cd.system.entry.js} +1 -1
  228. package/lib/duet/{p-c41bfab0.entry.js → p-3d9a52a3.entry.js} +1 -1
  229. package/lib/duet/{p-89bf7be7.entry.js → p-41b9de32.entry.js} +1 -1
  230. package/lib/duet/{p-c12ecca9.entry.js → p-444fc8e9.entry.js} +1 -1
  231. package/lib/duet/{p-bc2c1014.entry.js → p-450786a3.entry.js} +1 -1
  232. package/lib/duet/{p-c3a0505e.system.entry.js → p-47309237.system.entry.js} +1 -1
  233. package/lib/duet/{p-58de4753.system.entry.js → p-48f61d09.system.entry.js} +1 -1
  234. package/lib/duet/{p-09e9e6e0.system.entry.js → p-4e15e266.system.entry.js} +1 -1
  235. package/lib/duet/{p-da803459.entry.js → p-4ee24ce5.entry.js} +1 -1
  236. package/lib/duet/{p-06c01b8a.system.entry.js → p-4fabf780.system.entry.js} +1 -1
  237. package/lib/duet/{p-d16434dc.entry.js → p-515d75a6.entry.js} +1 -1
  238. package/lib/duet/{p-6999702a.js → p-52feef6c.js} +1 -1
  239. package/lib/duet/{p-1e442975.entry.js → p-5589e482.entry.js} +1 -1
  240. package/lib/duet/{p-10b1ea3e.system.entry.js → p-5a78ec38.system.entry.js} +1 -1
  241. package/lib/duet/{p-f2bcb922.system.entry.js → p-5b19cf83.system.entry.js} +1 -1
  242. package/lib/duet/{p-696d99ff.system.entry.js → p-5b3359ff.system.entry.js} +1 -1
  243. package/lib/duet/{p-00ee31e2.system.entry.js → p-6017caa0.system.entry.js} +1 -1
  244. package/lib/duet/{p-0aae8ebf.entry.js → p-62478f35.entry.js} +1 -1
  245. package/lib/duet/p-627ed5fc.system.entry.js +4 -0
  246. package/lib/duet/{p-ef3f4213.entry.js → p-63adae76.entry.js} +1 -1
  247. package/lib/duet/{p-0f8e4b6a.entry.js → p-6617073d.entry.js} +1 -1
  248. package/lib/duet/{p-9101f9ed.entry.js → p-67bc370e.entry.js} +1 -1
  249. package/lib/duet/{p-dd676f12.system.entry.js → p-68478e08.system.entry.js} +1 -1
  250. package/lib/duet/{p-a8d942ea.entry.js → p-68aa0ea8.entry.js} +1 -1
  251. package/lib/duet/{p-d58991bc.system.js → p-6c47a4da.system.js} +1 -1
  252. package/lib/duet/{p-43750071.system.entry.js → p-6df9d2ef.system.entry.js} +1 -1
  253. package/lib/duet/{p-d2ef832d.entry.js → p-6e3529b5.entry.js} +1 -1
  254. package/lib/duet/{p-0d218007.entry.js → p-723e880c.entry.js} +1 -1
  255. package/lib/duet/p-72c8a94d.system.entry.js +4 -0
  256. package/lib/duet/{p-1a45eddb.system.entry.js → p-72d7c562.system.entry.js} +1 -1
  257. package/lib/duet/{p-855f9e2a.system.entry.js → p-769b3759.system.entry.js} +1 -1
  258. package/lib/duet/p-784af1a6.system.entry.js +4 -0
  259. package/lib/duet/{p-e621c31c.system.entry.js → p-78706ed9.system.entry.js} +1 -1
  260. package/lib/duet/{p-e71a6257.system.js → p-7957246c.system.js} +1 -1
  261. package/lib/duet/{p-ebc09697.system.entry.js → p-79914171.system.entry.js} +1 -1
  262. package/lib/duet/{p-6f2e72e2.system.entry.js → p-7af1782b.system.entry.js} +1 -1
  263. package/lib/duet/{p-4e2db855.system.entry.js → p-7ed7ca7e.system.entry.js} +1 -1
  264. package/lib/duet/p-81e3703c.system.entry.js +4 -0
  265. package/lib/duet/{p-c17cae49.entry.js → p-82132ff4.entry.js} +1 -1
  266. package/lib/duet/{p-0fc0e90e.entry.js → p-84260748.entry.js} +1 -1
  267. package/lib/duet/{p-7fcbf80a.system.entry.js → p-844d1319.system.entry.js} +1 -1
  268. package/lib/duet/{p-575e4d53.system.entry.js → p-846b46e9.system.entry.js} +1 -1
  269. package/lib/duet/{p-f9afad76.system.entry.js → p-84cd7524.system.entry.js} +1 -1
  270. package/lib/duet/p-8638d7de.entry.js +4 -0
  271. package/lib/duet/p-89dfbfbd.system.entry.js +4 -0
  272. package/lib/duet/{p-cf11b05b.entry.js → p-8af49320.entry.js} +1 -1
  273. package/lib/duet/{p-61f8dd7f.system.entry.js → p-8da49dbd.system.entry.js} +1 -1
  274. package/lib/duet/{p-b2c913ea.entry.js → p-8f539d42.entry.js} +1 -1
  275. package/lib/duet/{p-0e1a3c6d.entry.js → p-938691b8.entry.js} +1 -1
  276. package/lib/duet/p-93e7f66e.entry.js +4 -0
  277. package/lib/duet/p-95a3277e.entry.js +4 -0
  278. package/lib/duet/{p-0426e86f.system.entry.js → p-96a1387b.system.entry.js} +1 -1
  279. package/lib/duet/{p-1184c37e.entry.js → p-998dc9d1.entry.js} +1 -1
  280. package/lib/duet/p-9df3de8f.system.entry.js +4 -0
  281. package/lib/duet/p-9e2cc27d.system.js +4 -0
  282. package/lib/duet/{p-14e93ad6.system.entry.js → p-9ebc09e1.system.entry.js} +1 -1
  283. package/lib/duet/p-9ee5e0f4.entry.js +4 -0
  284. package/lib/duet/p-9f2d935d.system.entry.js +4 -0
  285. package/lib/duet/p-a095dfc2.system.entry.js +4 -0
  286. package/lib/duet/p-a13ea69f.js +4 -0
  287. package/lib/duet/{p-16cbd476.entry.js → p-a519e8ab.entry.js} +1 -1
  288. package/lib/duet/{p-81e66ef1.entry.js → p-ad1f68b7.entry.js} +1 -1
  289. package/lib/duet/{p-0285e5d3.entry.js → p-af0fd770.entry.js} +1 -1
  290. package/lib/duet/{p-acea52f5.entry.js → p-b32ca39b.entry.js} +1 -1
  291. package/lib/duet/{p-5bffb89f.entry.js → p-b5bd4f2d.entry.js} +1 -1
  292. package/lib/duet/p-b6dd8415.entry.js +4 -0
  293. package/lib/duet/{p-1b63c3bf.entry.js → p-b88f9945.entry.js} +1 -1
  294. package/lib/duet/{p-948d492d.system.entry.js → p-bcb168b2.system.entry.js} +1 -1
  295. package/lib/duet/{p-f7453c05.system.entry.js → p-be4784d8.system.entry.js} +1 -1
  296. package/lib/duet/{p-7e67fedc.system.entry.js → p-c08a9b16.system.entry.js} +1 -1
  297. package/lib/duet/p-c1618675.system.entry.js +4 -0
  298. package/lib/duet/{p-758c0528.system.entry.js → p-c1c987f0.system.entry.js} +1 -1
  299. package/lib/duet/{p-11c58a6b.entry.js → p-c93d9940.entry.js} +1 -1
  300. package/lib/duet/{p-90ea4509.system.entry.js → p-c961ac50.system.entry.js} +1 -1
  301. package/lib/duet/p-cd3c5316.entry.js +4 -0
  302. package/lib/duet/{p-f01d234f.system.entry.js → p-ce3f1348.system.entry.js} +1 -1
  303. package/lib/duet/p-d0c69600.entry.js +4 -0
  304. package/lib/duet/{p-ac4c233b.entry.js → p-d6a70bc1.entry.js} +1 -1
  305. package/lib/duet/p-d9980b95.entry.js +4 -0
  306. package/lib/duet/{p-ec635593.entry.js → p-df2845e2.entry.js} +1 -1
  307. package/lib/duet/{p-bcd4a927.system.entry.js → p-e74d9840.system.entry.js} +1 -1
  308. package/lib/duet/{p-b293c2ff.entry.js → p-e80de484.entry.js} +1 -1
  309. package/lib/duet/{p-9a14ca19.system.entry.js → p-e81f5a5a.system.entry.js} +1 -1
  310. package/lib/duet/{p-b3046425.entry.js → p-e86b6bd8.entry.js} +1 -1
  311. package/lib/duet/p-ea72adbd.system.entry.js +4 -0
  312. package/lib/duet/{p-daa20c36.system.entry.js → p-ea8390ab.system.entry.js} +1 -1
  313. package/lib/duet/{p-16b61523.system.entry.js → p-ed685d17.system.entry.js} +1 -1
  314. package/lib/duet/p-ee8c29ef.system.entry.js +4 -0
  315. package/lib/duet/{p-c5e54be9.entry.js → p-f5f638b4.entry.js} +1 -1
  316. package/lib/duet/p-f754f7e0.entry.js +4 -0
  317. package/lib/duet/{p-4644616b.entry.js → p-f8eeb4bc.entry.js} +1 -1
  318. package/lib/duet/{p-9f60735a.system.entry.js → p-f92ffbf0.system.entry.js} +1 -1
  319. package/lib/duet/{p-79c8d35c.system.entry.js → p-faa38754.system.entry.js} +1 -1
  320. package/lib/duet/{p-ea8e5649.system.entry.js → p-ff40e0e6.system.entry.js} +2 -2
  321. package/lib/duet/p-ffe32425.system.entry.js +4 -0
  322. package/lib/esm/duet-action-button.entry.js +1 -1
  323. package/lib/esm/duet-alert.entry.js +1 -1
  324. package/lib/esm/duet-badge.entry.js +1 -1
  325. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  326. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  327. package/lib/esm/duet-button_2.entry.js +1 -1
  328. package/lib/esm/duet-caption_4.entry.js +1 -1
  329. package/lib/esm/duet-card.entry.js +1 -1
  330. package/lib/esm/duet-checkbox.entry.js +1 -1
  331. package/lib/esm/duet-choice_2.entry.js +3 -3
  332. package/lib/esm/duet-collapsible.entry.js +1 -1
  333. package/lib/esm/duet-combobox.entry.js +1 -1
  334. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  335. package/lib/esm/duet-date-picker.entry.js +2 -2
  336. package/lib/esm/duet-divider_2.entry.js +6 -2
  337. package/lib/esm/duet-editable-table_3.entry.js +1 -1
  338. package/lib/esm/duet-empty-state.entry.js +1 -1
  339. package/lib/esm/duet-fieldset.entry.js +2 -2
  340. package/lib/esm/duet-footer.entry.js +1 -1
  341. package/lib/esm/duet-grid_2.entry.js +1 -1
  342. package/lib/esm/duet-header_2.entry.js +1 -1
  343. package/lib/esm/duet-hero.entry.js +1 -1
  344. package/lib/esm/duet-icon.entry.js +1 -1
  345. package/lib/esm/duet-input_2.entry.js +1 -1
  346. package/lib/esm/duet-layout.entry.js +1 -1
  347. package/lib/esm/duet-list_2.entry.js +1 -1
  348. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +15 -2
  349. package/lib/esm/duet-menu-bar-dropdown.entry.js +26 -15
  350. package/lib/esm/duet-menu-bar-link.entry.js +22 -3
  351. package/lib/esm/duet-menu-bar.entry.js +4 -3
  352. package/lib/esm/duet-modal.entry.js +2 -2
  353. package/lib/esm/duet-multiselect.entry.js +1 -1
  354. package/lib/esm/duet-nav.entry.js +2 -80
  355. package/lib/esm/duet-notification_2.entry.js +1 -1
  356. package/lib/esm/duet-number-input.entry.js +1 -1
  357. package/lib/esm/duet-pagination_2.entry.js +1 -1
  358. package/lib/esm/duet-progress.entry.js +1 -1
  359. package/lib/esm/duet-radio_2.entry.js +1 -1
  360. package/lib/esm/duet-range-slider.entry.js +1 -1
  361. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  362. package/lib/esm/duet-section-layout.entry.js +1 -1
  363. package/lib/esm/duet-select.entry.js +1 -1
  364. package/lib/esm/duet-step_2.entry.js +1 -1
  365. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +39 -0
  366. package/lib/esm/duet-submenu-bar-dropdown.entry.js +47 -0
  367. package/lib/esm/duet-submenu-bar-link.entry.js +33 -0
  368. package/lib/esm/duet-submenu-bar.entry.js +31 -0
  369. package/lib/esm/duet-textarea.entry.js +1 -1
  370. package/lib/esm/duet-toggle.entry.js +1 -1
  371. package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
  372. package/lib/esm/duet-toolbar-dropdown.entry.js +10 -15
  373. package/lib/esm/duet-toolbar-link.entry.js +2 -2
  374. package/lib/esm/duet-toolbar.entry.js +2 -2
  375. package/lib/esm/duet-tooltip.entry.js +1 -1
  376. package/lib/esm/duet-tray.entry.js +1 -1
  377. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  378. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  379. package/lib/esm/duet.js +2 -2
  380. package/lib/esm/{focus-utils-abaea1e6.js → focus-utils-5d4ccf2f.js} +1 -1
  381. package/lib/esm/{index-4df60498.js → index-49e3528a.js} +1 -1
  382. package/lib/esm/loader.js +2 -2
  383. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  384. package/lib/esm-es5/duet-alert.entry.js +1 -1
  385. package/lib/esm-es5/duet-badge.entry.js +1 -1
  386. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  387. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  388. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  389. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  390. package/lib/esm-es5/duet-card.entry.js +1 -1
  391. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  392. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  393. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  394. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  395. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  396. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  397. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  398. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  399. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  400. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  401. package/lib/esm-es5/duet-footer.entry.js +1 -1
  402. package/lib/esm-es5/duet-grid_2.entry.js +2 -2
  403. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  404. package/lib/esm-es5/duet-hero.entry.js +1 -1
  405. package/lib/esm-es5/duet-icon.entry.js +1 -1
  406. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  407. package/lib/esm-es5/duet-layout.entry.js +1 -1
  408. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  409. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  410. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  411. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  412. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  413. package/lib/esm-es5/duet-modal.entry.js +2 -2
  414. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  415. package/lib/esm-es5/duet-nav.entry.js +1 -1
  416. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  417. package/lib/esm-es5/duet-number-input.entry.js +2 -2
  418. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  419. package/lib/esm-es5/duet-progress.entry.js +1 -1
  420. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  421. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  422. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  423. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  424. package/lib/esm-es5/duet-select.entry.js +1 -1
  425. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  426. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +4 -0
  427. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +4 -0
  428. package/lib/esm-es5/duet-submenu-bar-link.entry.js +4 -0
  429. package/lib/esm-es5/duet-submenu-bar.entry.js +4 -0
  430. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  431. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  432. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  433. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  434. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  435. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  436. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  437. package/lib/esm-es5/duet-tray.entry.js +1 -1
  438. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  439. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  440. package/lib/esm-es5/duet.js +1 -1
  441. package/lib/esm-es5/focus-utils-5d4ccf2f.js +4 -0
  442. package/lib/esm-es5/{index-4df60498.js → index-49e3528a.js} +1 -1
  443. package/lib/esm-es5/loader.js +1 -1
  444. package/lib/types/components/duet-divider/duet-divider.d.ts +6 -1
  445. package/lib/types/components/duet-menu-bar/duet-menu-bar.d.ts +4 -0
  446. package/lib/types/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.d.ts +2 -16
  447. package/lib/types/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.d.ts +5 -0
  448. package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +5 -0
  449. package/lib/types/components/duet-nav/duet-nav.d.ts +0 -18
  450. package/lib/types/components/duet-submenu-bar/duet-submenu-bar.d.ts +24 -0
  451. package/lib/types/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.d.ts +34 -0
  452. package/lib/types/components/{duet-menu-bar-menu-dropdown-link/duet-menu-bar-menu-dropdown-link.d.ts → duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.d.ts} +1 -1
  453. package/lib/types/components/{duet-menu-bar-menu-link/duet-menu-bar-menu-link.d.ts → duet-submenu-bar-link/duet-submenu-bar-link.d.ts} +1 -5
  454. package/lib/types/components/duet-toolbar-dropdown/duet-toolbar-dropdown.d.ts +1 -16
  455. package/lib/types/components.d.ts +166 -194
  456. package/package.json +5 -5
  457. package/lib/cjs/duet-menu-bar-menu-dropdown-link.cjs.entry.js +0 -43
  458. package/lib/cjs/duet-menu-bar-menu-dropdown.cjs.entry.js +0 -56
  459. package/lib/cjs/duet-menu-bar-menu-link.cjs.entry.js +0 -38
  460. package/lib/cjs/duet-menu-bar-menu.cjs.entry.js +0 -56
  461. package/lib/collection/components/duet-menu-bar-menu/duet-menu-bar-menu.css +0 -113
  462. package/lib/collection/components/duet-menu-bar-menu/duet-menu-bar-menu.js +0 -141
  463. package/lib/dist-custom-elements/duet-menu-bar-menu-dropdown-link.d.ts +0 -11
  464. package/lib/dist-custom-elements/duet-menu-bar-menu-dropdown-link.js +0 -69
  465. package/lib/dist-custom-elements/duet-menu-bar-menu-dropdown.d.ts +0 -11
  466. package/lib/dist-custom-elements/duet-menu-bar-menu-dropdown.js +0 -80
  467. package/lib/dist-custom-elements/duet-menu-bar-menu-link.js +0 -63
  468. package/lib/dist-custom-elements/duet-menu-bar-menu.js +0 -74
  469. package/lib/duet/p-0169eb09.entry.js +0 -4
  470. package/lib/duet/p-0c519c1f.system.entry.js +0 -4
  471. package/lib/duet/p-14cca806.entry.js +0 -4
  472. package/lib/duet/p-1833941e.entry.js +0 -4
  473. package/lib/duet/p-27a1c897.entry.js +0 -4
  474. package/lib/duet/p-2c5b761d.entry.js +0 -4
  475. package/lib/duet/p-2cbe5fe4.entry.js +0 -4
  476. package/lib/duet/p-326d3440.system.entry.js +0 -4
  477. package/lib/duet/p-394efc25.system.entry.js +0 -4
  478. package/lib/duet/p-400f8e9d.system.entry.js +0 -4
  479. package/lib/duet/p-4c96e54d.entry.js +0 -4
  480. package/lib/duet/p-4d1a5b9e.system.entry.js +0 -4
  481. package/lib/duet/p-5214682e.system.entry.js +0 -4
  482. package/lib/duet/p-5b00d0cf.system.entry.js +0 -4
  483. package/lib/duet/p-63cb7308.system.entry.js +0 -4
  484. package/lib/duet/p-7ccf8ef9.entry.js +0 -4
  485. package/lib/duet/p-81313736.entry.js +0 -4
  486. package/lib/duet/p-8512b463.js +0 -4
  487. package/lib/duet/p-8681c6e0.entry.js +0 -4
  488. package/lib/duet/p-8f6cf5d1.entry.js +0 -4
  489. package/lib/duet/p-b180a4e2.system.entry.js +0 -4
  490. package/lib/duet/p-b2688afc.system.entry.js +0 -4
  491. package/lib/duet/p-b821b721.system.entry.js +0 -4
  492. package/lib/duet/p-c4932f05.entry.js +0 -4
  493. package/lib/duet/p-d0f1d25f.system.entry.js +0 -4
  494. package/lib/duet/p-dbddb719.entry.js +0 -4
  495. package/lib/duet/p-dc18b76c.system.entry.js +0 -4
  496. package/lib/duet/p-dfcbf758.system.entry.js +0 -4
  497. package/lib/duet/p-f9133dc5.system.js +0 -4
  498. package/lib/esm/duet-menu-bar-menu-dropdown-link.entry.js +0 -39
  499. package/lib/esm/duet-menu-bar-menu-dropdown.entry.js +0 -52
  500. package/lib/esm/duet-menu-bar-menu-link.entry.js +0 -34
  501. package/lib/esm/duet-menu-bar-menu.entry.js +0 -52
  502. package/lib/esm-es5/duet-menu-bar-menu-dropdown-link.entry.js +0 -4
  503. package/lib/esm-es5/duet-menu-bar-menu-dropdown.entry.js +0 -4
  504. package/lib/esm-es5/duet-menu-bar-menu-link.entry.js +0 -4
  505. package/lib/esm-es5/duet-menu-bar-menu.entry.js +0 -4
  506. package/lib/esm-es5/focus-utils-abaea1e6.js +0 -4
  507. package/lib/types/components/duet-menu-bar-menu/duet-menu-bar-menu.d.ts +0 -49
  508. package/lib/types/components/duet-menu-bar-menu-dropdown/duet-menu-bar-menu-dropdown.d.ts +0 -49
@@ -28,6 +28,7 @@ export class DuetMenuBar {
28
28
  };
29
29
  this.logoSize = "large";
30
30
  this.theme = "";
31
+ this.logoHref = undefined;
31
32
  }
32
33
  /**
33
34
  * Component lifecycle events.
@@ -60,7 +61,7 @@ export class DuetMenuBar {
60
61
  * Always the last one in the class.
61
62
  */
62
63
  render() {
63
- return (h(Host, null, h("div", { class: { "duet-menu-bar": true, "duet-theme-turva": this.theme === "turva" }, role: "menubar" }, h("duet-logo", { size: this.logoSize, margin: "none" }), h("slot", { name: "center" }), h("slot", { name: "right" }))));
64
+ return (h(Host, null, h("div", { class: { "duet-menu-bar": true, "duet-theme-turva": this.theme === "turva" }, role: "menubar" }, h("duet-logo", { size: this.logoSize, margin: "none", theme: this.theme, href: this.logoHref }), h("slot", { name: "center" }), h("slot", { name: "right" }))));
64
65
  }
65
66
  static get is() { return "duet-menu-bar"; }
66
67
  static get encapsulation() { return "shadow"; }
@@ -98,6 +99,23 @@ export class DuetMenuBar {
98
99
  "attribute": "theme",
99
100
  "reflect": false,
100
101
  "defaultValue": "\"\""
102
+ },
103
+ "logoHref": {
104
+ "type": "string",
105
+ "mutable": true,
106
+ "complexType": {
107
+ "original": "string",
108
+ "resolved": "string",
109
+ "references": {}
110
+ },
111
+ "required": false,
112
+ "optional": false,
113
+ "docs": {
114
+ "tags": [],
115
+ "text": "Logo href."
116
+ },
117
+ "attribute": "logo-href",
118
+ "reflect": false
101
119
  }
102
120
  };
103
121
  }
@@ -55,15 +55,15 @@
55
55
  padding: 0 28px;
56
56
  }
57
57
  }
58
+ .duet-menu-bar-dropdown button:hover {
59
+ color: #0077b3;
60
+ }
58
61
  .duet-menu-bar-dropdown button .label {
59
62
  display: flex;
60
63
  gap: 0.5rem;
61
64
  align-items: center;
62
65
  justify-content: center;
63
66
  }
64
- .duet-menu-bar-dropdown button:hover {
65
- color: #0077b3;
66
- }
67
67
  .duet-menu-bar-dropdown button.active {
68
68
  color: #0077b3;
69
69
  }
@@ -93,6 +93,7 @@
93
93
  position: absolute;
94
94
  right: 0%;
95
95
  left: auto;
96
+ z-index: 600;
96
97
  display: flex;
97
98
  flex-direction: column;
98
99
  align-items: center;
@@ -5,23 +5,30 @@ import { h, Host } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common/themeable-component";
6
6
  export class DuetMenuBarDropdown {
7
7
  constructor() {
8
- this.toggleMenu = (e) => {
9
- const toggle = !this.open;
10
- this.open = toggle;
11
- this.duetMenuBarDropdownEvent.emit({
12
- originalEvent: e,
13
- data: { element: this.element, open: this.open },
14
- component: "duet-menu-bar-dropdown",
15
- });
8
+ this.onClick = () => {
9
+ this.open = !this.open;
16
10
  };
17
- this.onClick = (e) => {
18
- this.toggleMenu(e);
19
- e.stopImmediatePropagation();
11
+ this.getVariant = () => {
12
+ const slot = this.element.parentElement.getAttribute("slot");
13
+ switch (slot) {
14
+ case "center":
15
+ return "right";
16
+ case "right":
17
+ return "right";
18
+ default:
19
+ return "right";
20
+ }
20
21
  };
21
22
  this.theme = "";
22
23
  this.open = false;
23
24
  this.icon = undefined;
24
25
  }
26
+ handleFocus(e) {
27
+ const isClickOutside = e.composedPath().every(node => node !== this.element);
28
+ if (isClickOutside) {
29
+ this.open = false;
30
+ }
31
+ }
25
32
  /**
26
33
  * Component lifecycle events.
27
34
  */
@@ -33,7 +40,12 @@ export class DuetMenuBarDropdown {
33
40
  * Always the last one in the class.
34
41
  */
35
42
  render() {
36
- return (h(Host, null, h("div", { class: { "duet-menu-bar-dropdown": true, "duet-theme-turva": this.theme === "turva", active: this.open } }, h("button", { "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
43
+ return (h(Host, null, h("div", { class: {
44
+ "duet-menu-bar-dropdown": true,
45
+ "duet-theme-turva": this.theme === "turva",
46
+ active: this.open,
47
+ [`duet-menu-bar-dropdown--slot-${this.getVariant()}`]: true,
48
+ } }, h("button", { "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
37
49
  active: this.open,
38
50
  }, onClick: this.onClick }, this.icon && h("duet-icon", { name: this.icon, size: "x-small", margin: "none" }), h("div", { class: "label" }, h("slot", { name: "label" }), h("duet-icon", { class: "caret", name: "action-arrow-down-small", margin: "none", size: "xxx-small" }))), h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
39
51
  items: true,
@@ -115,27 +127,14 @@ export class DuetMenuBarDropdown {
115
127
  }
116
128
  };
117
129
  }
118
- static get events() {
130
+ static get elementRef() { return "element"; }
131
+ static get listeners() {
119
132
  return [{
120
- "method": "duetMenuBarDropdownEvent",
121
- "name": "duetMenuBarDropdownEvent",
122
- "bubbles": true,
123
- "cancelable": true,
124
- "composed": true,
125
- "docs": {
126
- "tags": [],
127
- "text": "Event raised when the dropdown has been opened. You can prevent the\ndefault browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via **event.detail.data**."
128
- },
129
- "complexType": {
130
- "original": "DuetMenuBarDropdownEventDetails",
131
- "resolved": "{ originalEvent: Event; data: { element: HTMLElement; open: boolean; }; component: \"duet-menu-bar-dropdown\"; }",
132
- "references": {
133
- "DuetMenuBarDropdownEventDetails": {
134
- "location": "local"
135
- }
136
- }
137
- }
133
+ "name": "click",
134
+ "method": "handleFocus",
135
+ "target": "window",
136
+ "capture": false,
137
+ "passive": false
138
138
  }];
139
139
  }
140
- static get elementRef() { return "element"; }
141
140
  }
@@ -44,9 +44,17 @@
44
44
  font-family: "turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
45
45
  color: #171c3a;
46
46
  }
47
- .duet-menu-bar-dropdown-link:hover {
47
+ .duet-menu-bar-dropdown-link--slot-right:hover {
48
48
  background: #e6f2f8;
49
49
  }
50
- .duet-menu-bar-dropdown-link:hover.duet-theme-turva {
50
+ .duet-menu-bar-dropdown-link--slot-right:hover.duet-theme-turva {
51
+ background: #e4e4e6;
52
+ }
53
+ .duet-menu-bar-dropdown-link--slot-below:hover {
54
+ color: #004d80;
55
+ background: #f3f9fc;
56
+ }
57
+ .duet-menu-bar-dropdown-link--slot-below:hover.duet-theme-turva {
58
+ color: #940925;
51
59
  background: #e4e4e6;
52
60
  }
@@ -5,9 +5,21 @@ import { h, Host } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common/themeable-component";
6
6
  export class DuetMenuBarDropdownLink {
7
7
  constructor() {
8
+ this.getVariant = () => {
9
+ const slot = this.element.parentElement.parentElement.getAttribute("slot");
10
+ switch (slot) {
11
+ case "center":
12
+ return "right";
13
+ case "right":
14
+ return "right";
15
+ default:
16
+ return "right";
17
+ }
18
+ };
8
19
  this.theme = "";
9
20
  this.href = "#";
10
21
  this.icon = undefined;
22
+ this.caret = false;
11
23
  }
12
24
  /**
13
25
  * Component lifecycle events.
@@ -22,6 +34,7 @@ export class DuetMenuBarDropdownLink {
22
34
  render() {
23
35
  return (h(Host, null, h("a", { class: {
24
36
  "duet-menu-bar-dropdown-link": true,
37
+ [`duet-menu-bar-dropdown-link--slot-${this.getVariant()}`]: true,
25
38
  "duet-theme-turva": this.theme === "turva",
26
39
  }, href: this.href, role: "menuitem" }, this.icon && h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }), h("slot", null))));
27
40
  }
@@ -97,6 +110,24 @@ export class DuetMenuBarDropdownLink {
97
110
  "attribute": "icon",
98
111
  "reflect": true,
99
112
  "defaultValue": "undefined"
113
+ },
114
+ "caret": {
115
+ "type": "boolean",
116
+ "mutable": true,
117
+ "complexType": {
118
+ "original": "boolean",
119
+ "resolved": "boolean",
120
+ "references": {}
121
+ },
122
+ "required": false,
123
+ "optional": false,
124
+ "docs": {
125
+ "tags": [],
126
+ "text": "Caret"
127
+ },
128
+ "attribute": "caret",
129
+ "reflect": false,
130
+ "defaultValue": "false"
100
131
  }
101
132
  };
102
133
  }
@@ -32,10 +32,6 @@
32
32
  height: 100%;
33
33
  padding: 0 12px;
34
34
  font-family: "localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
35
- font-size: 0.875rem;
36
- font-weight: 400;
37
- line-height: 1.25;
38
- color: #004d80;
39
35
  text-align: center;
40
36
  text-decoration: none;
41
37
  }
@@ -49,13 +45,57 @@
49
45
  padding: 0 28px;
50
46
  }
51
47
  }
52
- .duet-menu-bar-link.duet-theme-turva {
48
+ .duet-menu-bar-link.active {
49
+ color: #0077b3;
50
+ }
51
+ .duet-theme-turva .duet-menu-bar-link.active {
52
+ color: #c60c30;
53
+ }
54
+ .duet-menu-bar-link.active::after {
55
+ position: absolute;
56
+ top: auto;
57
+ bottom: 2px;
58
+ left: 0;
59
+ display: block;
60
+ width: 100%;
61
+ height: 2px;
62
+ content: "";
63
+ background: #0077b3;
64
+ transition: 300ms ease;
65
+ transform: translateY(2px);
66
+ }
67
+ .duet-menu-bar-link--slot-center {
68
+ font-size: 1rem;
69
+ font-weight: 600;
70
+ line-height: 1.25;
71
+ color: #00294d;
72
+ }
73
+ .duet-menu-bar-link--slot-center.duet-theme-turva {
74
+ font-family: "turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
75
+ color: #940925;
76
+ }
77
+ .duet-menu-bar-link--slot-center.active.duet-theme-turva::after {
78
+ background: #c60c30;
79
+ }
80
+ .duet-menu-bar-link--slot-center:hover {
81
+ color: #0077b3;
82
+ }
83
+ .duet-menu-bar-link--slot-center:hover.duet-theme-turva {
84
+ color: #c60c30;
85
+ }
86
+ .duet-menu-bar-link--slot-right {
87
+ font-size: 0.875rem;
88
+ font-weight: 400;
89
+ line-height: 1.25;
90
+ color: #004d80;
91
+ }
92
+ .duet-menu-bar-link--slot-right.duet-theme-turva {
53
93
  font-family: "turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
54
94
  color: #940925;
55
95
  }
56
- .duet-menu-bar-link:hover {
96
+ .duet-menu-bar-link--slot-right:hover {
57
97
  color: #0077b3;
58
98
  }
59
- .duet-menu-bar-link:hover.duet-theme-turva {
99
+ .duet-menu-bar-link--slot-right:hover.duet-theme-turva {
60
100
  color: #c60c30;
61
101
  }
@@ -5,7 +5,21 @@ import { h, Host } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common/themeable-component";
6
6
  export class DuetMenuBarLink {
7
7
  constructor() {
8
+ this.getVariant = () => {
9
+ const slot = this.element.parentElement.getAttribute("slot");
10
+ switch (slot) {
11
+ case "center":
12
+ return "center";
13
+ case "right":
14
+ return "right";
15
+ case "below":
16
+ return "below";
17
+ default:
18
+ return "center";
19
+ }
20
+ };
8
21
  this.theme = "";
22
+ this.active = false;
9
23
  this.href = "#";
10
24
  this.icon = undefined;
11
25
  }
@@ -20,7 +34,12 @@ export class DuetMenuBarLink {
20
34
  * Always the last one in the class.
21
35
  */
22
36
  render() {
23
- return (h(Host, null, h("a", { class: { "duet-menu-bar-link": true, "duet-theme-turva": this.theme === "turva" }, href: this.href }, this.icon && h("duet-icon", { size: "x-small", name: this.icon, margin: "none" }), h("slot", null))));
37
+ return (h(Host, null, h("a", { class: {
38
+ "duet-menu-bar-link": true,
39
+ "duet-theme-turva": this.theme === "turva",
40
+ active: this.active,
41
+ [`duet-menu-bar-link--slot-${this.getVariant()}`]: true,
42
+ }, href: this.href }, this.icon && h("duet-icon", { size: "x-small", name: this.icon, margin: "none" }), h("slot", null))));
24
43
  }
25
44
  static get is() { return "duet-menu-bar-link"; }
26
45
  static get encapsulation() { return "shadow"; }
@@ -59,6 +78,24 @@ export class DuetMenuBarLink {
59
78
  "reflect": false,
60
79
  "defaultValue": "\"\""
61
80
  },
81
+ "active": {
82
+ "type": "boolean",
83
+ "mutable": true,
84
+ "complexType": {
85
+ "original": "boolean",
86
+ "resolved": "boolean",
87
+ "references": {}
88
+ },
89
+ "required": false,
90
+ "optional": false,
91
+ "docs": {
92
+ "tags": [],
93
+ "text": "Active"
94
+ },
95
+ "attribute": "active",
96
+ "reflect": false,
97
+ "defaultValue": "false"
98
+ },
62
99
  "href": {
63
100
  "type": "string",
64
101
  "mutable": true,
@@ -21,4 +21,9 @@
21
21
  -webkit-appearance: none;
22
22
  appearance: none;
23
23
  width: 100%;
24
+ }
25
+
26
+ nav {
27
+ max-width: 1440px;
28
+ margin: 0 auto;
24
29
  }
@@ -5,36 +5,6 @@ import { h, Host } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common/themeable-component";
6
6
  export class DuetMenuBar {
7
7
  constructor() {
8
- this.getToolbarDropdowns = () => this.element.querySelectorAll("duet-toolbar-dropdown");
9
- this.getMenuBarMenus = () => this.element.querySelectorAll("duet-menu-bar-menu");
10
- this.getActiveMenu = () => this.element.querySelector("duet-menu-bar-menu[active]");
11
- this.getActiveTool = () => this.element.querySelector("duet-toolbar-link[active],duet-toolbar-dropdown[active]");
12
- this.getMenuBarMenuDropdowns = () => this.element.querySelectorAll("duet-menu-bar-menu-dropdown");
13
- this.getMenuBarDropdowns = () => this.element.querySelectorAll("duet-menu-bar-dropdown");
14
- this.toggleActiveMenu = (active) => {
15
- const activeMenu = this.getActiveMenu();
16
- if (activeMenu) {
17
- activeMenu.setAttribute("active", active ? "true" : "false");
18
- }
19
- };
20
- this.toggleActiveTool = (active) => {
21
- const activeTool = this.getActiveTool();
22
- if (activeTool) {
23
- activeTool.setAttribute("active", active ? "true" : "false");
24
- }
25
- };
26
- this.close = (elementGetter, elementToKeepOpen) => {
27
- elementGetter().forEach(element => {
28
- if (elementToKeepOpen) {
29
- if (element !== elementToKeepOpen) {
30
- element.setAttribute("open", "false");
31
- }
32
- }
33
- else {
34
- element.setAttribute("open", "false");
35
- }
36
- });
37
- };
38
8
  this.theme = "";
39
9
  }
40
10
  /**
@@ -43,54 +13,6 @@ export class DuetMenuBar {
43
13
  componentWillLoad() {
44
14
  inheritGlobalTheme(this);
45
15
  }
46
- handleToolbarDropdownEvent(e) {
47
- if (e.detail.data.element) {
48
- if (e.detail.data.open) {
49
- this.close(this.getMenuBarMenus);
50
- this.close(this.getToolbarDropdowns, e.detail.data.element);
51
- this.close(this.getMenuBarMenuDropdowns);
52
- this.close(this.getMenuBarDropdowns);
53
- }
54
- this.toggleActiveMenu(true);
55
- this.toggleActiveTool(!e.detail.data.open);
56
- }
57
- }
58
- handleMenuEvent(e) {
59
- if (e.detail.data.element) {
60
- if (e.detail.data.open) {
61
- this.close(this.getMenuBarMenus, e.detail.data.element);
62
- this.close(this.getToolbarDropdowns);
63
- this.close(this.getMenuBarMenuDropdowns);
64
- this.close(this.getMenuBarDropdowns);
65
- }
66
- this.toggleActiveMenu(!e.detail.data.open);
67
- this.toggleActiveTool(true);
68
- }
69
- }
70
- handleMenuDropdownEvent(e) {
71
- if (e.detail.data.element && e.detail.data.open) {
72
- this.close(this.getMenuBarMenuDropdowns, e.detail.data.element);
73
- this.close(this.getMenuBarDropdowns);
74
- }
75
- }
76
- handleDropdownEvent(e) {
77
- if (e.detail.data.element && e.detail.data.open) {
78
- this.close(this.getMenuBarDropdowns, e.detail.data.element);
79
- this.close(this.getToolbarDropdowns);
80
- this.close(this.getMenuBarMenus);
81
- this.close(this.getMenuBarMenuDropdowns);
82
- }
83
- this.toggleActiveMenu(!e.detail.data.open);
84
- this.toggleActiveTool(true);
85
- }
86
- handleFocus() {
87
- this.toggleActiveMenu(true);
88
- this.toggleActiveTool(true);
89
- this.close(this.getToolbarDropdowns);
90
- this.close(this.getMenuBarMenus);
91
- this.close(this.getMenuBarMenuDropdowns);
92
- this.close(this.getMenuBarDropdowns);
93
- }
94
16
  /**
95
17
  * render() function
96
18
  * Always the last one in the class.
@@ -138,43 +60,4 @@ export class DuetMenuBar {
138
60
  };
139
61
  }
140
62
  static get elementRef() { return "element"; }
141
- static get listeners() {
142
- return [{
143
- "name": "duetToolbarDropdownEvent",
144
- "method": "handleToolbarDropdownEvent",
145
- "target": undefined,
146
- "capture": false,
147
- "passive": false
148
- }, {
149
- "name": "duetMenuBarMenuEvent",
150
- "method": "handleMenuEvent",
151
- "target": undefined,
152
- "capture": false,
153
- "passive": false
154
- }, {
155
- "name": "duetMenuBarMenuDropdownEvent",
156
- "method": "handleMenuDropdownEvent",
157
- "target": undefined,
158
- "capture": false,
159
- "passive": false
160
- }, {
161
- "name": "duetMenuBarDropdownEvent",
162
- "method": "handleDropdownEvent",
163
- "target": undefined,
164
- "capture": false,
165
- "passive": false
166
- }, {
167
- "name": "click",
168
- "method": "handleFocus",
169
- "target": "document",
170
- "capture": false,
171
- "passive": false
172
- }, {
173
- "name": "focus",
174
- "method": "handleFocus",
175
- "target": "document",
176
- "capture": false,
177
- "passive": false
178
- }];
179
- }
180
63
  }
@@ -0,0 +1,37 @@
1
+ *,
2
+ *::after,
3
+ *::before {
4
+ box-sizing: border-box;
5
+ padding: 0;
6
+ margin: 0;
7
+ background: transparent;
8
+ border: 0;
9
+ -moz-appearance: none;
10
+ -webkit-appearance: none;
11
+ appearance: none;
12
+ }
13
+
14
+ :host {
15
+ box-sizing: border-box;
16
+ padding: 0;
17
+ margin: 0;
18
+ background: transparent;
19
+ border: 0;
20
+ -moz-appearance: none;
21
+ -webkit-appearance: none;
22
+ appearance: none;
23
+ width: 100%;
24
+ }
25
+
26
+ .duet-submenu-bar {
27
+ z-index: 1;
28
+ display: flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+ background: #f3f9fc;
32
+ border-bottom: 1px solid #cde5f1;
33
+ }
34
+ .duet-submenu-bar.duet-theme-turva {
35
+ background: #f5f5f7;
36
+ border-bottom: 1px solid #e4e4e6;
37
+ }
@@ -0,0 +1,63 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { h, Host } from "@stencil/core";
5
+ import { inheritGlobalTheme } from "../../common/themeable-component";
6
+ export class DuetSubmenuBar {
7
+ constructor() {
8
+ this.theme = "";
9
+ }
10
+ /**
11
+ * Component lifecycle events.
12
+ */
13
+ componentWillLoad() {
14
+ inheritGlobalTheme(this);
15
+ }
16
+ /**
17
+ * render() function
18
+ * Always the last one in the class.
19
+ */
20
+ render() {
21
+ return (h(Host, null, h("div", { class: { "duet-submenu-bar": true, "duet-theme-turva": this.theme === "turva" }, role: "menubar" }, h("slot", null))));
22
+ }
23
+ static get is() { return "duet-submenu-bar"; }
24
+ static get encapsulation() { return "shadow"; }
25
+ static get originalStyleUrls() {
26
+ return {
27
+ "$": ["duet-submenu-bar.scss"]
28
+ };
29
+ }
30
+ static get styleUrls() {
31
+ return {
32
+ "$": ["duet-submenu-bar.css"]
33
+ };
34
+ }
35
+ static get properties() {
36
+ return {
37
+ "theme": {
38
+ "type": "string",
39
+ "mutable": true,
40
+ "complexType": {
41
+ "original": "DuetTheme",
42
+ "resolved": "\"\" | \"default\" | \"turva\"",
43
+ "references": {
44
+ "DuetTheme": {
45
+ "location": "import",
46
+ "path": "../../common-types"
47
+ }
48
+ }
49
+ },
50
+ "required": false,
51
+ "optional": false,
52
+ "docs": {
53
+ "tags": [],
54
+ "text": "Theme."
55
+ },
56
+ "attribute": "theme",
57
+ "reflect": false,
58
+ "defaultValue": "\"\""
59
+ }
60
+ };
61
+ }
62
+ static get elementRef() { return "element"; }
63
+ }