@govtechsg/sgds-web-component 3.1.2 → 3.2.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 (143) hide show
  1. package/base/button.js +1 -1
  2. package/base/card.js +1 -1
  3. package/components/Button/index.umd.js +1 -1
  4. package/components/Card/index.umd.js +53 -12
  5. package/components/Card/index.umd.js.map +1 -1
  6. package/components/Card/sgds-card.js +5 -3
  7. package/components/Card/sgds-card.js.map +1 -1
  8. package/components/Datepicker/index.umd.js +1 -1
  9. package/components/FileUpload/index.umd.js +1 -1
  10. package/components/IconButton/index.umd.js +1 -1
  11. package/components/Mainnav/index.umd.js +5 -5
  12. package/components/Mainnav/index.umd.js.map +1 -1
  13. package/components/Mainnav/sgds-mainnav-item.d.ts +1 -1
  14. package/components/Mainnav/sgds-mainnav-item.js +2 -2
  15. package/components/Mainnav/sgds-mainnav-item.js.map +1 -1
  16. package/components/Modal/index.umd.js +1 -1
  17. package/components/Modal/index.umd.js.map +1 -1
  18. package/components/Pagination/index.umd.js +1 -1
  19. package/components/QuantityToggle/index.umd.js +1 -1
  20. package/components/Subnav/index.umd.js +69 -97
  21. package/components/Subnav/index.umd.js.map +1 -1
  22. package/components/Subnav/sgds-subnav-item.d.ts +1 -1
  23. package/components/Subnav/sgds-subnav-item.js +2 -2
  24. package/components/Subnav/sgds-subnav-item.js.map +1 -1
  25. package/components/Subnav/sgds-subnav.d.ts +4 -3
  26. package/components/Subnav/sgds-subnav.js +66 -95
  27. package/components/Subnav/sgds-subnav.js.map +1 -1
  28. package/components/Subnav/subnav-item.js +1 -1
  29. package/components/Subnav/subnav.js +1 -1
  30. package/components/Table/index.d.ts +7 -1
  31. package/components/Table/index.js +6 -0
  32. package/components/Table/index.js.map +1 -1
  33. package/components/Table/index.umd.js +182 -16
  34. package/components/Table/index.umd.js.map +1 -1
  35. package/components/Table/sgds-table-cell.d.ts +13 -0
  36. package/components/Table/sgds-table-cell.js +22 -0
  37. package/components/Table/sgds-table-cell.js.map +1 -0
  38. package/components/Table/sgds-table-head.d.ts +18 -0
  39. package/components/Table/sgds-table-head.js +43 -0
  40. package/components/Table/sgds-table-head.js.map +1 -0
  41. package/components/Table/sgds-table-row.d.ts +13 -0
  42. package/components/Table/sgds-table-row.js +22 -0
  43. package/components/Table/sgds-table-row.js.map +1 -0
  44. package/components/Table/sgds-table.d.ts +5 -2
  45. package/components/Table/sgds-table.js +18 -13
  46. package/components/Table/sgds-table.js.map +1 -1
  47. package/components/Table/table-cell.js +6 -0
  48. package/components/Table/table-cell.js.map +1 -0
  49. package/components/Table/table-head.js +6 -0
  50. package/components/Table/table-head.js.map +1 -0
  51. package/components/Table/table-row.js +6 -0
  52. package/components/Table/table-row.js.map +1 -0
  53. package/components/Table/table.js +1 -1
  54. package/components/Toast/index.umd.js +1 -1
  55. package/components/Toast/toast.js +1 -1
  56. package/components/index.umd.js +95 -119
  57. package/components/index.umd.js.map +1 -1
  58. package/index.umd.js +297 -246
  59. package/index.umd.js.map +1 -1
  60. package/package.json +1 -1
  61. package/react/base/button.cjs.js +1 -1
  62. package/react/base/button.js +1 -1
  63. package/react/base/card.cjs.js +1 -1
  64. package/react/base/card.js +1 -1
  65. package/react/components/Card/sgds-card.cjs.js +5 -3
  66. package/react/components/Card/sgds-card.cjs.js.map +1 -1
  67. package/react/components/Card/sgds-card.js +5 -3
  68. package/react/components/Card/sgds-card.js.map +1 -1
  69. package/react/components/Mainnav/sgds-mainnav-item.cjs.js +2 -2
  70. package/react/components/Mainnav/sgds-mainnav-item.cjs.js.map +1 -1
  71. package/react/components/Mainnav/sgds-mainnav-item.js +2 -2
  72. package/react/components/Mainnav/sgds-mainnav-item.js.map +1 -1
  73. package/react/components/Subnav/sgds-subnav-item.cjs.js +2 -2
  74. package/react/components/Subnav/sgds-subnav-item.cjs.js.map +1 -1
  75. package/react/components/Subnav/sgds-subnav-item.js +2 -2
  76. package/react/components/Subnav/sgds-subnav-item.js.map +1 -1
  77. package/react/components/Subnav/sgds-subnav.cjs.js +64 -93
  78. package/react/components/Subnav/sgds-subnav.cjs.js.map +1 -1
  79. package/react/components/Subnav/sgds-subnav.js +66 -95
  80. package/react/components/Subnav/sgds-subnav.js.map +1 -1
  81. package/react/components/Subnav/subnav-item.cjs.js +1 -1
  82. package/react/components/Subnav/subnav-item.js +1 -1
  83. package/react/components/Subnav/subnav.cjs.js +1 -1
  84. package/react/components/Subnav/subnav.js +1 -1
  85. package/react/components/Table/sgds-table-cell.cjs.js +28 -0
  86. package/react/components/Table/sgds-table-cell.cjs.js.map +1 -0
  87. package/react/components/Table/sgds-table-cell.js +23 -0
  88. package/react/components/Table/sgds-table-cell.js.map +1 -0
  89. package/react/components/Table/sgds-table-head.cjs.js +49 -0
  90. package/react/components/Table/sgds-table-head.cjs.js.map +1 -0
  91. package/react/components/Table/sgds-table-head.js +44 -0
  92. package/react/components/Table/sgds-table-head.js.map +1 -0
  93. package/react/components/Table/sgds-table-row.cjs.js +28 -0
  94. package/react/components/Table/sgds-table-row.cjs.js.map +1 -0
  95. package/react/components/Table/sgds-table-row.js +23 -0
  96. package/react/components/Table/sgds-table-row.js.map +1 -0
  97. package/react/components/Table/sgds-table.cjs.js +17 -12
  98. package/react/components/Table/sgds-table.cjs.js.map +1 -1
  99. package/react/components/Table/sgds-table.js +18 -13
  100. package/react/components/Table/sgds-table.js.map +1 -1
  101. package/react/components/Table/table-cell.cjs.js +11 -0
  102. package/react/components/Table/table-cell.cjs.js.map +1 -0
  103. package/react/components/Table/table-cell.js +7 -0
  104. package/react/components/Table/table-cell.js.map +1 -0
  105. package/react/components/Table/table-head.cjs.js +11 -0
  106. package/react/components/Table/table-head.cjs.js.map +1 -0
  107. package/react/components/Table/table-head.js +7 -0
  108. package/react/components/Table/table-head.js.map +1 -0
  109. package/react/components/Table/table-row.cjs.js +11 -0
  110. package/react/components/Table/table-row.cjs.js.map +1 -0
  111. package/react/components/Table/table-row.js +7 -0
  112. package/react/components/Table/table-row.js.map +1 -0
  113. package/react/components/Table/table.cjs.js +1 -1
  114. package/react/components/Table/table.js +1 -1
  115. package/react/components/Toast/toast.cjs.js +1 -1
  116. package/react/components/Toast/toast.js +1 -1
  117. package/react/index.cjs.js +26 -20
  118. package/react/index.cjs.js.map +1 -1
  119. package/react/index.d.ts +4 -1
  120. package/react/index.js +4 -1
  121. package/react/index.js.map +1 -1
  122. package/react/table-cell/index.cjs.js +40 -0
  123. package/react/table-cell/index.cjs.js.map +1 -0
  124. package/react/table-cell/index.d.ts +2 -0
  125. package/react/table-cell/index.js +16 -0
  126. package/react/table-cell/index.js.map +1 -0
  127. package/react/table-head/index.cjs.js +40 -0
  128. package/react/table-head/index.cjs.js.map +1 -0
  129. package/react/table-head/index.d.ts +2 -0
  130. package/react/table-head/index.js +16 -0
  131. package/react/table-head/index.js.map +1 -0
  132. package/react/table-row/index.cjs.js +40 -0
  133. package/react/table-row/index.cjs.js.map +1 -0
  134. package/react/table-row/index.d.ts +2 -0
  135. package/react/table-row/index.js +16 -0
  136. package/react/table-row/index.js.map +1 -0
  137. package/react/utils/breakpoints.cjs.js +2 -2
  138. package/react/utils/breakpoints.cjs.js.map +1 -1
  139. package/react/utils/breakpoints.js +2 -2
  140. package/react/utils/breakpoints.js.map +1 -1
  141. package/utils/breakpoints.d.ts +3 -3
  142. package/utils/breakpoints.js +2 -2
  143. package/utils/breakpoints.js.map +1 -1
