@solid-design-system/components 3.6.0 → 3.7.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 (153) hide show
  1. package/dist/components/es/option.js +1 -1
  2. package/dist/components/es/solid-components2.js +1 -1
  3. package/dist/components/umd/solid-components.js +2 -2
  4. package/dist/custom-elements.json +1 -1
  5. package/dist/package/components/accordion/accordion.d.ts +2 -1
  6. package/dist/package/components/carousel/carousel.d.ts +2 -1
  7. package/dist/package/components/dialog/dialog.d.ts +2 -1
  8. package/dist/package/components/drawer/drawer.d.ts +2 -1
  9. package/dist/package/components/dropdown/dropdown.d.ts +2 -1
  10. package/dist/package/components/input/input.d.ts +2 -1
  11. package/dist/package/components/notification/notification.d.ts +2 -1
  12. package/dist/package/components/option/option.d.ts +0 -1
  13. package/dist/package/components/option/option.js +0 -2
  14. package/dist/package/components/select/select.d.ts +2 -1
  15. package/dist/package/components/spinner/spinner.d.ts +2 -1
  16. package/dist/package/components/tab-group/tab-group.d.ts +2 -1
  17. package/dist/package/components/tooltip/tooltip.d.ts +2 -1
  18. package/dist/package/utilities/localize.d.ts +10 -0
  19. package/dist/package/utilities/localize.js +45 -0
  20. package/dist/versioned-components/es/accordion-group.js +1 -1
  21. package/dist/versioned-components/es/accordion.js +1 -1
  22. package/dist/versioned-components/es/badge.js +1 -1
  23. package/dist/versioned-components/es/brandshape.js +1 -1
  24. package/dist/versioned-components/es/button.js +1 -1
  25. package/dist/versioned-components/es/carousel-item.js +1 -1
  26. package/dist/versioned-components/es/carousel.js +3 -3
  27. package/dist/versioned-components/es/checkbox-group.js +1 -1
  28. package/dist/versioned-components/es/checkbox.js +1 -1
  29. package/dist/versioned-components/es/dialog.js +1 -1
  30. package/dist/versioned-components/es/divider.js +1 -1
  31. package/dist/versioned-components/es/drawer.js +1 -1
  32. package/dist/versioned-components/es/dropdown.js +1 -1
  33. package/dist/versioned-components/es/form.js +1 -1
  34. package/dist/versioned-components/es/header.js +1 -1
  35. package/dist/versioned-components/es/icon.js +1 -1
  36. package/dist/versioned-components/es/include.js +1 -1
  37. package/dist/versioned-components/es/input.js +1 -1
  38. package/dist/versioned-components/es/link.js +1 -1
  39. package/dist/versioned-components/es/map-marker.js +1 -1
  40. package/dist/versioned-components/es/navigation-item.js +1 -1
  41. package/dist/versioned-components/es/notification.js +1 -1
  42. package/dist/versioned-components/es/option.js +1 -1
  43. package/dist/versioned-components/es/popup.js +1 -1
  44. package/dist/versioned-components/es/radio-button.js +1 -1
  45. package/dist/versioned-components/es/radio-group.js +1 -1
  46. package/dist/versioned-components/es/radio.js +1 -1
  47. package/dist/versioned-components/es/scrollable.js +1 -1
  48. package/dist/versioned-components/es/select.js +3 -3
  49. package/dist/versioned-components/es/solid-components2.js +1 -1
  50. package/dist/versioned-components/es/spinner.js +1 -1
  51. package/dist/versioned-components/es/step-group.js +1 -1
  52. package/dist/versioned-components/es/step.js +1 -1
  53. package/dist/versioned-components/es/switch.js +1 -1
  54. package/dist/versioned-components/es/tab-group.js +1 -1
  55. package/dist/versioned-components/es/tab-panel.js +1 -1
  56. package/dist/versioned-components/es/tab.js +1 -1
  57. package/dist/versioned-components/es/tag.js +1 -1
  58. package/dist/versioned-components/es/teaser-media.js +1 -1
  59. package/dist/versioned-components/es/teaser.js +1 -1
  60. package/dist/versioned-components/es/textarea.js +1 -1
  61. package/dist/versioned-components/es/tooltip.js +2 -2
  62. package/dist/versioned-components/es/video.js +1 -1
  63. package/dist/versioned-package/_components/button-group/button-group.d.ts +1 -1
  64. package/dist/versioned-package/_components/button-group/button-group.js +11 -11
  65. package/dist/versioned-package/components/accordion/accordion.d.ts +3 -2
  66. package/dist/versioned-package/components/accordion/accordion.js +2 -2
  67. package/dist/versioned-package/components/accordion-group/accordion-group.d.ts +1 -1
  68. package/dist/versioned-package/components/accordion-group/accordion-group.js +3 -3
  69. package/dist/versioned-package/components/badge/badge.d.ts +1 -1
  70. package/dist/versioned-package/components/badge/badge.js +1 -1
  71. package/dist/versioned-package/components/brandshape/brandshape.d.ts +1 -1
  72. package/dist/versioned-package/components/brandshape/brandshape.js +1 -1
  73. package/dist/versioned-package/components/button/button.d.ts +1 -1
  74. package/dist/versioned-package/components/button/button.js +4 -4
  75. package/dist/versioned-package/components/carousel/carousel.d.ts +3 -2
  76. package/dist/versioned-package/components/carousel/carousel.js +6 -6
  77. package/dist/versioned-package/components/carousel-item/carousel-item.d.ts +1 -1
  78. package/dist/versioned-package/components/carousel-item/carousel-item.js +1 -1
  79. package/dist/versioned-package/components/checkbox/checkbox.d.ts +1 -1
  80. package/dist/versioned-package/components/checkbox/checkbox.js +3 -3
  81. package/dist/versioned-package/components/checkbox-group/checkbox-group.d.ts +1 -1
  82. package/dist/versioned-package/components/checkbox-group/checkbox-group.js +5 -5
  83. package/dist/versioned-package/components/dialog/dialog.d.ts +3 -2
  84. package/dist/versioned-package/components/dialog/dialog.js +2 -2
  85. package/dist/versioned-package/components/divider/divider.d.ts +1 -1
  86. package/dist/versioned-package/components/divider/divider.js +2 -2
  87. package/dist/versioned-package/components/drawer/drawer.d.ts +3 -2
  88. package/dist/versioned-package/components/drawer/drawer.js +2 -2
  89. package/dist/versioned-package/components/dropdown/dropdown.d.ts +3 -2
  90. package/dist/versioned-package/components/dropdown/dropdown.js +8 -8
  91. package/dist/versioned-package/components/header/header.d.ts +1 -1
  92. package/dist/versioned-package/components/header/header.js +4 -4
  93. package/dist/versioned-package/components/icon/icon.d.ts +1 -1
  94. package/dist/versioned-package/components/icon/icon.js +1 -1
  95. package/dist/versioned-package/components/include/include.d.ts +1 -1
  96. package/dist/versioned-package/components/include/include.js +1 -1
  97. package/dist/versioned-package/components/input/input.d.ts +3 -2
  98. package/dist/versioned-package/components/input/input.js +2 -2
  99. package/dist/versioned-package/components/link/link.d.ts +1 -1
  100. package/dist/versioned-package/components/link/link.js +2 -2
  101. package/dist/versioned-package/components/map-marker/map-marker.d.ts +1 -1
  102. package/dist/versioned-package/components/map-marker/map-marker.js +1 -1
  103. package/dist/versioned-package/components/navigation-item/navigation-item.d.ts +1 -1
  104. package/dist/versioned-package/components/navigation-item/navigation-item.js +3 -3
  105. package/dist/versioned-package/components/notification/notification.d.ts +3 -2
  106. package/dist/versioned-package/components/notification/notification.js +5 -5
  107. package/dist/versioned-package/components/option/option.d.ts +1 -2
  108. package/dist/versioned-package/components/option/option.js +2 -4
  109. package/dist/versioned-package/components/popup/popup.d.ts +1 -1
  110. package/dist/versioned-package/components/popup/popup.js +1 -1
  111. package/dist/versioned-package/components/radio/radio.d.ts +1 -1
  112. package/dist/versioned-package/components/radio/radio.js +2 -2
  113. package/dist/versioned-package/components/radio-button/radio-button.d.ts +1 -1
  114. package/dist/versioned-package/components/radio-button/radio-button.js +2 -2
  115. package/dist/versioned-package/components/radio-group/radio-group.d.ts +2 -2
  116. package/dist/versioned-package/components/radio-group/radio-group.js +13 -13
  117. package/dist/versioned-package/components/scrollable/scrollable.d.ts +1 -1
  118. package/dist/versioned-package/components/scrollable/scrollable.js +3 -3
  119. package/dist/versioned-package/components/select/select.d.ts +6 -5
  120. package/dist/versioned-package/components/select/select.js +25 -25
  121. package/dist/versioned-package/components/spinner/spinner.d.ts +3 -2
  122. package/dist/versioned-package/components/spinner/spinner.js +1 -1
  123. package/dist/versioned-package/components/step/step.d.ts +1 -1
  124. package/dist/versioned-package/components/step/step.js +5 -5
  125. package/dist/versioned-package/components/step-group/step-group.d.ts +1 -1
  126. package/dist/versioned-package/components/step-group/step-group.js +2 -2
  127. package/dist/versioned-package/components/switch/switch.d.ts +1 -1
  128. package/dist/versioned-package/components/switch/switch.js +1 -1
  129. package/dist/versioned-package/components/tab/tab.d.ts +1 -1
  130. package/dist/versioned-package/components/tab/tab.js +2 -2
  131. package/dist/versioned-package/components/tab-group/tab-group.d.ts +3 -2
  132. package/dist/versioned-package/components/tab-group/tab-group.js +13 -13
  133. package/dist/versioned-package/components/tab-panel/tab-panel.d.ts +1 -1
  134. package/dist/versioned-package/components/tab-panel/tab-panel.js +2 -2
  135. package/dist/versioned-package/components/tag/tag.d.ts +1 -1
  136. package/dist/versioned-package/components/tag/tag.js +2 -2
  137. package/dist/versioned-package/components/teaser/teaser.js +1 -1
  138. package/dist/versioned-package/components/teaser-media/teaser-media.js +1 -1
  139. package/dist/versioned-package/components/textarea/textarea.d.ts +1 -1
  140. package/dist/versioned-package/components/textarea/textarea.js +2 -2
  141. package/dist/versioned-package/components/tooltip/tooltip.d.ts +3 -2
  142. package/dist/versioned-package/components/tooltip/tooltip.js +5 -5
  143. package/dist/versioned-package/components/video/video.d.ts +1 -1
  144. package/dist/versioned-package/components/video/video.js +2 -2
  145. package/dist/versioned-package/internal/form.js +3 -3
  146. package/dist/versioned-package/styles/headline/headline.css.js +1 -1
  147. package/dist/versioned-package/utilities/autocomplete-config.js +4 -4
  148. package/dist/versioned-package/utilities/localize.d.ts +10 -0
  149. package/dist/versioned-package/utilities/localize.js +45 -0
  150. package/dist/versioned-styles/solid-styles.css +1 -1
  151. package/dist/vscode.html-custom-data.json +41 -41
  152. package/dist/web-types.json +42 -50
  153. package/package.json +1 -1
