@solid-design-system/components 4.0.0-next.6 → 4.0.0-next.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 (251) hide show
  1. package/cdn/chunks/chunk.BUUMCPDC.js +11 -0
  2. package/cdn/chunks/chunk.WHEYQDOD.js +11 -0
  3. package/cdn/components/combobox/combobox.d.ts +1 -0
  4. package/cdn/components/combobox/combobox.js +1 -1
  5. package/cdn/components/select/select.d.ts +1 -0
  6. package/cdn/components/select/select.js +1 -1
  7. package/cdn/custom-elements.json +29 -1
  8. package/cdn/solid-components.bundle.js +8 -8
  9. package/cdn/solid-components.iife.js +9 -9
  10. package/cdn/solid-components.js +1 -1
  11. package/cdn/vscode.html-custom-data.json +58 -48
  12. package/cdn/web-types.json +162 -144
  13. package/cdn-versioned/_components/menu/menu.js +1 -1
  14. package/cdn-versioned/_components/menu/menu.styles.js +1 -1
  15. package/cdn-versioned/_components/menu-item/menu-item.js +2 -2
  16. package/cdn-versioned/chunks/chunk.24SF73MY.js +1 -1
  17. package/cdn-versioned/chunks/chunk.2IZXJHH7.js +1 -1
  18. package/cdn-versioned/chunks/chunk.36Z2VDHI.js +1 -1
  19. package/cdn-versioned/chunks/chunk.3ATYVOO4.js +1 -1
  20. package/cdn-versioned/chunks/chunk.4HIKTDIM.js +3 -3
  21. package/cdn-versioned/chunks/chunk.4W3WLVGR.js +1 -1
  22. package/cdn-versioned/chunks/chunk.5FM4F3Y4.js +1 -1
  23. package/cdn-versioned/chunks/chunk.5ZDWEJDB.js +1 -1
  24. package/cdn-versioned/chunks/chunk.65NSSTJE.js +1 -1
  25. package/cdn-versioned/chunks/chunk.6JBTCFHE.js +2 -2
  26. package/cdn-versioned/chunks/chunk.7M7VCE7R.js +1 -1
  27. package/cdn-versioned/chunks/chunk.7RJ3O2FV.js +1 -1
  28. package/cdn-versioned/chunks/chunk.APMDRZQD.js +1 -1
  29. package/cdn-versioned/chunks/chunk.BUUMCPDC.js +11 -0
  30. package/cdn-versioned/chunks/chunk.C2PA7CKF.js +1 -1
  31. package/cdn-versioned/chunks/chunk.CEVVDV52.js +1 -1
  32. package/cdn-versioned/chunks/chunk.DMLGBWCL.js +1 -1
  33. package/cdn-versioned/chunks/chunk.DVHKKAVM.js +1 -1
  34. package/cdn-versioned/chunks/chunk.EWWGLHC5.js +1 -1
  35. package/cdn-versioned/chunks/chunk.F7J6HN76.js +1 -1
  36. package/cdn-versioned/chunks/chunk.FD54463O.js +1 -1
  37. package/cdn-versioned/chunks/chunk.FFNTXFC3.js +1 -1
  38. package/cdn-versioned/chunks/chunk.FX3ED655.js +1 -1
  39. package/cdn-versioned/chunks/chunk.GOVNZSCO.js +1 -1
  40. package/cdn-versioned/chunks/chunk.GQSLHWQC.js +1 -1
  41. package/cdn-versioned/chunks/chunk.ISEQUO4U.js +1 -1
  42. package/cdn-versioned/chunks/chunk.ITRQVXFY.js +1 -1
  43. package/cdn-versioned/chunks/chunk.IZKUI5WK.js +1 -1
  44. package/cdn-versioned/chunks/chunk.KMLMMBY4.js +1 -1
  45. package/cdn-versioned/chunks/chunk.LLXTYJXF.js +1 -1
  46. package/cdn-versioned/chunks/chunk.LZEFLOSA.js +1 -1
  47. package/cdn-versioned/chunks/chunk.MPP7HYX7.js +1 -1
  48. package/cdn-versioned/chunks/chunk.MX22EZXK.js +1 -1
  49. package/cdn-versioned/chunks/chunk.ND7BT52X.js +1 -1
  50. package/cdn-versioned/chunks/chunk.NUB5WHGD.js +1 -1
  51. package/cdn-versioned/chunks/chunk.O4UXOQEI.js +1 -1
  52. package/cdn-versioned/chunks/chunk.OVV7TNT2.js +1 -1
  53. package/cdn-versioned/chunks/chunk.PBPFKJKV.js +1 -1
  54. package/cdn-versioned/chunks/chunk.QFNCQQ6S.js +1 -1
  55. package/cdn-versioned/chunks/chunk.QNZWJACC.js +2 -2
  56. package/cdn-versioned/chunks/chunk.R354E6ZD.js +1 -1
  57. package/cdn-versioned/chunks/chunk.TA7CZCP3.js +1 -1
  58. package/cdn-versioned/chunks/chunk.U443X4TI.js +1 -1
  59. package/cdn-versioned/chunks/chunk.UBFU6D5B.js +1 -1
  60. package/cdn-versioned/chunks/chunk.URB2K7JQ.js +1 -1
  61. package/cdn-versioned/chunks/chunk.VNKUGTKM.js +1 -1
  62. package/cdn-versioned/chunks/chunk.W7A3TU2Z.js +1 -1
  63. package/cdn-versioned/chunks/chunk.WENTMXB2.js +1 -1
  64. package/cdn-versioned/chunks/chunk.WHEYQDOD.js +11 -0
  65. package/cdn-versioned/chunks/chunk.WQAPHFVM.js +1 -1
  66. package/cdn-versioned/chunks/chunk.YF5WEC4R.js +2 -2
  67. package/cdn-versioned/chunks/chunk.ZFA2VPUT.js +1 -1
  68. package/cdn-versioned/chunks/chunk.ZRIABVVM.js +1 -1
  69. package/cdn-versioned/components/accordion/accordion.d.ts +1 -1
  70. package/cdn-versioned/components/accordion-group/accordion-group.d.ts +1 -1
  71. package/cdn-versioned/components/animation/animation.d.ts +1 -1
  72. package/cdn-versioned/components/audio/audio.d.ts +1 -1
  73. package/cdn-versioned/components/badge/badge.d.ts +1 -1
  74. package/cdn-versioned/components/brandshape/brandshape.d.ts +1 -1
  75. package/cdn-versioned/components/button/button.d.ts +1 -1
  76. package/cdn-versioned/components/button-group/button-group.d.ts +1 -1
  77. package/cdn-versioned/components/carousel/carousel.d.ts +1 -1
  78. package/cdn-versioned/components/carousel-item/carousel-item.d.ts +1 -1
  79. package/cdn-versioned/components/checkbox/checkbox.d.ts +1 -1
  80. package/cdn-versioned/components/checkbox-group/checkbox-group.d.ts +1 -1
  81. package/cdn-versioned/components/combobox/combobox.d.ts +5 -4
  82. package/cdn-versioned/components/combobox/combobox.js +1 -1
  83. package/cdn-versioned/components/dialog/dialog.d.ts +1 -1
  84. package/cdn-versioned/components/divider/divider.d.ts +1 -1
  85. package/cdn-versioned/components/drawer/drawer.d.ts +1 -1
  86. package/cdn-versioned/components/dropdown/dropdown.d.ts +1 -1
  87. package/cdn-versioned/components/expandable/expandable.d.ts +1 -1
  88. package/cdn-versioned/components/flipcard/flipcard.d.ts +1 -1
  89. package/cdn-versioned/components/header/header.d.ts +1 -1
  90. package/cdn-versioned/components/icon/icon.d.ts +1 -1
  91. package/cdn-versioned/components/include/include.d.ts +1 -1
  92. package/cdn-versioned/components/input/input.d.ts +1 -1
  93. package/cdn-versioned/components/link/link.d.ts +1 -1
  94. package/cdn-versioned/components/map-marker/map-marker.d.ts +1 -1
  95. package/cdn-versioned/components/navigation-item/navigation-item.d.ts +1 -1
  96. package/cdn-versioned/components/notification/notification.d.ts +1 -1
  97. package/cdn-versioned/components/optgroup/optgroup.d.ts +2 -2
  98. package/cdn-versioned/components/option/option.d.ts +1 -1
  99. package/cdn-versioned/components/popup/popup.d.ts +1 -1
  100. package/cdn-versioned/components/quickfact/quickfact.d.ts +1 -1
  101. package/cdn-versioned/components/radio/radio.d.ts +1 -1
  102. package/cdn-versioned/components/radio-button/radio-button.d.ts +1 -1
  103. package/cdn-versioned/components/radio-group/radio-group.d.ts +2 -2
  104. package/cdn-versioned/components/scrollable/scrollable.d.ts +1 -1
  105. package/cdn-versioned/components/select/select.d.ts +5 -4
  106. package/cdn-versioned/components/select/select.js +1 -1
  107. package/cdn-versioned/components/spinner/spinner.d.ts +1 -1
  108. package/cdn-versioned/components/step/step.d.ts +1 -1
  109. package/cdn-versioned/components/step-group/step-group.d.ts +1 -1
  110. package/cdn-versioned/components/switch/switch.d.ts +1 -1
  111. package/cdn-versioned/components/tab/tab.d.ts +1 -1
  112. package/cdn-versioned/components/tab-group/tab-group.d.ts +1 -1
  113. package/cdn-versioned/components/tab-panel/tab-panel.d.ts +1 -1
  114. package/cdn-versioned/components/tag/tag.d.ts +1 -1
  115. package/cdn-versioned/components/textarea/textarea.d.ts +1 -1
  116. package/cdn-versioned/components/tooltip/tooltip.d.ts +1 -1
  117. package/cdn-versioned/components/video/video.d.ts +1 -1
  118. package/cdn-versioned/custom-elements.json +230 -202
  119. package/cdn-versioned/internal/form.js +3 -3
  120. package/cdn-versioned/solid-components.bundle.js +17 -17
  121. package/cdn-versioned/solid-components.css +2 -2
  122. package/cdn-versioned/solid-components.iife.js +18 -18
  123. package/cdn-versioned/solid-components.js +1 -1
  124. package/cdn-versioned/vscode.html-custom-data.json +135 -125
  125. package/cdn-versioned/web-types.json +292 -274
  126. package/dist/chunks/{chunk.I3PY3VYP.js → chunk.B44AE4VW.js} +14 -4
  127. package/dist/chunks/{chunk.EFEBQQHC.js → chunk.PPBZXQVJ.js} +28 -17
  128. package/dist/components/combobox/combobox.d.ts +1 -0
  129. package/dist/components/combobox/combobox.js +1 -1
  130. package/dist/components/select/select.d.ts +1 -0
  131. package/dist/components/select/select.js +1 -1
  132. package/dist/custom-elements.json +29 -1
  133. package/dist/solid-components.js +2 -2
  134. package/dist/vscode.html-custom-data.json +58 -48
  135. package/dist/web-types.json +162 -144
  136. package/dist-versioned/_components/menu/menu.js +1 -1
  137. package/dist-versioned/_components/menu/menu.styles.js +1 -1
  138. package/dist-versioned/_components/menu-item/menu-item.js +2 -2
  139. package/dist-versioned/chunks/chunk.2IBVAXOX.js +1 -1
  140. package/dist-versioned/chunks/chunk.3IT4HBTI.js +1 -1
  141. package/dist-versioned/chunks/chunk.3LGDUVS4.js +2 -2
  142. package/dist-versioned/chunks/chunk.4JZQQD4L.js +3 -3
  143. package/dist-versioned/chunks/chunk.4QKRGAOL.js +4 -4
  144. package/dist-versioned/chunks/chunk.4RGGPCD5.js +2 -2
  145. package/dist-versioned/chunks/chunk.65BWRJEA.js +5 -5
  146. package/dist-versioned/chunks/chunk.6CUAQSFA.js +2 -2
  147. package/dist-versioned/chunks/chunk.6DKXZWRN.js +4 -4
  148. package/dist-versioned/chunks/chunk.727ERQ4F.js +2 -2
  149. package/dist-versioned/chunks/chunk.743FPQRN.js +2 -2
  150. package/dist-versioned/chunks/chunk.76ZNNLGN.js +1 -1
  151. package/dist-versioned/chunks/chunk.7OHSCBBX.js +1 -1
  152. package/dist-versioned/chunks/{chunk.I3PY3VYP.js → chunk.B44AE4VW.js} +40 -30
  153. package/dist-versioned/chunks/chunk.BG3M5FUP.js +13 -13
  154. package/dist-versioned/chunks/chunk.BVC5FY4L.js +13 -13
  155. package/dist-versioned/chunks/chunk.BXB5WF23.js +5 -5
  156. package/dist-versioned/chunks/chunk.D6JZ4IKM.js +1 -1
  157. package/dist-versioned/chunks/chunk.DQPVSTUQ.js +3 -3
  158. package/dist-versioned/chunks/chunk.EKFRFDTB.js +5 -5
  159. package/dist-versioned/chunks/chunk.H655M7FD.js +1 -1
  160. package/dist-versioned/chunks/chunk.HPR3PWAE.js +3 -3
  161. package/dist-versioned/chunks/chunk.IN3GJ5QL.js +3 -3
  162. package/dist-versioned/chunks/chunk.J2XBUIBC.js +2 -2
  163. package/dist-versioned/chunks/chunk.J7MMF6WJ.js +2 -2
  164. package/dist-versioned/chunks/chunk.KTJRTRDJ.js +5 -5
  165. package/dist-versioned/chunks/chunk.KVKRZJS7.js +3 -3
  166. package/dist-versioned/chunks/chunk.MTSAWJLV.js +2 -2
  167. package/dist-versioned/chunks/chunk.NM6QP6RJ.js +2 -2
  168. package/dist-versioned/chunks/chunk.PDRECIYA.js +1 -1
  169. package/dist-versioned/chunks/chunk.PGZ5AWZ2.js +9 -9
  170. package/dist-versioned/chunks/chunk.PIR4YJUS.js +2 -2
  171. package/dist-versioned/chunks/{chunk.EFEBQQHC.js → chunk.PPBZXQVJ.js} +52 -41
  172. package/dist-versioned/chunks/chunk.QAZYUCBK.js +6 -6
  173. package/dist-versioned/chunks/chunk.QCICV36Z.js +6 -6
  174. package/dist-versioned/chunks/chunk.QP3SM2LZ.js +3 -3
  175. package/dist-versioned/chunks/chunk.R4BETATX.js +1 -1
  176. package/dist-versioned/chunks/chunk.RNSJAVQE.js +1 -1
  177. package/dist-versioned/chunks/chunk.RZRTIYXA.js +1 -1
  178. package/dist-versioned/chunks/chunk.SPBPHTSS.js +2 -2
  179. package/dist-versioned/chunks/chunk.SSH6ATRK.js +2 -2
  180. package/dist-versioned/chunks/chunk.TWXYFPBS.js +2 -2
  181. package/dist-versioned/chunks/chunk.U5NFPAOX.js +2 -2
  182. package/dist-versioned/chunks/chunk.U6RY25TF.js +2 -2
  183. package/dist-versioned/chunks/chunk.UC5E3AEF.js +1 -1
  184. package/dist-versioned/chunks/chunk.UDZYWRPT.js +1 -1
  185. package/dist-versioned/chunks/chunk.UIQBHPD3.js +2 -2
  186. package/dist-versioned/chunks/chunk.V7TQ6VJU.js +1 -1
  187. package/dist-versioned/chunks/chunk.VHGHICFG.js +2 -2
  188. package/dist-versioned/chunks/chunk.XVFJS7VS.js +5 -5
  189. package/dist-versioned/chunks/chunk.Z2UY62T2.js +1 -1
  190. package/dist-versioned/chunks/chunk.ZGPGFEVP.js +5 -5
  191. package/dist-versioned/chunks/chunk.ZWJI7SLE.js +11 -11
  192. package/dist-versioned/components/accordion/accordion.d.ts +1 -1
  193. package/dist-versioned/components/accordion-group/accordion-group.d.ts +1 -1
  194. package/dist-versioned/components/animation/animation.d.ts +1 -1
  195. package/dist-versioned/components/audio/audio.d.ts +1 -1
  196. package/dist-versioned/components/badge/badge.d.ts +1 -1
  197. package/dist-versioned/components/brandshape/brandshape.d.ts +1 -1
  198. package/dist-versioned/components/button/button.d.ts +1 -1
  199. package/dist-versioned/components/button-group/button-group.d.ts +1 -1
  200. package/dist-versioned/components/carousel/carousel.d.ts +1 -1
  201. package/dist-versioned/components/carousel-item/carousel-item.d.ts +1 -1
  202. package/dist-versioned/components/checkbox/checkbox.d.ts +1 -1
  203. package/dist-versioned/components/checkbox-group/checkbox-group.d.ts +1 -1
  204. package/dist-versioned/components/combobox/combobox.d.ts +5 -4
  205. package/dist-versioned/components/combobox/combobox.js +1 -1
  206. package/dist-versioned/components/dialog/dialog.d.ts +1 -1
  207. package/dist-versioned/components/divider/divider.d.ts +1 -1
  208. package/dist-versioned/components/drawer/drawer.d.ts +1 -1
  209. package/dist-versioned/components/dropdown/dropdown.d.ts +1 -1
  210. package/dist-versioned/components/expandable/expandable.d.ts +1 -1
  211. package/dist-versioned/components/flipcard/flipcard.d.ts +1 -1
  212. package/dist-versioned/components/header/header.d.ts +1 -1
  213. package/dist-versioned/components/icon/icon.d.ts +1 -1
  214. package/dist-versioned/components/include/include.d.ts +1 -1
  215. package/dist-versioned/components/input/input.d.ts +1 -1
  216. package/dist-versioned/components/link/link.d.ts +1 -1
  217. package/dist-versioned/components/map-marker/map-marker.d.ts +1 -1
  218. package/dist-versioned/components/navigation-item/navigation-item.d.ts +1 -1
  219. package/dist-versioned/components/notification/notification.d.ts +1 -1
  220. package/dist-versioned/components/optgroup/optgroup.d.ts +2 -2
  221. package/dist-versioned/components/option/option.d.ts +1 -1
  222. package/dist-versioned/components/popup/popup.d.ts +1 -1
  223. package/dist-versioned/components/quickfact/quickfact.d.ts +1 -1
  224. package/dist-versioned/components/radio/radio.d.ts +1 -1
  225. package/dist-versioned/components/radio-button/radio-button.d.ts +1 -1
  226. package/dist-versioned/components/radio-group/radio-group.d.ts +2 -2
  227. package/dist-versioned/components/scrollable/scrollable.d.ts +1 -1
  228. package/dist-versioned/components/select/select.d.ts +5 -4
  229. package/dist-versioned/components/select/select.js +1 -1
  230. package/dist-versioned/components/spinner/spinner.d.ts +1 -1
  231. package/dist-versioned/components/step/step.d.ts +1 -1
  232. package/dist-versioned/components/step-group/step-group.d.ts +1 -1
  233. package/dist-versioned/components/switch/switch.d.ts +1 -1
  234. package/dist-versioned/components/tab/tab.d.ts +1 -1
  235. package/dist-versioned/components/tab-group/tab-group.d.ts +1 -1
  236. package/dist-versioned/components/tab-panel/tab-panel.d.ts +1 -1
  237. package/dist-versioned/components/tag/tag.d.ts +1 -1
  238. package/dist-versioned/components/textarea/textarea.d.ts +1 -1
  239. package/dist-versioned/components/tooltip/tooltip.d.ts +1 -1
  240. package/dist-versioned/components/video/video.d.ts +1 -1
  241. package/dist-versioned/custom-elements.json +230 -202
  242. package/dist-versioned/internal/form.js +3 -3
  243. package/dist-versioned/solid-components.css +2 -2
  244. package/dist-versioned/solid-components.js +2 -2
  245. package/dist-versioned/vscode.html-custom-data.json +135 -125
  246. package/dist-versioned/web-types.json +292 -274
  247. package/package.json +2 -2
  248. package/cdn/chunks/chunk.DEX5VJGX.js +0 -11
  249. package/cdn/chunks/chunk.ROBLMI7Q.js +0 -11
  250. package/cdn-versioned/chunks/chunk.DEX5VJGX.js +0 -11
  251. package/cdn-versioned/chunks/chunk.ROBLMI7Q.js +0 -11