@@ -4446,7 +4446,7 @@
4446
4446
 
4447
4447
  var css_248z$1b = css`:host([variant=border]) .accordion{border:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);border-radius:var(--sgds-border-radius-md)}`;
4448
4448
 
4449
- const VALID_KEYS = ["Enter", "ArrowUp", "ArrowLeft", "ArrowDown", "ArrowRight"];
4449
+ const VALID_KEYS$1 = ["Enter", "ArrowUp", "ArrowLeft", "ArrowDown", "ArrowRight"];
4450
4450
  /**
4451
4451
  * @summary A dropdown mechanism that allow users to either show or hide related content. `SgdsAccordion` is a wrapper to manage the behaviour for multiple `SgdsAccordionItems`
4452
4452
  * @slot default - slot for accordion-item
@@ -4504,7 +4504,7 @@
4504
4504
  });
4505
4505
  }
4506
4506
  async _onKeyboardToggle(event) {
4507
- if (!VALID_KEYS.includes(event.key))
4507
+ if (!VALID_KEYS$1.includes(event.key))
4508
4508
  return;
4509
4509
  return this._onToggle(event);
4510
4510
  }
@@ -12179,7 +12179,7 @@
12179
12179
  property({ type: Boolean, reflect: true })
12180
12180
  ], SgdsBreadcrumbItem.prototype, "active", void 0);
12181
12181
 
12182
- var css_248z$Y = css`:host{--btn-font-weight:var(--sgds-font-weight-regular);--btn-bg:var(--sgds-primary-surface-default);--btn-hover-bg:var(--sgds-primary-surface-emphasis);--btn-border-radius:var(--sgds-border-radius-md)}:host([variant=primary]){--btn-bg:var(--sgds-primary-surface-default);--btn-color:var(--sgds-color-fixed-light)}:host([variant=outline]){--btn-bg:var(--sgds-bg-transparent);--btn-hover-bg:var(--sgds-primary-surface-translucent);--btn-color:var(--sgds-primary-color-default);--btn-border-width:var(--sgds-border-width-1);--btn-border-color:var(--sgds-primary-border-color-default)}:host([variant=ghost]){--btn-bg:var(--sgds-bg-transparent);--btn-hover-bg:var(--sgds-primary-surface-translucent);--btn-color:var(--sgds-primary-color-default)}:host([variant=danger]){--btn-bg:var(--sgds-danger-surface-default);--btn-hover-bg:var(--sgds-danger-surface-emphasis);--btn-color:var(--sgds-color-fixed-light)}:host([variant=ghost]) .btn,:host([variant=outline]) .btn,:host([variant=primary]) .btn{color:var(--btn-color)}:host([variant=outline]) .btn{border:var(--btn-border-width) solid var(--btn-border-color)}:host([size=lg]) .btn{font-size:var(--sgds-font-size-3);height:var(--sgds-dimension-56);min-width:var(--sgds-dimension-112);padding:0 var(--sgds-padding-xl)}:host([size=sm]) .btn{font-size:var(--sgds-font-size-1);height:var(--sgds-dimension-40);line-height:var(--sgds-line-height-min);min-width:var(--sgds-dimension-80);padding:0 var(--sgds-padding-md)}.btn{align-items:center;background-color:var(--btn-bg);border:1px solid var(--sgds-border-color-transparent);border-radius:var(--btn-border-radius);color:var(--sgds-color-fixed-light);cursor:pointer;display:inline-flex;font-size:var(--sgds-font-size-2);font-weight:var(--btn-font-weight);gap:var(--sgds-gap-2-xs);height:var(--sgds-dimension-48);justify-content:center;line-height:var(--sgds-line-height-body);min-width:var(--sgds-dimension-96);padding:0 var(--sgds-padding-lg);text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;user-select:none;vertical-align:middle}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn.active,.btn:hover{background-color:var(--btn-hover-bg)}.btn:focus,.btn:focus-visible{background-color:var(--btn-hover-bg);border-color:transparent;box-shadow:var(--sgds-box-shadow-focus);outline:0}.btn.disabled,.btn:disabled{color:var(--btn-color);cursor:not-allowed;opacity:var(--sgds-opacity-50)}.btn slot::slotted(*){color:var(--btn-color)}`;
12182
+ var css_248z$Y = css`:host{--btn-font-weight:var(--sgds-font-weight-regular);--btn-bg:var(--sgds-primary-surface-default);--btn-hover-bg:var(--sgds-primary-surface-emphasis);--btn-border-radius:var(--sgds-border-radius-md)}:host([variant=primary]){--btn-bg:var(--sgds-primary-surface-default);--btn-color:var(--sgds-color-fixed-light)}:host([variant=outline]){--btn-bg:var(--sgds-bg-transparent);--btn-hover-bg:var(--sgds-primary-surface-translucent);--btn-color:var(--sgds-primary-color-default);--btn-border-width:var(--sgds-border-width-1);--btn-border-color:var(--sgds-primary-border-color-default)}:host([variant=ghost]){--btn-bg:var(--sgds-bg-transparent);--btn-hover-bg:var(--sgds-primary-surface-translucent);--btn-color:var(--sgds-primary-color-default)}:host([variant=danger]){--btn-bg:var(--sgds-danger-surface-default);--btn-hover-bg:var(--sgds-danger-surface-emphasis);--btn-color:var(--sgds-color-fixed-light)}:host([variant=ghost]) .btn,:host([variant=outline]) .btn,:host([variant=primary]) .btn{color:var(--btn-color)}:host([variant=outline]) .btn{border:var(--btn-border-width) solid var(--btn-border-color)}:host([size=lg]) .btn{font-size:var(--sgds-font-size-3);height:var(--sgds-dimension-56);min-width:var(--sgds-dimension-112);padding:0 var(--sgds-padding-xl)}:host([size=sm]) .btn{font-size:var(--sgds-font-size-1);height:var(--sgds-dimension-40);line-height:var(--sgds-line-height-min);min-width:var(--sgds-dimension-80);padding:0 var(--sgds-padding-md)}.btn{align-items:center;background-color:var(--btn-bg);border:1px solid var(--sgds-border-color-transparent);border-radius:var(--btn-border-radius);color:var(--sgds-color-fixed-light);cursor:pointer;display:inline-flex;font-size:var(--sgds-font-size-2);font-weight:var(--btn-font-weight);gap:var(--sgds-gap-2-xs);height:var(--sgds-dimension-48);justify-content:center;line-height:var(--sgds-line-height-body);min-width:var(--sgds-dimension-96);padding:0 var(--sgds-padding-lg);text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;user-select:none;vertical-align:middle;white-space:nowrap;width:inherit}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn.active,.btn:hover{background-color:var(--btn-hover-bg)}.btn:focus,.btn:focus-visible{background-color:var(--btn-hover-bg);border-color:transparent;box-shadow:var(--sgds-box-shadow-focus);outline:0}.btn.disabled,.btn:disabled{color:var(--btn-color);cursor:not-allowed;opacity:var(--sgds-opacity-50)}.btn slot::slotted(*){color:var(--btn-color)}`;
12183
12183
 
12184
12184
  class ButtonElement extends SgdsElement {
12185
12185
  constructor() {
@@ -12437,7 +12437,7 @@
12437
12437
  property({ type: Boolean, reflect: true })
12438
12438
  ], SgdsButton.prototype, "fullWidth", void 0);
12439
12439
 
12440
- var css_248z$W = css`:host([orientation=horizontal]) .card{flex-direction:row}:host(:not([hideBorder])) .card{border:var(--sgds-border-width-1) solid var(--sgds-border-color-muted)}:host([tinted]) .card{background-color:var(--sgds-bg-translucent-subtle);border:none}:host([orientation=horizontal]) .card-image{width:40%}:host([imagePosition=after]) .card-image{order:1}:host([orientation=vertical][imagePosition=after]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-left-radius:var(--sgds-border-radius-none);border-top-right-radius:var(--sgds-border-radius-none)}:host([orientation=horizontal][imagePosition=after]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-bottom-left-radius:var(--sgds-border-radius-none);border-top-left-radius:var(--sgds-border-radius-none)}:host([orientation=vertical][imageAdjustment="padding around"]) .card-image{padding:var(--sgds-padding-xl) var(--sgds-padding-xl) 0}:host([orientation=vertical][imageAdjustment="padding around"]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1))}:host([orientation=vertical]:not([imageAdjustment="aspect ratio"])) slot[name=image]::slotted(img){height:auto}:host([orientation=vertical][imageAdjustment="aspect ratio"]) slot[name=image]::slotted(img){object-fit:cover}.card{word-wrap:break-word;background-clip:border-box;background-color:var(--sgds-surface-default);border-radius:var(--sgds-border-radius-md);box-shadow:none;display:flex;flex-direction:column;height:auto;min-width:0;position:relative;transition:box-shadow .3s ease}a.card{color:initial;text-decoration:none}@media (prefers-reduced-motion:reduce){.card{transition:none}}.card.disabled{cursor:not-allowed;opacity:var(--sgds-opacity-50)}.card:not(.disabled):hover{box-shadow:0 0 1px 0 hsla(0,0%,5%,.12),0 8px 16px 0 hsla(0,0%,5%,.12)}a.card:focus{outline:0}a.card:not(.disabled):focus-visible{box-shadow:var(--sgds-box-shadow-focus)}.card-image{flex:1}.card-body{display:flex;flex:1;flex-direction:column;gap:var(--sgds-gap-lg);padding:var(--sgds-padding-xl)}.card-body,.card-title{color:var(--sgds-body-color-default)}.card-title{--sgds-font-size-5:var(--sgds-font-size-4);--sgds-font-size-6:var(--sgds-font-size-4);--sgds-margin-2-xs:var(--sgds-margin-none);--sgds-font-weight-bold:var(--sgds-font-weight-semibold);font-size:var(--sgds-font-size-4);font-weight:var(--sgds-font-weight-semibold)}.card-subtitle,.card-text,.card-title{margin-bottom:var(--sgds-margin-none)}slot[name=title]::slotted(a){--sgds-font-size-2:var(--sgds-font-size-4);--sgds-font-weight-regular:var(--sgds-font-weight-semibold);color:var(--sgds-link-color-default);font-size:var(--sgds-font-size-4);font-weight:var(--sgds-font-weight-semibold);text-decoration:none!important}slot[name=description]::slotted(*){color:var(--sgds-color-subtle)}slot[name=image]::slotted(img){border-top-left-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-right-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));display:block;width:100%}:host([orientation=horizontal]) slot[name=image]::slotted(img){border-bottom-left-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-right-radius:var(--sgds-border-radius-none);height:100%;object-fit:cover}slot[name=link]::slotted(*){font-weight:700;margin-top:var(--sgds-padding-sm)}slot[name=link]::slotted(a){color:var(--sgds-link-color-default);display:inline-flex;gap:var(--sgds-gap-2-xs);text-decoration:none!important}slot[name=link]::slotted(a:focus),slot[name=link]::slotted(a:hover),slot[name=title]::slotted(a:focus),slot[name=title]::slotted(a:hover){color:var(--sgds-link-color-emphasis)}slot[name=link]::slotted(a:focus),slot[name=title]::slotted(a:focus){outline:0}slot[name=link]::slotted(a:focus-visible),slot[name=title]::slotted(a:focus-visible){box-shadow:var(--sgds-box-shadow-focus)}`;
12440
+ var css_248z$W = css`:host([orientation=horizontal]) .card{flex-direction:row}:host([orientation=horizontal]) .card-body{flex:1}:host(:not([hideBorder])) .card{border:var(--sgds-border-width-1) solid var(--sgds-border-color-muted)}:host([tinted]) .card{background-color:var(--sgds-bg-translucent-subtle);border:none}:host([orientation=horizontal]) .card-image{width:40%}:host([imagePosition=after]) .card-image{order:1}:host([orientation=vertical][imagePosition=after]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-left-radius:var(--sgds-border-radius-none);border-top-right-radius:var(--sgds-border-radius-none)}:host([orientation=horizontal][imagePosition=after]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-bottom-left-radius:var(--sgds-border-radius-none);border-top-left-radius:var(--sgds-border-radius-none)}:host([orientation=vertical][imageAdjustment="padding around"]) .card-image{padding:var(--sgds-padding-xl) var(--sgds-padding-xl) 0}:host([orientation=vertical][imageAdjustment="padding around"]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1))}:host([orientation=vertical]:not([imageAdjustment="aspect ratio"])) slot[name=image]::slotted(img){height:auto}:host([orientation=vertical][imageAdjustment="aspect ratio"]) slot[name=image]::slotted(img){object-fit:cover}.card{word-wrap:break-word;background-clip:border-box;background-color:var(--sgds-surface-default);border-radius:var(--sgds-border-radius-md);box-shadow:none;display:flex;flex-direction:column;height:100%;min-width:0;position:relative;transition:box-shadow .3s ease}a.card{color:initial;text-decoration:none}@media (prefers-reduced-motion:reduce){.card{transition:none}}.card.disabled{cursor:not-allowed;opacity:var(--sgds-opacity-50)}.card:not(.disabled):hover{box-shadow:0 0 1px 0 hsla(0,0%,5%,.12),0 8px 16px 0 hsla(0,0%,5%,.12)}a.card:focus{outline:0}a.card:not(.disabled):focus-visible{box-shadow:var(--sgds-box-shadow-focus)}.card-image{flex:1}.card-body{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--sgds-gap-lg);padding:var(--sgds-padding-xl)}.card-body,.card-title{color:var(--sgds-body-color-default)}.card-title{--sgds-font-size-5:var(--sgds-font-size-4);--sgds-font-size-6:var(--sgds-font-size-4);--sgds-margin-2-xs:var(--sgds-margin-none);--sgds-font-weight-bold:var(--sgds-font-weight-semibold);font-size:var(--sgds-font-size-4);font-weight:var(--sgds-font-weight-semibold)}.card-subtitle,.card-text,.card-title{margin-bottom:var(--sgds-margin-none)}slot[name=title]::slotted(a){--sgds-font-size-2:var(--sgds-font-size-4);--sgds-font-weight-regular:var(--sgds-font-weight-semibold);color:var(--sgds-link-color-default);font-size:var(--sgds-font-size-4);font-weight:var(--sgds-font-weight-semibold);text-decoration:none!important}slot[name=description]::slotted(*){color:var(--sgds-color-subtle)}slot[name=image]::slotted(img){border-top-left-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-right-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));display:block;width:100%}:host([orientation=horizontal]) slot[name=image]::slotted(img){border-bottom-left-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-right-radius:var(--sgds-border-radius-none);height:100%;object-fit:cover}slot[name=link]::slotted(*){font-weight:700;margin-top:auto;padding-top:var(--sgds-padding-sm)}slot[name=link]::slotted(a){color:var(--sgds-link-color-default);display:inline-flex;gap:var(--sgds-gap-2-xs);height:auto!important;text-decoration:none!important}slot[name=link]::slotted(a:focus),slot[name=link]::slotted(a:hover),slot[name=title]::slotted(a:focus),slot[name=title]::slotted(a:hover){color:var(--sgds-link-color-emphasis)}slot[name=link]::slotted(a:focus),slot[name=title]::slotted(a:focus){outline:0}slot[name=link]::slotted(a:focus-visible),slot[name=title]::slotted(a:focus-visible){box-shadow:var(--sgds-box-shadow-focus)}`;
12441
12441
 
12442
12442
  var css_248z$V = css`.text-primary{color:var(--sgds-primary-rgb)!important}.text-secondary{color:var(--sgds-secondary-rgb)!important}.text-success{color:var(--sgds-success-rgb)!important}.text-info{color:var(--sgds-info-rgb)!important}.text-warning{color:var(--sgds-warning-rgb)!important}.text-danger{color:var(--sgds-danger-rgb)!important}.text-light{color:var(--sgds-light-rgb)!important}.text-dark{color:var(--sgds-dark-rgb)!important}.text-muted{color:var(--sgds-secondary-color)!important}`;
12443
12443
 
@@ -12519,13 +12519,14 @@
12519
12519
  if (childNodes.length > 1) {
12520
12520
  return console.error("Multiple elements passed into SgdsCard's link slot");
12521
12521
  }
12522
- if (this.stretchedLink && childNodes[0] instanceof HTMLAnchorElement) {
12523
- const hyperlink = childNodes[0].querySelector("a") || childNodes[0];
12522
+ if (!this.stretchedLink)
12523
+ return;
12524
+ if (childNodes[0] instanceof HTMLAnchorElement || childNodes[0] instanceof SgdsLink) {
12525
+ const hyperlink = (childNodes[0].querySelector("a") || childNodes[0]);
12524
12526
  this.card.setAttribute("href", hyperlink.href);
12525
12527
  const linkSlot = this.shadowRoot.querySelector("slot[name='link']");
12526
12528
  linkSlot.style.display = "none";
12527
12529
  }
12528
- return;
12529
12530
  }
12530
12531
  handleImgSlotChange(e) {
12531
12532
  const childNodes = e.target.assignedNodes({ flatten: true });
@@ -26312,9 +26313,9 @@
26312
26313
  });
26313
26314
  }
26314
26315
 
26315
- const SM_BREAKPOINT = 512;
26316
- const MD_BREAKPOINT = 768;
26317
26316
  const LG_BREAKPOINT = 1024;
26317
+ const MD_BREAKPOINT = 768;
26318
+ const SM_BREAKPOINT = 512;
26318
26319
  const XL_BREAKPOINT = 1280;
26319
26320
  const XXL_BREAKPOINT = 1440;
26320
26321
 
@@ -26884,7 +26885,7 @@
26884
26885
  class SgdsMainnavItem extends SgdsElement {
26885
26886
  constructor() {
26886
26887
  super(...arguments);
26887
- /** when true, sets the active stylings of .nav-link */
26888
+ /** when true, sets the active stylings of the navigation item */
26888
26889
  this.active = false;
