@solid-design-system/components 3.22.18 → 3.23.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (196) hide show
  1. package/dist/components/es/combobox.js +11 -0
  2. package/dist/components/es/dropdown.js +1 -1
  3. package/dist/components/es/map-marker.js +1 -1
  4. package/dist/components/es/navigation-item.js +1 -1
  5. package/dist/components/es/optgroup.js +1 -0
  6. package/dist/components/es/option-renderer.js +1 -0
  7. package/dist/components/es/select.js +7 -3
  8. package/dist/components/es/solid-components2.js +7 -7
  9. package/dist/components/es/tabbable.js +1 -1
  10. package/dist/components/es/utils.js +1 -0
  11. package/dist/components/umd/solid-components.js +37 -23
  12. package/dist/custom-elements.json +1 -1
  13. package/dist/package/components/combobox/combobox.d.ts +129 -0
  14. package/dist/package/components/combobox/combobox.js +958 -0
  15. package/dist/package/components/combobox/option-renderer.d.ts +5 -0
  16. package/dist/package/components/combobox/option-renderer.js +4 -0
  17. package/dist/package/components/combobox/utils.d.ts +8 -0
  18. package/dist/package/components/combobox/utils.js +14 -0
  19. package/dist/package/components/dropdown/dropdown.d.ts +2 -1
  20. package/dist/package/components/dropdown/dropdown.js +37 -28
  21. package/dist/package/components/navigation-item/navigation-item.d.ts +1 -0
  22. package/dist/package/components/navigation-item/navigation-item.js +4 -1
  23. package/dist/package/components/optgroup/optgroup.d.ts +20 -0
  24. package/dist/package/components/optgroup/optgroup.js +68 -0
  25. package/dist/package/components/select/select.d.ts +5 -1
  26. package/dist/package/components/select/select.js +94 -29
  27. package/dist/package/internal/tabbable.js +1 -1
  28. package/dist/package/solid-components.d.ts +2 -0
  29. package/dist/package/solid-components.js +74 -70
  30. package/dist/package/styles/tailwind.css.js +1 -1
  31. package/dist/package/translations/de.js +7 -4
  32. package/dist/package/translations/en.js +7 -4
  33. package/dist/package/utilities/localize.d.ts +3 -0
  34. package/dist/versioned-components/es/accordion-group.js +1 -1
  35. package/dist/versioned-components/es/accordion.js +1 -1
  36. package/dist/versioned-components/es/audio.js +1 -1
  37. package/dist/versioned-components/es/badge.js +1 -1
  38. package/dist/versioned-components/es/brandshape.js +1 -1
  39. package/dist/versioned-components/es/button.js +1 -1
  40. package/dist/versioned-components/es/carousel-item.js +1 -1
  41. package/dist/versioned-components/es/carousel.js +3 -3
  42. package/dist/versioned-components/es/checkbox-group.js +1 -1
  43. package/dist/versioned-components/es/checkbox.js +1 -1
  44. package/dist/versioned-components/es/combobox.js +11 -0
  45. package/dist/versioned-components/es/dialog.js +1 -1
  46. package/dist/versioned-components/es/divider.js +1 -1
  47. package/dist/versioned-components/es/drawer.js +1 -1
  48. package/dist/versioned-components/es/dropdown.js +1 -1
  49. package/dist/versioned-components/es/expandable.js +1 -1
  50. package/dist/versioned-components/es/flipcard.js +1 -1
  51. package/dist/versioned-components/es/form.js +1 -1
  52. package/dist/versioned-components/es/header.js +1 -1
  53. package/dist/versioned-components/es/icon.js +1 -1
  54. package/dist/versioned-components/es/include.js +1 -1
  55. package/dist/versioned-components/es/input.js +1 -1
  56. package/dist/versioned-components/es/link.js +1 -1
  57. package/dist/versioned-components/es/map-marker.js +1 -1
  58. package/dist/versioned-components/es/navigation-item.js +1 -1
  59. package/dist/versioned-components/es/notification.js +1 -1
  60. package/dist/versioned-components/es/optgroup.js +1 -0
  61. package/dist/versioned-components/es/option-renderer.js +1 -0
  62. package/dist/versioned-components/es/option.js +1 -1
  63. package/dist/versioned-components/es/quickfact.js +1 -1
  64. package/dist/versioned-components/es/radio-button.js +1 -1
  65. package/dist/versioned-components/es/radio-group.js +1 -1
  66. package/dist/versioned-components/es/radio.js +1 -1
  67. package/dist/versioned-components/es/scrollable.js +1 -1
  68. package/dist/versioned-components/es/select.js +7 -3
  69. package/dist/versioned-components/es/solid-components2.js +7 -7
  70. package/dist/versioned-components/es/spinner.js +1 -1
  71. package/dist/versioned-components/es/step-group.js +1 -1
  72. package/dist/versioned-components/es/step.js +1 -1
  73. package/dist/versioned-components/es/switch.js +1 -1
  74. package/dist/versioned-components/es/tab-group.js +1 -1
  75. package/dist/versioned-components/es/tab-panel.js +1 -1
  76. package/dist/versioned-components/es/tab.js +1 -1
  77. package/dist/versioned-components/es/tabbable.js +1 -1
  78. package/dist/versioned-components/es/tag.js +1 -1
  79. package/dist/versioned-components/es/teaser-media.js +1 -1
  80. package/dist/versioned-components/es/teaser.js +1 -1
  81. package/dist/versioned-components/es/textarea.js +1 -1
  82. package/dist/versioned-components/es/tooltip.js +2 -2
  83. package/dist/versioned-components/es/utils.js +1 -0
  84. package/dist/versioned-components/es/video.js +1 -1
  85. package/dist/versioned-package/_components/button-group/button-group.d.ts +1 -1
  86. package/dist/versioned-package/_components/button-group/button-group.js +11 -11
  87. package/dist/versioned-package/components/accordion/accordion.d.ts +1 -1
  88. package/dist/versioned-package/components/accordion/accordion.js +2 -2
  89. package/dist/versioned-package/components/accordion-group/accordion-group.d.ts +1 -1
  90. package/dist/versioned-package/components/accordion-group/accordion-group.js +3 -3
  91. package/dist/versioned-package/components/audio/audio.d.ts +1 -1
  92. package/dist/versioned-package/components/audio/audio.js +6 -6
  93. package/dist/versioned-package/components/badge/badge.d.ts +1 -1
  94. package/dist/versioned-package/components/badge/badge.js +1 -1
  95. package/dist/versioned-package/components/brandshape/brandshape.d.ts +1 -1
  96. package/dist/versioned-package/components/brandshape/brandshape.js +1 -1
  97. package/dist/versioned-package/components/button/button.d.ts +1 -1
  98. package/dist/versioned-package/components/button/button.js +4 -4
  99. package/dist/versioned-package/components/carousel/carousel.d.ts +1 -1
  100. package/dist/versioned-package/components/carousel/carousel.js +6 -6
  101. package/dist/versioned-package/components/carousel-item/carousel-item.d.ts +1 -1
  102. package/dist/versioned-package/components/carousel-item/carousel-item.js +1 -1
  103. package/dist/versioned-package/components/checkbox/checkbox.d.ts +1 -1
  104. package/dist/versioned-package/components/checkbox/checkbox.js +3 -3
  105. package/dist/versioned-package/components/checkbox-group/checkbox-group.d.ts +1 -1
  106. package/dist/versioned-package/components/checkbox-group/checkbox-group.js +5 -5
  107. package/dist/versioned-package/components/combobox/combobox.d.ts +129 -0
  108. package/dist/versioned-package/components/combobox/combobox.js +958 -0
  109. package/dist/versioned-package/components/combobox/option-renderer.d.ts +5 -0
  110. package/dist/versioned-package/components/combobox/option-renderer.js +4 -0
  111. package/dist/versioned-package/components/combobox/utils.d.ts +8 -0
  112. package/dist/versioned-package/components/combobox/utils.js +14 -0
  113. package/dist/versioned-package/components/dialog/dialog.d.ts +1 -1
  114. package/dist/versioned-package/components/dialog/dialog.js +2 -2
  115. package/dist/versioned-package/components/divider/divider.d.ts +1 -1
  116. package/dist/versioned-package/components/divider/divider.js +2 -2
  117. package/dist/versioned-package/components/drawer/drawer.d.ts +1 -1
  118. package/dist/versioned-package/components/drawer/drawer.js +2 -2
  119. package/dist/versioned-package/components/dropdown/dropdown.d.ts +3 -2
  120. package/dist/versioned-package/components/dropdown/dropdown.js +42 -33
  121. package/dist/versioned-package/components/expandable/expandable.d.ts +1 -1
  122. package/dist/versioned-package/components/expandable/expandable.js +2 -2
  123. package/dist/versioned-package/components/flipcard/flipcard.d.ts +1 -1
  124. package/dist/versioned-package/components/flipcard/flipcard.js +1 -1
  125. package/dist/versioned-package/components/header/header.d.ts +1 -1
  126. package/dist/versioned-package/components/header/header.js +4 -4
  127. package/dist/versioned-package/components/icon/icon.d.ts +1 -1
  128. package/dist/versioned-package/components/icon/icon.js +1 -1
  129. package/dist/versioned-package/components/include/include.d.ts +1 -1
  130. package/dist/versioned-package/components/include/include.js +1 -1
  131. package/dist/versioned-package/components/input/input.d.ts +1 -1
  132. package/dist/versioned-package/components/input/input.js +3 -3
  133. package/dist/versioned-package/components/link/link.d.ts +1 -1
  134. package/dist/versioned-package/components/link/link.js +2 -2
  135. package/dist/versioned-package/components/map-marker/map-marker.d.ts +1 -1
  136. package/dist/versioned-package/components/map-marker/map-marker.js +1 -1
  137. package/dist/versioned-package/components/navigation-item/navigation-item.d.ts +2 -1
  138. package/dist/versioned-package/components/navigation-item/navigation-item.js +9 -6
  139. package/dist/versioned-package/components/notification/notification.d.ts +1 -1
  140. package/dist/versioned-package/components/notification/notification.js +5 -5
  141. package/dist/versioned-package/components/optgroup/optgroup.d.ts +20 -0
  142. package/dist/versioned-package/components/optgroup/optgroup.js +68 -0
  143. package/dist/versioned-package/components/option/option.d.ts +1 -1
  144. package/dist/versioned-package/components/option/option.js +2 -2
  145. package/dist/versioned-package/components/popup/popup.d.ts +1 -1
  146. package/dist/versioned-package/components/popup/popup.js +1 -1
  147. package/dist/versioned-package/components/quickfact/quickfact.d.ts +1 -1
  148. package/dist/versioned-package/components/quickfact/quickfact.js +2 -2
  149. package/dist/versioned-package/components/radio/radio.d.ts +1 -1
  150. package/dist/versioned-package/components/radio/radio.js +2 -2
  151. package/dist/versioned-package/components/radio-button/radio-button.d.ts +1 -1
  152. package/dist/versioned-package/components/radio-button/radio-button.js +2 -2
  153. package/dist/versioned-package/components/radio-group/radio-group.d.ts +2 -2
  154. package/dist/versioned-package/components/radio-group/radio-group.js +13 -13
  155. package/dist/versioned-package/components/scrollable/scrollable.d.ts +1 -1
  156. package/dist/versioned-package/components/scrollable/scrollable.js +3 -3
  157. package/dist/versioned-package/components/select/select.d.ts +9 -5
  158. package/dist/versioned-package/components/select/select.js +115 -50
  159. package/dist/versioned-package/components/spinner/spinner.d.ts +1 -1
  160. package/dist/versioned-package/components/spinner/spinner.js +1 -1
  161. package/dist/versioned-package/components/step/step.d.ts +1 -1
  162. package/dist/versioned-package/components/step/step.js +2 -2
  163. package/dist/versioned-package/components/step-group/step-group.d.ts +1 -1
  164. package/dist/versioned-package/components/step-group/step-group.js +2 -2
  165. package/dist/versioned-package/components/switch/switch.d.ts +1 -1
  166. package/dist/versioned-package/components/switch/switch.js +1 -1
  167. package/dist/versioned-package/components/tab/tab.d.ts +1 -1
  168. package/dist/versioned-package/components/tab/tab.js +2 -2
  169. package/dist/versioned-package/components/tab-group/tab-group.d.ts +1 -1
  170. package/dist/versioned-package/components/tab-group/tab-group.js +13 -13
  171. package/dist/versioned-package/components/tab-panel/tab-panel.d.ts +1 -1
  172. package/dist/versioned-package/components/tab-panel/tab-panel.js +2 -2
  173. package/dist/versioned-package/components/tag/tag.d.ts +1 -1
  174. package/dist/versioned-package/components/tag/tag.js +2 -2
  175. package/dist/versioned-package/components/teaser/teaser.js +1 -1
  176. package/dist/versioned-package/components/teaser-media/teaser-media.js +1 -1
  177. package/dist/versioned-package/components/textarea/textarea.d.ts +1 -1
  178. package/dist/versioned-package/components/textarea/textarea.js +2 -2
  179. package/dist/versioned-package/components/tooltip/tooltip.d.ts +1 -1
  180. package/dist/versioned-package/components/tooltip/tooltip.js +5 -5
  181. package/dist/versioned-package/components/video/video.d.ts +1 -1
  182. package/dist/versioned-package/components/video/video.js +2 -2
  183. package/dist/versioned-package/internal/form.js +3 -3
  184. package/dist/versioned-package/internal/tabbable.js +1 -1
  185. package/dist/versioned-package/solid-components.d.ts +2 -0
  186. package/dist/versioned-package/solid-components.js +74 -70
  187. package/dist/versioned-package/styles/headline/headline.css.js +1 -1
  188. package/dist/versioned-package/styles/tailwind.css.js +1 -1
  189. package/dist/versioned-package/translations/de.js +7 -4
  190. package/dist/versioned-package/translations/en.js +7 -4
  191. package/dist/versioned-package/utilities/autocomplete-config.js +4 -4
  192. package/dist/versioned-package/utilities/localize.d.ts +3 -0
  193. package/dist/versioned-styles/solid-styles.css +1 -1
  194. package/dist/vscode.html-custom-data.json +373 -47
  195. package/dist/web-types.json +3335 -1813
  196. package/package.json +3 -3