@@ -71,6 +71,7 @@ var SdSelect = class extends SolidElement {
71
71
  this.placement = "bottom";
72
72
  this.label = "";
73
73
  this.placeholder = this.localize.term("selectDefaultPlaceholder");
74
+ this.maxOptionsTagLabel = this.localize.term("tagsSelected");
74
75
  this.disabled = false;
75
76
  this.helpText = "";
76
77
  this.currentPlacement = this.placement;
@@ -231,6 +232,7 @@ var SdSelect = class extends SolidElement {
231
232
  handleTagKeyDown(event, option) {
232
233
  var _a, _b, _c;
233
234
  if (event.key === "Backspace" && this.multiple) {
235
+ event.preventDefault();
234
236
  event.stopPropagation();
235
237
  const tagParent = (_a = event.currentTarget) == null ? void 0 : _a.parentElement;
236
238
  const previousTag = (_b = tagParent == null ? void 0 : tagParent.previousElementSibling) == null ? void 0 : _b.querySelector("sd-tag");
@@ -249,6 +251,7 @@ var SdSelect = class extends SolidElement {
249
251
  }
250
252
  handleTagMaxOptionsKeyDown(event) {
251
253
  if (event.key === "Backspace" && this.multiple) {
254
+ event.preventDefault();
252
255
  event.stopPropagation();
253
256
  this.handleTagRemove(new CustomEvent("sd-remove"), this.selectedOptions[this.selectedOptions.length - 1]);
254
257
  this.updateComplete.then(() => {
@@ -442,7 +445,7 @@ var SdSelect = class extends SolidElement {
442
445
  base:tag__base,
443
446
  content:tag__content,
444
447
  removable-indicator:tag__removable-indicator,
445
- " size="${this.size === "sm" ? "sm" : "lg"}" removable @keydown="${(event) => this.handleTagMaxOptionsKeyDown(event)}" @sd-remove="${(event) => this.handleTagRemove(event)}">${this.selectedOptions.length} ${this.localize.term("tagsSelected")}</sd-tag>`
448
+ " size="${this.size === "sm" ? "sm" : "lg"}" removable @keydown="${(event) => this.handleTagMaxOptionsKeyDown(event)}" @sd-remove="${(event) => this.handleTagRemove(event)}">${this.selectedOptions.length} ${this.maxOptionsTagLabel}</sd-tag>`
446
449
  ];
447
450
  }
448
451
  }
@@ -572,7 +575,7 @@ var SdSelect = class extends SolidElement {
572
575
  };
573
576
  const hasLabel = this.label ? true : !!slots["label"];
574
577
  const hasHelpText = this.helpText ? true : !!slots["helpText"];
575
- const hasClearIcon = this.clearable && !this.disabled && this.value.length > 0;
578
+ const hasClearIcon = this.clearable && !this.disabled;
576
579
  const selectState = this.disabled ? "disabled" : this.hasFocus && this.showInvalidStyle ? "activeInvalid" : this.hasFocus && this.styleOnValid && this.showValidStyle ? "activeValid" : this.hasFocus || this.open ? "active" : this.showInvalidStyle ? "invalid" : this.styleOnValid && this.showValidStyle ? "valid" : "default";
577
580
  const cursorStyles = this.disabled ? "cursor-not-allowed" : "cursor-pointer";
578
581
  const iconMarginLeft = { sm: "ml-1", md: "ml-2", lg: "ml-2" }[this.size];
@@ -617,7 +620,11 @@ var SdSelect = class extends SolidElement {
617
620
  "appearance-none outline-none flex-grow bg-transparent w-full placeholder-neutral-700",
618
621
  cursorStyles,
619
622
  this.multiple && this.useTags && this.value.length > 0 ? "hidden" : ""
620
- )}" type="text" placeholder="${this.placeholder}" .disabled="${this.disabled}" .value="${this.displayLabel}" autocomplete="off" spellcheck="false" autocapitalize="off" readonly="readonly" aria-controls="listbox" aria-expanded="${this.open ? "true" : "false"}" aria-haspopup="listbox" aria-labelledby="label" aria-disabled="${this.disabled ? "true" : "false"}" aria-invalid="${this.showInvalidStyle}" aria-describedby="help-text invalid-message" role="combobox" tabindex="0" @focus="${this.handleFocus}" @blur="${this.handleBlur}"> ${this.multiple && this.useTags ? html`<div part="tags" class="flex-grow flex flex-wrap items-center gap-1">${this.tags}</div>` : ""}<div aria-live="polite" id="control-value" class="absolute top-0 left-0 opacity-0 -z-10">${this.selectedOptions.map((option) => option == null ? void 0 : option.getTextLabel()).join(", ")}</div><input class="${cx("value-input absolute top-0 left-0 w-full h-full opacity-0 -z-10", cursorStyles)}" type="text" ?disabled="${this.disabled}" ?required="${this.required}" .value="${Array.isArray(this.value) ? this.value.join(", ") : this.value}" tabindex="-1" aria-controls="control-value" aria-hidden="true" @focus="${() => this.focus()}" @invalid="${this.handleInvalid}"> ${hasClearIcon ? html`<button part="clear-button" class="${cx("select__clear flex justify-center", iconMarginLeft)}" type="button" aria-label="${this.localize.term("clearEntry")}" @mousedown="${this.handleClearMouseDown}" @click="${this.handleClearClick}" tabindex="-1"><slot name="clear-icon"><sd-icon class="${cx("text-icon-fill-neutral-800", iconSize)}" library="system" name="closing-round"></sd-icon></slot></button>` : ""} ${this.showInvalidStyle ? html`<sd-icon part="invalid-icon" class="${cx(iconMarginLeft, iconSize, "text-error")}" library="system" name="risk"></sd-icon>` : ""} ${this.styleOnValid && this.showValidStyle ? html`<sd-icon part="valid-icon" class="${cx("flex-shrink-0 text-success", iconMarginLeft, iconSize)}" library="system" name="status-check"></sd-icon>` : ""}<slot name="expand-icon" part="expand-icon" class="${cx(
623
+ )}" type="text" placeholder="${this.placeholder}" .disabled="${this.disabled}" .value="${this.displayLabel}" autocomplete="off" spellcheck="false" autocapitalize="off" readonly="readonly" aria-controls="listbox" aria-expanded="${this.open ? "true" : "false"}" aria-haspopup="listbox" aria-labelledby="label" aria-disabled="${this.disabled ? "true" : "false"}" aria-invalid="${this.showInvalidStyle}" aria-describedby="help-text invalid-message" role="combobox" tabindex="0" @focus="${this.handleFocus}" @blur="${this.handleBlur}"> ${this.multiple && this.useTags ? html`<div part="tags" class="flex-grow flex flex-wrap items-center gap-1">${this.tags}</div>` : ""}<div aria-live="polite" id="control-value" class="absolute top-0 left-0 opacity-0 -z-10">${this.selectedOptions.map((option) => option == null ? void 0 : option.getTextLabel()).join(", ")}</div><input class="${cx("value-input absolute top-0 left-0 w-full h-full opacity-0 -z-10", cursorStyles)}" type="text" ?disabled="${this.disabled}" ?required="${this.required}" .value="${Array.isArray(this.value) ? this.value.join(", ") : this.value}" tabindex="-1" aria-controls="control-value" aria-hidden="true" @focus="${() => this.focus()}" @invalid="${this.handleInvalid}"> ${hasClearIcon ? html`<button part="clear-button" class="${cx(
624
+ "select__clear flex justify-center",
625
+ iconMarginLeft,
626
+ this.value.length > 0 ? "visible" : "invisible"
627
+ )}" type="button" aria-label="${this.localize.term("clearEntry")}" @mousedown="${this.handleClearMouseDown}" @click="${this.handleClearClick}" tabindex="-1"><slot name="clear-icon"><sd-icon class="${cx("text-icon-fill-neutral-800", iconSize)}" library="system" name="closing-round"></sd-icon></slot></button>` : ""} ${this.showInvalidStyle ? html`<sd-icon part="invalid-icon" class="${cx(iconMarginLeft, iconSize, "text-error")}" library="system" name="risk"></sd-icon>` : ""} ${this.styleOnValid && this.showValidStyle ? html`<sd-icon part="valid-icon" class="${cx("flex-shrink-0 text-success", iconMarginLeft, iconSize)}" library="system" name="status-check"></sd-icon>` : ""}<slot name="expand-icon" part="expand-icon" class="${cx(
621
628
  "inline-flex ml-2 transition-all",
622
629
  this.open ? "rotate-180" : "rotate-0",
623
630
  this.disabled ? "text-neutral-500" : "text-primary",
@@ -639,7 +646,7 @@ SdSelect.dependencies = {
639
646
  */
640
647
  SdSelect.styles = [
641
648
  ...SolidElement.styles,
642
- css`:host{display:block;position:relative;width:100%}:host([required]) #label:after{content:" *"}[part=listbox]{max-height:var(--auto-size-available-height,auto)}sd-popup::part(popup){z-index:var(--sd-z-index-dropdown,900)}sd-tag::part(base){border-radius:var(--sd-border-radius-default,.25rem);padding-left:var(--sd-spacing-1,.25rem);padding-right:var(--sd-spacing-1,.25rem)}sd-tag[size=lg]::part(base){padding-left:var(--sd-spacing-2,.5rem);padding-right:var(--sd-spacing-2,.5rem)}sd-tag[disabled=false]::part(base):hover{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-primary-100,236 240 249)/var(--tw-bg-opacity,1))}`
649
+ css`:host{display:block;position:relative;width:100%}:host([required]) #label:after{content:" *"}[part=listbox]{max-height:var(--auto-size-available-height,auto)}sd-popup::part(popup){z-index:var(--sd-z-index-dropdown,900)}sd-tag::part(base){border-radius:var(--sd-border-radius-default,.25rem);padding-left:var(--sd-spacing-1,.25rem);padding-right:var(--sd-spacing-1,.25rem)}sd-tag::part(content){display:inline-block;max-width:var(--tag-max-width,15ch);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}sd-tag[size=lg]::part(base){padding-left:var(--sd-spacing-2,.5rem);padding-right:var(--sd-spacing-2,.5rem)}sd-tag[disabled=false]::part(base):hover{--tw-bg-opacity:1;background-color:rgb(var(--sd-color-primary-100,236 240 249)/var(--tw-bg-opacity,1))}`
643
650
  ];
644
651
  __decorateClass([
645
652
  queryAssignedElements({ selector: "sd-option" })
@@ -704,6 +711,9 @@ __decorateClass([
704
711
  __decorateClass([
705
712
  property()
706
713
  ], SdSelect.prototype, "placeholder", 2);
714
+ __decorateClass([
715
+ property({ attribute: "max-options-tag-label" })
716
+ ], SdSelect.prototype, "maxOptionsTagLabel", 2);
707
717
  __decorateClass([
708
718
  property({ type: Boolean, reflect: true })
709
719
  ], SdSelect.prototype, "disabled", 2);
@@ -80,6 +80,7 @@ var SdCombobox = class extends SolidElement {
80
80
  this.defaultValue = "";
81
81
  this.size = "lg";
82
82
  this.placeholder = this.localize.term("comboboxDefaultPlaceholder");
83
+ this.maxOptionsTagLabel = this.localize.term("tagsSelected");
83
84
  this.disabled = false;
84
85
  this.clearable = false;
85
86
  this.open = false;
@@ -162,13 +163,13 @@ var SdCombobox = class extends SolidElement {
162
163
  this.setOrderedSelectedOptions(currentOption);
163
164
  this.setSelectedOptions(currentOption);
164
165
  }
165
- this.updateComplete.then(() => this.displayInput.focus({ preventScroll: true }));
166
- if (this.value !== oldValue) {
167
- this.updateComplete.then(() => {
166
+ this.updateComplete.then(() => {
167
+ this.displayInput.focus({ preventScroll: true });
168
+ if (this.value !== oldValue) {
168
169
  this.emit("sd-input");
169
170
  this.emit("sd-change");
170
- });
171
- }
171
+ }
172
+ });
172
173
  }
173
174
  this.displayInput.focus({ preventScroll: true });
174
175
  if (!this.multiple) {
@@ -212,7 +213,6 @@ var SdCombobox = class extends SolidElement {
212
213
  this.selectedTextLabel = (option == null ? void 0 : option.getTextLabel()) || "";
213
214
  }
214
215
  this.formControlController.updateValidity();
215
- this.applySizeToOptions();
216
216
  }
217
217
  /** Gets the validity state object */
218
218
  get validity() {
@@ -255,7 +255,7 @@ var SdCombobox = class extends SolidElement {
255
255
  base:tag__base,
256
256
  content:tag__content,
257
257
  removable-indicator:tag__removable-indicator,
258
- " size="${this.size === "sm" ? "sm" : "lg"}" removable @keydown="${(event) => this.handleTagMaxOptionsKeyDown(event)}" @sd-remove="${(event) => this.handleTagRemove(event)}">${this.selectedOptions.length} ${this.localize.term("tagsSelected")}</sd-tag>`
258
+ " size="${this.size === "sm" ? "sm" : "lg"}" removable @keydown="${(event) => this.handleTagMaxOptionsKeyDown(event)}" @sd-remove="${(event) => this.handleTagRemove(event)}">${this.selectedOptions.length} ${this.maxOptionsTagLabel}</sd-tag>`
259
259
  ];
260
260
  }
261
261
  }
@@ -283,6 +283,7 @@ var SdCombobox = class extends SolidElement {
283
283
  }
284
284
  handleTagKeyDown(event, option) {
285
285
  if (event.key === "Backspace" && this.multiple) {
286
+ event.preventDefault();
286
287
  event.stopPropagation();
287
288
  this.handleTagRemove(new CustomEvent("sd-remove"), option);
288
289
  this.updateComplete.then(() => this.displayInput.focus({ preventScroll: true }));
@@ -290,6 +291,7 @@ var SdCombobox = class extends SolidElement {
290
291
  }
291
292
  handleTagMaxOptionsKeyDown(event) {
292
293
  if (event.key === "Backspace" && this.multiple) {
294
+ event.preventDefault();
293
295
  event.stopPropagation();
294
296
  this.handleTagRemove(new CustomEvent("sd-remove"), this.selectedOptions[this.selectedOptions.length - 1]);
295
297
  this.updateComplete.then(() => this.displayInput.focus({ preventScroll: true }));
@@ -376,13 +378,13 @@ var SdCombobox = class extends SolidElement {
376
378
  this.setOrderedSelectedOptions(option);
377
379
  this.setSelectedOptions(option);
378
380
  }
379
- this.updateComplete.then(() => this.displayInput.focus({ preventScroll: true }));
380
- if (this.value !== oldValue) {
381
- this.updateComplete.then(() => {
381
+ this.updateComplete.then(() => {
382
+ this.displayInput.focus({ preventScroll: true });
383
+ if (this.value !== oldValue) {
382
384
  this.emit("sd-input");
383
385
  this.emit("sd-change");
384
- });
385
- }
386
+ }
387
+ });
386
388
  if (!this.multiple) {
387
389
  this.hide();
388
390
  this.displayInput.focus({ preventScroll: true });
@@ -538,6 +540,8 @@ var SdCombobox = class extends SolidElement {
538
540
  const clonedOption = option.cloneNode(true);
539
541
  clonedOption.current = clonedOption.value === ((_a = this.lastOption) == null ? void 0 : _a.value);
540
542
  clonedOption.selected = option.selected;
543
+ clonedOption.checkbox = option.checkbox;
544
+ clonedOption.size = option.size;
541
545
  const hasOptgroup = ((_b = option.parentElement) == null ? void 0 : _b.tagName.toLowerCase()) === "sd-optgroup";
542
546
  if (!hasOptgroup) {
543
547
  return clonedOption;
@@ -712,6 +716,9 @@ var SdCombobox = class extends SolidElement {
712
716
  }
713
717
  const slottedOptions = this.getSlottedOptions();
714
718
  const slottedOptgroups = this.getSlottedOptGroups();
719
+ this.applySizeToOptions();
720
+ const selectedOption = this.findOptionByValue(slottedOptions, this.value);
721
+ this.selectedTextLabel = (selectedOption == null ? void 0 : selectedOption.getTextLabel()) || "";
715
722
  slottedOptions.forEach((option, index) => {
716
723
  if (this.multiple) {
717
724
  option.checkbox = true;
@@ -727,9 +734,6 @@ var SdCombobox = class extends SolidElement {
727
734
  } else {
728
735
  this.createComboboxOptionsFromQuery("");
729
736
  }
730
- if (this.hasFocus && this.value.length > 0 && !this.open) {
731
- await this.show();
732
- }
733
737
  }
734
738
  render() {
735
739
  const slots = {
@@ -740,7 +744,7 @@ var SdCombobox = class extends SolidElement {
740
744
  const hasHelpTextSlot = this.hasSlotController.test("help-text");
741
745
  const hasLabel = this.label ? true : !!hasLabelSlot;
742
746
  const hasHelpText = this.helpText ? true : !!hasHelpTextSlot;
743
- const hasClearIcon = this.clearable && !this.disabled && this.value.length > 0;
747
+ const hasClearIcon = this.clearable && !this.disabled;
744
748
  const selectState = this.disabled ? "disabled" : this.hasFocus && this.showInvalidStyle ? "activeInvalid" : this.hasFocus && this.styleOnValid && this.showValidStyle ? "activeValid" : this.hasFocus || this.open ? "active" : this.showInvalidStyle ? "invalid" : this.styleOnValid && this.showValidStyle ? "valid" : "default";
745
749
  const cursorStyles = this.disabled ? "cursor-not-allowed" : "cursor-pointer";
746
750
  const iconColor = this.disabled ? "text-neutral-500" : "text-primary";
@@ -787,7 +791,11 @@ var SdCombobox = class extends SolidElement {
787
791
  "appearance-none outline-none bg-transparent flex-auto min-w-0",
788
792
  cursorStyles,
789
793
  this.selectedTextLabel && !this.multiple ? "placeholder-black" : "placeholder-neutral-700"
790
- )}" type="text" placeholder="${this.selectedTextLabel && !this.multiple ? this.selectedTextLabel : this.placeholder}" .disabled="${this.disabled}" .value="${this.displayInputValue}" autocomplete="off" spellcheck="false" autocapitalize="off" aria-controls="listbox" aria-expanded="${this.open}" aria-haspopup="listbox" aria-labelledby="label" aria-disabled="${this.disabled}" aria-describedby="help-text invalid-message" aria-invalid="${this.showInvalidStyle}" role="combobox" tabindex="0" @focus="${this.handleFocus}" @blur="${this.handleBlur}" aria-autocomplete="list" aria-owns="listbox" @input="${this.handleInput}" @change="${this.handleChange}"><div aria-live="polite" id="control-value" class="absolute top-0 left-0 opacity-0 -z-10">${this.selectedOptions.map((option) => option == null ? void 0 : option.getTextLabel()).join(", ")}</div><input class="${cx("value-input absolute top-0 left-0 w-full h-full opacity-0 -z-10", cursorStyles)}" type="text" ?disabled="${this.disabled}" ?required="${this.required}" .value="${Array.isArray(this.value) ? this.value.join(", ") : this.value}" tabindex="-1" aria-controls="control-value" aria-hidden="true" @focus="${() => this.focus()}" @invalid="${this.handleInvalid}"> ${hasClearIcon ? html`<button part="clear-button" class="${cx("flex justify-center", iconMarginLeft)}" type="button" aria-label="${this.localize.term("clearEntry")}" @mousedown="${this.preventLoosingFocus}" @click="${this.handleClearClick}" tabindex="-1"><slot name="clear-icon"><sd-icon class="${cx("text-icon-fill-neutral-800", iconSize)}" name="closing-round" library="system"></sd-icon></slot></button>` : ""} ${this.showInvalidStyle ? html`<sd-icon part="invalid-icon" class="${cx(iconMarginLeft, iconSize, "text-error")}" library="system" name="risk"></sd-icon>` : ""} ${this.styleOnValid && this.showValidStyle ? html`<sd-icon part="valid-icon" class="${cx("flex-shrink-0 text-success", iconMarginLeft, iconSize)}" library="system" name="status-check"></sd-icon>` : ""}<slot name="right" part="right" class="${cx(
794
+ )}" type="text" placeholder="${this.selectedTextLabel && !this.multiple ? this.selectedTextLabel : this.placeholder}" .disabled="${this.disabled}" .value="${this.displayInputValue}" autocomplete="off" spellcheck="false" autocapitalize="off" aria-controls="listbox" aria-expanded="${this.open}" aria-haspopup="listbox" aria-labelledby="label" aria-disabled="${this.disabled}" aria-describedby="help-text invalid-message" aria-invalid="${this.showInvalidStyle}" role="combobox" tabindex="0" @focus="${this.handleFocus}" @blur="${this.handleBlur}" aria-autocomplete="list" aria-owns="listbox" @input="${this.handleInput}" @change="${this.handleChange}"><div aria-live="polite" id="control-value" class="absolute top-0 left-0 opacity-0 -z-10">${this.selectedOptions.map((option) => option == null ? void 0 : option.getTextLabel()).join(", ")}</div><input class="${cx("value-input absolute top-0 left-0 w-full h-full opacity-0 -z-10", cursorStyles)}" type="text" ?disabled="${this.disabled}" ?required="${this.required}" .value="${Array.isArray(this.value) ? this.value.join(", ") : this.value}" tabindex="-1" aria-controls="control-value" aria-hidden="true" @focus="${() => this.focus()}" @invalid="${this.handleInvalid}"> ${hasClearIcon ? html`<button part="clear-button" class="${cx(
795
+ "flex justify-center",
796
+ iconMarginLeft,
797
+ this.value.length > 0 ? "visible" : "invisible"
798
+ )}" type="button" aria-label="${this.localize.term("clearEntry")}" @mousedown="${this.preventLoosingFocus}" @click="${this.handleClearClick}" tabindex="-1"><slot name="clear-icon"><sd-icon class="${cx("text-icon-fill-neutral-800", iconSize)}" name="closing-round" library="system"></sd-icon></slot></button>` : ""} ${this.showInvalidStyle ? html`<sd-icon part="invalid-icon" class="${cx(iconMarginLeft, iconSize, "text-error")}" library="system" name="risk"></sd-icon>` : ""} ${this.styleOnValid && this.showValidStyle ? html`<sd-icon part="valid-icon" class="${cx("flex-shrink-0 text-success", iconMarginLeft, iconSize)}" library="system" name="status-check"></sd-icon>` : ""}<slot name="right" part="right" class="${cx(
791
799
  "inline-flex ml-2 leading-[0]",
792
800
  this.disabled ? "text-neutral-500" : "text-primary",
793
801
  iconSize
@@ -884,6 +892,9 @@ __decorateClass([
884
892
  __decorateClass([
885
893
  property()
886
894
  ], SdCombobox.prototype, "placeholder", 2);
895
+ __decorateClass([
896
+ property({ attribute: "max-options-tag-label" })
897
+ ], SdCombobox.prototype, "maxOptionsTagLabel", 2);
887
898
  __decorateClass([
888
899
  property({ reflect: true, type: Boolean })
889
900
  ], SdCombobox.prototype, "disabled", 2);
@@ -40,6 +40,7 @@ export default class SdCombobox extends SolidElement implements SolidFormControl
40
40
  defaultValue: string;
41
41
  size: 'lg' | 'md' | 'sm';
42
42
  placeholder: string;
43
+ maxOptionsTagLabel: string;
43
44
  disabled: boolean;
44
45
  clearable: boolean;
45
46
  open: boolean;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SdCombobox
3
- } from "../../chunks/chunk.EFEBQQHC.js";
3
+ } from "../../chunks/chunk.PPBZXQVJ.js";
4
4
  import "../../chunks/chunk.NM6QP6RJ.js";
5
5
  import "../../chunks/chunk.V7TQ6VJU.js";
6
6
  import "../../chunks/chunk.GI7VDIWX.js";
@@ -38,6 +38,7 @@ export default class SdSelect extends SolidElement implements SolidFormControl {
38
38
  placement: 'top' | 'bottom';
39
39
  label: string;
40
40
  placeholder: string;
41
+ maxOptionsTagLabel: string;
41
42
  disabled: boolean;
42
43
  helpText: string;
43
44
  currentPlacement: "top" | "bottom";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SdSelect
3
- } from "../../chunks/chunk.I3PY3VYP.js";
3
+ } from "../../chunks/chunk.B44AE4VW.js";
4
4
  import "../../chunks/chunk.NM6QP6RJ.js";
5
5
  import "../../chunks/chunk.V7TQ6VJU.js";
6
6
  import "../../chunks/chunk.GI7VDIWX.js";
@@ -3933,6 +3933,12 @@
3933
3933
  "description": "Placeholder text to show as a hint when the combobox is empty.",
3934
3934
  "attribute": "placeholder"
3935
3935
  },
3936
+ {
3937
+ "kind": "field",
3938
+ "name": "maxOptionsTagLabel",
3939
+ "description": "Label text shown on tag if max-options-visible is reached.",
3940
+ "attribute": "max-options-tag-label"
3941
+ },
3936
3942
  {
3937
3943
  "kind": "field",
3938
3944
  "name": "disabled",
@@ -4304,6 +4310,11 @@
4304
4310
  "description": "Placeholder text to show as a hint when the combobox is empty.",
4305
4311
  "fieldName": "placeholder"
4306
4312
  },
4313
+ {
4314
+ "name": "max-options-tag-label",
4315
+ "description": "Label text shown on tag if max-options-visible is reached.",
4316
+ "fieldName": "maxOptionsTagLabel"
4317
+ },
4307
4318
  {
4308
4319
  "name": "disabled",
4309
4320
  "type": {
@@ -12156,6 +12167,12 @@
12156
12167
  "kind": "class",
12157
12168
  "description": "",
12158
12169
  "name": "SdSelect",
12170
+ "cssProperties": [
12171
+ {
12172
+ "description": "Set the maximum width of the tags and to show an ellipsis. Defaults to \"15ch\"",
12173
+ "name": "--tag-max-width"
12174
+ }
12175
+ ],
12159
12176
  "cssParts": [
12160
12177
  {
12161
12178
  "description": "The form control that wraps the label, input, and help text.",
@@ -12328,6 +12345,12 @@
12328
12345
  "description": "Placeholder text to show as a hint when the select is empty.",
12329
12346
  "attribute": "placeholder"
12330
12347
  },
12348
+ {
12349
+ "kind": "field",
12350
+ "name": "maxOptionsTagLabel",
12351
+ "description": "Label text shown on tag if max-options-visible is reached.",
12352
+ "attribute": "max-options-tag-label"
12353
+ },
12331
12354
  {
12332
12355
  "kind": "field",
12333
12356
  "name": "disabled",
@@ -12663,6 +12686,11 @@
12663
12686
  "description": "Placeholder text to show as a hint when the select is empty.",
12664
12687
  "fieldName": "placeholder"
12665
12688
  },
12689
+ {
12690
+ "name": "max-options-tag-label",
12691
+ "description": "Label text shown on tag if max-options-visible is reached.",
12692
+ "fieldName": "maxOptionsTagLabel"
12693
+ },
12666
12694
  {
12667
12695
  "name": "disabled",
12668
12696
  "type": {
@@ -16668,7 +16696,7 @@
16668
16696
  "package": {
16669
16697
  "name": "@solid-design-system/components",
16670
16698
  "description": "Solid Design System: Components",
16671
- "version": "4.0.0-next.6",
16699
+ "version": "4.0.0-next.7",
16672
16700
  "author": "Union Investment",
16673
16701
  "homepage": "https://solid-design-system.fe.union-investment.de/docs/",
16674
16702
  "license": "MIT"
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunks/chunk.SPBPHTSS.js";
20
20
  import {
21
21
  SdSelect
22
- } from "./chunks/chunk.I3PY3VYP.js";
22
+ } from "./chunks/chunk.B44AE4VW.js";
23
23
  import {
24
24
  SdStep
25
25
  } from "./chunks/chunk.3LGDUVS4.js";
@@ -97,7 +97,7 @@ import {
97
97
  } from "./chunks/chunk.65BWRJEA.js";
98
98
  import {
99
99
  SdCombobox
100
- } from "./chunks/chunk.EFEBQQHC.js";
100
+ } from "./chunks/chunk.PPBZXQVJ.js";
101
101
  import {
102
102
  SdTag
103
103
  } from "./chunks/chunk.NM6QP6RJ.js";
@@ -626,6 +626,11 @@
626
626
  "description": "Placeholder text to show as a hint when the combobox is empty.",
627
627
  "values": []
628
628
  },
629
+ {
630
+ "name": "max-options-tag-label",
631
+ "description": "Label text shown on tag if max-options-visible is reached.",
632
+ "values": []
633
+ },
629
634
  {
630
635
  "name": "disabled",
631
636
  "description": "Disables the combobox control.",
@@ -799,6 +804,53 @@
799
804
  }
800
805
  ]
801
806
  },
807
+ {
808
+ "name": "sd-drawer",
809
+ "description": "Drawers slide in from a container to expose additional options and information.\n---\n\n\n### **Events:**\n - **sd-show** - Emitted when the drawer opens.\n- **sd-after-show** - Emitted after the drawer opens and all animations are complete.\n- **sd-hide** - Emitted when the drawer closes.\n- **sd-after-hide** - Emitted after the drawer closes and all animations are complete.\n- **sd-initial-focus** - Emitted when the drawer opens and is ready to receive focus. Calling `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.\n- **sd-request-close** - Emitted when the user attempts to close the drawer by clicking the close button, clicking the overlay, or pressing escape. Calling `event.preventDefault()` will keep the drawer open. Avoid using this unless closing the drawer will result in destructive behavior such as data loss.\n\n### **Methods:**\n - **show()** - Shows the drawer.\n- **hide()** - Hides the drawer\n- **emit(name: _string_, options: _CustomEventInit_)** - Emits a custom event with more convenient defaults.\n\n### **Slots:**\n - _default_ - The drawer's main content.\n- **header** - The drawer's header, usually a title.\n- **footer** - The drawer's footer, usually one or more buttons representing various options.\n\n### **CSS Properties:**\n - **--width** - The preferred width of the drawer. depending on its `placement`. Note that the drawer will shrink to accommodate smaller screens. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **overlay** - The overlay that covers the screen behind the drawer.\n- **panel** - The drawer's panel (where the drawer and its content are rendered).\n- **header** - The drawer's header. This element wraps the title and the close-button.\n- **title** - The drawer's title.\n- **close-button** - The close button, an `<sd-button>`.\n- **body** - The drawer's body.\n- **footer** - The drawer's footer.",
810
+ "attributes": [
811
+ {
812
+ "name": "open",
813
+ "description": "Indicates whether or not the drawer is open. You can toggle this attribute to show and hide the drawer, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.",
814
+ "values": []
815
+ },
816
+ {
817
+ "name": "label",
818
+ "description": "You should always include a relevant label even when using\n`no-header`, as it is required for proper accessibility.",
819
+ "values": []
820
+ },
821
+ {
822
+ "name": "placement",
823
+ "description": "The direction from which the drawer will open.",
824
+ "values": [{ "name": "end" }, { "name": "start" }]
825
+ },
826
+ {
827
+ "name": "contained",
828
+ "description": "By default, the drawer slides out of its containing block (the viewport). Contained is a hidden feature used only for testing purposes. Please do not use it in production as it will likely change.",
829
+ "values": []
830
+ },
831
+ {
832
+ "name": "no-header",
833
+ "description": "Removes the header. This will also remove the default close button, so please ensure you provide an easy, accessible way for users to dismiss the drawer.",
834
+ "values": []
835
+ },
836
+ {
837
+ "name": "dir",
838
+ "description": "The element's directionality.",
839
+ "values": [{ "name": "ltr" }, { "name": "rtl" }, { "name": "auto" }]
840
+ },
841
+ {
842
+ "name": "lang",
843
+ "description": "The element's language.",
844
+ "values": []
845
+ }
846
+ ],
847
+ "references": [
848
+ {
849
+ "name": "Documentation",
850
+ "url": "https://solid-design-system.fe.union-investment.de/docs/?path=/docs/components-sd-drawer--docs"
851
+ }
852
+ ]
853
+ },
802
854
  {
803
855
  "name": "sd-dropdown",
804
856
  "description": "Dropdowns expose additional content that \"drops down\" in a panel.\n---\n\n\n### **Events:**\n - **sd-show** - Emitted when the dropdown opens.\n- **sd-after-show** - Emitted after the dropdown opens and all animations are complete.\n- **sd-hide** - Emitted when the dropdown closes.\n- **sd-after-hide** - Emitted after the dropdown closes and all animations are complete.\n\n### **Methods:**\n - **getAccessibleTrigger(): _HTMLElement | null_** - Slotted triggers can be arbitrary content. The accessible trigger is the tabbable element\nwithin the slotted trigger. This could be the slotted element itself, a child of the slotted element,\nor an element within the slotted elements shadow root.\n\ne.g. the accessible trigger of an <sd-button> is a <button> located inside its shadow root.\n\nTo determine this, we assume the first tabbable element in the trigger slot is the \"accessible trigger.\"\n- **show()** - Shows the dropdown panel.\n- **hide()** - Hides the dropdown panel\n- **reposition()** - Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu\nis activated.\n- **emit(name: _string_, options: _CustomEventInit_)** - Emits a custom event with more convenient defaults.\n\n### **Slots:**\n - _default_ - The dropdown's main content.\n- **trigger** - The dropdown's trigger, usually a `<sd-button>` element.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **trigger** - The container that wraps the trigger.\n- **panel** - The panel that gets shown when the dropdown is open.",
@@ -885,53 +937,6 @@
885
937
  }
886
938
  ]
887
939
  },
888
- {
889
- "name": "sd-drawer",
890
- "description": "Drawers slide in from a container to expose additional options and information.\n---\n\n\n### **Events:**\n - **sd-show** - Emitted when the drawer opens.\n- **sd-after-show** - Emitted after the drawer opens and all animations are complete.\n- **sd-hide** - Emitted when the drawer closes.\n- **sd-after-hide** - Emitted after the drawer closes and all animations are complete.\n- **sd-initial-focus** - Emitted when the drawer opens and is ready to receive focus. Calling `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.\n- **sd-request-close** - Emitted when the user attempts to close the drawer by clicking the close button, clicking the overlay, or pressing escape. Calling `event.preventDefault()` will keep the drawer open. Avoid using this unless closing the drawer will result in destructive behavior such as data loss.\n\n### **Methods:**\n - **show()** - Shows the drawer.\n- **hide()** - Hides the drawer\n- **emit(name: _string_, options: _CustomEventInit_)** - Emits a custom event with more convenient defaults.\n\n### **Slots:**\n - _default_ - The drawer's main content.\n- **header** - The drawer's header, usually a title.\n- **footer** - The drawer's footer, usually one or more buttons representing various options.\n\n### **CSS Properties:**\n - **--width** - The preferred width of the drawer. depending on its `placement`. Note that the drawer will shrink to accommodate smaller screens. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **overlay** - The overlay that covers the screen behind the drawer.\n- **panel** - The drawer's panel (where the drawer and its content are rendered).\n- **header** - The drawer's header. This element wraps the title and the close-button.\n- **title** - The drawer's title.\n- **close-button** - The close button, an `<sd-button>`.\n- **body** - The drawer's body.\n- **footer** - The drawer's footer.",
891
- "attributes": [
892
- {
893
- "name": "open",
894
- "description": "Indicates whether or not the drawer is open. You can toggle this attribute to show and hide the drawer, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.",
895
- "values": []
896
- },
897
- {
898
- "name": "label",
899
- "description": "You should always include a relevant label even when using\n`no-header`, as it is required for proper accessibility.",
900
- "values": []
901
- },
902
- {
903
- "name": "placement",
904
- "description": "The direction from which the drawer will open.",
905
- "values": [{ "name": "end" }, { "name": "start" }]
906
- },
907
- {
908
- "name": "contained",
909
- "description": "By default, the drawer slides out of its containing block (the viewport). Contained is a hidden feature used only for testing purposes. Please do not use it in production as it will likely change.",
910
- "values": []
911
- },
912
- {
913
- "name": "no-header",
914
- "description": "Removes the header. This will also remove the default close button, so please ensure you provide an easy, accessible way for users to dismiss the drawer.",
915
- "values": []
916
- },
917
- {
918
- "name": "dir",
919
- "description": "The element's directionality.",
920
- "values": [{ "name": "ltr" }, { "name": "rtl" }, { "name": "auto" }]
921
- },
922
- {
923
- "name": "lang",
924
- "description": "The element's language.",
925
- "values": []
926
- }
927
- ],
928
- "references": [
929
- {
930
- "name": "Documentation",
931
- "url": "https://solid-design-system.fe.union-investment.de/docs/?path=/docs/components-sd-drawer--docs"
932
- }
933
- ]
934
- },
935
940
  {
936
941
  "name": "sd-expandable",
937
942
  "description": "Expandable shows a brief summary and expands to show additional content.\n---\n\n\n### **Events:**\n - **sd-show** - Emitted when the expandable opens.\n- **sd-after-show** - Emitted after the expandable opens and all animations are complete.\n- **sd-hide** - Emitted when the expandable closes.\n- **sd-after-hide** - Emitted after the expandable closes and all animations are complete.\n\n### **Methods:**\n - **show()** - Opens the expandable\n- **hide()** - Closes the expandable\n- **emit(name: _string_, options: _CustomEventInit_)** - Emits a custom event with more convenient defaults.\n\n### **Slots:**\n - _default_ - Content of the expandable\n- **toggle-open** - Content of the toggle button when the expandable is open\n- **toggle-closed** - Content of the toggle button when the expandable is closed\n\n### **CSS Properties:**\n - **--gradient-color-start** - Start color of the gradient. Set the opacity to 0 (default: rgba(255, 255, 255, 0)) _(default: undefined)_\n- **--gradient-color-end** - End color of the gradient. Set the opacity to 1 (default: rgba(255, 255, 255, 1)) _(default: undefined)_\n- **--gradient-height** - Height of the gradient (default: 24px) _(default: undefined)_\n- **--component-expandable-max-block-size** - Different value for initial visible block (default: 90px) _(default: undefined)_\n\n### **CSS Parts:**\n - **content** - The content of the expandable.\n- **toggle** - The toggle button of the expandable.\n- **summary** - The summary of the expandable.\n- **details** - The details element of the expandable.",
@@ -2070,7 +2075,7 @@
2070
2075
  },
2071
2076
  {
2072
2077
  "name": "sd-select",
2073
- "description": "Selects allow you to choose items from a menu of predefined options.\n---\n\n\n### **Events:**\n - **sd-change** - Emitted when the control's value changes.\n- **sd-clear** - Emitted when the control's value is cleared.\n- **sd-input** - Emitted when the control receives input.\n- **sd-focus** - Emitted when the control gains focus.\n- **sd-blur** - Emitted when the control loses focus.\n- **sd-show** - Emitted when the select's menu opens.\n- **sd-after-show** - Emitted after the select's menu opens and all animations are complete.\n- **sd-hide** - Emitted when the select's menu closes.\n- **sd-after-hide** - Emitted after the select's menu closes and all animations are complete.\n- **sd-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **show()** - Shows the listbox.\n- **hide()** - Hides the listbox.\n- **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n- **focus(options: _FocusOptions_)** - Sets focus on the control.\n- **blur()** - Removes focus from the control.\n- **emit(name: _string_, options: _CustomEventInit_)** - Emits a custom event with more convenient defaults.\n\n### **Slots:**\n - _default_ - The listbox options. Must be `<sd-option>` elements. You can use `<sd-divider>` to group items visually.\n- **label** - The input's label. Alternatively, you can use the `label` attribute.\n- **help-text** - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n- **clear-icon** - An icon to use in lieu of the default clear icon.\n- **expand-icon** - The icon to show when the control is expanded and collapsed. Rotates on open and close.\n- **tooltip** - An optional tooltip that helps describe the input. Use this slot with the `sd-tooltip` component.\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-input** - The select's wrapper.\n- **form-control-help-text** - The help text's wrapper.\n- **combobox** - The container the wraps the combobox, clear icon, and expand button.\n- **display-input** - The element that displays the selected option's label, an `<input>` element.\n- **listbox** - The listbox container where options are slotted.\n- **tags** - The container that houses option tags when `multiselect` is used.\n- **tag** - The individual tags that represent each multiselect option.\n- **tag__base** - The tag's base part.\n- **tag__content** - The tag's content part.\n- **tag__removable-indicator** - The tag's remove button.\n- **clear-button** - The clear button.\n- **expand-icon** - The container that wraps the expand icon.",
2078
+ "description": "Selects allow you to choose items from a menu of predefined options.\n---\n\n\n### **Events:**\n - **sd-change** - Emitted when the control's value changes.\n- **sd-clear** - Emitted when the control's value is cleared.\n- **sd-input** - Emitted when the control receives input.\n- **sd-focus** - Emitted when the control gains focus.\n- **sd-blur** - Emitted when the control loses focus.\n- **sd-show** - Emitted when the select's menu opens.\n- **sd-after-show** - Emitted after the select's menu opens and all animations are complete.\n- **sd-hide** - Emitted when the select's menu closes.\n- **sd-after-hide** - Emitted after the select's menu closes and all animations are complete.\n- **sd-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **show()** - Shows the listbox.\n- **hide()** - Hides the listbox.\n- **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n- **focus(options: _FocusOptions_)** - Sets focus on the control.\n- **blur()** - Removes focus from the control.\n- **emit(name: _string_, options: _CustomEventInit_)** - Emits a custom event with more convenient defaults.\n\n### **Slots:**\n - _default_ - The listbox options. Must be `<sd-option>` elements. You can use `<sd-divider>` to group items visually.\n- **label** - The input's label. Alternatively, you can use the `label` attribute.\n- **help-text** - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n- **clear-icon** - An icon to use in lieu of the default clear icon.\n- **expand-icon** - The icon to show when the control is expanded and collapsed. Rotates on open and close.\n- **tooltip** - An optional tooltip that helps describe the input. Use this slot with the `sd-tooltip` component.\n\n### **CSS Properties:**\n - **--tag-max-width** - Set the maximum width of the tags and to show an ellipsis. Defaults to \"15ch\" _(default: undefined)_\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-input** - The select's wrapper.\n- **form-control-help-text** - The help text's wrapper.\n- **combobox** - The container the wraps the combobox, clear icon, and expand button.\n- **display-input** - The element that displays the selected option's label, an `<input>` element.\n- **listbox** - The listbox container where options are slotted.\n- **tags** - The container that houses option tags when `multiselect` is used.\n- **tag** - The individual tags that represent each multiselect option.\n- **tag__base** - The tag's base part.\n- **tag__content** - The tag's content part.\n- **tag__removable-indicator** - The tag's remove button.\n- **clear-button** - The clear button.\n- **expand-icon** - The container that wraps the expand icon.",
2074
2079
  "attributes": [
2075
2080
  {
2076
2081
  "name": "open",
@@ -2097,6 +2102,11 @@
2097
2102
  "description": "Placeholder text to show as a hint when the select is empty.",
2098
2103
  "values": []
2099
2104
  },
2105
+ {
2106
+ "name": "max-options-tag-label",
2107
+ "description": "Label text shown on tag if max-options-visible is reached.",
2108
+ "values": []
2109
+ },
2100
2110
  {
2101
2111
  "name": "disabled",
2102
2112
  "description": "Disables the select control.",