26889
26890
  /** Disables the SgdsMainnavItem */
26890
26891
  this.disabled = false;
@@ -26927,7 +26928,7 @@
26927
26928
  }
26928
26929
  SgdsMainnavItem.styles = [...SgdsElement.styles, css_248z$r];
26929
26930
  __decorate([
26930
- property({ type: Boolean })
26931
+ property({ type: Boolean, reflect: true })
26931
26932
  ], SgdsMainnavItem.prototype, "active", void 0);
26932
26933
  __decorate([
26933
26934
  property({ type: Boolean, reflect: true })
@@ -29400,10 +29401,11 @@
29400
29401
  watch("activeStep", { waitUntilFirstUpdate: true })
29401
29402
  ], SgdsStepper.prototype, "_handleActiveStepChange", null);
29402
29403
 
29403
- var css_248z$b = css`:host{display:block;position:sticky;top:0;z-index:1000}nav{background-color:var(--sgds-surface-default);border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted)}nav.mobile{border-bottom:none;position:absolute;width:100%}.subnav{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--sgds-gap-xl);row-gap:var(--sgds-gap-none)}.subnav.mobile{flex-wrap:nowrap;gap:var(--sgds-gap-md);padding:var(--sgds-padding-md) var(--sgds-padding-lg)}slot[name=header]::slotted(*){--sgds-margin-3-xs:var(--sgds-margin-none);flex:1 1 auto;margin-bottom:var(--sgds-margin-3-xs,--sgds-margin-none);padding-top:var(--sgds-padding-lg)}.subnav.mobile slot[name=header]::slotted(*){padding-top:var(--sgds-padding-none)}.subnav-nav-group{flex:1 1 0;gap:var(--sgds-gap-xl);justify-content:space-between}.subnav-nav,.subnav-nav-group{align-items:center;display:flex}.subnav-nav{gap:var(--sgds-gap-lg)}.subnav-nav-mobile{display:flex;flex-direction:column;overflow-y:auto;transition:transform .2s ease-in-out}.subnav-actions{align-items:center;display:flex;gap:var(--sgds-gap-md)}.subnav-toggler{cursor:pointer;transition:transform .2s ease-in-out}.subnav:not(.collapsed) .subnav-toggler{transform:rotate(-180deg)}.subnav-dropdown{background-color:var(--sgds-surface-default);border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);width:100%}.subnav-actions-mobile{bottom:0;display:flex;flex-direction:column;gap:var(--sgds-gap-md);padding:var(--sgds-padding-md) var(--sgds-padding-lg);position:sticky}.hidden{display:none}`;
29404
+ var css_248z$b = css`:host{display:block;position:sticky;top:0;z-index:1000}nav{background-color:var(--sgds-surface-default);border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);width:100%}.subnav{flex-direction:column;flex-wrap:nowrap}.header-container,.subnav{align-items:flex-start;display:flex}.header-container{gap:var(--sgds-gap-md);padding:var(--sgds-padding-md) var(--sgds-padding-lg);width:100%}slot[name=header]::slotted(*){--sgds-margin-3-xs:var(--sgds-margin-none);flex:1 1 auto;margin-bottom:var(--sgds-margin-3-xs,--sgds-margin-none);padding-top:var(--sgds-padding-none)}.subnav-toggler{cursor:pointer;transition:transform .2s ease-in-out}.subnav-toggler:focus,.subnav-toggler:focus-visible{box-shadow:var(--sgds-box-shadow-focus);outline:0}.subnav:not(.collapsed) .subnav-toggler{transform:rotate(-180deg)}.subnav-nav-group{display:flex;flex:1 1 0}.subnav-nav,.subnav-nav-group{align-items:flex-start;flex-direction:column;width:100%}.subnav-nav{display:none;overflow-y:auto;transition:transform .2s ease-in-out}.subnav-nav ::slotted(*){width:100%}.subnav-actions{bottom:0;display:flex;flex-direction:column;gap:var(--sgds-gap-md);padding:var(--sgds-padding-md) var(--sgds-padding-lg);position:sticky;width:100%}slot[name=actions]::slotted(*){width:100%}@media screen and (max-width:1023px){.subnav.sgds-container{max-width:inherit}}@media screen and (min-width:512px){.subnav-actions{flex-direction:row}}@media screen and (min-width:768px){nav{border-bottom:var(--sgds-border-width-0)}.subnav{flex-direction:row}.subnav.collapsed{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted)}.header-container{padding:var(--sgds-padding-lg) var(--sgds-padding-2-xl)}.subnav-nav{background-color:var(--sgds-surface-default);border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);left:0;position:absolute;top:100%}.subnav-actions{align-items:center;flex-direction:row;padding:var(--sgds-padding-sm) var(--sgds-padding-2-xl) var(--sgds-padding-sm) var(--sgds-padding-none);position:inherit}}@media screen and (min-width:1024px){nav{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);position:inherit}.subnav{flex-wrap:wrap;gap:var(--sgds-gap-xl);row-gap:var(--sgds-gap-none)}.subnav.collapsed{border-bottom:var(--sgds-border-width-0)}.header-container{flex:1;padding:var(--sgds-padding-none);width:auto}slot[name=header]::slotted(*){padding-top:var(--sgds-padding-lg);white-space:nowrap}.subnav-nav-group{align-items:center;flex:inherit;flex-direction:row;flex-wrap:wrap;gap:var(--sgds-gap-xl);justify-content:space-between;row-gap:var(--sgds-gap-none);width:auto}.subnav-nav{align-items:center;background-color:inherit;border-bottom:var(--sgds-border-width-0);display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--sgds-gap-lg);overflow-y:inherit;position:inherit;row-gap:0;transition:none;width:auto}.subnav-nav ::slotted(*){width:inherit}.subnav-toggler{display:none}.subnav-actions{padding:var(--sgds-padding-sm) var(--sgds-padding-none);width:auto}slot[name=actions]::slotted(*){width:inherit}}`;
29404
29405
 