@@ -25,7 +25,7 @@ export default class SdBrandshape extends SolidElement {
25
25
  }
26
26
  declare global {
27
27
  interface HTMLElementTagNameMap {
28
- 'sd-3-22-18-brandshape': SdBrandshape;
28
+ 'sd-3-23-1-brandshape': SdBrandshape;
29
29
  }
30
30
  }
31
31
  export {};
@@ -141,7 +141,7 @@ __decorateClass([
141
141
  state()
142
142
  ], SdBrandshape.prototype, "componentBreakpoint", 2);
143
143
  SdBrandshape = __decorateClass([
144
- customElement("sd-3-22-18-brandshape")
144
+ customElement("sd-3-23-1-brandshape")
145
145
  ], SdBrandshape);
146
146
  export {
147
147
  SdBrandshape as default
@@ -47,6 +47,6 @@ export default class SdButton extends SolidElement implements SolidFormControl {
47
47
  }
48
48
  declare global {
49
49
  interface HTMLElementTagNameMap {
50
- 'sd-3-22-18-button': SdButton;
50
+ 'sd-3-23-1-button': SdButton;
51
51
  }
52
52
  }
@@ -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-18-spinner class="${cx("absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2")}"></sd-3-22-18-spinner>` : ""}</${tag}>`;
215
+ )}"></slot>${this.loading ? html`<sd-3-23-1-spinner class="${cx("absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2")}"></sd-3-23-1-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-18-spinner{--indicator-color:currentColor;--track-color:var(--tw-varcolor-200)}::slotted(sd-3-22-18-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-18-icon),sd-3-22-18-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-23-1-spinner{--indicator-color:currentColor;--track-color:var(--tw-varcolor-200)}::slotted(sd-3-23-1-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-23-1-icon),sd-3-23-1-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-18-icon" })
227
+ queryAssignedElements({ selector: "sd-3-23-1-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-18-button")
290
+ customElement("sd-3-23-1-button")
291
291
  ], SdButton);
