@duetds/components 6.2.11 → 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 (524) hide show
  1. package/hydrate/index.js +573 -21
  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 +3 -2
  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-9e300a05.js → focus-utils-9b534879.js} +1 -1
  68. package/lib/cjs/{index-65a47ca8.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-tab-group/duet-tab-group.js +21 -2
  99. package/lib/collection/components/duet-toolbar/duet-toolbar.css +6 -0
  100. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  101. package/lib/dist-custom-elements/duet-alert.js +1 -1
  102. package/lib/dist-custom-elements/duet-badge.js +1 -1
  103. package/lib/dist-custom-elements/duet-breadcrumb.js +2 -2
  104. package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
  105. package/lib/dist-custom-elements/duet-button.js +1 -1
  106. package/lib/dist-custom-elements/duet-caption.js +1 -1
  107. package/lib/dist-custom-elements/duet-card.js +3 -3
  108. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  109. package/lib/dist-custom-elements/duet-choice-group.js +6 -6
  110. package/lib/dist-custom-elements/duet-choice.js +5 -5
  111. package/lib/dist-custom-elements/duet-collapsible.js +2 -2
  112. package/lib/dist-custom-elements/duet-combobox.js +2 -2
  113. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  114. package/lib/dist-custom-elements/duet-date-picker.js +8 -8
  115. package/lib/dist-custom-elements/duet-divider.js +1 -1
  116. package/lib/dist-custom-elements/duet-editable-table.js +1 -1
  117. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  118. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  119. package/lib/dist-custom-elements/duet-footer.js +4 -4
  120. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  121. package/lib/dist-custom-elements/duet-grid.js +1 -1
  122. package/lib/dist-custom-elements/duet-header.js +8 -8
  123. package/lib/dist-custom-elements/duet-heading.js +1 -1
  124. package/lib/dist-custom-elements/duet-hero.js +9 -9
  125. package/lib/dist-custom-elements/duet-icon.js +1 -1
  126. package/lib/dist-custom-elements/duet-input.js +1 -1
  127. package/lib/dist-custom-elements/duet-label.js +1 -1
  128. package/lib/dist-custom-elements/duet-layout.js +1 -1
  129. package/lib/dist-custom-elements/duet-link.js +1 -1
  130. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  131. package/lib/dist-custom-elements/duet-list.js +1 -1
  132. package/lib/dist-custom-elements/duet-logo.js +1 -1
  133. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
  134. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -2
  135. package/lib/dist-custom-elements/duet-menu-bar-link.js +41 -5
  136. package/lib/dist-custom-elements/duet-menu-bar.js +33 -5
  137. package/lib/dist-custom-elements/duet-modal.js +7 -7
  138. package/lib/dist-custom-elements/duet-multiselect.js +8 -8
  139. package/lib/dist-custom-elements/duet-nav.js +3 -3
  140. package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
  141. package/lib/dist-custom-elements/duet-notification.js +2 -2
  142. package/lib/dist-custom-elements/duet-number-input.js +7 -7
  143. package/lib/dist-custom-elements/duet-pagination.js +7 -7
  144. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  145. package/lib/dist-custom-elements/duet-progress.js +1 -1
  146. package/lib/dist-custom-elements/duet-radio-group.js +6 -6
  147. package/lib/dist-custom-elements/duet-radio.js +1 -1
  148. package/lib/dist-custom-elements/duet-range-slider.js +2 -2
  149. package/lib/dist-custom-elements/duet-range-stepper.js +4 -4
  150. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  151. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  152. package/lib/dist-custom-elements/duet-select.js +1 -1
  153. package/lib/dist-custom-elements/duet-slideout-lang.d.ts +11 -0
  154. package/lib/dist-custom-elements/duet-slideout-lang.js +73 -0
  155. package/lib/dist-custom-elements/duet-slideout-link.d.ts +11 -0
  156. package/lib/dist-custom-elements/duet-slideout-link.js +70 -0
  157. package/lib/dist-custom-elements/duet-slideout-panel-dropdown-link.d.ts +11 -0
  158. package/lib/dist-custom-elements/duet-slideout-panel-dropdown-link.js +66 -0
  159. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.d.ts +11 -0
  160. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +79 -0
  161. package/lib/dist-custom-elements/duet-slideout-panel-link.d.ts +11 -0
  162. package/lib/dist-custom-elements/duet-slideout-panel-link.js +66 -0
  163. package/lib/dist-custom-elements/duet-slideout-panel.d.ts +11 -0
  164. package/lib/dist-custom-elements/duet-slideout-panel.js +114 -0
  165. package/lib/dist-custom-elements/duet-slideout.d.ts +11 -0
  166. package/lib/dist-custom-elements/duet-slideout.js +104 -0
  167. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  168. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  169. package/lib/dist-custom-elements/duet-step.js +4 -4
  170. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  171. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +3 -3
  172. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +41 -5
  173. package/lib/dist-custom-elements/duet-submenu-bar-link.js +41 -5
  174. package/lib/dist-custom-elements/duet-submenu-bar.js +21 -5
  175. package/lib/dist-custom-elements/duet-tab-group.js +11 -9
  176. package/lib/dist-custom-elements/duet-tab.js +1 -1
  177. package/lib/dist-custom-elements/duet-table.js +1 -1
  178. package/lib/dist-custom-elements/duet-textarea.js +8 -8
  179. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  180. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
  181. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +2 -2
  182. package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
  183. package/lib/dist-custom-elements/duet-toolbar.js +2 -2
  184. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  185. package/lib/dist-custom-elements/duet-tray.js +3 -3
  186. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  187. package/lib/dist-custom-elements/duet-upload.js +18 -18
  188. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  189. package/lib/dist-custom-elements/index.d.ts +7 -0
  190. package/lib/dist-custom-elements/index.js +8 -1
  191. package/lib/dist-custom-elements/{p-1cc71fd1.js → p-002a7b54.js} +1 -1
  192. package/lib/dist-custom-elements/{p-b8c366b7.js → p-0cc4772c.js} +1 -1
  193. package/lib/dist-custom-elements/{p-7a17ddae.js → p-11ad0889.js} +3 -3
  194. package/lib/dist-custom-elements/{p-29d3be5e.js → p-229400bc.js} +3 -3
  195. package/lib/dist-custom-elements/{p-d0a9c324.js → p-23f98750.js} +7 -7
  196. package/lib/dist-custom-elements/{p-fb50673a.js → p-297eeb05.js} +3 -3
  197. package/lib/dist-custom-elements/{p-0a6cd967.js → p-2bfaa4ba.js} +1 -1
  198. package/lib/dist-custom-elements/{p-61321af0.js → p-2c934039.js} +1 -1
  199. package/lib/dist-custom-elements/{p-83efddec.js → p-3ed91a6e.js} +1 -1
  200. package/lib/dist-custom-elements/{p-3db3f9f4.js → p-44a8cf2e.js} +1 -1
  201. package/lib/dist-custom-elements/{p-d9c9af49.js → p-490ba292.js} +5 -5
  202. package/lib/dist-custom-elements/{p-bb576c58.js → p-4c5e2c42.js} +1 -1
  203. package/lib/dist-custom-elements/{p-a47e36e6.js → p-52db2a57.js} +4 -4
  204. package/lib/dist-custom-elements/{p-ff455eb0.js → p-553bdd94.js} +1 -1
  205. package/lib/dist-custom-elements/{p-8d733f50.js → p-5589cf5e.js} +1 -1
  206. package/lib/dist-custom-elements/{p-5dda7a5d.js → p-806b07da.js} +1 -1
  207. package/lib/dist-custom-elements/{p-dbe1ff64.js → p-93166d4c.js} +6 -6
  208. package/lib/dist-custom-elements/{p-20f6b246.js → p-99140a2f.js} +2 -2
  209. package/lib/dist-custom-elements/{p-4d7a5987.js → p-9c3a2e5f.js} +6 -6
  210. package/lib/dist-custom-elements/{p-839269c6.js → p-ad372b29.js} +1 -1
  211. package/lib/dist-custom-elements/{p-ef10689d.js → p-b182dcbc.js} +2 -2
  212. package/lib/dist-custom-elements/{p-d832f332.js → p-b438f3ff.js} +1 -1
  213. package/lib/dist-custom-elements/{p-30b7f663.js → p-c2e91df2.js} +1 -1
  214. package/lib/dist-custom-elements/{p-6f6ab590.js → p-c59daafa.js} +2 -2
  215. package/lib/dist-custom-elements/{p-abec242f.js → p-d2139006.js} +1 -1
  216. package/lib/dist-custom-elements/{p-f8331a39.js → p-d384685b.js} +1 -1
  217. package/lib/dist-custom-elements/{p-af2bc5dc.js → p-df02822f.js} +2 -2
  218. package/lib/dist-custom-elements/{p-a8ed1569.js → p-e56a3a4f.js} +2 -2
  219. package/lib/dist-custom-elements/{p-201fa17a.js → p-eff83337.js} +1 -1
  220. package/lib/dist-custom-elements/{p-b1804185.js → p-f00d941b.js} +1 -1
  221. package/lib/dist-custom-elements/{p-e5db8afc.js → p-fafab887.js} +1 -1
  222. package/lib/duet/duet.esm.js +1 -1
  223. package/lib/duet/duet.js +1 -1
  224. package/lib/duet/p-00428c76.system.entry.js +4 -0
  225. package/lib/duet/{p-3abf2665.system.entry.js → p-05a861c3.system.entry.js} +1 -1
  226. package/lib/duet/p-095e94c0.system.entry.js +4 -0
  227. package/lib/duet/{p-6c159000.entry.js → p-0d78c045.entry.js} +1 -1
  228. package/lib/duet/{p-97fa38b3.system.entry.js → p-0dfc5062.system.entry.js} +1 -1
  229. package/lib/duet/p-0f777e0f.entry.js +4 -0
  230. package/lib/duet/p-11a1d6f7.system.entry.js +4 -0
  231. package/lib/duet/{p-ffa71b04.js → p-17213985.js} +1 -1
  232. package/lib/duet/p-196b22f7.entry.js +4 -0
  233. package/lib/duet/p-1c159b40.entry.js +4 -0
  234. package/lib/duet/{p-7e95730a.system.entry.js → p-1d7751e6.system.entry.js} +1 -1
  235. package/lib/duet/{p-1b230c44.system.entry.js → p-213bec99.system.entry.js} +1 -1
  236. package/lib/duet/{p-2de3cc10.entry.js → p-2147bb75.entry.js} +1 -1
  237. package/lib/duet/{p-9752d53b.entry.js → p-221e9bde.entry.js} +1 -1
  238. package/lib/duet/{p-3ea5b975.entry.js → p-22975217.entry.js} +1 -1
  239. package/lib/duet/{p-49525d3d.entry.js → p-22a44d9c.entry.js} +1 -1
  240. package/lib/duet/p-23827c68.system.entry.js +4 -0
  241. package/lib/duet/{p-562ed27c.entry.js → p-25a74f14.entry.js} +1 -1
  242. package/lib/duet/{p-61336adf.entry.js → p-27394348.entry.js} +1 -1
  243. package/lib/duet/{p-21864966.entry.js → p-2796b765.entry.js} +1 -1
  244. package/lib/duet/{p-f1a5c03d.entry.js → p-2a8d59a8.entry.js} +1 -1
  245. package/lib/duet/{p-9e5155db.entry.js → p-2b279cd3.entry.js} +1 -1
  246. package/lib/duet/{p-37139fee.system.entry.js → p-2ee85f9b.system.entry.js} +1 -1
  247. package/lib/duet/{p-7f648a0c.entry.js → p-33aee1b2.entry.js} +1 -1
  248. package/lib/duet/{p-c166792a.entry.js → p-35b535e6.entry.js} +1 -1
  249. package/lib/duet/{p-149293ef.entry.js → p-35f67767.entry.js} +1 -1
  250. package/lib/duet/p-3ae36dbc.system.entry.js +4 -0
  251. package/lib/duet/{p-b4de62e6.system.entry.js → p-3b5f12b1.system.entry.js} +1 -1
  252. package/lib/duet/{p-7037c77e.entry.js → p-3c343f08.entry.js} +1 -1
  253. package/lib/duet/{p-8709dc97.system.entry.js → p-3cdaecea.system.entry.js} +1 -1
  254. package/lib/duet/p-3f2b9124.entry.js +4 -0
  255. package/lib/duet/{p-1d91892d.entry.js → p-43948a2e.entry.js} +1 -1
  256. package/lib/duet/{p-246255ec.system.entry.js → p-45663514.system.entry.js} +1 -1
  257. package/lib/duet/{p-af4699ec.entry.js → p-4577b323.entry.js} +1 -1
  258. package/lib/duet/{p-9dd980a4.system.entry.js → p-48bfd2b1.system.entry.js} +1 -1
  259. package/lib/duet/p-48f66cad.entry.js +4 -0
  260. package/lib/duet/{p-ff369c3f.entry.js → p-4cd1066d.entry.js} +1 -1
  261. package/lib/duet/p-4e605462.system.entry.js +4 -0
  262. package/lib/duet/{p-a60eb028.entry.js → p-4e866570.entry.js} +1 -1
  263. package/lib/duet/p-4e8f09d4.entry.js +4 -0
  264. package/lib/duet/{p-600e2390.system.entry.js → p-4f75a254.system.entry.js} +1 -1
  265. package/lib/duet/{p-4aa7c59a.entry.js → p-51b2ffe4.entry.js} +1 -1
  266. package/lib/duet/{p-c2bec9d7.system.entry.js → p-520c6ec6.system.entry.js} +1 -1
  267. package/lib/duet/{p-62d431bd.entry.js → p-536772a0.entry.js} +1 -1
  268. package/lib/duet/{p-987a29f7.system.entry.js → p-54bb7d48.system.entry.js} +1 -1
  269. package/lib/duet/{p-452f96ac.system.entry.js → p-56b72e22.system.entry.js} +1 -1
  270. package/lib/duet/p-571c8093.system.entry.js +4 -0
  271. package/lib/duet/{p-12331bec.entry.js → p-59202e2e.entry.js} +1 -1
  272. package/lib/duet/{p-9cb8ebf9.entry.js → p-5aa1eba8.entry.js} +1 -1
  273. package/lib/duet/{p-6753acd9.system.js → p-5c552efe.system.js} +1 -1
  274. package/lib/duet/p-6409cef7.system.entry.js +4 -0
  275. package/lib/duet/{p-2be78877.entry.js → p-64ddcf9f.entry.js} +1 -1
  276. package/lib/duet/{p-a1ea8dbc.system.entry.js → p-6698839e.system.entry.js} +1 -1
  277. package/lib/duet/{p-7dae10af.system.entry.js → p-6b061775.system.entry.js} +1 -1
  278. package/lib/duet/{p-e8ba077f.entry.js → p-6e882d53.entry.js} +1 -1
  279. package/lib/duet/{p-506e3596.system.entry.js → p-6f796f36.system.entry.js} +1 -1
  280. package/lib/duet/{p-756faa95.system.entry.js → p-708ee49e.system.entry.js} +1 -1
  281. package/lib/duet/p-7319f712.entry.js +4 -0
  282. package/lib/duet/p-735a1513.entry.js +4 -0
  283. package/lib/duet/p-75277343.system.entry.js +4 -0
  284. package/lib/duet/{p-5810de18.system.entry.js → p-75b59b7a.system.entry.js} +1 -1
  285. package/lib/duet/{p-0f85fb24.system.entry.js → p-7778edfa.system.entry.js} +1 -1
  286. package/lib/duet/{p-ef461e76.entry.js → p-7861d512.entry.js} +1 -1
  287. package/lib/duet/{p-0d3e49f1.system.entry.js → p-7cd1d6a4.system.entry.js} +1 -1
  288. package/lib/duet/{p-5329a6af.system.entry.js → p-815cb109.system.entry.js} +1 -1
  289. package/lib/duet/{p-4933732d.entry.js → p-84190f08.entry.js} +1 -1
  290. package/lib/duet/p-85a2945f.entry.js +4 -0
  291. package/lib/duet/{p-c396c20c.entry.js → p-85f9a268.entry.js} +1 -1
  292. package/lib/duet/p-871431ff.system.entry.js +4 -0
  293. package/lib/duet/{p-944f9dc6.system.entry.js → p-88fde141.system.entry.js} +1 -1
  294. package/lib/duet/{p-cf4c1bf7.system.entry.js → p-893be717.system.entry.js} +1 -1
  295. package/lib/duet/{p-061f115a.system.entry.js → p-8aaa7057.system.entry.js} +1 -1
  296. package/lib/duet/{p-91ba2ad0.system.entry.js → p-8af3c241.system.entry.js} +1 -1
  297. package/lib/duet/{p-d3d9744f.entry.js → p-8b8f6808.entry.js} +1 -1
  298. package/lib/duet/{p-bf276ba0.system.entry.js → p-8ef3d1bf.system.entry.js} +1 -1
  299. package/lib/duet/{p-26d73124.entry.js → p-94b4683e.entry.js} +1 -1
  300. package/lib/duet/{p-6db01063.entry.js → p-95dbb535.entry.js} +1 -1
  301. package/lib/duet/p-9934a9b7.system.entry.js +4 -0
  302. package/lib/duet/{p-7f3d9beb.entry.js → p-9a90e360.entry.js} +1 -1
  303. package/lib/duet/{p-6147b5c1.system.entry.js → p-9c10a3b6.system.entry.js} +1 -1
  304. package/lib/duet/{p-1b98c971.system.entry.js → p-9dc043a4.system.entry.js} +1 -1
  305. package/lib/duet/{p-d315b885.entry.js → p-a04825b6.entry.js} +1 -1
  306. package/lib/duet/{p-4c05c667.system.js → p-a16bb53f.system.js} +1 -1
  307. package/lib/duet/{p-0d60f277.entry.js → p-a1a2a08c.entry.js} +1 -1
  308. package/lib/duet/{p-7eeaa2cd.system.entry.js → p-a282ec97.system.entry.js} +1 -1
  309. package/lib/duet/{p-6632af03.system.entry.js → p-a37f10ab.system.entry.js} +1 -1
  310. package/lib/duet/p-a3d4d3d7.entry.js +4 -0
  311. package/lib/duet/{p-e690ea1b.entry.js → p-a3e54564.entry.js} +1 -1
  312. package/lib/duet/{p-690fd6d7.entry.js → p-a7b42887.entry.js} +1 -1
  313. package/lib/duet/{p-e2385ded.entry.js → p-a961faf1.entry.js} +1 -1
  314. package/lib/duet/{p-8e170437.system.entry.js → p-aadce56b.system.entry.js} +1 -1
  315. package/lib/duet/p-abc9f1e7.entry.js +4 -0
  316. package/lib/duet/{p-708dcb1a.system.entry.js → p-ad1f09f9.system.entry.js} +1 -1
  317. package/lib/duet/{p-7ba6cae4.entry.js → p-b1276330.entry.js} +1 -1
  318. package/lib/duet/{p-3d885c47.system.entry.js → p-b199b4eb.system.entry.js} +1 -1
  319. package/lib/duet/p-b3043173.system.js +4 -0
  320. package/lib/duet/p-b43cf00f.entry.js +4 -0
  321. package/lib/duet/{p-34a52a78.system.entry.js → p-b509d386.system.entry.js} +1 -1
  322. package/lib/duet/{p-f7dd8f95.system.entry.js → p-b5228293.system.entry.js} +1 -1
  323. package/lib/duet/{p-bbdaa69f.entry.js → p-b7c6292e.entry.js} +1 -1
  324. package/lib/duet/p-bbaf11d3.entry.js +4 -0
  325. package/lib/duet/{p-95933e43.entry.js → p-bdd627ee.entry.js} +1 -1
  326. package/lib/duet/{p-2dcb5ca0.entry.js → p-bfc8f79e.entry.js} +1 -1
  327. package/lib/duet/{p-3f2e2f0f.system.entry.js → p-c03b4a4a.system.entry.js} +1 -1
  328. package/lib/duet/{p-16902d92.system.entry.js → p-c75bd69d.system.entry.js} +1 -1
  329. package/lib/duet/{p-2dfe2ca3.system.entry.js → p-c87e9edd.system.entry.js} +1 -1
  330. package/lib/duet/{p-3e66fe1a.entry.js → p-cd152e23.entry.js} +1 -1
  331. package/lib/duet/{p-4b22281a.system.entry.js → p-cf6be1db.system.entry.js} +1 -1
  332. package/lib/duet/{p-d8e936ea.entry.js → p-d936157a.entry.js} +1 -1
  333. package/lib/duet/p-d9bc93bd.system.entry.js +4 -0
  334. package/lib/duet/p-df5ccf8f.system.entry.js +4 -0
  335. package/lib/duet/{p-0dc08238.entry.js → p-dff47f37.entry.js} +1 -1
  336. package/lib/duet/p-e288cc5b.entry.js +4 -0
  337. package/lib/duet/p-e298d114.system.entry.js +4 -0
  338. package/lib/duet/{p-d0135695.system.entry.js → p-e43baf68.system.entry.js} +1 -1
  339. package/lib/duet/{p-cb663d57.system.entry.js → p-e458540b.system.entry.js} +1 -1
  340. package/lib/duet/{p-49250aa9.system.entry.js → p-e8c31735.system.entry.js} +1 -1
  341. package/lib/duet/{p-99b58a7b.entry.js → p-ea3d82dd.entry.js} +1 -1
  342. package/lib/duet/{p-f52e12f8.entry.js → p-ec1996b5.entry.js} +1 -1
  343. package/lib/duet/{p-34f898f7.system.entry.js → p-ec2b9ae6.system.entry.js} +1 -1
  344. package/lib/duet/{p-46e56fed.entry.js → p-ef8796fa.entry.js} +1 -1
  345. package/lib/duet/{p-46e4b561.system.entry.js → p-f06285b1.system.entry.js} +1 -1
  346. package/lib/duet/{p-e165e825.system.entry.js → p-f1655fbc.system.entry.js} +1 -1
  347. package/lib/duet/{p-46acf642.system.entry.js → p-f22d96ae.system.entry.js} +1 -1
  348. package/lib/duet/{p-1d80e24a.system.entry.js → p-f3724701.system.entry.js} +2 -2
  349. package/lib/duet/{p-d75c51a6.js → p-f3d7745b.js} +1 -1
  350. package/lib/duet/{p-e45b703f.system.entry.js → p-f440000a.system.entry.js} +1 -1
  351. package/lib/duet/{p-85aa1013.system.entry.js → p-f46bd5fc.system.entry.js} +1 -1
  352. package/lib/duet/{p-7ac3a6e0.entry.js → p-f76fe5e7.entry.js} +1 -1
  353. package/lib/duet/{p-73fdf834.entry.js → p-fb197a80.entry.js} +1 -1
  354. package/lib/duet/p-fe591b9a.system.entry.js +4 -0
  355. package/lib/duet/{p-adc9d543.entry.js → p-ff4d2be5.entry.js} +1 -1
  356. package/lib/duet/p-ffa9caa9.entry.js +4 -0
  357. package/lib/esm/duet-action-button.entry.js +1 -1
  358. package/lib/esm/duet-alert.entry.js +1 -1
  359. package/lib/esm/duet-badge.entry.js +1 -1
  360. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  361. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  362. package/lib/esm/duet-button_2.entry.js +1 -1
  363. package/lib/esm/duet-caption_4.entry.js +1 -1
  364. package/lib/esm/duet-card.entry.js +1 -1
  365. package/lib/esm/duet-checkbox.entry.js +1 -1
  366. package/lib/esm/duet-choice_2.entry.js +2 -2
  367. package/lib/esm/duet-collapsible.entry.js +1 -1
  368. package/lib/esm/duet-combobox.entry.js +1 -1
  369. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  370. package/lib/esm/duet-date-picker.entry.js +2 -2
  371. package/lib/esm/duet-divider_2.entry.js +1 -1
  372. package/lib/esm/duet-editable-table_3.entry.js +1 -1
  373. package/lib/esm/duet-empty-state.entry.js +1 -1
  374. package/lib/esm/duet-fieldset.entry.js +1 -1
  375. package/lib/esm/duet-footer.entry.js +1 -1
  376. package/lib/esm/duet-grid_2.entry.js +1 -1
  377. package/lib/esm/duet-header_2.entry.js +1 -1
  378. package/lib/esm/duet-hero.entry.js +1 -1
  379. package/lib/esm/duet-icon.entry.js +1 -1
  380. package/lib/esm/duet-input_2.entry.js +1 -1
  381. package/lib/esm/duet-layout.entry.js +1 -1
  382. package/lib/esm/duet-list_2.entry.js +1 -1
  383. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -1
  384. package/lib/esm/duet-menu-bar-dropdown.entry.js +1 -1
  385. package/lib/esm/duet-menu-bar-link.entry.js +38 -3
  386. package/lib/esm/duet-menu-bar.entry.js +28 -3
  387. package/lib/esm/duet-modal.entry.js +2 -2
  388. package/lib/esm/duet-multiselect.entry.js +1 -1
  389. package/lib/esm/duet-nav.entry.js +3 -3
  390. package/lib/esm/duet-notification_2.entry.js +1 -1
  391. package/lib/esm/duet-number-input.entry.js +1 -1
  392. package/lib/esm/duet-pagination_2.entry.js +1 -1
  393. package/lib/esm/duet-progress.entry.js +1 -1
  394. package/lib/esm/duet-radio_2.entry.js +1 -1
  395. package/lib/esm/duet-range-slider.entry.js +1 -1
  396. package/lib/esm/duet-scrollable_3.entry.js +3 -2
  397. package/lib/esm/duet-section-layout.entry.js +1 -1
  398. package/lib/esm/duet-select.entry.js +1 -1
  399. package/lib/esm/duet-slideout-lang.entry.js +42 -0
  400. package/lib/esm/duet-slideout-link.entry.js +40 -0
  401. package/lib/esm/duet-slideout-panel-dropdown-link.entry.js +37 -0
  402. package/lib/esm/duet-slideout-panel-dropdown.entry.js +51 -0
  403. package/lib/esm/duet-slideout-panel-link.entry.js +37 -0
  404. package/lib/esm/duet-slideout-panel.entry.js +85 -0
  405. package/lib/esm/duet-slideout.entry.js +76 -0
  406. package/lib/esm/duet-step_2.entry.js +1 -1
  407. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +2 -2
  408. package/lib/esm/duet-submenu-bar-dropdown.entry.js +38 -3
  409. package/lib/esm/duet-submenu-bar-link.entry.js +38 -3
  410. package/lib/esm/duet-submenu-bar.entry.js +12 -3
  411. package/lib/esm/duet-textarea.entry.js +1 -1
  412. package/lib/esm/duet-toggle.entry.js +1 -1
  413. package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
  414. package/lib/esm/duet-toolbar-dropdown.entry.js +1 -1
  415. package/lib/esm/duet-toolbar-link.entry.js +1 -1
  416. package/lib/esm/duet-toolbar.entry.js +2 -2
  417. package/lib/esm/duet-tooltip.entry.js +1 -1
  418. package/lib/esm/duet-tray.entry.js +1 -1
  419. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  420. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  421. package/lib/esm/duet.js +2 -2
  422. package/lib/esm/{focus-utils-c81ea33a.js → focus-utils-0c38feb6.js} +1 -1
  423. package/lib/esm/{index-ab069e8d.js → index-009e9860.js} +1 -1
  424. package/lib/esm/loader.js +2 -2
  425. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  426. package/lib/esm-es5/duet-alert.entry.js +1 -1
  427. package/lib/esm-es5/duet-badge.entry.js +1 -1
  428. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  429. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  430. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  431. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  432. package/lib/esm-es5/duet-card.entry.js +1 -1
  433. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  434. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  435. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  436. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  437. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  438. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  439. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  440. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  441. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  442. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  443. package/lib/esm-es5/duet-footer.entry.js +1 -1
  444. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  445. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  446. package/lib/esm-es5/duet-hero.entry.js +1 -1
  447. package/lib/esm-es5/duet-icon.entry.js +1 -1
  448. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  449. package/lib/esm-es5/duet-layout.entry.js +1 -1
  450. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  451. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  452. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  453. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  454. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  455. package/lib/esm-es5/duet-modal.entry.js +2 -2
  456. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  457. package/lib/esm-es5/duet-nav.entry.js +1 -1
  458. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  459. package/lib/esm-es5/duet-number-input.entry.js +2 -2
  460. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  461. package/lib/esm-es5/duet-progress.entry.js +1 -1
  462. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  463. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  464. package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
  465. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  466. package/lib/esm-es5/duet-select.entry.js +1 -1
  467. package/lib/esm-es5/duet-slideout-lang.entry.js +4 -0
  468. package/lib/esm-es5/duet-slideout-link.entry.js +4 -0
  469. package/lib/esm-es5/duet-slideout-panel-dropdown-link.entry.js +4 -0
  470. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +4 -0
  471. package/lib/esm-es5/duet-slideout-panel-link.entry.js +4 -0
  472. package/lib/esm-es5/duet-slideout-panel.entry.js +4 -0
  473. package/lib/esm-es5/duet-slideout.entry.js +4 -0
  474. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  475. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  476. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  477. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  478. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  479. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  480. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  481. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  482. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  483. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  484. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  485. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  486. package/lib/esm-es5/duet-tray.entry.js +1 -1
  487. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  488. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  489. package/lib/esm-es5/duet.js +1 -1
  490. package/lib/esm-es5/{focus-utils-c81ea33a.js → focus-utils-0c38feb6.js} +1 -1
  491. package/lib/esm-es5/{index-ab069e8d.js → index-009e9860.js} +1 -1
  492. package/lib/esm-es5/loader.js +1 -1
  493. package/lib/types/components/duet-menu-bar/duet-menu-bar.d.ts +10 -0
  494. package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +7 -0
  495. package/lib/types/components/duet-slideout/duet-slideout.d.ts +51 -0
  496. package/lib/types/components/duet-slideout-lang/duet-slideout-lang.d.ts +25 -0
  497. package/lib/types/components/duet-slideout-link/duet-slideout-link.d.ts +40 -0
  498. package/lib/types/components/duet-slideout-panel/duet-slideout-panel.d.ts +43 -0
  499. package/lib/types/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.d.ts +34 -0
  500. package/lib/types/components/duet-slideout-panel-dropdown-link/duet-slideout-panel-dropdown-link.d.ts +36 -0
  501. package/lib/types/components/duet-slideout-panel-link/duet-slideout-panel-link.d.ts +36 -0
  502. package/lib/types/components/duet-submenu-bar/duet-submenu-bar.d.ts +5 -0
  503. package/lib/types/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.d.ts +7 -0
  504. package/lib/types/components/duet-submenu-bar-link/duet-submenu-bar-link.d.ts +7 -0
  505. package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +5 -1
  506. package/lib/types/components.d.ts +312 -0
  507. package/package.json +5 -5
  508. package/lib/duet/p-2a8e5da6.system.entry.js +0 -4
  509. package/lib/duet/p-2de903ee.system.entry.js +0 -4
  510. package/lib/duet/p-3f055c40.entry.js +0 -4
  511. package/lib/duet/p-475d1bc7.entry.js +0 -4
  512. package/lib/duet/p-596eb569.entry.js +0 -4
  513. package/lib/duet/p-683d1434.entry.js +0 -4
  514. package/lib/duet/p-80469fdd.entry.js +0 -4
  515. package/lib/duet/p-87e2687c.system.entry.js +0 -4
  516. package/lib/duet/p-87f272ca.entry.js +0 -4
  517. package/lib/duet/p-8a57aaec.system.js +0 -4
  518. package/lib/duet/p-9760be33.entry.js +0 -4
  519. package/lib/duet/p-9ccad140.system.entry.js +0 -4
  520. package/lib/duet/p-acd9f501.system.entry.js +0 -4
  521. package/lib/duet/p-b3ee05d3.system.entry.js +0 -4
  522. package/lib/duet/p-b636c691.system.entry.js +0 -4
  523. package/lib/duet/p-cbc2318e.entry.js +0 -4
  524. package/lib/duet/p-e0711e9e.system.entry.js +0 -4
@@ -36,6 +36,7 @@
36
36
  "./components/duet-range-slider/duet-range-slider.js",
37
37
  "./components/duet-range-stepper/duet-range-stepper.js",
38
38
  "./components/duet-select/duet-select.js",
39
+ "./components/duet-slideout/duet-slideout.js",
39
40
  "./components/duet-spacer/duet-spacer.js",
40
41
  "./components/duet-spinner/duet-spinner.js",
41
42
  "./components/duet-step/duet-step.js",
@@ -64,6 +65,12 @@
64
65
  "./components/duet-radio-group/duet-radio-group.js",
65
66
  "./components/duet-scrollable/duet-scrollable.js",
66
67
  "./components/duet-section-layout/duet-section-layout.js",
68
+ "./components/duet-slideout-lang/duet-slideout-lang.js",
69
+ "./components/duet-slideout-link/duet-slideout-link.js",
70
+ "./components/duet-slideout-panel/duet-slideout-panel.js",
71
+ "./components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js",
72
+ "./components/duet-slideout-panel-dropdown-link/duet-slideout-panel-dropdown-link.js",
73
+ "./components/duet-slideout-panel-link/duet-slideout-panel-link.js",
67
74
  "./components/duet-submenu-bar/duet-submenu-bar.js",
68
75
  "./components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js",
69
76
  "./components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js",
@@ -28,8 +28,77 @@
28
28
  align-items: center;
29
29
  justify-content: center;
30
30
  background: white;
31
- border-top: 1px solid #e1e3e6;
32
- box-shadow: 0 3px 6px 0 rgba(0, 41, 77, 0.1);
31
+ box-shadow: 0 2px 6px 0 rgba(0, 41, 77, 0.07);
32
+ }
33
+ @media (min-width: 62em) {
34
+ .duet-menu-bar {
35
+ box-shadow: 0 3px 6px 0 rgba(0, 41, 77, 0.1);
36
+ }
37
+ }
38
+ .duet-menu-bar .top {
39
+ display: none;
40
+ }
41
+ .duet-menu-bar .bottom {
42
+ display: none;
43
+ }
44
+ .duet-menu-bar.horizontal-nav {
45
+ position: relative;
46
+ }
47
+ .duet-menu-bar.horizontal-nav .top {
48
+ position: absolute;
49
+ top: 0;
50
+ left: 3.5%;
51
+ display: block;
52
+ width: 93%;
53
+ height: 1px;
54
+ background: #f5f8fa;
55
+ }
56
+ .duet-menu-bar.horizontal-nav .bottom {
57
+ position: absolute;
58
+ bottom: 0;
59
+ left: 0;
60
+ display: block;
61
+ width: 100%;
62
+ height: 1px;
63
+ background: #e1e3e6;
64
+ }
65
+ .duet-menu-bar.horizontal-nav .more-left {
66
+ position: absolute;
67
+ top: 0;
68
+ left: -1px;
69
+ z-index: 1;
70
+ width: 36px;
71
+ height: 49px;
72
+ background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
73
+ }
74
+ @media (min-width: 62em) {
75
+ .duet-menu-bar.horizontal-nav .more-left {
76
+ display: none;
77
+ }
78
+ }
79
+ .duet-menu-bar.horizontal-nav .more-right {
80
+ position: absolute;
81
+ top: 0;
82
+ right: -1px;
83
+ z-index: 1;
84
+ width: 36px;
85
+ height: 49px;
86
+ background: linear-gradient(270deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
87
+ }
88
+ @media (min-width: 62em) {
89
+ .duet-menu-bar.horizontal-nav .more-right {
90
+ display: none;
91
+ }
92
+ }
93
+ @media (pointer: fine) {
94
+ .duet-menu-bar.horizontal-nav {
95
+ display: none;
96
+ }
97
+ }
98
+ @media (pointer: fine) and ((min-width: 62em)) {
99
+ .duet-menu-bar.horizontal-nav {
100
+ display: flex;
101
+ }
33
102
  }
34
103
  .duet-menu-bar .container {
35
104
  display: flex;
@@ -38,12 +107,20 @@
38
107
  width: 100%;
39
108
  max-width: 1440px;
40
109
  height: 100%;
41
- height: 5rem;
110
+ height: 3.25rem;
42
111
  padding: 0 8px 0 20px;
112
+ overflow-x: auto;
113
+ scrollbar-width: none;
114
+ }
115
+ .duet-menu-bar .container::-webkit-scrollbar {
116
+ width: 0;
117
+ height: 0;
43
118
  }
44
- @media ((min-width: 62em)) {
119
+ @media (min-width: 62em) {
45
120
  .duet-menu-bar .container {
121
+ height: 5rem;
46
122
  padding: 0 28px;
123
+ overflow-x: visible;
47
124
  }
48
125
  }
49
126
  .duet-menu-bar .container > * {
@@ -2,7 +2,7 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { media_query_large, media_query_xx_large } from "@duetds/tokens/lib/tokens.json";
5
- import { h, Host } from "@stencil/core";
5
+ import { Build, h, Host } from "@stencil/core";
6
6
  import { inheritGlobalTheme } from "../../common/themeable-component";
7
7
  /**
8
8
  * @slot center - Slot for content in center.
@@ -18,6 +18,16 @@ export class DuetMenuBar {
18
18
  window.matchMedia(media_query_xx_large.replace(/'/g, "")),
19
19
  ];
20
20
  this.boundMqlFunctions = [];
21
+ this.scrollbarCheck = () => {
22
+ this.leftMoreVisible = this.container.scrollLeft > 0;
23
+ this.rightMoreVisible = this.container.scrollLeft !== this.container.scrollWidth - this.container.clientWidth;
24
+ };
25
+ this.scrollToActive = () => {
26
+ const active = this.element.querySelector("[active]");
27
+ if (active) {
28
+ active.scrollIntoView({ inline: "center" });
29
+ }
30
+ };
21
31
  this.changeLogoSize = () => {
22
32
  if (this.mql[1].matches) {
23
33
  this.logoSize = "large";
@@ -27,7 +37,10 @@ export class DuetMenuBar {
27
37
  }
28
38
  };
29
39
  this.logoSize = "large";
40
+ this.leftMoreVisible = false;
41
+ this.rightMoreVisible = false;
30
42
  this.theme = "";
43
+ this.logo = true;
31
44
  this.logoHref = undefined;
32
45
  }
33
46
  /**
@@ -56,12 +69,27 @@ export class DuetMenuBar {
56
69
  }
57
70
  this.boundMqlFunctions = [];
58
71
  }
72
+ componentDidLoad() {
73
+ if (Build.isServer || Build.isTesting) {
74
+ return;
75
+ }
76
+ setTimeout(() => {
77
+ this.scrollbarCheck();
78
+ this.scrollToActive();
79
+ }, 0);
80
+ }
59
81
  /**
60
82
  * render() function
61
83
  * Always the last one in the class.
62
84
  */
63
85
  render() {
64
- return (h(Host, null, h("div", { class: { "duet-menu-bar": true, "duet-theme-turva": this.theme === "turva" }, role: "menubar" }, h("div", { class: "container" }, h("duet-logo", { size: this.logoSize, margin: "none", theme: this.theme, href: this.logoHref }), h("slot", { name: "center" }), h("slot", { name: "right" })))));
86
+ const slideoutAvailable = document.querySelectorAll("duet-slideout").length > 0;
87
+ const isUsedAsAdditionalHorizontalNav = slideoutAvailable && !this.logo;
88
+ return (h(Host, null, h("div", { class: {
89
+ "duet-menu-bar": true,
90
+ "duet-theme-turva": this.theme === "turva",
91
+ "horizontal-nav": isUsedAsAdditionalHorizontalNav,
92
+ }, role: "menubar" }, h("div", { class: "top" }), h("div", { class: { container: true }, ref: el => (this.container = el), onScroll: () => this.scrollbarCheck() }, this.logo && (h("duet-logo", { size: this.logoSize, margin: "none", theme: this.theme, href: this.logoHref })), h("div", { class: "center" }, h("div", { class: "more-left", hidden: !this.leftMoreVisible }), h("slot", { name: "center" }), h("div", { class: "more-right", hidden: !this.rightMoreVisible })), h("slot", { name: "right" })), h("div", { class: "bottom" }))));
65
93
  }
66
94
  static get is() { return "duet-menu-bar"; }
67
95
  static get encapsulation() { return "shadow"; }
@@ -100,6 +128,24 @@ export class DuetMenuBar {
100
128
  "reflect": false,
101
129
  "defaultValue": "\"\""
102
130
  },
131
+ "logo": {
132
+ "type": "boolean",
133
+ "mutable": true,
134
+ "complexType": {
135
+ "original": "boolean",
136
+ "resolved": "boolean",
137
+ "references": {}
138
+ },
139
+ "required": false,
140
+ "optional": false,
141
+ "docs": {
142
+ "tags": [],
143
+ "text": "Logo."
144
+ },
145
+ "attribute": "logo",
146
+ "reflect": false,
147
+ "defaultValue": "true"
148
+ },
103
149
  "logoHref": {
104
150
  "type": "string",
105
151
  "mutable": true,
@@ -121,7 +167,9 @@ export class DuetMenuBar {
121
167
  }
122
168
  static get states() {
123
169
  return {
124
- "logoSize": {}
170
+ "logoSize": {},
171
+ "leftMoreVisible": {},
172
+ "rightMoreVisible": {}
125
173
  };
126
174
  }
127
175
  static get elementRef() { return "element"; }
@@ -56,14 +56,21 @@
56
56
  top: auto;
57
57
  bottom: 2px;
58
58
  left: 0;
59
+ z-index: 1;
59
60
  display: block;
60
61
  width: 100%;
61
- height: 2px;
62
+ height: 1px;
62
63
  content: "";
63
64
  background: #0077b3;
64
65
  transition: 300ms ease;
65
66
  transform: translateY(2px);
66
67
  }
68
+ @media (min-width: 64.0625em) {
69
+ .duet-menu-bar-link.active::after {
70
+ z-index: auto;
71
+ height: 2px;
72
+ }
73
+ }
67
74
  .duet-menu-bar-link--slot-center {
68
75
  font-size: 1rem;
69
76
  font-weight: 600;
@@ -77,11 +84,13 @@
77
84
  .duet-menu-bar-link--slot-center.active.duet-theme-turva::after {
78
85
  background: #c60c30;
79
86
  }
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;
87
+ @media (min-width: 62em) {
88
+ .duet-menu-bar-link--slot-center:hover {
89
+ color: #0077b3;
90
+ }
91
+ .duet-menu-bar-link--slot-center:hover.duet-theme-turva {
92
+ color: #c60c30;
93
+ }
85
94
  }
86
95
  .duet-menu-bar-link--slot-right {
87
96
  font-size: 0.875rem;
@@ -93,9 +102,11 @@
93
102
  font-family: "turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
94
103
  color: #940925;
95
104
  }
96
- .duet-menu-bar-link--slot-right:hover {
97
- color: #0077b3;
98
- }
99
- .duet-menu-bar-link--slot-right:hover.duet-theme-turva {
100
- color: #c60c30;
105
+ @media (min-width: 62em) {
106
+ .duet-menu-bar-link--slot-right:hover {
107
+ color: #0077b3;
108
+ }
109
+ .duet-menu-bar-link--slot-right:hover.duet-theme-turva {
110
+ color: #c60c30;
111
+ }
101
112
  }
@@ -1,10 +1,24 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
+ import { media_query_large } from "@duetds/tokens/lib/tokens.json";
4
5
  import { h, Host } from "@stencil/core";
5
6
  import { inheritGlobalTheme } from "../../common/themeable-component";
6
7
  export class DuetMenuBarLink {
7
8
  constructor() {
9
+ /**
10
+ * Own Properties.
11
+ */
12
+ this.mql = [window.matchMedia(media_query_large.replace(/'/g, ""))];
13
+ this.boundMqlFunctions = [];
14
+ this.changeIconSize = () => {
15
+ if (this.mql[0].matches) {
16
+ this.iconSize = "x-small";
17
+ }
18
+ else {
19
+ this.iconSize = "small";
20
+ }
21
+ };
8
22
  this.getVariant = () => {
9
23
  const slot = this.element.parentElement.getAttribute("slot");
10
24
  switch (slot) {
@@ -18,6 +32,7 @@ export class DuetMenuBarLink {
18
32
  return "center";
19
33
  }
20
34
  };
35
+ this.iconSize = "x-small";
21
36
  this.theme = "";
22
37
  this.active = false;
23
38
  this.href = "#";
@@ -29,6 +44,26 @@ export class DuetMenuBarLink {
29
44
  componentWillLoad() {
30
45
  inheritGlobalTheme(this);
31
46
  }
47
+ connectedCallback() {
48
+ this.changeIconSize();
49
+ for (let i = 0; i < this.mql.length; i++) {
50
+ // addEventListener is not available in Stencil hydrate
51
+ if (this.mql[i].addEventListener) {
52
+ const bound = this.changeIconSize.bind(this);
53
+ this.mql[i].addEventListener("change", bound);
54
+ this.boundMqlFunctions[i] = bound;
55
+ }
56
+ }
57
+ }
58
+ disconnectedCallback() {
59
+ for (let i = 0; i < this.mql.length; i++) {
60
+ // removeEventListener is not available in Stencil hydrate
61
+ if (this.mql[i].removeEventListener) {
62
+ this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
63
+ }
64
+ }
65
+ this.boundMqlFunctions = [];
66
+ }
32
67
  /**
33
68
  * render() function
34
69
  * Always the last one in the class.
@@ -39,7 +74,7 @@ export class DuetMenuBarLink {
39
74
  "duet-theme-turva": this.theme === "turva",
40
75
  active: this.active,
41
76
  [`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))));
77
+ }, href: this.href }, this.icon && h("duet-icon", { size: this.iconSize, name: this.icon, margin: "none" }), h("slot", null))));
43
78
  }
44
79
  static get is() { return "duet-menu-bar-link"; }
45
80
  static get encapsulation() { return "shadow"; }
@@ -134,5 +169,10 @@ export class DuetMenuBarLink {
134
169
  }
135
170
  };
136
171
  }
172
+ static get states() {
173
+ return {
174
+ "iconSize": {}
175
+ };
176
+ }
137
177
  static get elementRef() { return "element"; }
138
178
  }
@@ -21,4 +21,22 @@
21
21
  -webkit-appearance: none;
22
22
  appearance: none;
23
23
  width: 100%;
24
+ }
25
+
26
+ slot[name=mobile] {
27
+ display: inherit;
28
+ }
29
+
30
+ slot[name=desktop] {
31
+ display: none;
32
+ }
33
+
34
+ @media ((min-width: 62em)) {
35
+ slot[name=mobile] {
36
+ display: none;
37
+ }
38
+
39
+ slot[name=desktop] {
40
+ display: inherit;
41
+ }
24
42
  }
@@ -18,7 +18,7 @@ export class DuetMenuBar {
18
18
  * Always the last one in the class.
19
19
  */
20
20
  render() {
21
- return (h(Host, null, h("nav", null, h("slot", null))));
21
+ return (h(Host, null, h("nav", null, h("slot", { name: "mobile" }), h("slot", { name: "desktop" }))));
22
22
  }
23
23
  static get is() { return "duet-nav"; }
24
24
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,123 @@
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
+ height: 100%;
24
+ }
25
+
26
+ :host slot::slotted(*) {
27
+ position: relative;
28
+ top: 0.5rem;
29
+ opacity: 0;
30
+ transition: top 0.3s ease-in, opacity 0.3s ease-in;
31
+ }
32
+
33
+ :host([open]) slot::slotted(*) {
34
+ top: 0;
35
+ opacity: 1;
36
+ }
37
+
38
+ .hamburger {
39
+ position: relative;
40
+ width: 24px;
41
+ height: 24px;
42
+ margin-top: 8px !important;
43
+ pointer-events: none;
44
+ transition: 0.4s ease-in-out;
45
+ backface-visibility: hidden;
46
+ }
47
+ .hamburger .bar {
48
+ position: absolute;
49
+ left: 0;
50
+ display: block;
51
+ width: 100%;
52
+ height: 2px;
53
+ background: #00294d;
54
+ border-radius: 20rem;
55
+ }
56
+ .duet-theme-turva .hamburger .bar {
57
+ background: #171c3a;
58
+ }
59
+ .hamburger .bar:nth-child(1) {
60
+ top: 0;
61
+ }
62
+ .hamburger .bar:nth-child(2), .hamburger .bar:nth-child(3) {
63
+ top: 7px;
64
+ }
65
+ .hamburger .bar:nth-child(4) {
66
+ top: 14px;
67
+ }
68
+
69
+ .duet-slideout {
70
+ display: flex;
71
+ align-items: center;
72
+ height: 100%;
73
+ padding: 0 8px;
74
+ }
75
+ .duet-slideout .dialog {
76
+ position: fixed;
77
+ top: 0;
78
+ bottom: 0;
79
+ left: 0;
80
+ z-index: 400;
81
+ width: 100%;
82
+ height: 100%;
83
+ overflow-y: auto;
84
+ background: white;
85
+ box-shadow: 0 3px 6px 0 rgba(0, 41, 77, 0.1) inset;
86
+ }
87
+ .duet-slideout .dialog .top {
88
+ display: flex;
89
+ align-items: center;
90
+ justify-content: flex-end;
91
+ padding: 4px;
92
+ }
93
+ .duet-slideout .dialog .top duet-icon {
94
+ padding: 16px;
95
+ }
96
+ .duet-slideout .dialog .items {
97
+ display: flex;
98
+ flex-direction: column;
99
+ align-items: flex-start;
100
+ justify-content: center;
101
+ width: 100%;
102
+ padding: 0 1.5rem;
103
+ }
104
+ .duet-slideout .dialog.hidden {
105
+ visibility: hidden;
106
+ }
107
+ .duet-slideout.duet-theme-turva button {
108
+ font-family: "turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
109
+ color: #171c3a;
110
+ }
111
+ .duet-slideout.duet-theme-turva button.active {
112
+ color: #c60c30;
113
+ }
114
+ .duet-slideout.duet-theme-turva button.active::after {
115
+ background: #c60c30;
116
+ }
117
+ .duet-slideout.duet-theme-turva .items {
118
+ background: white;
119
+ }
120
+
121
+ ::slotted(*) {
122
+ width: 100%;
123
+ }
@@ -0,0 +1,167 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { h, Host } from "@stencil/core";
5
+ import { inheritGlobalTheme } from "../../common/themeable-component";
6
+ import { FocusGuard } from "../../utils/focus-utils";
7
+ export class DuetSlideout {
8
+ constructor() {
9
+ this.toggleMenu = (e) => {
10
+ const toggle = !this.open;
11
+ this.open = toggle;
12
+ this.duetSlideoutEvent.emit({
13
+ originalEvent: e,
14
+ data: { element: this.element, open: this.open },
15
+ component: "duet-slideout",
16
+ });
17
+ if (toggle) {
18
+ setTimeout(() => {
19
+ this.closeButton.focus();
20
+ }, 200);
21
+ }
22
+ else {
23
+ setTimeout(() => {
24
+ this.openButton.focus();
25
+ }, 200);
26
+ }
27
+ };
28
+ this.onClick = (e) => {
29
+ this.toggleMenu(e);
30
+ };
31
+ this.theme = "";
32
+ this.open = false;
33
+ }
34
+ /**
35
+ * Toggles the slideout.
36
+ */
37
+ async toggle() {
38
+ const event = new CustomEvent("toggle");
39
+ this.toggleMenu(event);
40
+ setTimeout(() => {
41
+ this.openButton.focus();
42
+ }, 200);
43
+ }
44
+ /**
45
+ * Component lifecycle events.
46
+ */
47
+ componentWillLoad() {
48
+ inheritGlobalTheme(this);
49
+ }
50
+ /**
51
+ * render() function
52
+ * Always the last one in the class.
53
+ */
54
+ render() {
55
+ return (h(Host, null, h("div", { class: { "duet-slideout": true, "duet-theme-turva": this.theme === "turva" } }, h("button", { ref: element => (this.openButton = element), "aria-haspopup": "dialog", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
56
+ active: this.open,
57
+ }, onClick: this.onClick }, h("div", { class: "hamburger" }, h("span", { class: "bar" }), h("span", { class: "bar" }), h("span", { class: "bar" }), h("span", { class: "bar" }))), h("div", { tabindex: "-1", role: "dialog", id: "dialog", "aria-labelledby": "button", "aria-modal": "true", "aria-flowto": "menubar", class: {
58
+ dialog: true,
59
+ hidden: !this.open,
60
+ } }, h(FocusGuard, { moveFocusTo: this.closeButton }), h("div", { class: "top" }, h("button", { ref: element => (this.closeButton = element), "aria-haspopup": "dialog", "aria-controls": "dialog", "aria-expanded": this.open ? "true" : "false", type: "button", class: {
61
+ "slideout-close": true,
62
+ active: this.open,
63
+ }, onClick: this.onClick }, h("duet-icon", { name: "navigation-close", size: "small", margin: "none" }))), h("div", { id: "menubar", role: "menubar", class: {
64
+ items: true,
65
+ } }, h("slot", null)), h(FocusGuard, { moveFocusTo: this.closeButton })))));
66
+ }
67
+ static get is() { return "duet-slideout"; }
68
+ static get encapsulation() { return "shadow"; }
69
+ static get originalStyleUrls() {
70
+ return {
71
+ "$": ["duet-slideout.scss"]
72
+ };
73
+ }
74
+ static get styleUrls() {
75
+ return {
76
+ "$": ["duet-slideout.css"]
77
+ };
78
+ }
79
+ static get properties() {
80
+ return {
81
+ "theme": {
82
+ "type": "string",
83
+ "mutable": true,
84
+ "complexType": {
85
+ "original": "DuetTheme",
86
+ "resolved": "\"\" | \"default\" | \"turva\"",
87
+ "references": {
88
+ "DuetTheme": {
89
+ "location": "import",
90
+ "path": "../../common-types"
91
+ }
92
+ }
93
+ },
94
+ "required": false,
95
+ "optional": false,
96
+ "docs": {
97
+ "tags": [],
98
+ "text": "Theme."
99
+ },
100
+ "attribute": "theme",
101
+ "reflect": false,
102
+ "defaultValue": "\"\""
103
+ },
104
+ "open": {
105
+ "type": "boolean",
106
+ "mutable": true,
107
+ "complexType": {
108
+ "original": "boolean",
109
+ "resolved": "boolean",
110
+ "references": {}
111
+ },
112
+ "required": false,
113
+ "optional": false,
114
+ "docs": {
115
+ "tags": [],
116
+ "text": "Open"
117
+ },
118
+ "attribute": "open",
119
+ "reflect": true,
120
+ "defaultValue": "false"
121
+ }
122
+ };
123
+ }
124
+ static get events() {
125
+ return [{
126
+ "method": "duetSlideoutEvent",
127
+ "name": "duetSlideoutEvent",
128
+ "bubbles": true,
129
+ "cancelable": true,
130
+ "composed": true,
131
+ "docs": {
132
+ "tags": [],
133
+ "text": "Event raised when the menu 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**."
134
+ },
135
+ "complexType": {
136
+ "original": "DuetSlideoutEventDetails",
137
+ "resolved": "{ originalEvent: Event; data: { element: HTMLElement; open: boolean; }; component: \"duet-slideout\"; }",
138
+ "references": {
139
+ "DuetSlideoutEventDetails": {
140
+ "location": "local"
141
+ }
142
+ }
143
+ }
144
+ }];
145
+ }
146
+ static get methods() {
147
+ return {
148
+ "toggle": {
149
+ "complexType": {
150
+ "signature": "() => Promise<void>",
151
+ "parameters": [],
152
+ "references": {
153
+ "Promise": {
154
+ "location": "global"
155
+ }
156
+ },
157
+ "return": "Promise<void>"
158
+ },
159
+ "docs": {
160
+ "text": "Toggles the slideout.",
161
+ "tags": []
162
+ }
163
+ }
164
+ };
165
+ }
166
+ static get elementRef() { return "element"; }
167
+ }