29405
29406
  var css_248z$a = css`.sgds-container{margin-left:auto;margin-right:auto;max-width:calc(100% - 40px);width:100%}.sgds-grid{display:grid;gap:var(--sgds-gap-md);grid-template-columns:repeat(4,1fr)}.sgds-col-1{grid-column:span 1}.sgds-col-2{grid-column:span 2}.sgds-col-3{grid-column:span 3}.sgds-col-4{grid-column:span 4}.sgds-col-center-2{grid-column:2/span 2}.sgds-col-none{display:none}@media (min-width:512px){.sgds-grid{grid-template-columns:repeat(8,1fr)}.sgds-container{max-width:calc(100% - 48px)}.sgds-col-sm-1{grid-column:span 1}.sgds-col-sm-2{grid-column:span 2}.sgds-col-sm-3{grid-column:span 3}.sgds-col-sm-4{grid-column:span 4}.sgds-col-sm-5{grid-column:span 5}.sgds-col-sm-6{grid-column:span 6}.sgds-col-sm-7{grid-column:span 7}.sgds-col-sm-8{grid-column:span 8}.sgds-col-sm-center-2{grid-column:4/span 2}.sgds-col-sm-center-4{grid-column:3/span 4}.sgds-col-sm-center-6{grid-column:2/span 6}.sgds-col-none{display:revert}.sgds-col-sm-none{display:none}}@media (min-width:768px){.sgds-container{max-width:calc(100% - 64px)}.sgds-col-md-1{grid-column:span 1}.sgds-col-md-2{grid-column:span 2}.sgds-col-md-3{grid-column:span 3}.sgds-col-md-4{grid-column:span 4}.sgds-col-md-5{grid-column:span 5}.sgds-col-md-6{grid-column:span 6}.sgds-col-md-7{grid-column:span 7}.sgds-col-md-8{grid-column:span 8}.sgds-col-md-center-2{grid-column:4/span 2}.sgds-col-md-center-4{grid-column:3/span 4}.sgds-col-md-center-6{grid-column:2/span 6}.sgds-col-sm-none{display:revert}.sgds-col-md-none{display:none}}@media (min-width:1024px){.sgds-grid{grid-template-columns:repeat(12,1fr)}.sgds-container{max-width:896px}.sgds-col-lg-1{grid-column:span 1}.sgds-col-lg-2{grid-column:span 2}.sgds-col-lg-3{grid-column:span 3}.sgds-col-lg-4{grid-column:span 4}.sgds-col-lg-5{grid-column:span 5}.sgds-col-lg-6{grid-column:span 6}.sgds-col-lg-7{grid-column:span 7}.sgds-col-lg-8{grid-column:span 8}.sgds-col-lg-9{grid-column:span 9}.sgds-col-lg-10{grid-column:span 10}.sgds-col-lg-11{grid-column:span 11}.sgds-col-lg-12{grid-column:span 12}.sgds-col-lg-center-2{grid-column:6/span 2}.sgds-col-lg-center-4{grid-column:5/span 4}.sgds-col-lg-center-6{grid-column:4/span 6}.sgds-col-lg-center-8{grid-column:3/span 8}.sgds-col-lg-center-10{grid-column:2/span 10}.sgds-col-md-none{display:revert}.sgds-col-lg-none{display:none}}@media (min-width:1280px){.sgds-grid{gap:var(--sgds-gap-xl)}.sgds-container{max-width:1176px}.sgds-col-xl-1{grid-column:span 1}.sgds-col-xl-2{grid-column:span 2}.sgds-col-xl-3{grid-column:span 3}.sgds-col-xl-4{grid-column:span 4}.sgds-col-xl-5{grid-column:span 5}.sgds-col-xl-6{grid-column:span 6}.sgds-col-xl-7{grid-column:span 7}.sgds-col-xl-8{grid-column:span 8}.sgds-col-xl-9{grid-column:span 9}.sgds-col-xl-10{grid-column:span 10}.sgds-col-xl-11{grid-column:span 11}.sgds-col-xl-12{grid-column:span 12}.sgds-col-xl-center-2{grid-column:6/span 2}.sgds-col-xl-center-4{grid-column:5/span 4}.sgds-col-xl-center-6{grid-column:4/span 6}.sgds-col-xl-center-8{grid-column:3/span 8}.sgds-col-xl-center-10{grid-column:2/span 10}.sgds-col-lg-none{display:revert}.sgds-col-xl-none{display:none}}@media (min-width:1440px){.sgds-container{max-width:1320px}.sgds-col-2-xl-1{grid-column:span 1}.sgds-col-2-xl-2{grid-column:span 2}.sgds-col-2-xl-3{grid-column:span 3}.sgds-col-2-xl-4{grid-column:span 4}.sgds-col-2-xl-5{grid-column:span 5}.sgds-col-2-xl-6{grid-column:span 6}.sgds-col-2-xl-7{grid-column:span 7}.sgds-col-2-xl-8{grid-column:span 8}.sgds-col-2-xl-9{grid-column:span 9}.sgds-col-2-xl-10{grid-column:span 10}.sgds-col-2-xl-11{grid-column:span 11}.sgds-col-2-xl-12{grid-column:span 12}.sgds-col-2-xl-center-2{grid-column:6/span 2}.sgds-col-2-xl-center-4{grid-column:5/span 4}.sgds-col-2-xl-center-6{grid-column:4/span 6}.sgds-col-2-xl-center-8{grid-column:3/span 8}.sgds-col-2-xl-center-10{grid-column:2/span 10}.sgds-col-xl-none{display:revert}.sgds-col-2-xl-none{display:none}}`;