292
292
  export {
293
293
  SdButton as default
@@ -51,6 +51,6 @@ export default class SdCarousel extends SolidElement {
51
51
  }
52
52
  declare global {
53
53
  interface HTMLElementTagNameMap {
54
- 'sd-3-22-18-carousel': SdCarousel;
54
+ 'sd-3-23-1-carousel': SdCarousel;
55
55
  }
56
56
  }
@@ -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-18-carousel-item");
42
+ this.slides = this.getElementsByTagName("sd-3-23-1-carousel-item");
43
43
  this.intersectionObserverEntries = /* @__PURE__ */ new Map();
44
44
  this.localize = new LocalizeController(this);
45
45
  this.handleSlotChange = (mutations) => {
@@ -348,7 +348,7 @@ let SdCarousel = class extends SolidElement {
348
348
  )}" aria-label="${this.localize.term("previousSlide")}" aria-controls="scroll-container" aria-disabled="${prevEnabled ? "false" : "true"}" @click="${prevEnabled ? (e) => {
349
349
  this.previous();
350
350
  this.unblockAutoplay(e, this.previousButton);
351
- } : null}"><slot name="previous-icon"><sd-3-22-18-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-down" : "chevron-up"}"></sd-3-22-18-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) => {
351
+ } : null}"><slot name="previous-icon"><sd-3-23-1-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-down" : "chevron-up"}"></sd-3-23-1-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) => {
352
352
  const isActive = index + 1 === currentPage;
