@solid-design-system/components 3.22.8 → 3.22.10

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 (164) hide show
  1. package/dist/components/es/notification.js +1 -1
  2. package/dist/components/es/scrollable.js +1 -1
  3. package/dist/components/es/solid-components2.js +2 -2
  4. package/dist/components/es/tab-group.js +1 -1
  5. package/dist/components/es/teaser-media.js +1 -1
  6. package/dist/components/umd/solid-components.js +17 -17
  7. package/dist/custom-elements.json +1 -1
  8. package/dist/package/components/notification/notification.js +1 -1
  9. package/dist/package/components/scrollable/scrollable.d.ts +4 -1
  10. package/dist/package/components/scrollable/scrollable.js +43 -17
  11. package/dist/package/components/tab-group/tab-group.js +1 -1
  12. package/dist/package/components/teaser-media/teaser-media.js +1 -1
  13. package/dist/package/styles/tailwind.css.js +1 -1
  14. package/dist/package/translations/de.js +10 -10
  15. package/dist/package/translations/en.js +14 -14
  16. package/dist/package/utilities/localize.d.ts +8 -8
  17. package/dist/styles/solid-styles.css +1 -1
  18. package/dist/versioned-components/es/accordion-group.js +1 -1
  19. package/dist/versioned-components/es/accordion.js +1 -1
  20. package/dist/versioned-components/es/audio.js +1 -1
  21. package/dist/versioned-components/es/badge.js +1 -1
  22. package/dist/versioned-components/es/brandshape.js +1 -1
  23. package/dist/versioned-components/es/button.js +1 -1
  24. package/dist/versioned-components/es/carousel-item.js +1 -1
  25. package/dist/versioned-components/es/carousel.js +3 -3
  26. package/dist/versioned-components/es/checkbox-group.js +1 -1
  27. package/dist/versioned-components/es/checkbox.js +1 -1
  28. package/dist/versioned-components/es/dialog.js +1 -1
  29. package/dist/versioned-components/es/divider.js +1 -1
  30. package/dist/versioned-components/es/drawer.js +1 -1
  31. package/dist/versioned-components/es/dropdown.js +1 -1
  32. package/dist/versioned-components/es/expandable.js +1 -1
  33. package/dist/versioned-components/es/flipcard.js +1 -1
  34. package/dist/versioned-components/es/form.js +1 -1
  35. package/dist/versioned-components/es/header.js +1 -1
  36. package/dist/versioned-components/es/icon.js +1 -1
  37. package/dist/versioned-components/es/include.js +1 -1
  38. package/dist/versioned-components/es/input.js +1 -1
  39. package/dist/versioned-components/es/link.js +1 -1
  40. package/dist/versioned-components/es/map-marker.js +1 -1
  41. package/dist/versioned-components/es/navigation-item.js +1 -1
  42. package/dist/versioned-components/es/notification.js +1 -1
  43. package/dist/versioned-components/es/option.js +1 -1
  44. package/dist/versioned-components/es/quickfact.js +1 -1
  45. package/dist/versioned-components/es/radio-button.js +1 -1
  46. package/dist/versioned-components/es/radio-group.js +1 -1
  47. package/dist/versioned-components/es/radio.js +1 -1
  48. package/dist/versioned-components/es/scrollable.js +1 -1
  49. package/dist/versioned-components/es/select.js +3 -3
  50. package/dist/versioned-components/es/solid-components2.js +2 -2
  51. package/dist/versioned-components/es/spinner.js +1 -1
  52. package/dist/versioned-components/es/step-group.js +1 -1
  53. package/dist/versioned-components/es/step.js +1 -1
  54. package/dist/versioned-components/es/switch.js +1 -1
  55. package/dist/versioned-components/es/tab-group.js +1 -1
  56. package/dist/versioned-components/es/tab-panel.js +1 -1
  57. package/dist/versioned-components/es/tab.js +1 -1
  58. package/dist/versioned-components/es/tag.js +1 -1
  59. package/dist/versioned-components/es/teaser-media.js +1 -1
  60. package/dist/versioned-components/es/teaser.js +1 -1
  61. package/dist/versioned-components/es/textarea.js +1 -1
  62. package/dist/versioned-components/es/tooltip.js +2 -2
  63. package/dist/versioned-components/es/video.js +1 -1
  64. package/dist/versioned-package/_components/button-group/button-group.d.ts +1 -1
  65. package/dist/versioned-package/_components/button-group/button-group.js +11 -11
  66. package/dist/versioned-package/components/accordion/accordion.d.ts +1 -1
  67. package/dist/versioned-package/components/accordion/accordion.js +2 -2
  68. package/dist/versioned-package/components/accordion-group/accordion-group.d.ts +1 -1
  69. package/dist/versioned-package/components/accordion-group/accordion-group.js +3 -3
  70. package/dist/versioned-package/components/audio/audio.d.ts +1 -1
  71. package/dist/versioned-package/components/audio/audio.js +6 -6
  72. package/dist/versioned-package/components/badge/badge.d.ts +1 -1
  73. package/dist/versioned-package/components/badge/badge.js +1 -1
  74. package/dist/versioned-package/components/brandshape/brandshape.d.ts +1 -1
  75. package/dist/versioned-package/components/brandshape/brandshape.js +1 -1
  76. package/dist/versioned-package/components/button/button.d.ts +1 -1
  77. package/dist/versioned-package/components/button/button.js +4 -4
  78. package/dist/versioned-package/components/carousel/carousel.d.ts +1 -1
  79. package/dist/versioned-package/components/carousel/carousel.js +6 -6
  80. package/dist/versioned-package/components/carousel-item/carousel-item.d.ts +1 -1
  81. package/dist/versioned-package/components/carousel-item/carousel-item.js +1 -1
  82. package/dist/versioned-package/components/checkbox/checkbox.d.ts +1 -1
  83. package/dist/versioned-package/components/checkbox/checkbox.js +3 -3
  84. package/dist/versioned-package/components/checkbox-group/checkbox-group.d.ts +1 -1
  85. package/dist/versioned-package/components/checkbox-group/checkbox-group.js +5 -5
  86. package/dist/versioned-package/components/dialog/dialog.d.ts +1 -1
  87. package/dist/versioned-package/components/dialog/dialog.js +2 -2
  88. package/dist/versioned-package/components/divider/divider.d.ts +1 -1
  89. package/dist/versioned-package/components/divider/divider.js +2 -2
  90. package/dist/versioned-package/components/drawer/drawer.d.ts +1 -1
  91. package/dist/versioned-package/components/drawer/drawer.js +2 -2
  92. package/dist/versioned-package/components/dropdown/dropdown.d.ts +1 -1
  93. package/dist/versioned-package/components/dropdown/dropdown.js +8 -8
  94. package/dist/versioned-package/components/expandable/expandable.d.ts +1 -1
  95. package/dist/versioned-package/components/expandable/expandable.js +2 -2
  96. package/dist/versioned-package/components/flipcard/flipcard.d.ts +1 -1
  97. package/dist/versioned-package/components/flipcard/flipcard.js +1 -1
  98. package/dist/versioned-package/components/header/header.d.ts +1 -1
  99. package/dist/versioned-package/components/header/header.js +4 -4
  100. package/dist/versioned-package/components/icon/icon.d.ts +1 -1
  101. package/dist/versioned-package/components/icon/icon.js +1 -1
  102. package/dist/versioned-package/components/include/include.d.ts +1 -1
  103. package/dist/versioned-package/components/include/include.js +1 -1
  104. package/dist/versioned-package/components/input/input.d.ts +1 -1
  105. package/dist/versioned-package/components/input/input.js +3 -3
  106. package/dist/versioned-package/components/link/link.d.ts +1 -1
  107. package/dist/versioned-package/components/link/link.js +2 -2
  108. package/dist/versioned-package/components/map-marker/map-marker.d.ts +1 -1
  109. package/dist/versioned-package/components/map-marker/map-marker.js +1 -1
  110. package/dist/versioned-package/components/navigation-item/navigation-item.d.ts +1 -1
  111. package/dist/versioned-package/components/navigation-item/navigation-item.js +5 -5
  112. package/dist/versioned-package/components/notification/notification.d.ts +1 -1
  113. package/dist/versioned-package/components/notification/notification.js +5 -5
  114. package/dist/versioned-package/components/option/option.d.ts +1 -1
  115. package/dist/versioned-package/components/option/option.js +2 -2
  116. package/dist/versioned-package/components/popup/popup.d.ts +1 -1
  117. package/dist/versioned-package/components/popup/popup.js +1 -1
  118. package/dist/versioned-package/components/quickfact/quickfact.d.ts +1 -1
  119. package/dist/versioned-package/components/quickfact/quickfact.js +2 -2
  120. package/dist/versioned-package/components/radio/radio.d.ts +1 -1
  121. package/dist/versioned-package/components/radio/radio.js +2 -2
  122. package/dist/versioned-package/components/radio-button/radio-button.d.ts +1 -1
  123. package/dist/versioned-package/components/radio-button/radio-button.js +2 -2
  124. package/dist/versioned-package/components/radio-group/radio-group.d.ts +2 -2
  125. package/dist/versioned-package/components/radio-group/radio-group.js +13 -13
  126. package/dist/versioned-package/components/scrollable/scrollable.d.ts +5 -2
  127. package/dist/versioned-package/components/scrollable/scrollable.js +45 -19
  128. package/dist/versioned-package/components/select/select.d.ts +4 -4
  129. package/dist/versioned-package/components/select/select.js +25 -25
  130. package/dist/versioned-package/components/spinner/spinner.d.ts +1 -1
  131. package/dist/versioned-package/components/spinner/spinner.js +1 -1
  132. package/dist/versioned-package/components/step/step.d.ts +1 -1
  133. package/dist/versioned-package/components/step/step.js +2 -2
  134. package/dist/versioned-package/components/step-group/step-group.d.ts +1 -1
  135. package/dist/versioned-package/components/step-group/step-group.js +2 -2
  136. package/dist/versioned-package/components/switch/switch.d.ts +1 -1
  137. package/dist/versioned-package/components/switch/switch.js +1 -1
  138. package/dist/versioned-package/components/tab/tab.d.ts +1 -1
  139. package/dist/versioned-package/components/tab/tab.js +2 -2
  140. package/dist/versioned-package/components/tab-group/tab-group.d.ts +1 -1
  141. package/dist/versioned-package/components/tab-group/tab-group.js +13 -13
  142. package/dist/versioned-package/components/tab-panel/tab-panel.d.ts +1 -1
  143. package/dist/versioned-package/components/tab-panel/tab-panel.js +2 -2
  144. package/dist/versioned-package/components/tag/tag.d.ts +1 -1
  145. package/dist/versioned-package/components/tag/tag.js +2 -2
  146. package/dist/versioned-package/components/teaser/teaser.js +1 -1
  147. package/dist/versioned-package/components/teaser-media/teaser-media.js +2 -2
  148. package/dist/versioned-package/components/textarea/textarea.d.ts +1 -1
  149. package/dist/versioned-package/components/textarea/textarea.js +2 -2
  150. package/dist/versioned-package/components/tooltip/tooltip.d.ts +1 -1
  151. package/dist/versioned-package/components/tooltip/tooltip.js +5 -5
  152. package/dist/versioned-package/components/video/video.d.ts +1 -1
  153. package/dist/versioned-package/components/video/video.js +2 -2
  154. package/dist/versioned-package/internal/form.js +3 -3
  155. package/dist/versioned-package/styles/headline/headline.css.js +1 -1
  156. package/dist/versioned-package/styles/tailwind.css.js +1 -1
  157. package/dist/versioned-package/translations/de.js +10 -10
  158. package/dist/versioned-package/translations/en.js +14 -14
  159. package/dist/versioned-package/utilities/autocomplete-config.js +4 -4
  160. package/dist/versioned-package/utilities/localize.d.ts +8 -8
  161. package/dist/versioned-styles/solid-styles.css +1 -1
  162. package/dist/vscode.html-custom-data.json +45 -45
  163. package/dist/web-types.json +66 -46
  164. package/package.json +2 -2