29406
29407
 
29408
+ const VALID_KEYS = ["Enter", " "];
29407
29409
  /**
29408
29410
  * @summary This component provides secondary navigation within a specific section or page. It typically appears below the main navigation and offers context-specific links or actions to help users explore related content.
29409
29411
  *
@@ -29420,40 +29422,34 @@
29420
29422
  class SgdsSubnav extends SgdsElement {
29421
29423
  constructor() {
29422
29424
  super(...arguments);
29423
- this.isCollapsed = window.innerWidth < LG_BREAKPOINT;
29425
+ this.isCollapsed = false;
29424
29426
  this.isMenuOpen = false;
29425
- this._handleResize = () => {
29427
+ this._handleResize = async () => {
29426
29428
  this.isCollapsed = window.innerWidth < LG_BREAKPOINT;
29429
+ await this.updateComplete;
29427
29430
  if (!this.isCollapsed) {
29428
29431
  this.isMenuOpen = false;
29429
29432
  }
29430
29433
  this._updateMobileLayout();
29431
29434
  };
29432
29435
  this._updateMobileLayout = () => {
29433
- var _a;
29434
- if (!this.nav || !this.subnav || !this.mobileActions || !this.mobileNav)
29436
+ if (!this.nav || !this.headerContainer || !this.mobileActions || !this.mobileNav)
29435
29437
  return;
29436
- const actionsSlot = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name="actions"]');
29437
29438
  if (this.isCollapsed) {
29438
- const subnavHeight = this.nav.clientHeight;
29439
29439
  const { top: subnavTop } = this.nav.getBoundingClientRect();
29440
- const headerHeight = this.subnav.clientHeight;
29440
+ const headerHeight = this.headerContainer.clientHeight;
29441
29441
  const actionsButtonHeight = this.mobileActions.clientHeight;
29442
- const offset = subnavTop + headerHeight + actionsButtonHeight;
29442
+ const offset = window.innerWidth >= MD_BREAKPOINT && window.innerWidth < LG_BREAKPOINT
29443
+ ? subnavTop + headerHeight
29444
+ : subnavTop + headerHeight + actionsButtonHeight;
29443
29445
  this.mobileNav.style.maxHeight = `calc(100dvh - ${offset}px)`;
29444
- this.style.minHeight = `${subnavHeight}px`;
29445
- if (actionsSlot) {
29446
- const buttons = actionsSlot.assignedElements({ flatten: true });
29447
- buttons.forEach(el => el.setAttribute("fullWidth", "true"));
29448
- }
29446
+ this.style.minHeight = `${this.nav.clientHeight}px`;
29447
+ this.nav.style.position = "absolute";
29449
29448
  }
29450
29449
  else {
29451
29450
  this.mobileNav.style.maxHeight = "none";
29452
29451
  this.style.minHeight = "auto";
29453
- if (actionsSlot) {
29454
- const buttons = actionsSlot.assignedElements({ flatten: true });
29455
- buttons.forEach(el => el.removeAttribute("isCollapsed"));
29456
- }
29452
+ this.nav.style.position = "relative";
29457
29453
  }
29458
29454
  };
29459
29455
  this._toggleMenu = () => {
@@ -29470,38 +29466,29 @@
29470
29466
  }
29471
29467
  connectedCallback() {
29472
29468
  super.connectedCallback();
29473
- this._handleResize();
29469
+ // this._handleResize();
29474
29470
  window.addEventListener("resize", this._handleResize);
29475
- window.addEventListener("click", (event) => this._handleClickOutOfElement(event, this.body));
29471
+ window.addEventListener("click", (event) => this._handleClickOutOfElement(event, this.navGroup));
29476
29472
  }
29477
29473
  disconnectedCallback() {
29478
29474
  super.disconnectedCallback();
29479
29475
  window.removeEventListener("resize", this._handleResize);
29480
- window.removeEventListener("click", (event) => this._handleClickOutOfElement(event, this.body));
29476
+ window.removeEventListener("click", (event) => this._handleClickOutOfElement(event, this.navGroup));
29481
29477
  }
29482
29478
  firstUpdated() {
29483
- requestAnimationFrame(() => {
29484
- this._updateMobileLayout();
29485
- });
29486
- }
29487
- _handleSlotChange(e) {
29488
- const childElements = e.target.assignedElements({ flatten: true });
29489
- if (this.isCollapsed) {
29490
- childElements.forEach(element => {
29491
- element.setAttribute("isCollapsed", `${this.isCollapsed}`);
29492
- });
29493
- }
29494
- else {
29495
- childElements.forEach(element => {
29496
- element.removeAttribute("isCollapsed");
29497
- });
29498
- }
29479
+ this._handleResize();
29499
29480
  }
29500
29481
  _handleClickOutOfElement(e, self) {
29501
29482
  if (!e.composedPath().includes(self) && !e.composedPath().includes(this.toggler)) {
29502
29483
  this.hide();
29503
29484
  }
29504
29485
  }
29486
+ async _onKeyboardToggle(event) {
29487
+ if (!VALID_KEYS.includes(event.key))
29488
+ return;
29489
+ event.preventDefault();
29490
+ this._toggleMenu();
29491
+ }
29505
29492
  /** Shows the menu. For when subnav is in the collapsed form */
