@govtechsg/sgds-web-component 3.30.0 → 3.30.1-rc.1

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 (355) hide show
  1. package/components/Mainnav/index.umd.min.js +302 -296
  2. package/components/Mainnav/index.umd.min.js.map +1 -1
  3. package/components/Mainnav/mainnav.js +1 -1
  4. package/components/Mainnav/mainnav.js.map +1 -1
  5. package/components/Mainnav/sgds-mainnav.d.ts +2 -0
  6. package/components/Mainnav/sgds-mainnav.js +18 -4
  7. package/components/Mainnav/sgds-mainnav.js.map +1 -1
  8. package/components/index.umd.min.js +10 -4
  9. package/components/index.umd.min.js.map +1 -1
  10. package/custom-elements.json +21 -2
  11. package/index.umd.min.js +10 -4
  12. package/index.umd.min.js.map +1 -1
  13. package/package.json +3 -1
  14. package/react/_ssr/index.d.ts +1 -0
  15. package/react/_ssr/index.js +2 -0
  16. package/react/_ssr/utils/ssr-nonce.js +73 -0
  17. package/react/_ssr/utils/ssr-nonce.js.map +1 -0
  18. package/react/_ssr-init.cjs.js +3 -0
  19. package/react/_ssr-init.d.ts +2 -0
  20. package/react/_ssr-init.js +3 -0
  21. package/react/accordion/index.cjs.js +1 -0
  22. package/react/accordion/index.cjs.js.map +1 -1
  23. package/react/accordion/index.js +1 -0
  24. package/react/accordion/index.js.map +1 -1
  25. package/react/accordion-item/index.cjs.js +1 -0
  26. package/react/accordion-item/index.cjs.js.map +1 -1
  27. package/react/accordion-item/index.js +1 -0
  28. package/react/accordion-item/index.js.map +1 -1
  29. package/react/alert/index.cjs.js +1 -0
  30. package/react/alert/index.cjs.js.map +1 -1
  31. package/react/alert/index.js +1 -0
  32. package/react/alert/index.js.map +1 -1
  33. package/react/alert-link/index.cjs.js +1 -0
  34. package/react/alert-link/index.cjs.js.map +1 -1
  35. package/react/alert-link/index.js +1 -0
  36. package/react/alert-link/index.js.map +1 -1
  37. package/react/appnav/index.cjs.js +1 -0
  38. package/react/appnav/index.cjs.js.map +1 -1
  39. package/react/appnav/index.js +1 -0
  40. package/react/appnav/index.js.map +1 -1
  41. package/react/appnav-profile/index.cjs.js +1 -0
  42. package/react/appnav-profile/index.cjs.js.map +1 -1
  43. package/react/appnav-profile/index.js +1 -0
  44. package/react/appnav-profile/index.js.map +1 -1
  45. package/react/badge/index.cjs.js +1 -0
  46. package/react/badge/index.cjs.js.map +1 -1
  47. package/react/badge/index.js +1 -0
  48. package/react/badge/index.js.map +1 -1
  49. package/react/breadcrumb/index.cjs.js +1 -0
  50. package/react/breadcrumb/index.cjs.js.map +1 -1
  51. package/react/breadcrumb/index.js +1 -0
  52. package/react/breadcrumb/index.js.map +1 -1
  53. package/react/breadcrumb-item/index.cjs.js +1 -0
  54. package/react/breadcrumb-item/index.cjs.js.map +1 -1
  55. package/react/breadcrumb-item/index.js +1 -0
  56. package/react/breadcrumb-item/index.js.map +1 -1
  57. package/react/button/index.cjs.js +1 -0
  58. package/react/button/index.cjs.js.map +1 -1
  59. package/react/button/index.js +1 -0
  60. package/react/button/index.js.map +1 -1
  61. package/react/card/index.cjs.js +1 -0
  62. package/react/card/index.cjs.js.map +1 -1
  63. package/react/card/index.js +1 -0
  64. package/react/card/index.js.map +1 -1
  65. package/react/checkbox/index.cjs.js +1 -0
  66. package/react/checkbox/index.cjs.js.map +1 -1
  67. package/react/checkbox/index.js +1 -0
  68. package/react/checkbox/index.js.map +1 -1
  69. package/react/checkbox-group/index.cjs.js +1 -0
  70. package/react/checkbox-group/index.cjs.js.map +1 -1
  71. package/react/checkbox-group/index.js +1 -0
  72. package/react/checkbox-group/index.js.map +1 -1
  73. package/react/close-button/index.cjs.js +1 -0
  74. package/react/close-button/index.cjs.js.map +1 -1
  75. package/react/close-button/index.js +1 -0
  76. package/react/close-button/index.js.map +1 -1
  77. package/react/combo-box/index.cjs.js +1 -0
  78. package/react/combo-box/index.cjs.js.map +1 -1
  79. package/react/combo-box/index.js +1 -0
  80. package/react/combo-box/index.js.map +1 -1
  81. package/react/combo-box-option/index.cjs.js +1 -0
  82. package/react/combo-box-option/index.cjs.js.map +1 -1
  83. package/react/combo-box-option/index.js +1 -0
  84. package/react/combo-box-option/index.js.map +1 -1
  85. package/react/components/Mainnav/mainnav.cjs.js +1 -1
  86. package/react/components/Mainnav/mainnav.cjs.js.map +1 -1
  87. package/react/components/Mainnav/mainnav.js +1 -1
  88. package/react/components/Mainnav/mainnav.js.map +1 -1
  89. package/react/components/Mainnav/sgds-mainnav.cjs.js +18 -4
  90. package/react/components/Mainnav/sgds-mainnav.cjs.js.map +1 -1
  91. package/react/components/Mainnav/sgds-mainnav.js +18 -4
  92. package/react/components/Mainnav/sgds-mainnav.js.map +1 -1
  93. package/react/data-table/index.cjs.js +1 -0
  94. package/react/data-table/index.cjs.js.map +1 -1
  95. package/react/data-table/index.js +1 -0
  96. package/react/data-table/index.js.map +1 -1
  97. package/react/data-table-cell/index.cjs.js +1 -0
  98. package/react/data-table-cell/index.cjs.js.map +1 -1
  99. package/react/data-table-cell/index.js +1 -0
  100. package/react/data-table-cell/index.js.map +1 -1
  101. package/react/data-table-head/index.cjs.js +1 -0
  102. package/react/data-table-head/index.cjs.js.map +1 -1
  103. package/react/data-table-head/index.js +1 -0
  104. package/react/data-table-head/index.js.map +1 -1
  105. package/react/data-table-row/index.cjs.js +1 -0
  106. package/react/data-table-row/index.cjs.js.map +1 -1
  107. package/react/data-table-row/index.js +1 -0
  108. package/react/data-table-row/index.js.map +1 -1
  109. package/react/datepicker/index.cjs.js +1 -0
  110. package/react/datepicker/index.cjs.js.map +1 -1
  111. package/react/datepicker/index.js +1 -0
  112. package/react/datepicker/index.js.map +1 -1
  113. package/react/description-list/index.cjs.js +1 -0
  114. package/react/description-list/index.cjs.js.map +1 -1
  115. package/react/description-list/index.js +1 -0
  116. package/react/description-list/index.js.map +1 -1
  117. package/react/description-list-group/index.cjs.js +1 -0
  118. package/react/description-list-group/index.cjs.js.map +1 -1
  119. package/react/description-list-group/index.js +1 -0
  120. package/react/description-list-group/index.js.map +1 -1
  121. package/react/divider/index.cjs.js +1 -0
  122. package/react/divider/index.cjs.js.map +1 -1
  123. package/react/divider/index.js +1 -0
  124. package/react/divider/index.js.map +1 -1
  125. package/react/drawer/index.cjs.js +1 -0
  126. package/react/drawer/index.cjs.js.map +1 -1
  127. package/react/drawer/index.js +1 -0
  128. package/react/drawer/index.js.map +1 -1
  129. package/react/dropdown/index.cjs.js +1 -0
  130. package/react/dropdown/index.cjs.js.map +1 -1
  131. package/react/dropdown/index.js +1 -0
  132. package/react/dropdown/index.js.map +1 -1
  133. package/react/dropdown-item/index.cjs.js +1 -0
  134. package/react/dropdown-item/index.cjs.js.map +1 -1
  135. package/react/dropdown-item/index.js +1 -0
  136. package/react/dropdown-item/index.js.map +1 -1
  137. package/react/file-upload/index.cjs.js +1 -0
  138. package/react/file-upload/index.cjs.js.map +1 -1
  139. package/react/file-upload/index.js +1 -0
  140. package/react/file-upload/index.js.map +1 -1
  141. package/react/footer/index.cjs.js +1 -0
  142. package/react/footer/index.cjs.js.map +1 -1
  143. package/react/footer/index.js +1 -0
  144. package/react/footer/index.js.map +1 -1
  145. package/react/footer-item/index.cjs.js +1 -0
  146. package/react/footer-item/index.cjs.js.map +1 -1
  147. package/react/footer-item/index.js +1 -0
  148. package/react/footer-item/index.js.map +1 -1
  149. package/react/icon/index.cjs.js +1 -0
  150. package/react/icon/index.cjs.js.map +1 -1
  151. package/react/icon/index.js +1 -0
  152. package/react/icon/index.js.map +1 -1
  153. package/react/icon-button/index.cjs.js +1 -0
  154. package/react/icon-button/index.cjs.js.map +1 -1
  155. package/react/icon-button/index.js +1 -0
  156. package/react/icon-button/index.js.map +1 -1
  157. package/react/icon-card/index.cjs.js +1 -0
  158. package/react/icon-card/index.cjs.js.map +1 -1
  159. package/react/icon-card/index.js +1 -0
  160. package/react/icon-card/index.js.map +1 -1
  161. package/react/icon-list/index.cjs.js +1 -0
  162. package/react/icon-list/index.cjs.js.map +1 -1
  163. package/react/icon-list/index.js +1 -0
  164. package/react/icon-list/index.js.map +1 -1
  165. package/react/image-card/index.cjs.js +1 -0
  166. package/react/image-card/index.cjs.js.map +1 -1
  167. package/react/image-card/index.js +1 -0
  168. package/react/image-card/index.js.map +1 -1
  169. package/react/input/index.cjs.js +1 -0
  170. package/react/input/index.cjs.js.map +1 -1
  171. package/react/input/index.js +1 -0
  172. package/react/input/index.js.map +1 -1
  173. package/react/link/index.cjs.js +1 -0
  174. package/react/link/index.cjs.js.map +1 -1
  175. package/react/link/index.js +1 -0
  176. package/react/link/index.js.map +1 -1
  177. package/react/mainnav/index.cjs.js +1 -0
  178. package/react/mainnav/index.cjs.js.map +1 -1
  179. package/react/mainnav/index.js +1 -0
  180. package/react/mainnav/index.js.map +1 -1
  181. package/react/mainnav-dropdown/index.cjs.js +1 -0
  182. package/react/mainnav-dropdown/index.cjs.js.map +1 -1
  183. package/react/mainnav-dropdown/index.js +1 -0
  184. package/react/mainnav-dropdown/index.js.map +1 -1
  185. package/react/mainnav-item/index.cjs.js +1 -0
  186. package/react/mainnav-item/index.cjs.js.map +1 -1
  187. package/react/mainnav-item/index.js +1 -0
  188. package/react/mainnav-item/index.js.map +1 -1
  189. package/react/mainnav-profile/index.cjs.js +1 -0
  190. package/react/mainnav-profile/index.cjs.js.map +1 -1
  191. package/react/mainnav-profile/index.js +1 -0
  192. package/react/mainnav-profile/index.js.map +1 -1
  193. package/react/masthead/index.cjs.js +1 -0
  194. package/react/masthead/index.cjs.js.map +1 -1
  195. package/react/masthead/index.js +1 -0
  196. package/react/masthead/index.js.map +1 -1
  197. package/react/modal/index.cjs.js +1 -0
  198. package/react/modal/index.cjs.js.map +1 -1
  199. package/react/modal/index.js +1 -0
  200. package/react/modal/index.js.map +1 -1
  201. package/react/overflow-menu/index.cjs.js +1 -0
  202. package/react/overflow-menu/index.cjs.js.map +1 -1
  203. package/react/overflow-menu/index.js +1 -0
  204. package/react/overflow-menu/index.js.map +1 -1
  205. package/react/pagination/index.cjs.js +1 -0
  206. package/react/pagination/index.cjs.js.map +1 -1
  207. package/react/pagination/index.js +1 -0
  208. package/react/pagination/index.js.map +1 -1
  209. package/react/progress-bar/index.cjs.js +1 -0
  210. package/react/progress-bar/index.cjs.js.map +1 -1
  211. package/react/progress-bar/index.js +1 -0
  212. package/react/progress-bar/index.js.map +1 -1
  213. package/react/quantity-toggle/index.cjs.js +1 -0
  214. package/react/quantity-toggle/index.cjs.js.map +1 -1
  215. package/react/quantity-toggle/index.js +1 -0
  216. package/react/quantity-toggle/index.js.map +1 -1
  217. package/react/radio/index.cjs.js +1 -0
  218. package/react/radio/index.cjs.js.map +1 -1
  219. package/react/radio/index.js +1 -0
  220. package/react/radio/index.js.map +1 -1
  221. package/react/radio-group/index.cjs.js +1 -0
  222. package/react/radio-group/index.cjs.js.map +1 -1
  223. package/react/radio-group/index.js +1 -0
  224. package/react/radio-group/index.js.map +1 -1
  225. package/react/select/index.cjs.js +1 -0
  226. package/react/select/index.cjs.js.map +1 -1
  227. package/react/select/index.js +1 -0
  228. package/react/select/index.js.map +1 -1
  229. package/react/select-option/index.cjs.js +1 -0
  230. package/react/select-option/index.cjs.js.map +1 -1
  231. package/react/select-option/index.js +1 -0
  232. package/react/select-option/index.js.map +1 -1
  233. package/react/sidebar/index.cjs.js +1 -0
  234. package/react/sidebar/index.cjs.js.map +1 -1
  235. package/react/sidebar/index.js +1 -0
  236. package/react/sidebar/index.js.map +1 -1
  237. package/react/sidebar-group/index.cjs.js +1 -0
  238. package/react/sidebar-group/index.cjs.js.map +1 -1
  239. package/react/sidebar-group/index.js +1 -0
  240. package/react/sidebar-group/index.js.map +1 -1
  241. package/react/sidebar-item/index.cjs.js +1 -0
  242. package/react/sidebar-item/index.cjs.js.map +1 -1
  243. package/react/sidebar-item/index.js +1 -0
  244. package/react/sidebar-item/index.js.map +1 -1
  245. package/react/sidebar-section/index.cjs.js +1 -0
  246. package/react/sidebar-section/index.cjs.js.map +1 -1
  247. package/react/sidebar-section/index.js +1 -0
  248. package/react/sidebar-section/index.js.map +1 -1
  249. package/react/sidenav/index.cjs.js +1 -0
  250. package/react/sidenav/index.cjs.js.map +1 -1
  251. package/react/sidenav/index.js +1 -0
  252. package/react/sidenav/index.js.map +1 -1
  253. package/react/sidenav-item/index.cjs.js +1 -0
  254. package/react/sidenav-item/index.cjs.js.map +1 -1
  255. package/react/sidenav-item/index.js +1 -0
  256. package/react/sidenav-item/index.js.map +1 -1
  257. package/react/sidenav-link/index.cjs.js +1 -0
  258. package/react/sidenav-link/index.cjs.js.map +1 -1
  259. package/react/sidenav-link/index.js +1 -0
  260. package/react/sidenav-link/index.js.map +1 -1
  261. package/react/skeleton/index.cjs.js +1 -0
  262. package/react/skeleton/index.cjs.js.map +1 -1
  263. package/react/skeleton/index.js +1 -0
  264. package/react/skeleton/index.js.map +1 -1
  265. package/react/spinner/index.cjs.js +1 -0
  266. package/react/spinner/index.cjs.js.map +1 -1
  267. package/react/spinner/index.js +1 -0
  268. package/react/spinner/index.js.map +1 -1
  269. package/react/step/index.cjs.js +1 -0
  270. package/react/step/index.cjs.js.map +1 -1
  271. package/react/step/index.js +1 -0
  272. package/react/step/index.js.map +1 -1
  273. package/react/stepper/index.cjs.js +1 -0
  274. package/react/stepper/index.cjs.js.map +1 -1
  275. package/react/stepper/index.js +1 -0
  276. package/react/stepper/index.js.map +1 -1
  277. package/react/subnav/index.cjs.js +1 -0
  278. package/react/subnav/index.cjs.js.map +1 -1
  279. package/react/subnav/index.js +1 -0
  280. package/react/subnav/index.js.map +1 -1
  281. package/react/subnav-item/index.cjs.js +1 -0
  282. package/react/subnav-item/index.cjs.js.map +1 -1
  283. package/react/subnav-item/index.js +1 -0
  284. package/react/subnav-item/index.js.map +1 -1
  285. package/react/switch/index.cjs.js +1 -0
  286. package/react/switch/index.cjs.js.map +1 -1
  287. package/react/switch/index.js +1 -0
  288. package/react/switch/index.js.map +1 -1
  289. package/react/system-banner/index.cjs.js +1 -0
  290. package/react/system-banner/index.cjs.js.map +1 -1
  291. package/react/system-banner/index.js +1 -0
  292. package/react/system-banner/index.js.map +1 -1
  293. package/react/system-banner-item/index.cjs.js +1 -0
  294. package/react/system-banner-item/index.cjs.js.map +1 -1
  295. package/react/system-banner-item/index.js +1 -0
  296. package/react/system-banner-item/index.js.map +1 -1
  297. package/react/tab/index.cjs.js +1 -0
  298. package/react/tab/index.cjs.js.map +1 -1
  299. package/react/tab/index.js +1 -0
  300. package/react/tab/index.js.map +1 -1
  301. package/react/tab-group/index.cjs.js +1 -0
  302. package/react/tab-group/index.cjs.js.map +1 -1
  303. package/react/tab-group/index.js +1 -0
  304. package/react/tab-group/index.js.map +1 -1
  305. package/react/tab-panel/index.cjs.js +1 -0
  306. package/react/tab-panel/index.cjs.js.map +1 -1
  307. package/react/tab-panel/index.js +1 -0
  308. package/react/tab-panel/index.js.map +1 -1
  309. package/react/table/index.cjs.js +1 -0
  310. package/react/table/index.cjs.js.map +1 -1
  311. package/react/table/index.js +1 -0
  312. package/react/table/index.js.map +1 -1
  313. package/react/table-cell/index.cjs.js +1 -0
  314. package/react/table-cell/index.cjs.js.map +1 -1
  315. package/react/table-cell/index.js +1 -0
  316. package/react/table-cell/index.js.map +1 -1
  317. package/react/table-head/index.cjs.js +1 -0
  318. package/react/table-head/index.cjs.js.map +1 -1
  319. package/react/table-head/index.js +1 -0
  320. package/react/table-head/index.js.map +1 -1
  321. package/react/table-of-contents/index.cjs.js +1 -0
  322. package/react/table-of-contents/index.cjs.js.map +1 -1
  323. package/react/table-of-contents/index.js +1 -0
  324. package/react/table-of-contents/index.js.map +1 -1
  325. package/react/table-row/index.cjs.js +1 -0
  326. package/react/table-row/index.cjs.js.map +1 -1
  327. package/react/table-row/index.js +1 -0
  328. package/react/table-row/index.js.map +1 -1
  329. package/react/textarea/index.cjs.js +1 -0
  330. package/react/textarea/index.cjs.js.map +1 -1
  331. package/react/textarea/index.js +1 -0
  332. package/react/textarea/index.js.map +1 -1
  333. package/react/thumbnail-card/index.cjs.js +1 -0
  334. package/react/thumbnail-card/index.cjs.js.map +1 -1
  335. package/react/thumbnail-card/index.js +1 -0
  336. package/react/thumbnail-card/index.js.map +1 -1
  337. package/react/toast/index.cjs.js +1 -0
  338. package/react/toast/index.cjs.js.map +1 -1
  339. package/react/toast/index.js +1 -0
  340. package/react/toast/index.js.map +1 -1
  341. package/react/toast-container/index.cjs.js +1 -0
  342. package/react/toast-container/index.cjs.js.map +1 -1
  343. package/react/toast-container/index.js +1 -0
  344. package/react/toast-container/index.js.map +1 -1
  345. package/react/tooltip/index.cjs.js +1 -0
  346. package/react/tooltip/index.cjs.js.map +1 -1
  347. package/react/tooltip/index.js +1 -0
  348. package/react/tooltip/index.js.map +1 -1
  349. package/react/utils/ssr-nonce-patch.cjs.js +32 -0
  350. package/react/utils/ssr-nonce-patch.cjs.js.map +1 -0
  351. package/react/utils/ssr-nonce-patch.js +32 -0
  352. package/react/utils/ssr-nonce-patch.js.map +1 -0
  353. package/types/react.d.ts +2 -0
  354. package/utils/ssr-nonce-patch.d.ts +9 -0
  355. package/utils/ssr-nonce.d.ts +46 -0
