@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.
- package/cdn/chunks/chunk.BUUMCPDC.js +11 -0
- package/cdn/chunks/chunk.WHEYQDOD.js +11 -0
- package/cdn/components/combobox/combobox.d.ts +1 -0
- package/cdn/components/combobox/combobox.js +1 -1
- package/cdn/components/select/select.d.ts +1 -0
- package/cdn/components/select/select.js +1 -1
- package/cdn/custom-elements.json +29 -1
- package/cdn/solid-components.bundle.js +8 -8
- package/cdn/solid-components.iife.js +9 -9
- package/cdn/solid-components.js +1 -1
- package/cdn/vscode.html-custom-data.json +58 -48
- package/cdn/web-types.json +162 -144
- package/cdn-versioned/_components/menu/menu.js +1 -1
- package/cdn-versioned/_components/menu/menu.styles.js +1 -1
- package/cdn-versioned/_components/menu-item/menu-item.js +2 -2
- package/cdn-versioned/chunks/chunk.24SF73MY.js +1 -1
- package/cdn-versioned/chunks/chunk.2IZXJHH7.js +1 -1
- package/cdn-versioned/chunks/chunk.36Z2VDHI.js +1 -1
- package/cdn-versioned/chunks/chunk.3ATYVOO4.js +1 -1
- package/cdn-versioned/chunks/chunk.4HIKTDIM.js +3 -3
- package/cdn-versioned/chunks/chunk.4W3WLVGR.js +1 -1
- package/cdn-versioned/chunks/chunk.5FM4F3Y4.js +1 -1
- package/cdn-versioned/chunks/chunk.5ZDWEJDB.js +1 -1
- package/cdn-versioned/chunks/chunk.65NSSTJE.js +1 -1
- package/cdn-versioned/chunks/chunk.6JBTCFHE.js +2 -2
- package/cdn-versioned/chunks/chunk.7M7VCE7R.js +1 -1
- package/cdn-versioned/chunks/chunk.7RJ3O2FV.js +1 -1
- package/cdn-versioned/chunks/chunk.APMDRZQD.js +1 -1
- package/cdn-versioned/chunks/chunk.BUUMCPDC.js +11 -0
- package/cdn-versioned/chunks/chunk.C2PA7CKF.js +1 -1
- package/cdn-versioned/chunks/chunk.CEVVDV52.js +1 -1
- package/cdn-versioned/chunks/chunk.DMLGBWCL.js +1 -1
- package/cdn-versioned/chunks/chunk.DVHKKAVM.js +1 -1
- package/cdn-versioned/chunks/chunk.EWWGLHC5.js +1 -1
- package/cdn-versioned/chunks/chunk.F7J6HN76.js +1 -1
- package/cdn-versioned/chunks/chunk.FD54463O.js +1 -1
- package/cdn-versioned/chunks/chunk.FFNTXFC3.js +1 -1
- package/cdn-versioned/chunks/chunk.FX3ED655.js +1 -1
- package/cdn-versioned/chunks/chunk.GOVNZSCO.js +1 -1
- package/cdn-versioned/chunks/chunk.GQSLHWQC.js +1 -1
- package/cdn-versioned/chunks/chunk.ISEQUO4U.js +1 -1
- package/cdn-versioned/chunks/chunk.ITRQVXFY.js +1 -1
- package/cdn-versioned/chunks/chunk.IZKUI5WK.js +1 -1
- package/cdn-versioned/chunks/chunk.KMLMMBY4.js +1 -1
- package/cdn-versioned/chunks/chunk.LLXTYJXF.js +1 -1
- package/cdn-versioned/chunks/chunk.LZEFLOSA.js +1 -1
- package/cdn-versioned/chunks/chunk.MPP7HYX7.js +1 -1
- package/cdn-versioned/chunks/chunk.MX22EZXK.js +1 -1
- package/cdn-versioned/chunks/chunk.ND7BT52X.js +1 -1
- package/cdn-versioned/chunks/chunk.NUB5WHGD.js +1 -1
- package/cdn-versioned/chunks/chunk.O4UXOQEI.js +1 -1
- package/cdn-versioned/chunks/chunk.OVV7TNT2.js +1 -1
- package/cdn-versioned/chunks/chunk.PBPFKJKV.js +1 -1
- package/cdn-versioned/chunks/chunk.QFNCQQ6S.js +1 -1
- package/cdn-versioned/chunks/chunk.QNZWJACC.js +2 -2
- package/cdn-versioned/chunks/chunk.R354E6ZD.js +1 -1
- package/cdn-versioned/chunks/chunk.TA7CZCP3.js +1 -1
- package/cdn-versioned/chunks/chunk.U443X4TI.js +1 -1
- package/cdn-versioned/chunks/chunk.UBFU6D5B.js +1 -1
- package/cdn-versioned/chunks/chunk.URB2K7JQ.js +1 -1
- package/cdn-versioned/chunks/chunk.VNKUGTKM.js +1 -1
- package/cdn-versioned/chunks/chunk.W7A3TU2Z.js +1 -1
- package/cdn-versioned/chunks/chunk.WENTMXB2.js +1 -1
- package/cdn-versioned/chunks/chunk.WHEYQDOD.js +11 -0
- package/cdn-versioned/chunks/chunk.WQAPHFVM.js +1 -1
- package/cdn-versioned/chunks/chunk.YF5WEC4R.js +2 -2
- package/cdn-versioned/chunks/chunk.ZFA2VPUT.js +1 -1
- package/cdn-versioned/chunks/chunk.ZRIABVVM.js +1 -1
- package/cdn-versioned/components/accordion/accordion.d.ts +1 -1
- package/cdn-versioned/components/accordion-group/accordion-group.d.ts +1 -1
- package/cdn-versioned/components/animation/animation.d.ts +1 -1
- package/cdn-versioned/components/audio/audio.d.ts +1 -1
- package/cdn-versioned/components/badge/badge.d.ts +1 -1
- package/cdn-versioned/components/brandshape/brandshape.d.ts +1 -1
- package/cdn-versioned/components/button/button.d.ts +1 -1
- package/cdn-versioned/components/button-group/button-group.d.ts +1 -1
- package/cdn-versioned/components/carousel/carousel.d.ts +1 -1
- package/cdn-versioned/components/carousel-item/carousel-item.d.ts +1 -1
- package/cdn-versioned/components/checkbox/checkbox.d.ts +1 -1
- package/cdn-versioned/components/checkbox-group/checkbox-group.d.ts +1 -1
- package/cdn-versioned/components/combobox/combobox.d.ts +5 -4
- package/cdn-versioned/components/combobox/combobox.js +1 -1
- package/cdn-versioned/components/dialog/dialog.d.ts +1 -1
- package/cdn-versioned/components/divider/divider.d.ts +1 -1
- package/cdn-versioned/components/drawer/drawer.d.ts +1 -1
- package/cdn-versioned/components/dropdown/dropdown.d.ts +1 -1
- package/cdn-versioned/components/expandable/expandable.d.ts +1 -1
- package/cdn-versioned/components/flipcard/flipcard.d.ts +1 -1
- package/cdn-versioned/components/header/header.d.ts +1 -1
- package/cdn-versioned/components/icon/icon.d.ts +1 -1
- package/cdn-versioned/components/include/include.d.ts +1 -1
- package/cdn-versioned/components/input/input.d.ts +1 -1
- package/cdn-versioned/components/link/link.d.ts +1 -1
- package/cdn-versioned/components/map-marker/map-marker.d.ts +1 -1
- package/cdn-versioned/components/navigation-item/navigation-item.d.ts +1 -1
- package/cdn-versioned/components/notification/notification.d.ts +1 -1
- package/cdn-versioned/components/optgroup/optgroup.d.ts +2 -2
- package/cdn-versioned/components/option/option.d.ts +1 -1
- package/cdn-versioned/components/popup/popup.d.ts +1 -1
- package/cdn-versioned/components/quickfact/quickfact.d.ts +1 -1
- package/cdn-versioned/components/radio/radio.d.ts +1 -1
- package/cdn-versioned/components/radio-button/radio-button.d.ts +1 -1
- package/cdn-versioned/components/radio-group/radio-group.d.ts +2 -2
- package/cdn-versioned/components/scrollable/scrollable.d.ts +1 -1
- package/cdn-versioned/components/select/select.d.ts +5 -4
- package/cdn-versioned/components/select/select.js +1 -1
- package/cdn-versioned/components/spinner/spinner.d.ts +1 -1
- package/cdn-versioned/components/step/step.d.ts +1 -1
- package/cdn-versioned/components/step-group/step-group.d.ts +1 -1
- package/cdn-versioned/components/switch/switch.d.ts +1 -1
- package/cdn-versioned/components/tab/tab.d.ts +1 -1
- package/cdn-versioned/components/tab-group/tab-group.d.ts +1 -1
- package/cdn-versioned/components/tab-panel/tab-panel.d.ts +1 -1
- package/cdn-versioned/components/tag/tag.d.ts +1 -1
- package/cdn-versioned/components/textarea/textarea.d.ts +1 -1
- package/cdn-versioned/components/tooltip/tooltip.d.ts +1 -1
- package/cdn-versioned/components/video/video.d.ts +1 -1
- package/cdn-versioned/custom-elements.json +230 -202
- package/cdn-versioned/internal/form.js +3 -3
- package/cdn-versioned/solid-components.bundle.js +17 -17
- package/cdn-versioned/solid-components.css +2 -2
- package/cdn-versioned/solid-components.iife.js +18 -18
- package/cdn-versioned/solid-components.js +1 -1
- package/cdn-versioned/vscode.html-custom-data.json +135 -125
- package/cdn-versioned/web-types.json +292 -274
- package/dist/chunks/{chunk.I3PY3VYP.js → chunk.B44AE4VW.js} +14 -4
- package/dist/chunks/{chunk.EFEBQQHC.js → chunk.PPBZXQVJ.js} +28 -17
- package/dist/components/combobox/combobox.d.ts +1 -0
- package/dist/components/combobox/combobox.js +1 -1
- package/dist/components/select/select.d.ts +1 -0
- package/dist/components/select/select.js +1 -1
- package/dist/custom-elements.json +29 -1
- package/dist/solid-components.js +2 -2
- package/dist/vscode.html-custom-data.json +58 -48
- package/dist/web-types.json +162 -144
- package/dist-versioned/_components/menu/menu.js +1 -1
- package/dist-versioned/_components/menu/menu.styles.js +1 -1
- package/dist-versioned/_components/menu-item/menu-item.js +2 -2
- package/dist-versioned/chunks/chunk.2IBVAXOX.js +1 -1
- package/dist-versioned/chunks/chunk.3IT4HBTI.js +1 -1
- package/dist-versioned/chunks/chunk.3LGDUVS4.js +2 -2
- package/dist-versioned/chunks/chunk.4JZQQD4L.js +3 -3
- package/dist-versioned/chunks/chunk.4QKRGAOL.js +4 -4
- package/dist-versioned/chunks/chunk.4RGGPCD5.js +2 -2
- package/dist-versioned/chunks/chunk.65BWRJEA.js +5 -5
- package/dist-versioned/chunks/chunk.6CUAQSFA.js +2 -2
- package/dist-versioned/chunks/chunk.6DKXZWRN.js +4 -4
- package/dist-versioned/chunks/chunk.727ERQ4F.js +2 -2
- package/dist-versioned/chunks/chunk.743FPQRN.js +2 -2
- package/dist-versioned/chunks/chunk.76ZNNLGN.js +1 -1
- package/dist-versioned/chunks/chunk.7OHSCBBX.js +1 -1
- package/dist-versioned/chunks/{chunk.I3PY3VYP.js → chunk.B44AE4VW.js} +40 -30
- package/dist-versioned/chunks/chunk.BG3M5FUP.js +13 -13
- package/dist-versioned/chunks/chunk.BVC5FY4L.js +13 -13
- package/dist-versioned/chunks/chunk.BXB5WF23.js +5 -5
- package/dist-versioned/chunks/chunk.D6JZ4IKM.js +1 -1
- package/dist-versioned/chunks/chunk.DQPVSTUQ.js +3 -3
- package/dist-versioned/chunks/chunk.EKFRFDTB.js +5 -5
- package/dist-versioned/chunks/chunk.H655M7FD.js +1 -1
- package/dist-versioned/chunks/chunk.HPR3PWAE.js +3 -3
- package/dist-versioned/chunks/chunk.IN3GJ5QL.js +3 -3
- package/dist-versioned/chunks/chunk.J2XBUIBC.js +2 -2
- package/dist-versioned/chunks/chunk.J7MMF6WJ.js +2 -2
- package/dist-versioned/chunks/chunk.KTJRTRDJ.js +5 -5
- package/dist-versioned/chunks/chunk.KVKRZJS7.js +3 -3
- package/dist-versioned/chunks/chunk.MTSAWJLV.js +2 -2
- package/dist-versioned/chunks/chunk.NM6QP6RJ.js +2 -2
- package/dist-versioned/chunks/chunk.PDRECIYA.js +1 -1
- package/dist-versioned/chunks/chunk.PGZ5AWZ2.js +9 -9
- package/dist-versioned/chunks/chunk.PIR4YJUS.js +2 -2
- package/dist-versioned/chunks/{chunk.EFEBQQHC.js → chunk.PPBZXQVJ.js} +52 -41
- package/dist-versioned/chunks/chunk.QAZYUCBK.js +6 -6
- package/dist-versioned/chunks/chunk.QCICV36Z.js +6 -6
- package/dist-versioned/chunks/chunk.QP3SM2LZ.js +3 -3
- package/dist-versioned/chunks/chunk.R4BETATX.js +1 -1
- package/dist-versioned/chunks/chunk.RNSJAVQE.js +1 -1
- package/dist-versioned/chunks/chunk.RZRTIYXA.js +1 -1
- package/dist-versioned/chunks/chunk.SPBPHTSS.js +2 -2
- package/dist-versioned/chunks/chunk.SSH6ATRK.js +2 -2
- package/dist-versioned/chunks/chunk.TWXYFPBS.js +2 -2
- package/dist-versioned/chunks/chunk.U5NFPAOX.js +2 -2
- package/dist-versioned/chunks/chunk.U6RY25TF.js +2 -2
- package/dist-versioned/chunks/chunk.UC5E3AEF.js +1 -1
- package/dist-versioned/chunks/chunk.UDZYWRPT.js +1 -1
- package/dist-versioned/chunks/chunk.UIQBHPD3.js +2 -2
- package/dist-versioned/chunks/chunk.V7TQ6VJU.js +1 -1
- package/dist-versioned/chunks/chunk.VHGHICFG.js +2 -2
- package/dist-versioned/chunks/chunk.XVFJS7VS.js +5 -5
- package/dist-versioned/chunks/chunk.Z2UY62T2.js +1 -1
- package/dist-versioned/chunks/chunk.ZGPGFEVP.js +5 -5
- package/dist-versioned/chunks/chunk.ZWJI7SLE.js +11 -11
- package/dist-versioned/components/accordion/accordion.d.ts +1 -1
- package/dist-versioned/components/accordion-group/accordion-group.d.ts +1 -1
- package/dist-versioned/components/animation/animation.d.ts +1 -1
- package/dist-versioned/components/audio/audio.d.ts +1 -1
- package/dist-versioned/components/badge/badge.d.ts +1 -1
- package/dist-versioned/components/brandshape/brandshape.d.ts +1 -1
- package/dist-versioned/components/button/button.d.ts +1 -1
- package/dist-versioned/components/button-group/button-group.d.ts +1 -1
- package/dist-versioned/components/carousel/carousel.d.ts +1 -1
- package/dist-versioned/components/carousel-item/carousel-item.d.ts +1 -1
- package/dist-versioned/components/checkbox/checkbox.d.ts +1 -1
- package/dist-versioned/components/checkbox-group/checkbox-group.d.ts +1 -1
- package/dist-versioned/components/combobox/combobox.d.ts +5 -4
- package/dist-versioned/components/combobox/combobox.js +1 -1
- package/dist-versioned/components/dialog/dialog.d.ts +1 -1
- package/dist-versioned/components/divider/divider.d.ts +1 -1
- package/dist-versioned/components/drawer/drawer.d.ts +1 -1
- package/dist-versioned/components/dropdown/dropdown.d.ts +1 -1
- package/dist-versioned/components/expandable/expandable.d.ts +1 -1
- package/dist-versioned/components/flipcard/flipcard.d.ts +1 -1
- package/dist-versioned/components/header/header.d.ts +1 -1
- package/dist-versioned/components/icon/icon.d.ts +1 -1
- package/dist-versioned/components/include/include.d.ts +1 -1
- package/dist-versioned/components/input/input.d.ts +1 -1
- package/dist-versioned/components/link/link.d.ts +1 -1
- package/dist-versioned/components/map-marker/map-marker.d.ts +1 -1
- package/dist-versioned/components/navigation-item/navigation-item.d.ts +1 -1
- package/dist-versioned/components/notification/notification.d.ts +1 -1
- package/dist-versioned/components/optgroup/optgroup.d.ts +2 -2
- package/dist-versioned/components/option/option.d.ts +1 -1
- package/dist-versioned/components/popup/popup.d.ts +1 -1
- package/dist-versioned/components/quickfact/quickfact.d.ts +1 -1
- package/dist-versioned/components/radio/radio.d.ts +1 -1
- package/dist-versioned/components/radio-button/radio-button.d.ts +1 -1
- package/dist-versioned/components/radio-group/radio-group.d.ts +2 -2
- package/dist-versioned/components/scrollable/scrollable.d.ts +1 -1
- package/dist-versioned/components/select/select.d.ts +5 -4
- package/dist-versioned/components/select/select.js +1 -1
- package/dist-versioned/components/spinner/spinner.d.ts +1 -1
- package/dist-versioned/components/step/step.d.ts +1 -1
- package/dist-versioned/components/step-group/step-group.d.ts +1 -1
- package/dist-versioned/components/switch/switch.d.ts +1 -1
- package/dist-versioned/components/tab/tab.d.ts +1 -1
- package/dist-versioned/components/tab-group/tab-group.d.ts +1 -1
- package/dist-versioned/components/tab-panel/tab-panel.d.ts +1 -1
- package/dist-versioned/components/tag/tag.d.ts +1 -1
- package/dist-versioned/components/textarea/textarea.d.ts +1 -1
- package/dist-versioned/components/tooltip/tooltip.d.ts +1 -1
- package/dist-versioned/components/video/video.d.ts +1 -1
- package/dist-versioned/custom-elements.json +230 -202
- package/dist-versioned/internal/form.js +3 -3
- package/dist-versioned/solid-components.css +2 -2
- package/dist-versioned/solid-components.js +2 -2
- package/dist-versioned/vscode.html-custom-data.json +135 -125
- package/dist-versioned/web-types.json +292 -274
- package/package.json +2 -2
- package/cdn/chunks/chunk.DEX5VJGX.js +0 -11
- package/cdn/chunks/chunk.ROBLMI7Q.js +0 -11
- package/cdn-versioned/chunks/chunk.DEX5VJGX.js +0 -11
- 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.
|
|
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
|
|
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(
|
|
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(() =>
|
|
166
|
-
|
|
167
|
-
this.
|
|
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.
|
|
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(() =>
|
|
380
|
-
|
|
381
|
-
this.
|
|
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
|
|
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(
|
|
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);
|
|
@@ -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";
|
|
@@ -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.
|
|
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"
|
package/dist/solid-components.js
CHANGED
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
} from "./chunks/chunk.SPBPHTSS.js";
|
|
20
20
|
import {
|
|
21
21
|
SdSelect
|
|
22
|
-
} from "./chunks/chunk.
|
|
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.
|
|
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.",
|