@govtechsg/sgds-web-component 3.12.0-rc.1 → 3.12.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 (183) hide show
  1. package/Masthead/index.js +1 -1
  2. package/base/card.js +1 -1
  3. package/base/dropdown-list-element.d.ts +5 -1
  4. package/base/dropdown-list-element.js +2 -2
  5. package/base/dropdown-list-element.js.map +1 -1
  6. package/components/Breadcrumb/index.umd.min.js +20 -20
  7. package/components/Breadcrumb/index.umd.min.js.map +1 -1
  8. package/components/Card/index.umd.min.js +1 -1
  9. package/components/Card/index.umd.min.js.map +1 -1
  10. package/components/Checkbox/index.umd.min.js +6 -6
  11. package/components/Checkbox/index.umd.min.js.map +1 -1
  12. package/components/Checkbox/sgds-checkbox.d.ts +3 -0
  13. package/components/Checkbox/sgds-checkbox.js +17 -0
  14. package/components/Checkbox/sgds-checkbox.js.map +1 -1
  15. package/components/ComboBox/index.umd.min.js +2 -2
  16. package/components/ComboBox/index.umd.min.js.map +1 -1
  17. package/components/Dropdown/dropdown-item.js +1 -1
  18. package/components/Dropdown/index.umd.min.js +2 -2
  19. package/components/Dropdown/index.umd.min.js.map +1 -1
  20. package/components/Dropdown/sgds-dropdown-item.js +0 -3
  21. package/components/Dropdown/sgds-dropdown-item.js.map +1 -1
  22. package/components/IconCard/icon-card.js +1 -1
  23. package/components/IconCard/index.umd.min.js +1 -1
  24. package/components/IconCard/index.umd.min.js.map +1 -1
  25. package/components/ImageCard/image-card.js +1 -1
  26. package/components/ImageCard/index.umd.min.js +1 -1
  27. package/components/ImageCard/index.umd.min.js.map +1 -1
  28. package/components/Mainnav/index.umd.min.js +2 -2
  29. package/components/Mainnav/index.umd.min.js.map +1 -1
  30. package/components/Masthead/index.umd.min.js +1 -1
  31. package/components/Masthead/index.umd.min.js.map +1 -1
  32. package/components/Masthead/masthead.js +1 -1
  33. package/components/OverflowMenu/index.umd.min.js +2 -2
  34. package/components/OverflowMenu/index.umd.min.js.map +1 -1
  35. package/components/Select/index.umd.min.js +1 -1
  36. package/components/Select/index.umd.min.js.map +1 -1
  37. package/components/SystemBanner/index.umd.min.js +10 -9
  38. package/components/SystemBanner/index.umd.min.js.map +1 -1
  39. package/components/SystemBanner/sgds-system-banner-item.d.ts +2 -1
  40. package/components/SystemBanner/sgds-system-banner-item.js +7 -2
  41. package/components/SystemBanner/sgds-system-banner-item.js.map +1 -1
  42. package/components/SystemBanner/system-banner-item.js +1 -1
  43. package/components/SystemBanner/system-banner.js +1 -1
  44. package/components/ThumbnailCard/index.umd.min.js +1 -1
  45. package/components/ThumbnailCard/index.umd.min.js.map +1 -1
  46. package/components/ThumbnailCard/thumbnail-card.js +1 -1
  47. package/components/index.d.ts +0 -1
  48. package/components/index.js +0 -1
  49. package/components/index.js.map +1 -1
  50. package/components/index.umd.min.js +53 -88
  51. package/components/index.umd.min.js.map +1 -1
  52. package/css/fouc.css +0 -4
  53. package/css/utility.css +2 -2
  54. package/index.d.ts +0 -1
  55. package/index.js +0 -1
  56. package/index.js.map +1 -1
  57. package/index.umd.min.js +55 -165
  58. package/index.umd.min.js.map +1 -1
  59. package/package.json +1 -1
  60. package/react/base/card.cjs.js +1 -1
  61. package/react/base/card.js +1 -1
  62. package/react/base/dropdown-list-element.cjs.js +2 -2
  63. package/react/base/dropdown-list-element.cjs.js.map +1 -1
  64. package/react/base/dropdown-list-element.js +2 -2
  65. package/react/base/dropdown-list-element.js.map +1 -1
  66. package/react/components/Checkbox/sgds-checkbox.cjs.js +17 -0
  67. package/react/components/Checkbox/sgds-checkbox.cjs.js.map +1 -1
  68. package/react/components/Checkbox/sgds-checkbox.js +17 -0
  69. package/react/components/Checkbox/sgds-checkbox.js.map +1 -1
  70. package/react/components/Dropdown/dropdown-item.cjs.js +1 -1
  71. package/react/components/Dropdown/dropdown-item.js +1 -1
  72. package/react/components/Dropdown/sgds-dropdown-item.cjs.js +0 -3
  73. package/react/components/Dropdown/sgds-dropdown-item.cjs.js.map +1 -1
  74. package/react/components/Dropdown/sgds-dropdown-item.js +0 -3
  75. package/react/components/Dropdown/sgds-dropdown-item.js.map +1 -1
  76. package/react/components/IconCard/icon-card.cjs.js +1 -1
  77. package/react/components/IconCard/icon-card.js +1 -1
  78. package/react/components/ImageCard/image-card.cjs.js +1 -1
  79. package/react/components/ImageCard/image-card.js +1 -1
  80. package/react/components/Masthead/masthead.cjs.js +1 -1
  81. package/react/components/Masthead/masthead.js +1 -1
  82. package/react/components/SystemBanner/sgds-system-banner-item.cjs.js +7 -2
  83. package/react/components/SystemBanner/sgds-system-banner-item.cjs.js.map +1 -1
  84. package/react/components/SystemBanner/sgds-system-banner-item.js +7 -2
  85. package/react/components/SystemBanner/sgds-system-banner-item.js.map +1 -1
  86. package/react/components/SystemBanner/system-banner-item.cjs.js +1 -1
  87. package/react/components/SystemBanner/system-banner-item.js +1 -1
  88. package/react/components/SystemBanner/system-banner.cjs.js +1 -1
  89. package/react/components/SystemBanner/system-banner.js +1 -1
  90. package/react/components/ThumbnailCard/thumbnail-card.cjs.js +1 -1
  91. package/react/components/ThumbnailCard/thumbnail-card.js +1 -1
  92. package/react/index.cjs.js +48 -56
  93. package/react/index.cjs.js.map +1 -1
  94. package/react/index.d.ts +0 -4
  95. package/react/index.js +0 -4
  96. package/react/index.js.map +1 -1
  97. package/themes/day.css +1 -3
  98. package/themes/night.css +2 -2
  99. package/base/sidebar-element.d.ts +0 -112
  100. package/base/sidebar-element.js +0 -281
  101. package/base/sidebar-element.js.map +0 -1
  102. package/components/Sidebar/index.d.ts +0 -16
  103. package/components/Sidebar/index.js +0 -10
  104. package/components/Sidebar/index.js.map +0 -1
  105. package/components/Sidebar/index.umd.min.js +0 -2428
  106. package/components/Sidebar/index.umd.min.js.map +0 -1
  107. package/components/Sidebar/sgds-sidebar-group.d.ts +0 -51
  108. package/components/Sidebar/sgds-sidebar-group.js +0 -124
  109. package/components/Sidebar/sgds-sidebar-group.js.map +0 -1
  110. package/components/Sidebar/sgds-sidebar-item.d.ts +0 -25
  111. package/components/Sidebar/sgds-sidebar-item.js +0 -73
  112. package/components/Sidebar/sgds-sidebar-item.js.map +0 -1
  113. package/components/Sidebar/sgds-sidebar-section.d.ts +0 -55
  114. package/components/Sidebar/sgds-sidebar-section.js +0 -122
  115. package/components/Sidebar/sgds-sidebar-section.js.map +0 -1
  116. package/components/Sidebar/sgds-sidebar.d.ts +0 -85
  117. package/components/Sidebar/sgds-sidebar.js +0 -319
  118. package/components/Sidebar/sgds-sidebar.js.map +0 -1
  119. package/components/Sidebar/sidebar-context.d.ts +0 -51
  120. package/components/Sidebar/sidebar-context.js +0 -45
  121. package/components/Sidebar/sidebar-context.js.map +0 -1
  122. package/components/Sidebar/sidebar-item.js +0 -6
  123. package/components/Sidebar/sidebar-item.js.map +0 -1
  124. package/components/Sidebar/sidebar-section.js +0 -6
  125. package/components/Sidebar/sidebar-section.js.map +0 -1
  126. package/components/Sidebar/sidebar.js +0 -6
  127. package/components/Sidebar/sidebar.js.map +0 -1
  128. package/react/base/sidebar-element.cjs.js +0 -286
  129. package/react/base/sidebar-element.cjs.js.map +0 -1
  130. package/react/base/sidebar-element.js +0 -282
  131. package/react/base/sidebar-element.js.map +0 -1
  132. package/react/components/Sidebar/sgds-sidebar-group.cjs.js +0 -130
  133. package/react/components/Sidebar/sgds-sidebar-group.cjs.js.map +0 -1
  134. package/react/components/Sidebar/sgds-sidebar-group.js +0 -125
  135. package/react/components/Sidebar/sgds-sidebar-group.js.map +0 -1
  136. package/react/components/Sidebar/sgds-sidebar-item.cjs.js +0 -79
  137. package/react/components/Sidebar/sgds-sidebar-item.cjs.js.map +0 -1
  138. package/react/components/Sidebar/sgds-sidebar-item.js +0 -74
  139. package/react/components/Sidebar/sgds-sidebar-item.js.map +0 -1
  140. package/react/components/Sidebar/sgds-sidebar-section.cjs.js +0 -128
  141. package/react/components/Sidebar/sgds-sidebar-section.cjs.js.map +0 -1
  142. package/react/components/Sidebar/sgds-sidebar-section.js +0 -123
  143. package/react/components/Sidebar/sgds-sidebar-section.js.map +0 -1
  144. package/react/components/Sidebar/sgds-sidebar.cjs.js +0 -325
  145. package/react/components/Sidebar/sgds-sidebar.cjs.js.map +0 -1
  146. package/react/components/Sidebar/sgds-sidebar.js +0 -320
  147. package/react/components/Sidebar/sgds-sidebar.js.map +0 -1
  148. package/react/components/Sidebar/sidebar-context.cjs.js +0 -54
  149. package/react/components/Sidebar/sidebar-context.cjs.js.map +0 -1
  150. package/react/components/Sidebar/sidebar-context.js +0 -46
  151. package/react/components/Sidebar/sidebar-context.js.map +0 -1
  152. package/react/components/Sidebar/sidebar-item.cjs.js +0 -11
  153. package/react/components/Sidebar/sidebar-item.cjs.js.map +0 -1
  154. package/react/components/Sidebar/sidebar-item.js +0 -7
  155. package/react/components/Sidebar/sidebar-item.js.map +0 -1
  156. package/react/components/Sidebar/sidebar-section.cjs.js +0 -11
  157. package/react/components/Sidebar/sidebar-section.cjs.js.map +0 -1
  158. package/react/components/Sidebar/sidebar-section.js +0 -7
  159. package/react/components/Sidebar/sidebar-section.js.map +0 -1
  160. package/react/components/Sidebar/sidebar.cjs.js +0 -11
  161. package/react/components/Sidebar/sidebar.cjs.js.map +0 -1
  162. package/react/components/Sidebar/sidebar.js +0 -7
  163. package/react/components/Sidebar/sidebar.js.map +0 -1
  164. package/react/sidebar/index.cjs.js +0 -40
  165. package/react/sidebar/index.cjs.js.map +0 -1
  166. package/react/sidebar/index.d.ts +0 -2
  167. package/react/sidebar/index.js +0 -16
  168. package/react/sidebar/index.js.map +0 -1
  169. package/react/sidebar-group/index.cjs.js +0 -40
  170. package/react/sidebar-group/index.cjs.js.map +0 -1
  171. package/react/sidebar-group/index.d.ts +0 -2
  172. package/react/sidebar-group/index.js +0 -16
  173. package/react/sidebar-group/index.js.map +0 -1
  174. package/react/sidebar-item/index.cjs.js +0 -40
  175. package/react/sidebar-item/index.cjs.js.map +0 -1
  176. package/react/sidebar-item/index.d.ts +0 -2
  177. package/react/sidebar-item/index.js +0 -16
  178. package/react/sidebar-item/index.js.map +0 -1
  179. package/react/sidebar-section/index.cjs.js +0 -40
  180. package/react/sidebar-section/index.cjs.js.map +0 -1
  181. package/react/sidebar-section/index.d.ts +0 -2
  182. package/react/sidebar-section/index.js +0 -16
  183. package/react/sidebar-section/index.js.map +0 -1
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var lit = require('lit');
7
7
 
