@solid-design-system/components 3.22.5 → 3.22.7

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 (160) hide show
  1. package/dist/components/es/carousel.js +8 -3
  2. package/dist/components/es/map-marker.js +1 -1
  3. package/dist/components/es/query-assigned-elements.js +1 -1
  4. package/dist/components/es/select.js +1 -1
  5. package/dist/components/es/solid-components2.js +5 -5
  6. package/dist/components/umd/solid-components.js +22 -16
  7. package/dist/custom-elements.json +1 -1
  8. package/dist/package/components/carousel/carousel.d.ts +5 -1
  9. package/dist/package/components/carousel/carousel.js +63 -23
  10. package/dist/package/components/select/select.js +1 -1
  11. package/dist/package/translations/de.js +3 -2
  12. package/dist/package/translations/en.js +3 -2
  13. package/dist/package/utilities/localize.d.ts +2 -1
  14. package/dist/versioned-components/es/accordion-group.js +1 -1
  15. package/dist/versioned-components/es/accordion.js +1 -1
  16. package/dist/versioned-components/es/audio.js +1 -1
  17. package/dist/versioned-components/es/badge.js +1 -1
  18. package/dist/versioned-components/es/brandshape.js +1 -1
  19. package/dist/versioned-components/es/button.js +1 -1
  20. package/dist/versioned-components/es/carousel-item.js +1 -1
  21. package/dist/versioned-components/es/carousel.js +8 -3
  22. package/dist/versioned-components/es/checkbox-group.js +1 -1
  23. package/dist/versioned-components/es/checkbox.js +1 -1
  24. package/dist/versioned-components/es/dialog.js +1 -1
  25. package/dist/versioned-components/es/divider.js +1 -1
  26. package/dist/versioned-components/es/drawer.js +1 -1
  27. package/dist/versioned-components/es/dropdown.js +1 -1
  28. package/dist/versioned-components/es/expandable.js +1 -1
  29. package/dist/versioned-components/es/flipcard.js +1 -1
  30. package/dist/versioned-components/es/form.js +1 -1
  31. package/dist/versioned-components/es/header.js +1 -1
  32. package/dist/versioned-components/es/icon.js +1 -1
  33. package/dist/versioned-components/es/include.js +1 -1
  34. package/dist/versioned-components/es/input.js +1 -1
  35. package/dist/versioned-components/es/link.js +1 -1
  36. package/dist/versioned-components/es/map-marker.js +1 -1
  37. package/dist/versioned-components/es/navigation-item.js +1 -1
  38. package/dist/versioned-components/es/notification.js +1 -1
  39. package/dist/versioned-components/es/option.js +1 -1
  40. package/dist/versioned-components/es/query-assigned-elements.js +1 -1
  41. package/dist/versioned-components/es/quickfact.js +1 -1
  42. package/dist/versioned-components/es/radio-button.js +1 -1
  43. package/dist/versioned-components/es/radio-group.js +1 -1
  44. package/dist/versioned-components/es/radio.js +1 -1
  45. package/dist/versioned-components/es/scrollable.js +1 -1
  46. package/dist/versioned-components/es/select.js +3 -3
  47. package/dist/versioned-components/es/solid-components2.js +5 -5
  48. package/dist/versioned-components/es/spinner.js +1 -1
  49. package/dist/versioned-components/es/step-group.js +1 -1
  50. package/dist/versioned-components/es/step.js +1 -1
  51. package/dist/versioned-components/es/switch.js +1 -1
  52. package/dist/versioned-components/es/tab-group.js +1 -1
  53. package/dist/versioned-components/es/tab-panel.js +1 -1
  54. package/dist/versioned-components/es/tab.js +1 -1
  55. package/dist/versioned-components/es/tag.js +1 -1
  56. package/dist/versioned-components/es/teaser-media.js +1 -1
  57. package/dist/versioned-components/es/teaser.js +1 -1
  58. package/dist/versioned-components/es/textarea.js +1 -1
  59. package/dist/versioned-components/es/tooltip.js +2 -2
  60. package/dist/versioned-components/es/video.js +1 -1
  61. package/dist/versioned-package/_components/button-group/button-group.d.ts +1 -1
  62. package/dist/versioned-package/_components/button-group/button-group.js +11 -11
  63. package/dist/versioned-package/components/accordion/accordion.d.ts +1 -1
  64. package/dist/versioned-package/components/accordion/accordion.js +2 -2
  65. package/dist/versioned-package/components/accordion-group/accordion-group.d.ts +1 -1
  66. package/dist/versioned-package/components/accordion-group/accordion-group.js +3 -3
  67. package/dist/versioned-package/components/audio/audio.d.ts +1 -1
  68. package/dist/versioned-package/components/audio/audio.js +6 -6
  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 +6 -2
  76. package/dist/versioned-package/components/carousel/carousel.js +67 -27
  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 +1 -1
  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 +1 -1
  88. package/dist/versioned-package/components/drawer/drawer.js +2 -2
  89. package/dist/versioned-package/components/dropdown/dropdown.d.ts +1 -1
  90. package/dist/versioned-package/components/dropdown/dropdown.js +8 -8
  91. package/dist/versioned-package/components/expandable/expandable.d.ts +1 -1
  92. package/dist/versioned-package/components/expandable/expandable.js +2 -2
  93. package/dist/versioned-package/components/flipcard/flipcard.d.ts +1 -1
  94. package/dist/versioned-package/components/flipcard/flipcard.js +1 -1
  95. package/dist/versioned-package/components/header/header.d.ts +1 -1
  96. package/dist/versioned-package/components/header/header.js +4 -4
  97. package/dist/versioned-package/components/icon/icon.d.ts +1 -1
  98. package/dist/versioned-package/components/icon/icon.js +1 -1
  99. package/dist/versioned-package/components/include/include.d.ts +1 -1
  100. package/dist/versioned-package/components/include/include.js +1 -1
  101. package/dist/versioned-package/components/input/input.d.ts +1 -1
  102. package/dist/versioned-package/components/input/input.js +3 -3
  103. package/dist/versioned-package/components/link/link.d.ts +1 -1
  104. package/dist/versioned-package/components/link/link.js +2 -2
  105. package/dist/versioned-package/components/map-marker/map-marker.d.ts +1 -1
  106. package/dist/versioned-package/components/map-marker/map-marker.js +1 -1
  107. package/dist/versioned-package/components/navigation-item/navigation-item.d.ts +1 -1
  108. package/dist/versioned-package/components/navigation-item/navigation-item.js +5 -5
  109. package/dist/versioned-package/components/notification/notification.d.ts +1 -1
  110. package/dist/versioned-package/components/notification/notification.js +5 -5
  111. package/dist/versioned-package/components/option/option.d.ts +1 -1
  112. package/dist/versioned-package/components/option/option.js +2 -2
  113. package/dist/versioned-package/components/popup/popup.d.ts +1 -1
  114. package/dist/versioned-package/components/popup/popup.js +1 -1
  115. package/dist/versioned-package/components/quickfact/quickfact.d.ts +1 -1
  116. package/dist/versioned-package/components/quickfact/quickfact.js +2 -2
  117. package/dist/versioned-package/components/radio/radio.d.ts +1 -1
  118. package/dist/versioned-package/components/radio/radio.js +2 -2
  119. package/dist/versioned-package/components/radio-button/radio-button.d.ts +1 -1
  120. package/dist/versioned-package/components/radio-button/radio-button.js +2 -2
  121. package/dist/versioned-package/components/radio-group/radio-group.d.ts +2 -2
  122. package/dist/versioned-package/components/radio-group/radio-group.js +13 -13
  123. package/dist/versioned-package/components/scrollable/scrollable.d.ts +1 -1
  124. package/dist/versioned-package/components/scrollable/scrollable.js +3 -3
  125. package/dist/versioned-package/components/select/select.d.ts +4 -4
  126. package/dist/versioned-package/components/select/select.js +26 -26
  127. package/dist/versioned-package/components/spinner/spinner.d.ts +1 -1
  128. package/dist/versioned-package/components/spinner/spinner.js +1 -1
  129. package/dist/versioned-package/components/step/step.d.ts +1 -1
  130. package/dist/versioned-package/components/step/step.js +2 -2
  131. package/dist/versioned-package/components/step-group/step-group.d.ts +1 -1
  132. package/dist/versioned-package/components/step-group/step-group.js +2 -2
  133. package/dist/versioned-package/components/switch/switch.d.ts +1 -1
  134. package/dist/versioned-package/components/switch/switch.js +1 -1
  135. package/dist/versioned-package/components/tab/tab.d.ts +1 -1
  136. package/dist/versioned-package/components/tab/tab.js +2 -2
  137. package/dist/versioned-package/components/tab-group/tab-group.d.ts +1 -1
  138. package/dist/versioned-package/components/tab-group/tab-group.js +13 -13
  139. package/dist/versioned-package/components/tab-panel/tab-panel.d.ts +1 -1
  140. package/dist/versioned-package/components/tab-panel/tab-panel.js +2 -2
  141. package/dist/versioned-package/components/tag/tag.d.ts +1 -1
  142. package/dist/versioned-package/components/tag/tag.js +2 -2
  143. package/dist/versioned-package/components/teaser/teaser.js +1 -1
  144. package/dist/versioned-package/components/teaser-media/teaser-media.js +1 -1
  145. package/dist/versioned-package/components/textarea/textarea.d.ts +1 -1
  146. package/dist/versioned-package/components/textarea/textarea.js +2 -2
  147. package/dist/versioned-package/components/tooltip/tooltip.d.ts +1 -1
  148. package/dist/versioned-package/components/tooltip/tooltip.js +5 -5
  149. package/dist/versioned-package/components/video/video.d.ts +1 -1
  150. package/dist/versioned-package/components/video/video.js +2 -2
  151. package/dist/versioned-package/internal/form.js +3 -3
  152. package/dist/versioned-package/styles/headline/headline.css.js +1 -1
  153. package/dist/versioned-package/translations/de.js +3 -2
  154. package/dist/versioned-package/translations/en.js +3 -2
  155. package/dist/versioned-package/utilities/autocomplete-config.js +4 -4
  156. package/dist/versioned-package/utilities/localize.d.ts +2 -1
  157. package/dist/versioned-styles/solid-styles.css +1 -1
  158. package/dist/vscode.html-custom-data.json +47 -47
  159. package/dist/web-types.json +76 -48
  160. package/package.json +2 -2