@@ -68,10 +68,10 @@ let SdRadioGroup = class extends SolidElement {
68
68
  this.formControlController.updateValidity();
69
69
  }
70
70
  getAllRadios() {
71
- return [...this.querySelectorAll("sd-3-6-0-radio, sd-3-6-0-radio-button")];
71
+ return [...this.querySelectorAll("sd-3-7-0-radio, sd-3-7-0-radio-button")];
72
72
  }
73
73
  handleRadioClick(event) {
74
- const target = event.target.closest("sd-3-6-0-radio, sd-3-6-0-radio-button");
74
+ const target = event.target.closest("sd-3-7-0-radio, sd-3-7-0-radio-button");
75
75
  const radios = this.getAllRadios();
76
76
  const oldValue = this.value;
77
77
  if (target.disabled) {
@@ -147,7 +147,7 @@ let SdRadioGroup = class extends SolidElement {
147
147
  }
148
148
  })
149
149
  );
150
- this.hasButtonGroup = radios.some((radio) => radio.tagName.toLowerCase() === "sd-3-6-0-radio-button");
150
+ this.hasButtonGroup = radios.some((radio) => radio.tagName.toLowerCase() === "sd-3-7-0-radio-button");
151
151
  if (!radios.some((radio) => radio.checked)) {
152
152
  if (this.hasButtonGroup) {
153
153
  const buttonRadio = (_a = radios[0].shadowRoot) == null ? void 0 : _a.querySelector("button");
@@ -159,26 +159,26 @@ let SdRadioGroup = class extends SolidElement {
159
159
  }
160
160
  }
161
161
  if (this.hasButtonGroup) {
162
- const buttonGroup = (_b = this.shadowRoot) == null ? void 0 : _b.querySelector("sd-3-6-0-button-group");
162
+ const buttonGroup = (_b = this.shadowRoot) == null ? void 0 : _b.querySelector("sd-3-7-0-button-group");
163
163
  if (buttonGroup) {
164
164
  buttonGroup.disableRole = true;
165
165
  }
166
166
  }
167
167
  }
168
168
  syncRadios() {
169
- if (customElements.get("sd-3-6-0-radio") && customElements.get("sd-3-6-0-radio-button")) {
169
+ if (customElements.get("sd-3-7-0-radio") && customElements.get("sd-3-7-0-radio-button")) {
170
170
  this.syncRadioElements();
171
171
  return;
172
172
  }
173
- if (customElements.get("sd-3-6-0-radio")) {
173
+ if (customElements.get("sd-3-7-0-radio")) {
174
174
  this.syncRadioElements();
175
175
  } else {
176
- customElements.whenDefined("sd-3-6-0-radio").then(() => this.syncRadios());
176
+ customElements.whenDefined("sd-3-7-0-radio").then(() => this.syncRadios());
177
177
  }
178
- if (customElements.get("sd-3-6-0-radio-button")) {
178
+ if (customElements.get("sd-3-7-0-radio-button")) {
179
179
  this.syncRadioElements();
180
180
  } else {
181
- customElements.whenDefined("sd-3-6-0-radio-button").then(() => this.syncRadios());
181
+ customElements.whenDefined("sd-3-7-0-radio-button").then(() => this.syncRadios());
182
182
  }
183
183
  }
184
184
  updateCheckedRadio() {
@@ -253,14 +253,14 @@ let SdRadioGroup = class extends SolidElement {
253
253
  vertical: "flex-col",
254
254
  horizontal: "flex-row"
255
255
  }[this.orientation]
256
- )}"><div class="sr-only"><label><input id="validation-input" type="text" ?required="${this.required}" tabindex="-1" hidden @invalid="${this.handleInvalid}"></label></div>${this.hasButtonGroup ? html`<sd-3-6-0-button-group part="button-group" exportparts="base:button-group__base" role="presentation">${defaultSlot}</sd-3-6-0-button-group>` : defaultSlot}</div></fieldset>${this.formControlController.renderInvalidMessage()}`;
256
+ )}"><div class="sr-only"><label><input id="validation-input" type="text" ?required="${this.required}" tabindex="-1" hidden @invalid="${this.handleInvalid}"></label></div>${this.hasButtonGroup ? html`<sd-3-7-0-button-group part="button-group" exportparts="base:button-group__base" role="presentation">${defaultSlot}</sd-3-7-0-button-group>` : defaultSlot}</div></fieldset>${this.formControlController.renderInvalidMessage()}`;
257
257
  }
258
258
  };