8
- var css_248z = lit.css`b{font-weight:bolder}[role=button]{cursor:pointer}a{color:#0049dc;text-decoration:none!important}a[target=_blank]:after{height:var(--sgds-icon-size-sm)!important;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.516 2.933h.017a.4.4 0 1 1 0 .8c-.566 0-.967 0-1.28.026-.31.025-.498.073-.646.149a1.6 1.6 0 0 0-.7.699c-.075.148-.123.336-.148.645-.025.314-.026.714-.026 1.281v2.933c0 .567 0 .968.026 1.282.026.308.073.497.149.645a1.6 1.6 0 0 0 .699.699c.148.075.337.123.645.149.314.025.715.025 1.281.025h2.934c.566 0 .967 0 1.28-.025.31-.026.498-.073.646-.149a1.6 1.6 0 0 0 .7-.7c.075-.147.123-.336.148-.644.025-.314.026-.715.026-1.282a.4.4 0 0 1 .8 0v.018c0 .545 0 .979-.029 1.329-.03.358-.09.663-.233.943a2.4 2.4 0 0 1-1.049 1.049c-.28.142-.585.204-.943.233-.35.028-.784.028-1.329.028H6.516c-.545 0-.979 0-1.329-.028-.358-.03-.664-.09-.943-.233a2.4 2.4 0 0 1-1.05-1.049c-.142-.28-.203-.585-.232-.943-.029-.35-.029-.784-.029-1.33V6.517c0-.546 0-.98.029-1.33.03-.357.09-.663.233-.942a2.4 2.4 0 0 1 1.049-1.05c.28-.142.585-.203.943-.232.35-.029.784-.029 1.329-.029Zm1.75.4c0-.22.18-.4.4-.4h4c.222 0 .4.18.4.4v4a.4.4 0 0 1-.8 0V4.3L8.284 8.283a.4.4 0 0 1-.566-.566l3.984-3.984H8.667a.4.4 0 0 1-.4-.4Z' fill='%230269D0'/%3E%3C/svg%3E")!important;mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.516 2.933h.017a.4.4 0 1 1 0 .8c-.566 0-.967 0-1.28.026-.31.025-.498.073-.646.149a1.6 1.6 0 0 0-.7.699c-.075.148-.123.336-.148.645-.025.314-.026.714-.026 1.281v2.933c0 .567 0 .968.026 1.282.026.308.073.497.149.645a1.6 1.6 0 0 0 .699.699c.148.075.337.123.645.149.314.025.715.025 1.281.025h2.934c.566 0 .967 0 1.28-.025.31-.026.498-.073.646-.149a1.6 1.6 0 0 0 .7-.7c.075-.147.123-.336.148-.644.025-.314.026-.715.026-1.282a.4.4 0 0 1 .8 0v.018c0 .545 0 .979-.029 1.329-.03.358-.09.663-.233.943a2.4 2.4 0 0 1-1.049 1.049c-.28.142-.585.204-.943.233-.35.028-.784.028-1.329.028H6.516c-.545 0-.979 0-1.329-.028-.358-.03-.664-.09-.943-.233a2.4 2.4 0 0 1-1.05-1.049c-.142-.28-.203-.585-.232-.943-.029-.35-.029-.784-.029-1.33V6.517c0-.546 0-.98.029-1.33.03-.357.09-.663.233-.942a2.4 2.4 0 0 1 1.049-1.05c.28-.142.585-.203.943-.232.35-.029.784-.029 1.329-.029Zm1.75.4c0-.22.18-.4.4-.4h4c.222 0 .4.18.4.4v4a.4.4 0 0 1-.8 0V4.3L8.284 8.283a.4.4 0 0 1-.566-.566l3.984-3.984H8.667a.4.4 0 0 1-.4-.4Z' fill='%230269D0'/%3E%3C/svg%3E")!important;width:var(--sgds-icon-size-sm)!important}a:hover{color:#0022b9}.sgds-masthead{font-family:Inter,system-ui,sans-serif;font-size:.875rem;line-height:1.25rem}.banner{background-color:light-dark(#f3f3f3,#1a1a1a)}.container{margin-left:auto;margin-right:auto;max-width:var(--sgds-mainnav-max-width,1440px);padding:.25rem var(--sgds-mainnav-padding-x,2rem);width:100%}:host([fluid]) .container{max-width:none}.sg-crest{flex-shrink:0;height:20px;width:20px}.sg-crest path{fill:#db0000}.masthead-layout{display:flex;gap:.25rem}.masthead-text-layout{align-items:center;display:flex;flex-wrap:wrap;gap:0 .75rem}.sgds-masthead-identify-icon{align-self:center;display:block;height:20px;transform:rotate(180deg);transition:transform .3s ease-in-out 0s;user-select:none;width:20px}.sgds-masthead-identify-icon.show{transform:rotate(0deg)}.sgds-masthead-button{align-items:center;color:light-dark(#0269d0,#60aaf4);cursor:pointer;display:flex;gap:4px}.sgds-masthead-button:hover{color:light-dark(#0151a0,#96c7f7)}.panel{background-color:light-dark(oklch(from #0e0e0e l c h/.1),oklch(from #fff l c h/.1))}.sgds-masthead .sgds-masthead-content{display:none;padding-bottom:1rem;padding-top:1rem}.sgds-masthead .sgds-masthead-content.show{display:block}.content-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.icon{margin-top:-.1em}.wrapper{display:flex;gap:.5rem}.content{display:flex;flex-direction:column;gap:.25rem}.content .title{font-weight:600}.content article{color:light-dark(#525252,#a5a5a5)}.banner-icon,.banner-icon-inline{height:20px;width:20px}.banner-icon path,.banner-icon-inline path{fill:light-dark(#1a1a1a,#f3f3f3)}a.trusted-websites-link{color:light-dark(#0269d0,#60aaf4);text-decoration:underline;width:fit-content}a.trusted-websites-link:hover{color:light-dark(#0151a0,#96c7f7)}.sgds-masthead-button:focus-visible,a.trusted-websites-link:focus-visible{outline:4px solid #60aaf4}@media screen and (max-width:767px){.container{padding:.25rem var(--sgds-mainnav-mobile-padding-x,1.25rem)}.sgds-masthead-content .content-grid{gap:1rem;grid-template-columns:1fr}}`;
8
+ var css_248z = lit.css`b{font-weight:bolder}[role=button]{cursor:pointer}a{color:#0049dc;text-decoration:none!important}a[target=_blank]:after{height:var(--sgds-icon-size-sm)!important;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.516 2.933h.017a.4.4 0 1 1 0 .8c-.566 0-.967 0-1.28.026-.31.025-.498.073-.646.149a1.6 1.6 0 0 0-.7.699c-.075.148-.123.336-.148.645-.025.314-.026.714-.026 1.281v2.933c0 .567 0 .968.026 1.282.026.308.073.497.149.645a1.6 1.6 0 0 0 .699.699c.148.075.337.123.645.149.314.025.715.025 1.281.025h2.934c.566 0 .967 0 1.28-.025.31-.026.498-.073.646-.149a1.6 1.6 0 0 0 .7-.7c.075-.147.123-.336.148-.644.025-.314.026-.715.026-1.282a.4.4 0 0 1 .8 0v.018c0 .545 0 .979-.029 1.329-.03.358-.09.663-.233.943a2.4 2.4 0 0 1-1.049 1.049c-.28.142-.585.204-.943.233-.35.028-.784.028-1.329.028H6.516c-.545 0-.979 0-1.329-.028-.358-.03-.664-.09-.943-.233a2.4 2.4 0 0 1-1.05-1.049c-.142-.28-.203-.585-.232-.943-.029-.35-.029-.784-.029-1.33V6.517c0-.546 0-.98.029-1.33.03-.357.09-.663.233-.942a2.4 2.4 0 0 1 1.049-1.05c.28-.142.585-.203.943-.232.35-.029.784-.029 1.329-.029Zm1.75.4c0-.22.18-.4.4-.4h4c.222 0 .4.18.4.4v4a.4.4 0 0 1-.8 0V4.3L8.284 8.283a.4.4 0 0 1-.566-.566l3.984-3.984H8.667a.4.4 0 0 1-.4-.4Z' fill='%230269D0'/%3E%3C/svg%3E")!important;mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.516 2.933h.017a.4.4 0 1 1 0 .8c-.566 0-.967 0-1.28.026-.31.025-.498.073-.646.149a1.6 1.6 0 0 0-.7.699c-.075.148-.123.336-.148.645-.025.314-.026.714-.026 1.281v2.933c0 .567 0 .968.026 1.282.026.308.073.497.149.645a1.6 1.6 0 0 0 .699.699c.148.075.337.123.645.149.314.025.715.025 1.281.025h2.934c.566 0 .967 0 1.28-.025.31-.026.498-.073.646-.149a1.6 1.6 0 0 0 .7-.7c.075-.147.123-.336.148-.644.025-.314.026-.715.026-1.282a.4.4 0 0 1 .8 0v.018c0 .545 0 .979-.029 1.329-.03.358-.09.663-.233.943a2.4 2.4 0 0 1-1.049 1.049c-.28.142-.585.204-.943.233-.35.028-.784.028-1.329.028H6.516c-.545 0-.979 0-1.329-.028-.358-.03-.664-.09-.943-.233a2.4 2.4 0 0 1-1.05-1.049c-.142-.28-.203-.585-.232-.943-.029-.35-.029-.784-.029-1.33V6.517c0-.546 0-.98.029-1.33.03-.357.09-.663.233-.942a2.4 2.4 0 0 1 1.049-1.05c.28-.142.585-.203.943-.232.35-.029.784-.029 1.329-.029Zm1.75.4c0-.22.18-.4.4-.4h4c.222 0 .4.18.4.4v4a.4.4 0 0 1-.8 0V4.3L8.284 8.283a.4.4 0 0 1-.566-.566l3.984-3.984H8.667a.4.4 0 0 1-.4-.4Z' fill='%230269D0'/%3E%3C/svg%3E")!important;width:var(--sgds-icon-size-sm)!important}a:hover{color:#0022b9}.sgds-masthead{font-family:Inter,system-ui,sans-serif;font-size:.875rem;line-height:1.25rem}.banner{background-color:light-dark(#f7f7f7,#1a1a1a)}.container{margin-left:auto;margin-right:auto;max-width:var(--sgds-mainnav-max-width,1440px);padding:.25rem var(--sgds-mainnav-padding-x,2rem);width:100%}:host([fluid]) .container{max-width:none}.sg-crest{flex-shrink:0;height:20px;width:20px}.sg-crest path{fill:#db0000}.masthead-layout{display:flex;gap:.25rem}.masthead-text-layout{align-items:center;display:flex;flex-wrap:wrap;gap:0 .75rem}.sgds-masthead-identify-icon{align-self:center;display:block;height:20px;transform:rotate(180deg);transition:transform .3s ease-in-out 0s;user-select:none;width:20px}.sgds-masthead-identify-icon.show{transform:rotate(0deg)}.sgds-masthead-button{align-items:center;color:light-dark(#0269d0,#60aaf4);cursor:pointer;display:flex;gap:4px}.sgds-masthead-button:hover{color:light-dark(#0151a0,#96c7f7)}.panel{background-color:light-dark(#f7f7f7,#1a1a1a)}.sgds-masthead .sgds-masthead-content{display:none;padding-bottom:1rem;padding-top:1rem}.sgds-masthead .sgds-masthead-content.show{display:block}.content-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.icon{margin-top:-.1em}.wrapper{display:flex;gap:.5rem}.content{display:flex;flex-direction:column;gap:.25rem}.content .title{font-weight:600}.content article{color:light-dark(#525252,#a5a5a5)}.banner-icon,.banner-icon-inline{height:20px;width:20px}.banner-icon path,.banner-icon-inline path{fill:light-dark(#1a1a1a,#f3f3f3)}a.trusted-websites-link{color:light-dark(#0269d0,#60aaf4);text-decoration:underline;width:fit-content}a.trusted-websites-link:hover{color:light-dark(#0151a0,#96c7f7)}.sgds-masthead-button:focus-visible,a.trusted-websites-link:focus-visible{outline:4px solid #60aaf4}@media screen and (max-width:767px){.container{padding:.25rem var(--sgds-mainnav-mobile-padding-x,1.25rem)}.sgds-masthead-content .content-grid{gap:1rem;grid-template-columns:1fr}}`;
9
9
 