@@ -115,16 +115,16 @@ let SdNavigationItem = class extends SolidElement {
115
115
  isAccordion ? "grow" : "w-full",
116
116
  slots["description"] || this.separated ? "pb-1" : horizontalPaddingBottom,
117
117
  this.calculatePaddingX
118
- )}">${this.divider && this.vertical ? html`<sd-3-22-8-divider part="divider" class="${cx("w-full transition-all absolute -top-0.25 left-0", this.calculatePaddingX)}"></sd-3-22-8-divider>` : ""} <span part="content-container" class="inline-flex items-center flex-auto">${this.separated ? html`<a class="${cx(
118
+ )}">${this.divider && this.vertical ? html`<sd-3-22-10-divider part="divider" class="${cx("w-full transition-all absolute -top-0.25 left-0", this.calculatePaddingX)}"></sd-3-22-10-divider>` : ""} <span part="content-container" class="inline-flex items-center flex-auto">${this.separated ? html`<a class="${cx(
119
119
  "mr-4 w-full inline-flex items-center pl-4 cursor-pointer relative focus-visible:focus-outline hover:bg-neutral-200 group transition-all min-h-[48px]",
120
120
  !slots["description"] && "py-4"
121
- )}" href="${ifDefined(isLink ? this.href : void 0)}" target="${ifDefined(isLink ? this.target : void 0)}" download="${ifDefined(isLink ? this.download : void 0)}"><slot part="content" class="inline"></slot></a>` : html`<slot part="content" class="inline"></slot>`} </span>${(this.chevron || slots["children"]) && this.vertical ? this.separated ? html`<button type="button" title="toggle-details" class="sd-interactive sd-interactive--reset" @click="${this.handleClickSummary}"><sd-3-22-8-icon name="chevron-down" part="chevron" library="system" color="currentColor" class="${cx(
121
+ )}" href="${ifDefined(isLink ? this.href : void 0)}" target="${ifDefined(isLink ? this.target : void 0)}" download="${ifDefined(isLink ? this.download : void 0)}"><slot part="content" class="inline"></slot></a>` : html`<slot part="content" class="inline"></slot>`} </span>${(this.chevron || slots["children"]) && this.vertical ? this.separated ? html`<button type="button" title="toggle-details" class="sd-interactive sd-interactive--reset" @click="${this.handleClickSummary}"><sd-3-22-10-icon name="chevron-down" part="chevron" library="system" color="currentColor" class="${cx(
122
122
  "mr-4 h-6 w-6 transition-all",
123
123
  isAccordion || this.separated ? this.open ? "rotate-180" : "rotate-0" : "rotate-[270deg]"
124
- )}"></sd-3-22-8-icon></button>` : html`<sd-3-22-8-icon name="chevron-down" part="chevron" library="system" color="currentColor" class="${cx(
124
+ )}"></sd-3-22-10-icon></button>` : html`<sd-3-22-10-icon name="chevron-down" part="chevron" library="system" color="currentColor" class="${cx(
125
125
  "h-6 w-6 ml-2 transition-all",
126
126
  isAccordion ? this.open ? "rotate-180" : "rotate-0" : "rotate-[270deg]"
127
- )}"></sd-3-22-8-icon>` : ""} </span>${slots["description"] && this.vertical ? html`<slot name="description" part="description" class="${cx(
127
+ )}"></sd-3-22-10-icon>` : ""} </span>${slots["description"] && this.vertical ? html`<slot name="description" part="description" class="${cx(
128
128
  "inline-block text-sm text-left text-black",
129
129
  isAccordion || this.separated ? "grow" : "w-full",
130
130
  this.separated ? "px-4" : this.calculatePaddingX,
@@ -185,7 +185,7 @@ __decorateClass([
185
185
  property({ type: Boolean, reflect: true })
186
186
  ], SdNavigationItem.prototype, "separated", 2);
187
187
  SdNavigationItem = __decorateClass([
188
- customElement("sd-3-22-8-navigation-item")
188
+ customElement("sd-3-22-10-navigation-item")
189
189
  ], SdNavigationItem);
190
190
  export {
191
191
  SdNavigationItem as default
@@ -27,6 +27,6 @@ export default class SdNotification extends SolidElement {
27
27
  }
28
28
  declare global {
29
29
  interface HTMLElementTagNameMap {
30
- 'sd-3-22-8-notification': SdNotification;
30
+ 'sd-3-22-10-notification': SdNotification;
31
31
  }
32
32
  }
@@ -128,7 +128,7 @@ let SdNotification = class extends SolidElement {
128
128
  () => {
129
129
  toastStack.removeChild(this);
130
130
  resolve();
131
- if (toastStack.querySelector("sd-3-22-8-notification") === null) {
131
+ if (toastStack.querySelector("sd-3-22-10-notification") === null) {
132
132
  toastStack.remove();
133
133
  }
134
134
  },
@@ -145,15 +145,15 @@ let SdNotification = class extends SolidElement {
145
145
  warning: "bg-warning",
146
146
  error: "bg-error"
147
147
  }[this.variant]
148
- )}"><sd-3-22-8-icon name="${{
148
+ )}"><sd-3-22-10-icon name="${{
149
149
  info: "info-circle",
150
150
  success: "confirm-circle",
151
151
  warning: "exclamation-circle",
152
152
  error: "warning"
153
- }[this.variant] || ""}" library="system" class="h-6 w-6 text-white"></sd-3-22-8-icon></slot><div part="content" class="${cx(
153
+ }[this.variant] || ""}" library="system" class="h-6 w-6 text-white"></sd-3-22-10-icon></slot><div part="content" class="${cx(
154
154
  "h-full w-full p-1 gap-2 flex items-center justify-stretch bg-white",
155
155
  "border-solid border-[1px] border-l-0 border-neutral-400"
156
- )}"><slot part="message" class="block w-full pl-3 py-2" aria-live="polite"></slot>${this.closable ? html`<sd-3-22-8-button size="md" variant="tertiary" part="close-button" class="ml-auto flex flex-[0_0_auto] items-stretch" @click="${this.handleCloseClick}"><sd-3-22-8-icon label="${this.localize.term("close")}" name="close" library="system" color="currentColor"></sd-3-22-8-icon></sd-3-22-8-button>` : ""}</div>${this.durationIndicator ? html`<div part="duration-indicator__elapsed" id="duration-indicator__elapsed" style="${`animation-duration: ${this.duration}ms`}" class="${cx(`absolute w-0 h-[2px] bottom-0 bg-primary z-10 animate-grow`)}"></div><div part="duration-indicator__total" class="w-full h-[2px] bottom-0 absolute bg-neutral-400"></div>` : ""}</div>`;
156
+ )}"><slot part="message" class="block w-full pl-3 py-2" aria-live="polite"></slot>${this.closable ? html`<sd-3-22-10-button size="md" variant="tertiary" part="close-button" class="ml-auto flex flex-[0_0_auto] items-stretch" @click="${this.handleCloseClick}"><sd-3-22-10-icon label="${this.localize.term("close")}" name="close" library="system" color="currentColor"></sd-3-22-10-icon></sd-3-22-10-button>` : ""}</div>${this.durationIndicator ? html`<div part="duration-indicator__elapsed" id="duration-indicator__elapsed" style="${`animation-duration: ${this.duration}ms`}" class="${cx(`absolute w-0 h-[2px] bottom-0 bg-primary z-10 animate-grow`)}"></div><div part="duration-indicator__total" class="w-full h-[2px] bottom-0 absolute border border-neutral-400"></div>` : ""}</div>`;
157
157
  }