259
- SdRadioGroup.dependencies = { "sd-3-6-0-button-group": SdButtonGroup };
259
+ SdRadioGroup.dependencies = { "sd-3-7-0-button-group": SdButtonGroup };
260
260
  SdRadioGroup.styles = [
261
261
  componentStyles,
262
262
  SolidElement.styles,
263
- css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-6-0-radio){margin-bottom:var(--sd-spacing-2,.5rem);display:flex}:host([orientation=vertical]) ::slotted(sd-3-6-0-radio:last-of-type){margin-bottom:var(--sd-spacing-0,0)}:host([orientation=horizontal]) ::slotted(sd-3-6-0-radio){margin-right:var(--sd-spacing-6,1.5rem)}:host([orientation=horizontal]) ::slotted(sd-3-6-0-radio:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-6-0-radio){margin-right:var(--sd-spacing-4,1rem)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-6-0-radio:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([required]) #label::after{content:' *'}`
263
+ css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-7-0-radio){margin-bottom:var(--sd-spacing-2,.5rem);display:flex}:host([orientation=vertical]) ::slotted(sd-3-7-0-radio:last-of-type){margin-bottom:var(--sd-spacing-0,0)}:host([orientation=horizontal]) ::slotted(sd-3-7-0-radio){margin-right:var(--sd-spacing-6,1.5rem)}:host([orientation=horizontal]) ::slotted(sd-3-7-0-radio:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-7-0-radio){margin-right:var(--sd-spacing-4,1rem)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-7-0-radio:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([required]) #label::after{content:' *'}`
264
264
  ];
265
265
  __decorateClass([
266
266
  query("slot:not([name])")
@@ -314,7 +314,7 @@ __decorateClass([
314
314
  watch("value")
315
315
  ], SdRadioGroup.prototype, "handleValueChange", 1);
316
316
  SdRadioGroup = __decorateClass([
317
- customElement("sd-3-6-0-radio-group")
317
+ customElement("sd-3-7-0-radio-group")
318
318
  ], SdRadioGroup);
319
319
  export {
320
320
  SdRadioGroup as default
@@ -23,6 +23,6 @@ export default class SdScrollable extends SolidElement {
23
23
  }
24
24
  declare global {
25
25
  interface HTMLElementTagNameMap {
26
- 'sd-3-6-0-scrollable': SdScrollable;
26
+ 'sd-3-7-0-scrollable': SdScrollable;
27
27
  }
28
28
  }
@@ -112,14 +112,14 @@ let SdScrollable = class extends SolidElement {
112
112
  this.orientation === "auto" && "scroll-auto overflow-auto",
113
113
  this.scrollbars ? "show-scrollbars" : "hide-scrollbars",
114
114
  this.inset ? "p-4" : ""
115
- )}" @scroll="${this.updateScrollIndicatorVisibility}"><div part="scroll-content" class="flex-1"><slot></slot></div></div>${this.buttons ? html`${this.isScrollHorizontalEnabled ? html`${this.canScroll.left ? html`<div part="button-left" class="absolute z-10 flex items-center justify-center top-0 left-0 h-full w-8"><button part="button-start" class="${cx(scrollButtonClasses)}" @click="${() => this.handleScroll("left")}"><slot name="icon-start"><sd-3-6-0-icon library="system" name="chevron-up" class="rotate-[-90deg]"></sd-3-6-0-icon></slot></button></div>` : null} ${this.canScroll.right ? html`<div part="button-right" class="absolute z-10 flex items-center justify-center top-0 right-0 h-full w-8"><button part="button-end" class="${cx(scrollButtonClasses)}" @click="${() => this.handleScroll("right")}"><slot name="icon-end"><sd-3-6-0-icon library="system" name="chevron-down" class="rotate-[-90deg]"></sd-3-6-0-icon></slot></button></div>` : null}` : null} ${this.isScrollVerticalEnabled ? html`${this.canScroll.up ? html`<div part="button-top" class="absolute z-10 flex items-center justify-center top-0 left-0 w-full h-8"><button part="button-start" class="${cx(scrollButtonClasses)}" @click="${() => this.handleScroll("up")}"><slot name="icon-start"><sd-3-6-0-icon library="system" name="chevron-up"></sd-3-6-0-icon></slot></button></div>` : null} ${this.canScroll.down ? html`<div part="button-bottom" class="absolute z-10 flex items-center justify-center bottom-0 left-0 w-full h-8"><button part="button-end" class="${cx(scrollButtonClasses)}" @click="${() => this.handleScroll("down")}"><slot name="icon-end"><sd-3-6-0-icon library="system" name="chevron-down"></sd-3-6-0-icon></slot></button></div>` : null}` : null}` : null} ${this.shadows ? html`${this.isScrollHorizontalEnabled ? html`${this.canScroll.left ? html`<div part="shadow-left" class="${scrollShadowClasses} left top-0 left-0 w-[6px] h-full"></div>` : null} ${this.canScroll.right ? html`<div part="shadow-right" class="${scrollShadowClasses} right top-0 right-0 w-[6px] h-full"></div>` : null}` : null} ${this.isScrollVerticalEnabled ? html`${this.canScroll.up ? html`<div part="shadow-top" class="${scrollShadowClasses} top top-0 left-0 w-full h-[6px]"></div>` : null} ${this.canScroll.down ? html`<div part="shadow-bottom" class="${scrollShadowClasses} bottom bottom-0 left-0 w-full h-[6px]"></div>` : null}` : null}` : null}`;
115
+ )}" @scroll="${this.updateScrollIndicatorVisibility}"><div part="scroll-content" class="flex-1"><slot></slot></div></div>${this.buttons ? html`${this.isScrollHorizontalEnabled ? html`${this.canScroll.left ? html`<div part="button-left" class="absolute z-10 flex items-center justify-center top-0 left-0 h-full w-8"><button part="button-start" class="${cx(scrollButtonClasses)}" @click="${() => this.handleScroll("left")}"><slot name="icon-start"><sd-3-7-0-icon library="system" name="chevron-up" class="rotate-[-90deg]"></sd-3-7-0-icon></slot></button></div>` : null} ${this.canScroll.right ? html`<div part="button-right" class="absolute z-10 flex items-center justify-center top-0 right-0 h-full w-8"><button part="button-end" class="${cx(scrollButtonClasses)}" @click="${() => this.handleScroll("right")}"><slot name="icon-end"><sd-3-7-0-icon library="system" name="chevron-down" class="rotate-[-90deg]"></sd-3-7-0-icon></slot></button></div>` : null}` : null} ${this.isScrollVerticalEnabled ? html`${this.canScroll.up ? html`<div part="button-top" class="absolute z-10 flex items-center justify-center top-0 left-0 w-full h-8"><button part="button-start" class="${cx(scrollButtonClasses)}" @click="${() => this.handleScroll("up")}"><slot name="icon-start"><sd-3-7-0-icon library="system" name="chevron-up"></sd-3-7-0-icon></slot></button></div>` : null} ${this.canScroll.down ? html`<div part="button-bottom" class="absolute z-10 flex items-center justify-center bottom-0 left-0 w-full h-8"><button part="button-end" class="${cx(scrollButtonClasses)}" @click="${() => this.handleScroll("down")}"><slot name="icon-end"><sd-3-7-0-icon library="system" name="chevron-down"></sd-3-7-0-icon></slot></button></div>` : null}` : null}` : null} ${this.shadows ? html`${this.isScrollHorizontalEnabled ? html`${this.canScroll.left ? html`<div part="shadow-left" class="${scrollShadowClasses} left top-0 left-0 w-[6px] h-full"></div>` : null} ${this.canScroll.right ? html`<div part="shadow-right" class="${scrollShadowClasses} right top-0 right-0 w-[6px] h-full"></div>` : null}` : null} ${this.isScrollVerticalEnabled ? html`${this.canScroll.up ? html`<div part="shadow-top" class="${scrollShadowClasses} top top-0 left-0 w-full h-[6px]"></div>` : null} ${this.canScroll.down ? html`<div part="shadow-bottom" class="${scrollShadowClasses} bottom bottom-0 left-0 w-full h-[6px]"></div>` : null}` : null}` : null}`;
116
116
  }
117
117
  };