@@ -1,6 +1,6 @@
1
1
  import { css } from "lit";
2
2
  //#region src/components/Mainnav/mainnav.css
3
- var css_248z = css`:host{display:block}nav{background-color:var(--sgds-surface-default);box-shadow:0 2px 4px 0 hsla(0,0%,5%,.08);position:relative;z-index:var(--sgds-z-index-floating)}.navbar{align-items:stretch;display:flex;flex-wrap:wrap;font-size:var(--sgds-font-size-label-sm);gap:var(--sgds-gap-xs);justify-content:flex-start;margin:auto;max-width:var(--sgds-mainnav-max-width,1440px);min-height:var(--sgds-mainnav-height,72px);padding:0 var(--sgds-mainnav-mobile-padding-x);width:100%}:host([fluid]) .navbar{max-width:none}.navbar-brand,::slotted(.navbar-brand){align-items:center;align-self:center;color:var(--sgds-color-default);display:flex;height:var(--sgds-dimension-40);text-decoration:none;white-space:nowrap}.navbar-brand ::slotted(img){height:100%}.navbar-brand:focus-visible,::slotted(.navbar-brand:focus-visible){outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.navbar-nav{display:flex;flex-direction:column;height:100%;margin-bottom:0;margin-top:0;width:100%}nav>.navbar-body{background-color:var(--sgds-surface-default);border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-translucent);box-shadow:0 2px 4px 0 hsla(0,0%,5%,.08);padding:var(--sgds-padding-md) 0;position:absolute;transition:transform .2s ease-in-out;width:100%;z-index:var(--sgds-z-index-floating)}nav>.navbar-body .navbar-nav{height:100dvh;margin:auto;max-width:var(--sgds-mainnav-max-width,1440px)}nav>.navbar-body slot::slotted(:not(sgds-mainnav-item):not(sgds-mainnav-dropdown):not(sgds-mainnav-profile)){padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x)}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{align-self:center}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-nav-scroll{overflow-y:auto}@media (min-width:512px){.navbar-expand-sm{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:1024px){.navbar{padding:0 var(--sgds-mainnav-padding-x)}.navbar-expand-lg{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1280px){.navbar-expand-xl{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .nav-link{padding-left:var(--mainnav-nav-link-padding-x);padding-right:var(--mainnav-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1440px){.navbar-expand-xxl{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-end{align-items:center;display:flex;gap:var(--sgds-gap-xs);margin-left:auto}slot[name=non-collapsible].slot-empty{display:none}slot[name=profile]{align-self:stretch;display:flex}slot[name=non-collapsible]{align-items:center;display:flex;gap:var(--sgds-spacer-4)}.slot-end{align-items:stretch;display:flex;gap:var(--sgds-gap-xs);height:inherit;margin-left:auto}.slot-end::slotted(:not([name$=-mainnav-item]):not([name$=-mainnav-dropdown])){align-self:center}`;
3
+ var css_248z = css`:host{display:block}nav{background-color:var(--sgds-surface-default);box-shadow:0 2px 4px 0 hsla(0,0%,5%,.08);position:relative;z-index:var(--sgds-z-index-floating)}.navbar{align-items:stretch;display:flex;flex-wrap:wrap;font-size:var(--sgds-font-size-label-sm);gap:var(--sgds-gap-xs);justify-content:flex-start;margin:auto;max-width:var(--sgds-mainnav-max-width,1440px);min-height:var(--sgds-mainnav-height,72px);padding:0 var(--sgds-mainnav-mobile-padding-x);width:100%}:host([fluid]) .navbar{max-width:none}.navbar-brand,::slotted(.navbar-brand){align-items:center;align-self:center;color:var(--sgds-color-default);display:flex;height:var(--sgds-dimension-40);text-decoration:none;white-space:nowrap}.navbar-brand ::slotted(img){height:100%}.navbar-brand:focus-visible,::slotted(.navbar-brand:focus-visible){outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.navbar-nav{display:flex;flex-direction:column;height:100%;margin-bottom:0;margin-top:0;width:100%}nav>.navbar-body{background-color:var(--sgds-surface-default);border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-translucent);box-shadow:0 2px 4px 0 hsla(0,0%,5%,.08);padding:var(--sgds-padding-md) 0;position:absolute;transition:transform .2s ease-in-out;width:100%;z-index:var(--sgds-z-index-floating)}nav>.navbar-body .navbar-nav{height:100dvh;margin:auto;max-width:var(--sgds-mainnav-max-width,1440px)}nav>.navbar-body slot::slotted(:not(sgds-mainnav-item):not(sgds-mainnav-dropdown):not(sgds-mainnav-profile)){padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x)}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{align-self:center}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-nav-scroll{overflow-y:auto}@media (min-width:512px){.navbar-expand-sm{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:1024px){.navbar{padding:0 var(--sgds-mainnav-padding-x)}.navbar-expand-lg{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1280px){.navbar-expand-xl{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .nav-link{padding-left:var(--mainnav-nav-link-padding-x);padding-right:var(--mainnav-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1440px){.navbar-expand-xxl{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-end{align-items:center;display:flex;gap:var(--sgds-gap-xs);margin-left:auto}.navbar-end--empty{display:none}slot[name=profile]{align-self:stretch;display:flex}slot[name=non-collapsible]{align-items:center;display:flex;gap:var(--sgds-spacer-4)}.slot-end{align-items:stretch;display:flex;gap:var(--sgds-gap-xs);height:inherit;margin-left:auto}.slot-end::slotted(:not([name$=-mainnav-item]):not([name$=-mainnav-dropdown])){align-self:center}slot.slot-empty{display:none}`;
4
4
  //#endregion