10
10
  exports["default"] = css_248z;
11
11
  //# sourceMappingURL=masthead.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { css } from 'lit';
3
3
 
4
- var css_248z = css`b{font-weight:bolder}[role=button]{cursor:pointer}a{color:#0049dc;text-decoration:none!important}a[target=_blank]:after{height:var(--sgds-icon-size-sm)!important;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.516 2.933h.017a.4.4 0 1 1 0 .8c-.566 0-.967 0-1.28.026-.31.025-.498.073-.646.149a1.6 1.6 0 0 0-.7.699c-.075.148-.123.336-.148.645-.025.314-.026.714-.026 1.281v2.933c0 .567 0 .968.026 1.282.026.308.073.497.149.645a1.6 1.6 0 0 0 .699.699c.148.075.337.123.645.149.314.025.715.025 1.281.025h2.934c.566 0 .967 0 1.28-.025.31-.026.498-.073.646-.149a1.6 1.6 0 0 0 .7-.7c.075-.147.123-.336.148-.644.025-.314.026-.715.026-1.282a.4.4 0 0 1 .8 0v.018c0 .545 0 .979-.029 1.329-.03.358-.09.663-.233.943a2.4 2.4 0 0 1-1.049 1.049c-.28.142-.585.204-.943.233-.35.028-.784.028-1.329.028H6.516c-.545 0-.979 0-1.329-.028-.358-.03-.664-.09-.943-.233a2.4 2.4 0 0 1-1.05-1.049c-.142-.28-.203-.585-.232-.943-.029-.35-.029-.784-.029-1.33V6.517c0-.546 0-.98.029-1.33.03-.357.09-.663.233-.942a2.4 2.4 0 0 1 1.049-1.05c.28-.142.585-.203.943-.232.35-.029.784-.029 1.329-.029Zm1.75.4c0-.22.18-.4.4-.4h4c.222 0 .4.18.4.4v4a.4.4 0 0 1-.8 0V4.3L8.284 8.283a.4.4 0 0 1-.566-.566l3.984-3.984H8.667a.4.4 0 0 1-.4-.4Z' fill='%230269D0'/%3E%3C/svg%3E")!important;mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.516 2.933h.017a.4.4 0 1 1 0 .8c-.566 0-.967 0-1.28.026-.31.025-.498.073-.646.149a1.6 1.6 0 0 0-.7.699c-.075.148-.123.336-.148.645-.025.314-.026.714-.026 1.281v2.933c0 .567 0 .968.026 1.282.026.308.073.497.149.645a1.6 1.6 0 0 0 .699.699c.148.075.337.123.645.149.314.025.715.025 1.281.025h2.934c.566 0 .967 0 1.28-.025.31-.026.498-.073.646-.149a1.6 1.6 0 0 0 .7-.7c.075-.147.123-.336.148-.644.025-.314.026-.715.026-1.282a.4.4 0 0 1 .8 0v.018c0 .545 0 .979-.029 1.329-.03.358-.09.663-.233.943a2.4 2.4 0 0 1-1.049 1.049c-.28.142-.585.204-.943.233-.35.028-.784.028-1.329.028H6.516c-.545 0-.979 0-1.329-.028-.358-.03-.664-.09-.943-.233a2.4 2.4 0 0 1-1.05-1.049c-.142-.28-.203-.585-.232-.943-.029-.35-.029-.784-.029-1.33V6.517c0-.546 0-.98.029-1.33.03-.357.09-.663.233-.942a2.4 2.4 0 0 1 1.049-1.05c.28-.142.585-.203.943-.232.35-.029.784-.029 1.329-.029Zm1.75.4c0-.22.18-.4.4-.4h4c.222 0 .4.18.4.4v4a.4.4 0 0 1-.8 0V4.3L8.284 8.283a.4.4 0 0 1-.566-.566l3.984-3.984H8.667a.4.4 0 0 1-.4-.4Z' fill='%230269D0'/%3E%3C/svg%3E")!important;width:var(--sgds-icon-size-sm)!important}a:hover{color:#0022b9}.sgds-masthead{font-family:Inter,system-ui,sans-serif;font-size:.875rem;line-height:1.25rem}.banner{background-color:light-dark(#f3f3f3,#1a1a1a)}.container{margin-left:auto;margin-right:auto;max-width:var(--sgds-mainnav-max-width,1440px);padding:.25rem var(--sgds-mainnav-padding-x,2rem);width:100%}:host([fluid]) .container{max-width:none}.sg-crest{flex-shrink:0;height:20px;width:20px}.sg-crest path{fill:#db0000}.masthead-layout{display:flex;gap:.25rem}.masthead-text-layout{align-items:center;display:flex;flex-wrap:wrap;gap:0 .75rem}.sgds-masthead-identify-icon{align-self:center;display:block;height:20px;transform:rotate(180deg);transition:transform .3s ease-in-out 0s;user-select:none;width:20px}.sgds-masthead-identify-icon.show{transform:rotate(0deg)}.sgds-masthead-button{align-items:center;color:light-dark(#0269d0,#60aaf4);cursor:pointer;display:flex;gap:4px}.sgds-masthead-button:hover{color:light-dark(#0151a0,#96c7f7)}.panel{background-color:light-dark(oklch(from #0e0e0e l c h/.1),oklch(from #fff l c h/.1))}.sgds-masthead .sgds-masthead-content{display:none;padding-bottom:1rem;padding-top:1rem}.sgds-masthead .sgds-masthead-content.show{display:block}.content-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.icon{margin-top:-.1em}.wrapper{display:flex;gap:.5rem}.content{display:flex;flex-direction:column;gap:.25rem}.content .title{font-weight:600}.content article{color:light-dark(#525252,#a5a5a5)}.banner-icon,.banner-icon-inline{height:20px;width:20px}.banner-icon path,.banner-icon-inline path{fill:light-dark(#1a1a1a,#f3f3f3)}a.trusted-websites-link{color:light-dark(#0269d0,#60aaf4);text-decoration:underline;width:fit-content}a.trusted-websites-link:hover{color:light-dark(#0151a0,#96c7f7)}.sgds-masthead-button:focus-visible,a.trusted-websites-link:focus-visible{outline:4px solid #60aaf4}@media screen and (max-width:767px){.container{padding:.25rem var(--sgds-mainnav-mobile-padding-x,1.25rem)}.sgds-masthead-content .content-grid{gap:1rem;grid-template-columns:1fr}}`;
4
+ var css_248z = css`b{font-weight:bolder}[role=button]{cursor:pointer}a{color:#0049dc;text-decoration:none!important}a[target=_blank]:after{height:var(--sgds-icon-size-sm)!important;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.516 2.933h.017a.4.4 0 1 1 0 .8c-.566 0-.967 0-1.28.026-.31.025-.498.073-.646.149a1.6 1.6 0 0 0-.7.699c-.075.148-.123.336-.148.645-.025.314-.026.714-.026 1.281v2.933c0 .567 0 .968.026 1.282.026.308.073.497.149.645a1.6 1.6 0 0 0 .699.699c.148.075.337.123.645.149.314.025.715.025 1.281.025h2.934c.566 0 .967 0 1.28-.025.31-.026.498-.073.646-.149a1.6 1.6 0 0 0 .7-.7c.075-.147.123-.336.148-.644.025-.314.026-.715.026-1.282a.4.4 0 0 1 .8 0v.018c0 .545 0 .979-.029 1.329-.03.358-.09.663-.233.943a2.4 2.4 0 0 1-1.049 1.049c-.28.142-.585.204-.943.233-.35.028-.784.028-1.329.028H6.516c-.545 0-.979 0-1.329-.028-.358-.03-.664-.09-.943-.233a2.4 2.4 0 0 1-1.05-1.049c-.142-.28-.203-.585-.232-.943-.029-.35-.029-.784-.029-1.33V6.517c0-.546 0-.98.029-1.33.03-.357.09-.663.233-.942a2.4 2.4 0 0 1 1.049-1.05c.28-.142.585-.203.943-.232.35-.029.784-.029 1.329-.029Zm1.75.4c0-.22.18-.4.4-.4h4c.222 0 .4.18.4.4v4a.4.4 0 0 1-.8 0V4.3L8.284 8.283a.4.4 0 0 1-.566-.566l3.984-3.984H8.667a.4.4 0 0 1-.4-.4Z' fill='%230269D0'/%3E%3C/svg%3E")!important;mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.516 2.933h.017a.4.4 0 1 1 0 .8c-.566 0-.967 0-1.28.026-.31.025-.498.073-.646.149a1.6 1.6 0 0 0-.7.699c-.075.148-.123.336-.148.645-.025.314-.026.714-.026 1.281v2.933c0 .567 0 .968.026 1.282.026.308.073.497.149.645a1.6 1.6 0 0 0 .699.699c.148.075.337.123.645.149.314.025.715.025 1.281.025h2.934c.566 0 .967 0 1.28-.025.31-.026.498-.073.646-.149a1.6 1.6 0 0 0 .7-.7c.075-.147.123-.336.148-.644.025-.314.026-.715.026-1.282a.4.4 0 0 1 .8 0v.018c0 .545 0 .979-.029 1.329-.03.358-.09.663-.233.943a2.4 2.4 0 0 1-1.049 1.049c-.28.142-.585.204-.943.233-.35.028-.784.028-1.329.028H6.516c-.545 0-.979 0-1.329-.028-.358-.03-.664-.09-.943-.233a2.4 2.4 0 0 1-1.05-1.049c-.142-.28-.203-.585-.232-.943-.029-.35-.029-.784-.029-1.33V6.517c0-.546 0-.98.029-1.33.03-.357.09-.663.233-.942a2.4 2.4 0 0 1 1.049-1.05c.28-.142.585-.203.943-.232.35-.029.784-.029 1.329-.029Zm1.75.4c0-.22.18-.4.4-.4h4c.222 0 .4.18.4.4v4a.4.4 0 0 1-.8 0V4.3L8.284 8.283a.4.4 0 0 1-.566-.566l3.984-3.984H8.667a.4.4 0 0 1-.4-.4Z' fill='%230269D0'/%3E%3C/svg%3E")!important;width:var(--sgds-icon-size-sm)!important}a:hover{color:#0022b9}.sgds-masthead{font-family:Inter,system-ui,sans-serif;font-size:.875rem;line-height:1.25rem}.banner{background-color:light-dark(#f7f7f7,#1a1a1a)}.container{margin-left:auto;margin-right:auto;max-width:var(--sgds-mainnav-max-width,1440px);padding:.25rem var(--sgds-mainnav-padding-x,2rem);width:100%}:host([fluid]) .container{max-width:none}.sg-crest{flex-shrink:0;height:20px;width:20px}.sg-crest path{fill:#db0000}.masthead-layout{display:flex;gap:.25rem}.masthead-text-layout{align-items:center;display:flex;flex-wrap:wrap;gap:0 .75rem}.sgds-masthead-identify-icon{align-self:center;display:block;height:20px;transform:rotate(180deg);transition:transform .3s ease-in-out 0s;user-select:none;width:20px}.sgds-masthead-identify-icon.show{transform:rotate(0deg)}.sgds-masthead-button{align-items:center;color:light-dark(#0269d0,#60aaf4);cursor:pointer;display:flex;gap:4px}.sgds-masthead-button:hover{color:light-dark(#0151a0,#96c7f7)}.panel{background-color:light-dark(#f7f7f7,#1a1a1a)}.sgds-masthead .sgds-masthead-content{display:none;padding-bottom:1rem;padding-top:1rem}.sgds-masthead .sgds-masthead-content.show{display:block}.content-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.icon{margin-top:-.1em}.wrapper{display:flex;gap:.5rem}.content{display:flex;flex-direction:column;gap:.25rem}.content .title{font-weight:600}.content article{color:light-dark(#525252,#a5a5a5)}.banner-icon,.banner-icon-inline{height:20px;width:20px}.banner-icon path,.banner-icon-inline path{fill:light-dark(#1a1a1a,#f3f3f3)}a.trusted-websites-link{color:light-dark(#0269d0,#60aaf4);text-decoration:underline;width:fit-content}a.trusted-websites-link:hover{color:light-dark(#0151a0,#96c7f7)}.sgds-masthead-button:focus-visible,a.trusted-websites-link:focus-visible{outline:4px solid #60aaf4}@media screen and (max-width:767px){.container{padding:.25rem var(--sgds-mainnav-mobile-padding-x,1.25rem)}.sgds-masthead-content .content-grid{gap:1rem;grid-template-columns:1fr}}`;
5
5
 