353
353
  return html`<button part="pagination-item ${isActive ? "pagination-item--active" : ""}" class="${cx(
354
354
  "carousel__pagination-item",
@@ -371,7 +371,7 @@ let SdCarousel = class extends SolidElement {
371
371
  )}" aria-label="${this.localize.term("nextSlide")}" aria-controls="scroll-container" aria-disabled="${nextEnabled ? "false" : "true"}" @click="${nextEnabled ? (e) => {
372
372
  this.next();
373
373
  this.unblockAutoplay(e, this.nextButton);
374
- } : null}"><slot name="next-icon"><sd-3-22-18-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-up" : "chevron-down"}"></sd-3-22-18-icon></slot></button></div><button class="${cx(
374
+ } : null}"><slot name="next-icon"><sd-3-23-1-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-up" : "chevron-down"}"></sd-3-23-1-icon></slot></button></div><button class="${cx(
375
375
  "ml-6 !rounded-sm",
376
376
  "!absolute !right-0 sd-interactive",
377
377
  this.inverted ? "sd-interactive--inverted" : "sd-interactive--reset",
@@ -381,14 +381,14 @@ let SdCarousel = class extends SolidElement {
381
381
  if (e.detail) {
382
382
  this.autoplayControls.blur();
383
383
  }
384
- }}"><slot name="autoplay-start" class="${cx(!this.pausedAutoplay ? "hidden" : "")}"><sd-3-22-18-icon class="h-6 w-6 grid place-items-center" library="system" name="start"></sd-3-22-18-icon></slot><slot name="autoplay-pause" class="${cx(this.pausedAutoplay ? "hidden" : "")}"><sd-3-22-18-icon class="h-6 w-6 grid place-items-center" library="system" name="pause"></sd-3-22-18-icon></slot></button></div></div>`;
384
+ }}"><slot name="autoplay-start" class="${cx(!this.pausedAutoplay ? "hidden" : "")}"><sd-3-23-1-icon class="h-6 w-6 grid place-items-center" library="system" name="start"></sd-3-23-1-icon></slot><slot name="autoplay-pause" class="${cx(this.pausedAutoplay ? "hidden" : "")}"><sd-3-23-1-icon class="h-6 w-6 grid place-items-center" library="system" name="pause"></sd-3-23-1-icon></slot></button></div></div>`;
385
385
  }