158
158
  };
159
159
  SdNotification.styles = [
@@ -189,7 +189,7 @@ __decorateClass([
189
189
  watch("duration")
190
190
  ], SdNotification.prototype, "handleDurationChange", 1);
191
191
  SdNotification = __decorateClass([
192
- customElement("sd-3-22-8-notification")
192
+ customElement("sd-3-22-10-notification")
193
193
  ], SdNotification);
194
194
  setDefaultAnimation("notification.show", {
195
195
  keyframes: [
@@ -24,6 +24,6 @@ export default class SdOption extends SolidElement {
24
24
  }
25
25
  declare global {
26
26
  interface HTMLElementTagNameMap {
27
- 'sd-3-22-8-option': SdOption;
27
+ 'sd-3-22-10-option': SdOption;
28
28
  }
29
29
  }
@@ -91,7 +91,7 @@ let SdOption = class extends SolidElement {
91
91
  )}"></span> ${this.checkbox ? html`<span id="control" part="control ${this.selected ? " control--checked" : "control--unchecked"}" class="${cx(
92
92
  "relative flex flex-shrink-0 items-center justify-center border rounded-sm h-4 w-4 mr-2",
93
93
  this.disabled ? "border-neutral-500" : this.selected ? "bg-accent border-accent" : "border-neutral-800"
94
- )}">${this.selected ? html`<sd-3-22-8-icon part="checked-icon" class="text-white w-3 h-3" library="system" name="status-check"></sd-3-22-8-icon>` : ""}</span>` : ""} ${slots["left"] ? html`<slot name="left" part="left" class="inline-flex mr-2"></slot>` : ""}<slot part="label" class="inline-block flex-grow" @slotchange="${this.handleDefaultSlotChange}"></slot>${slots["right"] ? html`<slot name="right" part="right" class="inline-flex ml-2"></slot>` : ""}</div>`;
94
+ )}">${this.selected ? html`<sd-3-22-10-icon part="checked-icon" class="text-white w-3 h-3" library="system" name="status-check"></sd-3-22-10-icon>` : ""}</span>` : ""} ${slots["left"] ? html`<slot name="left" part="left" class="inline-flex mr-2"></slot>` : ""}<slot part="label" class="inline-block flex-grow" @slotchange="${this.handleDefaultSlotChange}"></slot>${slots["right"] ? html`<slot name="right" part="right" class="inline-flex ml-2"></slot>` : ""}</div>`;
95
95
  }