6
6
  export { css_248z as default };
7
7
  //# sourceMappingURL=masthead.js.map
@@ -14,9 +14,10 @@ var systemBannerContext = require('./system-banner-context.cjs.js');
14
14
  var context = require('@lit/context');
15
15
 
16
16
  /**
17
- * @slot icon - The slot to pass in an icon element.
17
+ * @slot icon - The slot to pass in an icon element. Either use a badge or a icon, but not both, to avoid layout issues.
18
18
  * @slot action - The slot to pass in an action element such as a button or link
19
19
  * @slot default - The slot to pass in the message content of the banner item. Text will be clamped at 2 lines in desktop view and 5 lines in mobile view
20
+ * @slot badge - The slot to pass in a badge element. Either use a badge or a icon, but not both, to avoid layout issues.
20
21
  *
21
22
  * @event sgds-show-more - The event emitted when user clicks on "show more" in the banner text message
22
23
  */
@@ -29,7 +30,7 @@ class SgdsSystemBannerItem extends sgdsElement["default"] {
29
30
  this.noClampAction = false;
30
31
  this.clamped = false;
31
32
  this.siblingsCount = 0;
32
- this.hasSlotController = new slot.HasSlotController(this, "action");
33
+ this.hasSlotController = new slot.HasSlotController(this, "action", "icon", "badge");
33
34
  }