386
386
  };
387
387
  SdCarousel.styles = [
388
388
  SolidElement.styles,
389
389
  unsafeCSS(InteractiveStyles),
390
390
  componentStyles,
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-18-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-23-1-button::part(label){pointer-events:none;display:flex;flex:1 1 auto;align-items:center}`
392
392
  ];
393
393
  __decorateClass([
394
394
  query('[part~="autoplay-controls"]')
@@ -455,7 +455,7 @@ __decorateClass([
455
455
  watch("autoplay")
456
456
  ], SdCarousel.prototype, "handleAutoplayChange", 1);
457
457
  SdCarousel = __decorateClass([
458
- customElement("sd-3-22-18-carousel")
458
+ customElement("sd-3-23-1-carousel")
459
459
  ], SdCarousel);
460
460
  export {
461
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-18-carousel-item': SdCarouselItem;
10
+ 'sd-3-23-1-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-18-carousel-item")
33
+ customElement("sd-3-23-1-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-18-checkbox': SdCheckbox;
40
+ 'sd-3-23-1-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-18-checkbox group flex items-start text-base leading-normal text-black cursor-pointer",
112
+ "sd-3-23-1-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-18-icon part="checked-icon" class="text-white w-3 h-3" library="system" name="status-check"></sd-3-22-18-icon>` : ""} ${!this.checked && this.indeterminate ? html`<sd-3-22-18-icon part="indeterminate-icon" class="text-white w-3 h-3" library="system" name="status-minus"></sd-3-22-18-icon>` : ""} </span><span part="label" id="label" class="${cx(
138
+ )}">${this.checked ? html`<sd-3-23-1-icon part="checked-icon" class="text-white w-3 h-3" library="system" name="status-check"></sd-3-23-1-icon>` : ""} ${!this.checked && this.indeterminate ? html`<sd-3-23-1-icon part="indeterminate-icon" class="text-white w-3 h-3" library="system" name="status-minus"></sd-3-23-1-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-18-checkbox")
194
+ customElement("sd-3-23-1-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-18-checkbox-group': SdCheckboxGroup;
18
+ 'sd-3-23-1-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-18-checkbox")];
29
+ return [...this.querySelectorAll("sd-3-23-1-checkbox")];
30
30
  }