@@ -212,19 +212,19 @@ let SdButton = class extends SolidElement {
212
212
  md: "ml-2",
213
213
  lg: "ml-2"
214
214
  }[this.size]
215
- )}"></slot>${this.loading ? html`<sd-3-22-5-spinner class="${cx("absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2")}"></sd-3-22-5-spinner>` : ""}</${tag}>`;
215
+ )}"></slot>${this.loading ? html`<sd-3-22-7-spinner class="${cx("absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2")}"></sd-3-22-7-spinner>` : ""}</${tag}>`;
216
216
  }
217
217
  };
218
218
  SdButton.styles = [
219
219
  componentStyles,
220
220
  SolidElement.styles,
221
- css`:host{position:relative;display:inline-block;width:var(--sd-spacing-auto,auto);cursor:pointer}sd-3-22-5-spinner{--indicator-color:currentColor;--track-color:var(--tw-varcolor-200)}::slotted(sd-3-22-5-badge){pointer-events:none;position:absolute;top:var(--sd-spacing-0,0);right:var(--sd-spacing-0,0);--tw-translate-x:50%!important;--tw-translate-y:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}::slotted(sd-3-22-5-icon),sd-3-22-5-spinner{font-size:calc(var(--tw-varspacing)/ 2)}`
221
+ css`:host{position:relative;display:inline-block;width:var(--sd-spacing-auto,auto);cursor:pointer}sd-3-22-7-spinner{--indicator-color:currentColor;--track-color:var(--tw-varcolor-200)}::slotted(sd-3-22-7-badge){pointer-events:none;position:absolute;top:var(--sd-spacing-0,0);right:var(--sd-spacing-0,0);--tw-translate-x:50%!important;--tw-translate-y:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}::slotted(sd-3-22-7-icon),sd-3-22-7-spinner{font-size:calc(var(--tw-varspacing)/ 2)}`
222
222
  ];
223
223
  __decorateClass([
224
224
  query("a, button")
225
225
  ], SdButton.prototype, "button", 2);
226
226
  __decorateClass([
227
- queryAssignedElements({ selector: "sd-3-22-5-icon" })
227
+ queryAssignedElements({ selector: "sd-3-22-7-icon" })
228
228
  ], SdButton.prototype, "_iconsInDefaultSlot", 2);