118
118
  SdScrollable.styles = [
119
119
  SolidElement.styles,
120
120
  unsafeCSS(InteractiveStyles),
121
121
  componentStyles,
122
- css`:host{--gradient-color:rgba(255, 255, 255, 0);--gradient:var(--gradient-color) 0%,#fff 80%,#fff 100%;position:relative;display:flex;overflow:hidden}.hide-scrollbars{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbars::-webkit-scrollbar{display:none}.scroll-container::-webkit-scrollbar-thumb{background-color:transparent}.scroll-container:hover::-webkit-scrollbar-thumb{background:var(--background-neutral-400,#c3c3c3);border-radius:var(--sd-border-radius-sm,.125rem)}.scroll-container::-webkit-scrollbar{height:var(--sd-spacing-1,.25rem);width:var(--sd-spacing-1,.25rem)}.scroll-auto{overflow:auto}[part=button-left]{background:linear-gradient(270deg,var(--gradient))}[part=button-right]{background:linear-gradient(90deg,var(--gradient))}[part=button-top]{background:linear-gradient(0deg,var(--gradient))}[part=button-bottom]{background:linear-gradient(180deg,var(--gradient))}[part=shadow-left]{background:linear-gradient(270deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-right]{background:linear-gradient(90deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-top]{background:linear-gradient(0deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-bottom]{background:linear-gradient(180deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}.sd-3-6-0-icon--top{align-self:flex-start}.sd-3-6-0-icon--down{align-self:flex-end}`
122
+ css`:host{--gradient-color:rgba(255, 255, 255, 0);--gradient:var(--gradient-color) 0%,#fff 80%,#fff 100%;position:relative;display:flex;overflow:hidden}.hide-scrollbars{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbars::-webkit-scrollbar{display:none}.scroll-container::-webkit-scrollbar-thumb{background-color:transparent}.scroll-container:hover::-webkit-scrollbar-thumb{background:var(--background-neutral-400,#c3c3c3);border-radius:var(--sd-border-radius-sm,.125rem)}.scroll-container::-webkit-scrollbar{height:var(--sd-spacing-1,.25rem);width:var(--sd-spacing-1,.25rem)}.scroll-auto{overflow:auto}[part=button-left]{background:linear-gradient(270deg,var(--gradient))}[part=button-right]{background:linear-gradient(90deg,var(--gradient))}[part=button-top]{background:linear-gradient(0deg,var(--gradient))}[part=button-bottom]{background:linear-gradient(180deg,var(--gradient))}[part=shadow-left]{background:linear-gradient(270deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-right]{background:linear-gradient(90deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-top]{background:linear-gradient(0deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-bottom]{background:linear-gradient(180deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}.sd-3-7-0-icon--top{align-self:flex-start}.sd-3-7-0-icon--down{align-self:flex-end}`
123
123
  ];