29506
29493
  async show() {
29507
29494
  if (this.isMenuOpen) {
@@ -29526,10 +29513,11 @@
29526
29513
  return;
29527
29514
  }
29528
29515
  await stopAnimations(this.mobileNav);
29529
- this.mobileNav.classList.remove("hidden");
29516
+ if (this.isCollapsed) {
29517
+ this.mobileNav.style.display = "flex";
29518
+ }
29530
29519
  const { keyframes, options } = getAnimation(this, "subnav.show");
29531
29520
  await animateTo(this.mobileNav, shimKeyframesHeightAuto(keyframes, this.mobileNav.scrollHeight), options);
29532
- // this.mobileNav.style.height = "auto";
29533
29521
  this.emit("sgds-after-show");
29534
29522
  }
29535
29523
  async _animateToHide() {
@@ -29541,8 +29529,9 @@
29541
29529
  await stopAnimations(this.mobileNav);
29542
29530
  const { keyframes, options } = getAnimation(this, "subnav.hide");
29543
29531
  await animateTo(this.mobileNav, shimKeyframesHeightAuto(keyframes, this.mobileNav.scrollHeight), options);
29544
- this.mobileNav.classList.add("hidden");
29545
- // this.mobileNav.style.height = "auto";
29532
+ if (this.isCollapsed) {
29533
+ this.mobileNav.style.display = "none";
29534
+ }
29546
29535
  this.emit("sgds-after-hide");
29547
29536
  }
