@solid-design-system/components 3.22.18 → 3.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/dist/components/es/combobox.js +11 -0
  2. package/dist/components/es/map-marker.js +1 -1
  3. package/dist/components/es/optgroup.js +1 -0
  4. package/dist/components/es/option-renderer.js +1 -0
  5. package/dist/components/es/select.js +7 -3
  6. package/dist/components/es/solid-components2.js +7 -7
  7. package/dist/components/es/utils.js +1 -0
  8. package/dist/components/umd/solid-components.js +37 -23
  9. package/dist/custom-elements.json +1 -1
  10. package/dist/package/components/combobox/combobox.d.ts +129 -0
  11. package/dist/package/components/combobox/combobox.js +958 -0
  12. package/dist/package/components/combobox/option-renderer.d.ts +5 -0
  13. package/dist/package/components/combobox/option-renderer.js +4 -0
  14. package/dist/package/components/combobox/utils.d.ts +8 -0
  15. package/dist/package/components/combobox/utils.js +14 -0
  16. package/dist/package/components/optgroup/optgroup.d.ts +20 -0
  17. package/dist/package/components/optgroup/optgroup.js +68 -0
  18. package/dist/package/components/select/select.d.ts +5 -1
  19. package/dist/package/components/select/select.js +94 -29
  20. package/dist/package/solid-components.d.ts +2 -0
  21. package/dist/package/solid-components.js +74 -70
  22. package/dist/package/styles/tailwind.css.js +1 -1
  23. package/dist/package/translations/de.js +7 -4
  24. package/dist/package/translations/en.js +7 -4
  25. package/dist/package/utilities/localize.d.ts +3 -0
  26. package/dist/versioned-components/es/accordion-group.js +1 -1
  27. package/dist/versioned-components/es/accordion.js +1 -1
  28. package/dist/versioned-components/es/audio.js +1 -1
  29. package/dist/versioned-components/es/badge.js +1 -1
  30. package/dist/versioned-components/es/brandshape.js +1 -1
  31. package/dist/versioned-components/es/button.js +1 -1
  32. package/dist/versioned-components/es/carousel-item.js +1 -1
  33. package/dist/versioned-components/es/carousel.js +3 -3
  34. package/dist/versioned-components/es/checkbox-group.js +1 -1
  35. package/dist/versioned-components/es/checkbox.js +1 -1
  36. package/dist/versioned-components/es/combobox.js +11 -0
  37. package/dist/versioned-components/es/dialog.js +1 -1
  38. package/dist/versioned-components/es/divider.js +1 -1
  39. package/dist/versioned-components/es/drawer.js +1 -1
  40. package/dist/versioned-components/es/dropdown.js +1 -1
  41. package/dist/versioned-components/es/expandable.js +1 -1
  42. package/dist/versioned-components/es/flipcard.js +1 -1
  43. package/dist/versioned-components/es/form.js +1 -1
  44. package/dist/versioned-components/es/header.js +1 -1
  45. package/dist/versioned-components/es/icon.js +1 -1
  46. package/dist/versioned-components/es/include.js +1 -1
  47. package/dist/versioned-components/es/input.js +1 -1
  48. package/dist/versioned-components/es/link.js +1 -1
  49. package/dist/versioned-components/es/map-marker.js +1 -1
  50. package/dist/versioned-components/es/navigation-item.js +1 -1
  51. package/dist/versioned-components/es/notification.js +1 -1
  52. package/dist/versioned-components/es/optgroup.js +1 -0
  53. package/dist/versioned-components/es/option-renderer.js +1 -0
  54. package/dist/versioned-components/es/option.js +1 -1
  55. package/dist/versioned-components/es/quickfact.js +1 -1
  56. package/dist/versioned-components/es/radio-button.js +1 -1
  57. package/dist/versioned-components/es/radio-group.js +1 -1
  58. package/dist/versioned-components/es/radio.js +1 -1
  59. package/dist/versioned-components/es/scrollable.js +1 -1
  60. package/dist/versioned-components/es/select.js +7 -3
  61. package/dist/versioned-components/es/solid-components2.js +7 -7
  62. package/dist/versioned-components/es/spinner.js +1 -1
  63. package/dist/versioned-components/es/step-group.js +1 -1
  64. package/dist/versioned-components/es/step.js +1 -1
  65. package/dist/versioned-components/es/switch.js +1 -1
  66. package/dist/versioned-components/es/tab-group.js +1 -1
  67. package/dist/versioned-components/es/tab-panel.js +1 -1
  68. package/dist/versioned-components/es/tab.js +1 -1
  69. package/dist/versioned-components/es/tag.js +1 -1
  70. package/dist/versioned-components/es/teaser-media.js +1 -1
  71. package/dist/versioned-components/es/teaser.js +1 -1
  72. package/dist/versioned-components/es/textarea.js +1 -1
  73. package/dist/versioned-components/es/tooltip.js +2 -2
  74. package/dist/versioned-components/es/utils.js +1 -0
  75. package/dist/versioned-components/es/video.js +1 -1
  76. package/dist/versioned-package/_components/button-group/button-group.d.ts +1 -1
  77. package/dist/versioned-package/_components/button-group/button-group.js +11 -11
  78. package/dist/versioned-package/components/accordion/accordion.d.ts +1 -1
  79. package/dist/versioned-package/components/accordion/accordion.js +2 -2
  80. package/dist/versioned-package/components/accordion-group/accordion-group.d.ts +1 -1
  81. package/dist/versioned-package/components/accordion-group/accordion-group.js +3 -3
  82. package/dist/versioned-package/components/audio/audio.d.ts +1 -1
  83. package/dist/versioned-package/components/audio/audio.js +6 -6
  84. package/dist/versioned-package/components/badge/badge.d.ts +1 -1
  85. package/dist/versioned-package/components/badge/badge.js +1 -1
  86. package/dist/versioned-package/components/brandshape/brandshape.d.ts +1 -1
  87. package/dist/versioned-package/components/brandshape/brandshape.js +1 -1
  88. package/dist/versioned-package/components/button/button.d.ts +1 -1
  89. package/dist/versioned-package/components/button/button.js +4 -4
  90. package/dist/versioned-package/components/carousel/carousel.d.ts +1 -1
  91. package/dist/versioned-package/components/carousel/carousel.js +6 -6
  92. package/dist/versioned-package/components/carousel-item/carousel-item.d.ts +1 -1
  93. package/dist/versioned-package/components/carousel-item/carousel-item.js +1 -1
  94. package/dist/versioned-package/components/checkbox/checkbox.d.ts +1 -1
  95. package/dist/versioned-package/components/checkbox/checkbox.js +3 -3
  96. package/dist/versioned-package/components/checkbox-group/checkbox-group.d.ts +1 -1
  97. package/dist/versioned-package/components/checkbox-group/checkbox-group.js +5 -5
  98. package/dist/versioned-package/components/combobox/combobox.d.ts +129 -0
  99. package/dist/versioned-package/components/combobox/combobox.js +958 -0
  100. package/dist/versioned-package/components/combobox/option-renderer.d.ts +5 -0
  101. package/dist/versioned-package/components/combobox/option-renderer.js +4 -0
  102. package/dist/versioned-package/components/combobox/utils.d.ts +8 -0
  103. package/dist/versioned-package/components/combobox/utils.js +14 -0
  104. package/dist/versioned-package/components/dialog/dialog.d.ts +1 -1
  105. package/dist/versioned-package/components/dialog/dialog.js +2 -2
  106. package/dist/versioned-package/components/divider/divider.d.ts +1 -1
  107. package/dist/versioned-package/components/divider/divider.js +2 -2
  108. package/dist/versioned-package/components/drawer/drawer.d.ts +1 -1
  109. package/dist/versioned-package/components/drawer/drawer.js +2 -2
  110. package/dist/versioned-package/components/dropdown/dropdown.d.ts +1 -1
  111. package/dist/versioned-package/components/dropdown/dropdown.js +8 -8
  112. package/dist/versioned-package/components/expandable/expandable.d.ts +1 -1
  113. package/dist/versioned-package/components/expandable/expandable.js +2 -2
  114. package/dist/versioned-package/components/flipcard/flipcard.d.ts +1 -1
  115. package/dist/versioned-package/components/flipcard/flipcard.js +1 -1
  116. package/dist/versioned-package/components/header/header.d.ts +1 -1
  117. package/dist/versioned-package/components/header/header.js +4 -4
  118. package/dist/versioned-package/components/icon/icon.d.ts +1 -1
  119. package/dist/versioned-package/components/icon/icon.js +1 -1
  120. package/dist/versioned-package/components/include/include.d.ts +1 -1
  121. package/dist/versioned-package/components/include/include.js +1 -1
  122. package/dist/versioned-package/components/input/input.d.ts +1 -1
  123. package/dist/versioned-package/components/input/input.js +3 -3
  124. package/dist/versioned-package/components/link/link.d.ts +1 -1
  125. package/dist/versioned-package/components/link/link.js +2 -2
  126. package/dist/versioned-package/components/map-marker/map-marker.d.ts +1 -1
  127. package/dist/versioned-package/components/map-marker/map-marker.js +1 -1
  128. package/dist/versioned-package/components/navigation-item/navigation-item.d.ts +1 -1
  129. package/dist/versioned-package/components/navigation-item/navigation-item.js +5 -5
  130. package/dist/versioned-package/components/notification/notification.d.ts +1 -1
  131. package/dist/versioned-package/components/notification/notification.js +5 -5
  132. package/dist/versioned-package/components/optgroup/optgroup.d.ts +20 -0
  133. package/dist/versioned-package/components/optgroup/optgroup.js +68 -0
  134. package/dist/versioned-package/components/option/option.d.ts +1 -1
  135. package/dist/versioned-package/components/option/option.js +2 -2
  136. package/dist/versioned-package/components/popup/popup.d.ts +1 -1
  137. package/dist/versioned-package/components/popup/popup.js +1 -1
  138. package/dist/versioned-package/components/quickfact/quickfact.d.ts +1 -1
  139. package/dist/versioned-package/components/quickfact/quickfact.js +2 -2
  140. package/dist/versioned-package/components/radio/radio.d.ts +1 -1
  141. package/dist/versioned-package/components/radio/radio.js +2 -2
  142. package/dist/versioned-package/components/radio-button/radio-button.d.ts +1 -1
  143. package/dist/versioned-package/components/radio-button/radio-button.js +2 -2
  144. package/dist/versioned-package/components/radio-group/radio-group.d.ts +2 -2
  145. package/dist/versioned-package/components/radio-group/radio-group.js +13 -13
  146. package/dist/versioned-package/components/scrollable/scrollable.d.ts +1 -1
  147. package/dist/versioned-package/components/scrollable/scrollable.js +3 -3
  148. package/dist/versioned-package/components/select/select.d.ts +9 -5
  149. package/dist/versioned-package/components/select/select.js +115 -50
  150. package/dist/versioned-package/components/spinner/spinner.d.ts +1 -1
  151. package/dist/versioned-package/components/spinner/spinner.js +1 -1
  152. package/dist/versioned-package/components/step/step.d.ts +1 -1
  153. package/dist/versioned-package/components/step/step.js +2 -2
  154. package/dist/versioned-package/components/step-group/step-group.d.ts +1 -1
  155. package/dist/versioned-package/components/step-group/step-group.js +2 -2
  156. package/dist/versioned-package/components/switch/switch.d.ts +1 -1
  157. package/dist/versioned-package/components/switch/switch.js +1 -1
  158. package/dist/versioned-package/components/tab/tab.d.ts +1 -1
  159. package/dist/versioned-package/components/tab/tab.js +2 -2
  160. package/dist/versioned-package/components/tab-group/tab-group.d.ts +1 -1
  161. package/dist/versioned-package/components/tab-group/tab-group.js +13 -13
  162. package/dist/versioned-package/components/tab-panel/tab-panel.d.ts +1 -1
  163. package/dist/versioned-package/components/tab-panel/tab-panel.js +2 -2
  164. package/dist/versioned-package/components/tag/tag.d.ts +1 -1
  165. package/dist/versioned-package/components/tag/tag.js +2 -2
  166. package/dist/versioned-package/components/teaser/teaser.js +1 -1
  167. package/dist/versioned-package/components/teaser-media/teaser-media.js +1 -1
  168. package/dist/versioned-package/components/textarea/textarea.d.ts +1 -1
  169. package/dist/versioned-package/components/textarea/textarea.js +2 -2
  170. package/dist/versioned-package/components/tooltip/tooltip.d.ts +1 -1
  171. package/dist/versioned-package/components/tooltip/tooltip.js +5 -5
  172. package/dist/versioned-package/components/video/video.d.ts +1 -1
  173. package/dist/versioned-package/components/video/video.js +2 -2
  174. package/dist/versioned-package/internal/form.js +3 -3
  175. package/dist/versioned-package/solid-components.d.ts +2 -0
  176. package/dist/versioned-package/solid-components.js +74 -70
  177. package/dist/versioned-package/styles/headline/headline.css.js +1 -1
  178. package/dist/versioned-package/styles/tailwind.css.js +1 -1
  179. package/dist/versioned-package/translations/de.js +7 -4
  180. package/dist/versioned-package/translations/en.js +7 -4
  181. package/dist/versioned-package/utilities/autocomplete-config.js +4 -4
  182. package/dist/versioned-package/utilities/localize.d.ts +3 -0
  183. package/dist/versioned-styles/solid-styles.css +1 -1
  184. package/dist/vscode.html-custom-data.json +371 -45
  185. package/dist/web-types.json +5471 -3959
  186. package/package.json +3 -3