124
124
  __decorateClass([
125
125
  property({ type: String, reflect: true })
@@ -149,7 +149,7 @@ __decorateClass([
149
149
  state()
150
150
  ], SdScrollable.prototype, "isScrollVerticalEnabled", 2);
151
151
  SdScrollable = __decorateClass([
152
- customElement("sd-3-6-0-scrollable")
152
+ customElement("sd-3-7-0-scrollable")
153
153
  ], SdScrollable);
154
154
  export {
155
155
  SdScrollable as default
@@ -1,3 +1,4 @@
1
+ import { LocalizeController } from '../../utilities/localize.js';
1
2
  import SdIcon from '../icon/icon';
2
3
  import SdPopup from '../popup/popup';
3
4
  import SdTag from '../tag/tag';
@@ -7,13 +8,13 @@ import type { TemplateResult } from 'lit';
7
8
  import type SdOption from '../option/option';
8
9
  export default class SdSelect extends SolidElement implements SolidFormControl {
9
10
  static dependencies: {
10
- 'sd-3-6-0-icon': typeof SdIcon;
11
- 'sd-3-6-0-popup': typeof SdPopup;
12
- 'sd-3-6-0-tag': typeof SdTag;
11
+ 'sd-3-7-0-icon': typeof SdIcon;
12
+ 'sd-3-7-0-popup': typeof SdPopup;
13
+ 'sd-3-7-0-tag': typeof SdTag;
13
14
  };
14
15
  private readonly formControlController;
15
16
  private readonly hasSlotController;
16
- private readonly localize;
17
+ localize: LocalizeController;
17
18
  private typeToSelectString;
18
19
  private typeToSelectTimeout;
19
20
  _optionsInDefaultSlot: SdOption[];
@@ -97,6 +98,6 @@ export default class SdSelect extends SolidElement implements SolidFormControl {
97
98
  }
98
99
  declare global {
99
100
  interface HTMLElementTagNameMap {
100
- 'sd-3-6-0-select': SdSelect;
101
+ 'sd-3-7-0-select': SdSelect;
101
102
  }
102
103
  }
@@ -32,7 +32,7 @@ let SdSelect = class extends SolidElement {
32
32
  constructor() {
33
33
  super(...arguments);
34
34
  this.formControlController = new FormControlController(this, {
35
- assumeInteractionOn: ["sd-blur", "sd-3-6-0-input"]
35
+ assumeInteractionOn: ["sd-blur", "sd-3-7-0-input"]
36
36
  });
37
37
  this.hasSlotController = new HasSlotController(this, "help-text", "label");
38
38
  this.localize = new LocalizeController(this);
@@ -63,11 +63,11 @@ let SdSelect = class extends SolidElement {
63
63
  this.styleOnValid = false;
64
64
  this.hoist = false;
65
65
  this.getTag = (option) => {
66
- return html`<sd-3-6-0-tag ?disabled="${this.disabled}" part="tag" exportparts="
66
+ return html`<sd-3-7-0-tag ?disabled="${this.disabled}" part="tag" exportparts="
67
67
  base:tag__base,
68
68
  content:tag__content,
69
69
  removable-indicator:tag__removable-indicator,
70
- " size="${this.size === "sm" ? "sm" : "lg"}" removable @sd-remove="${(event) => this.handleTagRemove(event, option)}">${option.getTextLabel()}</sd-3-6-0-tag>`;
70
+ " size="${this.size === "sm" ? "sm" : "lg"}" removable @sd-remove="${(event) => this.handleTagRemove(event, option)}">${option.getTextLabel()}</sd-3-7-0-tag>`;
71
71
  };
72
72
  this.handleDocumentFocusIn = (event) => {
73
73
  const path = event.composedPath();
@@ -78,7 +78,7 @@ let SdSelect = class extends SolidElement {
78
78
  this.handleDocumentKeyDown = (event) => {
79
79
  const target = event.target;
80
80
  const isClearButton = target.closest(".select__clear") !== null;
81
- const isIconButton = target.closest("sd-3-6-0-icon-button") !== null;
81
+ const isIconButton = target.closest("sd-3-7-0-icon-button") !== null;
82
82
  if (isClearButton || isIconButton) {
83
83
  return;
84
84
  }
@@ -241,7 +241,7 @@ let SdSelect = class extends SolidElement {
241
241
  }
242
242
  handleOptionClick(event) {
243
243
  const target = event.target;
244
- const option = target.closest("sd-3-6-0-option");
244
+ const option = target.closest("sd-3-7-0-option");
245
245
  const oldValue = this.value;
246
246
  if (option && !option.disabled) {
247
247
  if (this.multiple) {
@@ -266,7 +266,7 @@ let SdSelect = class extends SolidElement {
266
266
  const allOptions = this.getAllOptions();
267
267
  const value = Array.isArray(this.value) ? this.value : [this.value];
268
268
  const values = [];
269
- if (customElements.get("sd-3-6-0-option")) {
269
+ if (customElements.get("sd-3-7-0-option")) {
270
270
  allOptions.forEach((option) => {
271
271
  if (this.multiple) {
272
272
  option.checkbox = true;
@@ -275,7 +275,7 @@ let SdSelect = class extends SolidElement {
275
275
  });
276
276
  this.setSelectedOptions(allOptions.filter((el) => value.includes(el.value)));
277
277
  } else {
278
- customElements.whenDefined("sd-3-6-0-option").then(() => this.handleDefaultSlotChange());
278
+ customElements.whenDefined("sd-3-7-0-option").then(() => this.handleDefaultSlotChange());
279
279
  }
280
280
  }
281
281
  handleTagRemove(event, option) {
@@ -288,13 +288,13 @@ let SdSelect = class extends SolidElement {
288
288
  });
289
289
  }
290
290
  }
291
- // Gets an array of all <sd-3-6-0-option> elements
291
+ // Gets an array of all <sd-3-7-0-option> elements
292
292
  getAllOptions() {
293
- return [...this.querySelectorAll("sd-3-6-0-option")];
293
+ return [...this.querySelectorAll("sd-3-7-0-option")];
294
294
  }
295
- // Gets the first <sd-3-6-0-option> element
295
+ // Gets the first <sd-3-7-0-option> element
296
296
  getFirstOption() {
297
- return this.querySelector("sd-3-6-0-option");
297
+ return this.querySelector("sd-3-7-0-option");
298
298
  }
299
299
  // Sets the current option, which is the option the user is currently interacting with (e.g. via keyboard). Only one
300
300
  // option may be "current" at a time.
@@ -356,7 +356,7 @@ let SdSelect = class extends SolidElement {
356
356
  const tag = this.getTag(option, index);
357
357
  return html`<div @sd-remove="${(e) => this.handleTagRemove(e, option)}">${typeof tag === "string" ? unsafeHTML(tag) : tag}</div>`;
358
358
  } else if (index === this.maxOptionsVisible) {
359
- return html`<sd-3-6-0-tag size="${this.size === "sm" ? "sm" : "lg"}" ?disabled="${this.disabled}">+${this.selectedOptions.length - index}</sd-3-6-0-tag>`;
359
+ return html`<sd-3-7-0-tag size="${this.size === "sm" ? "sm" : "lg"}" ?disabled="${this.disabled}">+${this.selectedOptions.length - index}</sd-3-7-0-tag>`;
360
360
  }
361
361
  return html``;
362
362
  });
@@ -372,7 +372,7 @@ let SdSelect = class extends SolidElement {
372
372
  handleMouseLeave() {
373
373
  this.hasHover = false;
374
374
  }
375
- /** Receives incoming event detail from sd-3-6-0-popup and updates local state for conditional styling. */
375
+ /** Receives incoming event detail from sd-3-7-0-popup and updates local state for conditional styling. */
376
376
  handleCurrentPlacement(e) {
377
377
  const incomingPlacement = e.detail;
378
378
  if (incomingPlacement) {
@@ -381,7 +381,7 @@ let SdSelect = class extends SolidElement {
381
381
  }
382
382
  handleUseTagsChange() {
383
383
  const allOptions = this.getAllOptions();
384
- if (customElements.get("sd-3-6-0-option")) {
384
+ if (customElements.get("sd-3-7-0-option")) {
385
385
  allOptions.forEach((option) => {
386
386
  option.checkbox = this.multiple;
387
387
  });
@@ -526,7 +526,7 @@ let SdSelect = class extends SolidElement {
526
526
  default: "border-neutral-800"
527
527
  }[selectState],
528
528
  this.open && (this.currentPlacement === "bottom" ? "rounded-bl-none rounded-br-none" : "rounded-tl-none rounded-tr-none")
529
- )}"></div><sd-3-6-0-popup @sd-current-placement="${this.handleCurrentPlacement}" class="${cx(
529
+ )}"></div><sd-3-7-0-popup @sd-current-placement="${this.handleCurrentPlacement}" class="${cx(
530
530
  "inline-flex relative w-full",
531
531
  this.currentPlacement === "bottom" ? "origin-top" : "origin-bottom"
532
532
  )}" placement="${this.placement}" strategy="${this.hoist ? "fixed" : "absolute"}" flip shift sync="width" auto-size="vertical" auto-size-padding="10" exportparts="
@@ -543,33 +543,33 @@ let SdSelect = class extends SolidElement {
543
543
  "appearance-none outline-none flex-grow bg-transparent w-full",
544
544
  cursorStyles,
545
545
  this.multiple && this.useTags && this.value.length > 0 ? "hidden" : ""
546
- )}" type="text" placeholder="${this.placeholder}" .disabled="${this.disabled}" .value="${this.displayLabel}" autocomplete="off" spellcheck="false" autocapitalize="off" readonly="readonly" aria-controls="listbox" aria-expanded="${this.open ? "true" : "false"}" aria-haspopup="listbox" aria-labelledby="label" aria-disabled="${this.disabled ? "true" : "false"}" aria-describedby="help-text" role="combobox" tabindex="0" @focus="${this.handleFocus}" @blur="${this.handleBlur}"> ${this.multiple && this.useTags ? html`<div part="tags" class="flex-grow flex flex-wrap items-center gap-1">${this.tags}</div>` : ""} <input class="${cx("value-input absolute top-0 left-0 w-full h-full opacity-0 -z-10", cursorStyles)}" type="text" ?disabled="${this.disabled}" ?required="${this.required}" .value="${Array.isArray(this.value) ? this.value.join(", ") : this.value}" tabindex="-1" aria-hidden="true" @focus="${() => this.focus()}" @invalid="${this.handleInvalid}"> ${hasClearIcon ? html`<button part="clear-button" class="${cx("select__clear flex justify-center", iconMarginLeft)}" type="button" aria-label="${this.localize.term("clearEntry")}" @mousedown="${this.handleClearMouseDown}" @click="${this.handleClearClick}" tabindex="-1"><slot name="clear-icon"><sd-3-6-0-icon class="${cx("text-neutral-500", iconSize)}" library="system" name="closing-round"></sd-3-6-0-icon></slot></button>` : ""} ${this.showInvalidStyle ? html`<sd-3-6-0-icon part="invalid-icon" class="${cx(iconMarginLeft, iconSize)}" library="system" name="risk"></sd-3-6-0-icon>` : ""} ${this.styleOnValid && this.showValidStyle ? html`<sd-3-6-0-icon part="valid-icon" class="${cx("flex-shrink-0", iconMarginLeft, iconSize)}" library="system" name="status-check"></sd-3-6-0-icon>` : ""}<slot name="expand-icon" part="expand-icon" class="${cx(
546
+ )}" type="text" placeholder="${this.placeholder}" .disabled="${this.disabled}" .value="${this.displayLabel}" autocomplete="off" spellcheck="false" autocapitalize="off" readonly="readonly" aria-controls="listbox" aria-expanded="${this.open ? "true" : "false"}" aria-haspopup="listbox" aria-labelledby="label" aria-disabled="${this.disabled ? "true" : "false"}" aria-describedby="help-text" role="combobox" tabindex="0" @focus="${this.handleFocus}" @blur="${this.handleBlur}"> ${this.multiple && this.useTags ? html`<div part="tags" class="flex-grow flex flex-wrap items-center gap-1">${this.tags}</div>` : ""} <input class="${cx("value-input absolute top-0 left-0 w-full h-full opacity-0 -z-10", cursorStyles)}" type="text" ?disabled="${this.disabled}" ?required="${this.required}" .value="${Array.isArray(this.value) ? this.value.join(", ") : this.value}" tabindex="-1" aria-hidden="true" @focus="${() => this.focus()}" @invalid="${this.handleInvalid}"> ${hasClearIcon ? html`<button part="clear-button" class="${cx("select__clear flex justify-center", iconMarginLeft)}" type="button" aria-label="${this.localize.term("clearEntry")}" @mousedown="${this.handleClearMouseDown}" @click="${this.handleClearClick}" tabindex="-1"><slot name="clear-icon"><sd-3-7-0-icon class="${cx("text-neutral-500", iconSize)}" library="system" name="closing-round"></sd-3-7-0-icon></slot></button>` : ""} ${this.showInvalidStyle ? html`<sd-3-7-0-icon part="invalid-icon" class="${cx(iconMarginLeft, iconSize)}" library="system" name="risk"></sd-3-7-0-icon>` : ""} ${this.styleOnValid && this.showValidStyle ? html`<sd-3-7-0-icon part="valid-icon" class="${cx("flex-shrink-0", iconMarginLeft, iconSize)}" library="system" name="status-check"></sd-3-7-0-icon>` : ""}<slot name="expand-icon" part="expand-icon" class="${cx(
547
547
  "inline-flex ml-2 transition-all",
548
548
  this.open ? "rotate-180" : "rotate-0",
549
549
  this.disabled ? "text-neutral-500" : "text-primary",
550
550
  iconSize
551
- )}"><sd-3-6-0-icon name="chevron-down" part="chevron" library="system" color="currentColor"></sd-3-6-0-icon></slot></div><div id="listbox" role="listbox" aria-expanded="${this.open ? "true" : "false"}" aria-multiselectable="${this.multiple ? "true" : "false"}" aria-labelledby="label" part="listbox" class="${cx(
551
+ )}"><sd-3-7-0-icon name="chevron-down" part="chevron" library="system" color="currentColor"></sd-3-7-0-icon></slot></div><div id="listbox" role="listbox" aria-expanded="${this.open ? "true" : "false"}" aria-multiselectable="${this.multiple ? "true" : "false"}" aria-labelledby="label" part="listbox" class="${cx(
552
552
  "bg-white px-2 py-3 relative border-primary",
553
553
  this.open && "shadow",
554
554
  this.currentPlacement === "bottom" ? "border-r-2 border-b-2 border-l-2 rounded-br-default rounded-bl-default" : "border-r-2 border-t-2 border-l-2 rounded-tr-default rounded-tl-default"
555
- )}" tabindex="-1" @mouseup="${this.handleOptionClick}" @slotchange="${this.handleDefaultSlotChange}"><slot></slot></div></sd-3-6-0-popup></div><div class="text-sm text-neutral-700" part="form-control-help-text" id="help-text" aria-hidden="${hasHelpText ? "false" : "true"}"><slot name="help-text">${this.helpText}</slot></div></div>${this.formControlController.renderInvalidMessage()}`;
555
+ )}" tabindex="-1" @mouseup="${this.handleOptionClick}" @slotchange="${this.handleDefaultSlotChange}"><slot></slot></div></sd-3-7-0-popup></div><div class="text-sm text-neutral-700" part="form-control-help-text" id="help-text" aria-hidden="${hasHelpText ? "false" : "true"}"><slot name="help-text">${this.helpText}</slot></div></div>${this.formControlController.renderInvalidMessage()}`;
556
556
  }
557
557
  };
558
558
  SdSelect.dependencies = {
559
- "sd-3-6-0-icon": SdIcon,
560
- "sd-3-6-0-popup": SdPopup,
561
- "sd-3-6-0-tag": SdTag
559
+ "sd-3-7-0-icon": SdIcon,
560
+ "sd-3-7-0-popup": SdPopup,
561
+ "sd-3-7-0-tag": SdTag
562
562
  };
563
563
  SdSelect.styles = [
564
564
  componentStyles,
565
565
  SolidElement.styles,
566
- css`:host{position:relative;display:block;width:100%}:host([required]) #label::after{content:' *'}sd-3-6-0-popup::part(popup){z-index:var(--sd-z-index-dropdown,900);overflow-y:scroll}sd-3-6-0-tag::part(base){border-radius:var(--sd-border-radius-default,.25rem);padding-left:var(--sd-spacing-1,.25rem);padding-right:var(--sd-spacing-1,.25rem)}sd-3-6-0-tag[size=lg]::part(base){padding-left:var(--sd-spacing-2,.5rem);padding-right:var(--sd-spacing-2,.5rem)}sd-3-6-0-tag[disabled=false]::part(base):hover{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-primary-100,236 240 249) / var(--tw-bg-opacity))}`
566
+ css`:host{position:relative;display:block;width:100%}:host([required]) #label::after{content:' *'}sd-3-7-0-popup::part(popup){z-index:var(--sd-z-index-dropdown,900);overflow-y:scroll}sd-3-7-0-tag::part(base){border-radius:var(--sd-border-radius-default,.25rem);padding-left:var(--sd-spacing-1,.25rem);padding-right:var(--sd-spacing-1,.25rem)}sd-3-7-0-tag[size=lg]::part(base){padding-left:var(--sd-spacing-2,.5rem);padding-right:var(--sd-spacing-2,.5rem)}sd-3-7-0-tag[disabled=false]::part(base):hover{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-primary-100,236 240 249) / var(--tw-bg-opacity))}`
567
567
  ];
568
568
  __decorateClass([
569
- queryAssignedElements({ selector: "sd-3-6-0-option" })
569
+ queryAssignedElements({ selector: "sd-3-7-0-option" })
570
570
  ], SdSelect.prototype, "_optionsInDefaultSlot", 2);
571
571
  __decorateClass([
572
- query("sd-3-6-0-popup")
572
+ query("sd-3-7-0-popup")
573
573
  ], SdSelect.prototype, "popup", 2);
574
574
  __decorateClass([
575
575
  query('[part="combobox"]')
@@ -688,7 +688,7 @@ __decorateClass([
688
688
  watch("value", { waitUntilFirstUpdate: true })
689
689
  ], SdSelect.prototype, "handleValueChange", 1);
690
690
  SdSelect = __decorateClass([
691
- customElement("sd-3-6-0-select")
691
+ customElement("sd-3-7-0-select")
692
692
  ], SdSelect);
693
693
  setDefaultAnimation("select.show", {
694
694
  keyframes: [
@@ -1,12 +1,13 @@
1
+ import { LocalizeController } from '../../utilities/localize';
1
2
  import SolidElement from '../../internal/solid-element';
2
3
  export default class SdSpinner extends SolidElement {
3
4
  color: 'primary' | 'white' | 'currentColor';
4
- private readonly localize;
5
+ localize: LocalizeController;
5
6
  render(): import("lit-html").TemplateResult<1>;
6
7
  static styles: import("lit").CSSResultGroup[];
7
8
  }
8
9
  declare global {
9
10
  interface HTMLElementTagNameMap {
10
- 'sd-3-6-0-spinner': SdSpinner;
11
+ 'sd-3-7-0-spinner': SdSpinner;
11
12
  }
12
13
  }
@@ -40,7 +40,7 @@ __decorateClass([
40
40
  property({ reflect: true })
41
41
  ], SdSpinner.prototype, "color", 2);
42
42
  SdSpinner = __decorateClass([
43
- customElement("sd-3-6-0-spinner")
43
+ customElement("sd-3-7-0-spinner")
44
44
  ], SdSpinner);
45
45
  export {
46
46
  SdSpinner as default
@@ -22,6 +22,6 @@ export default class SdStep extends SolidElement {
22
22
  }
23
23
  declare global {
24
24
  interface HTMLElementTagNameMap {
25
- 'sd-3-6-0-step': SdStep;
25
+ 'sd-3-7-0-step': SdStep;
26
26
  }
27
27
  }
@@ -85,20 +85,20 @@ let SdStep = class extends SolidElement {
85
85
  !this.disabled && !this.current && !this.notInteractive && "text-primary group-hover:text-primary-500 group-hover:fill-primary-500",
86
86
  this.notInteractive && "text-primary",
87
87
  this.size === "lg" ? "text-lg" : "text-sm"
88
- )}">${!this.disabled && !this.current && !this.notInteractive ? html`<sd-3-6-0-icon name="status-check" library="system"></sd-3-6-0-icon>` : html`${this.index}`}</slot></${tag}>${this.noTail ? "" : this.orientation === "horizontal" ? html`<sd-3-6-0-divider part="tail" orientation="horizontal" class="${cx(
88
+ )}">${!this.disabled && !this.current && !this.notInteractive ? html`<sd-3-7-0-icon name="status-check" library="system"></sd-3-7-0-icon>` : html`${this.index}`}</slot></${tag}>${this.noTail ? "" : this.orientation === "horizontal" ? html`<sd-3-7-0-divider part="tail" orientation="horizontal" class="${cx(
89
89
  "w-full my-auto mr-2",
90
90
  !this.disabled && !this.current && !this.notInteractive && "tail-to-primary"
91
- )}"></sd-3-6-0-divider>` : html`<sd-3-6-0-divider part="tail" orientation="vertical" class="${cx(
91
+ )}"></sd-3-7-0-divider>` : html`<sd-3-7-0-divider part="tail" orientation="vertical" class="${cx(
92
92
  "flex-grow flex-shrink-0 basis-auto h-full w-[1px] mx-auto",
93
93
  !this.disabled && !this.current && !this.notInteractive && "tail-to-primary"
94
- )}"></sd-3-6-0-divider>`}</div><div part="text-container" class="${cx("mt-4 mr-4 break-words flex flex-col gap-2", this.orientation === "horizontal" ? "text-center w-40" : "w-max text-left", this.disabled && "!text-neutral-500")}"><div part="label" class="${cx("!font-bold sd-paragraph", this.disabled && "!text-neutral-500", !this.disabled && !this.current && !this.notInteractive ? "!text-primary group-hover:!text-primary-500 group-hover:cursor-pointer" : "text-black")}"><slot name="label">${this.label}</slot></div><div part="description" class="${cx("sd-paragraph sd-paragraph--size-sm", this.disabled && "!text-neutral-500")}">${this.description || html`<slot></slot>`}</div></div></div>`;
94
+ )}"></sd-3-7-0-divider>`}</div><div part="text-container" class="${cx("mt-4 mr-4 break-words flex flex-col gap-2", this.orientation === "horizontal" ? "text-center w-40" : "w-max text-left", this.disabled && "!text-neutral-500")}"><div part="label" class="${cx("!font-bold sd-paragraph", this.disabled && "!text-neutral-500", !this.disabled && !this.current && !this.notInteractive ? "!text-primary group-hover:!text-primary-500 group-hover:cursor-pointer" : "text-black")}"><slot name="label">${this.label}</slot></div><div part="description" class="${cx("sd-paragraph sd-paragraph--size-sm", this.disabled && "!text-neutral-500")}">${this.description || html`<slot></slot>`}</div></div></div>`;
95
95
  }
96
96
  };
97
97
  SdStep.styles = [
98
98
  SolidElement.styles,
99
99
  componentStyles,
100
100
  unsafeCSS(ParagraphStyles),
101
- css`:host{flex:1 1 0%}[part=base]:not(:has(sd-3-6-0-divider)){height:-moz-max-content;height:max-content}:host([no-tail]){flex-grow:0}.translateLg{transform:translateX(55px)}.translateSm{transform:translateX(64px)}.tail-to-primary::part(main){--tw-border-opacity:1!important;border-color:rgb(var(--sd-color-primary,0 53 142) / var(--tw-border-opacity))!important}.group:hover .tail-to-primary::part(main){--tw-border-opacity:1!important;border-color:rgb(var(--sd-color-primary-500,70 109 175) / var(--tw-border-opacity))!important}sd-3-6-0-divider::part(main){--tw-border-opacity:1!important;border-color:rgb(var(--sd-color-neutral-400,195 195 195) / var(--tw-border-opacity))!important}`
101
+ css`:host{flex:1 1 0%}[part=base]:not(:has(sd-3-7-0-divider)){height:-moz-max-content;height:max-content}:host([no-tail]){flex-grow:0}.translateLg{transform:translateX(55px)}.translateSm{transform:translateX(64px)}.tail-to-primary::part(main){--tw-border-opacity:1!important;border-color:rgb(var(--sd-color-primary,0 53 142) / var(--tw-border-opacity))!important}.group:hover .tail-to-primary::part(main){--tw-border-opacity:1!important;border-color:rgb(var(--sd-color-primary-500,70 109 175) / var(--tw-border-opacity))!important}sd-3-7-0-divider::part(main){--tw-border-opacity:1!important;border-color:rgb(var(--sd-color-neutral-400,195 195 195) / var(--tw-border-opacity))!important}`
102
102
  ];
103
103
  __decorateClass([
104
104
  property({ reflect: true })
@@ -140,7 +140,7 @@ __decorateClass([
140
140
  watch("notInteractive")
141
141
  ], SdStep.prototype, "handleInteractivityChange", 1);
142
142
  SdStep = __decorateClass([
143
- customElement("sd-3-6-0-step")
143
+ customElement("sd-3-7-0-step")
144
144
  ], SdStep);
145
145
  export {
146
146
  SdStep as default
@@ -17,6 +17,6 @@ export default class SdStepGroup extends SolidElement {
17
17
  }
18
18
  declare global {
19
19
  interface HTMLElementTagNameMap {
20
- 'sd-3-6-0-step-group': SdStepGroup;
20
+ 'sd-3-7-0-step-group': SdStepGroup;
21
21
  }
22
22
  }
@@ -57,7 +57,7 @@ let SdStepGroup = class extends SolidElement {
57
57
  });
58
58
  }
59
59
  getAllSteps() {
60
- return [...this.body.assignedElements()].filter((el) => el.tagName.toLowerCase() === "sd-3-6-0-step");
60
+ return [...this.body.assignedElements()].filter((el) => el.tagName.toLowerCase() === "sd-3-7-0-step");
61
61
  }
62
62
  /**
63
63
  * Sets the active step.
@@ -120,7 +120,7 @@ __decorateClass([
120
120
  watch("notInteractive")
121
121
  ], SdStepGroup.prototype, "handleInteractivityChange", 1);
122
122
  SdStepGroup = __decorateClass([
123
- customElement("sd-3-6-0-step-group")
123
+ customElement("sd-3-7-0-step-group")
124
124
  ], SdStepGroup);
125
125
  export {
126
126
  SdStepGroup as default
@@ -34,6 +34,6 @@ export default class SdSwitch extends SolidElement implements SolidFormControl {
34
34
  }
35
35
  declare global {
36
36
  interface HTMLElementTagNameMap {
37
- 'sd-3-6-0-switch': SdSwitch;
37
+ 'sd-3-7-0-switch': SdSwitch;
38
38
  }
39
39
  }
@@ -163,7 +163,7 @@ __decorateClass([
163
163
  watch(["checked"], { waitUntilFirstUpdate: true })
164
164
  ], SdSwitch.prototype, "handleStateChange", 1);
165
165
  SdSwitch = __decorateClass([
166
- customElement("sd-3-6-0-switch")
166
+ customElement("sd-3-7-0-switch")
167
167
  ], SdSwitch);
168
168
  export {
169
169
  SdSwitch as default
@@ -17,6 +17,6 @@ export default class SdTab extends SolidElement {
17
17
  }
18
18
  declare global {
19
19
  interface HTMLElementTagNameMap {
20
- 'sd-3-6-0-tab': SdTab;
20
+ 'sd-3-7-0-tab': SdTab;
21
21
  }
22
22
  }
@@ -21,7 +21,7 @@ let SdTab = class extends SolidElement {
21
21
  constructor() {
22
22
  super(...arguments);
23
23
  this.attrId = ++id;
24
- this.componentId = `sd-3-6-0-tab-${this.attrId}`;
24
+ this.componentId = `sd-3-7-0-tab-${this.attrId}`;
25
25
  this.panel = "";
26
26
  this.variant = "default";
27
27
  this.active = false;
@@ -88,7 +88,7 @@ __decorateClass([
88
88
  watch("disabled")
89
89
  ], SdTab.prototype, "handleDisabledChange", 1);
90
90
  SdTab = __decorateClass([
91
- customElement("sd-3-6-0-tab")
91
+ customElement("sd-3-7-0-tab")
92
92
  ], SdTab);
93
93
  export {
94
94
  SdTab as default
@@ -1,7 +1,8 @@
1
+ import { LocalizeController } from '../../utilities/localize';
1
2
  import SolidElement from '../../internal/solid-element';
2
3
  import type SdTab from '../tab/tab';
3
4
  export default class SdTabGroup extends SolidElement {
4
- private readonly localize;
5
+ localize: LocalizeController;
5
6
  private activeTab?;
6
7
  private mutationObserver;
7
8
  private resizeObserver;
@@ -35,6 +36,6 @@ export default class SdTabGroup extends SolidElement {
35
36
  }
36
37
  declare global {
37
38
  interface HTMLElementTagNameMap {
38
- 'sd-3-6-0-tab-group': SdTabGroup;
39
+ 'sd-3-7-0-tab-group': SdTabGroup;
39
40
  }
40
41
  }
@@ -30,8 +30,8 @@ let SdTabGroup = class extends SolidElement {
30
30
  }
31
31
  connectedCallback() {
32
32
  const whenAllDefined = Promise.all([
33
- customElements.whenDefined("sd-3-6-0-tab"),
34
- customElements.whenDefined("sd-3-6-0-tab-panel")
33
+ customElements.whenDefined("sd-3-7-0-tab"),
34
+ customElements.whenDefined("sd-3-7-0-tab-panel")
35
35
  ]);
36
36
  super.connectedCallback();
37
37
  this.resizeObserver = new ResizeObserver(() => {
@@ -68,19 +68,19 @@ let SdTabGroup = class extends SolidElement {
68
68
  getAllTabs(options = { includeDisabled: true }) {
69
69
  const slot = this.shadowRoot.querySelector('slot[name="nav"]');
70
70
  return [...slot.assignedElements()].filter((el) => {
71
- return options.includeDisabled ? el.tagName.toLowerCase() === "sd-3-6-0-tab" : el.tagName.toLowerCase() === "sd-3-6-0-tab" && !el.disabled;
71
+ return options.includeDisabled ? el.tagName.toLowerCase() === "sd-3-7-0-tab" : el.tagName.toLowerCase() === "sd-3-7-0-tab" && !el.disabled;
72
72
  });
73
73
  }
74
74
  getAllPanels() {
75
- return [...this.body.assignedElements()].filter((el) => el.tagName.toLowerCase() === "sd-3-6-0-tab-panel");
75
+ return [...this.body.assignedElements()].filter((el) => el.tagName.toLowerCase() === "sd-3-7-0-tab-panel");
76
76
  }
77
77
  getActiveTab() {
78
78
  return this.tabs.find((t) => t.matches(":focus"));
79
79
  }
80
80
  handleClick(event) {
81
81
  const target = event.target;
82
- const tab = target.closest("sd-3-6-0-tab");
83
- const tabGroup = tab == null ? void 0 : tab.closest("sd-3-6-0-tab-group");
82
+ const tab = target.closest("sd-3-7-0-tab");
83
+ const tabGroup = tab == null ? void 0 : tab.closest("sd-3-7-0-tab-group");
84
84
  if (tabGroup !== this) {
85
85
  return;
86
86
  }
@@ -90,8 +90,8 @@ let SdTabGroup = class extends SolidElement {
90
90
  }
91
91
  handleKeyDown(event) {
92
92
  const target = event.target;
93
- const tab = target.closest("sd-3-6-0-tab");
94
- const tabGroup = tab == null ? void 0 : tab.closest("sd-3-6-0-tab-group");
93
+ const tab = target.closest("sd-3-7-0-tab");
94
+ const tabGroup = tab == null ? void 0 : tab.closest("sd-3-7-0-tab-group");
95
95
  if (tabGroup !== this) {
96
96
  return;
97
97
  }
@@ -116,7 +116,7 @@ let SdTabGroup = class extends SolidElement {
116
116
  if (["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown", "Home", "End"].includes(event.key)) {
117
117
  const activeEl = this.tabs.find((t) => t.matches(":focus"));
118
118
  const isRtl = this.localize.dir() === "rtl";
119
- if ((activeEl == null ? void 0 : activeEl.tagName.toLowerCase()) === "sd-3-6-0-tab") {
119
+ if ((activeEl == null ? void 0 : activeEl.tagName.toLowerCase()) === "sd-3-7-0-tab") {
120
120
  let index = this.tabs.indexOf(activeEl);
121
121
  if (event.key === "Home") {
122
122
  index = 0;
@@ -211,17 +211,17 @@ let SdTabGroup = class extends SolidElement {
211
211
  return html`<div part="base" class="${cx("flex flex-col rounded-none")}" @click="${this.handleClick}" @keydown="${this.handleKeyDown}"><div part="nav" class="${cx(this.hasScrollControls && "relative py-0 px-12")}">${this.hasScrollControls ? html`<button part="scroll-button--start" exportparts="base:scroll-button__base" class="${cx(
212
212
  "sd-interactive flex items-center justify-center absolute top-0 bottom-0 left-0 !outline-offset-0 border-b border-neutral-400 z-10",
213
213
  this.localize.dir() === "rtl" && "left-auto right-0"
214
- )}" @click="${this.handleScrollToStart}"><sd-3-6-0-icon library="system" name="${isRtl ? "chevron-up" : "chevron-down"}" class="${cx("h-6 w-12 rotate-90 grid place-items-center")}"></sd-3-6-0-icon></button>` : ""}<div part="scroll-container" class="flex overflow-x-auto focus-visible:focus-outline !outline-offset-0"><div part="tabs" class="${cx("flex flex-auto relative flex-row")}" role="tablist"><div part="separation" class="w-full h-[1px] bg-neutral-400 absolute bottom-0"></div><slot name="nav" @slotchange="${this.syncTabsAndPanels}"></slot></div></div>${this.hasScrollControls ? html`<button part="scroll-button--end" exportparts="base:scroll-button__base" class="${cx(
214
+ )}" @click="${this.handleScrollToStart}"><sd-3-7-0-icon library="system" name="${isRtl ? "chevron-up" : "chevron-down"}" class="${cx("h-6 w-12 rotate-90 grid place-items-center")}"></sd-3-7-0-icon></button>` : ""}<div part="scroll-container" class="flex overflow-x-auto focus-visible:focus-outline !outline-offset-0"><div part="tabs" class="${cx("flex flex-auto relative flex-row")}" role="tablist"><div part="separation" class="w-full h-[1px] bg-neutral-400 absolute bottom-0"></div><slot name="nav" @slotchange="${this.syncTabsAndPanels}"></slot></div></div>${this.hasScrollControls ? html`<button part="scroll-button--end" exportparts="base:scroll-button__base" class="${cx(
215
215
  "sd-interactive flex items-center justify-center absolute top-0 bottom-0 right-0 !outline-offset-0 border-b border-neutral-400 z-10",
216
216
  this.localize.dir() === "rtl" && "right-auto left-0"
217
- )}" @click="${this.handleScrollToEnd}"><sd-3-6-0-icon library="system" name="${isRtl ? "chevron-down" : "chevron-up"}" class="${cx("h-6 w-12 rotate-90 grid place-items-center")}"></sd-3-6-0-icon></button>` : ""}</div><slot part="body" class="${cx("block auto py-8 px-6", this.variant === "container" && "border border-neutral-400 border-t-0")}" @slotchange="${this.syncTabsAndPanels}"></slot></div>`;
217
+ )}" @click="${this.handleScrollToEnd}"><sd-3-7-0-icon library="system" name="${isRtl ? "chevron-down" : "chevron-up"}" class="${cx("h-6 w-12 rotate-90 grid place-items-center")}"></sd-3-7-0-icon></button>` : ""}</div><slot part="body" class="${cx("block auto py-8 px-6", this.variant === "container" && "border border-neutral-400 border-t-0")}" @slotchange="${this.syncTabsAndPanels}"></slot></div>`;
218
218
  }
219
219
  };
220
220
  SdTabGroup.styles = [
221
221
  SolidElement.styles,
222
222
  unsafeCSS(InteractiveStyles),
223
223
  componentStyles,
224
- css`:host{box-sizing:border-box;display:block}[part=scroll-container]{scrollbar-width:none}[part=scroll-container]::-webkit-scrollbar{height:var(--sd-spacing-0,0);width:var(--sd-spacing-0,0)}::slotted(sd-3-6-0-tab-panel){--padding:1rem 0}`
224
+ css`:host{box-sizing:border-box;display:block}[part=scroll-container]{scrollbar-width:none}[part=scroll-container]::-webkit-scrollbar{height:var(--sd-spacing-0,0);width:var(--sd-spacing-0,0)}::slotted(sd-3-7-0-tab-panel){--padding:1rem 0}`
225
225
  ];
226
226
  __decorateClass([
227
227
  query("[part=base]")
@@ -242,7 +242,7 @@ __decorateClass([
242
242
  property()
243
243
  ], SdTabGroup.prototype, "activation", 2);
244
244
  SdTabGroup = __decorateClass([
245
- customElement("sd-3-6-0-tab-group")
245
+ customElement("sd-3-7-0-tab-group")
246
246
  ], SdTabGroup);
247
247
  export {
248
248
  SdTabGroup as default
@@ -11,6 +11,6 @@ export default class SdTabPanel extends SolidElement {
11
11
  }
12
12
  declare global {
13
13
  interface HTMLElementTagNameMap {
14
- 'sd-3-6-0-tab-panel': SdTabPanel;
14
+ 'sd-3-7-0-tab-panel': SdTabPanel;
15
15
  }
16
16
  }