5
5
  export { css_248z as default };
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"mainnav.js","names":[],"sources":["../../../src/components/Mainnav/mainnav.css"],"sourcesContent":[":host {\n display: block;\n}\n\n\nnav {\n background-color: var(--sgds-surface-default);\n box-shadow: 0px 2px 4px 0px rgba(14, 14, 14, 0.08);\n position: relative;\n z-index: var(--sgds-z-index-floating);\n}\n\n.navbar {\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n justify-content: flex-start;\n gap: var(--sgds-gap-xs);\n padding: 0px var(--sgds-mainnav-mobile-padding-x);\n width: 100%;\n max-width: var(--sgds-mainnav-max-width, 1440px);\n min-height: var(--sgds-mainnav-height, 72px);\n margin: auto;\n font-size: var(--sgds-font-size-label-sm);\n}\n\n:host([fluid]) .navbar {\n max-width: none;\n}\n\n.navbar-brand,\n::slotted(.navbar-brand) {\n display: flex;\n height: var(--sgds-dimension-40);\n align-self: center;\n align-items: center;\n text-decoration: none;\n white-space: nowrap;\n color: var(--sgds-color-default);\n}\n\n.navbar-brand ::slotted(img) {\n height: 100%;\n}\n\n.navbar-brand:focus-visible,\n::slotted(.navbar-brand:focus-visible) {\n outline: var(--sgds-outline-focus);\n outline-offset: var(--sgds-outline-offset-focus);\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n margin-top: 0;\n margin-bottom: 0;\n}\n\nnav > .navbar-body {\n position: absolute;\n z-index: var(--sgds-z-index-floating);\n width: 100%;\n background-color: var(--sgds-surface-default);\n padding: var(--sgds-padding-md) 0px;\n border-top: var(--sgds-border-width-1) solid var(--sgds-border-color-translucent);\n box-shadow: 0px 2px 4px 0px rgba(14, 14, 14, 0.08);\n transition: transform 0.2s ease-in-out;\n}\n\nnav > .navbar-body .navbar-nav {\n height: 100dvh;\n max-width: var(--sgds-mainnav-max-width, 1440px);\n margin: auto;\n}\n\nnav > .navbar-body slot::slotted(:not(sgds-mainnav-item):not(sgds-mainnav-dropdown):not(sgds-mainnav-profile)) {\n padding: var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x);\n}\n\n.navbar-collapse {\n align-items: center;\n flex-basis: 100%;\n flex-grow: 1;\n}\n\n.navbar-toggler {\n align-self: center;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n\n.navbar-nav-scroll {\n overflow-y: auto;\n}\n\n@media (min-width: 512px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n gap: var(--sgds-gap-xl);\n }\n\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n\n .navbar-expand-sm .navbar-nav-scroll {\n overflow: visible;\n }\n\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n gap: var(--sgds-gap-xl);\n }\n\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n\n .navbar-expand-md .navbar-nav-scroll {\n overflow: visible;\n }\n\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 1024px) {\n .navbar {\n padding: 0px var(--sgds-mainnav-padding-x);\n }\n\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n gap: var(--sgds-gap-xl);\n }\n\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n\n .navbar-expand-lg .navbar-nav-scroll {\n overflow: visible;\n }\n\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 1280px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n gap: var(--sgds-gap-xl);\n }\n\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-left: var(--mainnav-nav-link-padding-x);\n padding-right: var(--mainnav-nav-link-padding-x);\n }\n\n .navbar-expand-xl .navbar-nav-scroll {\n overflow: visible;\n }\n\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 1440px) {\n .navbar-expand-xxl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n gap: var(--sgds-gap-xl);\n }\n\n .navbar-expand-xxl .navbar-nav {\n flex-direction: row;\n }\n\n .navbar-expand-xxl .navbar-nav-scroll {\n overflow: visible;\n }\n\n .navbar-expand-xxl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n\n .navbar-expand-xxl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n gap: var(--sgds-gap-xl);\n}\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav-scroll {\n overflow: visible;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n/* slot */\n\n.navbar-end {\n display: flex;\n align-items: center;\n gap: var(--sgds-gap-xs);\n margin-left: auto;\n}\n\nslot[name=\"non-collapsible\"].slot-empty {\n display: none;\n}\n\nslot[name=\"profile\"] {\n display: flex;\n align-self: stretch;\n}\n\nslot[name=\"non-collapsible\"] {\n display: flex;\n gap: var(--sgds-spacer-4);\n align-items: center;\n}\n\n.slot-end {\n display: flex;\n margin-left: auto;\n align-items: stretch;\n height: inherit;\n gap: var(--sgds-gap-xs);\n}\n\n\n/* there is no wildcard selector for element tag names in css */\n.slot-end::slotted(:not([name$=\"-mainnav-item\"]):not([name$=\"-mainnav-dropdown\"])) {\n align-self: center;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"mainnav.js","names":[],"sources":["../../../src/components/Mainnav/mainnav.css"],"sourcesContent":[":host {\n display: block;\n}\n\nnav {\n background-color: var(--sgds-surface-default);\n box-shadow: 0px 2px 4px 0px rgba(14, 14, 14, 0.08);\n position: relative;\n z-index: var(--sgds-z-index-floating);\n}\n\n.navbar {\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n justify-content: flex-start;\n gap: var(--sgds-gap-xs);\n padding: 0px var(--sgds-mainnav-mobile-padding-x);\n width: 100%;\n max-width: var(--sgds-mainnav-max-width, 1440px);\n min-height: var(--sgds-mainnav-height, 72px);\n margin: auto;\n font-size: var(--sgds-font-size-label-sm);\n}\n\n:host([fluid]) .navbar {\n max-width: none;\n}\n\n.navbar-brand,\n::slotted(.navbar-brand) {\n display: flex;\n height: var(--sgds-dimension-40);\n align-self: center;\n align-items: center;\n text-decoration: none;\n white-space: nowrap;\n color: var(--sgds-color-default);\n}\n\n.navbar-brand ::slotted(img) {\n height: 100%;\n}\n\n.navbar-brand:focus-visible,\n::slotted(.navbar-brand:focus-visible) {\n outline: var(--sgds-outline-focus);\n outline-offset: var(--sgds-outline-offset-focus);\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n margin-top: 0;\n margin-bottom: 0;\n}\n\nnav > .navbar-body {\n position: absolute;\n z-index: var(--sgds-z-index-floating);\n width: 100%;\n background-color: var(--sgds-surface-default);\n padding: var(--sgds-padding-md) 0px;\n border-top: var(--sgds-border-width-1) solid var(--sgds-border-color-translucent);\n box-shadow: 0px 2px 4px 0px rgba(14, 14, 14, 0.08);\n transition: transform 0.2s ease-in-out;\n}\n\nnav > .navbar-body .navbar-nav {\n height: 100dvh;\n max-width: var(--sgds-mainnav-max-width, 1440px);\n margin: auto;\n}\n\nnav > .navbar-body slot::slotted(:not(sgds-mainnav-item):not(sgds-mainnav-dropdown):not(sgds-mainnav-profile)) {\n padding: var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x);\n}\n\n.navbar-collapse {\n align-items: center;\n flex-basis: 100%;\n flex-grow: 1;\n}\n\n.navbar-toggler {\n align-self: center;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n\n.navbar-nav-scroll {\n overflow-y: auto;\n}\n\n@media (min-width: 512px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n gap: var(--sgds-gap-xl);\n }\n\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n\n .navbar-expand-sm .navbar-nav-scroll {\n overflow: visible;\n }\n\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n gap: var(--sgds-gap-xl);\n }\n\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n\n .navbar-expand-md .navbar-nav-scroll {\n overflow: visible;\n }\n\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 1024px) {\n .navbar {\n padding: 0px var(--sgds-mainnav-padding-x);\n }\n\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n gap: var(--sgds-gap-xl);\n }\n\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n\n .navbar-expand-lg .navbar-nav-scroll {\n overflow: visible;\n }\n\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 1280px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n gap: var(--sgds-gap-xl);\n }\n\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-left: var(--mainnav-nav-link-padding-x);\n padding-right: var(--mainnav-nav-link-padding-x);\n }\n\n .navbar-expand-xl .navbar-nav-scroll {\n overflow: visible;\n }\n\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 1440px) {\n .navbar-expand-xxl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n gap: var(--sgds-gap-xl);\n }\n\n .navbar-expand-xxl .navbar-nav {\n flex-direction: row;\n }\n\n .navbar-expand-xxl .navbar-nav-scroll {\n overflow: visible;\n }\n\n .navbar-expand-xxl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n\n .navbar-expand-xxl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n gap: var(--sgds-gap-xl);\n}\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav-scroll {\n overflow: visible;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n/* slot */\n\n.navbar-end {\n display: flex;\n align-items: center;\n gap: var(--sgds-gap-xs);\n margin-left: auto;\n}\n\n.navbar-end--empty {\n display: none;\n}\n\nslot[name=\"profile\"] {\n display: flex;\n align-self: stretch;\n}\n\nslot[name=\"non-collapsible\"] {\n display: flex;\n gap: var(--sgds-spacer-4);\n align-items: center;\n}\n\n.slot-end {\n display: flex;\n margin-left: auto;\n align-items: stretch;\n height: inherit;\n gap: var(--sgds-gap-xs);\n}\n\n/* there is no wildcard selector for element tag names in css */\n.slot-end::slotted(:not([name$=\"-mainnav-item\"]):not([name$=\"-mainnav-dropdown\"])) {\n align-self: center;\n}\n\nslot.slot-empty {\n display: none;\n}\n"],"mappings":""}
@@ -23,6 +23,8 @@ export declare class SgdsMainnav extends NavElement {
23
23
  private _expanded;
24
24
  /** Used only for SSR to indicate the presence of the `non-collapsible` slot. */
25
25
  hasNonCollapsibleSlot: boolean;
26
+ /** Used only for SSR to indicate the presence of the `profile` slot. */
27
+ hasProfileSlot: boolean;
26
28
  /** When true, removes max-width constraint to allow content to stretch full screen width */
27
29
  fluid: boolean;
28
30
  private defaultNodes;
@@ -30,8 +30,9 @@ var SgdsMainnav = class extends NavElement {
30
30
  this._breakpointReached = false;
31
31
  this._expanded = false;
32
32
  this.hasNonCollapsibleSlot = false;
33
+ this.hasProfileSlot = false;
33
34
  this.fluid = false;
34
- this.hasSlotController = new HasSlotController(this, "non-collapsible");
35
+ this.hasSlotController = new HasSlotController(this, "non-collapsible", "profile");
35
36
  }
36
37
  static {
37
38
  this.styles = [...NavElement.styles, css_248z];
@@ -46,6 +47,7 @@ var SgdsMainnav = class extends NavElement {
46
47
  }
47
48
  updated() {
48
49
  if (!this.hasNonCollapsibleSlot) this.hasNonCollapsibleSlot = this.hasSlotController.test("non-collapsible");
50
+ if (!this.hasProfileSlot) this.hasProfileSlot = this.hasSlotController.test("profile");
49
51
  this._expanded = this.expanded;
50
52
  }
51
53
  _onBreakpointReached(reached) {
@@ -66,7 +68,9 @@ var SgdsMainnav = class extends NavElement {
66
68
  });
67
69
  }
68
70
  _handleProfileSlotChange(e) {
69
- e.target.assignedElements({ flatten: true }).forEach((el) => {
71
+ const childElements = e.target.assignedElements({ flatten: true });
72
+ this.hasProfileSlot = childElements.length > 0;
73
+ childElements.forEach((el) => {
70
74
  el.setAttribute("expand", this.expand);
71
75
  });
72
76
  }
@@ -94,9 +98,18 @@ var SgdsMainnav = class extends NavElement {
94
98
  ></slot>
95
99
  </div>
96
100
  </div>
97
- <div class="navbar-end">
101
+ <div
102
+ class=${classMap({
103
+ "navbar-end": true,
104
+ "navbar-end--empty": !this.hasNonCollapsibleSlot && !this.hasProfileSlot && !this.breakpointReached
105
+ })}
106
+ >
98
107
  <slot name="non-collapsible" class=${classMap({ "slot-empty": !this.hasNonCollapsibleSlot })}></slot>
99
- <slot name="profile" @slotchange=${this._handleProfileSlotChange}></slot>
108
+ <slot
109
+ name="profile"
110
+ class=${classMap({ "slot-empty": !this.hasProfileSlot })}
111
+ @slotchange=${this._handleProfileSlotChange}
112
+ ></slot>
100
113
  ${this._renderToggler()}
101
114
  </div>
102
115
  </div>
@@ -107,6 +120,7 @@ var SgdsMainnav = class extends NavElement {
107
120
  __decorate([provide({ context: MainnavBreakpointContext }), state()], SgdsMainnav.prototype, "_breakpointReached", void 0);
108
121
  __decorate([provide({ context: MainnavExpandedContext }), state()], SgdsMainnav.prototype, "_expanded", void 0);
109
122
  __decorate([property({ type: Boolean })], SgdsMainnav.prototype, "hasNonCollapsibleSlot", void 0);
123
+ __decorate([property({ type: Boolean })], SgdsMainnav.prototype, "hasProfileSlot", void 0);
110
124
  __decorate([property({
111
125
  type: Boolean,
112
126
  reflect: true
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-mainnav.js","names":["mainnavStyle"],"sources":["../../../src/components/Mainnav/sgds-mainnav.ts"],"sourcesContent":["import { provide } from \"@lit/context\";\nimport { html } from \"lit\";\nimport { property, queryAssignedElements, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport NavElement from \"../../base/nav-element\";\nimport { sanitizeHref } from \"../../utils/safeUrl\";\nimport { HasSlotController } from \"../../utils/slot\";\nimport { MainnavBreakpointContext, MainnavExpandedContext } from \"./mainnav-context\";\nimport mainnavStyle from \"./mainnav.css\";\nimport SgdsMainnavDropdown from \"./sgds-mainnav-dropdown\";\nimport SgdsMainnavItem from \"./sgds-mainnav-item\";\n\nexport type MainnavExpandSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"xxl\" | \"always\" | \"never\";\n\n/**\n * @summary This component is the primary means that your users will use to navigate through your portal. It includes horizontal navigation and branding to identify your site.\n *\n * @event sgds-show - Emitted on show. Only for collapsed menu.\n * @event sgds-after-show - Emitted on show after animation has completed. Only for collapsed menu.\n * @event sgds-hide - Emitted on hide. Only for collapsed menu.\n * @event sgds-after-hide - Emitted on hide after animation has completed. Only for collapsed menu.\n *\n * @slot default - Default slot of SgdsMainnav. Pass in SgdsMainnavItem elements here.\n * @slot end - Elements in this slot will be positioned to the right end of .navbar-nav. Elements in this slot will also be included in collapsed menu.\n * @slot brand - Brand slot of SgdsMainnav. Pass in brand logo img here\n * @slot profile - Profile slot positioned at the far right in desktop. In mobile, moves into the collapsed menu as the first item.\n * @slot non-collapsible - Elements in this slot will not be collapsed\n *\n */\nexport class SgdsMainnav extends NavElement {\n static styles = [...NavElement.styles, mainnavStyle];\n\n @provide({ context: MainnavBreakpointContext })\n @state()\n private _breakpointReached = false;\n\n @provide({ context: MainnavExpandedContext })\n @state()\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n private _expanded = false;\n\n /** Used only for SSR to indicate the presence of the `non-collapsible` slot. */\n @property({ type: Boolean }) hasNonCollapsibleSlot = false;\n\n /** When true, removes max-width constraint to allow content to stretch full screen width */\n @property({ type: Boolean, reflect: true })\n fluid = false;\n\n @queryAssignedElements() private defaultNodes!: SgdsMainnavItem[] | SgdsMainnavDropdown[];\n\n @queryAssignedElements({ slot: \"end\" }) private endNodes!: SgdsMainnavItem[] | SgdsMainnavDropdown[];\n\n /** @internal */\n get defaultSlotItems(): SgdsMainnavItem[] | SgdsMainnavDropdown[] {\n return [...(this.defaultNodes || [])].filter((node: HTMLElement) => typeof node.tagName !== \"undefined\") as\n | SgdsMainnavItem[]\n | SgdsMainnavDropdown[];\n }\n\n /** @internal */\n get endSlotItems(): SgdsMainnavItem[] | SgdsMainnavDropdown[] {\n return [...(this.endNodes || [])].filter((node: HTMLElement) => typeof node.tagName !== \"undefined\") as\n | SgdsMainnavItem[]\n | SgdsMainnavDropdown[];\n }\n\n private readonly hasSlotController = new HasSlotController(this, \"non-collapsible\");\n\n updated() {\n if (!this.hasNonCollapsibleSlot) this.hasNonCollapsibleSlot = this.hasSlotController.test(\"non-collapsible\");\n // Sync expanded state to context\n this._expanded = this.expanded;\n }\n\n protected _onBreakpointReached(reached: boolean): void {\n this._breakpointReached = reached;\n }\n\n protected _isBreakpointReached(): boolean {\n return this._breakpointReached;\n }\n\n private _handleDefaultSlotChange(e: Event) {\n const childElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n childElements.forEach(el => {\n el.setAttribute(\"expand\", this.expand);\n });\n }\n\n private _handleSlotChange(e: Event) {\n const childElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n childElements.forEach(e => {\n e.setAttribute(\"name\", e.tagName.toLowerCase());\n e.setAttribute(\"expand\", this.expand);\n });\n }\n\n private _handleProfileSlotChange(e: Event) {\n const childElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n childElements.forEach(el => {\n el.setAttribute(\"expand\", this.expand);\n });\n }\n\n render() {\n this.breakpointReached =\n window.innerWidth <\n (this.expand === \"always\"\n ? -1\n : this.expand === \"never\"\n ? Infinity\n : { sm: 512, md: 768, lg: 1024, xl: 1280, xxl: 1440 }[this.expand]);\n\n return html`\n <nav aria-label=\"Main navigation\">\n <div class=\"navbar ${this._expandClass()}\">\n ${this.brandHref\n ? html`<a class=\"navbar-brand\" href=${sanitizeHref(this.brandHref) ?? \"\"}>\n <slot name=\"brand\"></slot>\n </a>`\n : html`<slot name=\"brand\" @slotchange=${this._handleBrandSlotChange}></slot>`}\n <div class=\"navbar-body navbar-collapse\" id=${this.collapseId}>\n <div class=\"navbar-nav navbar-nav-scroll\">\n <slot @slotchange=${this._handleDefaultSlotChange}></slot>\n <slot\n name=\"end\"\n class=${classMap({ \"slot-end\": !this.breakpointReached })}\n @slotchange=${this._handleSlotChange}\n ></slot>\n </div>\n </div>\n <div class=\"navbar-end\">\n <slot name=\"non-collapsible\" class=${classMap({ \"slot-empty\": !this.hasNonCollapsibleSlot })}></slot>\n <slot name=\"profile\" @slotchange=${this._handleProfileSlotChange}></slot>\n ${this._renderToggler()}\n </div>\n </div>\n </nav>\n `;\n }\n}\n\nexport default SgdsMainnav;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAa,cAAb,cAAiC,WAAW;;;EAKb,KAAA,qBAAA;EAKT,KAAA,YAAA;EAGiC,KAAA,wBAAA;EAI7C,KAAA,QAAA;EAoB6B,KAAA,oBAAA,IAAI,kBAAkB,MAAM,iBAAiB;;;EApClE,KAAA,SAAA,CAAC,GAAG,WAAW,QAAQA,QAAY;;;CAuBnD,IAAI,mBAA8D;EAChE,OAAO,CAAC,GAAI,KAAK,gBAAgB,CAAC,CAAE,CAAC,CAAC,QAAQ,SAAsB,OAAO,KAAK,YAAY,WAAW;CAGzG;;CAGA,IAAI,eAA0D;EAC5D,OAAO,CAAC,GAAI,KAAK,YAAY,CAAC,CAAE,CAAC,CAAC,QAAQ,SAAsB,OAAO,KAAK,YAAY,WAAW;CAGrG;CAIA,UAAU;EACR,IAAI,CAAC,KAAK,uBAAuB,KAAK,wBAAwB,KAAK,kBAAkB,KAAK,iBAAiB;EAE3G,KAAK,YAAY,KAAK;CACxB;CAEA,qBAA+B,SAAwB;EACrD,KAAK,qBAAqB;CAC5B;CAEA,uBAA0C;EACxC,OAAO,KAAK;CACd;CAEA,yBAAiC,GAAU;EAEzC,EADyB,OAA2B,iBAAiB,EAAE,SAAS,KAAK,CACzE,CAAC,CAAC,SAAQ,OAAM;GAC1B,GAAG,aAAa,UAAU,KAAK,MAAM;EACvC,CAAC;CACH;CAEA,kBAA0B,GAAU;EAElC,EADyB,OAA2B,iBAAiB,EAAE,SAAS,KAAK,CACzE,CAAC,CAAC,SAAQ,MAAK;GACzB,EAAE,aAAa,QAAQ,EAAE,QAAQ,YAAY,CAAC;GAC9C,EAAE,aAAa,UAAU,KAAK,MAAM;EACtC,CAAC;CACH;CAEA,yBAAiC,GAAU;EAEzC,EADyB,OAA2B,iBAAiB,EAAE,SAAS,KAAK,CACzE,CAAC,CAAC,SAAQ,OAAM;GAC1B,GAAG,aAAa,UAAU,KAAK,MAAM;EACvC,CAAC;CACH;CAEA,SAAS;EACP,KAAK,oBACH,OAAO,cACN,KAAK,WAAW,WACb,KACA,KAAK,WAAW,UAChB,WACA;GAAE,IAAI;GAAK,IAAI;GAAK,IAAI;GAAM,IAAI;GAAM,KAAK;EAAK,EAAE,KAAK;EAE/D,OAAO,IAAI;;6BAEc,KAAK,aAAa,EAAE;YACrC,KAAK,YACH,IAAI,gCAAgC,aAAa,KAAK,SAAS,KAAK,GAAG;;sBAGvE,IAAI,kCAAkC,KAAK,uBAAuB,UAAU;wDAClC,KAAK,WAAW;;kCAEtC,KAAK,yBAAyB;;;wBAGxC,SAAS,EAAE,YAAY,CAAC,KAAK,kBAAkB,CAAC,EAAE;8BAC5C,KAAK,kBAAkB;;;;;iDAKJ,SAAS,EAAE,cAAc,CAAC,KAAK,sBAAsB,CAAC,EAAE;+CAC1D,KAAK,yBAAyB;cAC/D,KAAK,eAAe,EAAE;;;;;CAKlC;AACF;AA5GG,WAAA,CAAA,QAAQ,EAAE,SAAS,yBAAyB,CAAC,GAC7C,MAAM,CAAA,GAAA,YAAA,WAAA,sBAAA,KAAA,CAAA;AAGN,WAAA,CAAA,QAAQ,EAAE,SAAS,uBAAuB,CAAC,GAC3C,MAAM,CAAA,GAAA,YAAA,WAAA,aAAA,KAAA,CAAA;AAKN,WAAA,CAAA,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,YAAA,WAAA,yBAAA,KAAA,CAAA;AAG1B,WAAA,CAAA,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,YAAA,WAAA,SAAA,KAAA,CAAA;AAGzC,WAAA,CAAA,sBAAsB,CAAA,GAAA,YAAA,WAAA,gBAAA,KAAA,CAAA;AAEtB,WAAA,CAAA,sBAAsB,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,YAAA,WAAA,YAAA,KAAA,CAAA"}
1
+ {"version":3,"file":"sgds-mainnav.js","names":["mainnavStyle"],"sources":["../../../src/components/Mainnav/sgds-mainnav.ts"],"sourcesContent":["import { provide } from \"@lit/context\";\nimport { html } from \"lit\";\nimport { property, queryAssignedElements, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport NavElement from \"../../base/nav-element\";\nimport { sanitizeHref } from \"../../utils/safeUrl\";\nimport { HasSlotController } from \"../../utils/slot\";\nimport { MainnavBreakpointContext, MainnavExpandedContext } from \"./mainnav-context\";\nimport mainnavStyle from \"./mainnav.css\";\nimport SgdsMainnavDropdown from \"./sgds-mainnav-dropdown\";\nimport SgdsMainnavItem from \"./sgds-mainnav-item\";\n\nexport type MainnavExpandSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"xxl\" | \"always\" | \"never\";\n\n/**\n * @summary This component is the primary means that your users will use to navigate through your portal. It includes horizontal navigation and branding to identify your site.\n *\n * @event sgds-show - Emitted on show. Only for collapsed menu.\n * @event sgds-after-show - Emitted on show after animation has completed. Only for collapsed menu.\n * @event sgds-hide - Emitted on hide. Only for collapsed menu.\n * @event sgds-after-hide - Emitted on hide after animation has completed. Only for collapsed menu.\n *\n * @slot default - Default slot of SgdsMainnav. Pass in SgdsMainnavItem elements here.\n * @slot end - Elements in this slot will be positioned to the right end of .navbar-nav. Elements in this slot will also be included in collapsed menu.\n * @slot brand - Brand slot of SgdsMainnav. Pass in brand logo img here\n * @slot profile - Profile slot positioned at the far right in desktop. In mobile, moves into the collapsed menu as the first item.\n * @slot non-collapsible - Elements in this slot will not be collapsed\n *\n */\nexport class SgdsMainnav extends NavElement {\n static styles = [...NavElement.styles, mainnavStyle];\n\n @provide({ context: MainnavBreakpointContext })\n @state()\n private _breakpointReached = false;\n\n @provide({ context: MainnavExpandedContext })\n @state()\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n private _expanded = false;\n\n /** Used only for SSR to indicate the presence of the `non-collapsible` slot. */\n @property({ type: Boolean }) hasNonCollapsibleSlot = false;\n\n /** Used only for SSR to indicate the presence of the `profile` slot. */\n @property({ type: Boolean }) hasProfileSlot = false;\n\n /** When true, removes max-width constraint to allow content to stretch full screen width */\n @property({ type: Boolean, reflect: true })\n fluid = false;\n\n @queryAssignedElements() private defaultNodes!: SgdsMainnavItem[] | SgdsMainnavDropdown[];\n\n @queryAssignedElements({ slot: \"end\" }) private endNodes!: SgdsMainnavItem[] | SgdsMainnavDropdown[];\n\n /** @internal */\n get defaultSlotItems(): SgdsMainnavItem[] | SgdsMainnavDropdown[] {\n return [...(this.defaultNodes || [])].filter((node: HTMLElement) => typeof node.tagName !== \"undefined\") as\n | SgdsMainnavItem[]\n | SgdsMainnavDropdown[];\n }\n\n /** @internal */\n get endSlotItems(): SgdsMainnavItem[] | SgdsMainnavDropdown[] {\n return [...(this.endNodes || [])].filter((node: HTMLElement) => typeof node.tagName !== \"undefined\") as\n | SgdsMainnavItem[]\n | SgdsMainnavDropdown[];\n }\n\n private readonly hasSlotController = new HasSlotController(this, \"non-collapsible\", \"profile\");\n\n updated() {\n if (!this.hasNonCollapsibleSlot) this.hasNonCollapsibleSlot = this.hasSlotController.test(\"non-collapsible\");\n if (!this.hasProfileSlot) this.hasProfileSlot = this.hasSlotController.test(\"profile\");\n // Sync expanded state to context\n this._expanded = this.expanded;\n }\n\n protected _onBreakpointReached(reached: boolean): void {\n this._breakpointReached = reached;\n }\n\n protected _isBreakpointReached(): boolean {\n return this._breakpointReached;\n }\n\n private _handleDefaultSlotChange(e: Event) {\n const childElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n childElements.forEach(el => {\n el.setAttribute(\"expand\", this.expand);\n });\n }\n\n private _handleSlotChange(e: Event) {\n const childElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n childElements.forEach(e => {\n e.setAttribute(\"name\", e.tagName.toLowerCase());\n e.setAttribute(\"expand\", this.expand);\n });\n }\n\n private _handleProfileSlotChange(e: Event) {\n const childElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n this.hasProfileSlot = childElements.length > 0;\n childElements.forEach(el => {\n el.setAttribute(\"expand\", this.expand);\n });\n }\n\n render() {\n this.breakpointReached =\n window.innerWidth <\n (this.expand === \"always\"\n ? -1\n : this.expand === \"never\"\n ? Infinity\n : { sm: 512, md: 768, lg: 1024, xl: 1280, xxl: 1440 }[this.expand]);\n\n return html`\n <nav aria-label=\"Main navigation\">\n <div class=\"navbar ${this._expandClass()}\">\n ${this.brandHref\n ? html`<a class=\"navbar-brand\" href=${sanitizeHref(this.brandHref) ?? \"\"}>\n <slot name=\"brand\"></slot>\n </a>`\n : html`<slot name=\"brand\" @slotchange=${this._handleBrandSlotChange}></slot>`}\n <div class=\"navbar-body navbar-collapse\" id=${this.collapseId}>\n <div class=\"navbar-nav navbar-nav-scroll\">\n <slot @slotchange=${this._handleDefaultSlotChange}></slot>\n <slot\n name=\"end\"\n class=${classMap({ \"slot-end\": !this.breakpointReached })}\n @slotchange=${this._handleSlotChange}\n ></slot>\n </div>\n </div>\n <div\n class=${classMap({\n \"navbar-end\": true,\n \"navbar-end--empty\": !this.hasNonCollapsibleSlot && !this.hasProfileSlot && !this.breakpointReached\n })}\n >\n <slot name=\"non-collapsible\" class=${classMap({ \"slot-empty\": !this.hasNonCollapsibleSlot })}></slot>\n <slot\n name=\"profile\"\n class=${classMap({ \"slot-empty\": !this.hasProfileSlot })}\n @slotchange=${this._handleProfileSlotChange}\n ></slot>\n ${this._renderToggler()}\n </div>\n </div>\n </nav>\n `;\n }\n}\n\nexport default SgdsMainnav;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAa,cAAb,cAAiC,WAAW;;;EAKb,KAAA,qBAAA;EAKT,KAAA,YAAA;EAGiC,KAAA,wBAAA;EAGP,KAAA,iBAAA;EAItC,KAAA,QAAA;EAoB6B,KAAA,oBAAA,IAAI,kBAAkB,MAAM,mBAAmB,SAAS;;;EAvC7E,KAAA,SAAA,CAAC,GAAG,WAAW,QAAQA,QAAY;;;CA0BnD,IAAI,mBAA8D;EAChE,OAAO,CAAC,GAAI,KAAK,gBAAgB,CAAC,CAAE,CAAC,CAAC,QAAQ,SAAsB,OAAO,KAAK,YAAY,WAAW;CAGzG;;CAGA,IAAI,eAA0D;EAC5D,OAAO,CAAC,GAAI,KAAK,YAAY,CAAC,CAAE,CAAC,CAAC,QAAQ,SAAsB,OAAO,KAAK,YAAY,WAAW;CAGrG;CAIA,UAAU;EACR,IAAI,CAAC,KAAK,uBAAuB,KAAK,wBAAwB,KAAK,kBAAkB,KAAK,iBAAiB;EAC3G,IAAI,CAAC,KAAK,gBAAgB,KAAK,iBAAiB,KAAK,kBAAkB,KAAK,SAAS;EAErF,KAAK,YAAY,KAAK;CACxB;CAEA,qBAA+B,SAAwB;EACrD,KAAK,qBAAqB;CAC5B;CAEA,uBAA0C;EACxC,OAAO,KAAK;CACd;CAEA,yBAAiC,GAAU;EAEzC,EADyB,OAA2B,iBAAiB,EAAE,SAAS,KAAK,CACzE,CAAC,CAAC,SAAQ,OAAM;GAC1B,GAAG,aAAa,UAAU,KAAK,MAAM;EACvC,CAAC;CACH;CAEA,kBAA0B,GAAU;EAElC,EADyB,OAA2B,iBAAiB,EAAE,SAAS,KAAK,CACzE,CAAC,CAAC,SAAQ,MAAK;GACzB,EAAE,aAAa,QAAQ,EAAE,QAAQ,YAAY,CAAC;GAC9C,EAAE,aAAa,UAAU,KAAK,MAAM;EACtC,CAAC;CACH;CAEA,yBAAiC,GAAU;EACzC,MAAM,gBAAiB,EAAE,OAA2B,iBAAiB,EAAE,SAAS,KAAK,CAAC;EACtF,KAAK,iBAAiB,cAAc,SAAS;EAC7C,cAAc,SAAQ,OAAM;GAC1B,GAAG,aAAa,UAAU,KAAK,MAAM;EACvC,CAAC;CACH;CAEA,SAAS;EACP,KAAK,oBACH,OAAO,cACN,KAAK,WAAW,WACb,KACA,KAAK,WAAW,UAChB,WACA;GAAE,IAAI;GAAK,IAAI;GAAK,IAAI;GAAM,IAAI;GAAM,KAAK;EAAK,EAAE,KAAK;EAE/D,OAAO,IAAI;;6BAEc,KAAK,aAAa,EAAE;YACrC,KAAK,YACH,IAAI,gCAAgC,aAAa,KAAK,SAAS,KAAK,GAAG;;sBAGvE,IAAI,kCAAkC,KAAK,uBAAuB,UAAU;wDAClC,KAAK,WAAW;;kCAEtC,KAAK,yBAAyB;;;wBAGxC,SAAS,EAAE,YAAY,CAAC,KAAK,kBAAkB,CAAC,EAAE;8BAC5C,KAAK,kBAAkB;;;;;oBAKjC,SAAS;GACf,cAAc;GACd,qBAAqB,CAAC,KAAK,yBAAyB,CAAC,KAAK,kBAAkB,CAAC,KAAK;EACpF,CAAC,EAAE;;iDAEkC,SAAS,EAAE,cAAc,CAAC,KAAK,sBAAsB,CAAC,EAAE;;;sBAGnF,SAAS,EAAE,cAAc,CAAC,KAAK,eAAe,CAAC,EAAE;4BAC3C,KAAK,yBAAyB;;cAE5C,KAAK,eAAe,EAAE;;;;;CAKlC;AACF;AA1HG,WAAA,CAAA,QAAQ,EAAE,SAAS,yBAAyB,CAAC,GAC7C,MAAM,CAAA,GAAA,YAAA,WAAA,sBAAA,KAAA,CAAA;AAGN,WAAA,CAAA,QAAQ,EAAE,SAAS,uBAAuB,CAAC,GAC3C,MAAM,CAAA,GAAA,YAAA,WAAA,aAAA,KAAA,CAAA;AAKN,WAAA,CAAA,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,YAAA,WAAA,yBAAA,KAAA,CAAA;AAG1B,WAAA,CAAA,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,YAAA,WAAA,kBAAA,KAAA,CAAA;AAG1B,WAAA,CAAA,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,YAAA,WAAA,SAAA,KAAA,CAAA;AAGzC,WAAA,CAAA,sBAAsB,CAAA,GAAA,YAAA,WAAA,gBAAA,KAAA,CAAA;AAEtB,WAAA,CAAA,sBAAsB,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,YAAA,WAAA,YAAA,KAAA,CAAA"}
@@ -3669,7 +3669,7 @@ let V_=(e,t,n)=>{let r=/* @__PURE__ */ new Map;for(let i=t;i<=n;i++)r.set(e[i],i
3669
3669
  </slot>
3670
3670
  </div>
3671
3671
  </div>
3672
- `}};T([st({slot:`image`,flatten:!0})],qv.prototype,`_imageNode`,void 0),T([w({slot:`footer`})],qv.prototype,`footerNode`,void 0),T([w({slot:`link`})],qv.prototype,`linkNode`,void 0),T([x({type:Boolean,reflect:!0})],qv.prototype,`noPadding`,void 0),T([x({type:String,reflect:!0})],qv.prototype,`imagePosition`,void 0),T([x({type:String,reflect:!0})],qv.prototype,`imageAdjustment`,void 0);let Jv=am(`mainnav-context`),Yv=am(`mainnav-expanded-context`);b();var Xv=u`:host{display:block}nav{background-color:var(--sgds-surface-default);box-shadow:0 2px 4px 0 hsla(0,0%,5%,.08);position:relative;z-index:var(--sgds-z-index-floating)}.navbar{align-items:stretch;display:flex;flex-wrap:wrap;font-size:var(--sgds-font-size-label-sm);gap:var(--sgds-gap-xs);justify-content:flex-start;margin:auto;max-width:var(--sgds-mainnav-max-width,1440px);min-height:var(--sgds-mainnav-height,72px);padding:0 var(--sgds-mainnav-mobile-padding-x);width:100%}:host([fluid]) .navbar{max-width:none}.navbar-brand,::slotted(.navbar-brand){align-items:center;align-self:center;color:var(--sgds-color-default);display:flex;height:var(--sgds-dimension-40);text-decoration:none;white-space:nowrap}.navbar-brand ::slotted(img){height:100%}.navbar-brand:focus-visible,::slotted(.navbar-brand:focus-visible){outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.navbar-nav{display:flex;flex-direction:column;height:100%;margin-bottom:0;margin-top:0;width:100%}nav>.navbar-body{background-color:var(--sgds-surface-default);border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-translucent);box-shadow:0 2px 4px 0 hsla(0,0%,5%,.08);padding:var(--sgds-padding-md) 0;position:absolute;transition:transform .2s ease-in-out;width:100%;z-index:var(--sgds-z-index-floating)}nav>.navbar-body .navbar-nav{height:100dvh;margin:auto;max-width:var(--sgds-mainnav-max-width,1440px)}nav>.navbar-body slot::slotted(:not(sgds-mainnav-item):not(sgds-mainnav-dropdown):not(sgds-mainnav-profile)){padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x)}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{align-self:center}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-nav-scroll{overflow-y:auto}@media (min-width:512px){.navbar-expand-sm{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:1024px){.navbar{padding:0 var(--sgds-mainnav-padding-x)}.navbar-expand-lg{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1280px){.navbar-expand-xl{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .nav-link{padding-left:var(--mainnav-nav-link-padding-x);padding-right:var(--mainnav-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1440px){.navbar-expand-xxl{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-end{align-items:center;display:flex;gap:var(--sgds-gap-xs);margin-left:auto}slot[name=non-collapsible].slot-empty{display:none}slot[name=profile]{align-self:stretch;display:flex}slot[name=non-collapsible]{align-items:center;display:flex;gap:var(--sgds-spacer-4)}.slot-end{align-items:stretch;display:flex;gap:var(--sgds-gap-xs);height:inherit;margin-left:auto}.slot-end::slotted(:not([name$=-mainnav-item]):not([name$=-mainnav-dropdown])){align-self:center}`;b();var Zv=class extends R{constructor(...e){super(...e),this._breakpointReached=!1,this._expanded=!1,this.hasNonCollapsibleSlot=!1,this.fluid=!1,this.hasSlotController=new Sm(this,`non-collapsible`)}static{this.styles=[...R.styles,Xv]}get defaultSlotItems(){return[...this.defaultNodes||[]].filter(e=>e.tagName!==void 0)}get endSlotItems(){return[...this.endNodes||[]].filter(e=>e.tagName!==void 0)}updated(){this.hasNonCollapsibleSlot||=this.hasSlotController.test(`non-collapsible`),this._expanded=this.expanded}_onBreakpointReached(e){this._breakpointReached=e}_isBreakpointReached(){return this._breakpointReached}_handleDefaultSlotChange(e){e.target.assignedElements({flatten:!0}).forEach(e=>{e.setAttribute(`expand`,this.expand)})}_handleSlotChange(e){e.target.assignedElements({flatten:!0}).forEach(e=>{e.setAttribute(`name`,e.tagName.toLowerCase()),e.setAttribute(`expand`,this.expand)})}_handleProfileSlotChange(e){e.target.assignedElements({flatten:!0}).forEach(e=>{e.setAttribute(`expand`,this.expand)})}render(){return this.breakpointReached=window.innerWidth<(this.expand===`always`?-1:this.expand===`never`?1/0:{sm:512,md:768,lg:1024,xl:1280,xxl:1440}[this.expand]),v`
3672
+ `}};T([st({slot:`image`,flatten:!0})],qv.prototype,`_imageNode`,void 0),T([w({slot:`footer`})],qv.prototype,`footerNode`,void 0),T([w({slot:`link`})],qv.prototype,`linkNode`,void 0),T([x({type:Boolean,reflect:!0})],qv.prototype,`noPadding`,void 0),T([x({type:String,reflect:!0})],qv.prototype,`imagePosition`,void 0),T([x({type:String,reflect:!0})],qv.prototype,`imageAdjustment`,void 0);let Jv=am(`mainnav-context`),Yv=am(`mainnav-expanded-context`);b();var Xv=u`:host{display:block}nav{background-color:var(--sgds-surface-default);box-shadow:0 2px 4px 0 hsla(0,0%,5%,.08);position:relative;z-index:var(--sgds-z-index-floating)}.navbar{align-items:stretch;display:flex;flex-wrap:wrap;font-size:var(--sgds-font-size-label-sm);gap:var(--sgds-gap-xs);justify-content:flex-start;margin:auto;max-width:var(--sgds-mainnav-max-width,1440px);min-height:var(--sgds-mainnav-height,72px);padding:0 var(--sgds-mainnav-mobile-padding-x);width:100%}:host([fluid]) .navbar{max-width:none}.navbar-brand,::slotted(.navbar-brand){align-items:center;align-self:center;color:var(--sgds-color-default);display:flex;height:var(--sgds-dimension-40);text-decoration:none;white-space:nowrap}.navbar-brand ::slotted(img){height:100%}.navbar-brand:focus-visible,::slotted(.navbar-brand:focus-visible){outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.navbar-nav{display:flex;flex-direction:column;height:100%;margin-bottom:0;margin-top:0;width:100%}nav>.navbar-body{background-color:var(--sgds-surface-default);border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-translucent);box-shadow:0 2px 4px 0 hsla(0,0%,5%,.08);padding:var(--sgds-padding-md) 0;position:absolute;transition:transform .2s ease-in-out;width:100%;z-index:var(--sgds-z-index-floating)}nav>.navbar-body .navbar-nav{height:100dvh;margin:auto;max-width:var(--sgds-mainnav-max-width,1440px)}nav>.navbar-body slot::slotted(:not(sgds-mainnav-item):not(sgds-mainnav-dropdown):not(sgds-mainnav-profile)){padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x)}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{align-self:center}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-nav-scroll{overflow-y:auto}@media (min-width:512px){.navbar-expand-sm{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:1024px){.navbar{padding:0 var(--sgds-mainnav-padding-x)}.navbar-expand-lg{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1280px){.navbar-expand-xl{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .nav-link{padding-left:var(--mainnav-nav-link-padding-x);padding-right:var(--mainnav-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1440px){.navbar-expand-xxl{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;gap:var(--sgds-gap-xl);justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-end{align-items:center;display:flex;gap:var(--sgds-gap-xs);margin-left:auto}.navbar-end--empty{display:none}slot[name=profile]{align-self:stretch;display:flex}slot[name=non-collapsible]{align-items:center;display:flex;gap:var(--sgds-spacer-4)}.slot-end{align-items:stretch;display:flex;gap:var(--sgds-gap-xs);height:inherit;margin-left:auto}.slot-end::slotted(:not([name$=-mainnav-item]):not([name$=-mainnav-dropdown])){align-self:center}slot.slot-empty{display:none}`;b();var Zv=class extends R{constructor(...e){super(...e),this._breakpointReached=!1,this._expanded=!1,this.hasNonCollapsibleSlot=!1,this.hasProfileSlot=!1,this.fluid=!1,this.hasSlotController=new Sm(this,`non-collapsible`,`profile`)}static{this.styles=[...R.styles,Xv]}get defaultSlotItems(){return[...this.defaultNodes||[]].filter(e=>e.tagName!==void 0)}get endSlotItems(){return[...this.endNodes||[]].filter(e=>e.tagName!==void 0)}updated(){this.hasNonCollapsibleSlot||=this.hasSlotController.test(`non-collapsible`),this.hasProfileSlot||=this.hasSlotController.test(`profile`),this._expanded=this.expanded}_onBreakpointReached(e){this._breakpointReached=e}_isBreakpointReached(){return this._breakpointReached}_handleDefaultSlotChange(e){e.target.assignedElements({flatten:!0}).forEach(e=>{e.setAttribute(`expand`,this.expand)})}_handleSlotChange(e){e.target.assignedElements({flatten:!0}).forEach(e=>{e.setAttribute(`name`,e.tagName.toLowerCase()),e.setAttribute(`expand`,this.expand)})}_handleProfileSlotChange(e){let t=e.target.assignedElements({flatten:!0});this.hasProfileSlot=t.length>0,t.forEach(e=>{e.setAttribute(`expand`,this.expand)})}render(){return this.breakpointReached=window.innerWidth<(this.expand===`always`?-1:this.expand===`never`?1/0:{sm:512,md:768,lg:1024,xl:1280,xxl:1440}[this.expand]),v`
3673
3673
  <nav aria-label="Main navigation">
3674
3674
  <div class="navbar ${this._expandClass()}">
3675
3675
  ${this.brandHref?v`<a class="navbar-brand" href=${em(this.brandHref)??``}>
@@ -3685,14 +3685,20 @@ let V_=(e,t,n)=>{let r=/* @__PURE__ */ new Map;for(let i=t;i<=n;i++)r.set(e[i],i
3685
3685
  ></slot>
3686
3686
  </div>
3687
3687
  </div>
3688
- <div class="navbar-end">
3688
+ <div
3689
+ class=${D({"navbar-end":!0,"navbar-end--empty":!this.hasNonCollapsibleSlot&&!this.hasProfileSlot&&!this.breakpointReached})}
3690
+ >
3689
3691
  <slot name="non-collapsible" class=${D({"slot-empty":!this.hasNonCollapsibleSlot})}></slot>
3690
- <slot name="profile" @slotchange=${this._handleProfileSlotChange}></slot>
3692
+ <slot
3693
+ name="profile"
3694
+ class=${D({"slot-empty":!this.hasProfileSlot})}
3695
+ @slotchange=${this._handleProfileSlotChange}
3696
+ ></slot>
3691
3697
  ${this._renderToggler()}
3692
3698
  </div>
3693
3699
  </div>
3694
3700
  </nav>
3695
- `}};T([um({context:Jv}),S()],Zv.prototype,`_breakpointReached`,void 0),T([um({context:Yv}),S()],Zv.prototype,`_expanded`,void 0),T([x({type:Boolean})],Zv.prototype,`hasNonCollapsibleSlot`,void 0),T([x({type:Boolean,reflect:!0})],Zv.prototype,`fluid`,void 0),T([w()],Zv.prototype,`defaultNodes`,void 0),T([w({slot:`end`})],Zv.prototype,`endNodes`,void 0),b();var Qv=u`:host([expand=always]) .nav-link{border-bottom:var(--sgds-border-width-4) solid transparent;min-height:100%;padding:0 var(--sgds-padding-md)}@media (min-width:512px){:host([expand=sm]) .nav-link{border-bottom:var(--sgds-border-width-4) solid transparent;min-height:100%;padding:0 var(--sgds-padding-md)}}@media (min-width:768px){:host([expand=md]) .nav-link{border-bottom:var(--sgds-border-width-4) solid transparent;min-height:100%;padding:0 var(--sgds-padding-md)}}@media (min-width:1024px){:host(:not([expand])) .nav-link,:host([expand=lg]) .nav-link{border-bottom:var(--sgds-border-width-4) solid transparent;min-height:100%;padding:0 var(--sgds-padding-md)}}@media (min-width:1280px){:host([expand=xl]) .nav-link{border-bottom:var(--sgds-border-width-4) solid transparent;min-height:100%;padding:0 var(--sgds-padding-md)}}@media (min-width:1440px){:host([expand=xxl]) .nav-link{border-bottom:var(--sgds-border-width-4) solid transparent;min-height:100%;padding:0 var(--sgds-padding-md)}}.nav-link{align-items:center;background:none;border:none;box-sizing:border-box;color:var(--sgds-color-default);cursor:pointer;display:flex;font-family:inherit;font-size:var(--sgds-font-size-label-sm);gap:var(--sgds-gap-xs);line-height:var(--sgds-line-height-2-xs,20px);padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x);text-align:left;text-decoration:none;width:100%}:host([tone=brand][expand=always]) .nav-link,:host([tone^=gradient][expand=always]) .nav-link{color:var(--sgds-color-fixed-light)}@media screen and (min-width:512px){:host([tone=brand][expand=sm]) .nav-link,:host([tone^=gradient][expand=sm]) .nav-link{color:var(--sgds-color-fixed-light)}}@media screen and (min-width:768px){:host([tone=brand][expand=md]) .nav-link,:host([tone^=gradient][expand=md]) .nav-link{color:var(--sgds-color-fixed-light)}}@media screen and (min-width:1024px){:host([tone=brand][expand=lg]) .nav-link,:host([tone^=gradient][expand=lg]) .nav-link{color:var(--sgds-color-fixed-light)}}@media screen and (min-width:1280px){:host([tone=brand][expand=xl]) .nav-link,:host([tone^=gradient][expand=xl]) .nav-link{color:var(--sgds-color-fixed-light)}}@media screen and (min-width:1440px){:host([tone=brand][expand=xxl]) .nav-link,:host([tone^=gradient][expand=xxl]) .nav-link{color:var(--sgds-color-fixed-light)}}.nav-link.show,.nav-link:not(.disabled).active{border-color:var(--sgds-primary-border-color-default);color:var(--sgds-primary-color-default)}.nav-link:not(.disabled):hover{color:var(--sgds-primary-color-default)}.nav-link:not(.disabled):focus-visible{color:var(--sgds-primary-color-default);outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.nav-link.disabled{cursor:not-allowed;opacity:var(--sgds-opacity-40)}.dropdown-items{background-color:var(--sgds-surface-default);height:100%;left:100%;overflow-y:auto;padding:var(--sgds-padding-md) 0;position:absolute;top:0;width:100%}.dropdown-items a{align-items:center;color:var(--sgds-color-default);cursor:pointer;display:flex;font-size:var(--sgds-font-size-label-sm);gap:var(--sgds-gap-xs);line-height:var(--sgds-line-height-2-xs,20px);margin:auto;max-width:var(--sgds-mainnav-max-width,1440px);padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x);text-decoration:none}.dropdown-items a:hover{color:var(--sgds-primary-color-default)}.dropdown-items a:focus-visible{color:var(--sgds-primary-color-default);outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus);outline-offset:-5px}:host([tone=brand][expand=always]) slot[name=toggler]::slotted(*),:host([tone^=gradient][expand=always]) slot[name=toggler]::slotted(*){color:var(--sgds-color-fixed-light)}@media screen and (min-width:512px){:host([tone=brand][expand=sm]) slot[name=toggler]::slotted(*),:host([tone^=gradient][expand=sm]) slot[name=toggler]::slotted(*){color:var(--sgds-color-fixed-light)}}@media screen and (min-width:768px){:host([tone=brand][expand=md]) slot[name=toggler]::slotted(*),:host([tone^=gradient][expand=md]) slot[name=toggler]::slotted(*){color:var(--sgds-color-fixed-light)}}@media screen and (min-width:1024px){:host([tone=brand][expand=lg]) slot[name=toggler]::slotted(*),:host([tone^=gradient][expand=lg]) slot[name=toggler]::slotted(*){color:var(--sgds-color-fixed-light)}}@media screen and (min-width:1280px){:host([tone=brand][expand=xl]) slot[name=toggler]::slotted(*),:host([tone^=gradient][expand=xl]) slot[name=toggler]::slotted(*){color:var(--sgds-color-fixed-light)}}@media screen and (min-width:1440px){:host([tone=brand][expand=xxl]) slot[name=toggler]::slotted(*),:host([tone^=gradient][expand=xxl]) slot[name=toggler]::slotted(*){color:var(--sgds-color-fixed-light)}}slot[name=toggler]::slotted(*){flex:1}sgds-dropdown{display:block;height:100%}@media screen and (min-width:1024px){.dropdown-items a,.nav-link{padding:var(--sgds-padding-sm) var(--sgds-mainnav-padding-x)}}`;b();let $v=`Enter`;var ey=class extends E{constructor(...e){super(...e),this._breakpointReached=!0,this.togglerId=mm(`dropdown`,`button`),this.active=!1,this.disabled=!1}static{this.styles=[...E.styles,Xg,Yg,Qv]}static{this.dependencies={"sgds-dropdown":Zg,"sgds-dropdown-item":s_,"sgds-icon":I}}get defaultSlotItems(){return[...this.defaultNodes||[]].filter(e=>e.tagName!==void 0)}updated(){this._breakpointReached&&(this._copyTextToMenu(),this._resetDropdownMenu(),this._hideDropdownMenuItems())}_handleSlotChange(e){e.target.assignedElements({flatten:!0}).forEach(e=>{e.addEventListener(`keydown`,this._handleKeyboardMenuItemsEvent.bind(this));let t=e.shadowRoot.querySelector(`.dropdown-item`);t.classList.add(`mainnav-dropdown-link`);let n=e.shadowRoot?.querySelector(`a`)||e.querySelector(`a`);n.tabIndex=-1,t.classList.contains(`disabled`)?(n.setAttribute(`href`,`javascript:void(0)`),n.setAttribute(`tabindex`,`-1`)):n.addEventListener(`click`,e=>{e.target.closest(`sgds-mainnav`).hide()})})}_handleDesktopSlotChange(e){e.target.assignedElements({flatten:!0}).forEach(e=>{let t=e.shadowRoot.querySelector(`.dropdown-item`);t.classList.remove(`mainnav-dropdown-link`),e.shadowRoot.querySelector(`.dropdown-item slot`).assignedElements({flatten:!0}).forEach(e=>{t.classList.contains(`disabled`)&&(e.setAttribute(`href`,`javascript:void(0)`),e.setAttribute(`tabindex`,`-1`))})})}_handleKeyboardMenuItemsEvent(e){if(!this._breakpointReached)return;let t=this.defaultSlotItems.filter(e=>!e.hasAttribute(`disabled`)),n=[this.menuHeaderButton,...t],r=n.length;if(r===0)return;let i=n[0],a=n[r-1].shadowRoot.querySelector(`.dropdown-item`),o=document.activeElement;if(o===this&&(o=this.shadowRoot.activeElement),e.key===`Tab`){if(e.shiftKey)o===i&&(e.preventDefault(),setTimeout(()=>{a.focus()},0));else{let t=o.shadowRoot?o.shadowRoot.querySelector(`.dropdown-item`):null;t&&t===a&&(e.preventDefault(),i.focus())}}}_copyTextToMenu(){this.menuHeaderText.textContent=this.togglerNodes[0].textContent}_handleTogglerSlotChange(){}_hideDropdownMenuItems(){this.dropdownItems.style.display=`none`,this.dropdownItems.setAttribute(`aria-hidden`,`true`)}_resetDropdownMenu(){let e=this._getNavbarBody();return e?new Promise(t=>{let n=r=>{r.propertyName===`transform`&&(e.removeEventListener(`transitionend`,n),t())};getComputedStyle(e).transitionProperty.includes(`transform`)?(e.addEventListener(`transitionend`,n),e.style.removeProperty(`transform`)):(e.style.removeProperty(`transform`),t())}):Promise.resolve()}_handleKeyboardOpen(e){this.disabled||(e.key===$v||e.key===` `)&&(e.preventDefault(),this._openMenu())}_getNavbarBody(){let e=document.querySelector(`sgds-mainnav`);if(!e?.shadowRoot){console.warn(`sgds-mainnav or its shadowRoot not found`);return}let t=e.shadowRoot.querySelector(`.navbar-body`);if(!t){console.warn(`.navbar-body not found in sgds-mainnav`);return}return t}_openMenu(){let e=this._getNavbarBody();e.style.transform=`translateX(-100%)`,this.dropdownItems.style.removeProperty(`display`),this.dropdownItems.setAttribute(`aria-hidden`,`false`),setTimeout(()=>{this.menuHeaderButton.focus()},50)}_handleHeaderKeyboardEvent(e){switch(e.key){case`Tab`:this._handleKeyboardMenuItemsEvent(e);break;case $v:case` `:e.preventDefault(),this._closeMenu()}}async _closeMenu(){await this._resetDropdownMenu(),this._hideDropdownMenuItems(),this.navLink.focus()}render(){let e=v`
3701
+ `}};T([um({context:Jv}),S()],Zv.prototype,`_breakpointReached`,void 0),T([um({context:Yv}),S()],Zv.prototype,`_expanded`,void 0),T([x({type:Boolean})],Zv.prototype,`hasNonCollapsibleSlot`,void 0),T([x({type:Boolean})],Zv.prototype,`hasProfileSlot`,void 0),T([x({type:Boolean,reflect:!0})],Zv.prototype,`fluid`,void 0),T([w()],Zv.prototype,`defaultNodes`,void 0),T([w({slot:`end`})],Zv.prototype,`endNodes`,void 0),b();var Qv=u`:host([expand=always]) .nav-link{border-bottom:var(--sgds-border-width-4) solid transparent;min-height:100%;padding:0 var(--sgds-padding-md)}@media (min-width:512px){:host([expand=sm]) .nav-link{border-bottom:var(--sgds-border-width-4) solid transparent;min-height:100%;padding:0 var(--sgds-padding-md)}}@media (min-width:768px){:host([expand=md]) .nav-link{border-bottom:var(--sgds-border-width-4) solid transparent;min-height:100%;padding:0 var(--sgds-padding-md)}}@media (min-width:1024px){:host(:not([expand])) .nav-link,:host([expand=lg]) .nav-link{border-bottom:var(--sgds-border-width-4) solid transparent;min-height:100%;padding:0 var(--sgds-padding-md)}}@media (min-width:1280px){:host([expand=xl]) .nav-link{border-bottom:var(--sgds-border-width-4) solid transparent;min-height:100%;padding:0 var(--sgds-padding-md)}}@media (min-width:1440px){:host([expand=xxl]) .nav-link{border-bottom:var(--sgds-border-width-4) solid transparent;min-height:100%;padding:0 var(--sgds-padding-md)}}.nav-link{align-items:center;background:none;border:none;box-sizing:border-box;color:var(--sgds-color-default);cursor:pointer;display:flex;font-family:inherit;font-size:var(--sgds-font-size-label-sm);gap:var(--sgds-gap-xs);line-height:var(--sgds-line-height-2-xs,20px);padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x);text-align:left;text-decoration:none;width:100%}:host([tone=brand][expand=always]) .nav-link,:host([tone^=gradient][expand=always]) .nav-link{color:var(--sgds-color-fixed-light)}@media screen and (min-width:512px){:host([tone=brand][expand=sm]) .nav-link,:host([tone^=gradient][expand=sm]) .nav-link{color:var(--sgds-color-fixed-light)}}@media screen and (min-width:768px){:host([tone=brand][expand=md]) .nav-link,:host([tone^=gradient][expand=md]) .nav-link{color:var(--sgds-color-fixed-light)}}@media screen and (min-width:1024px){:host([tone=brand][expand=lg]) .nav-link,:host([tone^=gradient][expand=lg]) .nav-link{color:var(--sgds-color-fixed-light)}}@media screen and (min-width:1280px){:host([tone=brand][expand=xl]) .nav-link,:host([tone^=gradient][expand=xl]) .nav-link{color:var(--sgds-color-fixed-light)}}@media screen and (min-width:1440px){:host([tone=brand][expand=xxl]) .nav-link,:host([tone^=gradient][expand=xxl]) .nav-link{color:var(--sgds-color-fixed-light)}}.nav-link.show,.nav-link:not(.disabled).active{border-color:var(--sgds-primary-border-color-default);color:var(--sgds-primary-color-default)}.nav-link:not(.disabled):hover{color:var(--sgds-primary-color-default)}.nav-link:not(.disabled):focus-visible{color:var(--sgds-primary-color-default);outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.nav-link.disabled{cursor:not-allowed;opacity:var(--sgds-opacity-40)}.dropdown-items{background-color:var(--sgds-surface-default);height:100%;left:100%;overflow-y:auto;padding:var(--sgds-padding-md) 0;position:absolute;top:0;width:100%}.dropdown-items a{align-items:center;color:var(--sgds-color-default);cursor:pointer;display:flex;font-size:var(--sgds-font-size-label-sm);gap:var(--sgds-gap-xs);line-height:var(--sgds-line-height-2-xs,20px);margin:auto;max-width:var(--sgds-mainnav-max-width,1440px);padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x);text-decoration:none}.dropdown-items a:hover{color:var(--sgds-primary-color-default)}.dropdown-items a:focus-visible{color:var(--sgds-primary-color-default);outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus);outline-offset:-5px}:host([tone=brand][expand=always]) slot[name=toggler]::slotted(*),:host([tone^=gradient][expand=always]) slot[name=toggler]::slotted(*){color:var(--sgds-color-fixed-light)}@media screen and (min-width:512px){:host([tone=brand][expand=sm]) slot[name=toggler]::slotted(*),:host([tone^=gradient][expand=sm]) slot[name=toggler]::slotted(*){color:var(--sgds-color-fixed-light)}}@media screen and (min-width:768px){:host([tone=brand][expand=md]) slot[name=toggler]::slotted(*),:host([tone^=gradient][expand=md]) slot[name=toggler]::slotted(*){color:var(--sgds-color-fixed-light)}}@media screen and (min-width:1024px){:host([tone=brand][expand=lg]) slot[name=toggler]::slotted(*),:host([tone^=gradient][expand=lg]) slot[name=toggler]::slotted(*){color:var(--sgds-color-fixed-light)}}@media screen and (min-width:1280px){:host([tone=brand][expand=xl]) slot[name=toggler]::slotted(*),:host([tone^=gradient][expand=xl]) slot[name=toggler]::slotted(*){color:var(--sgds-color-fixed-light)}}@media screen and (min-width:1440px){:host([tone=brand][expand=xxl]) slot[name=toggler]::slotted(*),:host([tone^=gradient][expand=xxl]) slot[name=toggler]::slotted(*){color:var(--sgds-color-fixed-light)}}slot[name=toggler]::slotted(*){flex:1}sgds-dropdown{display:block;height:100%}@media screen and (min-width:1024px){.dropdown-items a,.nav-link{padding:var(--sgds-padding-sm) var(--sgds-mainnav-padding-x)}}`;b();let $v=`Enter`;var ey=class extends E{constructor(...e){super(...e),this._breakpointReached=!0,this.togglerId=mm(`dropdown`,`button`),this.active=!1,this.disabled=!1}static{this.styles=[...E.styles,Xg,Yg,Qv]}static{this.dependencies={"sgds-dropdown":Zg,"sgds-dropdown-item":s_,"sgds-icon":I}}get defaultSlotItems(){return[...this.defaultNodes||[]].filter(e=>e.tagName!==void 0)}updated(){this._breakpointReached&&(this._copyTextToMenu(),this._resetDropdownMenu(),this._hideDropdownMenuItems())}_handleSlotChange(e){e.target.assignedElements({flatten:!0}).forEach(e=>{e.addEventListener(`keydown`,this._handleKeyboardMenuItemsEvent.bind(this));let t=e.shadowRoot.querySelector(`.dropdown-item`);t.classList.add(`mainnav-dropdown-link`);let n=e.shadowRoot?.querySelector(`a`)||e.querySelector(`a`);n.tabIndex=-1,t.classList.contains(`disabled`)?(n.setAttribute(`href`,`javascript:void(0)`),n.setAttribute(`tabindex`,`-1`)):n.addEventListener(`click`,e=>{e.target.closest(`sgds-mainnav`).hide()})})}_handleDesktopSlotChange(e){e.target.assignedElements({flatten:!0}).forEach(e=>{let t=e.shadowRoot.querySelector(`.dropdown-item`);t.classList.remove(`mainnav-dropdown-link`),e.shadowRoot.querySelector(`.dropdown-item slot`).assignedElements({flatten:!0}).forEach(e=>{t.classList.contains(`disabled`)&&(e.setAttribute(`href`,`javascript:void(0)`),e.setAttribute(`tabindex`,`-1`))})})}_handleKeyboardMenuItemsEvent(e){if(!this._breakpointReached)return;let t=this.defaultSlotItems.filter(e=>!e.hasAttribute(`disabled`)),n=[this.menuHeaderButton,...t],r=n.length;if(r===0)return;let i=n[0],a=n[r-1].shadowRoot.querySelector(`.dropdown-item`),o=document.activeElement;if(o===this&&(o=this.shadowRoot.activeElement),e.key===`Tab`){if(e.shiftKey)o===i&&(e.preventDefault(),setTimeout(()=>{a.focus()},0));else{let t=o.shadowRoot?o.shadowRoot.querySelector(`.dropdown-item`):null;t&&t===a&&(e.preventDefault(),i.focus())}}}_copyTextToMenu(){this.menuHeaderText.textContent=this.togglerNodes[0].textContent}_handleTogglerSlotChange(){}_hideDropdownMenuItems(){this.dropdownItems.style.display=`none`,this.dropdownItems.setAttribute(`aria-hidden`,`true`)}_resetDropdownMenu(){let e=this._getNavbarBody();return e?new Promise(t=>{let n=r=>{r.propertyName===`transform`&&(e.removeEventListener(`transitionend`,n),t())};getComputedStyle(e).transitionProperty.includes(`transform`)?(e.addEventListener(`transitionend`,n),e.style.removeProperty(`transform`)):(e.style.removeProperty(`transform`),t())}):Promise.resolve()}_handleKeyboardOpen(e){this.disabled||(e.key===$v||e.key===` `)&&(e.preventDefault(),this._openMenu())}_getNavbarBody(){let e=document.querySelector(`sgds-mainnav`);if(!e?.shadowRoot){console.warn(`sgds-mainnav or its shadowRoot not found`);return}let t=e.shadowRoot.querySelector(`.navbar-body`);if(!t){console.warn(`.navbar-body not found in sgds-mainnav`);return}return t}_openMenu(){let e=this._getNavbarBody();e.style.transform=`translateX(-100%)`,this.dropdownItems.style.removeProperty(`display`),this.dropdownItems.setAttribute(`aria-hidden`,`false`),setTimeout(()=>{this.menuHeaderButton.focus()},50)}_handleHeaderKeyboardEvent(e){switch(e.key){case`Tab`:this._handleKeyboardMenuItemsEvent(e);break;case $v:case` `:e.preventDefault(),this._closeMenu()}}async _closeMenu(){await this._resetDropdownMenu(),this._hideDropdownMenuItems(),this.navLink.focus()}render(){let e=v`
3696
3702
  <button
3697
3703
  class="${D({"nav-link":!0,active:this.active,disabled:this.disabled})}"
3698
3704
  aria-disabled=${this.disabled?`true`:`false`}