@@ -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-0-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-0-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-0-spinner class="${cx("absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2")}"></sd-3-23-0-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-0-spinner{--indicator-color:currentColor;--track-color:var(--tw-varcolor-200)}::slotted(sd-3-23-0-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-0-icon),sd-3-23-0-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-0-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-0-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-0-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-0-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-0-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-down" : "chevron-up"}"></sd-3-23-0-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-0-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-up" : "chevron-down"}"></sd-3-23-0-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-0-icon class="h-6 w-6 grid place-items-center" library="system" name="start"></sd-3-23-0-icon></slot><slot name="autoplay-pause" class="${cx(this.pausedAutoplay ? "hidden" : "")}"><sd-3-23-0-icon class="h-6 w-6 grid place-items-center" library="system" name="pause"></sd-3-23-0-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-0-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-0-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-0-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-0-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-0-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-0-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-0-icon part="checked-icon" class="text-white w-3 h-3" library="system" name="status-check"></sd-3-23-0-icon>` : ""} ${!this.checked && this.indeterminate ? html`<sd-3-23-0-icon part="indeterminate-icon" class="text-white w-3 h-3" library="system" name="status-minus"></sd-3-23-0-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-0-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-0-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-0-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-0-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-0-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-0-checkbox){margin-bottom:var(--sd-spacing-2,.5rem);display:flex}:host([orientation=vertical]) ::slotted(sd-3-23-0-checkbox:last-of-type){margin-bottom:var(--sd-spacing-0,0)}:host([orientation=horizontal]) ::slotted(sd-3-23-0-checkbox){margin-right:var(--sd-spacing-6,1.5rem)}:host([orientation=horizontal]) ::slotted(sd-3-23-0-checkbox:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-23-0-checkbox){margin-right:var(--sd-spacing-4,1rem)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-23-0-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-0-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-0-icon': typeof SdIcon;
13
+ 'sd-3-23-0-popup': typeof SdPopup;
14
+ 'sd-3-23-0-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-0-combobox': SdCombobox;
128
+ }
129
+ }