96
96
  };
97
97
  SdOption.styles = [
@@ -133,7 +133,7 @@ __decorateClass([
133
133
  watch("value")
134
134
  ], SdOption.prototype, "handleValueChange", 1);
135
135
  SdOption = __decorateClass([
136
- customElement("sd-3-22-8-option")
136
+ customElement("sd-3-22-10-option")
137
137
  ], SdOption);
138
138
  export {
139
139
  SdOption as default
@@ -40,6 +40,6 @@ export default class SdPopup extends SolidElement {
40
40
  }
41
41
  declare global {
42
42
  interface HTMLElementTagNameMap {
43
- 'sd-3-22-8-popup': SdPopup;
43
+ 'sd-3-22-10-popup': SdPopup;
44
44
  }
45
45
  }
@@ -328,7 +328,7 @@ __decorateClass([
328
328
  property({ attribute: "auto-size-padding", type: Number })
329
329
  ], SdPopup.prototype, "autoSizePadding", 2);
330
330
  SdPopup = __decorateClass([
331
- customElement("sd-3-22-8-popup")
331
+ customElement("sd-3-22-10-popup")
332
332
  ], SdPopup);
333
333
  export {
334
334
  SdPopup as default
@@ -7,6 +7,6 @@ export default class SdQuickfact extends SdAccordion {
7
7
  }
8
8
  declare global {
9
9
  interface HTMLElementTagNameMap {
10
- 'sd-3-22-8-quickfact': SdQuickfact;
10
+ 'sd-3-22-10-quickfact': SdQuickfact;
11
11
  }
12
12
  }
@@ -32,7 +32,7 @@ let SdQuickfact = class extends SdAccordion {
32
32
  "flex flex-grow-0 flex-shrink-0 flex-auto self-start sm:self-center transition-all ease-in-out duration-300 text-xl sm:text-4xl sm:mt-2",
33
33
  this.open && "rotate-180",
34
34
  !this.expandable && "hidden"
35
- )}"><slot name="expand-icon" class="${cx(this.open && "hidden")}"><sd-3-22-8-icon library="system" name="chevron-down"></sd-3-22-8-icon></slot><slot name="collapse-icon" class="${cx(!this.open && "hidden")}"><sd-3-22-8-icon library="system" name="chevron-down"></sd-3-22-8-icon></slot></span></header><div part="content" id="content" class="${cx("overflow-hidden", !this.expandable && "hidden")}"><slot part="content__slot" class="block" role="region" aria-labelledby="header"></slot></div></div>`;
35
+ )}"><slot name="expand-icon" class="${cx(this.open && "hidden")}"><sd-3-22-10-icon library="system" name="chevron-down"></sd-3-22-10-icon></slot><slot name="collapse-icon" class="${cx(!this.open && "hidden")}"><sd-3-22-10-icon library="system" name="chevron-down"></sd-3-22-10-icon></slot></span></header><div part="content" id="content" class="${cx("overflow-hidden", !this.expandable && "hidden")}"><slot part="content__slot" class="block" role="region" aria-labelledby="header"></slot></div></div>`;
36
36
  }