229
229
  __decorateClass([
230
230
  state()
@@ -287,7 +287,7 @@ __decorateClass([
287
287
  watch("disabled", { waitUntilFirstUpdate: true })
288
288
  ], SdButton.prototype, "handleDisabledChange", 1);
289
289
  SdButton = __decorateClass([
290
- customElement("sd-3-22-5-button")
290
+ customElement("sd-3-22-7-button")
291
291
  ], SdButton);
292
292
  export {
293
293
  SdButton as default
@@ -5,6 +5,7 @@ export default class SdCarousel extends SolidElement {
5
5
  autoplayControls: HTMLElement;
6
6
  previousButton: HTMLButtonElement;
7
7
  nextButton: HTMLButtonElement;
8
+ paginationItems: HTMLButtonElement[];
8
9
  variant: 'dot' | 'number';
9
10
  inverted: boolean;
10
11
  loop: boolean;
@@ -33,9 +34,12 @@ export default class SdCarousel extends SolidElement {
33
34
  private handleKeyDown;
34
35
  private handleScrollEnd;
35
36
  private handleSlotChange;
37
+ private unblockAutoplay;
38
+ pause(): void;
39
+ resume(): void;
36
40
  handlePausedAutoplay(): void;
37
41
  initializeSlides(): void;
38
- handelSlideChange(): void;
42
+ handleSlideChange(): void;
39
43
  handleSlidesPerMoveChange(): void;
40
44
  handleAutoplayChange(): void;
41
45
  previous(behavior?: ScrollBehavior): void;
@@ -47,6 +51,6 @@ export default class SdCarousel extends SolidElement {
47
51
  }
48
52
  declare global {
49
53
  interface HTMLElementTagNameMap {
50
- 'sd-3-22-5-carousel': SdCarousel;
54
+ 'sd-3-22-7-carousel': SdCarousel;
51
55
  }
52
56
  }
@@ -6,7 +6,7 @@ import { customElement } from "../../internal/register-custom-element.js";
6
6
  import { LocalizeController } from "../../utilities/localize.js";
7
7
  import { map } from "lit/directives/map.js";
8
8
  import { prefersReducedMotion } from "../../internal/animate.js";
9
- import { query, property, state } from "lit/decorators.js";
9
+ import { query, queryAll, property, state } from "lit/decorators.js";
10
10
  import { range } from "lit/directives/range.js";
11
11
  import { ScrollController } from "./scroll-controller.js";
12
12
  import { watch } from "../../internal/watch.js";
@@ -39,7 +39,7 @@ let SdCarousel = class extends SolidElement {
39
39
  this.pausedAutoplay = false;
40
40
  this.autoplayController = new AutoplayController(this, () => this.next());
41
41
  this.scrollController = new ScrollController(this);
42
- this.slides = this.getElementsByTagName("sd-3-22-5-carousel-item");
42
+ this.slides = this.getElementsByTagName("sd-3-22-7-carousel-item");
43
43
  this.intersectionObserverEntries = /* @__PURE__ */ new Map();
44
44
  this.localize = new LocalizeController(this);
45
45
  this.handleSlotChange = (mutations) => {
@@ -53,6 +53,11 @@ let SdCarousel = class extends SolidElement {
53
53
  }
54
54
  this.requestUpdate();
55
55
  };
56
+ this.unblockAutoplay = (e, button) => {
57
+ if (e.detail) {
58
+ button.blur();
59
+ }
60
+ };
56
61
  }
57
62
  connectedCallback() {
58
63
  super.connectedCallback();
@@ -146,14 +151,27 @@ let SdCarousel = class extends SolidElement {
146
151
  this.activeSlide = slides.indexOf(firstIntersecting.target);
147
152
  }
148
153
  }
154
+ /**
155
+ * Pause the autoplay.
156
+ */
157
+ pause() {
158
+ this.pausedAutoplay = true;
159
+ }
160
+ /**
161
+ * Resume the autoplay
162
+ */
163
+ resume() {
164
+ this.pausedAutoplay = false;
165
+ }
149
166
  handlePausedAutoplay() {
150
- var _a;
167
+ var _a, _b;
151
168
  if (this.pausedAutoplay) {
152
169
  this.autoplayController.stop();
170
+ (_a = this.autoplayControls) == null ? void 0 : _a.setAttribute("aria-pressed", "false");
153
171
  } else if (this.autoplay) {
154
172
  this.autoplayController.start(3e3);
173
+ (_b = this.autoplayControls) == null ? void 0 : _b.setAttribute("aria-pressed", "true");
155
174
  }
156
- (_a = this.autoplayControls) == null ? void 0 : _a.blur();
157
175
  }
158
176
  initializeSlides() {
159
177
  const slides = this.getSlides();
@@ -163,7 +181,7 @@ let SdCarousel = class extends SolidElement {
163
181
  intersectionObserver.unobserve(slide);
164
182
  slide.classList.remove("--in-view");
165
183
  slide.classList.remove("--is-active");
166
- slide.setAttribute("aria-label", this.localize.term("slideNum", index + 1));
184
+ slide.setAttribute("aria-label", this.localize.term("slideNum", index + 1, slides.length));
167
185
  if (slide.hasAttribute("data-clone")) {
168
186
  slide.remove();
169
187
  }
@@ -188,17 +206,20 @@ let SdCarousel = class extends SolidElement {
188
206
  });
189
207
  this.goToSlide(this.activeSlide, "auto");
190
208
  }
191
- handelSlideChange() {
192
- this.currentPage = SdCarousel.getCurrentPage(
193
- this.getSlides().length,
194
- this.activeSlide,
195
- this.slidesPerPage,
196
- this.slidesPerMove
197
- );
209
+ handleSlideChange() {
198
210
  const slides = this.getSlides();
199
211
  slides.forEach((slide, i) => {
200
212
  slide.classList.toggle("--is-active", i === this.activeSlide);
201
213
  });
214
+ const newCurrentPage = SdCarousel.getCurrentPage(
215
+ slides.length,
216
+ this.activeSlide,
217
+ this.slidesPerPage,
218
+ this.slidesPerMove
219
+ );
220
+ if (this.currentPage !== newCurrentPage) {
221
+ this.currentPage = newCurrentPage;
222
+ }
202
223
  if (this.hasUpdated) {
203
224
  this.emit("sd-slide-change", {
204
225
  detail: {
@@ -207,8 +228,11 @@ let SdCarousel = class extends SolidElement {
207
228
  }
208
229
  });
209
230
  }
210
- if (this.currentPage > SdCarousel.getPageCount(this.getSlides().length, this.slidesPerPage, this.slidesPerMove)) {
211
- this.nextTillFirst();
231
+ const pageCount = SdCarousel.getPageCount(slides.length, this.slidesPerPage, this.slidesPerMove);
232
+ if (this.currentPage > pageCount) {
233
+ requestAnimationFrame(() => {
234
+ this.nextTillFirst();
235
+ });
212
236
  }
213
237
  }
214
238
  handleSlidesPerMoveChange() {
@@ -235,7 +259,6 @@ let SdCarousel = class extends SolidElement {
235
259
  * @param behavior - The behavior used for scrolling.
236
260
  */
237
261
  previous(behavior = "smooth") {
238
- var _a;
239
262
  let previousIndex = this.activeSlide || this.activeSlide - this.slidesPerMove;
240
263
  let canSnap = false;
241
264
  while (!canSnap && previousIndex > 0) {
@@ -247,7 +270,6 @@ let SdCarousel = class extends SolidElement {
247
270
  } else {
248
271
  this.goToSlide(previousIndex, behavior);
249
272
  }
250
- (_a = this.previousButton) == null ? void 0 : _a.blur();
251
273
  }
252
274
  /**
253
275
  * Move the carousel forward by `slides-per-move` slides.
@@ -255,7 +277,6 @@ let SdCarousel = class extends SolidElement {
255
277
  * @param behavior - The behavior used for scrolling.
256
278
  */
257
279
  next(behavior = "smooth") {
258
- var _a;
259
280
  if (this.currentPage + 1 <= SdCarousel.getPageCount(this.getSlides().length, this.slidesPerPage, this.slidesPerMove)) {
260
281
  this.goToSlide(this.activeSlide + this.slidesPerMove, behavior);
261
282
  } else {
@@ -263,7 +284,6 @@ let SdCarousel = class extends SolidElement {
263
284
  this.nextTillFirst(behavior);
264
285
  }
265
286
  }
266
- (_a = this.nextButton) == null ? void 0 : _a.blur();
267
287
  }
268
288
  nextTillFirst(behavior = "smooth") {
269
289
  while (this.activeSlide !== 0) {
@@ -297,6 +317,11 @@ let SdCarousel = class extends SolidElement {
297
317
  top: nextSlideRect.top - scrollContainerRect.top + scrollContainer.scrollTop,
298
318
  behavior: prefersReducedMotion() ? "auto" : behavior
299
319
  });
320
+ if (this.activeSlide === slides.length - 1 && !this.loop) {
321
+ this.previousButton.focus({ preventScroll: true });
322
+ } else if (this.activeSlide === 0 && !this.loop) {
323
+ this.nextButton.focus({ preventScroll: true });
324
+ }
300
325
  }
301
326
  render() {
302
327
  const { scrollController, slidesPerMove } = this;
@@ -316,18 +341,24 @@ let SdCarousel = class extends SolidElement {
316
341
  this.inverted ? "focus-visible:focus-outline-inverted" : "focus-visible:focus-outline",
317
342
  `overscroll-x-contain grid-flow-col auto-rows-[100%]
318
343
  snap-x snap-mandatory overflow-y-hidden`
319
- )}" style="--slides-per-page:${this.slidesPerPage}" aria-busy="${scrollController.scrolling ? "true" : "false"}" aria-atomic="true" tabindex="0" @keydown="${this.handleKeyDown}" @scrollend="${this.handleScrollEnd}"><slot></slot></div><div part="controls" class="${cx("w-full flex items-center justify-center relative")}"><div part="navigation" class="${cx("carousel__navigation flex items-center justify-center")}"><button part="navigation-button navigation-button--previous" id="carousel__navigation-button--previous" ?disabled="${!prevEnabled ? true : false}" class="${cx(
344
+ )}" style="--slides-per-page:${this.slidesPerPage}" aria-busy="${scrollController.scrolling ? "true" : "false"}" role="status" tabindex="0" @keydown="${this.handleKeyDown}" @scrollend="${this.handleScrollEnd}"><slot></slot></div><div part="controls" class="${cx("w-full flex items-center justify-center relative")}"><div part="navigation" class="${cx("carousel__navigation flex items-center justify-center")}"><button part="navigation-button navigation-button--previous" id="carousel__navigation-button--previous" ?disabled="${!prevEnabled ? true : false}" class="${cx(
320
345
  "!mr-6 !rounded-sm sd-interactive",
321
346
  !prevEnabled && "sd-interactive--disabled",
322
347
  this.inverted ? "sd-interactive--inverted" : "sd-interactive--reset"
323
- )}" aria-label="${this.localize.term("previousSlide")}" aria-controls="scroll-container" aria-disabled="${prevEnabled ? "false" : "true"}" @click="${prevEnabled ? () => this.previous() : null}"><slot name="previous-icon"><sd-3-22-5-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-down" : "chevron-up"}"></sd-3-22-5-icon></slot></button> ${this.variant === "dot" ? html`<div part="pagination-dot" role="tablist" class="${cx("carousel__pagination dot flex wrap items-center gap-2")}" aria-controls="scroll-container">${map(range(pagesCount), (index) => {
348
+ )}" aria-label="${this.localize.term("previousSlide")}" aria-controls="scroll-container" aria-disabled="${prevEnabled ? "false" : "true"}" @click="${prevEnabled ? (e) => {
349
+ this.previous();
350
+ this.unblockAutoplay(e, this.previousButton);
351
+ } : null}"><slot name="previous-icon"><sd-3-22-7-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-down" : "chevron-up"}"></sd-3-22-7-icon></slot></button> ${this.variant === "dot" ? html`<div part="pagination-dot" role="tablist" class="${cx("carousel__pagination dot flex wrap items-center gap-2")}" aria-controls="scroll-container">${map(range(pagesCount), (index) => {
324
352
  const isActive = index + 1 === currentPage;
325
353
  return html`<button part="pagination-item ${isActive ? "pagination-item--active" : ""}" class="${cx(
326
354
  "carousel__pagination-item",
327
355
  "block cursor-pointer bg-none border-0 rounded-full",
328
356
  isActive ? "bg-accent" : "",
329
357
  this.inverted ? "focus-within:focus-outline-inverted" : "focus-within:focus-outline"
330
- )}" role="tab" tabindex="0" aria-selected="${isActive ? "true" : "false"}" aria-label="${this.localize.term("goToSlide", index + 1, pagesCount)}" @click="${() => this.goToSlide(index * slidesPerMove)}" @keydown="${this.handleKeyDown}"><span class="${cx(
358
+ )}" role="tab" tabindex="0" aria-selected="${isActive ? "true" : "false"}" aria-label="${this.localize.term("goToSlide", index + 1, pagesCount)}" @click="${(e) => {
359
+ this.goToSlide(index * slidesPerMove);
360
+ this.unblockAutoplay(e, this.paginationItems[index]);
361
+ }}" @keydown="${this.handleKeyDown}"><span class="${cx(
331
362
  "h-4 w-4 block border hover:border-primary-500 rounded-full",
332
363
  this.inverted ? "border-white hover:border-primary-500" : "border-primary",
333
364
  isActive && "bg-accent border-none",
@@ -337,21 +368,27 @@ let SdCarousel = class extends SolidElement {
337
368
  "!ml-6 !rounded-sm sd-interactive ",
338
369
  !nextEnabled && "sd-interactive--disabled",
339
370
  this.inverted ? "sd-interactive--inverted" : "sd-interactive--reset"
340
- )}" aria-label="${this.localize.term("nextSlide")}" aria-controls="scroll-container" aria-disabled="${nextEnabled ? "false" : "true"}" @click="${nextEnabled ? () => {
371
+ )}" aria-label="${this.localize.term("nextSlide")}" aria-controls="scroll-container" aria-disabled="${nextEnabled ? "false" : "true"}" @click="${nextEnabled ? (e) => {
341
372
  this.next();
342
- } : null}"><slot name="next-icon"><sd-3-22-5-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-up" : "chevron-down"}"></sd-3-22-5-icon></slot></button></div><button class="${cx(
373
+ this.unblockAutoplay(e, this.nextButton);
374
+ } : null}"><slot name="next-icon"><sd-3-22-7-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-up" : "chevron-down"}"></sd-3-22-7-icon></slot></button></div><button class="${cx(
343
375
  "ml-6 !rounded-sm",
344
376
  "!absolute !right-0 sd-interactive",
345
377
  this.inverted ? "sd-interactive--inverted" : "sd-interactive--reset",
346
378
  !this.autoplay && "!hidden"
347
- )}" part="autoplay-controls" @click="${() => this.pausedAutoplay = !this.pausedAutoplay}"><slot name="autoplay-start" class="${cx(!this.pausedAutoplay ? "hidden" : "")}"><sd-3-22-5-icon class="h-6 w-6 grid place-items-center" library="system" name="start"></sd-3-22-5-icon></slot><slot name="autoplay-pause" class="${cx(this.pausedAutoplay ? "hidden" : "")}"><sd-3-22-5-icon class="h-6 w-6 grid place-items-center" library="system" name="pause"></sd-3-22-5-icon></slot></button></div></div>`;
379
+ )}" part="autoplay-controls" aria-label="${this.localize.term("autoplay")}" aria-pressed="true" @click="${(e) => {
380
+ this.pausedAutoplay = !this.pausedAutoplay;
381
+ if (e.detail) {
382
+ this.autoplayControls.blur();
383
+ }
384
+ }}"><slot name="autoplay-start" class="${cx(!this.pausedAutoplay ? "hidden" : "")}"><sd-3-22-7-icon class="h-6 w-6 grid place-items-center" library="system" name="start"></sd-3-22-7-icon></slot><slot name="autoplay-pause" class="${cx(this.pausedAutoplay ? "hidden" : "")}"><sd-3-22-7-icon class="h-6 w-6 grid place-items-center" library="system" name="pause"></sd-3-22-7-icon></slot></button></div></div>`;
348
385
  }
349
386
  };
350
387
  SdCarousel.styles = [
351
388
  SolidElement.styles,
352
389
  unsafeCSS(InteractiveStyles),
353
390
  componentStyles,
354
- css`:host{--slide-gap:var(--sl-spacing-medium, 1rem);--scroll-hint:0px;display:flex}.carousel{grid-template-areas:'. slides .' '. pagination .'}.carousel__pagination{grid-area:pagination}.carousel__slides{grid-area:slides;scrollbar-width:none;--slide-size:calc((100% - (var(--slides-per-page) - 1) * var(--slide-gap)) / var(--slides-per-page));grid-auto-columns:var(--slide-size);-moz-column-gap:var(--slide-gap);column-gap:var(--slide-gap);scroll-padding-inline:var(--scroll-hint);padding-inline:var(--scroll-hint)}.carousel__slides::-webkit-scrollbar{display:none}@media (prefers-reduced-motion){:where(.carousel__slides){scroll-behavior:auto}}.carousel__navigation{grid-area:navigation}sd-3-22-5-button::part(label){pointer-events:none;display:flex;flex:1 1 auto;align-items:center}`
391
+ css`:host{--slide-gap:var(--sl-spacing-medium, 1rem);--scroll-hint:0px;display:flex}.carousel{grid-template-areas:'. slides .' '. pagination .'}.carousel__pagination{grid-area:pagination}.carousel__slides{grid-area:slides;scrollbar-width:none;--slide-size:calc((100% - (var(--slides-per-page) - 1) * var(--slide-gap)) / var(--slides-per-page));grid-auto-columns:var(--slide-size);-moz-column-gap:var(--slide-gap);column-gap:var(--slide-gap);scroll-padding-inline:var(--scroll-hint);padding-inline:var(--scroll-hint)}.carousel__slides::-webkit-scrollbar{display:none}@media (prefers-reduced-motion){:where(.carousel__slides){scroll-behavior:auto}}.carousel__navigation{grid-area:navigation}sd-3-22-7-button::part(label){pointer-events:none;display:flex;flex:1 1 auto;align-items:center}`
355
392
  ];
356
393
  __decorateClass([
357
394
  query('[part~="autoplay-controls"]')
@@ -362,6 +399,9 @@ __decorateClass([
362
399
  __decorateClass([
363
400
  query('[part~="navigation-button--next"]')
364
401
  ], SdCarousel.prototype, "nextButton", 2);
402
+ __decorateClass([
403
+ queryAll('[part~="pagination-item"]')
404
+ ], SdCarousel.prototype, "paginationItems", 2);
365
405
  __decorateClass([
366
406
  property({ type: String, reflect: true })
367
407
  ], SdCarousel.prototype, "variant", 2);
@@ -407,7 +447,7 @@ __decorateClass([
407
447
  ], SdCarousel.prototype, "initializeSlides", 1);
408
448
  __decorateClass([
409
449
  watch("activeSlide")
410
- ], SdCarousel.prototype, "handelSlideChange", 1);
450
+ ], SdCarousel.prototype, "handleSlideChange", 1);
411
451
  __decorateClass([
412
452
  watch("slidesPerMove")
413
453
  ], SdCarousel.prototype, "handleSlidesPerMoveChange", 1);
@@ -415,7 +455,7 @@ __decorateClass([
415
455
  watch("autoplay")
416
456
  ], SdCarousel.prototype, "handleAutoplayChange", 1);
417
457
  SdCarousel = __decorateClass([
418
- customElement("sd-3-22-5-carousel")
458
+ customElement("sd-3-22-7-carousel")
419
459
  ], SdCarousel);
420
460
  export {
421
461
  SdCarousel as default
@@ -7,6 +7,6 @@ export default class SdCarouselItem extends SolidElement {
7
7
  }
8
8
  declare global {
9
9
  interface HTMLElementTagNameMap {
10
- 'sd-3-22-5-carousel-item': SdCarouselItem;
10
+ 'sd-3-22-7-carousel-item': SdCarouselItem;
11
11
  }
12
12
  }
@@ -30,7 +30,7 @@ SdCarouselItem.styles = [
30
30
  css`:host{aspect-ratio:var(--aspect-ratio);scroll-snap-align:start;scroll-snap-stop:always;display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center}::slotted(img){height:100%;width:100%;-o-object-fit:cover;object-fit:cover}`
31
31
  ];
32
32
  SdCarouselItem = __decorateClass([
33
- customElement("sd-3-22-5-carousel-item")
33
+ customElement("sd-3-22-7-carousel-item")
34
34
  ], SdCarouselItem);
35
35
  export {
36
36
  SdCarouselItem as default
@@ -37,6 +37,6 @@ export default class SdCheckbox extends SolidElement implements SolidFormControl
37
37
  }
38
38
  declare global {
39
39
  interface HTMLElementTagNameMap {
40
- 'sd-3-22-5-checkbox': SdCheckbox;
40
+ 'sd-3-22-7-checkbox': SdCheckbox;
41
41
  }
42
42
  }
@@ -109,7 +109,7 @@ let SdCheckbox = class extends SolidElement {
109
109
  render() {
110
110
  const checkboxState = this.disabled && this.indeterminate ? "disabledIndeterminate" : this.disabled && this.checked ? "disabledChecked" : this.disabled ? "disabled" : this.showInvalidStyle && this.indeterminate ? "invalidIndeterminate" : this.showInvalidStyle ? "invalid" : this.checked || this.indeterminate ? "filled" : "default";
111
111
  return html`<label part="base" class="${cx(
112
- "sd-3-22-5-checkbox group flex items-start text-base leading-normal text-black cursor-pointer",
112
+ "sd-3-22-7-checkbox group flex items-start text-base leading-normal text-black cursor-pointer",
113
113
  this.disabled && "hover:cursor-not-allowed",
114
114
  {
115
115
  /* sizes, fonts */
@@ -135,7 +135,7 @@ let SdCheckbox = class extends SolidElement {
135
135
  filled: "border-accent hover:border-accent-550 group-hover:border-accent-550 bg-accent group-hover:bg-accent-550",
136
136
  default: "border-neutral-800 hover:bg-neutral-200 group-hover:bg-neutral-200 bg-white"
137
137
  }[checkboxState]
138
- )}">${this.checked ? html`<sd-3-22-5-icon part="checked-icon" class="text-white w-3 h-3" library="system" name="status-check"></sd-3-22-5-icon>` : ""} ${!this.checked && this.indeterminate ? html`<sd-3-22-5-icon part="indeterminate-icon" class="text-white w-3 h-3" library="system" name="status-minus"></sd-3-22-5-icon>` : ""} </span><span part="label" id="label" class="${cx(
138
+ )}">${this.checked ? html`<sd-3-22-7-icon part="checked-icon" class="text-white w-3 h-3" library="system" name="status-check"></sd-3-22-7-icon>` : ""} ${!this.checked && this.indeterminate ? html`<sd-3-22-7-icon part="indeterminate-icon" class="text-white w-3 h-3" library="system" name="status-minus"></sd-3-22-7-icon>` : ""} </span><span part="label" id="label" class="${cx(
139
139
  "select-none inline-block ml-2",
140
140
  this.disabled ? "text-neutral-500" : this.showInvalidStyle ? "text-error" : "text-black"
141
141
  )}"><slot></slot></span></label> ${this.formControlController.renderInvalidMessage()}`;
@@ -191,7 +191,7 @@ __decorateClass([
191
191
  watch(["checked", "indeterminate"], { waitUntilFirstUpdate: true })
192
192
  ], SdCheckbox.prototype, "handleStateChange", 1);
193
193
  SdCheckbox = __decorateClass([
194
- customElement("sd-3-22-5-checkbox")
194
+ customElement("sd-3-22-7-checkbox")
195
195
  ], SdCheckbox);
196
196
  export {
197
197
  SdCheckbox as default
@@ -15,6 +15,6 @@ export default class SdCheckboxGroup extends SolidElement {
15
15
  }
16
16
  declare global {
17
17
  interface HTMLElementTagNameMap {
18
- 'sd-3-22-5-checkbox-group': SdCheckboxGroup;
18
+ 'sd-3-22-7-checkbox-group': SdCheckboxGroup;
19
19
  }
20
20
  }
@@ -26,7 +26,7 @@ let SdCheckboxGroup = class extends SolidElement {
26
26
  this.label = "";
27
27
  }
28
28
  getAllCheckboxes() {
29
- return [...this.querySelectorAll("sd-3-22-5-checkbox")];
29
+ return [...this.querySelectorAll("sd-3-22-7-checkbox")];
30
30
  }
31
31
  async syncCheckboxElements() {
32
32
  const checkboxes = this.getAllCheckboxes();
@@ -42,10 +42,10 @@ let SdCheckboxGroup = class extends SolidElement {
42
42
  }
43
43
  }
44
44
  syncCheckboxes() {
45
- if (customElements.get("sd-3-22-5-checkbox")) {
45
+ if (customElements.get("sd-3-22-7-checkbox")) {
46
46
  this.syncCheckboxElements();
47
47
  } else {
48
- customElements.whenDefined("sd-3-22-5-checkbox").then(() => this.syncCheckboxes());
48
+ customElements.whenDefined("sd-3-22-7-checkbox").then(() => this.syncCheckboxes());
49
49
  }
50
50
  }
51
51
  handleSizeChange() {
@@ -77,7 +77,7 @@ let SdCheckboxGroup = class extends SolidElement {
77
77
  SdCheckboxGroup.styles = [
78
78
  componentStyles,
79
79
  SolidElement.styles,
80
- css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-22-5-checkbox){margin-bottom:var(--sd-spacing-2,.5rem);display:flex}:host([orientation=vertical]) ::slotted(sd-3-22-5-checkbox:last-of-type){margin-bottom:var(--sd-spacing-0,0)}:host([orientation=horizontal]) ::slotted(sd-3-22-5-checkbox){margin-right:var(--sd-spacing-6,1.5rem)}:host([orientation=horizontal]) ::slotted(sd-3-22-5-checkbox:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-22-5-checkbox){margin-right:var(--sd-spacing-4,1rem)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-22-5-checkbox:last-of-type){margin-right:var(--sd-spacing-0,0)}`
80
+ css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-22-7-checkbox){margin-bottom:var(--sd-spacing-2,.5rem);display:flex}:host([orientation=vertical]) ::slotted(sd-3-22-7-checkbox:last-of-type){margin-bottom:var(--sd-spacing-0,0)}:host([orientation=horizontal]) ::slotted(sd-3-22-7-checkbox){margin-right:var(--sd-spacing-6,1.5rem)}:host([orientation=horizontal]) ::slotted(sd-3-22-7-checkbox:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-22-7-checkbox){margin-right:var(--sd-spacing-4,1rem)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-22-7-checkbox:last-of-type){margin-right:var(--sd-spacing-0,0)}`
81
81
  ];
82
82
  __decorateClass([
83
83
  property({ reflect: true })
@@ -95,7 +95,7 @@ __decorateClass([
95
95
  watch("invalid", { waitUntilFirstUpdate: true })
96
96
  ], SdCheckboxGroup.prototype, "handleInvalid", 1);
97
97
  SdCheckboxGroup = __decorateClass([
98
- customElement("sd-3-22-5-checkbox-group")
98
+ customElement("sd-3-22-7-checkbox-group")
99
99
  ], SdCheckboxGroup);
100
100
  export {
101
101
  SdCheckboxGroup as default
@@ -28,6 +28,6 @@ export default class SdDialog extends SolidElement {
28
28
  }
29
29
  declare global {
30
30
  interface HTMLElementTagNameMap {
31
- 'sd-3-22-5-dialog': SdDialog;
31
+ 'sd-3-22-7-dialog': SdDialog;
32
32
  }
33
33
  }
@@ -157,7 +157,7 @@ let SdDialog = class extends SolidElement {
157
157
  )}"><div part="overlay" class="fixed inset-0 bg-primary-800 opacity-90" @click="${() => this.requestClose("overlay")}" tabindex="-1"></div><div part="panel" class="${cx(
158
158
  "flex flex-col z-20 bg-white focus:outline-none py-4 sm:py-8 relative gap-6",
159
159
  this.open && "flex opacity-100"
160
- )}" role="dialog" aria-modal="true" aria-hidden="${this.open ? "false" : "true"}" aria-label="${this.headline}" aria-labelledby="title" tabindex="0"><header part="header" class="flex flex-grow-0 flex-shrink-0 basis-auto px-6 sm:px-10"><h2 part="title" class="flex-auto m-0" id="title">${this.headline.length > 0 ? html`<h4 class="sd-headline sd-headline--size-3xl leading-tight">${this.headline}</h4>` : html`<slot name="headline"></slot>`}</h2>${!this.noCloseButton ? html`<sd-3-22-5-button part="close-button" variant="tertiary" exportparts="base:close-button__base" class="${cx("absolute top-2 right-2")}" name="x-lg" @click="${() => this.requestClose("close-button")}" type="button"><sd-3-22-5-icon label="${this.localize.term("close")}" name="close" library="system" color="currentColor"></sd-3-22-5-icon></sd-3-22-5-button>` : ""}</header><main part="body" class="flex flex-auto overflow-auto w-full px-6 sm:px-10"><slot></slot></main><footer part="footer" class="flex flex-grow-0 flex-shrink-0 basis-auto ml-auto gap-4 px-6 sm:px-10"><slot name="footer"></slot></footer></div></div>`;
160
+ )}" role="dialog" aria-modal="true" aria-hidden="${this.open ? "false" : "true"}" aria-label="${this.headline}" aria-labelledby="title" tabindex="0"><header part="header" class="flex flex-grow-0 flex-shrink-0 basis-auto px-6 sm:px-10"><h2 part="title" class="flex-auto m-0" id="title">${this.headline.length > 0 ? html`<h4 class="sd-headline sd-headline--size-3xl leading-tight">${this.headline}</h4>` : html`<slot name="headline"></slot>`}</h2>${!this.noCloseButton ? html`<sd-3-22-7-button part="close-button" variant="tertiary" exportparts="base:close-button__base" class="${cx("absolute top-2 right-2")}" name="x-lg" @click="${() => this.requestClose("close-button")}" type="button"><sd-3-22-7-icon label="${this.localize.term("close")}" name="close" library="system" color="currentColor"></sd-3-22-7-icon></sd-3-22-7-button>` : ""}</header><main part="body" class="flex flex-auto overflow-auto w-full px-6 sm:px-10"><slot></slot></main><footer part="footer" class="flex flex-grow-0 flex-shrink-0 basis-auto ml-auto gap-4 px-6 sm:px-10"><slot name="footer"></slot></footer></div></div>`;
161
161
  }
162
162
  };
163
163
  SdDialog.styles = [
@@ -188,7 +188,7 @@ __decorateClass([
188
188
  watch("open", { waitUntilFirstUpdate: true })
189
189
  ], SdDialog.prototype, "handleOpenChange", 1);
190
190
  SdDialog = __decorateClass([
191
- customElement("sd-3-22-5-dialog")
191
+ customElement("sd-3-22-7-dialog")
192
192
  ], SdDialog);
193
193
  setDefaultAnimation("dialog.show", {
194
194
  keyframes: [
@@ -8,6 +8,6 @@ export default class SdDivider extends SolidElement {
8
8
  }
9
9
  declare global {
10
10
  interface HTMLElementTagNameMap {
11
- 'sd-3-22-5-divider': SdDivider;
11
+ 'sd-3-22-7-divider': SdDivider;
12
12
  }
13
13
  }
@@ -34,7 +34,7 @@ let SdDivider = class extends SolidElement {
34
34
  SdDivider.styles = [
35
35
  componentStyles,
36
36
  SolidElement.styles,
37
- css`:host{margin:var(--sd-spacing-0,0)}:host(sd-3-22-5-divider[orientation=horizontal]){display:block}:host(sd-3-22-5-divider[orientation=vertical]){display:inline-block}`
37
+ css`:host{margin:var(--sd-spacing-0,0)}:host(sd-3-22-7-divider[orientation=horizontal]){display:block}:host(sd-3-22-7-divider[orientation=vertical]){display:inline-block}`
38
38
  ];
39
39
  __decorateClass([
40
40
  property({ reflect: true })
@@ -43,7 +43,7 @@ __decorateClass([
43
43
  property({ type: Boolean, reflect: true })
44
44
  ], SdDivider.prototype, "inverted", 2);
45
45
  SdDivider = __decorateClass([
46
- customElement("sd-3-22-5-divider")
46
+ customElement("sd-3-22-7-divider")
47
47
  ], SdDivider);
48
48
  export {
49
49
  SdDivider as default
@@ -30,6 +30,6 @@ export default class SdDrawer extends SolidElement {
30
30
  }
31
31
  declare global {
32
32
  interface HTMLElementTagNameMap {
33
- 'sd-3-22-5-drawer': SdDrawer;
33
+ 'sd-3-22-7-drawer': SdDrawer;
34
34
  }
35
35
  }
@@ -182,7 +182,7 @@ let SdDrawer = class extends SolidElement {
182
182
  end: "top-0 end-0 bottom-auto start-auto w-[--width] h-full",
183
183
  start: "top-0 end-auto bottom-auto start-0 w-[--width] h-full"
184
184
  }[this.placement]
185
- )}" role="dialog" aria-modal="true" aria-hidden="${this.open ? "false" : "true"}" aria-label="${this.label}" aria-labelledby="${ifDefined(!this.noHeader ? "title" : void 0)}" tabindex="0">${!this.noHeader ? html`<header part="header" class="flex justify-between py-2 px-4 items-center flex-shrink-0" style="min-height:56px"><div part="title"><slot name="header" part="title" class="flex-auto text-xl m-0" id="title"></slot></div><div class="shrink-0 flex flex-wrap justify-end gap-1 ml-4 absolute top-2 right-2"><sd-3-22-5-button variant="tertiary" size="lg" part="close-button" @click="${() => this.requestClose("close-button")}"><sd-3-22-5-icon label="${this.localize.term("close")}" name="close" library="system"></sd-3-22-5-icon></sd-3-22-5-button></div></header>` : ""}<div part="body" class="flex-auto block px-4"><slot></slot></div><footer part="footer" class="${cx(this.hasSlotController.test("footer") ? "text-left p-4" : "hidden")}"><slot name="footer"></slot></footer></div></div>`;
185
+ )}" role="dialog" aria-modal="true" aria-hidden="${this.open ? "false" : "true"}" aria-label="${this.label}" aria-labelledby="${ifDefined(!this.noHeader ? "title" : void 0)}" tabindex="0">${!this.noHeader ? html`<header part="header" class="flex justify-between py-2 px-4 items-center flex-shrink-0" style="min-height:56px"><div part="title"><slot name="header" part="title" class="flex-auto text-xl m-0" id="title"></slot></div><div class="shrink-0 flex flex-wrap justify-end gap-1 ml-4 absolute top-2 right-2"><sd-3-22-7-button variant="tertiary" size="lg" part="close-button" @click="${() => this.requestClose("close-button")}"><sd-3-22-7-icon label="${this.localize.term("close")}" name="close" library="system"></sd-3-22-7-icon></sd-3-22-7-button></div></header>` : ""}<div part="body" class="flex-auto block px-4"><slot></slot></div><footer part="footer" class="${cx(this.hasSlotController.test("footer") ? "text-left p-4" : "hidden")}"><slot name="footer"></slot></footer></div></div>`;
186
186
  }
187
187
  };
188
188
  SdDrawer.styles = [
@@ -221,7 +221,7 @@ __decorateClass([
221
221
  watch("contained", { waitUntilFirstUpdate: true })
222
222
  ], SdDrawer.prototype, "handleNoModalChange", 1);
223
223
  SdDrawer = __decorateClass([
224
- customElement("sd-3-22-5-drawer")
224
+ customElement("sd-3-22-7-drawer")
225
225
  ], SdDrawer);
226
226
  setDefaultAnimation("drawer.showStart", {
227
227
  keyframes: [
@@ -45,6 +45,6 @@ export default class SdDropdown extends SolidElement {
45
45
  }
46
46
  declare global {
47
47
  interface HTMLElementTagNameMap {
48
- 'sd-3-22-5-dropdown': SdDropdown;
48
+ 'sd-3-22-7-dropdown': SdDropdown;
49
49
  }
50
50
  }
@@ -169,7 +169,7 @@ let SdDropdown = class extends SolidElement {
169
169
  // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,
170
170
  // a child of the slotted element, or an element in the slotted element's shadow root.
171
171
  //
172
- // For example, the accessible trigger of an <sd-3-22-5-button> is a <button> located inside its shadow root.
172
+ // For example, the accessible trigger of an <sd-3-22-7-button> is a <button> located inside its shadow root.
173
173
  //
174
174
  // To determine this, we assume the first tabbable element in the trigger slot is the "accessible trigger."
175
175
  //
@@ -179,8 +179,8 @@ let SdDropdown = class extends SolidElement {
179
179
  let target;
180
180
  if (accessibleTrigger) {
181
181
  switch (accessibleTrigger.tagName.toLowerCase()) {
182
- case "sd-3-22-5-button":
183
- case "sd-3-22-5-icon-button":
182
+ case "sd-3-22-7-button":
183
+ case "sd-3-22-7-icon-button":
184
184
  target = accessibleTrigger.button;
185
185
  break;
186
186
  default:
@@ -215,7 +215,7 @@ let SdDropdown = class extends SolidElement {
215
215
  }
216
216
  addOpenListeners() {
217
217
  this.panel.addEventListener("sd-activate", this.handleMenuItemActivate);
218
- this.panel.addEventListener("sd-3-22-5-select", this.handlePanelSelect);
218
+ this.panel.addEventListener("sd-3-22-7-select", this.handlePanelSelect);
219
219
  this.panel.addEventListener("keydown", this.handleKeyDown);
220
220
  document.addEventListener("keydown", this.handleDocumentKeyDown);
221
221
  document.addEventListener("mousedown", this.handleDocumentMouseDown);
@@ -223,7 +223,7 @@ let SdDropdown = class extends SolidElement {
223
223
  removeOpenListeners() {
224
224
  if (this.panel) {
225
225
  this.panel.removeEventListener("sd-activate", this.handleMenuItemActivate);
226
- this.panel.removeEventListener("sd-3-22-5-select", this.handlePanelSelect);
226
+ this.panel.removeEventListener("sd-3-22-7-select", this.handlePanelSelect);
227
227
  this.panel.removeEventListener("keydown", this.handleKeyDown);
228
228
  }
229
229
  document.removeEventListener("keydown", this.handleDocumentKeyDown);
@@ -256,11 +256,11 @@ let SdDropdown = class extends SolidElement {
256
256
  }
257
257
  }
258
258
  render() {
259
- return html`<sd-3-22-5-popup part="base" id="dropdown" placement="${this.placement}" distance="${this.rounded && this.distance < 1 ? 1 : this.distance}" skidding="${this.skidding}" strategy="${this.hoist ? "fixed" : "absolute"}" ?flip="${!this.noFlip}" shift auto-size="vertical" auto-size-padding="10" ?active="${this.open}"><slot name="trigger" slot="anchor" part="trigger" class="block" @click="${this.handleTriggerClick}" @keydown="${this.handleTriggerKeyDown}" @keyup="${this.handleTriggerKeyUp}" @slotchange="${this.handleTriggerSlotChange}"></slot><slot part="panel" class="${cx(
259
+ return html`<sd-3-22-7-popup part="base" id="dropdown" placement="${this.placement}" distance="${this.rounded && this.distance < 1 ? 1 : this.distance}" skidding="${this.skidding}" strategy="${this.hoist ? "fixed" : "absolute"}" ?flip="${!this.noFlip}" shift auto-size="vertical" auto-size-padding="10" ?active="${this.open}"><slot name="trigger" slot="anchor" part="trigger" class="block" @click="${this.handleTriggerClick}" @keydown="${this.handleTriggerKeyDown}" @keyup="${this.handleTriggerKeyUp}" @slotchange="${this.handleTriggerSlotChange}"></slot><slot part="panel" class="${cx(
260
260
  "shadow bg-white",
261
261
  this.open ? "block pointer-events-auto" : "pointer-events-none",
262
262
  this.rounded && "rounded-md"
263
- )}" aria-hidden="${this.open ? "false" : "true"}" aria-labelledby="dropdown"></slot></sd-3-22-5-popup>`;
263
+ )}" aria-hidden="${this.open ? "false" : "true"}" aria-labelledby="dropdown"></slot></sd-3-22-7-popup>`;
264
264
  }
265
265
  };
266
266
  SdDropdown.styles = [
@@ -314,7 +314,7 @@ __decorateClass([
314
314
  watch("open", { waitUntilFirstUpdate: true })
315
315
  ], SdDropdown.prototype, "handleOpenChange", 1);
316
316
  SdDropdown = __decorateClass([
317
- customElement("sd-3-22-5-dropdown")
317
+ customElement("sd-3-22-7-dropdown")
318
318
  ], SdDropdown);
319
319
  setDefaultAnimation("dropdown.show", {
320
320
  keyframes: [
@@ -18,6 +18,6 @@ export default class SdExpandable extends SolidElement {
18
18
  }
19
19
  declare global {
20
20
  interface HTMLElementTagNameMap {
21
- 'sd-3-22-5-expandable': SdExpandable;
21
+ 'sd-3-22-7-expandable': SdExpandable;
22
22
  }
23
23
  }
@@ -70,7 +70,7 @@ let SdExpandable = class extends SolidElement {
70
70
  "sd-interactive sd-interactive--reset !h-full !justify-center !w-full !text-base !flex !items-center !underline !underline-offset-2 !toggle",
71
71
  this.inverted && "sd-interactive--inverted",
72
72
  !this.inverted ? "!focus-visible:focus-outline" : "!focus-visible:focus-outline-inverted"
73
- )}" @click="${this.onToggleClick}">${this.open ? html`<slot name="toggle-open"><sd-3-22-5-icon class="mr-2 text-xl" library="system" name="chevron-up"></sd-3-22-5-icon>${this.localize.term("showLess")}</slot>` : html`<slot name="toggle-closed"><sd-3-22-5-icon class="mr-2 text-xl" library="system" name="chevron-down"></sd-3-22-5-icon>${this.localize.term("showMore")}</slot>`}</button>`;
73
+ )}" @click="${this.onToggleClick}">${this.open ? html`<slot name="toggle-open"><sd-3-22-7-icon class="mr-2 text-xl" library="system" name="chevron-up"></sd-3-22-7-icon>${this.localize.term("showLess")}</slot>` : html`<slot name="toggle-closed"><sd-3-22-7-icon class="mr-2 text-xl" library="system" name="chevron-down"></sd-3-22-7-icon>${this.localize.term("showMore")}</slot>`}</button>`;
74
74
  }
75
75
  firstUpdated() {
76
76
  this.cloneContentToLightDOM();
@@ -109,7 +109,7 @@ __decorateClass([
109
109
  watch("open", { waitUntilFirstUpdate: true })
110
110
  ], SdExpandable.prototype, "onOpenChange", 1);
111
111
  SdExpandable = __decorateClass([
112
- customElement("sd-3-22-5-expandable")
112
+ customElement("sd-3-22-7-expandable")
113
113
  ], SdExpandable);
114
114
  export {
115
115
  SdExpandable as default
@@ -18,6 +18,6 @@ export default class SdFlipcard extends SolidElement {
18
18
  }
19
19
  declare global {
20
20
  interface HTMLElementTagNameMap {
21
- 'sd-3-22-5-flipcard': SdFlipcard;
21
+ 'sd-3-22-7-flipcard': SdFlipcard;
22
22
  }
23
23
  }
@@ -173,7 +173,7 @@ __decorateClass([
173
173
  property({ type: String, reflect: true, attribute: "back-variant" })
174
174
  ], SdFlipcard.prototype, "backVariant", 2);
175
175
  SdFlipcard = __decorateClass([
176
- customElement("sd-3-22-5-flipcard")
176
+ customElement("sd-3-22-7-flipcard")
177
177
  ], SdFlipcard);
178
178
  export {
179
179
  SdFlipcard as default