29548
29537
  async handleOpenChange() {
@@ -29555,61 +29544,41 @@
29555
29544
  this._animateToHide();
29556
29545
  }
29557
29546
  }
29547
+ async handleCollapsedChange() {
29548
+ await this.updateComplete;
29549
+ this.mobileNav.style.display = this.isCollapsed ? "none" : "flex";
29550
+ }
29558
29551
  render() {
29559
- const isHydrated = this.hasUpdated;
29560
29552
  return html$1 `
29561
- <nav
29562
- class=${classMap({
29563
- mobile: this.isCollapsed
29564
- })}
29565
- aria-label="Sub navigation"
29566
- >
29553
+ <nav aria-label="Sub navigation">
29567
29554
  <div
29568
29555
  class=${classMap({
29569
- "sgds-container": !this.isCollapsed,
29556
+ "sgds-container": true,
29570
29557
  subnav: true,
29571
- mobile: this.isCollapsed,
29572
29558
  collapsed: !this.isMenuOpen
29573
29559
  })}
29574
29560
  >
29575
- <slot name="header"></slot>
29576
- ${this.isCollapsed
29577
- ? html$1 `
29578
- <sgds-icon
29579
- class="subnav-toggler"
29580
- name="chevron-down"
29581
- @click=${this._toggleMenu}
29582
- aria-label="Toggle sub navigation"
29583
- ></sgds-icon>
29584
- `
29585
- : html$1 `
29586
- <div class="subnav-nav-group">
29587
- <div class="subnav-nav">
29588
- <slot @slotchange="${this._handleSlotChange}"></slot>
29589
- </div>
29590
- <div class="subnav-actions">
29591
- <slot name="actions"></slot>
29592
- </div>
29593
- </div>
29594
- `}
29561
+ <div class="header-container">
29562
+ <slot name="header"></slot>
29563
+ <sgds-icon
29564
+ class="subnav-toggler"
29565
+ name="chevron-down"
29566
+ tabindex="0"
29567
+ @click=${this._toggleMenu}
29568
+ @keydown=${this._onKeyboardToggle}
29569
+ aria-label="Toggle sub navigation"
29570
+ aria-expanded=${this.isMenuOpen}
29571
+ ></sgds-icon>
29572
+ </div>
29573
+ <div class="subnav-nav-group">
29574
+ <div class="subnav-nav">
29575
+ <slot></slot>
29576
+ </div>
29577
+ <div class="subnav-actions">
29578
+ <slot name="actions"></slot>
29579
+ </div>
29580
+ </div>
29595
29581
  </div>
29596
- ${this.isCollapsed
29597
- ? html$1 `
29598
- <div class="subnav-dropdown">
29599
- <div
29600
- class=${classMap({
29601
- "subnav-nav-mobile": true,
29602
- hidden: !this.isMenuOpen && !isHydrated
29603
- })}
29604
- >
29605
- <slot @slotchange="${this._handleSlotChange}"></slot>
29606
- </div>
29607
- <div class="subnav-actions-mobile">
29608
- <slot name="actions"></slot>
29609
- </div>
29610
- </div>
29611
- `
29612
- : nothing}
29613
29582
  </nav>
29614
29583
  `;
29615
29584
  }
@@ -29623,19 +29592,19 @@
29623
29592
  query("nav")
29624
29593
  ], SgdsSubnav.prototype, "nav", void 0);
29625
29594
  __decorate([
29626
- query(".subnav")
29627
- ], SgdsSubnav.prototype, "subnav", void 0);
29628
- __decorate([
29629
- query(".subnav-nav-mobile")
29595
+ query(".subnav-nav")
29630
29596
  ], SgdsSubnav.prototype, "mobileNav", void 0);
29597
+ __decorate([
29598
+ query(".header-container")
29599
+ ], SgdsSubnav.prototype, "headerContainer", void 0);
29631
29600
  __decorate([
29632
29601
  query(".subnav-toggler")
29633
29602
  ], SgdsSubnav.prototype, "toggler", void 0);
29634
29603
  __decorate([
29635
- query(".subnav-dropdown")
29636
- ], SgdsSubnav.prototype, "body", void 0);
29604
+ query(".subnav-nav-group")
29605
+ ], SgdsSubnav.prototype, "navGroup", void 0);
29637
29606
  __decorate([
29638
- query(".subnav-actions-mobile")
29607
+ query(".subnav-actions")
29639
29608
  ], SgdsSubnav.prototype, "mobileActions", void 0);