34
35
  async firstUpdated(_changedProperties) {
35
36
  super.firstUpdated(_changedProperties);
@@ -47,6 +48,9 @@ class SgdsSystemBannerItem extends sgdsElement["default"] {
47
48
  updated() {
48
49
  if (!this.hasActionSlot)
49
50
  this.hasActionSlot = this.hasSlotController.test("action");
51
+ if (this.hasSlotController.test("icon") && this.hasSlotController.test("badge")) {
52
+ console.error("Both icon and badge slot are used in the same banner item. This is not recommended as it may cause layout issues.");
53
+ }
50
54
  }
51
55
  _clampCheck() {
52
56
  const textEl = this.shadowRoot.querySelector(".message");
@@ -62,6 +66,7 @@ class SgdsSystemBannerItem extends sgdsElement["default"] {
62
66
  <div class="banner-item">
63
67
  <slot name="icon"></slot>
64
68
  <div class="banner-item__message_and__action">
69
+ <slot name="badge"></slot>
65
70
  <div class="clamped-container">
66
71
  <div class=${classMap_js.classMap({ message: true, truncated: this.clamped && !this.noClampAction })}>
67
72
  <slot></slot>
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-system-banner-item.cjs.js","sources":["../../../../src/components/SystemBanner/sgds-system-banner-item.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport alertBannerItemStyles from \"./system-banner-item.css\";\nimport { HasSlotController } from \"../../utils/slot\";\nimport { SystemBannerChildCountContext, NoClampActionContext } from \"./system-banner-context\";\nimport { consume } from \"@lit/context\";\n\n/**\n * @slot icon - The slot to pass in an icon element.\n * @slot action - The slot to pass in an action element such as a button or link\n * @slot default - The slot to pass in the message content of the banner item. Text will be clamped at 2 lines in desktop view and 5 lines in mobile view\n *\n * @event sgds-show-more - The event emitted when user clicks on \"show more\" in the banner text message\n */\nexport class SgdsSystemBannerItem extends SgdsElement {\n static styles = [...SgdsElement.styles, alertBannerItemStyles];\n /** Used only for SSR to indicate the presence of the `action` slot. */\n @property({ type: Boolean }) hasActionSlot = false;\n\n /** Disables the action link that appears when text content is clamped */\n @consume({ context: NoClampActionContext, subscribe: true })\n\n /** When true, message text will be truncated with ellipsis only */\n @property({ type: Boolean })\n noClampAction = false;\n\n @state() private clamped = false;\n\n @consume({ context: SystemBannerChildCountContext, subscribe: true })\n @state()\n private siblingsCount = 0;\n\n private readonly hasSlotController = new HasSlotController(this, \"action\");\n\n private _resizeObserver: ResizeObserver;\n async firstUpdated(_changedProperties) {\n super.firstUpdated(_changedProperties);\n await this.updateComplete;\n this._clampCheck();\n\n // Watch resizing for dynamic layout changes\n this._resizeObserver = new ResizeObserver(() => this._clampCheck());\n this._resizeObserver.observe(this.shadowRoot.querySelector(\".message\"));\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this._resizeObserver) this._resizeObserver.disconnect();\n }\n updated() {\n if (!this.hasActionSlot) this.hasActionSlot = this.hasSlotController.test(\"action\");\n }\n private _clampCheck() {\n const textEl = this.shadowRoot.querySelector(\".message\");\n requestAnimationFrame(() => {\n this.clamped = textEl.scrollHeight > textEl.clientHeight;\n });\n }\n\n private _handleShowMoreClick() {\n this.emit(\"sgds-show-more\");\n }\n render() {\n return html`\n <div class=\"banner-item\">\n <slot name=\"icon\"></slot>\n <div class=\"banner-item__message_and__action\">\n <div class=\"clamped-container\">\n <div class=${classMap({ message: true, truncated: this.clamped && !this.noClampAction })}>\n <slot></slot>\n </div>\n ${this.clamped && !this.noClampAction\n ? html`<span class=\"show-more\"\n >...<a class=\"show-more__link\" @click=\"${this._handleShowMoreClick}\">show more</a></span\n >`\n : nothing}\n </div>\n ${this.hasActionSlot || this.siblingsCount > 1\n ? html`\n <div class=\"action\">\n <slot name=\"action\"></slot>\n </div>\n `\n : nothing}\n </div>\n </div>\n `;\n }\n}\nexport default SgdsSystemBannerItem;\n"],"names":["SgdsElement","HasSlotController","html","classMap","nothing","alertBannerItemStyles","__decorate","property","consume","NoClampActionContext","state","SystemBannerChildCountContext"],"mappings":"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"}
1
+ {"version":3,"file":"sgds-system-banner-item.cjs.js","sources":["../../../../src/components/SystemBanner/sgds-system-banner-item.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport alertBannerItemStyles from \"./system-banner-item.css\";\nimport { HasSlotController } from \"../../utils/slot\";\nimport { SystemBannerChildCountContext, NoClampActionContext } from \"./system-banner-context\";\nimport { consume } from \"@lit/context\";\n\n/**\n * @slot icon - The slot to pass in an icon element. Either use a badge or a icon, but not both, to avoid layout issues.\n * @slot action - The slot to pass in an action element such as a button or link\n * @slot default - The slot to pass in the message content of the banner item. Text will be clamped at 2 lines in desktop view and 5 lines in mobile view\n * @slot badge - The slot to pass in a badge element. Either use a badge or a icon, but not both, to avoid layout issues.\n *\n * @event sgds-show-more - The event emitted when user clicks on \"show more\" in the banner text message\n */\nexport class SgdsSystemBannerItem extends SgdsElement {\n static styles = [...SgdsElement.styles, alertBannerItemStyles];\n /** Used only for SSR to indicate the presence of the `action` slot. */\n @property({ type: Boolean }) hasActionSlot = false;\n\n /** Disables the action link that appears when text content is clamped */\n @consume({ context: NoClampActionContext, subscribe: true })\n\n /** When true, message text will be truncated with ellipsis only */\n @property({ type: Boolean })\n noClampAction = false;\n\n @state() private clamped = false;\n\n @consume({ context: SystemBannerChildCountContext, subscribe: true })\n @state()\n private siblingsCount = 0;\n\n private readonly hasSlotController = new HasSlotController(this, \"action\", \"icon\", \"badge\");\n\n private _resizeObserver: ResizeObserver;\n async firstUpdated(_changedProperties) {\n super.firstUpdated(_changedProperties);\n await this.updateComplete;\n this._clampCheck();\n\n // Watch resizing for dynamic layout changes\n this._resizeObserver = new ResizeObserver(() => this._clampCheck());\n this._resizeObserver.observe(this.shadowRoot.querySelector(\".message\"));\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this._resizeObserver) this._resizeObserver.disconnect();\n }\n updated() {\n if (!this.hasActionSlot) this.hasActionSlot = this.hasSlotController.test(\"action\");\n if (this.hasSlotController.test(\"icon\") && this.hasSlotController.test(\"badge\")) {\n console.error(\n \"Both icon and badge slot are used in the same banner item. This is not recommended as it may cause layout issues.\"\n );\n }\n }\n private _clampCheck() {\n const textEl = this.shadowRoot.querySelector(\".message\");\n requestAnimationFrame(() => {\n this.clamped = textEl.scrollHeight > textEl.clientHeight;\n });\n }\n\n private _handleShowMoreClick() {\n this.emit(\"sgds-show-more\");\n }\n render() {\n return html`\n <div class=\"banner-item\">\n <slot name=\"icon\"></slot>\n <div class=\"banner-item__message_and__action\">\n <slot name=\"badge\"></slot>\n <div class=\"clamped-container\">\n <div class=${classMap({ message: true, truncated: this.clamped && !this.noClampAction })}>\n <slot></slot>\n </div>\n ${this.clamped && !this.noClampAction\n ? html`<span class=\"show-more\"\n >...<a class=\"show-more__link\" @click=\"${this._handleShowMoreClick}\">show more</a></span\n >`\n : nothing}\n </div>\n ${this.hasActionSlot || this.siblingsCount > 1\n ? html`\n <div class=\"action\">\n <slot name=\"action\"></slot>\n </div>\n `\n : nothing}\n </div>\n </div>\n `;\n }\n}\nexport default SgdsSystemBannerItem;\n"],"names":["SgdsElement","HasSlotController","html","classMap","nothing","alertBannerItemStyles","__decorate","property","consume","NoClampActionContext","state","SystemBannerChildCountContext"],"mappings":"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"}
@@ -10,9 +10,10 @@ import { NoClampActionContext, SystemBannerChildCountContext } from './system-ba
10
10
  import { consume } from '@lit/context';
11
11
 
12
12
  /**
13
- * @slot icon - The slot to pass in an icon element.
13
+ * @slot icon - The slot to pass in an icon element. Either use a badge or a icon, but not both, to avoid layout issues.
14
14
  * @slot action - The slot to pass in an action element such as a button or link
15
15
  * @slot default - The slot to pass in the message content of the banner item. Text will be clamped at 2 lines in desktop view and 5 lines in mobile view
16
+ * @slot badge - The slot to pass in a badge element. Either use a badge or a icon, but not both, to avoid layout issues.
16
17
  *
17
18
  * @event sgds-show-more - The event emitted when user clicks on "show more" in the banner text message
18
19
  */
@@ -25,7 +26,7 @@ class SgdsSystemBannerItem extends SgdsElement {
25
26
  this.noClampAction = false;
26
27
  this.clamped = false;
27
28
  this.siblingsCount = 0;
28
- this.hasSlotController = new HasSlotController(this, "action");
29
+ this.hasSlotController = new HasSlotController(this, "action", "icon", "badge");
29
30
  }
30
31
  async firstUpdated(_changedProperties) {
31
32
  super.firstUpdated(_changedProperties);
@@ -43,6 +44,9 @@ class SgdsSystemBannerItem extends SgdsElement {
43
44
  updated() {
44
45
  if (!this.hasActionSlot)
45
46
  this.hasActionSlot = this.hasSlotController.test("action");
47
+ if (this.hasSlotController.test("icon") && this.hasSlotController.test("badge")) {
48
+ console.error("Both icon and badge slot are used in the same banner item. This is not recommended as it may cause layout issues.");
49
+ }
46
50
  }
47
51
  _clampCheck() {
48
52
  const textEl = this.shadowRoot.querySelector(".message");
@@ -58,6 +62,7 @@ class SgdsSystemBannerItem extends SgdsElement {
58
62
  <div class="banner-item">
59
63
  <slot name="icon"></slot>
60
64
  <div class="banner-item__message_and__action">
65
+ <slot name="badge"></slot>
61
66
  <div class="clamped-container">
62
67
  <div class=${classMap({ message: true, truncated: this.clamped && !this.noClampAction })}>
63
68
  <slot></slot>
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-system-banner-item.js","sources":["../../../../src/components/SystemBanner/sgds-system-banner-item.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport alertBannerItemStyles from \"./system-banner-item.css\";\nimport { HasSlotController } from \"../../utils/slot\";\nimport { SystemBannerChildCountContext, NoClampActionContext } from \"./system-banner-context\";\nimport { consume } from \"@lit/context\";\n\n/**\n * @slot icon - The slot to pass in an icon element.\n * @slot action - The slot to pass in an action element such as a button or link\n * @slot default - The slot to pass in the message content of the banner item. Text will be clamped at 2 lines in desktop view and 5 lines in mobile view\n *\n * @event sgds-show-more - The event emitted when user clicks on \"show more\" in the banner text message\n */\nexport class SgdsSystemBannerItem extends SgdsElement {\n static styles = [...SgdsElement.styles, alertBannerItemStyles];\n /** Used only for SSR to indicate the presence of the `action` slot. */\n @property({ type: Boolean }) hasActionSlot = false;\n\n /** Disables the action link that appears when text content is clamped */\n @consume({ context: NoClampActionContext, subscribe: true })\n\n /** When true, message text will be truncated with ellipsis only */\n @property({ type: Boolean })\n noClampAction = false;\n\n @state() private clamped = false;\n\n @consume({ context: SystemBannerChildCountContext, subscribe: true })\n @state()\n private siblingsCount = 0;\n\n private readonly hasSlotController = new HasSlotController(this, \"action\");\n\n private _resizeObserver: ResizeObserver;\n async firstUpdated(_changedProperties) {\n super.firstUpdated(_changedProperties);\n await this.updateComplete;\n this._clampCheck();\n\n // Watch resizing for dynamic layout changes\n this._resizeObserver = new ResizeObserver(() => this._clampCheck());\n this._resizeObserver.observe(this.shadowRoot.querySelector(\".message\"));\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this._resizeObserver) this._resizeObserver.disconnect();\n }\n updated() {\n if (!this.hasActionSlot) this.hasActionSlot = this.hasSlotController.test(\"action\");\n }\n private _clampCheck() {\n const textEl = this.shadowRoot.querySelector(\".message\");\n requestAnimationFrame(() => {\n this.clamped = textEl.scrollHeight > textEl.clientHeight;\n });\n }\n\n private _handleShowMoreClick() {\n this.emit(\"sgds-show-more\");\n }\n render() {\n return html`\n <div class=\"banner-item\">\n <slot name=\"icon\"></slot>\n <div class=\"banner-item__message_and__action\">\n <div class=\"clamped-container\">\n <div class=${classMap({ message: true, truncated: this.clamped && !this.noClampAction })}>\n <slot></slot>\n </div>\n ${this.clamped && !this.noClampAction\n ? html`<span class=\"show-more\"\n >...<a class=\"show-more__link\" @click=\"${this._handleShowMoreClick}\">show more</a></span\n >`\n : nothing}\n </div>\n ${this.hasActionSlot || this.siblingsCount > 1\n ? html`\n <div class=\"action\">\n <slot name=\"action\"></slot>\n </div>\n `\n : nothing}\n </div>\n </div>\n `;\n }\n}\nexport default SgdsSystemBannerItem;\n"],"names":["alertBannerItemStyles"],"mappings":"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"}
1
+ {"version":3,"file":"sgds-system-banner-item.js","sources":["../../../../src/components/SystemBanner/sgds-system-banner-item.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport alertBannerItemStyles from \"./system-banner-item.css\";\nimport { HasSlotController } from \"../../utils/slot\";\nimport { SystemBannerChildCountContext, NoClampActionContext } from \"./system-banner-context\";\nimport { consume } from \"@lit/context\";\n\n/**\n * @slot icon - The slot to pass in an icon element. Either use a badge or a icon, but not both, to avoid layout issues.\n * @slot action - The slot to pass in an action element such as a button or link\n * @slot default - The slot to pass in the message content of the banner item. Text will be clamped at 2 lines in desktop view and 5 lines in mobile view\n * @slot badge - The slot to pass in a badge element. Either use a badge or a icon, but not both, to avoid layout issues.\n *\n * @event sgds-show-more - The event emitted when user clicks on \"show more\" in the banner text message\n */\nexport class SgdsSystemBannerItem extends SgdsElement {\n static styles = [...SgdsElement.styles, alertBannerItemStyles];\n /** Used only for SSR to indicate the presence of the `action` slot. */\n @property({ type: Boolean }) hasActionSlot = false;\n\n /** Disables the action link that appears when text content is clamped */\n @consume({ context: NoClampActionContext, subscribe: true })\n\n /** When true, message text will be truncated with ellipsis only */\n @property({ type: Boolean })\n noClampAction = false;\n\n @state() private clamped = false;\n\n @consume({ context: SystemBannerChildCountContext, subscribe: true })\n @state()\n private siblingsCount = 0;\n\n private readonly hasSlotController = new HasSlotController(this, \"action\", \"icon\", \"badge\");\n\n private _resizeObserver: ResizeObserver;\n async firstUpdated(_changedProperties) {\n super.firstUpdated(_changedProperties);\n await this.updateComplete;\n this._clampCheck();\n\n // Watch resizing for dynamic layout changes\n this._resizeObserver = new ResizeObserver(() => this._clampCheck());\n this._resizeObserver.observe(this.shadowRoot.querySelector(\".message\"));\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this._resizeObserver) this._resizeObserver.disconnect();\n }\n updated() {\n if (!this.hasActionSlot) this.hasActionSlot = this.hasSlotController.test(\"action\");\n if (this.hasSlotController.test(\"icon\") && this.hasSlotController.test(\"badge\")) {\n console.error(\n \"Both icon and badge slot are used in the same banner item. This is not recommended as it may cause layout issues.\"\n );\n }\n }\n private _clampCheck() {\n const textEl = this.shadowRoot.querySelector(\".message\");\n requestAnimationFrame(() => {\n this.clamped = textEl.scrollHeight > textEl.clientHeight;\n });\n }\n\n private _handleShowMoreClick() {\n this.emit(\"sgds-show-more\");\n }\n render() {\n return html`\n <div class=\"banner-item\">\n <slot name=\"icon\"></slot>\n <div class=\"banner-item__message_and__action\">\n <slot name=\"badge\"></slot>\n <div class=\"clamped-container\">\n <div class=${classMap({ message: true, truncated: this.clamped && !this.noClampAction })}>\n <slot></slot>\n </div>\n ${this.clamped && !this.noClampAction\n ? html`<span class=\"show-more\"\n >...<a class=\"show-more__link\" @click=\"${this._handleShowMoreClick}\">show more</a></span\n >`\n : nothing}\n </div>\n ${this.hasActionSlot || this.siblingsCount > 1\n ? html`\n <div class=\"action\">\n <slot name=\"action\"></slot>\n </div>\n `\n : nothing}\n </div>\n </div>\n `;\n }\n}\nexport default SgdsSystemBannerItem;\n"],"names":["alertBannerItemStyles"],"mappings":"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"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var lit = require('lit');
7
7
 
8
- var css_248z = lit.css`:host{display:block;font-size:var(--sgds-font-size-14,14px);font-style:normal;font-weight:var(--sgds-font-weight-regular,400);letter-spacing:var(--sgds-letter-spacing-normal,0);line-height:var(--sgds-line-height-20,20px);width:inherit}::slotted(:not(sgds-icon)){color:var(--sgds-color-fixed-light)!important;font-size:var(--sgds-font-size-14,14px)!important;line-height:var(--sgds-line-height-20,20px)!important}.banner-item{color:var(--sgds-color-fixed-light);display:flex;gap:var(--sgds-gap-sm);padding:var(--sgds-padding-2-xs) 0}.message{line-clamp:5;-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;max-height:calc(var(--sgds-line-height-20, 20px)*5);overflow:hidden;word-break:break-word}.message.truncated:after{background-color:var(--sgds-surface-fixed-dark);bottom:0;content:"";height:var(--sgds-line-height-20,20px);position:absolute;right:0;text-align:right;width:10ch}.clamped-container{display:inline-block;margin-right:var(--sgds-margin-2-xl);max-width:var(--sgds-dimension-872);position:relative}.show-more{bottom:0;position:absolute;right:0;white-space:nowrap}.show-more__link{cursor:pointer;text-decoration:underline}.action{align-items:center;display:flex;gap:var(--sgds-gap-2-xs,4px);margin-top:6px;min-height:var(--sgds-line-height-20);white-space:nowrap}slot[name=action]::slotted(a){color:var(--sgds-color-fixed-light)!important;font-size:var(--sgds-font-size-14,14px)!important;text-decoration:none!important}.banner-item__message_and__action{display:flex;flex:1 0 0;flex-direction:column;gap:var(--sgds-gap-xs)}@media (min-width:512px){.banner-item__message_and__action{flex-direction:row;gap:var(--sgds-gap-sm)}.action{margin-left:auto;margin-top:0}.message{line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;max-height:calc(var(--sgds-line-height-20, 20px)*2)}}`;
8
+ var css_248z = lit.css`:host{display:block;font-size:var(--sgds-font-size-14,14px);font-style:normal;font-weight:var(--sgds-font-weight-regular,400);letter-spacing:var(--sgds-letter-spacing-normal,0);line-height:var(--sgds-line-height-20,20px);width:inherit}::slotted(:not(sgds-icon)){color:var(--sgds-color-fixed-light)!important;font-size:var(--sgds-font-size-14,14px)!important;line-height:var(--sgds-line-height-20,20px)!important}.banner-item{color:var(--sgds-color-fixed-light);display:flex;gap:var(--sgds-gap-sm);padding:var(--sgds-padding-2-xs) 0}.message{line-clamp:5;-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;max-height:calc(var(--sgds-line-height-20, 20px)*5);overflow:hidden;word-break:break-word}.message.truncated:after{background-color:var(--sgds-surface-fixed-dark);bottom:0;content:"";height:var(--sgds-line-height-20,20px);position:absolute;right:0;text-align:right;width:10ch}.clamped-container{display:inline-block;margin-right:var(--sgds-margin-2-xl);max-width:var(--sgds-dimension-872);position:relative}.show-more{bottom:0;position:absolute;right:0;white-space:nowrap}.show-more__link{cursor:pointer;text-decoration:underline}.action{align-items:center;display:flex;gap:var(--sgds-gap-2-xs,4px);margin-top:6px;min-height:var(--sgds-line-height-20);white-space:nowrap}slot[name=action]::slotted(a){color:var(--sgds-color-fixed-light)!important;font-size:var(--sgds-font-size-14,14px)!important;text-decoration:none!important}.banner-item__message_and__action{display:flex;flex:1 0 0;flex-direction:column;gap:var(--sgds-gap-xs)}@media (min-width:1024px){.banner-item__message_and__action{align-items:center;flex-direction:row;gap:var(--sgds-gap-sm)}.action{margin-left:auto;margin-top:0}.message{line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;max-height:calc(var(--sgds-line-height-20, 20px)*2)}}`;
9
9
 
10
10
  exports["default"] = css_248z;
11
11
  //# sourceMappingURL=system-banner-item.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { css } from 'lit';
3
3
 
4
- var css_248z = css`:host{display:block;font-size:var(--sgds-font-size-14,14px);font-style:normal;font-weight:var(--sgds-font-weight-regular,400);letter-spacing:var(--sgds-letter-spacing-normal,0);line-height:var(--sgds-line-height-20,20px);width:inherit}::slotted(:not(sgds-icon)){color:var(--sgds-color-fixed-light)!important;font-size:var(--sgds-font-size-14,14px)!important;line-height:var(--sgds-line-height-20,20px)!important}.banner-item{color:var(--sgds-color-fixed-light);display:flex;gap:var(--sgds-gap-sm);padding:var(--sgds-padding-2-xs) 0}.message{line-clamp:5;-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;max-height:calc(var(--sgds-line-height-20, 20px)*5);overflow:hidden;word-break:break-word}.message.truncated:after{background-color:var(--sgds-surface-fixed-dark);bottom:0;content:"";height:var(--sgds-line-height-20,20px);position:absolute;right:0;text-align:right;width:10ch}.clamped-container{display:inline-block;margin-right:var(--sgds-margin-2-xl);max-width:var(--sgds-dimension-872);position:relative}.show-more{bottom:0;position:absolute;right:0;white-space:nowrap}.show-more__link{cursor:pointer;text-decoration:underline}.action{align-items:center;display:flex;gap:var(--sgds-gap-2-xs,4px);margin-top:6px;min-height:var(--sgds-line-height-20);white-space:nowrap}slot[name=action]::slotted(a){color:var(--sgds-color-fixed-light)!important;font-size:var(--sgds-font-size-14,14px)!important;text-decoration:none!important}.banner-item__message_and__action{display:flex;flex:1 0 0;flex-direction:column;gap:var(--sgds-gap-xs)}@media (min-width:512px){.banner-item__message_and__action{flex-direction:row;gap:var(--sgds-gap-sm)}.action{margin-left:auto;margin-top:0}.message{line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;max-height:calc(var(--sgds-line-height-20, 20px)*2)}}`;
4
+ var css_248z = css`:host{display:block;font-size:var(--sgds-font-size-14,14px);font-style:normal;font-weight:var(--sgds-font-weight-regular,400);letter-spacing:var(--sgds-letter-spacing-normal,0);line-height:var(--sgds-line-height-20,20px);width:inherit}::slotted(:not(sgds-icon)){color:var(--sgds-color-fixed-light)!important;font-size:var(--sgds-font-size-14,14px)!important;line-height:var(--sgds-line-height-20,20px)!important}.banner-item{color:var(--sgds-color-fixed-light);display:flex;gap:var(--sgds-gap-sm);padding:var(--sgds-padding-2-xs) 0}.message{line-clamp:5;-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;max-height:calc(var(--sgds-line-height-20, 20px)*5);overflow:hidden;word-break:break-word}.message.truncated:after{background-color:var(--sgds-surface-fixed-dark);bottom:0;content:"";height:var(--sgds-line-height-20,20px);position:absolute;right:0;text-align:right;width:10ch}.clamped-container{display:inline-block;margin-right:var(--sgds-margin-2-xl);max-width:var(--sgds-dimension-872);position:relative}.show-more{bottom:0;position:absolute;right:0;white-space:nowrap}.show-more__link{cursor:pointer;text-decoration:underline}.action{align-items:center;display:flex;gap:var(--sgds-gap-2-xs,4px);margin-top:6px;min-height:var(--sgds-line-height-20);white-space:nowrap}slot[name=action]::slotted(a){color:var(--sgds-color-fixed-light)!important;font-size:var(--sgds-font-size-14,14px)!important;text-decoration:none!important}.banner-item__message_and__action{display:flex;flex:1 0 0;flex-direction:column;gap:var(--sgds-gap-xs)}@media (min-width:1024px){.banner-item__message_and__action{align-items:center;flex-direction:row;gap:var(--sgds-gap-sm)}.action{margin-left:auto;margin-top:0}.message{line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;max-height:calc(var(--sgds-line-height-20, 20px)*2)}}`;
5
5
 
6
6
  export { css_248z as default };
7
7
  //# sourceMappingURL=system-banner-item.js.map
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var lit = require('lit');
7
7
 
8
- var css_248z = lit.css`.banner-wrapper{display:block;width:100%}.banner,.banner-wrapper{background-color:var(--sgds-surface-fixed-dark)}.banner{align-items:center;color:var(--sgds-color-fixed-light);display:flex;flex-direction:row;gap:var(--sgds-gap-xl);min-height:var(--sgds-dimension-64);padding:var(--sgds-padding-sm) calc(var(--sgds-padding-sm) + var(--sgds-mainnav-mobile-padding-x));position:relative}.content{flex:1;overflow:hidden;width:100%}::slotted(sgds-system-banner-item){display:none;flex:0 0 100%;opacity:0}::slotted(sgds-system-banner-item[active]){display:block;opacity:1}.pagination{align-items:center;bottom:12px;display:flex;font-size:var(--sgds-font-size-12);font-weight:var(--sgds-font-weight-regular,400);gap:var(--sgds-gap-2-xs);letter-spacing:var(--sgds-letter-spacing-normal,0);line-height:var(--sgds-line-height-16,16px);position:absolute;right:20px}.d-none{display:none}sgds-close-button{position:absolute;right:20px;top:10px}@media (min-width:512px){.pagination,sgds-close-button{position:static}.banner{padding-left:var(--sgds-mainnav-mobile-padding-x);padding-right:var(--sgds-mainnav-mobile-padding-x)}}@media (min-width:1440px){.banner{margin:auto;max-width:var(--sgds-mainnav-max-width,1440px);padding-left:var(--sgds-mainnav-padding-x);padding-right:var(--sgds-mainnav-padding-x)}}:host([fluid]) .banner{max-width:none}`;
8
+ var css_248z = lit.css`.banner-wrapper{display:block;width:100%}.banner,.banner-wrapper{background-color:var(--sgds-surface-fixed-dark)}.banner{align-items:center;color:var(--sgds-color-fixed-light);display:flex;flex-direction:row;gap:var(--sgds-gap-xl);min-height:var(--sgds-dimension-64);padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x);position:relative}.content{flex:1;overflow:hidden;width:100%}::slotted(sgds-system-banner-item){display:none;flex:0 0 100%;opacity:0}::slotted(sgds-system-banner-item[active]){display:block;opacity:1}.pagination{align-items:center;bottom:12px;display:flex;font-size:var(--sgds-font-size-12);font-weight:var(--sgds-font-weight-regular,400);gap:var(--sgds-gap-2-xs);letter-spacing:var(--sgds-letter-spacing-normal,0);line-height:var(--sgds-line-height-16,16px);position:absolute;right:20px}.d-none{display:none}sgds-close-button{position:absolute;right:20px;top:10px}@media (min-width:1024px){.pagination,sgds-close-button{position:static}.banner{margin:auto;max-width:var(--sgds-mainnav-max-width,1440px);padding-left:var(--sgds-mainnav-padding-x);padding-right:var(--sgds-mainnav-padding-x)}:host([fluid]) .banner{max-width:none}}`;
9
9
 
10
10
  exports["default"] = css_248z;
11
11
  //# sourceMappingURL=system-banner.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { css } from 'lit';
3
3
 
4
- var css_248z = css`.banner-wrapper{display:block;width:100%}.banner,.banner-wrapper{background-color:var(--sgds-surface-fixed-dark)}.banner{align-items:center;color:var(--sgds-color-fixed-light);display:flex;flex-direction:row;gap:var(--sgds-gap-xl);min-height:var(--sgds-dimension-64);padding:var(--sgds-padding-sm) calc(var(--sgds-padding-sm) + var(--sgds-mainnav-mobile-padding-x));position:relative}.content{flex:1;overflow:hidden;width:100%}::slotted(sgds-system-banner-item){display:none;flex:0 0 100%;opacity:0}::slotted(sgds-system-banner-item[active]){display:block;opacity:1}.pagination{align-items:center;bottom:12px;display:flex;font-size:var(--sgds-font-size-12);font-weight:var(--sgds-font-weight-regular,400);gap:var(--sgds-gap-2-xs);letter-spacing:var(--sgds-letter-spacing-normal,0);line-height:var(--sgds-line-height-16,16px);position:absolute;right:20px}.d-none{display:none}sgds-close-button{position:absolute;right:20px;top:10px}@media (min-width:512px){.pagination,sgds-close-button{position:static}.banner{padding-left:var(--sgds-mainnav-mobile-padding-x);padding-right:var(--sgds-mainnav-mobile-padding-x)}}@media (min-width:1440px){.banner{margin:auto;max-width:var(--sgds-mainnav-max-width,1440px);padding-left:var(--sgds-mainnav-padding-x);padding-right:var(--sgds-mainnav-padding-x)}}:host([fluid]) .banner{max-width:none}`;
4
+ var css_248z = css`.banner-wrapper{display:block;width:100%}.banner,.banner-wrapper{background-color:var(--sgds-surface-fixed-dark)}.banner{align-items:center;color:var(--sgds-color-fixed-light);display:flex;flex-direction:row;gap:var(--sgds-gap-xl);min-height:var(--sgds-dimension-64);padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x);position:relative}.content{flex:1;overflow:hidden;width:100%}::slotted(sgds-system-banner-item){display:none;flex:0 0 100%;opacity:0}::slotted(sgds-system-banner-item[active]){display:block;opacity:1}.pagination{align-items:center;bottom:12px;display:flex;font-size:var(--sgds-font-size-12);font-weight:var(--sgds-font-weight-regular,400);gap:var(--sgds-gap-2-xs);letter-spacing:var(--sgds-letter-spacing-normal,0);line-height:var(--sgds-line-height-16,16px);position:absolute;right:20px}.d-none{display:none}sgds-close-button{position:absolute;right:20px;top:10px}@media (min-width:1024px){.pagination,sgds-close-button{position:static}.banner{margin:auto;max-width:var(--sgds-mainnav-max-width,1440px);padding-left:var(--sgds-mainnav-padding-x);padding-right:var(--sgds-mainnav-padding-x)}:host([fluid]) .banner{max-width:none}}`;
5
5
 
6
6
  export { css_248z as default };
7
7
  //# sourceMappingURL=system-banner.js.map
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var lit = require('lit');
7
7
 
8
- var css_248z = lit.css`:host([noPadding]) .card{border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent)}:host(:not([noPadding])) .card:not(.disabled):hover{box-shadow:0 0 1px 0 hsla(0,0%,5%,.12),0 8px 16px 0 hsla(0,0%,5%,.12)}:host([orientation=vertical][noPadding]) .card-body{padding:var(--sgds-padding-xl) var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-none)}:host([orientation=vertical][imagePosition=after][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-xl) var(--sgds-padding-none)}:host([orientation=horizontal][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-xl)}:host([orientation=horizontal][imagePosition=after][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-xl) var(--sgds-padding-none) var(--sgds-padding-none)}:host([tinted]:not([noPadding])) .card-tinted-bg{background-color:var(--sgds-bg-translucent-subtle);opacity:var(--sgds-opacity-50)}:host([orientation][noPadding]) .card-media{padding:var(--sgds-padding-none)}slot[name=thumbnail]::slotted(*){height:var(--sgds-dimension-64)!important;max-width:var(--sgds-dimension-128)!important;min-width:var(--sgds-dimension-64)!important;object-fit:contain;object-position:left;width:100%}`;
8
+ var css_248z = lit.css`:host([noPadding]) .card{background-color:inherit;border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent)}:host([orientation=vertical][noPadding]) .card-body{padding:var(--sgds-padding-xl) var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-none)}:host([orientation=vertical][imagePosition=after][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-xl) var(--sgds-padding-none)}:host([orientation=horizontal][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-xl)}:host([orientation=horizontal][imagePosition=after][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-xl) var(--sgds-padding-none) var(--sgds-padding-none)}:host([tinted]:not([noPadding])) .card-tinted-bg{background-color:var(--sgds-bg-translucent-subtle);opacity:var(--sgds-opacity-50)}:host([orientation][noPadding]) .card-media{padding:var(--sgds-padding-none)}slot[name=thumbnail]::slotted(*){height:var(--sgds-dimension-64)!important;max-width:var(--sgds-dimension-128)!important;min-width:var(--sgds-dimension-64)!important;object-fit:contain;object-position:left;width:100%}`;
9
9
 
10
10
  exports["default"] = css_248z;
11
11
  //# sourceMappingURL=thumbnail-card.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { css } from 'lit';
3
3
 
4
- var css_248z = css`:host([noPadding]) .card{border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent)}:host(:not([noPadding])) .card:not(.disabled):hover{box-shadow:0 0 1px 0 hsla(0,0%,5%,.12),0 8px 16px 0 hsla(0,0%,5%,.12)}:host([orientation=vertical][noPadding]) .card-body{padding:var(--sgds-padding-xl) var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-none)}:host([orientation=vertical][imagePosition=after][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-xl) var(--sgds-padding-none)}:host([orientation=horizontal][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-xl)}:host([orientation=horizontal][imagePosition=after][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-xl) var(--sgds-padding-none) var(--sgds-padding-none)}:host([tinted]:not([noPadding])) .card-tinted-bg{background-color:var(--sgds-bg-translucent-subtle);opacity:var(--sgds-opacity-50)}:host([orientation][noPadding]) .card-media{padding:var(--sgds-padding-none)}slot[name=thumbnail]::slotted(*){height:var(--sgds-dimension-64)!important;max-width:var(--sgds-dimension-128)!important;min-width:var(--sgds-dimension-64)!important;object-fit:contain;object-position:left;width:100%}`;
4
+ var css_248z = css`:host([noPadding]) .card{background-color:inherit;border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent)}:host([orientation=vertical][noPadding]) .card-body{padding:var(--sgds-padding-xl) var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-none)}:host([orientation=vertical][imagePosition=after][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-xl) var(--sgds-padding-none)}:host([orientation=horizontal][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-xl)}:host([orientation=horizontal][imagePosition=after][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-xl) var(--sgds-padding-none) var(--sgds-padding-none)}:host([tinted]:not([noPadding])) .card-tinted-bg{background-color:var(--sgds-bg-translucent-subtle);opacity:var(--sgds-opacity-50)}:host([orientation][noPadding]) .card-media{padding:var(--sgds-padding-none)}slot[name=thumbnail]::slotted(*){height:var(--sgds-dimension-64)!important;max-width:var(--sgds-dimension-128)!important;min-width:var(--sgds-dimension-64)!important;object-fit:contain;object-position:left;width:100%}`;
5
5
 
6
6
  export { css_248z as default };
7
7
  //# sourceMappingURL=thumbnail-card.js.map
@@ -47,34 +47,30 @@ var index$E = require('./radio-group/index.cjs.js');
47
47
  var index$F = require('./radio/index.cjs.js');
48
48
  var index$G = require('./select-option/index.cjs.js');
49
49
  var index$H = require('./select/index.cjs.js');
50
- var index$I = require('./sidebar-group/index.cjs.js');
51
- var index$J = require('./sidebar-item/index.cjs.js');
52
- var index$K = require('./sidebar-section/index.cjs.js');
53
- var index$L = require('./sidebar/index.cjs.js');
54
- var index$M = require('./sidenav-item/index.cjs.js');
55
- var index$N = require('./sidenav-link/index.cjs.js');
56
- var index$O = require('./sidenav/index.cjs.js');
57
- var index$P = require('./skeleton/index.cjs.js');
58
- var index$Q = require('./spinner/index.cjs.js');
59
- var index$R = require('./stepper/index.cjs.js');
60
- var index$S = require('./subnav-item/index.cjs.js');
61
- var index$T = require('./subnav/index.cjs.js');
62
- var index$U = require('./switch/index.cjs.js');
63
- var index$V = require('./system-banner-item/index.cjs.js');
64
- var index$W = require('./system-banner/index.cjs.js');
65
- var index$X = require('./tab-group/index.cjs.js');
66
- var index$Y = require('./tab-panel/index.cjs.js');
67
- var index$Z = require('./tab/index.cjs.js');
68
- var index$_ = require('./table-cell/index.cjs.js');
69
- var index$$ = require('./table-head/index.cjs.js');
70
- var index$10 = require('./table-row/index.cjs.js');
71
- var index$11 = require('./table/index.cjs.js');
72
- var index$12 = require('./table-of-contents/index.cjs.js');
73
- var index$13 = require('./textarea/index.cjs.js');
74
- var index$14 = require('./thumbnail-card/index.cjs.js');
75
- var index$15 = require('./toast-container/index.cjs.js');
76
- var index$16 = require('./toast/index.cjs.js');
77
- var index$17 = require('./tooltip/index.cjs.js');
50
+ var index$I = require('./sidenav-item/index.cjs.js');
51
+ var index$J = require('./sidenav-link/index.cjs.js');
52
+ var index$K = require('./sidenav/index.cjs.js');
53
+ var index$L = require('./skeleton/index.cjs.js');
54
+ var index$M = require('./spinner/index.cjs.js');
55
+ var index$N = require('./stepper/index.cjs.js');
56
+ var index$O = require('./subnav-item/index.cjs.js');
57
+ var index$P = require('./subnav/index.cjs.js');
58
+ var index$Q = require('./switch/index.cjs.js');
59
+ var index$R = require('./system-banner-item/index.cjs.js');
60
+ var index$S = require('./system-banner/index.cjs.js');
61
+ var index$T = require('./tab-group/index.cjs.js');
62
+ var index$U = require('./tab-panel/index.cjs.js');
63
+ var index$V = require('./tab/index.cjs.js');
64
+ var index$W = require('./table-cell/index.cjs.js');
65
+ var index$X = require('./table-head/index.cjs.js');
66
+ var index$Y = require('./table-row/index.cjs.js');
67
+ var index$Z = require('./table/index.cjs.js');
68
+ var index$_ = require('./table-of-contents/index.cjs.js');
69
+ var index$$ = require('./textarea/index.cjs.js');
70
+ var index$10 = require('./thumbnail-card/index.cjs.js');
71
+ var index$11 = require('./toast-container/index.cjs.js');
72
+ var index$12 = require('./toast/index.cjs.js');
73
+ var index$13 = require('./tooltip/index.cjs.js');
78
74
 
79
75
 
80
76
 
@@ -122,32 +118,28 @@ exports.SgdsRadioGroup = index$E["default"];
122
118
  exports.SgdsRadio = index$F["default"];
123
119
  exports.SgdsSelectOption = index$G["default"];
124
120
  exports.SgdsSelect = index$H["default"];
125
- exports.SgdsSidebarGroup = index$I["default"];
126
- exports.SgdsSidebarItem = index$J["default"];
127
- exports.SgdsSidebarSection = index$K["default"];
128
- exports.SgdsSidebar = index$L["default"];
129
- exports.SgdsSidenavItem = index$M["default"];
130
- exports.SgdsSidenavLink = index$N["default"];
131
- exports.SgdsSidenav = index$O["default"];
132
- exports.SgdsSkeleton = index$P["default"];
133
- exports.SgdsSpinner = index$Q["default"];
134
- exports.SgdsStepper = index$R["default"];
135
- exports.SgdsSubnavItem = index$S["default"];
136
- exports.SgdsSubnav = index$T["default"];
137
- exports.SgdsSwitch = index$U["default"];
138
- exports.SgdsSystemBannerItem = index$V["default"];
139
- exports.SgdsSystemBanner = index$W["default"];
140
- exports.SgdsTabGroup = index$X["default"];
141
- exports.SgdsTabPanel = index$Y["default"];
142
- exports.SgdsTab = index$Z["default"];
143
- exports.SgdsTableCell = index$_["default"];
144
- exports.SgdsTableHead = index$$["default"];
145
- exports.SgdsTableRow = index$10["default"];
146
- exports.SgdsTable = index$11["default"];
147
- exports.SgdsTableOfContents = index$12["default"];
148
- exports.SgdsTextarea = index$13["default"];
149
- exports.SgdsThumbnailCard = index$14["default"];
150
- exports.SgdsToastContainer = index$15["default"];
151
- exports.SgdsToast = index$16["default"];
152
- exports.SgdsTooltip = index$17["default"];
121
+ exports.SgdsSidenavItem = index$I["default"];
122
+ exports.SgdsSidenavLink = index$J["default"];
123
+ exports.SgdsSidenav = index$K["default"];
124
+ exports.SgdsSkeleton = index$L["default"];
125
+ exports.SgdsSpinner = index$M["default"];
126
+ exports.SgdsStepper = index$N["default"];
127
+ exports.SgdsSubnavItem = index$O["default"];
128
+ exports.SgdsSubnav = index$P["default"];
129
+ exports.SgdsSwitch = index$Q["default"];
130
+ exports.SgdsSystemBannerItem = index$R["default"];
131
+ exports.SgdsSystemBanner = index$S["default"];
132
+ exports.SgdsTabGroup = index$T["default"];
133
+ exports.SgdsTabPanel = index$U["default"];
134
+ exports.SgdsTab = index$V["default"];
135
+ exports.SgdsTableCell = index$W["default"];
136
+ exports.SgdsTableHead = index$X["default"];
137
+ exports.SgdsTableRow = index$Y["default"];
138
+ exports.SgdsTable = index$Z["default"];
139
+ exports.SgdsTableOfContents = index$_["default"];
140
+ exports.SgdsTextarea = index$$["default"];
141
+ exports.SgdsThumbnailCard = index$10["default"];
142
+ exports.SgdsToastContainer = index$11["default"];
143
+ exports.SgdsToast = index$12["default"];
144
+ exports.SgdsTooltip = index$13["default"];
153
145
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/react/index.d.ts CHANGED
@@ -42,10 +42,6 @@ export { default as SgdsRadioGroup } from './radio-group';
42
42
  export { default as SgdsRadio } from './radio';
43
43
  export { default as SgdsSelectOption } from './select-option';
44
44
  export { default as SgdsSelect } from './select';
45
- export { default as SgdsSidebarGroup } from './sidebar-group';
46
- export { default as SgdsSidebarItem } from './sidebar-item';
47
- export { default as SgdsSidebarSection } from './sidebar-section';
48
- export { default as SgdsSidebar } from './sidebar';
49
45
  export { default as SgdsSidenavItem } from './sidenav-item';
50
46
  export { default as SgdsSidenavLink } from './sidenav-link';
51
47
  export { default as SgdsSidenav } from './sidenav';
package/react/index.js CHANGED
@@ -43,10 +43,6 @@ export { default as SgdsRadioGroup } from './radio-group/index.js';
43
43
  export { default as SgdsRadio } from './radio/index.js';
44
44
  export { default as SgdsSelectOption } from './select-option/index.js';
45
45
  export { default as SgdsSelect } from './select/index.js';
46
- export { default as SgdsSidebarGroup } from './sidebar-group/index.js';
47
- export { default as SgdsSidebarItem } from './sidebar-item/index.js';
48
- export { default as SgdsSidebarSection } from './sidebar-section/index.js';
49
- export { default as SgdsSidebar } from './sidebar/index.js';
50
46
  export { default as SgdsSidenavItem } from './sidenav-item/index.js';
51
47
  export { default as SgdsSidenavLink } from './sidenav-link/index.js';
52
48
  export { default as SgdsSidenav } from './sidenav/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/themes/day.css CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  /* Semantic - Default Colors */
6
6
  --sgds-bg-default: var(--sgds-gray-000);
7
- --sgds-bg-alternate: var(--sgds-gray-100);
7
+ --sgds-bg-alternate: var(--sgds-gray-50);
8
8
  --sgds-bg-fixed-light: var(--sgds-gray-000);
9
9
  --sgds-bg-fixed-dark: var(--sgds-gray-1100);
10
10
  --sgds-bg-overlay: oklch(from var(--sgds-gray-1100) l c h / 0.5);
@@ -19,7 +19,6 @@
19
19
  --sgds-surface-inverse: var(--sgds-gray-900);
20
20
  --sgds-surface-fixed-light: var(--sgds-gray-000);
21
21
  --sgds-surface-fixed-dark: var(--sgds-gray-900);
22
-
23
22
  --sgds-color-default: var(--sgds-gray-1000);
24
23
  --sgds-color-subtle: var(--sgds-gray-700);
25
24
  --sgds-color-muted: var(--sgds-gray-300);
@@ -27,7 +26,6 @@
27
26
  --sgds-color-fixed-light: var(--sgds-gray-100);
28
27
  --sgds-color-fixed-dark: var(--sgds-gray-1000);
29
28
  --sgds-color-transparent: transparent;
30
-
31
29
  --sgds-border-color-default: var(--sgds-gray-500);
32
30
  --sgds-border-color-emphasis: var(--sgds-gray-800);
33
31
  --sgds-border-color-muted: var(--sgds-gray-200);
package/themes/night.css CHANGED
@@ -91,7 +91,7 @@
91
91
  --sgds-danger-color-fixed-dark: var(--sgds-red-600);
92
92
  --sgds-danger-border-color-default: var(--sgds-red-400);
93
93
  --sgds-danger-border-color-emphasis: var(--sgds-red-200);
94
- --sgds-danger-border-color-subtle: var(--sgds-red-700);
94
+ --sgds-danger-border-color-muted: var(--sgds-red-700);
95
95
 
96
96
  /* Semantic - Warning Colors */
97
97
  --sgds-warning-bg-default: var(--sgds-yellow-300);
@@ -105,7 +105,7 @@
105
105
  --sgds-warning-color-fixed-dark: var(--sgds-yellow-600);
106
106
  --sgds-warning-border-color-default: var(--sgds-yellow-400);
107
107
  --sgds-warning-border-color-emphasis: var(--sgds-yellow-200);
108
- --sgds-warning-border-color-subtle: var(--sgds-yellow-700);
108
+ --sgds-warning-border-color-muted: var(--sgds-yellow-700);
109
109
 
110
110
  /* Semantic - Purple Colors */
111
111
  --sgds-purple-bg-default: var(--sgds-purple-600);
@@ -1,112 +0,0 @@
1
- import { PropertyValueMap } from "lit";
2
- import SgdsElement from "./sgds-element";
3
- /**
4
- * @summary Base class for sidebar navigation components.
5
- * Provides core functionality for sidebar items and groups including keyboard navigation,
6
- * selection state management, and nesting support. This class manages hierarchical navigation,
7
- * active state tracking, and drawer overlay coordination through context providers.
8
- *
9
- * Features:
10
- * - Multi-level keyboard navigation (Arrow keys, Enter)
11
- * - Active state management via Lit context subscription
12
- * - Support for nested hierarchies up to 3 levels deep
13
- * - Focus management and full ARIA attribute support
14
- * - Event emission for sidebar coordination (i-sgds-click)
15
- * - Automatic child element tracking and nesting level detection
16
- *
17
- * Keyboard Navigation:
18
- * - Arrow Up/Down: Navigate between siblings in the same level
19
- * - Arrow Left/Right: Navigate hierarchically (collapse/expand or move in drawer)
20
- * - Enter: Activate focused item or toggle group
21
- *
22
- * Context Management:
23
- * - Consumes: SidebarCollapsed, SidebarActiveItem, SidebarActiveGroup, SidebarDrawerItems
24
- * - Updates state based on context changes for responsive UI updates
25
- *
26
- * @internal
27
- */
28
- export declare class SidebarElement extends SgdsElement {
29
- static styles: import("lit").CSSResult[];
30
- /**
31
- * The display title/label for the sidebar element.
32
- * Shown in the UI and used for accessibility labels (aria-label).
33
- * @attribute title
34
- * @type {string}
35
- * @default ""
36
- */
37
- title: string;
38
- /**
39
- * The unique name identifier for the sidebar element.
40
- * Used to identify selections in sgds-select events and manage active states.
41
- * Should be unique among siblings in the same navigation level.
42
- * @attribute name
43
- * @type {string}
44
- * @default ""
45
- */
46
- name: string;
47
- /** @internal */
48
- _sidebarCollapsed: boolean;
49
- /** @internal */
50
- _sidebarActiveItem: SidebarElement | null;
51
- /** @internal */
52
- _sidebarActiveGroup: SidebarElement | null;
53
- /** @internal */
54
- _drawerItems: SidebarElement[] | null;
55
- /** @internal Tracks whether a drawer overlay is currently open */
56
- _showDrawer: boolean;
57
- /** @internal */
58
- _childLevel: number;
59
- /**
60
- * Indicates whether this element is currently selected/active.
61
- * @internal
62
- */
63
- _selected: boolean;
64
- /**
65
- * Indicates whether this element should be hidden based on nesting context.
66
- * @internal
67
- */
68
- _hidden: boolean;
69
- /**
70
- * List of child elements assigned to this component.
71
- * @internal
72
- */
73
- _childElements: SidebarElement[];
74
- /** @internal */
75
- _childActive: boolean;
76
- /** @internal */
77
- private _defaultNodes;
78
- connectedCallback(): void;
79
- disconnectedCallback(): void;
80
- firstUpdated(changedProperties: PropertyValueMap<this>): void;
81
- updated(): void;
82
- /**
83
- * Handles slot change events and updates child elements list.
84
- * @internal
85
- * @returns {void}
86
- */
87
- _handleSlotChange(): void;
88
- /**
89
- * Handles click/activation events on the sidebar element.
90
- * Emits internal click event for parent sidebar to handle selection.
91
- * @internal
92
- * @param {SidebarElement} [element] - Optional element parameter (for keyboard compatibility)
93
- * @returns {void}
94
- */
95
- _handleClick(): void;
96
- /**
97
- * Handles keyboard navigation events for sidebar elements.
98
- * Supports Arrow Up/Down for navigation and Arrow Left/Right for drawer management.
99
- * @internal
100
- * @param {KeyboardEvent} event - The keyboard event object
101
- * @returns {void}
102
- */
103
- private _handleKeyDown;
104
- /**
105
- * Calculates the nesting level by counting parent sgds-sidebar-group ancestors.
106
- * Level 0 = top-level element, Level 1+ = nested within another group.
107
- * Updates the _childLevel state property.
108
- * @internal
109
- * @returns {void}
110
- */
111
- private getChildLevel;
112
- }