31
31
  async syncCheckboxElements() {
32
32
  const checkboxes = this.getAllCheckboxes();
@@ -39,10 +39,10 @@ let SdCheckboxGroup = class extends SolidElement {
39
39
  );
40
40
  }
41
41
  syncCheckboxes() {
42
- if (customElements.get("sd-3-22-18-checkbox")) {
42
+ if (customElements.get("sd-3-23-1-checkbox")) {
43
43
  this.syncCheckboxElements();
44
44
  } else {
45
- customElements.whenDefined("sd-3-22-18-checkbox").then(() => this.syncCheckboxes());
45
+ customElements.whenDefined("sd-3-23-1-checkbox").then(() => this.syncCheckboxes());
46
46
  }
47
47
  }
48
48
  handleSizeChange() {
@@ -74,7 +74,7 @@ let SdCheckboxGroup = class extends SolidElement {
74
74
  SdCheckboxGroup.styles = [
75
75
  componentStyles,
76
76
  SolidElement.styles,
77
- css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-22-18-checkbox){margin-bottom:var(--sd-spacing-2,.5rem);display:flex}:host([orientation=vertical]) ::slotted(sd-3-22-18-checkbox:last-of-type){margin-bottom:var(--sd-spacing-0,0)}:host([orientation=horizontal]) ::slotted(sd-3-22-18-checkbox){margin-right:var(--sd-spacing-6,1.5rem)}:host([orientation=horizontal]) ::slotted(sd-3-22-18-checkbox:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-22-18-checkbox){margin-right:var(--sd-spacing-4,1rem)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-22-18-checkbox:last-of-type){margin-right:var(--sd-spacing-0,0)}`
77
+ css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-23-1-checkbox){margin-bottom:var(--sd-spacing-2,.5rem);display:flex}:host([orientation=vertical]) ::slotted(sd-3-23-1-checkbox:last-of-type){margin-bottom:var(--sd-spacing-0,0)}:host([orientation=horizontal]) ::slotted(sd-3-23-1-checkbox){margin-right:var(--sd-spacing-6,1.5rem)}:host([orientation=horizontal]) ::slotted(sd-3-23-1-checkbox:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-23-1-checkbox){margin-right:var(--sd-spacing-4,1rem)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-23-1-checkbox:last-of-type){margin-right:var(--sd-spacing-0,0)}`
78
78
  ];
79
79
  __decorateClass([
80
80
  property({ reflect: true })
@@ -92,7 +92,7 @@ __decorateClass([
92
92
  watch("invalid", { waitUntilFirstUpdate: true })
93
93
  ], SdCheckboxGroup.prototype, "handleInvalid", 1);
94
94
  SdCheckboxGroup = __decorateClass([
95
- customElement("sd-3-22-18-checkbox-group")
95
+ customElement("sd-3-23-1-checkbox-group")
96
96
  ], SdCheckboxGroup);
97
97
  export {
98
98
  SdCheckboxGroup as default
@@ -0,0 +1,129 @@
1
+ import { type CSSResultGroup, type TemplateResult } from 'lit';
2
+ import { type OptionRenderer } from './option-renderer.js';
3
+ import SdIcon from '../icon/icon';
4
+ import SdPopup from '../popup/popup';
5
+ import SdTag from '../tag/tag';
6
+ import SolidElement from '../../internal/solid-element';
7
+ import type { SolidFormControl } from '../../internal/solid-element';
8
+ import type SdOptgroup from '../optgroup/optgroup.js';
9
+ import type SdOption from '../option/option';
10
+ export default class SdCombobox extends SolidElement implements SolidFormControl {
11
+ static dependencies: {
12
+ 'sd-3-23-1-icon': typeof SdIcon;
13
+ 'sd-3-23-1-popup': typeof SdPopup;
14
+ 'sd-3-23-1-tag': typeof SdTag;
15
+ };
16
+ private readonly formControlController;
17
+ private readonly hasSlotController;
18
+ private readonly localize;
19
+ popup: SdPopup;
20
+ combobox: HTMLSlotElement;
21
+ displayInput: HTMLInputElement;
22
+ valueInput: HTMLInputElement;
23
+ listbox: HTMLSlotElement;
24
+ tagWrapper: HTMLDivElement;
25
+ filteredWrapper: HTMLSlotElement;
26
+ private defaultSlot;
27
+ invalidMessage: HTMLDivElement;
28
+ hasHover: boolean;
29
+ private hasFocus;
30
+ displayInputValue: string;
31
+ selectedTextLabel: string;
32
+ selectedOptions: (SdOption | undefined)[];
33
+ filteredOptions: (SdOption | SdOptgroup | undefined)[];
34
+ allOptions: (SdOption | SdOptgroup | undefined)[];
35
+ lastOption: SdOption | undefined;
36
+ showValidStyle: boolean;
37
+ showInvalidStyle: boolean;
38
+ name: string;
39
+ value: string | string[];
40
+ defaultValue: string;
41
+ size: 'lg' | 'md' | 'sm';
42
+ placeholder: string;
43
+ disabled: boolean;
44
+ clearable: boolean;
45
+ open: boolean;
46
+ hoist: boolean;
47
+ label: string;
48
+ placement: 'top' | 'bottom';
49
+ helpText: string;
50
+ form: string;
51
+ required: boolean;
52
+ currentPlacement: "top" | "bottom";
53
+ getOption: OptionRenderer;
54
+ multiple: boolean;
55
+ useTags: boolean;
56
+ maxOptionsVisible: number;
57
+ styleOnValid: boolean;
58
+ filter: (option: SdOption, queryString: string) => boolean;
59
+ getTag: (option: SdOption, index: number) => TemplateResult | string | HTMLElement;
60
+ connectedCallback(): void;
61
+ firstUpdated(): void;
62
+ get validity(): ValidityState;
63
+ get validationMessage(): string;
64
+ protected get options(): (SdOption | SdOptgroup | TemplateResult<1>)[];
65
+ protected get tags(): (TemplateResult<1> | TemplateResult<1>[])[];
66
+ private addOpenListeners;
67
+ private removeOpenListeners;
68
+ private handleFocus;
69
+ private handleBlur;
70
+ private handleDocumentFocusIn;
71
+ private handleDocumentKeyDown;
72
+ private handleDocumentMouseDown;
73
+ private handleTagKeyDown;
74
+ private handleTagMaxOptionsKeyDown;
75
+ private handleLabelClick;
76
+ private handleTagRemove;
77
+ private handleComboboxMouseDown;
78
+ private handleComboboxKeyDown;
79
+ private handleClearClick;
80
+ private handleNoResultsClick;
81
+ private clearCombobox;
82
+ private preventLoosingFocus;
83
+ private handleOptionClick;
84
+ private selectNextOption;
85
+ private getAllFilteredOptions;
86
+ private getCurrentOption;
87
+ private setCurrentOption;
88
+ private toggleOptionSelection;
89
+ private findOptionByValue;
90
+ private selectedOptionsAndValueSynced;
91
+ private isOptionSelected;
92
+ private syncSelectedOptionsAndValue;
93
+ private compareOptions;
94
+ private setSelectedOptions;
95
+ private setOrderedSelectedOptions;
96
+ private selectionChanged;
97
+ private createComboboxOptionsFromQuery;
98
+ private handleInvalid;
99
+ private handleMouseEnter;
100
+ private handleMouseLeave;
101
+ private handleCurrentPlacement;
102
+ handleFilterChange(): void;
103
+ handleUseTagsChange(): void;
104
+ applySizeToOptions(): void;
105
+ handleDisabledChange(): void;
106
+ handleValueChange(): void;
107
+ handleDisplayInputValueChange(): void;
108
+ handleOpenChange(): Promise<void>;
109
+ show(): Promise<void>;
110
+ hide(): Promise<void>;
111
+ checkValidity(): boolean;
112
+ getForm(): HTMLFormElement | null;
113
+ reportValidity(): boolean;
114
+ setCustomValidity(message: string): void;
115
+ focus(options?: FocusOptions): void;
116
+ blur(): void;
117
+ private handleInput;
118
+ private handleChange;
119
+ private getSlottedOptions;
120
+ private getSlottedOptGroups;
121
+ private handleDefaultSlotChange;
122
+ render(): TemplateResult<1>;
123
+ static styles: CSSResultGroup;
124
+ }
125
+ declare global {
126
+ interface HTMLElementTagNameMap {
127
+ 'sd-3-23-1-combobox': SdCombobox;
128
+ }
129
+ }