37
37
  };
38
38
  SdQuickfact.styles = [
@@ -43,7 +43,7 @@ __decorateClass([
43
43
  property({ type: Boolean, reflect: true })
44
44
  ], SdQuickfact.prototype, "expandable", 2);
45
45
  SdQuickfact = __decorateClass([
46
- customElement("sd-3-22-8-quickfact")
46
+ customElement("sd-3-22-10-quickfact")
47
47
  ], SdQuickfact);
48
48
  setDefaultAnimation("quickfact.show", {
49
49
  keyframes: [
@@ -22,6 +22,6 @@ export default class SdRadio extends SolidElement {
22
22
  }
23
23
  declare global {
24
24
  interface HTMLElementTagNameMap {
25
- 'sd-3-22-8-radio': SdRadio;
25
+ 'sd-3-22-10-radio': SdRadio;
26
26
  }
27
27
  }
@@ -72,7 +72,7 @@ let SdRadio = class extends SolidElement {
72
72
  }
73
73
  render() {
74
74
  return html`<span part="base" class="${cx(
75
- "sd-3-22-8-radio group inline-flex items-start items-center text-base leading-normal text-black cursor-pointer align-middle",
75
+ "sd-3-22-10-radio group inline-flex items-start items-center text-base leading-normal text-black cursor-pointer align-middle",
76
76
  this.disabled && "hover:cursor-not-allowed",
77
77
  {
78
78
  /* sizes, fonts */
@@ -121,7 +121,7 @@ __decorateClass([
121
121
  watch("disabled", { waitUntilFirstUpdate: true })
122
122
  ], SdRadio.prototype, "handleDisabledChange", 1);
123
123
  SdRadio = __decorateClass([
124
- customElement("sd-3-22-8-radio")
124
+ customElement("sd-3-22-10-radio")
125
125
  ], SdRadio);
126
126
  export {
127
127
  SdRadio as default
@@ -20,6 +20,6 @@ export default class SdRadioButton extends SolidElement {
20
20
  }
21
21
  declare global {
22
22
  interface HTMLElementTagNameMap {
23
- 'sd-3-22-8-radio-button': SdRadioButton;
23
+ 'sd-3-22-10-radio-button': SdRadioButton;
24
24
  }
25
25
  }
@@ -83,7 +83,7 @@ let SdRadioButton = class extends SolidElement {
83
83
  SdRadioButton.styles = [
84
84
  SolidElement.styles,
85
85
  componentStyles,
86
- css`:host{display:block;width:-moz-min-content;width:min-content}.hidden-input{all:unset;position:absolute;inset:var(--sd-spacing-0,0);z-index:-10;opacity:var(--sd-opacity-0,0);outline-style:dotted;outline-width:1px;outline-color:rgb(var(--sd-color-error,204 25 55) / 1)}.lg-label{height:var(--sd-spacing-12,3rem)}.lg-no-label{height:var(--sd-spacing-12,3rem);width:var(--sd-spacing-12,3rem)}.md-label{height:var(--sd-spacing-10,2.5rem)}.md-no-label{height:var(--sd-spacing-10,2.5rem);width:var(--sd-spacing-10,2.5rem)}.sm-label{height:var(--sd-spacing-8,2rem)}.sm-no-label{height:var(--sd-spacing-8,2rem);width:var(--sd-spacing-8,2rem)}:host(.sd-3-22-8-button-group__button--first:not(.sd-3-22-8-button-group__button--last)) button{border-top-right-radius:var(--sd-border-radius-none,0);border-bottom-right-radius:var(--sd-border-radius-none,0)}:host(.sd-3-22-8-button-group__button--inner) button{border-radius:var(--sd-border-radius-none,0)}:host(.sd-3-22-8-button-group__button--last:not(.sd-3-22-8-button-group__button--first)) button{border-top-left-radius:var(--sd-border-radius-none,0);border-bottom-left-radius:var(--sd-border-radius-none,0)}:host(.sd-3-22-8-button-group__button:not(.sd-3-22-8-button-group__button--first)){margin-inline-start:-1px}:host(.sd-3-22-8-button-group__button--hover){z-index:10}:host(.sd-3-22-8-button-group__button--focus),:host(.sd-3-22-8-button-group__button[checked]){z-index:20}`
86
+ css`:host{display:block;width:-moz-min-content;width:min-content}.hidden-input{all:unset;position:absolute;inset:var(--sd-spacing-0,0);z-index:-10;opacity:var(--sd-opacity-0,0);outline-style:dotted;outline-width:1px;outline-color:rgb(var(--sd-color-error,204 25 55) / 1)}.lg-label{height:var(--sd-spacing-12,3rem)}.lg-no-label{height:var(--sd-spacing-12,3rem);width:var(--sd-spacing-12,3rem)}.md-label{height:var(--sd-spacing-10,2.5rem)}.md-no-label{height:var(--sd-spacing-10,2.5rem);width:var(--sd-spacing-10,2.5rem)}.sm-label{height:var(--sd-spacing-8,2rem)}.sm-no-label{height:var(--sd-spacing-8,2rem);width:var(--sd-spacing-8,2rem)}:host(.sd-3-22-10-button-group__button--first:not(.sd-3-22-10-button-group__button--last)) button{border-top-right-radius:var(--sd-border-radius-none,0);border-bottom-right-radius:var(--sd-border-radius-none,0)}:host(.sd-3-22-10-button-group__button--inner) button{border-radius:var(--sd-border-radius-none,0)}:host(.sd-3-22-10-button-group__button--last:not(.sd-3-22-10-button-group__button--first)) button{border-top-left-radius:var(--sd-border-radius-none,0);border-bottom-left-radius:var(--sd-border-radius-none,0)}:host(.sd-3-22-10-button-group__button:not(.sd-3-22-10-button-group__button--first)){margin-inline-start:-1px}:host(.sd-3-22-10-button-group__button--hover){z-index:10}:host(.sd-3-22-10-button-group__button--focus),:host(.sd-3-22-10-button-group__button[checked]){z-index:20}`
87
87
  ];
88
88
  __decorateClass([
89
89
  query(".button")
@@ -110,7 +110,7 @@ __decorateClass([
110
110
  watch("disabled", { waitUntilFirstUpdate: true })
111
111
  ], SdRadioButton.prototype, "handleDisabledChange", 1);
112
112
  SdRadioButton = __decorateClass([
113
- customElement("sd-3-22-8-radio-button")
113
+ customElement("sd-3-22-10-radio-button")
114
114
  ], SdRadioButton);
115
115
  export {
116
116
  SdRadioButton as default
@@ -4,7 +4,7 @@ import SolidElement from '../../internal/solid-element';
4
4
  import type { SolidFormControl } from '../../internal/solid-element';
5
5
  export default class SdRadioGroup extends SolidElement implements SolidFormControl {
6
6
  static dependencies: {
7
- 'sd-3-22-8-button-group': typeof SdButtonGroup;
7
+ 'sd-3-22-10-button-group': typeof SdButtonGroup;
8
8
  };
9
9
  protected readonly formControlController: FormControlController;
10
10
  private readonly hasSlotController;
@@ -48,6 +48,6 @@ export default class SdRadioGroup extends SolidElement implements SolidFormContr
48
48
  }
49
49
  declare global {
50
50
  interface HTMLElementTagNameMap {
51
- 'sd-3-22-8-radio-group': SdRadioGroup;
51
+ 'sd-3-22-10-radio-group': SdRadioGroup;
52
52
  }
53
53
  }
@@ -67,10 +67,10 @@ let SdRadioGroup = class extends SolidElement {
67
67
  this.formControlController.updateValidity();
68
68
  }
69
69
  getAllRadios() {
70
- return [...this.querySelectorAll("sd-3-22-8-radio, sd-3-22-8-radio-button")];
70
+ return [...this.querySelectorAll("sd-3-22-10-radio, sd-3-22-10-radio-button")];
71
71
  }
72
72
  handleRadioClick(event) {
73
- const target = event.target.closest("sd-3-22-8-radio, sd-3-22-8-radio-button");
73
+ const target = event.target.closest("sd-3-22-10-radio, sd-3-22-10-radio-button");
74
74
  const radios = this.getAllRadios();
75
75
  const oldValue = this.value;
76
76
  if (target.disabled) {
@@ -146,7 +146,7 @@ let SdRadioGroup = class extends SolidElement {
146
146
  }
147
147
  })
148
148
  );
149
- this.hasButtonGroup = radios.some((radio) => radio.tagName.toLowerCase() === "sd-3-22-8-radio-button");
149
+ this.hasButtonGroup = radios.some((radio) => radio.tagName.toLowerCase() === "sd-3-22-10-radio-button");
150
150
  if (!radios.some((radio) => radio.checked)) {
151
151
  if (this.hasButtonGroup) {
152
152
  const buttonRadio = (_a = radios[0].shadowRoot) == null ? void 0 : _a.querySelector("button");
@@ -158,26 +158,26 @@ let SdRadioGroup = class extends SolidElement {
158
158
  }
159
159
  }
160
160
  if (this.hasButtonGroup) {
161
- const buttonGroup = (_b = this.shadowRoot) == null ? void 0 : _b.querySelector("sd-3-22-8-button-group");
161
+ const buttonGroup = (_b = this.shadowRoot) == null ? void 0 : _b.querySelector("sd-3-22-10-button-group");
162
162
  if (buttonGroup) {
163
163
  buttonGroup.disableRole = true;
164
164
  }
165
165
  }
166
166
  }
167
167
  syncRadios() {
168
- if (customElements.get("sd-3-22-8-radio") && customElements.get("sd-3-22-8-radio-button")) {
168
+ if (customElements.get("sd-3-22-10-radio") && customElements.get("sd-3-22-10-radio-button")) {
169
169
  this.syncRadioElements();
170
170
  return;
171
171
  }
172
- if (customElements.get("sd-3-22-8-radio")) {
172
+ if (customElements.get("sd-3-22-10-radio")) {
173
173
  this.syncRadioElements();
174
174
  } else {
175
- customElements.whenDefined("sd-3-22-8-radio").then(() => this.syncRadios());
175
+ customElements.whenDefined("sd-3-22-10-radio").then(() => this.syncRadios());
176
176
  }
177
- if (customElements.get("sd-3-22-8-radio-button")) {
177
+ if (customElements.get("sd-3-22-10-radio-button")) {
178
178
  this.syncRadioElements();
179
179
  } else {
180
- customElements.whenDefined("sd-3-22-8-radio-button").then(() => this.syncRadios());
180
+ customElements.whenDefined("sd-3-22-10-radio-button").then(() => this.syncRadios());
181
181
  }
182
182
  }
183
183
  updateCheckedRadio() {
@@ -249,14 +249,14 @@ let SdRadioGroup = class extends SolidElement {
249
249
  vertical: "flex-col",
250
250
  horizontal: "flex-row"
251
251
  }[this.orientation]
252
- )}"><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-22-8-button-group part="button-group" exportparts="base:button-group__base" role="presentation">${defaultSlot}</sd-3-22-8-button-group>` : defaultSlot}</div></fieldset>${this.formControlController.renderInvalidMessage()}`;
252
+ )}"><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-22-10-button-group part="button-group" exportparts="base:button-group__base" role="presentation">${defaultSlot}</sd-3-22-10-button-group>` : defaultSlot}</div></fieldset>${this.formControlController.renderInvalidMessage()}`;
253
253
  }
254
254
  };
255
- SdRadioGroup.dependencies = { "sd-3-22-8-button-group": SdButtonGroup };
255
+ SdRadioGroup.dependencies = { "sd-3-22-10-button-group": SdButtonGroup };
256
256
  SdRadioGroup.styles = [
257
257
  componentStyles,
258
258
  SolidElement.styles,
259
- css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-22-8-radio){margin-bottom:var(--sd-spacing-2,.5rem);display:flex}:host([orientation=vertical]) ::slotted(sd-3-22-8-radio:last-of-type){margin-bottom:var(--sd-spacing-0,0)}:host([orientation=horizontal]) ::slotted(sd-3-22-8-radio){margin-right:var(--sd-spacing-6,1.5rem)}:host([orientation=horizontal]) ::slotted(sd-3-22-8-radio:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-22-8-radio){margin-right:var(--sd-spacing-4,1rem)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-22-8-radio:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([required]) #label::after{content:' *'}`
259
+ css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-22-10-radio){margin-bottom:var(--sd-spacing-2,.5rem);display:flex}:host([orientation=vertical]) ::slotted(sd-3-22-10-radio:last-of-type){margin-bottom:var(--sd-spacing-0,0)}:host([orientation=horizontal]) ::slotted(sd-3-22-10-radio){margin-right:var(--sd-spacing-6,1.5rem)}:host([orientation=horizontal]) ::slotted(sd-3-22-10-radio:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-22-10-radio){margin-right:var(--sd-spacing-4,1rem)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-22-10-radio:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([required]) #label::after{content:' *'}`
260
260
  ];
261
261
  __decorateClass([
262
262
  query("slot:not([name])")
@@ -310,7 +310,7 @@ __decorateClass([
310
310
  watch("value")
311
311
  ], SdRadioGroup.prototype, "handleValueChange", 1);
312
312
  SdRadioGroup = __decorateClass([
313
- customElement("sd-3-22-8-radio-group")
313
+ customElement("sd-3-22-10-radio-group")
314
314
  ], SdRadioGroup);
315
315
  export {
316
316
  SdRadioGroup as default
@@ -1,5 +1,7 @@
1
+ import { LocalizeController } from '../../utilities/localize';
1
2
  import SolidElement from '../../internal/solid-element';
2
3
  export default class SdScrollable extends SolidElement {
4
+ localize: LocalizeController;
3
5
  orientation: 'horizontal' | 'vertical' | 'auto';
4
6
  scrollbars: boolean;
5
7
  buttons: boolean;
@@ -9,6 +11,7 @@ export default class SdScrollable extends SolidElement {
9
11
  private canScroll;
10
12
  private isScrollHorizontalEnabled;
11
13
  private isScrollVerticalEnabled;
14
+ private isKeyboardNavigation;
12
15
  private resizeObserver;
13
16
  private scrollContainer;
14
17
  connectedCallback(): void;
@@ -17,12 +20,12 @@ export default class SdScrollable extends SolidElement {
17
20
  private updateScrollEnabledFlags;
18
21
  private get container();
19
22
  updateScrollIndicatorVisibility(): void;
20
- handleScroll(direction: 'left' | 'right' | 'up' | 'down'): void;
23
+ handleScroll(direction: 'left' | 'right' | 'up' | 'down', event?: PointerEvent): void;
21
24
  render(): import("lit").TemplateResult<1>;
22
25
  static styles: import("lit").CSSResultGroup[];
23
26
  }
24
27
  declare global {
25
28
  interface HTMLElementTagNameMap {
26
- 'sd-3-22-8-scrollable': SdScrollable;
29
+ 'sd-3-22-10-scrollable': SdScrollable;
27
30
  }
28
31
  }
@@ -1,5 +1,6 @@
1
1
  import { unsafeCSS, css, html } from "lit";
2
2
  import { customElement } from "../../internal/register-custom-element.js";
3
+ import { LocalizeController } from "../../utilities/localize.js";
3
4
  import { property, state } from "lit/decorators.js";
4
5
  import componentStyles from "../../styles/component.styles.js";
5
6
  import cx from "classix";
@@ -18,6 +19,7 @@ var __decorateClass = (decorators, target, key, kind) => {
18
19
  let SdScrollable = class extends SolidElement {
19
20
  constructor() {
20
21
  super(...arguments);
22
+ this.localize = new LocalizeController(this);
21
23
  this.orientation = "horizontal";
22
24
  this.scrollbars = false;
23
25
  this.buttons = false;
@@ -32,6 +34,7 @@ let SdScrollable = class extends SolidElement {
32
34
  };
33
35
  this.isScrollHorizontalEnabled = false;
34
36
  this.isScrollVerticalEnabled = false;
37
+ this.isKeyboardNavigation = false;
35
38
  this.scrollContainer = null;
36
39
  }
37
40
  connectedCallback() {
@@ -70,29 +73,49 @@ let SdScrollable = class extends SolidElement {
70
73
  }
71
74
  updateScrollIndicatorVisibility() {
72
75
  const container = this.container;
73
- if (container) {
74
- const canScrollLeft = this.isScrollHorizontalEnabled && container.scrollLeft > 0;
75
- const canScrollRight = this.isScrollHorizontalEnabled && container.scrollLeft + container.clientWidth < container.scrollWidth - 1;
76
- const canScrollUp = this.isScrollVerticalEnabled && container.scrollTop > 0;
77
- const canScrollDown = this.isScrollVerticalEnabled && container.scrollTop + container.clientHeight < container.scrollHeight - 1;
78
- this.canScroll = {
79
- left: canScrollLeft,
80
- right: canScrollRight,
81
- up: canScrollUp,
82
- down: canScrollDown
83
- };
84
- if (canScrollLeft || canScrollUp) {
85
- this.dispatchEvent(new CustomEvent("start"));
76
+ if (!container) {
77
+ return;
78
+ }
79
+ const canScrollLeft = this.isScrollHorizontalEnabled && container.scrollLeft > 0;
80
+ const canScrollRight = this.isScrollHorizontalEnabled && container.scrollLeft + container.clientWidth < container.scrollWidth - 1;
81
+ const canScrollUp = this.isScrollVerticalEnabled && container.scrollTop > 0;
82
+ const canScrollDown = this.isScrollVerticalEnabled && container.scrollTop + container.clientHeight < container.scrollHeight - 1;
83
+ const startButton = this.renderRoot.querySelector('[part="button-start"]');
84
+ const endButton = this.renderRoot.querySelector('[part="button-end"]');
85
+ this.canScroll = {
86
+ left: this.isKeyboardNavigation ? this.isScrollHorizontalEnabled : canScrollLeft,
87
+ right: this.isKeyboardNavigation ? this.isScrollHorizontalEnabled : canScrollRight,
88
+ up: this.isKeyboardNavigation ? this.isScrollVerticalEnabled : canScrollUp,
89
+ down: this.isKeyboardNavigation ? this.isScrollVerticalEnabled : canScrollDown
90
+ };
91
+ const startEventTriggered = canScrollLeft || canScrollUp;
92
+ const endEventTriggered = canScrollRight || canScrollDown;
93
+ if (startEventTriggered) {
94
+ this.dispatchEvent(new CustomEvent("start"));
95
+ }
96
+ if (endEventTriggered) {
97
+ this.dispatchEvent(new CustomEvent("end"));
98
+ }
99
+ if (this.isKeyboardNavigation) {
100
+ if (startButton) {
101
+ startButton.hidden = !startEventTriggered;
86
102
  }
87
- if (canScrollRight || canScrollDown) {
88
- this.dispatchEvent(new CustomEvent("end"));
103
+ if (startButton && startEventTriggered && !(canScrollDown || canScrollRight)) {
104
+ startButton.focus();
105
+ }
106
+ if (endButton) {
107
+ endButton.hidden = !endEventTriggered;
108
+ }
109
+ if (endButton && endEventTriggered && !(canScrollUp || canScrollLeft)) {
110
+ endButton.focus();
89
111
  }
90
112
  }
91
113
  }
92
- handleScroll(direction) {
114
+ handleScroll(direction, event) {
93
115
  var _a;
94
116
  const scrollAmount = direction === "left" || direction === "up" ? -this.step : this.step;
95
117
  const scrollDirection = direction === "left" || direction === "right" ? "left" : "top";
118
+ this.isKeyboardNavigation = (event == null ? void 0 : event.pointerType) !== "mouse";
96
119
  const scrollOptions = {
97
120
  behavior: "smooth"
98
121
  };
@@ -111,14 +134,14 @@ let SdScrollable = class extends SolidElement {
111
134
  this.orientation === "auto" && "scroll-auto overflow-auto",
112
135
  this.scrollbars ? "show-scrollbars" : "hide-scrollbars",
113
136
  this.inset ? "p-4" : ""
114
- )}" @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-22-8-icon library="system" name="chevron-up" class="rotate-[-90deg]"></sd-3-22-8-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-22-8-icon library="system" name="chevron-down" class="rotate-[-90deg]"></sd-3-22-8-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-22-8-icon library="system" name="chevron-up"></sd-3-22-8-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-22-8-icon library="system" name="chevron-down"></sd-3-22-8-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}`;
137
+ )}" @scroll="${this.updateScrollIndicatorVisibility}" tabindex="0"><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="${(e) => this.handleScroll("left", e)}"><slot name="icon-start"><sd-3-22-10-icon library="system" name="chevron-up" class="rotate-[-90deg]" label="${this.localize.term("scrollToStart")}"></sd-3-22-10-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="${(e) => this.handleScroll("right", e)}"><slot name="icon-end"><sd-3-22-10-icon library="system" name="chevron-down" class="rotate-[-90deg]" label="${this.localize.term("scrollToEnd")}"></sd-3-22-10-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="${(e) => this.handleScroll("up", e)}"><slot name="icon-start"><sd-3-22-10-icon library="system" name="chevron-up" label="${this.localize.term("scrollToStart")}"></sd-3-22-10-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="${(e) => this.handleScroll("down", e)}"><slot name="icon-end"><sd-3-22-10-icon library="system" name="chevron-down" label="${this.localize.term("scrollToEnd")}"></sd-3-22-10-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
138
  }
116
139
  };
117
140
  SdScrollable.styles = [
118
141
  SolidElement.styles,
119
142
  unsafeCSS(InteractiveStyles),
120
143
  componentStyles,
121
- 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-22-8-icon--top{align-self:flex-start}.sd-3-22-8-icon--down{align-self:flex-end}`
144
+ 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-22-10-icon--top{align-self:flex-start}.sd-3-22-10-icon--down{align-self:flex-end}`
122
145
  ];
123
146
  __decorateClass([
124
147
  property({ type: String, reflect: true })
@@ -147,8 +170,11 @@ __decorateClass([
147
170
  __decorateClass([
148
171
  state()
149
172
  ], SdScrollable.prototype, "isScrollVerticalEnabled", 2);
173
+ __decorateClass([
174
+ state()
175
+ ], SdScrollable.prototype, "isKeyboardNavigation", 2);
150
176
  SdScrollable = __decorateClass([
151
- customElement("sd-3-22-8-scrollable")
177
+ customElement("sd-3-22-10-scrollable")
152
178
  ], SdScrollable);
153
179
  export {
154
180
  SdScrollable as default
@@ -8,9 +8,9 @@ import type { TemplateResult } from 'lit';
8
8
  import type SdOption from '../option/option';
9
9
  export default class SdSelect extends SolidElement implements SolidFormControl {
10
10
  static dependencies: {
11
- 'sd-3-22-8-icon': typeof SdIcon;
12
- 'sd-3-22-8-popup': typeof SdPopup;
13
- 'sd-3-22-8-tag': typeof SdTag;
11
+ 'sd-3-22-10-icon': typeof SdIcon;
12
+ 'sd-3-22-10-popup': typeof SdPopup;
13
+ 'sd-3-22-10-tag': typeof SdTag;
14
14
  };
15
15
  private readonly formControlController;
16
16
  private readonly hasSlotController;
@@ -98,6 +98,6 @@ export default class SdSelect extends SolidElement implements SolidFormControl {
98
98
  }
99
99
  declare global {
100
100
  interface HTMLElementTagNameMap {
101
- 'sd-3-22-8-select': SdSelect;
101
+ 'sd-3-22-10-select': SdSelect;
102
102
  }
103
103
  }