29640
29609
  __decorate([
29641
29610
  state()
@@ -29646,6 +29615,9 @@
29646
29615
  __decorate([
29647
29616
  watch("isMenuOpen", { waitUntilFirstUpdate: true })
29648
29617
  ], SgdsSubnav.prototype, "handleOpenChange", null);
29618
+ __decorate([
29619
+ watch("isCollapsed", { waitUntilFirstUpdate: true })
29620
+ ], SgdsSubnav.prototype, "handleCollapsedChange", null);
29649
29621
  setDefaultAnimation("subnav.show", {
29650
29622
  keyframes: [
29651
29623
  { height: "0", opacity: "0" },
@@ -30146,10 +30118,13 @@
30146
30118
  watch("active")
30147
30119
  ], SgdsTabPanel.prototype, "_handleActiveChange", null);
30148
30120
 
30149
- var css_248z$5 = css`tbody,td,th,thead,tr{border:var(--sgds-border-width-0) solid;border-color:inherit}th{text-align:-webkit-match-parent}table{border-collapse:collapse;caption-side:bottom}.table{border-color:var(--sgds-border-color-default);vertical-align:top;width:100%}.table>:not(caption) td,.table>:not(caption) th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);padding:var(--sgds-padding-lg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>thead th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis)}.table-group-divider{border-top:calc(var(--sgds-border-width)*2) solid}.table>:not(:first-child){border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis)}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:575.98px){.table-responsive-sm{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:991.98px){.table-responsive-lg{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1199.98px){.table-responsive-xl{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1399.98px){.table-responsive-xxl{-webkit-overflow-scrolling:touch;overflow-x:auto}}`;
30121
+ var css_248z$5 = css`tbody,td,th,thead,tr{border:var(--sgds-border-width-0) solid;border-color:inherit}th{text-align:-webkit-match-parent}table{border-collapse:collapse;caption-side:bottom}.table{border-color:var(--sgds-border-color-default);display:table;vertical-align:top;width:100%}.table>:not(caption) td,.table>:not(caption) th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);padding:var(--sgds-padding-lg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>thead th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis)}.table-group-divider{border-top:calc(var(--sgds-border-width)*2) solid}.table>:not(:first-child){border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis)}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:575.98px){.table-responsive-sm{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:991.98px){.table-responsive-lg{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1199.98px){.table-responsive-xl{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1399.98px){.table-responsive-xxl{-webkit-overflow-scrolling:touch;overflow-x:auto}}`;
30150
30122
 
30151
30123
  /**
30152
- * @summary The use of a table is to organise a collections of data into readable rows
30124
+ * @summary Table is used for displaying collections of data in organized rows and columns.
30125
+ * It supports two rendering methods: supply an array of data for automatic table generation, or use the slot to insert custom table elements for full structural control.
30126
+ *
30127
+ * @slot - Insert custom table elements (such as rows, headers, or cells) to define the table structure manually.
30153
30128
  */
30154
30129
  class SgdsTable extends SgdsElement {
30155
30130
  constructor() {
@@ -30171,18 +30146,17 @@
30171
30146
  */
30172
30147
  this.headerPosition = "horizontal";
30173
30148
  /** @internal */
30174
- this.originalTableData = [];
30149
+ this.hasSlotController = new HasSlotController(this, "[default]");
30175
30150
  }
30176
30151
  connectedCallback() {
30177
30152
  super.connectedCallback();
30178
- this.originalTableData = [...this.tableData];
30179
30153
  }
30180
30154
  _renderTable() {
30181
30155
  if (this.headerPosition === "horizontal") {
30182
30156
  return html$1 `
30183
30157
  <thead>
30184
30158
  <tr>
30185
- ${this.rowHeader.map((header, index) => html$1 ` <th>${header}</th> `)}
30159
+ ${this.rowHeader.map((header) => html$1 ` <th>${header}</th> `)}
30186
30160
  </tr>
30187
30161
  </thead>
30188
30162
  <tbody>
@@ -30199,7 +30173,7 @@
30199
30173
  <thead>
30200
30174
  <tr>
30201
30175
  <th></th>
30202
- ${this.rowHeader.map((header, index) => html$1 ` <th>${header}</th> `)}
30176
+ ${this.rowHeader.map((header) => html$1 ` <th>${header}</th> `)}
30203
30177
  </tr>
30204
30178
  </thead>
30205
30179
  <tbody>
@@ -30225,6 +30199,7 @@
30225
30199
  }
30226
30200
  }
30227
30201
  render() {
30202
+ const hasDefaultSlot = this.hasSlotController.test("[default]");
30228
30203
  return html$1 `
30229
30204
  <div
30230
30205
  class=${classMap({
@@ -30236,9 +30211,13 @@
30236
30211
  })}
30237
30212
  tabindex="0"
30238
30213
  >
30239
- <table class="table">
30240
- ${this._renderTable()}
30241
- </table>
30214
+ <slot id="table-slot" class="table"></slot>
30215
+
30216
+ ${!hasDefaultSlot
30217
+ ? html$1 `<table class="table">
30218
+ ${this._renderTable()}
30219
+ </table>`
30220
+ : ""}
30242
30221
  </div>
30243
30222
  `;
30244
30223
  }
@@ -30257,11 +30236,8 @@
30257
30236
  property({ type: Array })
30258
30237
  ], SgdsTable.prototype, "tableData", void 0);
30259
30238
  __decorate([
30260
- property({ type: String, reflect: true })
30239
+ property({ type: String })
30261
30240
  ], SgdsTable.prototype, "headerPosition", void 0);
30262
- __decorate([
30263
- state()
30264
- ], SgdsTable.prototype, "originalTableData", void 0);
30265
30241
 
30266
30242
  var css_248z$4 = css`.container{display:flex;flex-direction:column;gap:var(--sgds-gap-xl)}slot:not([name])::slotted(*){--sgds-font-size-5:var(--sgds-font-size-4);--sgds-font-size-6:var(--sgds-font-size-4);--sgds-margin-2-xs:var(--sgds-margin-none);--sgds-font-weight-bold:var(--sgds-font-weight-semibold);font-size:var(--sgds-font-size-4);font-weight:var(--sgds-font-weight-bold,var(--sgds-font-weight-semibold));margin-bottom:var(--sgds-margin-2-xs,var(--sgds-margin-none))}.contents{display:flex;flex-direction:column;gap:var(--sgds-gap-md);list-style:none;margin:var(--sgds-margin-none);padding:var(--sgds-padding-none)}slot[name=contents]::slotted(li){--sgds-margin-3-xs:var(--sgds-margin-none);margin-top:var(--sgds-margin-3-xs,var(--sgds-margin-none))}`;
30267
30243
 
@@ -30551,7 +30527,7 @@
30551
30527
  watch("value", { waitUntilFirstUpdate: true })
30552
30528
  ], SgdsTextarea.prototype, "_handleValueChange", null);
30553
30529
 
30554
- var css_248z$2 = css`:host([variant=info]) slot[name=icon]::slotted(*){color:var(--sgds-primary-color-default)}:host([variant=success]) slot[name=icon]::slotted(*){color:var(--sgds-success-color-default)}:host([variant=danger]) slot[name=icon]::slotted(*){color:var(--sgds-danger-color-default)}:host([variant=warning]) slot[name=icon]::slotted(*){color:var(--sgds-warning-color-fixed-light)}.toast{align-items:flex-start;background-clip:padding-box;background-color:var(--sgds-surface-default);border-radius:var(--sgds-border-radius-md);box-shadow:0 0 2px 0 rgba(0,0,0,.12),0 8px 16px 0 rgba(0,0,0,.14);display:flex;flex-direction:row;gap:var(--sgds-gap-xs);max-width:var(--sgds-dimension-480);min-width:var(--sgds-dimension-320);padding:var(--sgds-padding-md);pointer-events:auto;width:320px}.toast-content{word-wrap:break-word;gap:var(--sgds-gap-sm)}.toast-body,.toast-content{display:flex;flex-direction:column}.toast-body strong{line-height:var(--sgds-line-height-min)}.toast-body span{color:var(--sgds-color-subtle)}.toast-action{word-wrap:break-word;color:var(--sgds-link-color-default)}.toast-header strong{margin-right:auto;word-break:break-all}.close-btn{margin-left:auto}.d-none{display:none}`;
30530
+ var css_248z$2 = css`:host([variant=info]) slot[name=icon]::slotted(*){color:var(--sgds-primary-color-default)}:host([variant=success]) slot[name=icon]::slotted(*){color:var(--sgds-success-color-default)}:host([variant=danger]) slot[name=icon]::slotted(*){color:var(--sgds-danger-color-default)}:host([variant=warning]) slot[name=icon]::slotted(*){color:var(--sgds-warning-color-fixed-light)}.toast{align-items:flex-start;background-clip:padding-box;background-color:var(--sgds-surface-default);border-radius:var(--sgds-border-radius-md);box-shadow:0 0 2px 0 rgba(0,0,0,.12),0 8px 16px 0 rgba(0,0,0,.14);display:flex;flex-direction:row;gap:var(--sgds-gap-xs);max-width:var(--sgds-dimension-480);min-width:var(--sgds-dimension-320);padding:var(--sgds-padding-md);pointer-events:auto;width:320px}.toast-content{word-wrap:break-word;gap:var(--sgds-gap-sm)}.toast-body,.toast-content{display:flex;flex-direction:column}.toast-body{gap:var(--sgds-gap-2-xs)}.toast-body strong{line-height:var(--sgds-line-height-min)}.toast-body span{color:var(--sgds-color-subtle)}.toast-action{word-wrap:break-word;color:var(--sgds-link-color-default)}.toast-header strong{margin-right:auto;word-break:break-all}.close-btn{margin-left:auto}.d-none{display:none}`;
30555
30531
 
30556
30532
  /**
30557
30533
  * @summary Toast allows you to convey quick messaging notifications to the user.