@solid-design-system/components 3.22.18 → 3.23.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/es/combobox.js +11 -0
- package/dist/components/es/map-marker.js +1 -1
- package/dist/components/es/optgroup.js +1 -0
- package/dist/components/es/option-renderer.js +1 -0
- package/dist/components/es/select.js +7 -3
- package/dist/components/es/solid-components2.js +7 -7
- package/dist/components/es/utils.js +1 -0
- package/dist/components/umd/solid-components.js +37 -23
- package/dist/custom-elements.json +1 -1
- package/dist/package/components/combobox/combobox.d.ts +129 -0
- package/dist/package/components/combobox/combobox.js +958 -0
- package/dist/package/components/combobox/option-renderer.d.ts +5 -0
- package/dist/package/components/combobox/option-renderer.js +4 -0
- package/dist/package/components/combobox/utils.d.ts +8 -0
- package/dist/package/components/combobox/utils.js +14 -0
- package/dist/package/components/optgroup/optgroup.d.ts +20 -0
- package/dist/package/components/optgroup/optgroup.js +68 -0
- package/dist/package/components/select/select.d.ts +5 -1
- package/dist/package/components/select/select.js +94 -29
- package/dist/package/solid-components.d.ts +2 -0
- package/dist/package/solid-components.js +74 -70
- package/dist/package/styles/tailwind.css.js +1 -1
- package/dist/package/translations/de.js +7 -4
- package/dist/package/translations/en.js +7 -4
- package/dist/package/utilities/localize.d.ts +3 -0
- package/dist/versioned-components/es/accordion-group.js +1 -1
- package/dist/versioned-components/es/accordion.js +1 -1
- package/dist/versioned-components/es/audio.js +1 -1
- package/dist/versioned-components/es/badge.js +1 -1
- package/dist/versioned-components/es/brandshape.js +1 -1
- package/dist/versioned-components/es/button.js +1 -1
- package/dist/versioned-components/es/carousel-item.js +1 -1
- package/dist/versioned-components/es/carousel.js +3 -3
- package/dist/versioned-components/es/checkbox-group.js +1 -1
- package/dist/versioned-components/es/checkbox.js +1 -1
- package/dist/versioned-components/es/combobox.js +11 -0
- package/dist/versioned-components/es/dialog.js +1 -1
- package/dist/versioned-components/es/divider.js +1 -1
- package/dist/versioned-components/es/drawer.js +1 -1
- package/dist/versioned-components/es/dropdown.js +1 -1
- package/dist/versioned-components/es/expandable.js +1 -1
- package/dist/versioned-components/es/flipcard.js +1 -1
- package/dist/versioned-components/es/form.js +1 -1
- package/dist/versioned-components/es/header.js +1 -1
- package/dist/versioned-components/es/icon.js +1 -1
- package/dist/versioned-components/es/include.js +1 -1
- package/dist/versioned-components/es/input.js +1 -1
- package/dist/versioned-components/es/link.js +1 -1
- package/dist/versioned-components/es/map-marker.js +1 -1
- package/dist/versioned-components/es/navigation-item.js +1 -1
- package/dist/versioned-components/es/notification.js +1 -1
- package/dist/versioned-components/es/optgroup.js +1 -0
- package/dist/versioned-components/es/option-renderer.js +1 -0
- package/dist/versioned-components/es/option.js +1 -1
- package/dist/versioned-components/es/quickfact.js +1 -1
- package/dist/versioned-components/es/radio-button.js +1 -1
- package/dist/versioned-components/es/radio-group.js +1 -1
- package/dist/versioned-components/es/radio.js +1 -1
- package/dist/versioned-components/es/scrollable.js +1 -1
- package/dist/versioned-components/es/select.js +7 -3
- package/dist/versioned-components/es/solid-components2.js +7 -7
- package/dist/versioned-components/es/spinner.js +1 -1
- package/dist/versioned-components/es/step-group.js +1 -1
- package/dist/versioned-components/es/step.js +1 -1
- package/dist/versioned-components/es/switch.js +1 -1
- package/dist/versioned-components/es/tab-group.js +1 -1
- package/dist/versioned-components/es/tab-panel.js +1 -1
- package/dist/versioned-components/es/tab.js +1 -1
- package/dist/versioned-components/es/tag.js +1 -1
- package/dist/versioned-components/es/teaser-media.js +1 -1
- package/dist/versioned-components/es/teaser.js +1 -1
- package/dist/versioned-components/es/textarea.js +1 -1
- package/dist/versioned-components/es/tooltip.js +2 -2
- package/dist/versioned-components/es/utils.js +1 -0
- package/dist/versioned-components/es/video.js +1 -1
- package/dist/versioned-package/_components/button-group/button-group.d.ts +1 -1
- package/dist/versioned-package/_components/button-group/button-group.js +11 -11
- package/dist/versioned-package/components/accordion/accordion.d.ts +1 -1
- package/dist/versioned-package/components/accordion/accordion.js +2 -2
- package/dist/versioned-package/components/accordion-group/accordion-group.d.ts +1 -1
- package/dist/versioned-package/components/accordion-group/accordion-group.js +3 -3
- package/dist/versioned-package/components/audio/audio.d.ts +1 -1
- package/dist/versioned-package/components/audio/audio.js +6 -6
- package/dist/versioned-package/components/badge/badge.d.ts +1 -1
- package/dist/versioned-package/components/badge/badge.js +1 -1
- package/dist/versioned-package/components/brandshape/brandshape.d.ts +1 -1
- package/dist/versioned-package/components/brandshape/brandshape.js +1 -1
- package/dist/versioned-package/components/button/button.d.ts +1 -1
- package/dist/versioned-package/components/button/button.js +4 -4
- package/dist/versioned-package/components/carousel/carousel.d.ts +1 -1
- package/dist/versioned-package/components/carousel/carousel.js +6 -6
- package/dist/versioned-package/components/carousel-item/carousel-item.d.ts +1 -1
- package/dist/versioned-package/components/carousel-item/carousel-item.js +1 -1
- package/dist/versioned-package/components/checkbox/checkbox.d.ts +1 -1
- package/dist/versioned-package/components/checkbox/checkbox.js +3 -3
- package/dist/versioned-package/components/checkbox-group/checkbox-group.d.ts +1 -1
- package/dist/versioned-package/components/checkbox-group/checkbox-group.js +5 -5
- package/dist/versioned-package/components/combobox/combobox.d.ts +129 -0
- package/dist/versioned-package/components/combobox/combobox.js +958 -0
- package/dist/versioned-package/components/combobox/option-renderer.d.ts +5 -0
- package/dist/versioned-package/components/combobox/option-renderer.js +4 -0
- package/dist/versioned-package/components/combobox/utils.d.ts +8 -0
- package/dist/versioned-package/components/combobox/utils.js +14 -0
- package/dist/versioned-package/components/dialog/dialog.d.ts +1 -1
- package/dist/versioned-package/components/dialog/dialog.js +2 -2
- package/dist/versioned-package/components/divider/divider.d.ts +1 -1
- package/dist/versioned-package/components/divider/divider.js +2 -2
- package/dist/versioned-package/components/drawer/drawer.d.ts +1 -1
- package/dist/versioned-package/components/drawer/drawer.js +2 -2
- package/dist/versioned-package/components/dropdown/dropdown.d.ts +1 -1
- package/dist/versioned-package/components/dropdown/dropdown.js +8 -8
- package/dist/versioned-package/components/expandable/expandable.d.ts +1 -1
- package/dist/versioned-package/components/expandable/expandable.js +2 -2
- package/dist/versioned-package/components/flipcard/flipcard.d.ts +1 -1
- package/dist/versioned-package/components/flipcard/flipcard.js +1 -1
- package/dist/versioned-package/components/header/header.d.ts +1 -1
- package/dist/versioned-package/components/header/header.js +4 -4
- package/dist/versioned-package/components/icon/icon.d.ts +1 -1
- package/dist/versioned-package/components/icon/icon.js +1 -1
- package/dist/versioned-package/components/include/include.d.ts +1 -1
- package/dist/versioned-package/components/include/include.js +1 -1
- package/dist/versioned-package/components/input/input.d.ts +1 -1
- package/dist/versioned-package/components/input/input.js +3 -3
- package/dist/versioned-package/components/link/link.d.ts +1 -1
- package/dist/versioned-package/components/link/link.js +2 -2
- package/dist/versioned-package/components/map-marker/map-marker.d.ts +1 -1
- package/dist/versioned-package/components/map-marker/map-marker.js +1 -1
- package/dist/versioned-package/components/navigation-item/navigation-item.d.ts +1 -1
- package/dist/versioned-package/components/navigation-item/navigation-item.js +5 -5
- package/dist/versioned-package/components/notification/notification.d.ts +1 -1
- package/dist/versioned-package/components/notification/notification.js +5 -5
- package/dist/versioned-package/components/optgroup/optgroup.d.ts +20 -0
- package/dist/versioned-package/components/optgroup/optgroup.js +68 -0
- package/dist/versioned-package/components/option/option.d.ts +1 -1
- package/dist/versioned-package/components/option/option.js +2 -2
- package/dist/versioned-package/components/popup/popup.d.ts +1 -1
- package/dist/versioned-package/components/popup/popup.js +1 -1
- package/dist/versioned-package/components/quickfact/quickfact.d.ts +1 -1
- package/dist/versioned-package/components/quickfact/quickfact.js +2 -2
- package/dist/versioned-package/components/radio/radio.d.ts +1 -1
- package/dist/versioned-package/components/radio/radio.js +2 -2
- package/dist/versioned-package/components/radio-button/radio-button.d.ts +1 -1
- package/dist/versioned-package/components/radio-button/radio-button.js +2 -2
- package/dist/versioned-package/components/radio-group/radio-group.d.ts +2 -2
- package/dist/versioned-package/components/radio-group/radio-group.js +13 -13
- package/dist/versioned-package/components/scrollable/scrollable.d.ts +1 -1
- package/dist/versioned-package/components/scrollable/scrollable.js +3 -3
- package/dist/versioned-package/components/select/select.d.ts +9 -5
- package/dist/versioned-package/components/select/select.js +115 -50
- package/dist/versioned-package/components/spinner/spinner.d.ts +1 -1
- package/dist/versioned-package/components/spinner/spinner.js +1 -1
- package/dist/versioned-package/components/step/step.d.ts +1 -1
- package/dist/versioned-package/components/step/step.js +2 -2
- package/dist/versioned-package/components/step-group/step-group.d.ts +1 -1
- package/dist/versioned-package/components/step-group/step-group.js +2 -2
- package/dist/versioned-package/components/switch/switch.d.ts +1 -1
- package/dist/versioned-package/components/switch/switch.js +1 -1
- package/dist/versioned-package/components/tab/tab.d.ts +1 -1
- package/dist/versioned-package/components/tab/tab.js +2 -2
- package/dist/versioned-package/components/tab-group/tab-group.d.ts +1 -1
- package/dist/versioned-package/components/tab-group/tab-group.js +13 -13
- package/dist/versioned-package/components/tab-panel/tab-panel.d.ts +1 -1
- package/dist/versioned-package/components/tab-panel/tab-panel.js +2 -2
- package/dist/versioned-package/components/tag/tag.d.ts +1 -1
- package/dist/versioned-package/components/tag/tag.js +2 -2
- package/dist/versioned-package/components/teaser/teaser.js +1 -1
- package/dist/versioned-package/components/teaser-media/teaser-media.js +1 -1
- package/dist/versioned-package/components/textarea/textarea.d.ts +1 -1
- package/dist/versioned-package/components/textarea/textarea.js +2 -2
- package/dist/versioned-package/components/tooltip/tooltip.d.ts +1 -1
- package/dist/versioned-package/components/tooltip/tooltip.js +5 -5
- package/dist/versioned-package/components/video/video.d.ts +1 -1
- package/dist/versioned-package/components/video/video.js +2 -2
- package/dist/versioned-package/internal/form.js +3 -3
- package/dist/versioned-package/solid-components.d.ts +2 -0
- package/dist/versioned-package/solid-components.js +74 -70
- package/dist/versioned-package/styles/headline/headline.css.js +1 -1
- package/dist/versioned-package/styles/tailwind.css.js +1 -1
- package/dist/versioned-package/translations/de.js +7 -4
- package/dist/versioned-package/translations/en.js +7 -4
- package/dist/versioned-package/utilities/autocomplete-config.js +4 -4
- package/dist/versioned-package/utilities/localize.d.ts +3 -0
- package/dist/versioned-styles/solid-styles.css +1 -1
- package/dist/vscode.html-custom-data.json +371 -45
- package/dist/web-types.json +5471 -3959
- package/package.json +3 -3
@@ -141,7 +141,7 @@ __decorateClass([
|
|
141
141
|
state()
|
142
142
|
], SdBrandshape.prototype, "componentBreakpoint", 2);
|
143
143
|
SdBrandshape = __decorateClass([
|
144
|
-
customElement("sd-3-
|
144
|
+
customElement("sd-3-23-0-brandshape")
|
145
145
|
], SdBrandshape);
|
146
146
|
export {
|
147
147
|
SdBrandshape as default
|
@@ -212,19 +212,19 @@ let SdButton = class extends SolidElement {
|
|
212
212
|
md: "ml-2",
|
213
213
|
lg: "ml-2"
|
214
214
|
}[this.size]
|
215
|
-
)}"></slot>${this.loading ? html`<sd-3-
|
215
|
+
)}"></slot>${this.loading ? html`<sd-3-23-0-spinner class="${cx("absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2")}"></sd-3-23-0-spinner>` : ""}</${tag}>`;
|
216
216
|
}
|
217
217
|
};
|
218
218
|
SdButton.styles = [
|
219
219
|
componentStyles,
|
220
220
|
SolidElement.styles,
|
221
|
-
css`:host{position:relative;display:inline-block;width:var(--sd-spacing-auto,auto);cursor:pointer}sd-3-
|
221
|
+
css`:host{position:relative;display:inline-block;width:var(--sd-spacing-auto,auto);cursor:pointer}sd-3-23-0-spinner{--indicator-color:currentColor;--track-color:var(--tw-varcolor-200)}::slotted(sd-3-23-0-badge){pointer-events:none;position:absolute;top:var(--sd-spacing-0,0);right:var(--sd-spacing-0,0);--tw-translate-x:50%!important;--tw-translate-y:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}::slotted(sd-3-23-0-icon),sd-3-23-0-spinner{font-size:calc(var(--tw-varspacing)/ 2)}`
|
222
222
|
];
|
223
223
|
__decorateClass([
|
224
224
|
query("a, button")
|
225
225
|
], SdButton.prototype, "button", 2);
|
226
226
|
__decorateClass([
|
227
|
-
queryAssignedElements({ selector: "sd-3-
|
227
|
+
queryAssignedElements({ selector: "sd-3-23-0-icon" })
|
228
228
|
], SdButton.prototype, "_iconsInDefaultSlot", 2);
|
229
229
|
__decorateClass([
|
230
230
|
state()
|
@@ -287,7 +287,7 @@ __decorateClass([
|
|
287
287
|
watch("disabled", { waitUntilFirstUpdate: true })
|
288
288
|
], SdButton.prototype, "handleDisabledChange", 1);
|
289
289
|
SdButton = __decorateClass([
|
290
|
-
customElement("sd-3-
|
290
|
+
customElement("sd-3-23-0-button")
|
291
291
|
], SdButton);
|
292
292
|
export {
|
293
293
|
SdButton as default
|
@@ -39,7 +39,7 @@ let SdCarousel = class extends SolidElement {
|
|
39
39
|
this.pausedAutoplay = false;
|
40
40
|
this.autoplayController = new AutoplayController(this, () => this.next());
|
41
41
|
this.scrollController = new ScrollController(this);
|
42
|
-
this.slides = this.getElementsByTagName("sd-3-
|
42
|
+
this.slides = this.getElementsByTagName("sd-3-23-0-carousel-item");
|
43
43
|
this.intersectionObserverEntries = /* @__PURE__ */ new Map();
|
44
44
|
this.localize = new LocalizeController(this);
|
45
45
|
this.handleSlotChange = (mutations) => {
|
@@ -348,7 +348,7 @@ let SdCarousel = class extends SolidElement {
|
|
348
348
|
)}" aria-label="${this.localize.term("previousSlide")}" aria-controls="scroll-container" aria-disabled="${prevEnabled ? "false" : "true"}" @click="${prevEnabled ? (e) => {
|
349
349
|
this.previous();
|
350
350
|
this.unblockAutoplay(e, this.previousButton);
|
351
|
-
} : null}"><slot name="previous-icon"><sd-3-
|
351
|
+
} : null}"><slot name="previous-icon"><sd-3-23-0-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-down" : "chevron-up"}"></sd-3-23-0-icon></slot></button> ${this.variant === "dot" ? html`<div part="pagination-dot" role="tablist" class="${cx("carousel__pagination dot flex wrap items-center gap-2")}" aria-controls="scroll-container">${map(range(pagesCount), (index) => {
|
352
352
|
const isActive = index + 1 === currentPage;
|
353
353
|
return html`<button part="pagination-item ${isActive ? "pagination-item--active" : ""}" class="${cx(
|
354
354
|
"carousel__pagination-item",
|
@@ -371,7 +371,7 @@ let SdCarousel = class extends SolidElement {
|
|
371
371
|
)}" aria-label="${this.localize.term("nextSlide")}" aria-controls="scroll-container" aria-disabled="${nextEnabled ? "false" : "true"}" @click="${nextEnabled ? (e) => {
|
372
372
|
this.next();
|
373
373
|
this.unblockAutoplay(e, this.nextButton);
|
374
|
-
} : null}"><slot name="next-icon"><sd-3-
|
374
|
+
} : null}"><slot name="next-icon"><sd-3-23-0-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-up" : "chevron-down"}"></sd-3-23-0-icon></slot></button></div><button class="${cx(
|
375
375
|
"ml-6 !rounded-sm",
|
376
376
|
"!absolute !right-0 sd-interactive",
|
377
377
|
this.inverted ? "sd-interactive--inverted" : "sd-interactive--reset",
|
@@ -381,14 +381,14 @@ let SdCarousel = class extends SolidElement {
|
|
381
381
|
if (e.detail) {
|
382
382
|
this.autoplayControls.blur();
|
383
383
|
}
|
384
|
-
}}"><slot name="autoplay-start" class="${cx(!this.pausedAutoplay ? "hidden" : "")}"><sd-3-
|
384
|
+
}}"><slot name="autoplay-start" class="${cx(!this.pausedAutoplay ? "hidden" : "")}"><sd-3-23-0-icon class="h-6 w-6 grid place-items-center" library="system" name="start"></sd-3-23-0-icon></slot><slot name="autoplay-pause" class="${cx(this.pausedAutoplay ? "hidden" : "")}"><sd-3-23-0-icon class="h-6 w-6 grid place-items-center" library="system" name="pause"></sd-3-23-0-icon></slot></button></div></div>`;
|
385
385
|
}
|
386
386
|
};
|
387
387
|
SdCarousel.styles = [
|
388
388
|
SolidElement.styles,
|
389
389
|
unsafeCSS(InteractiveStyles),
|
390
390
|
componentStyles,
|
391
|
-
css`:host{--slide-gap:var(--sl-spacing-medium, 1rem);--scroll-hint:0px;display:flex}.carousel{grid-template-areas:'. slides .' '. pagination .'}.carousel__pagination{grid-area:pagination}.carousel__slides{grid-area:slides;scrollbar-width:none;--slide-size:calc((100% - (var(--slides-per-page) - 1) * var(--slide-gap)) / var(--slides-per-page));grid-auto-columns:var(--slide-size);-moz-column-gap:var(--slide-gap);column-gap:var(--slide-gap);scroll-padding-inline:var(--scroll-hint);padding-inline:var(--scroll-hint)}.carousel__slides::-webkit-scrollbar{display:none}@media (prefers-reduced-motion){:where(.carousel__slides){scroll-behavior:auto}}.carousel__navigation{grid-area:navigation}sd-3-
|
391
|
+
css`:host{--slide-gap:var(--sl-spacing-medium, 1rem);--scroll-hint:0px;display:flex}.carousel{grid-template-areas:'. slides .' '. pagination .'}.carousel__pagination{grid-area:pagination}.carousel__slides{grid-area:slides;scrollbar-width:none;--slide-size:calc((100% - (var(--slides-per-page) - 1) * var(--slide-gap)) / var(--slides-per-page));grid-auto-columns:var(--slide-size);-moz-column-gap:var(--slide-gap);column-gap:var(--slide-gap);scroll-padding-inline:var(--scroll-hint);padding-inline:var(--scroll-hint)}.carousel__slides::-webkit-scrollbar{display:none}@media (prefers-reduced-motion){:where(.carousel__slides){scroll-behavior:auto}}.carousel__navigation{grid-area:navigation}sd-3-23-0-button::part(label){pointer-events:none;display:flex;flex:1 1 auto;align-items:center}`
|
392
392
|
];
|
393
393
|
__decorateClass([
|
394
394
|
query('[part~="autoplay-controls"]')
|
@@ -455,7 +455,7 @@ __decorateClass([
|
|
455
455
|
watch("autoplay")
|
456
456
|
], SdCarousel.prototype, "handleAutoplayChange", 1);
|
457
457
|
SdCarousel = __decorateClass([
|
458
|
-
customElement("sd-3-
|
458
|
+
customElement("sd-3-23-0-carousel")
|
459
459
|
], SdCarousel);
|
460
460
|
export {
|
461
461
|
SdCarousel as default
|
@@ -30,7 +30,7 @@ SdCarouselItem.styles = [
|
|
30
30
|
css`:host{aspect-ratio:var(--aspect-ratio);scroll-snap-align:start;scroll-snap-stop:always;display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center}::slotted(img){height:100%;width:100%;-o-object-fit:cover;object-fit:cover}`
|
31
31
|
];
|
32
32
|
SdCarouselItem = __decorateClass([
|
33
|
-
customElement("sd-3-
|
33
|
+
customElement("sd-3-23-0-carousel-item")
|
34
34
|
], SdCarouselItem);
|
35
35
|
export {
|
36
36
|
SdCarouselItem as default
|
@@ -109,7 +109,7 @@ let SdCheckbox = class extends SolidElement {
|
|
109
109
|
render() {
|
110
110
|
const checkboxState = this.disabled && this.indeterminate ? "disabledIndeterminate" : this.disabled && this.checked ? "disabledChecked" : this.disabled ? "disabled" : this.showInvalidStyle && this.indeterminate ? "invalidIndeterminate" : this.showInvalidStyle ? "invalid" : this.checked || this.indeterminate ? "filled" : "default";
|
111
111
|
return html`<label part="base" class="${cx(
|
112
|
-
"sd-3-
|
112
|
+
"sd-3-23-0-checkbox group flex items-start text-base leading-normal text-black cursor-pointer",
|
113
113
|
this.disabled && "hover:cursor-not-allowed",
|
114
114
|
{
|
115
115
|
/* sizes, fonts */
|
@@ -135,7 +135,7 @@ let SdCheckbox = class extends SolidElement {
|
|
135
135
|
filled: "border-accent hover:border-accent-550 group-hover:border-accent-550 bg-accent group-hover:bg-accent-550",
|
136
136
|
default: "border-neutral-800 hover:bg-neutral-200 group-hover:bg-neutral-200 bg-white"
|
137
137
|
}[checkboxState]
|
138
|
-
)}">${this.checked ? html`<sd-3-
|
138
|
+
)}">${this.checked ? html`<sd-3-23-0-icon part="checked-icon" class="text-white w-3 h-3" library="system" name="status-check"></sd-3-23-0-icon>` : ""} ${!this.checked && this.indeterminate ? html`<sd-3-23-0-icon part="indeterminate-icon" class="text-white w-3 h-3" library="system" name="status-minus"></sd-3-23-0-icon>` : ""} </span><span part="label" id="label" class="${cx(
|
139
139
|
"select-none inline-block ml-2",
|
140
140
|
this.disabled ? "text-neutral-500" : this.showInvalidStyle ? "text-error" : "text-black"
|
141
141
|
)}"><slot></slot></span></label> ${this.formControlController.renderInvalidMessage()}`;
|
@@ -191,7 +191,7 @@ __decorateClass([
|
|
191
191
|
watch(["checked", "indeterminate"], { waitUntilFirstUpdate: true })
|
192
192
|
], SdCheckbox.prototype, "handleStateChange", 1);
|
193
193
|
SdCheckbox = __decorateClass([
|
194
|
-
customElement("sd-3-
|
194
|
+
customElement("sd-3-23-0-checkbox")
|
195
195
|
], SdCheckbox);
|
196
196
|
export {
|
197
197
|
SdCheckbox as default
|
@@ -26,7 +26,7 @@ let SdCheckboxGroup = class extends SolidElement {
|
|
26
26
|
this.label = "";
|
27
27
|
}
|
28
28
|
getAllCheckboxes() {
|
29
|
-
return [...this.querySelectorAll("sd-3-
|
29
|
+
return [...this.querySelectorAll("sd-3-23-0-checkbox")];
|
30
30
|
}
|
31
31
|
async syncCheckboxElements() {
|
32
32
|
const checkboxes = this.getAllCheckboxes();
|
@@ -39,10 +39,10 @@ let SdCheckboxGroup = class extends SolidElement {
|
|
39
39
|
);
|
40
40
|
}
|
41
41
|
syncCheckboxes() {
|
42
|
-
if (customElements.get("sd-3-
|
42
|
+
if (customElements.get("sd-3-23-0-checkbox")) {
|
43
43
|
this.syncCheckboxElements();
|
44
44
|
} else {
|
45
|
-
customElements.whenDefined("sd-3-
|
45
|
+
customElements.whenDefined("sd-3-23-0-checkbox").then(() => this.syncCheckboxes());
|
46
46
|
}
|
47
47
|
}
|
48
48
|
handleSizeChange() {
|
@@ -74,7 +74,7 @@ let SdCheckboxGroup = class extends SolidElement {
|
|
74
74
|
SdCheckboxGroup.styles = [
|
75
75
|
componentStyles,
|
76
76
|
SolidElement.styles,
|
77
|
-
css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-
|
77
|
+
css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-23-0-checkbox){margin-bottom:var(--sd-spacing-2,.5rem);display:flex}:host([orientation=vertical]) ::slotted(sd-3-23-0-checkbox:last-of-type){margin-bottom:var(--sd-spacing-0,0)}:host([orientation=horizontal]) ::slotted(sd-3-23-0-checkbox){margin-right:var(--sd-spacing-6,1.5rem)}:host([orientation=horizontal]) ::slotted(sd-3-23-0-checkbox:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-23-0-checkbox){margin-right:var(--sd-spacing-4,1rem)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-23-0-checkbox:last-of-type){margin-right:var(--sd-spacing-0,0)}`
|
78
78
|
];
|
79
79
|
__decorateClass([
|
80
80
|
property({ reflect: true })
|
@@ -92,7 +92,7 @@ __decorateClass([
|
|
92
92
|
watch("invalid", { waitUntilFirstUpdate: true })
|
93
93
|
], SdCheckboxGroup.prototype, "handleInvalid", 1);
|
94
94
|
SdCheckboxGroup = __decorateClass([
|
95
|
-
customElement("sd-3-
|
95
|
+
customElement("sd-3-23-0-checkbox-group")
|
96
96
|
], SdCheckboxGroup);
|
97
97
|
export {
|
98
98
|
SdCheckboxGroup as default
|
@@ -0,0 +1,129 @@
|
|
1
|
+
import { type CSSResultGroup, type TemplateResult } from 'lit';
|
2
|
+
import { type OptionRenderer } from './option-renderer.js';
|
3
|
+
import SdIcon from '../icon/icon';
|
4
|
+
import SdPopup from '../popup/popup';
|
5
|
+
import SdTag from '../tag/tag';
|
6
|
+
import SolidElement from '../../internal/solid-element';
|
7
|
+
import type { SolidFormControl } from '../../internal/solid-element';
|
8
|
+
import type SdOptgroup from '../optgroup/optgroup.js';
|
9
|
+
import type SdOption from '../option/option';
|
10
|
+
export default class SdCombobox extends SolidElement implements SolidFormControl {
|
11
|
+
static dependencies: {
|
12
|
+
'sd-3-23-0-icon': typeof SdIcon;
|
13
|
+
'sd-3-23-0-popup': typeof SdPopup;
|
14
|
+
'sd-3-23-0-tag': typeof SdTag;
|
15
|
+
};
|
16
|
+
private readonly formControlController;
|
17
|
+
private readonly hasSlotController;
|
18
|
+
private readonly localize;
|
19
|
+
popup: SdPopup;
|
20
|
+
combobox: HTMLSlotElement;
|
21
|
+
displayInput: HTMLInputElement;
|
22
|
+
valueInput: HTMLInputElement;
|
23
|
+
listbox: HTMLSlotElement;
|
24
|
+
tagWrapper: HTMLDivElement;
|
25
|
+
filteredWrapper: HTMLSlotElement;
|
26
|
+
private defaultSlot;
|
27
|
+
invalidMessage: HTMLDivElement;
|
28
|
+
hasHover: boolean;
|
29
|
+
private hasFocus;
|
30
|
+
displayInputValue: string;
|
31
|
+
selectedTextLabel: string;
|
32
|
+
selectedOptions: (SdOption | undefined)[];
|
33
|
+
filteredOptions: (SdOption | SdOptgroup | undefined)[];
|
34
|
+
allOptions: (SdOption | SdOptgroup | undefined)[];
|
35
|
+
lastOption: SdOption | undefined;
|
36
|
+
showValidStyle: boolean;
|
37
|
+
showInvalidStyle: boolean;
|
38
|
+
name: string;
|
39
|
+
value: string | string[];
|
40
|
+
defaultValue: string;
|
41
|
+
size: 'lg' | 'md' | 'sm';
|
42
|
+
placeholder: string;
|
43
|
+
disabled: boolean;
|
44
|
+
clearable: boolean;
|
45
|
+
open: boolean;
|
46
|
+
hoist: boolean;
|
47
|
+
label: string;
|
48
|
+
placement: 'top' | 'bottom';
|
49
|
+
helpText: string;
|
50
|
+
form: string;
|
51
|
+
required: boolean;
|
52
|
+
currentPlacement: "top" | "bottom";
|
53
|
+
getOption: OptionRenderer;
|
54
|
+
multiple: boolean;
|
55
|
+
useTags: boolean;
|
56
|
+
maxOptionsVisible: number;
|
57
|
+
styleOnValid: boolean;
|
58
|
+
filter: (option: SdOption, queryString: string) => boolean;
|
59
|
+
getTag: (option: SdOption, index: number) => TemplateResult | string | HTMLElement;
|
60
|
+
connectedCallback(): void;
|
61
|
+
firstUpdated(): void;
|
62
|
+
get validity(): ValidityState;
|
63
|
+
get validationMessage(): string;
|
64
|
+
protected get options(): (SdOption | SdOptgroup | TemplateResult<1>)[];
|
65
|
+
protected get tags(): (TemplateResult<1> | TemplateResult<1>[])[];
|
66
|
+
private addOpenListeners;
|
67
|
+
private removeOpenListeners;
|
68
|
+
private handleFocus;
|
69
|
+
private handleBlur;
|
70
|
+
private handleDocumentFocusIn;
|
71
|
+
private handleDocumentKeyDown;
|
72
|
+
private handleDocumentMouseDown;
|
73
|
+
private handleTagKeyDown;
|
74
|
+
private handleTagMaxOptionsKeyDown;
|
75
|
+
private handleLabelClick;
|
76
|
+
private handleTagRemove;
|
77
|
+
private handleComboboxMouseDown;
|
78
|
+
private handleComboboxKeyDown;
|
79
|
+
private handleClearClick;
|
80
|
+
private handleNoResultsClick;
|
81
|
+
private clearCombobox;
|
82
|
+
private preventLoosingFocus;
|
83
|
+
private handleOptionClick;
|
84
|
+
private selectNextOption;
|
85
|
+
private getAllFilteredOptions;
|
86
|
+
private getCurrentOption;
|
87
|
+
private setCurrentOption;
|
88
|
+
private toggleOptionSelection;
|
89
|
+
private findOptionByValue;
|
90
|
+
private selectedOptionsAndValueSynced;
|
91
|
+
private isOptionSelected;
|
92
|
+
private syncSelectedOptionsAndValue;
|
93
|
+
private compareOptions;
|
94
|
+
private setSelectedOptions;
|
95
|
+
private setOrderedSelectedOptions;
|
96
|
+
private selectionChanged;
|
97
|
+
private createComboboxOptionsFromQuery;
|
98
|
+
private handleInvalid;
|
99
|
+
private handleMouseEnter;
|
100
|
+
private handleMouseLeave;
|
101
|
+
private handleCurrentPlacement;
|
102
|
+
handleFilterChange(): void;
|
103
|
+
handleUseTagsChange(): void;
|
104
|
+
applySizeToOptions(): void;
|
105
|
+
handleDisabledChange(): void;
|
106
|
+
handleValueChange(): void;
|
107
|
+
handleDisplayInputValueChange(): void;
|
108
|
+
handleOpenChange(): Promise<void>;
|
109
|
+
show(): Promise<void>;
|
110
|
+
hide(): Promise<void>;
|
111
|
+
checkValidity(): boolean;
|
112
|
+
getForm(): HTMLFormElement | null;
|
113
|
+
reportValidity(): boolean;
|
114
|
+
setCustomValidity(message: string): void;
|
115
|
+
focus(options?: FocusOptions): void;
|
116
|
+
blur(): void;
|
117
|
+
private handleInput;
|
118
|
+
private handleChange;
|
119
|
+
private getSlottedOptions;
|
120
|
+
private getSlottedOptGroups;
|
121
|
+
private handleDefaultSlotChange;
|
122
|
+
render(): TemplateResult<1>;
|
123
|
+
static styles: CSSResultGroup;
|
124
|
+
}
|
125
|
+
declare global {
|
126
|
+
interface HTMLElementTagNameMap {
|
127
|
+
'sd-3-23-0-combobox': SdCombobox;
|
128
|
+
}
|
129
|
+
}
|